:root{--header-height: 56px}:root,[data-theme=dark]{--bg-primary: #0a0a0a;--bg-secondary: #0d0d0d;--bg-header: #1a1a1a;--bg-card: #1a1a1a;--bg-card-elevated: #1e1e1e;--bg-card-hover: #252525;--bg-input: #1a1a1a;--bg-input-hover: #222;--bg-overlay: rgba(0, 0, 0, .5);--bg-hover: #252525;--text-primary: #f1f1f1;--text-secondary: #ccc;--text-muted: #888;--text-inverse: #fff;--text-link: #8aa0ff;--text-link-hover: #a5b4ff;--input-bg: #1a1a1a;--input-text: #f1f1f1;--input-placeholder: #666;--input-border: #555;--input-border-focus: #646cff;--btn-primary-bg: #646cff;--btn-primary-text: #fff;--btn-primary-hover: #535bf2;--btn-secondary-bg: #252525;--btn-secondary-text: #e0e0e0;--btn-secondary-border: #444;--btn-secondary-hover: #333;--btn-danger-bg: #dc3545;--btn-danger-text: #fff;--btn-danger-hover: #c82333;--btn-danger-border: rgba(220, 53, 69, .5);--btn-danger-bg-soft: rgba(220, 53, 69, .2);--accent: #646cff;--accent-muted: #8aa0ff;--accent-bg: rgba(100, 108, 255, .1);--accent-border: rgba(100, 108, 255, .5);--border: #333;--border-subtle: #444;--error-bg: #4a1a1a;--error-border: #ff4444;--error-text: #ff8888;--focus-ring: #646cff;--success-text: #2ea043;--success-bg: rgba(46, 160, 67, .15);--success-border: #2ea043;--warn-bg: #2a2a2a;--warn-border: #fbbf24;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .5);--semantic-yellow: #f59e0b;--semantic-blue: #2563eb;--semantic-red: #dc2626;--semantic-gray: #4b5563;--semantic-green: #059669}[data-theme=light]{--bg-primary: #f5f5f5;--bg-secondary: #fff;--bg-header: #fff;--bg-card: #fff;--bg-card-elevated: #fafafa;--bg-card-hover: #f0f0f0;--bg-input: #fff;--bg-input-hover: #f8f8f8;--bg-overlay: rgba(0, 0, 0, .4);--bg-hover: #f0f0f0;--text-primary: #111111;--text-secondary: #444;--text-muted: #666;--text-inverse: #fff;--text-link: #535bf2;--text-link-hover: #646cff;--input-bg: #fff;--input-text: #111111;--input-placeholder: #999;--input-border: #ccc;--input-border-focus: #646cff;--btn-primary-bg: #646cff;--btn-primary-text: #fff;--btn-primary-hover: #535bf2;--btn-secondary-bg: #f5f5f5;--btn-secondary-text: #333;--btn-secondary-border: #ddd;--btn-secondary-hover: #e8e8e8;--btn-danger-bg: #dc3545;--btn-danger-text: #fff;--btn-danger-hover: #c82333;--btn-danger-border: rgba(220, 53, 69, .5);--btn-danger-bg-soft: rgba(220, 53, 69, .1);--accent: #646cff;--accent-muted: #535bf2;--accent-bg: rgba(100, 108, 255, .08);--accent-border: rgba(100, 108, 255, .4);--border: #ddd;--border-subtle: #e8e8e8;--error-bg: #fef2f2;--error-border: #ef4444;--error-text: #dc2626;--focus-ring: #646cff;--success-text: #059669;--success-bg: #f0fdf4;--success-border: #10b981;--warn-bg: #fffbeb;--warn-border: #f59e0b;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08);--shadow-md: 0 4px 12px rgba(0, 0, 0, .1);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .12);--semantic-yellow: #f59e0b;--semantic-blue: #2563eb;--semantic-red: #dc2626;--semantic-gray: #4b5563;--semantic-green: #059669}*{margin:0;padding:0;box-sizing:border-box}html{scroll-padding-top:var(--header-height)}body{font-family:system-ui,-apple-system,sans-serif;background-color:var(--bg-primary);color:var(--text-primary)}#root{min-height:100vh}::placeholder{color:var(--input-placeholder)}.upgrade-modal-overlay{position:fixed;inset:0;background:var(--bg-overlay);z-index:300;display:flex;align-items:center;justify-content:center;padding:1.5rem}.upgrade-modal{background-color:var(--bg-card);border:1px solid var(--border);border-radius:8px;width:100%;max-width:420px;box-shadow:var(--shadow-lg)}.upgrade-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid var(--border)}.upgrade-modal-header h2{font-size:1.25rem;font-weight:600;color:var(--text-primary)}.upgrade-modal-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:var(--text-muted);background:transparent;border:none;border-radius:4px;cursor:pointer;transition:color .2s,background-color .2s}.upgrade-modal-close:hover{color:var(--text-primary);background-color:var(--bg-hover)}.upgrade-modal-body{padding:1.5rem 1.25rem}.upgrade-modal-error{padding:.75rem 1rem;margin-bottom:1rem;font-size:.9rem;color:var(--error-text);background-color:var(--error-bg);border:1px solid var(--error-border);border-radius:6px}.upgrade-cards{display:flex;gap:1rem}.upgrade-card{flex:1;background-color:var(--bg-card-elevated);border:1px solid var(--border);border-radius:8px;padding:1.25rem;text-align:center}.upgrade-card-name{font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.upgrade-card-price{font-size:1.5rem;font-weight:700;color:var(--accent);margin-bottom:.25rem}.upgrade-card-credits{font-size:.9rem;color:var(--text-muted);margin-bottom:1rem}.upgrade-card-btn{width:100%;padding:.5rem 1rem;font-size:.9rem;font-weight:600;color:var(--btn-primary-text);background-color:var(--btn-primary-bg);border:1px solid var(--accent);border-radius:6px;cursor:pointer;transition:background-color .2s,border-color .2s}.upgrade-card-btn:hover:not(:disabled){background-color:var(--btn-primary-hover);border-color:var(--btn-primary-hover)}.upgrade-card-btn:disabled{opacity:.7;cursor:not-allowed}.upgrade-email-section{margin-bottom:1.5rem}.upgrade-email-label{display:block;font-size:.9rem;font-weight:500;color:var(--text-primary);margin-bottom:.5rem}.upgrade-email-input{width:100%;padding:.75rem 1rem;font-size:1rem;color:var(--text-primary);background-color:var(--bg-input);border:1px solid var(--border);border-radius:6px;transition:border-color .2s,box-shadow .2s}.upgrade-email-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light)}.upgrade-email-input.error{border-color:var(--error-border)}.upgrade-email-input:disabled{background-color:var(--bg-disabled);cursor:not-allowed}.upgrade-email-error{margin:.5rem 0 0;font-size:.85rem;color:var(--error-text)}.upgrade-email-notice{margin:.5rem 0 0;font-size:.8rem;color:var(--text-muted)}.header{background-color:var(--bg-header);border-bottom:1px solid var(--border);padding:.5rem 0;position:sticky;top:0;z-index:100;flex-shrink:0}.theme-toggle{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .65rem;font-size:.85rem;color:var(--text-secondary);background:transparent;border:1px solid var(--border);border-radius:6px;cursor:pointer;transition:background-color .2s,border-color .2s,color .2s}.theme-toggle:hover{color:var(--text-primary);background-color:var(--bg-hover);border-color:var(--input-border)}.theme-toggle-icon{font-size:1rem;line-height:1}.theme-toggle-label{font-weight:500}.sidebar-theme-toggle{width:100%;justify-content:center;margin-bottom:.75rem;padding:.6rem 1rem}.header-container{max-width:1200px;margin:0 auto;padding:0 1.25rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.75rem}.header-left{display:flex;align-items:center;gap:.75rem}.hamburger-btn{display:none;flex-direction:column;justify-content:center;gap:4px;width:36px;height:36px;padding:6px;background:transparent;border:1px solid var(--input-border);border-radius:6px;cursor:pointer;transition:background-color .2s,border-color .2s}.hamburger-btn:hover{background-color:var(--bg-hover);border-color:var(--border)}.hamburger-line{display:block;width:100%;height:2px;background-color:var(--text-primary);border-radius:1px;transition:transform .3s,opacity .3s}.sidebar-overlay{position:fixed;inset:0;background:var(--bg-overlay);z-index:199;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}.sidebar-overlay.open{opacity:1;visibility:visible}.sidebar{position:fixed;top:0;left:0;width:280px;max-width:85vw;height:100vh;background-color:var(--bg-header);border-right:1px solid var(--border);z-index:200;transform:translate(-100%);transition:transform .3s ease;display:flex;flex-direction:column;overflow-y:auto}.sidebar.open{transform:translate(0)}.sidebar-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border)}.sidebar-title{font-size:1.25rem;font-weight:600;color:var(--text-primary)}.sidebar-close{width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:var(--text-secondary);background:transparent;border:none;cursor:pointer;border-radius:4px;transition:color .2s,background-color .2s}.sidebar-close:hover{color:var(--text-primary);background-color:var(--bg-hover)}.sidebar-nav{flex:1;padding:1rem 0;display:flex;flex-direction:column;gap:.5rem}.sidebar-category{display:flex;flex-direction:column;gap:.15rem}.sidebar-category-label{padding:.5rem 1.5rem .25rem;font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.sidebar-link{display:block;padding:.875rem 1.5rem;color:var(--text-secondary);text-decoration:none;font-size:1rem;transition:color .2s,background-color .2s;border:none;background:none;width:100%;text-align:left;cursor:pointer}.sidebar-link:hover{color:var(--text-primary);background-color:var(--bg-hover)}.sidebar-logout{color:var(--btn-danger-bg)}.sidebar-logout:hover{color:var(--btn-danger-text);background-color:var(--btn-danger-bg-soft)}.sidebar-signup{color:var(--accent);font-weight:500}.sidebar-link-manage{color:var(--text-link)}.sidebar-link-manage:hover{background-color:var(--accent-bg);color:var(--text-link)}.sidebar-credits{margin:.25rem 1.5rem .5rem;padding:.6rem .75rem;color:var(--text-link);font-size:.9rem;font-weight:600;border:1px solid var(--accent-border);border-radius:6px;background-color:var(--accent-bg)}.sidebar-divider{height:1px;background-color:var(--border);margin:.5rem 1rem}.sidebar-footer{padding:1rem 1.5rem;border-top:1px solid var(--border)}.sidebar-visitor{width:100%;justify-content:center}@media(max-width:900px){.hamburger-btn{display:flex}.nav-desktop{display:none!important}}.logo{font-size:1.35rem;font-weight:700;color:var(--text-primary);text-decoration:none}.nav{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap}.nav-desktop{display:flex}.nav-category{position:relative}.nav-category-trigger{display:inline-flex;align-items:center;padding:.4rem .5rem;font-size:.9rem;color:var(--text-secondary);cursor:default;transition:color .2s;border:none;background:none}.nav-category:hover .nav-category-trigger{color:var(--text-primary);background-color:var(--bg-hover);border-radius:6px}.nav-category-dropdown{position:absolute;top:100%;left:0;min-width:180px;margin-top:2px;padding:.35rem 0;background-color:var(--bg-header);border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 12px var(--shadow);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s,visibility .2s;z-index:150}.nav-category:hover .nav-category-dropdown{opacity:1;visibility:visible;pointer-events:auto}.nav-category-item{display:block;padding:.5rem 1rem;font-size:.9rem;color:var(--text-secondary);text-decoration:none;transition:background-color .2s,color .2s;white-space:nowrap}.nav-category-item:hover{background-color:var(--bg-hover);color:var(--text-primary)}.nav-link{color:var(--text-secondary);text-decoration:none;font-size:.9rem;transition:color .2s}.nav-link:hover{color:var(--text-primary)}.auth-buttons{display:flex;gap:1rem}.login-btn,.signup-btn{padding:.4rem .85rem;font-size:.9rem;border-radius:4px;text-decoration:none;transition:all .2s}.login-btn{color:var(--text-primary);border:1px solid var(--input-border)}.signup-btn{background-color:var(--btn-primary-bg);color:var(--btn-primary-text);border:none}.user-menu{position:relative;display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.profile-trigger{display:flex;align-items:center;gap:.5rem;padding:.4rem .6rem;font-size:.9rem;color:var(--text-secondary);background:transparent;border:1px solid var(--border);border-radius:6px;cursor:pointer;transition:background-color .2s,border-color .2s}.profile-trigger:hover{background-color:var(--bg-hover);border-color:var(--input-border);color:var(--text-primary)}.profile-chevron{font-size:.7rem;color:var(--text-muted)}.profile-dropdown{position:absolute;top:100%;right:0;margin-top:.25rem;min-width:200px;background-color:var(--bg-header);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow-md);z-index:150;overflow:hidden}.profile-dropdown-item{display:block;width:100%;padding:.65rem 1rem;font-size:.9rem;color:var(--text-secondary);text-align:left;text-decoration:none;border:none;background:none;cursor:pointer;transition:background-color .2s,color .2s}.profile-dropdown-item:hover:not(:disabled){background-color:var(--bg-hover);color:var(--text-primary)}.profile-dropdown-item:disabled{opacity:.7;cursor:not-allowed}.profile-dropdown-manage{color:var(--text-link)}.profile-dropdown-manage:hover:not(:disabled){background-color:var(--accent-bg);color:var(--text-link)}.profile-dropdown-logout{color:var(--btn-danger-bg);border-top:1px solid var(--border)}.mypage-link{color:var(--accent)!important;text-decoration:none;font-size:.9rem;font-weight:500;transition:color .2s;white-space:nowrap;display:inline-block!important;padding:.25rem .5rem;border:1px solid var(--accent-border);border-radius:4px;background-color:transparent}.mypage-link:hover{color:var(--btn-primary-hover)!important;background-color:var(--accent-bg);text-decoration:none}.upgrade-btn{padding:.4rem .85rem;font-size:.9rem;background-color:var(--btn-secondary-bg);color:var(--text-primary);border:1px solid var(--btn-secondary-border);border-radius:4px;cursor:pointer;transition:background-color .2s,border-color .2s}.upgrade-btn:hover{background-color:var(--btn-secondary-hover);border-color:var(--accent)}.user-credits{color:var(--text-link);font-size:.9rem;font-weight:600;padding:.25rem .5rem;border:1px solid var(--accent-border);border-radius:4px;background-color:var(--accent-bg)}.user-email{color:var(--text-secondary);font-size:.9rem}.logout-btn{padding:.4rem .85rem;font-size:.9rem;background-color:var(--btn-danger-bg);color:var(--btn-danger-text);border:none;border-radius:4px;cursor:pointer;transition:background-color .2s}.logout-btn:hover{background-color:var(--btn-danger-hover)}.visitor-count{display:flex;align-items:center;gap:.35rem;padding:.35rem .75rem;background-color:var(--accent-bg);border:1px solid var(--accent-border);border-radius:4px;font-size:.85rem}.visitor-label{color:var(--text-secondary);font-weight:500}.visitor-number{color:var(--accent);font-weight:700;font-size:.9rem}.user-avatar-menu{position:relative}.user-avatar-btn{display:flex;align-items:center;gap:.5rem;padding:.25rem;background:transparent;border:none;cursor:pointer;border-radius:50%;transition:background-color .2s}.user-avatar-btn:hover{background-color:var(--bg-hover)}.user-avatar{width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:600;color:var(--btn-primary-text);background:linear-gradient(135deg,var(--accent) 0%,var(--btn-primary-hover) 100%);border-radius:50%;text-transform:uppercase}.avatar-credits{padding:.2rem .5rem;font-size:.8rem;font-weight:600;color:var(--text-link);background-color:var(--accent-bg);border:1px solid var(--accent-border);border-radius:10px}.avatar-dropdown{position:absolute;top:100%;right:0;margin-top:.5rem;min-width:240px;background-color:var(--bg-header);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-lg);z-index:150;overflow:hidden}.avatar-dropdown-header{padding:1rem;background-color:var(--bg-card-elevated)}.avatar-dropdown-email{font-size:.9rem;font-weight:500;color:var(--text-primary);word-break:break-all;margin-bottom:.25rem}.avatar-dropdown-credits{font-size:.85rem;font-weight:600;color:var(--text-link)}.avatar-dropdown-notice{font-size:.9rem;font-weight:500;color:var(--text-muted);margin-bottom:.25rem}.avatar-dropdown-hint{font-size:.75rem;color:var(--text-muted);line-height:1.4}.avatar-dropdown-divider{height:1px;background-color:var(--border)}.avatar-dropdown-item{display:block;width:100%;padding:.75rem 1rem;font-size:.9rem;color:var(--text-secondary);text-align:left;text-decoration:none;border:none;background:none;cursor:pointer;transition:background-color .2s,color .2s}.avatar-dropdown-item:hover{background-color:var(--bg-hover);color:var(--text-primary)}.avatar-dropdown-logout{color:var(--btn-danger-bg);border-top:1px solid var(--border)}.avatar-dropdown-logout:hover{background-color:var(--btn-danger-bg-soft)}.avatar-dropdown-signup{color:var(--accent);font-weight:500}.sidebar-user-info{margin:.5rem 1.5rem;padding:.75rem;background-color:var(--bg-card-elevated);border:1px solid var(--border);border-radius:8px}.sidebar-user-email{font-size:.85rem;color:var(--text-primary);word-break:break-all;margin-bottom:.25rem}.sidebar-user-info .sidebar-credits{margin:0;padding:0;border:none;background:none;font-size:.85rem}.lotto-generator{max-width:800px;margin:0 auto;padding:2rem;text-align:center}.lotto-generator h1{font-size:2.5rem;margin-bottom:.5rem;color:var(--text-primary)}.description{color:var(--text-secondary);margin-bottom:2rem;font-size:1.1rem}.generate-btn{padding:1rem 2rem;font-size:1.2rem;background-color:var(--btn-primary-bg);color:var(--btn-primary-text);border:none;border-radius:8px;cursor:pointer;transition:background-color .2s;margin-bottom:2rem}.generate-btn:hover{background-color:var(--btn-primary-hover)}.numbers-container{margin-top:2rem}.main-numbers{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap;margin-bottom:2rem}.bonus-section{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1rem}.number-ball.bonus{border:3px solid var(--border)}.statistics{max-width:800px;margin:0 auto;padding:2rem}.statistics h1{font-size:2.5rem;margin-bottom:.5rem;color:var(--text-primary);text-align:center}.search-section{display:flex;gap:1rem;margin-bottom:2rem;justify-content:center}.round-input{padding:.75rem 1rem;font-size:1rem;border:1px solid var(--input-border);border-radius:4px;background-color:var(--bg-input);color:var(--input-text);width:200px}.round-input:focus{outline:none;border-color:var(--accent)}.search-btn{padding:.75rem 2rem;font-size:1rem;background-color:var(--btn-primary-bg);color:var(--btn-primary-text);border:none;border-radius:4px;cursor:pointer;transition:background-color .2s}.search-btn:hover:not(:disabled){background-color:var(--btn-primary-hover)}.search-btn:disabled{opacity:.6;cursor:not-allowed}.error-message{background-color:var(--btn-danger-bg);color:var(--btn-danger-text);padding:1rem;border-radius:4px;margin-bottom:1rem;text-align:center}.result-container{background-color:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:2rem;margin-top:2rem}.result-header{text-align:center;margin-bottom:2rem}.result-header h2{color:var(--text-primary);margin-bottom:.5rem}.result-date{color:var(--text-secondary);font-size:.9rem}.numbers-section{display:flex;flex-direction:column;align-items:center;gap:1.5rem}.main-numbers{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}.number-ball{width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;color:var(--text-inverse);box-shadow:var(--shadow-sm)}.number-ball.yellow{background:var(--semantic-yellow)}.number-ball.blue{background:var(--semantic-blue)}.number-ball.red{background:var(--semantic-red)}.number-ball.gray{background:var(--semantic-gray)}.number-ball.green{background:var(--semantic-green)}.bonus-section{display:flex;align-items:center;gap:1rem}.bonus-label{color:var(--text-secondary);font-size:1.2rem;font-weight:700}.number-ball.bonus{border:3px solid var(--text-primary)}.analysis-tool-section,.recommendation-section{margin-top:3rem;padding-top:2rem;border-top:2px solid var(--border)}.section-description{color:var(--text-muted);margin-bottom:1.5rem;text-align:center;font-size:.95rem}.input-group{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.input-group label{color:var(--text-secondary);font-size:.9rem;font-weight:500}.number-input{padding:.75rem 1rem;font-size:1rem;border:1px solid var(--input-border);border-radius:4px;background-color:var(--bg-input);color:var(--input-text);width:100%}.number-input:focus{outline:none;border-color:var(--accent)}.analyze-btn,.recommend-btn{padding:.75rem 2rem;font-size:1rem;background-color:var(--btn-primary-bg);color:var(--btn-primary-text);border:none;border-radius:4px;cursor:pointer;transition:background-color .2s;align-self:flex-start}.analyze-btn:hover,.recommend-btn:hover{background-color:var(--btn-primary-hover)}.analysis-result{background-color:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:2rem;margin-top:2rem}.analysis-result h3{color:var(--text-primary);font-size:1.5rem;margin-bottom:1.5rem;text-align:center}.analysis-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.analysis-card{background-color:var(--bg-card-hover);border:1px solid var(--border);border-radius:8px;padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.analysis-card.full-width{grid-column:1 / -1}.analysis-card h4{color:var(--text-primary);font-size:1.2rem;margin:0;text-align:center}.analysis-value{display:flex;justify-content:space-around;gap:1rem;margin:.5rem 0}.analysis-value .odd{color:var(--semantic-blue);font-weight:700;font-size:1.1rem}.analysis-value .even{color:var(--semantic-red);font-weight:700;font-size:1.1rem}.analysis-value-large{font-size:2rem;font-weight:700;color:var(--accent);text-align:center;margin:.5rem 0}.analysis-tip{color:var(--text-muted);font-size:.85rem;text-align:center;padding:.5rem;background-color:var(--bg-card);border-radius:4px}.range-distribution{display:flex;flex-direction:column;gap:1rem}.range-item{display:flex;align-items:center;gap:1rem}.range-label{color:var(--text-secondary);font-size:.9rem;min-width:60px;font-weight:500}.range-bar{flex:1;height:24px;background-color:var(--bg-card);border-radius:12px;overflow:hidden;position:relative}.range-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--btn-primary-hover));border-radius:12px;transition:width .3s ease}.range-count{color:var(--text-primary);font-weight:700;min-width:40px;text-align:right;font-size:.9rem}.recommended-numbers{background-color:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:2rem;margin-top:2rem;text-align:center}.recommended-numbers h3{color:var(--text-primary);font-size:1.5rem;margin-bottom:1.5rem}.recommendation-note{color:var(--text-muted);font-size:.9rem;margin-top:1.5rem;font-style:italic}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.section-header h2{color:var(--text-primary);font-size:1.8rem;margin:0}.refresh-btn{padding:.5rem 1.5rem;font-size:.9rem;background-color:var(--btn-primary-bg);color:var(--btn-primary-text);border:none;border-radius:4px;cursor:pointer;transition:background-color .2s}.refresh-btn:hover:not(:disabled){background-color:var(--btn-primary-hover)}.refresh-btn:disabled{opacity:.6;cursor:not-allowed}.loading-message{text-align:center;color:var(--text-secondary);padding:2rem;font-size:1.1rem}.recent-rounds-container{margin-bottom:3rem}.recent-rounds-container h3{color:var(--text-primary);font-size:1.5rem;margin-bottom:1.5rem;text-align:center}.rounds-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}.round-card{background-color:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:1.5rem;transition:transform .2s,box-shadow .2s}.round-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--accent)}.round-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border)}.round-number{color:var(--accent);font-weight:700;font-size:1.1rem}.round-date{color:var(--text-secondary);font-size:.85rem}.round-numbers{display:flex;flex-direction:column;gap:.75rem}.main-numbers-small{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center}.number-ball-small{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:700;color:var(--text-inverse);box-shadow:var(--shadow-sm)}.number-ball-small.yellow{background:var(--semantic-yellow)}.number-ball-small.blue{background:var(--semantic-blue)}.number-ball-small.red{background:var(--semantic-red)}.number-ball-small.gray{background:var(--semantic-gray)}.number-ball-small.green{background:var(--semantic-green)}.number-ball-small.bonus{border:2px solid var(--text-primary)}.bonus-number-small{display:flex;align-items:center;justify-content:center;gap:.5rem}.bonus-label-small{color:var(--text-secondary);font-size:1rem;font-weight:700}.frequency-section{background-color:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:2rem;margin-top:2rem}.frequency-section h3{color:var(--text-primary);font-size:1.5rem;margin-bottom:1.5rem;text-align:center}.frequency-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:1rem}.frequency-item{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;background-color:var(--bg-card-hover);border-radius:8px;transition:transform .2s,box-shadow .2s}.frequency-item:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm)}.frequency-item.top-frequency{border:2px solid var(--accent);background:var(--bg-card-hover)}.frequency-number{width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.3rem;font-weight:700;color:var(--text-primary);box-shadow:var(--shadow-sm)}.frequency-number.yellow{background:var(--semantic-yellow)}.frequency-number.blue{background:var(--semantic-blue)}.frequency-number.red{background:var(--semantic-red)}.frequency-number.gray{background:var(--semantic-gray)}.frequency-number.green{background:var(--semantic-green)}.frequency-count{color:var(--text-secondary);font-size:.9rem;display:flex;flex-direction:column;align-items:center;gap:.25rem}.top-badge{background-color:var(--accent);color:var(--btn-primary-text);font-size:.7rem;padding:.2rem .5rem;border-radius:4px;font-weight:700;margin-top:.25rem}@media(max-width:768px){.rounds-grid{grid-template-columns:1fr}.frequency-grid{grid-template-columns:repeat(auto-fill,minmax(80px,1fr))}.section-header{flex-direction:column;gap:1rem;align-items:stretch}.section-header h2{text-align:center}.refresh-btn{width:100%}}.house-price{max-width:900px;margin:0 auto;padding:2rem}.house-price h1{font-size:2.5rem;margin-bottom:.5rem;color:var(--text-primary);text-align:center}.description{color:var(--text-secondary);margin-bottom:2rem;text-align:center;font-size:1.1rem}.house-credit-cost{display:inline-block;margin:-.75rem auto 1.5rem;padding:.35rem .75rem;color:var(--text-link);font-size:.9rem;font-weight:600;border:1px solid var(--accent-border);border-radius:999px;background-color:var(--accent-bg)}.input-section{display:flex;flex-direction:column;gap:1.5rem;align-items:center;margin-bottom:2rem}.input-group{display:flex;flex-direction:column;gap:.5rem;width:100%;max-width:400px}.input-group label{color:var(--text-secondary);font-weight:500}.salary-input{padding:.75rem 1rem;font-size:1rem;border:1px solid var(--input-border);border-radius:4px;background-color:var(--input-bg);color:var(--input-text);appearance:none;-webkit-appearance:none}.salary-input:-webkit-autofill,.salary-input:-webkit-autofill:hover,.salary-input:-webkit-autofill:focus,.salary-input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 30px var(--input-bg) inset!important;box-shadow:0 0 0 30px var(--input-bg) inset!important;-webkit-text-fill-color:var(--input-text)!important}.salary-input:focus{outline:none;border-color:var(--input-border-focus)}.calculate-btn{padding:.75rem 2rem;font-size:1rem;background-color:var(--btn-primary-bg);color:var(--btn-primary-text);border:none;border-radius:4px;cursor:pointer;transition:background-color .2s}.calculate-btn:hover{background-color:var(--btn-primary-hover)}.result-container{margin-top:2rem}.result-recommendation{padding-top:.5rem}.result-recommendation .section-title{color:var(--text-primary);font-size:1.35rem;margin-bottom:.5rem;font-weight:600}.result-recommendation .section-lead{color:var(--text-secondary);font-size:.95rem;line-height:1.5;margin:0 0 1rem}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin-bottom:2rem}.summary-card{background:var(--bg-card-elevated);border:1px solid var(--border);border-radius:12px;padding:1.25rem;text-align:left}.summary-card-label{display:block;color:var(--text-muted);font-size:.85rem;margin-bottom:.5rem}.summary-card-value{font-size:1.75rem;font-weight:700;color:var(--accent)}.summary-card-hint{display:block;font-size:.8rem;color:var(--text-muted);margin-top:.35rem}.summary-card-text{color:var(--text-secondary);font-size:.95rem;line-height:1.5;margin:0}.summary-card-strategy .summary-card-text,.summary-card-risk .summary-card-text{font-size:.9rem;color:var(--text-secondary)}.recommended-properties{margin-bottom:2rem}.property-cards{display:flex;flex-direction:column;gap:1.25rem}.property-recommend-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:1.5rem;text-align:left}.property-recommend-name{color:var(--text-primary);font-size:1.15rem;margin:0 0 .5rem;font-weight:600}.property-recommend-price{color:var(--accent);font-size:1.05rem;font-weight:600;margin:0 0 .5rem}.property-recommend-meta{color:var(--text-muted);font-size:.9rem;margin-bottom:.75rem}.property-recommend-meta span+span:before{content:" · ";color:var(--text-muted)}.property-recommend-reason{color:var(--text-secondary);font-size:.95rem;line-height:1.5;margin:0 0 .5rem}.property-recommend-reason strong{color:var(--text-muted);font-weight:600}.property-recommend-caveat{color:var(--text-muted);font-size:.85rem;line-height:1.4;margin:0 0 1rem}.property-recommend-cta{display:flex;flex-wrap:wrap;gap:.5rem}.cta-btn{display:inline-block;padding:.6rem 1rem;font-size:.9rem;font-weight:600;border-radius:8px;text-decoration:none;transition:background .2s,color .2s;border:none;cursor:pointer}.cta-portal{background:var(--bg-card-hover);color:var(--text-link);border:1px solid var(--border-subtle)}.cta-portal:hover{background:var(--accent-bg);color:var(--text-primary)}.portal-cta-section{margin-bottom:2rem}.portal-cta-buttons{display:flex;flex-wrap:wrap;gap:.75rem}.cta-portal-main{padding:.75rem 1.25rem;font-size:.95rem;background:var(--bg-card-hover);color:var(--text-link);border:1px solid var(--border-subtle);border-radius:8px;font-weight:600;text-decoration:none;transition:background .2s,color .2s,border-color .2s}.cta-portal-main:hover{background:var(--accent-bg);color:var(--text-primary);border-color:var(--accent)}.loans-with-reason{margin-bottom:2rem}.loans-reason-list{display:flex;flex-direction:column;gap:1rem}.loan-reason-card{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:1.25rem;text-align:left}.loan-reason-name{color:var(--text-primary);font-size:1.05rem;margin:0 0 .5rem;font-weight:600}.loan-reason-why{color:var(--text-secondary);font-size:.9rem;line-height:1.5;margin:0 0 .5rem}.loan-reason-caveat{color:var(--text-muted);font-size:.85rem;line-height:1.4;margin:0}.benefits-compact{margin-bottom:2rem}.benefits-compact-list{display:flex;flex-direction:column;gap:.5rem}.benefit-compact-card{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;color:var(--text-secondary);text-decoration:none;transition:border-color .2s,background .2s}.benefit-compact-card:hover{border-color:var(--accent);background:var(--bg-card-hover)}.benefit-compact-text{display:flex;flex-direction:column;gap:.25rem}.benefit-compact-name{font-weight:500}.benefit-compact-reason{font-size:.85rem;color:var(--text-muted);font-weight:400}.benefit-compact-arrow{color:var(--accent);font-size:.9rem}.loans-compact{margin-bottom:2rem}.loans-compact-list{list-style:none;padding:0;margin:0;color:var(--text-secondary);font-size:.95rem;line-height:1.8}.loans-compact-list strong{color:var(--text-primary)}.detail-collapse-section{margin-bottom:1.5rem}.detail-collapse-trigger{width:100%;padding:.9rem 1.25rem;font-size:.95rem;color:var(--text-muted);background:var(--bg-card-hover);border:1px solid var(--border);border-radius:8px;cursor:pointer;text-align:left;transition:color .2s,border-color .2s}.detail-collapse-trigger:hover{color:var(--text-secondary);border-color:var(--border-subtle)}.detail-collapse-content{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.notice-compact{margin-top:1rem}.notice-compact p{font-size:.85rem;color:var(--text-muted);margin:0}.ai-briefing-section .detail-collapse-content{padding-top:1.25rem}.ai-briefing{width:100%;max-width:900px;margin:0 auto;text-align:left;background:var(--bg-card);color:var(--text-primary);border-radius:12px;padding:1.5rem 1.75rem;box-shadow:var(--shadow-sm);border:1px solid var(--border)}.ai-briefing-header{margin-bottom:1.25rem}.ai-briefing-title-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.ai-briefing-ai-icon{flex-shrink:0;width:24px;height:24px;border-radius:6px;background:var(--success-border);opacity:.9}.ai-briefing-title{color:var(--text-primary);font-size:1.35rem;font-weight:700;margin:0}.ai-briefing-menu{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:.35rem;font-size:1.25rem;line-height:1}.ai-briefing-menu:hover{color:var(--text-primary)}.ai-briefing-dots{display:inline-block;letter-spacing:.15em}.ai-briefing-disclaimer{color:var(--text-muted);font-size:.8rem;margin:.4rem 0 0;display:flex;align-items:center;gap:.25rem}.ai-briefing-disclaimer-icon{color:var(--text-muted);font-size:.85rem}.ai-briefing-banners{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-bottom:1.5rem}@media(max-width:640px){.ai-briefing-banners{grid-template-columns:1fr}}.ai-briefing-banner-card{background:var(--bg-card-elevated);border:1px solid var(--border);border-radius:10px;padding:1.1rem;min-height:88px}.ai-briefing-banner-title{color:var(--text-primary);font-size:.95rem;font-weight:600;margin:0 0 .4rem;line-height:1.35}.ai-briefing-banner-desc{color:var(--text-secondary);font-size:.8rem;line-height:1.45;margin:0}.ai-briefing-overview{margin-bottom:1.5rem}.ai-briefing-overview p{color:var(--text-primary);font-size:.95rem;font-weight:600;line-height:1.7;margin:0}.ai-briefing-policies{margin-bottom:1.5rem}.ai-briefing-policy-block{margin-bottom:1.1rem}.ai-briefing-policy-title{color:var(--text-primary);font-size:1rem;font-weight:600;margin:0 0 .45rem}.ai-briefing-policy-list{color:var(--text-secondary);font-size:.9rem;line-height:1.7;margin:0;padding-left:1.2rem}.ai-briefing-policy-list li{margin-bottom:.3rem}.ai-briefing-references{margin-bottom:1.25rem}.ai-briefing-ref-title{color:var(--text-primary);font-size:.95rem;font-weight:600;margin:0 0 .6rem}.ai-briefing-ref-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}@media(max-width:640px){.ai-briefing-ref-cards{grid-template-columns:1fr}}.ai-briefing-ref-card{display:flex;flex-direction:row;align-items:center;gap:.5rem;padding:1rem;background:var(--bg-card-elevated);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);text-decoration:none;transition:border-color .2s,background .2s}.ai-briefing-ref-card:hover{border-color:var(--success-border);background:var(--success-bg)}.ai-briefing-ref-label{color:var(--text-muted);font-size:.75rem;flex-shrink:0}.ai-briefing-ref-text{font-size:.85rem;line-height:1.4;color:var(--text-primary);flex:1;min-width:0}.ai-briefing-ref-source{color:var(--success-text);font-size:.75rem;flex-shrink:0}.ai-briefing-ref-arrow{flex-shrink:0;color:var(--text-muted);font-size:.9rem;margin-left:auto}.ai-briefing-related-questions{margin-bottom:1.25rem}.ai-briefing-related-title{color:var(--text-primary);font-size:1rem;font-weight:600;margin:0 0 .6rem}.ai-briefing-related-list{list-style:none;padding:0;margin:0}.ai-briefing-related-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 1rem;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);text-decoration:none;transition:border-color .2s,background .2s;margin-bottom:.5rem}.ai-briefing-related-item:last-child{margin-bottom:0}.ai-briefing-related-item:hover{border-color:var(--success-border);background:var(--success-bg)}.ai-briefing-related-text{font-size:.9rem;flex:1;min-width:0;color:var(--text-primary)}.ai-briefing-related-search{flex-shrink:0;font-size:1rem;opacity:.7}.ai-briefing-footer-disclaimer{color:var(--text-muted);font-size:.8rem;line-height:1.5;margin:0;padding-top:1rem;border-top:1px solid var(--border)}.ai-briefing-feedback{display:flex;align-items:center;gap:.5rem;margin-top:.75rem}.ai-briefing-feedback-btn{background:none;border:none;padding:.35rem;font-size:1.1rem;cursor:pointer;opacity:.8}.ai-briefing-feedback-btn:hover{opacity:1}.ai-briefing-raw-details{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border)}.ai-briefing-raw-details summary{color:var(--text-muted);font-size:.9rem;cursor:pointer}.ai-briefing-raw-details summary:hover{color:var(--text-primary)}.result-card{background-color:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:2rem;text-align:center;margin-bottom:1.5rem}.result-card.recommended{border-color:var(--accent);background:linear-gradient(135deg,var(--bg-card),var(--bg-card-hover))}.result-card h3{color:var(--text-primary);margin-bottom:1rem;font-size:1.3rem}.result-card .amount{font-size:2rem;font-weight:700;color:var(--accent);margin-bottom:.5rem}.result-card.recommended .amount{font-size:2.5rem;color:var(--text-primary)}.description-text{color:var(--text-secondary);font-size:.9rem;margin-top:.5rem}.result-card.market-prices{border-color:var(--success-text)}.market-prices-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1rem;margin:1rem 0}.market-price-item{display:flex;flex-direction:column;gap:.25rem}.market-price-item .label{color:var(--text-muted);font-size:.85rem}.market-price-item .value{color:var(--success-text);font-weight:600;font-size:1.2rem}.detailed-report{margin-top:2rem;width:100%}.detailed-report h2{color:var(--text-primary);font-size:1.6rem;margin-bottom:1.5rem}.detailed-report-block{margin-bottom:1.5rem}.detailed-report-block h3{color:var(--text-secondary);font-size:1.2rem;margin-bottom:1rem}.detailed-report-block h4{color:var(--text-secondary);font-size:1rem;margin:.5rem 0}.criteria-dl{display:grid;grid-template-columns:auto 1fr;gap:.5rem 1.5rem;color:var(--text-secondary);font-size:.95rem}.criteria-dl dt{color:var(--text-muted)}.property-list{display:flex;flex-direction:column;gap:1rem}.property-card{background:var(--bg-card-hover);border-radius:8px;padding:1rem;border:1px solid var(--border)}.property-meta{list-style:none;padding:0;margin:.5rem 0;color:var(--text-muted);font-size:.9rem}.property-meta li+li{margin-top:.25rem}.property-links,.external-links-list,.additional-links{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.external-link,.source-link{color:var(--accent);text-decoration:none;font-size:.9rem}.external-link:hover,.source-link:hover{text-decoration:underline}.loan-analysis-list{display:flex;flex-direction:column;gap:1.25rem}.loan-analysis-item{background:var(--bg-card-hover);padding:1rem;border-radius:8px;border:1px solid var(--border)}.loan-analysis-details p{color:var(--text-secondary);font-size:.9rem;margin:.5rem 0}.scenarios{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.scenario-chip{background:var(--bg-card-hover);color:var(--text-link);padding:.4rem .75rem;border-radius:6px;font-size:.85rem}.scenario-name{font-weight:600;margin-right:.25rem}.sensitivity{color:var(--text-muted)!important;font-size:.85rem!important;margin-top:.5rem!important}.comparison-table-wrap{overflow-x:auto}.comparison-table{width:100%;border-collapse:collapse;color:var(--text-secondary);font-size:.9rem}.comparison-table th,.comparison-table td{padding:.6rem .75rem;text-align:left;border:1px solid var(--border)}.comparison-table th{background:var(--bg-card-hover);color:var(--text-secondary)}.comparison-table tbody tr:nth-child(2n){background:var(--bg-input-hover)}.summary-block p{color:var(--text-secondary);line-height:1.6;margin:.5rem 0}.confidence-score{color:var(--text-muted);font-size:.95rem;margin:1rem 0}.confidence-score strong{color:var(--success-text)}.sources-block ul{list-style:none;padding:0;margin:0}.sources-block li{margin:.5rem 0}.sources-block .source-link{word-break:break-all}.result-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.notice{background-color:var(--bg-card-hover);border-left:4px solid var(--warn-border);padding:1rem;border-radius:4px;margin-top:2rem}.notice p{color:var(--text-secondary);font-size:.9rem;line-height:1.6;margin:0}.error-message{background-color:var(--error-bg);border:1px solid var(--error-border);color:var(--error-text);padding:1rem;border-radius:4px;text-align:center;width:100%;max-width:400px}.calculate-btn:disabled{opacity:.6;cursor:not-allowed}.benefits-section{margin-top:2rem}.benefits-section h2{color:var(--text-primary);font-size:1.8rem;margin-bottom:.75rem;text-align:center}.benefits-intro{color:var(--text-muted);font-size:.95rem;text-align:center;margin-bottom:1.5rem}.benefits-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;margin-bottom:2rem}.benefit-card{display:block;background-color:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:1.25rem;text-decoration:none;color:inherit;transition:transform .2s,box-shadow .2s,border-color .2s}.benefit-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--accent)}.benefit-card h4{color:var(--accent);font-size:1.1rem;margin-bottom:.75rem;border-bottom:1px solid var(--border);padding-bottom:.5rem}.benefit-card p{color:var(--text-secondary);font-size:.9rem;line-height:1.6;margin:0 0 .75rem}.benefit-link{color:var(--accent);font-size:.9rem;font-weight:500}.benefit-card:hover .benefit-link{text-decoration:underline}.loans-section,.analysis-section{margin-top:2rem}.loans-section h2,.analysis-section h2{color:var(--text-primary);font-size:1.8rem;margin-bottom:1.5rem;text-align:center}.loans-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-bottom:2rem}.loan-card{background-color:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:1.5rem;transition:transform .2s,box-shadow .2s}.loan-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--accent)}.loan-card h4{color:var(--accent);font-size:1.3rem;margin-bottom:1rem;border-bottom:1px solid var(--border);padding-bottom:.5rem}.loan-details{display:flex;flex-direction:column;gap:.75rem}.loan-details p{color:var(--text-secondary);font-size:.95rem;margin:0;line-height:1.6}.loan-details .label{color:var(--text-primary);font-weight:600;margin-right:.5rem}.eligibility{color:var(--text-muted)!important;font-size:.85rem!important;font-style:italic}.analysis-section{background-color:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:2rem;margin-top:2rem}.analysis-content{color:var(--text-secondary);line-height:1.8;font-size:1rem}.analysis-content h1{color:var(--text-primary);font-size:2rem;margin-top:2rem;margin-bottom:1rem;border-bottom:2px solid var(--border);padding-bottom:.5rem}.analysis-content h1:first-child{margin-top:0}.analysis-content h2{color:var(--text-primary);font-size:1.5rem;margin-top:1.5rem;margin-bottom:1rem;border-bottom:1px solid var(--border);padding-bottom:.5rem}.analysis-content h3{color:var(--accent);font-size:1.3rem;margin-top:1.2rem;margin-bottom:.8rem}.analysis-content h4{color:var(--accent);font-size:1.1rem;margin-top:1rem;margin-bottom:.6rem}.analysis-content p{margin:.8rem 0;color:var(--text-secondary)}.analysis-content ul,.analysis-content ol{margin:1rem 0;padding-left:2rem;color:var(--text-secondary)}.analysis-content li{margin:.5rem 0;line-height:1.6}.analysis-content strong{color:var(--text-primary);font-weight:600}.analysis-content em{color:var(--text-muted);font-style:italic}.analysis-content code{background-color:var(--bg-card-hover);padding:.2rem .4rem;border-radius:3px;font-family:Courier New,monospace;font-size:.9em;color:var(--text-primary)}.analysis-content pre{background-color:var(--bg-card-hover);padding:1rem;border-radius:4px;overflow-x:auto;margin:1rem 0}.analysis-content pre code{background-color:transparent;padding:0}.analysis-content blockquote{border-left:4px solid var(--accent);padding-left:1rem;margin:1rem 0;color:var(--text-muted);font-style:italic}.analysis-content hr{border:none;border-top:1px solid var(--border);margin:2rem 0}@media(max-width:768px){.loans-grid,.properties-grid{grid-template-columns:1fr}.house-price{padding:1rem}.house-price h1{font-size:2rem}.loans-section h2,.analysis-section h2{font-size:1.5rem}}.login-required-notice{background-color:var(--accent-bg);border:1px solid var(--accent-border);padding:1.5rem;border-radius:12px;margin-bottom:2rem;text-align:center}.housing-info{margin-top:3rem;padding:1.5rem;background-color:var(--bg-card-elevated);border:1px solid var(--border);border-radius:12px;text-align:left}.housing-info h3{margin-top:0;margin-bottom:1rem;font-size:1.2rem;color:var(--text-primary)}.housing-info ul{margin:0;padding-left:1.2rem;color:var(--text-secondary)}.housing-info li{margin-bottom:.5rem;line-height:1.5}.age-calculator{max-width:720px;margin:0 auto;padding:2rem}.age-calculator h1{font-size:2rem;margin-bottom:2rem;color:var(--text-primary);text-align:center}.age-section{background-color:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:1.5rem;margin-bottom:1.5rem}.age-section h2{font-size:1.25rem;color:var(--text-primary);margin-bottom:1rem}.age-input-row{display:flex;gap:.75rem;margin-bottom:.5rem}.age-input{flex:1;padding:.75rem 1rem;font-size:1rem;border:1px solid var(--input-border);border-radius:6px;background-color:var(--bg-input);color:var(--input-text)}.age-input:focus{outline:none;border-color:var(--input-border-focus)}.age-input::placeholder{color:var(--input-placeholder)}.age-btn{padding:.75rem 1.5rem;font-size:1rem;background-color:var(--btn-primary-bg);color:var(--btn-primary-text);border:none;border-radius:6px;cursor:pointer;transition:background-color .2s;white-space:nowrap}.age-btn:hover{background-color:var(--btn-primary-hover)}.age-hint{color:var(--text-muted);font-size:.9rem;margin-top:.5rem}.age-hint strong{color:var(--text-secondary)}.age-error{color:var(--error-text);background-color:var(--error-bg);border:1px solid var(--error-border);border-radius:6px;padding:1rem;margin-bottom:1.5rem}.ddi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;margin-bottom:.5rem}.ddi-btn{padding:.6rem 1rem;font-size:.95rem;background-color:var(--bg-card-hover);color:var(--text-secondary);border:1px solid var(--border-subtle);border-radius:6px;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s}.ddi-btn:hover{background-color:var(--bg-hover);color:var(--text-primary);border-color:var(--accent)}@media(max-width:480px){.ddi-grid{grid-template-columns:repeat(3,1fr)}}.age-result{margin-top:2rem}.result-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:1.5rem}.result-card{background-color:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:1.25rem;display:flex;flex-direction:column;gap:.5rem}.result-card-wide{grid-column:1 / -1}.result-label{color:var(--text-muted);font-size:.9rem}.result-value{color:var(--accent);font-size:1.5rem;font-weight:700}.age-info{background-color:var(--bg-card-elevated);border:1px solid var(--border);border-radius:8px;padding:1.25rem}.age-info p{color:var(--text-secondary);font-size:.9rem;line-height:1.6;margin-bottom:.75rem}.age-info p:last-child{margin-bottom:0}.age-info strong{color:var(--text-secondary)}.postal-code{max-width:640px;margin:0 auto;padding:2rem}.postal-code h1{font-size:2rem;margin-bottom:.75rem;color:var(--text-primary);text-align:center}.postal-description{color:var(--text-secondary);font-size:1rem;text-align:center;margin-bottom:2rem;line-height:1.6}.postal-search-section{display:flex;justify-content:center;margin-bottom:2rem}.postal-search-btn{padding:1rem 2rem;font-size:1.1rem;background-color:var(--btn-primary-bg);color:var(--btn-primary-text);border:none;border-radius:8px;cursor:pointer;transition:background-color .2s}.postal-search-btn:hover{background-color:var(--btn-primary-hover)}.postal-error{color:var(--error-text);background-color:var(--error-bg);border:1px solid var(--error-border);border-radius:6px;padding:1rem;margin-bottom:1.5rem}.postal-result{background-color:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:1.5rem;margin-bottom:2rem}.postal-result h2{font-size:1.25rem;color:var(--text-primary);margin-bottom:1rem}.result-grid{display:flex;flex-direction:column;gap:1rem}.result-row{display:flex;flex-direction:column;gap:.25rem}.result-row .result-label{color:var(--text-muted);font-size:.9rem}.result-row .result-value{color:var(--text-primary);font-size:1rem;word-break:break-all}.result-row:first-child .result-value{color:var(--accent);font-weight:600;font-size:1.25rem}.postal-info{background-color:var(--bg-card-elevated);border:1px solid var(--border);border-radius:8px;padding:1.25rem}.postal-info h3{font-size:1rem;color:var(--text-secondary);margin-bottom:.75rem}.postal-info ul{color:var(--text-muted);font-size:.9rem;line-height:1.7;padding-left:1.25rem}.postal-info li{margin-bottom:.25rem}.currency-exchange{max-width:640px;margin:0 auto;padding:2rem}.currency-exchange h1{font-size:2rem;margin-bottom:.75rem;color:var(--text-primary);text-align:center}.currency-description{color:var(--text-secondary);font-size:1rem;text-align:center;margin-bottom:2rem;line-height:1.6}.currency-form{background-color:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:1.5rem;margin-bottom:2rem}.currency-row{margin-bottom:1.25rem}.currency-row:last-of-type{margin-bottom:0}.currency-select-row{display:flex;align-items:flex-end;gap:1rem}.currency-select-row .input-group{flex:1}.currency-exchange .input-group label{display:block;color:var(--text-muted);font-size:.9rem;margin-bottom:.5rem}.currency-exchange .input-group input,.currency-exchange .input-group select{width:100%;padding:.75rem 1rem;font-size:1rem;background-color:var(--bg-input);border:1px solid var(--input-border);border-radius:6px;color:var(--input-text)}.currency-exchange .input-group input:focus,.currency-exchange .input-group select:focus{outline:none;border-color:var(--input-border-focus)}.swap-btn{flex-shrink:0;width:44px;height:44px;padding:0;font-size:1.25rem;background-color:var(--bg-card-hover);color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:8px;cursor:pointer;transition:background-color .2s}.swap-btn:hover{background-color:var(--bg-hover)}.convert-btn{width:100%;margin-top:1.5rem;padding:1rem;font-size:1.1rem;background-color:var(--btn-primary-bg);color:var(--btn-primary-text);border:none;border-radius:8px;cursor:pointer;transition:background-color .2s}.convert-btn:hover:not(:disabled){background-color:var(--btn-primary-hover)}.convert-btn:disabled{opacity:.7;cursor:not-allowed}.currency-error{color:var(--error-text);background-color:var(--error-bg);border:1px solid var(--error-border);border-radius:6px;padding:1rem;margin-bottom:1.5rem}.currency-result{background-color:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:1.5rem;margin-bottom:2rem}.result-main{display:flex;align-items:baseline;gap:.5rem;margin-bottom:.5rem}.result-amount{color:var(--accent);font-size:1.75rem;font-weight:600}.result-currency{color:var(--text-primary);font-size:1.25rem}.result-detail{color:var(--text-muted);font-size:.95rem}.result-date{color:var(--text-muted);font-size:.85rem;margin-top:.5rem}.currency-info{background-color:var(--bg-card-elevated);border:1px solid var(--border);border-radius:8px;padding:1.25rem}.currency-info h3{font-size:1rem;color:var(--text-secondary);margin-bottom:.75rem}.currency-info ul{color:var(--text-muted);font-size:.9rem;line-height:1.7;padding-left:1.25rem}.currency-info li{margin-bottom:.25rem}.qr-generator{max-width:560px;margin:0 auto;padding:2rem}.qr-generator h1{font-size:2rem;margin-bottom:.75rem;color:var(--text-primary);text-align:center}.qr-description{color:var(--text-secondary);font-size:1rem;text-align:center;margin-bottom:2rem;line-height:1.6}.qr-form{background-color:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:1.5rem;margin-bottom:1.5rem}.qr-form .input-group{margin-bottom:1rem}.qr-form .input-group:last-child{margin-bottom:0}.qr-form label{display:block;color:var(--text-muted);font-size:.9rem;margin-bottom:.5rem}.qr-form textarea,.qr-form input{width:100%;padding:.75rem 1rem;font-size:1rem;background-color:var(--bg-input);border:1px solid var(--input-border);border-radius:6px;color:var(--input-text)}.qr-form textarea{resize:vertical;min-height:80px}.qr-form textarea:focus,.qr-form input:focus{outline:none;border-color:var(--input-border-focus)}.qr-form .size-group input{width:100px}.qr-error{color:var(--error-text);background-color:var(--error-bg);border:1px solid var(--error-border);border-radius:6px;padding:1rem;margin-bottom:1.5rem}.qr-result{background-color:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:2rem;margin-bottom:2rem;text-align:center}.qr-canvas-wrap{display:inline-flex;padding:1rem;background:var(--bg-card);border-radius:8px;margin-bottom:1rem}.qr-hint{color:var(--text-muted);font-size:.9rem}.qr-info{background-color:var(--bg-card-elevated);border:1px solid var(--border);border-radius:8px;padding:1.25rem}.qr-info h3{font-size:1rem;color:var(--text-secondary);margin-bottom:.75rem}.qr-info ul{color:var(--text-muted);font-size:.9rem;line-height:1.7;padding-left:1.25rem}.color-converter{max-width:560px;margin:0 auto;padding:2rem}.color-converter h1{font-size:2rem;margin-bottom:.75rem;color:var(--text-primary);text-align:center}.color-description{color:var(--text-secondary);font-size:1rem;text-align:center;margin-bottom:2rem;line-height:1.6}.color-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem}.tab-btn{flex:1;padding:.75rem;font-size:1rem;background-color:var(--bg-card);color:var(--text-secondary);border:1px solid var(--border);border-radius:6px;cursor:pointer;transition:all .2s}.tab-btn:hover{background-color:var(--bg-card-elevated);color:var(--text-primary)}.tab-btn.active{background-color:var(--btn-primary-bg);color:var(--btn-primary-text);border-color:var(--accent)}.color-form{background-color:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:1.5rem;margin-bottom:1.5rem}.color-form .input-group{margin-bottom:1rem}.color-form .input-row{display:flex;gap:1rem}.color-form .input-row .input-group{flex:1}.color-form label{display:block;color:var(--text-muted);font-size:.9rem;margin-bottom:.5rem}.color-form input{width:100%;padding:.75rem 1rem;font-size:1rem;background-color:var(--bg-input);border:1px solid var(--input-border);border-radius:6px;color:var(--input-text)}.color-form input:focus{outline:none;border-color:var(--input-border-focus)}.color-form input[type=number]::-webkit-inner-spin-button,.color-form input[type=number]::-webkit-outer-spin-button{opacity:1}.color-converter .convert-btn{width:100%;margin-top:.5rem;padding:.85rem;font-size:1rem;background-color:var(--btn-primary-bg);color:var(--btn-primary-text);border:none;border-radius:6px;cursor:pointer;transition:background-color .2s}.color-converter .convert-btn:hover{background-color:var(--btn-primary-hover)}.color-error{color:var(--error-text);background-color:var(--error-bg);border:1px solid var(--error-border);border-radius:6px;padding:1rem;margin-bottom:1.5rem}.color-result,.color-preview-only{background-color:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:1.5rem;margin-bottom:2rem}.color-result{display:flex;align-items:center;gap:1.5rem}.result-preview{width:80px;height:80px;border-radius:8px;border:1px solid var(--border-subtle);flex-shrink:0}.result-values{flex:1}.color-converter .result-row{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.5rem}.color-converter .result-row:last-child{margin-bottom:0}.color-converter .result-label{color:var(--text-muted);font-size:.85rem}.color-converter .result-value{color:var(--text-primary);font-size:1rem;font-family:monospace}.color-preview-only{display:flex;align-items:center;gap:1rem}.preview-label{color:var(--text-muted);font-size:.9rem}.color-info{background-color:var(--bg-card-elevated);border:1px solid var(--border);border-radius:8px;padding:1.25rem}.color-info h3{font-size:1rem;color:var(--text-secondary);margin-bottom:.75rem}.color-info ul{color:var(--text-muted);font-size:.9rem;line-height:1.7;padding-left:1.25rem}.color-info li{margin-bottom:.25rem}.percent-calculator{max-width:1000px;margin:0 auto;padding:2rem;text-align:center}.percent-calculator h1{font-size:2.5rem;margin-bottom:.5rem;color:var(--text-primary)}.percent-calculator .description{font-size:1.1rem;color:var(--text-secondary);margin-bottom:3rem}.calc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:2rem;margin-bottom:3rem}@media(max-width:500px){.calc-grid{grid-template-columns:1fr}}.calc-card{background-color:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:1.5rem;text-align:left;box-shadow:var(--shadow-sm);transition:transform .2s,box-shadow .2s}.calc-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}.calc-card h2{font-size:1.25rem;margin:0 0 .5rem;color:var(--text-primary)}.calc-desc{font-size:.9rem;color:var(--text-muted);margin-bottom:1.5rem}.calc-inputs{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.input-row{display:flex;align-items:center;gap:1rem}.input-row .label{flex:0 0 80px;font-size:.95rem;color:var(--text-secondary);font-weight:500}.input-row input{flex:1;padding:.75rem 1rem;border:1px solid var(--input-border);border-radius:8px;background-color:var(--bg-input);color:var(--input-text);font-size:1rem;width:100%}.input-row input:focus{outline:none;border-color:var(--accent)}.calc-result{padding-top:1rem;border-top:1px solid var(--border);font-size:1.1rem;color:var(--text-primary);font-weight:600}.calc-result .value{color:var(--accent);font-size:1.25rem;margin-left:.5rem}.percent-info{margin-top:4rem;padding:2rem;background-color:var(--bg-card-elevated);border:1px solid var(--border);border-radius:16px;text-align:left}.percent-info h3{font-size:1.25rem;margin-top:0;margin-bottom:1rem;color:var(--text-primary)}.percent-info ul{margin:0;padding-left:1.5rem;color:var(--text-secondary)}.percent-info li{margin-bottom:.75rem;line-height:1.6}.percent-info strong{color:var(--text-primary)}.dev-tools{max-width:1200px;margin:0 auto;padding:2rem;text-align:center}.dev-tools h1{font-size:2.5rem;margin-bottom:.5rem;color:var(--text-primary)}.dev-tools .description{font-size:1.1rem;color:var(--text-secondary);margin-bottom:3rem}.dev-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(450px,1fr));gap:2rem}@media(max-width:600px){.dev-grid{grid-template-columns:1fr}}.dev-card{background-color:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:1.5rem;text-align:left;display:flex;flex-direction:column;gap:1rem;box-shadow:var(--shadow-sm)}.dev-card h2{font-size:1.25rem;margin:0;color:var(--text-primary)}.dev-card textarea,.dev-input{width:100%;padding:12px;border:1px solid var(--input-border);border-radius:8px;background-color:var(--bg-input);color:var(--input-text);font-family:Courier New,Courier,monospace;font-size:.95rem;resize:vertical}.dev-actions{display:flex;gap:.75rem;flex-wrap:wrap}.dev-actions button{padding:.6rem 1.2rem;border-radius:6px;font-weight:600;cursor:pointer;border:1px solid var(--border);background-color:var(--bg-card-elevated);color:var(--text-primary);transition:all .2s}.dev-actions button:hover{background-color:var(--accent);color:#fff;border-color:var(--accent)}.dev-actions .copy-btn{margin-left:auto;background-color:var(--bg-secondary)}.dev-error{color:var(--error-text);font-size:.85rem;margin:-.5rem 0 0}.dev-output-box{background-color:var(--bg-card-elevated);border:1px solid var(--border);border-radius:8px;padding:1rem;position:relative;min-height:3rem;display:flex;flex-direction:column;gap:.5rem}.output-label{font-size:.85rem;color:var(--text-muted);margin:0}.output-content{color:var(--text-primary);font-size:.95rem;word-break:break-all;white-space:pre-wrap}.output-content.mono{font-family:Courier New,Courier,monospace}.output-content.break{word-break:break-all}.copy-btn.mini{position:absolute;top:.5rem;right:.5rem;padding:.25rem .5rem;font-size:.75rem}.pw-options{display:flex;align-items:center;gap:1rem;color:var(--text-secondary)}.pw-options input[type=range]{flex:1;accent-color:var(--accent)}.json-formatter{grid-column:1 / -1}@media(max-width:900px){.json-formatter{grid-column:auto}}.random-quotes{max-width:1000px;margin:0 auto;padding:2rem;text-align:center}.random-quotes h1{font-size:2.5rem;margin-bottom:.5rem;color:var(--text-primary)}.random-quotes .description{font-size:1.1rem;color:var(--text-secondary);margin-bottom:3rem}.quotes-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:2rem;margin-bottom:3rem}@media(max-width:500px){.quotes-grid{grid-template-columns:1fr}}.quote-card{background-color:var(--bg-card);border:1px solid var(--border);border-radius:20px;padding:2rem;text-align:center;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;justify-content:space-between;min-height:400px;transition:transform .3s}.quote-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-md)}.quote-card h2{font-size:1.5rem;margin:0 0 .5rem;color:var(--text-primary)}.card-desc{font-size:.9rem;color:var(--text-muted);margin-bottom:2rem}.quote-display{flex:1;display:flex;align-items:center;justify-content:center;margin-bottom:2rem;background-color:var(--bg-card-elevated);border-radius:12px;padding:1.5rem;border:1px dashed var(--border)}.fortune-text{font-size:1.4rem;color:var(--accent);font-weight:700;line-height:1.5;word-break:keep-all}.anime-quote-box{display:flex;flex-direction:column;gap:1rem}.anime-text{font-size:1.3rem;color:var(--text-primary);font-weight:600;font-style:italic;line-height:1.6;word-break:keep-all}.anime-author{font-size:1rem;color:var(--text-muted);font-weight:500}.placeholder{color:var(--text-muted);font-style:italic}.quote-btn{padding:1rem 2rem;border-radius:50px;font-size:1.1rem;font-weight:700;border:none;cursor:pointer;transition:background-color .2s,transform .1s;box-shadow:var(--shadow-sm)}.fortune-btn{background-color:var(--accent);color:#fff}.anime-btn{background-color:var(--btn-secondary-bg);color:var(--text-primary);border:1px solid var(--border)}.quote-btn:hover{filter:brightness(1.1);box-shadow:var(--shadow-md)}.quote-btn:active{transform:scale(.98)}.quote-footer-info{margin-top:4rem;padding:2rem;background-color:var(--bg-card-elevated);border:1px solid var(--border);border-radius:16px;text-align:left}.quote-footer-info h3{font-size:1.25rem;margin-top:0;margin-bottom:1rem;color:var(--text-primary)}.quote-footer-info ul{margin:0;padding-left:1.5rem;color:var(--text-secondary)}.quote-footer-info li{margin-bottom:.75rem;line-height:1.6}.animated{animation:fadeIn .5s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.ai-image-generator{max-width:640px;margin:0 auto;padding:2rem}.ai-image-generator h1{font-size:2rem;margin-bottom:.75rem;color:var(--text-primary);text-align:center}.ai-image-description{color:var(--text-secondary);font-size:1rem;text-align:center;margin-bottom:2rem;line-height:1.6}.ai-credit-cost{display:inline-block;margin:-.75rem auto 1.5rem;padding:.35rem .75rem;color:var(--text-link);font-size:.9rem;font-weight:600;border:1px solid var(--accent-border);border-radius:999px;background-color:var(--accent-bg)}.pay-per-use-banner{margin-bottom:1.5rem;padding:1rem 1.25rem;border:1px solid var(--accent-border);border-radius:8px;background-color:var(--accent-bg);text-align:center}.pay-per-use-btn{padding:.5rem 1rem;font-size:1rem;font-weight:600;color:var(--button-text, #fff);background:var(--accent);border:none;border-radius:6px;cursor:pointer}.pay-per-use-btn:hover:not(:disabled){opacity:.9}.ai-image-form{background-color:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:1.5rem;margin-bottom:1.5rem}.ai-image-form .input-group{margin-bottom:1rem}.ai-image-form label{display:block;color:var(--text-muted);font-size:.9rem;margin-bottom:.5rem}.ai-image-form textarea,.ai-image-form select{width:100%;padding:.75rem 1rem;font-size:1rem;background-color:var(--bg-input);border:1px solid var(--input-border);border-radius:6px;color:var(--input-text)}.ai-image-form textarea{resize:vertical;min-height:100px}.ai-image-form textarea:focus,.ai-image-form select:focus{outline:none;border-color:var(--input-border-focus)}.ai-image-generator .generate-btn{width:100%;margin-top:.5rem;padding:1rem;font-size:1.1rem;background-color:var(--btn-primary-bg);color:var(--btn-primary-text);border:none;border-radius:8px;cursor:pointer;transition:background-color .2s}.ai-image-generator .generate-btn:hover:not(:disabled){background-color:var(--btn-primary-hover)}.ai-image-generator .generate-btn:disabled{opacity:.7;cursor:not-allowed}.ai-image-error{color:var(--error-text);background-color:var(--error-bg);border:1px solid var(--error-border);border-radius:6px;padding:1rem;margin-bottom:1.5rem}.ai-image-result{background-color:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:1.5rem;margin-bottom:2rem;text-align:center}.result-image-wrap{margin-bottom:1rem;border-radius:8px;overflow:hidden;background:var(--bg-card-elevated)}.result-image-wrap img{max-width:100%;height:auto;display:block}.download-btn{padding:.6rem 1.25rem;font-size:.95rem;background-color:var(--btn-secondary-bg);color:var(--btn-secondary-text);border:1px solid var(--btn-secondary-border);border-radius:6px;cursor:pointer;transition:background-color .2s}.download-btn:hover{background-color:var(--btn-secondary-hover)}.ai-image-examples{margin-bottom:2rem}.ai-image-examples h3{font-size:1rem;color:var(--text-secondary);margin-bottom:.75rem}.example-btns{display:flex;flex-wrap:wrap;gap:.5rem}.example-btn{padding:.5rem 1rem;font-size:.85rem;background-color:var(--bg-card-elevated);color:var(--text-secondary);border:1px solid var(--border);border-radius:6px;cursor:pointer;transition:all .2s}.example-btn:hover{background-color:var(--bg-hover);color:var(--text-primary)}.ai-image-info{background-color:var(--bg-card-elevated);border:1px solid var(--border);border-radius:8px;padding:1.25rem}.ai-image-info h3{font-size:1rem;color:var(--text-secondary);margin-bottom:.75rem}.ai-image-info ul{color:var(--text-muted);font-size:.9rem;line-height:1.7;padding-left:1.25rem}.ai-image-info li{margin-bottom:.25rem}.image-to-illustration{max-width:1000px;margin:0 auto;padding:2rem;text-align:center;color:var(--text-primary)}.image-to-illustration h1{font-size:2.5rem;margin-bottom:.5rem;color:var(--text-primary)}.image-to-illustration .description{font-size:1.1rem;color:var(--text-secondary);margin-bottom:2rem}.illustration-credit-cost{display:inline-block;margin:-.75rem auto 1.5rem;padding:.35rem .75rem;font-size:.9rem;font-weight:600;border-radius:999px;background-color:var(--accent-bg);border:1px solid var(--accent-border);color:var(--text-link)}.pay-per-use-banner{margin-bottom:1.5rem;padding:1rem 1.25rem;border-radius:8px;background-color:var(--accent-bg);border:1px solid var(--accent-border);text-align:center}.pay-per-use-banner p{margin:0 0 .75rem;color:var(--text-secondary);font-size:.95rem}.pay-per-use-btn{padding:.5rem 1rem;font-size:1rem;font-weight:600;color:var(--btn-primary-text);background:var(--accent);border:none;border-radius:6px;cursor:pointer}.pay-per-use-btn:hover:not(:disabled){background:var(--btn-primary-hover)}.pay-per-use-btn:disabled{opacity:.7;cursor:not-allowed}.error-message{background-color:var(--error-bg);color:var(--error-text);border:1px solid var(--error-border);padding:1rem;border-radius:8px;margin-bottom:1.5rem}.uploader-container{margin-bottom:2rem}.upload-label{display:inline-block;padding:12px 25px;font-size:1rem;font-weight:700;color:var(--btn-primary-text);background:var(--accent);border-radius:8px;cursor:pointer;transition:background-color .3s}.upload-label:hover{background:var(--btn-primary-hover)}.options-container{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2rem;padding:1.5rem;background-color:var(--bg-card);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-md)}.option-group{text-align:left}.option-group label{display:flex;align-items:center;gap:.5rem;font-weight:700;margin-bottom:.5rem;color:var(--text-primary)}.custom-prompt-input,.image-size-select{width:100%;padding:10px;border:1px solid var(--input-border);border-radius:8px;font-size:1rem;background-color:var(--bg-input);color:var(--input-text);box-sizing:border-box}.custom-prompt-input::placeholder{color:var(--input-placeholder)}.custom-prompt-input{resize:vertical;min-height:80px}.image-size-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23646cff%22%20d%3D%22M287%2C114.7L158.4%2C243.3c-2.8%2C2.8-6.9%2C4.5-11.4%2C4.5s-8.5-1.7-11.4-4.5L5.4%2C114.7c-5.6-5.6-5.6-14.1%2C0-19.7c5.6-5.6%2C14.1-5.6%2C19.7%2C0l123.3%2C123.3L267.3%2C95c5.6-5.6%2C14.1-5.6%2C19.7%2C0C292.6%2C100.6%2C292.6%2C109.1%2C287%2C114.7z%22%2F%3E%3C%2Fsvg%3E);background-repeat:no-repeat;background-position:right 10px top 50%;background-size:12px auto;padding-right:30px}.tooltip{position:relative;display:inline-block;cursor:help;color:var(--accent);font-size:.9em;font-weight:400}.tooltip .tooltip-text{visibility:hidden;width:250px;background-color:var(--bg-card-elevated);color:var(--text-primary);text-align:center;border-radius:6px;padding:10px;position:absolute;z-index:1;bottom:125%;left:50%;margin-left:-125px;opacity:0;transition:opacity .3s;box-shadow:var(--shadow-lg);font-size:.8em;line-height:1.4;white-space:normal;border:1px solid var(--border)}.tooltip .tooltip-text:after{content:"";position:absolute;top:100%;left:50%;margin-left:-5px;border-width:5px;border-style:solid;border-color:var(--bg-card-elevated) transparent transparent transparent}.tooltip:hover .tooltip-text{visibility:visible;opacity:1}.images-container{display:flex;justify-content:space-around;gap:2rem;margin-bottom:2rem;flex-wrap:wrap}.image-box{flex:1;min-width:300px;max-width:512px;background-color:var(--bg-card);border:2px dashed var(--border);border-radius:12px;padding:1.5rem}.image-box h3{margin-top:0;margin-bottom:1rem;color:var(--text-primary)}.preview-image{max-width:100%;height:auto;border-radius:8px}.placeholder{display:flex;align-items:center;justify-content:center;height:300px;color:var(--text-muted);font-size:1.1rem}.loading-spinner{border:6px solid var(--bg-input);border-top:6px solid var(--accent);border-radius:50%;width:60px;height:60px;animation:spin 1s linear infinite;margin:120px auto}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.transform-button{padding:15px 30px;font-size:1.2rem;font-weight:700;color:var(--btn-primary-text);background:var(--accent);border:none;border-radius:50px;cursor:pointer;transition:all .3s ease;box-shadow:var(--shadow-md)}.transform-button:hover:not(:disabled){background:var(--btn-primary-hover);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.transform-button:disabled{background:var(--bg-secondary);color:var(--text-muted);cursor:not-allowed;box-shadow:none}.remaining-credits{color:var(--text-muted);font-weight:400}.login-required-notice{background-color:var(--accent-bg);border:1px solid var(--accent-border);padding:1.5rem;border-radius:12px;margin-bottom:2rem}.login-required-notice p{margin:0 0 .5rem;color:var(--text-primary)}.login-required-notice .signup-bonus{color:var(--accent);font-size:1.1rem;margin-bottom:1.5rem}.auth-buttons{display:flex;gap:1rem;justify-content:center}.signup-btn,.login-btn{padding:.6rem 1.5rem;border-radius:8px;text-decoration:none;font-weight:600;transition:all .2s}.signup-btn{background-color:var(--accent);color:#fff}.signup-btn:hover{background-color:var(--btn-primary-hover)}.login-btn{background-color:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border)}.login-btn:hover{background-color:var(--bg-hover)}.error-actions{margin-top:1rem;display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.signup-link,.login-link,.buy-credits-btn{padding:.5rem 1rem;border-radius:6px;font-size:.9rem;font-weight:600;text-decoration:none;cursor:pointer;transition:all .2s}.signup-link{background-color:var(--accent);color:#fff}.login-link{background-color:var(--bg-card-elevated);color:var(--text-primary);border:1px solid var(--border)}.buy-credits-btn{background-color:var(--accent);color:#fff;border:none}.buy-credits-btn:disabled{opacity:.7;cursor:not-allowed}.illustration-info{margin-top:3rem;padding:1.5rem;background-color:var(--bg-card-elevated);border:1px solid var(--border);border-radius:12px;text-align:left}.illustration-info h3{margin-top:0;margin-bottom:1rem;font-size:1.2rem;color:var(--text-primary)}.illustration-info ul{margin:0;padding-left:1.2rem;color:var(--text-secondary)}.illustration-info li{margin-bottom:.5rem;line-height:1.5}.static-page{max-width:720px;margin:0 auto;padding:2rem}.static-page h1{font-size:2rem;margin-bottom:1rem;color:var(--text-primary);text-align:center}.static-intro{color:var(--text-secondary);font-size:1rem;line-height:1.7;margin-bottom:2rem;text-align:center}.static-page section{margin-bottom:2rem}.static-page section h2{font-size:1.25rem;color:var(--text-primary);margin-bottom:.75rem;padding-bottom:.25rem}.static-page section p,.static-page section ul{color:var(--text-secondary);font-size:.95rem;line-height:1.75;margin-bottom:.75rem}.static-page section ul{padding-left:1.5rem;margin-bottom:0}.static-page section li{margin-bottom:.5rem}.static-page section a{color:var(--accent);text-decoration:none}.static-page section a:hover{text-decoration:underline}.static-page section strong{color:var(--text-primary)}.footer{margin-top:auto;padding:2rem 1.5rem;background-color:var(--bg-secondary);border-top:1px solid var(--border)}.footer-container{max-width:1200px;margin:0 auto;text-align:center}.footer-links{display:flex;justify-content:center;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:.75rem}.footer-links a{color:var(--text-muted);text-decoration:none;font-size:.9rem}.footer-links a:hover{color:var(--text-secondary)}.footer-sep{color:var(--text-muted);font-size:.85rem;-webkit-user-select:none;user-select:none}.footer-copy{color:var(--text-muted);font-size:.85rem;margin-bottom:.25rem}.footer-email{color:var(--text-muted);font-size:.85rem}.footer-email a{color:var(--text-muted);text-decoration:none}.footer-email a:hover{color:var(--text-secondary);text-decoration:underline}.auth-container{min-height:calc(100vh - 200px);display:flex;align-items:center;justify-content:center;padding:2rem}.auth-card{background-color:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:2rem;width:100%;max-width:400px}.auth-card h1{color:var(--text-primary);text-align:center;margin-bottom:2rem;font-size:2rem}.auth-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{color:var(--text-secondary);font-weight:500}.form-group input{padding:.75rem;font-size:1rem;border:1px solid var(--input-border);border-radius:4px;background-color:var(--bg-input);color:var(--input-text);transition:border-color .2s}.form-group input:focus{outline:none;border-color:var(--input-border-focus)}.error-message{background-color:var(--btn-danger-bg);color:var(--btn-danger-text);padding:.75rem;border-radius:4px;font-size:.9rem;text-align:center}.auth-state-message{background-color:var(--bg-card);border:1px solid var(--border);color:var(--text-primary);padding:.75rem;border-radius:4px;font-size:.9rem;text-align:center;margin-bottom:1rem}.submit-btn{padding:.75rem;font-size:1rem;background-color:var(--btn-primary-bg);color:var(--btn-primary-text);border:none;border-radius:4px;cursor:pointer;transition:background-color .2s;font-weight:500}.submit-btn:hover:not(:disabled){background-color:var(--btn-primary-hover)}.submit-btn:disabled{opacity:.6;cursor:not-allowed}.auth-link{text-align:center;margin-top:1.5rem;color:var(--text-secondary)}.auth-link a{color:var(--accent);text-decoration:none}.auth-link a:hover{text-decoration:underline}.divider{display:flex;align-items:center;text-align:center;margin:1.5rem 0;color:var(--text-muted)}.divider:before,.divider:after{content:"";flex:1;border-bottom:1px solid var(--border)}.divider span{padding:0 1rem;font-size:.9rem}.google-btn{width:100%;padding:.75rem;font-size:1rem;background-color:var(--bg-card);color:var(--text-primary);border:1px solid var(--border);border-radius:4px;cursor:pointer;transition:all .2s;font-weight:500;display:flex;align-items:center;justify-content:center;gap:.75rem}.google-btn:hover{background-color:var(--bg-card-elevated);box-shadow:var(--shadow-sm)}.google-icon{flex-shrink:0}.my-page{max-width:800px;margin:0 auto;padding:2rem}.my-page-container h1{font-size:2.5rem;margin-bottom:2rem;color:var(--text-primary);text-align:center}.my-page .loading{text-align:center;color:var(--text-secondary);font-size:1.2rem;padding:3rem}.my-page .error-message{background-color:var(--btn-danger-bg);color:var(--btn-danger-text);padding:1rem;border-radius:4px;margin-bottom:1.5rem;text-align:center}.my-page .success-message{background-color:var(--success-bg);color:var(--success-text);padding:1rem;border-radius:4px;margin-bottom:1.5rem;text-align:center}.my-page section{background-color:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:2rem;margin-bottom:2rem}.my-page section h2{color:var(--text-primary);font-size:1.5rem;margin-bottom:1.5rem;border-bottom:1px solid var(--border);padding-bottom:.5rem}.info-card{display:flex;flex-direction:column;gap:1.5rem}.info-item{display:flex;flex-direction:column;gap:.5rem}.info-item label{color:var(--text-muted);font-size:.9rem;font-weight:500}.info-value{color:var(--text-primary);font-size:1.1rem}.action-btn,.delete-btn{padding:.75rem 1.5rem;font-size:1rem;border:none;border-radius:4px;cursor:pointer;transition:all .2s;font-weight:500}.action-btn{background-color:var(--btn-primary-bg);color:var(--btn-primary-text)}.action-btn:hover{background-color:var(--btn-primary-hover)}.delete-btn{background-color:var(--btn-danger-bg);color:var(--btn-danger-text)}.delete-btn:hover{background-color:var(--btn-danger-hover)}.password-form,.delete-form{display:flex;flex-direction:column;gap:1.5rem}.my-page .form-group{display:flex;flex-direction:column;gap:.5rem}.my-page .form-group label{color:var(--text-secondary);font-weight:500}.my-page .form-group input{padding:.75rem;font-size:1rem;border:1px solid var(--input-border);border-radius:4px;background-color:var(--bg-input);color:var(--input-text);transition:border-color .2s}.my-page .form-group input:focus{outline:none;border-color:var(--input-border-focus)}.form-actions{display:flex;gap:1rem;justify-content:flex-end}.cancel-btn{padding:.75rem 1.5rem;font-size:1rem;background-color:var(--btn-secondary-bg);color:var(--btn-secondary-text);border:none;border-radius:4px;cursor:pointer;transition:background-color .2s;font-weight:500}.cancel-btn:hover{background-color:var(--btn-secondary-hover)}.my-page .submit-btn{padding:.75rem 1.5rem;font-size:1rem;background-color:var(--btn-primary-bg);color:var(--btn-primary-text);border:none;border-radius:4px;cursor:pointer;transition:background-color .2s;font-weight:500}.my-page .submit-btn:hover:not(:disabled){background-color:var(--btn-primary-hover)}.my-page .submit-btn:disabled{opacity:.6;cursor:not-allowed}.delete-submit-btn{padding:.75rem 1.5rem;font-size:1rem;background-color:var(--btn-danger-bg);color:var(--btn-danger-text);border:none;border-radius:4px;cursor:pointer;transition:background-color .2s;font-weight:500}.delete-submit-btn:hover:not(:disabled){background-color:var(--btn-danger-hover)}.delete-submit-btn:disabled{opacity:.6;cursor:not-allowed}.warning-text{color:var(--warn-border);margin-bottom:1rem;font-size:.9rem}.confirm-text{color:var(--text-secondary);margin-bottom:1rem;text-align:center}.password-section,.delete-section{border-left:4px solid var(--btn-danger-bg)}.password-section{border-left-color:var(--accent)}.social-account-section{border-left:4px solid var(--accent)}.social-account-info{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.social-account-info .info-text{color:var(--text-secondary);line-height:1.6}.external-link-btn{display:inline-block;padding:.75rem 1.5rem;font-size:1rem;background-color:var(--accent);color:var(--text-inverse);text-decoration:none;border-radius:4px;transition:background-color .2s;font-weight:500;text-align:center;width:fit-content}.external-link-btn:hover{background-color:var(--btn-primary-hover)}.social-account-disconnect{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border)}.social-account-disconnect .info-text{color:var(--text-secondary);line-height:1.6;margin-bottom:.5rem}.info-text-small{color:var(--text-muted);font-size:.85rem;line-height:1.5;margin-top:.5rem}.app{min-height:100vh;display:flex;flex-direction:column}.main-content{flex:1;background-color:var(--bg-primary);min-height:calc(100vh - var(--header-height));padding-top:.5rem}
