*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-primary:#0a0e1a;--bg-secondary:#111827;--bg-card:#1a1f35;--bg-card-hover:#222842;--bg-surface:#0f1629;--bg-input:#1e2440;--text-primary:#f1f5f9;--text-secondary:#94a3b8;--text-muted:#64748b;--text-accent:#38bdf8;--border-color:#94a3b81f;--border-active:#6366f180;--accent-primary:#6366f1;--accent-secondary:#06b6d4;--accent-gradient:linear-gradient(135deg, #6366f1 0%, #06b6d4 100%);--success:#22c55e;--warning:#f59e0b;--danger:#ef4444;--info:#3b82f6;--shadow-sm:0 1px 3px #0000004d;--shadow-md:0 4px 16px #0006;--shadow-lg:0 8px 32px #00000080;--shadow-glow:0 0 20px #6366f126;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--font-family:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--transition:all .3s cubic-bezier(.4, 0, .2, 1);--zone-undervalued:#22c55e;--zone-fair:#f59e0b;--zone-overvalued:#ef4444;--zone-very-overvalued:#dc2626;--hm-cool:#06b6d4;--hm-neutral:#6366f1;--hm-warm:#f59e0b;--hm-hot:#ef4444}[data-theme=light]{--bg-primary:#f8fafc;--bg-secondary:#fff;--bg-card:#fff;--bg-card-hover:#f1f5f9;--bg-surface:#f1f5f9;--bg-input:#e2e8f0;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--text-accent:#6366f1;--border-color:#0f172a14;--border-active:#6366f180;--shadow-sm:0 1px 3px #0000000f;--shadow-md:0 4px 16px #00000014;--shadow-lg:0 8px 32px #0000001a;--shadow-glow:0 0 20px #6366f114}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-family);background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100dvh;line-height:1.6;overflow-x:hidden}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}#app{flex-direction:column;min-height:100dvh;display:flex}.app-header{z-index:100;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);-webkit-backdrop-filter:blur(20px);position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:12px;max-width:1400px;margin:0 auto;padding:12px 16px;display:flex}.app-logo{color:var(--text-primary);transition:transform var(--transition-fast);align-items:center;gap:12px;text-decoration:none;display:flex}.app-logo:hover{transform:translateY(-1px)}.logo-mark{flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.logo-mark svg{filter:drop-shadow(0 2px 8px #06b6d440);width:100%;height:100%}.logo-bg-rect{fill:#0f172a;stroke:#06b6d466;stroke-width:1.2px}.logo-n-vector{fill:#06b6d4}.logo-dot-vector{fill:#10b981}.logo-pulse-vector{stroke:#10b981;stroke-width:1px;stroke-opacity:.6}[data-theme=light] .logo-bg-rect{fill:#e2e8f0;stroke:#0f172a26}[data-theme=light] .logo-n-vector{fill:#0284c7}[data-theme=light] .logo-dot-vector{fill:#059669}[data-theme=light] .logo-pulse-vector{stroke:#059669}.logo-typography{flex-direction:column;line-height:1.1;display:flex}.logo-brandname{letter-spacing:-.5px;color:var(--text-primary);font-size:20px;font-weight:850}.logo-accent{background:linear-gradient(135deg,#06b6d4 0%,#10b981 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}[data-theme=light] .logo-accent{background:linear-gradient(135deg,#0284c7 0%,#0d9488 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text}.logo-subtitle{letter-spacing:1.4px;color:var(--text-muted);text-transform:uppercase;margin-top:2px;font-size:7.5px;font-weight:700}.header-actions{align-items:center;gap:8px;display:flex}.theme-toggle{border-radius:var(--radius-sm);border:1px solid var(--border-color);background:var(--bg-card);width:40px;height:40px;color:var(--text-secondary);cursor:pointer;transition:var(--transition);justify-content:center;align-items:center;font-size:20px;display:flex}.theme-toggle:hover{background:var(--bg-card-hover);color:var(--text-primary);border-color:var(--border-active)}.install-btn{border-radius:var(--radius-sm);background:var(--accent-gradient);color:#fff;cursor:pointer;transition:var(--transition);font-size:13px;font-weight:600;font-family:var(--font-family);border:none;padding:8px 16px;display:none}.install-btn:hover{box-shadow:var(--shadow-glow);transform:translateY(-1px)}.install-btn.visible{align-items:center;gap:6px;display:flex}.app-main{flex:1;width:100%;max-width:1400px;margin:0 auto;padding:16px}.index-selector{margin-bottom:20px}.mobile-index-dropdown-bar{width:100%;margin-bottom:16px;display:none}.mobile-select-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);width:100%;box-shadow:var(--shadow-sm);flex-direction:column;gap:8px;padding:12px 14px;display:flex}.mobile-select-header{justify-content:space-between;align-items:center;width:100%;display:flex}.mobile-select-title{letter-spacing:1.2px;text-transform:uppercase;color:var(--text-muted);align-items:center;gap:6px;font-size:11px;font-weight:700;display:flex}.mobile-title-icon{font-size:13px}.mobile-select-badge{color:#06b6d4;background:#06b6d41f;border:1px solid #06b6d440;border-radius:100px;padding:2px 8px;font-size:11px;font-weight:600}[data-theme=light] .mobile-select-badge{color:#0284c7;background:#0284c71a;border-color:#0284c740}.mobile-select-wrapper{width:100%;position:relative}.mobile-index-select{border-radius:var(--radius-sm);border:1px solid var(--border-color);background:var(--bg-surface);width:100%;height:44px;color:var(--text-primary);font-size:15px;font-weight:650;font-family:var(--font-family);cursor:pointer;appearance:none;transition:border-color var(--transition-fast), box-shadow var(--transition-fast);padding:0 38px 0 14px}.mobile-index-select:focus{border-color:#06b6d4;outline:none;box-shadow:0 0 0 3px #06b6d433}.mobile-select-chevron{pointer-events:none;color:#06b6d4;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;right:14px;transform:translateY(-50%)}[data-theme=light] .mobile-select-chevron{color:#0284c7}.mobile-index-select optgroup{background:var(--bg-card);color:var(--text-muted);font-size:12px;font-weight:700}.mobile-index-select option{background:var(--bg-card);color:var(--text-primary);padding:10px;font-size:14px;font-weight:550}.desktop-index-tabs{flex-direction:column;display:flex}@media (width<=768px){.mobile-index-dropdown-bar{display:flex}.desktop-index-tabs{display:none}}.selector-label{text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);margin-bottom:8px;font-size:12px;font-weight:600}.index-tabs{scrollbar-width:none;-ms-overflow-style:none;gap:6px;padding-bottom:4px;display:flex;overflow-x:auto}.index-tabs::-webkit-scrollbar{display:none}.index-tab-group{flex-direction:column;gap:8px;margin-bottom:12px;display:flex}.tab-group-label{text-transform:uppercase;letter-spacing:1.5px;color:var(--text-muted);padding:0 4px;font-size:11px;font-weight:600}.tab-group-items{flex-wrap:wrap;gap:6px;display:flex}.index-tab{border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;white-space:nowrap;transition:var(--transition);font-size:13px;font-weight:500;font-family:var(--font-family);border-radius:100px;padding:8px 16px}.index-tab:hover{background:var(--bg-card-hover);color:var(--text-primary);border-color:var(--border-active)}.index-tab.active{background:var(--accent-gradient);color:#fff;box-shadow:var(--shadow-glow);border-color:#0000}.kpi-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:24px;display:grid}.kpi-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);transition:var(--transition);padding:16px;position:relative;overflow:hidden}.kpi-card:before{content:"";border-radius:var(--radius-md) var(--radius-md) 0 0;height:3px;position:absolute;top:0;left:0;right:0}.kpi-card.pe:before{background:linear-gradient(90deg,#6366f1,#818cf8)}.kpi-card.pb:before{background:linear-gradient(90deg,#06b6d4,#22d3ee)}.kpi-card.dy:before{background:linear-gradient(90deg,#22c55e,#4ade80)}.kpi-card:hover{box-shadow:var(--shadow-md);border-color:var(--border-active);transform:translateY(-2px)}.kpi-label{text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);margin-bottom:4px;font-size:11px;font-weight:600}.kpi-value{letter-spacing:-1px;font-size:28px;font-weight:800;line-height:1.1}.kpi-card.pe .kpi-value{color:#818cf8}.kpi-card.pb .kpi-value{color:#22d3ee}.kpi-card.dy .kpi-value{color:#4ade80}.kpi-zone{border-radius:100px;align-items:center;gap:4px;margin-top:6px;padding:3px 8px;font-size:11px;font-weight:600;display:inline-flex}.kpi-zone.undervalued{color:var(--zone-undervalued);background:#22c55e26}.kpi-zone.fair{color:var(--zone-fair);background:#f59e0b26}.kpi-zone.overvalued{color:var(--zone-overvalued);background:#ef444426}.kpi-stats{color:var(--text-muted);gap:12px;margin-top:8px;font-size:11px;display:flex}.kpi-stat{flex-direction:column;display:flex}.kpi-stat-label{text-transform:uppercase;letter-spacing:.5px;font-size:9px}.kpi-stat-value{color:var(--text-secondary);font-weight:600}.metric-toggle-wrapper{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.metric-toggle{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-sm);display:flex;overflow:hidden}.metric-btn{color:var(--text-secondary);cursor:pointer;transition:var(--transition);font-size:13px;font-weight:600;font-family:var(--font-family);background:0 0;border:none;padding:10px 20px;position:relative}.metric-btn:not(:last-child):after{content:"";background:var(--border-color);width:1px;position:absolute;top:25%;bottom:25%;right:0}.metric-btn:hover{color:var(--text-primary);background:var(--bg-card-hover)}.metric-btn.active{background:var(--accent-primary);color:#fff}.metric-btn.active:after{display:none}.time-range-selector{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-sm);gap:4px;padding:3px;display:flex}.range-btn{color:var(--text-muted);cursor:pointer;transition:var(--transition);font-size:12px;font-weight:600;font-family:var(--font-family);background:0 0;border:none;border-radius:6px;padding:6px 12px}.range-btn:hover{color:var(--text-primary);background:var(--bg-card-hover)}.range-btn.active{background:var(--accent-primary);color:#fff}.chart-section{margin-bottom:24px}.chart-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);transition:var(--transition);overflow:hidden}.chart-card:hover{box-shadow:var(--shadow-md)}.chart-header{justify-content:space-between;align-items:center;padding:16px 20px 12px;display:flex}.chart-title{color:var(--text-primary);font-size:16px;font-weight:700}.chart-subtitle{color:var(--text-muted);margin-top:2px;font-size:12px}.chart-container{width:100%;height:420px;position:relative}.chart-container canvas{width:100%!important}.chart-tooltip{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);pointer-events:none;z-index:10;box-shadow:var(--shadow-lg);min-width:160px;padding:10px 14px;font-size:12px;position:absolute}.chart-tooltip-date{color:var(--text-primary);margin-bottom:4px;font-weight:600}.chart-tooltip-value{color:var(--text-accent);font-size:16px;font-weight:700}.chart-tooltip-row{justify-content:space-between;gap:16px;margin-top:4px;display:flex}.chart-tooltip-label{color:var(--text-muted)}.zone-legend{border-top:1px solid var(--border-color);background:var(--bg-surface);flex-wrap:wrap;gap:12px;padding:12px 20px;display:flex}.zone-item{color:var(--text-secondary);align-items:center;gap:6px;font-size:11px;display:flex}.zone-dot{border-radius:50%;width:8px;height:8px}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:24px;display:grid}.stat-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);transition:var(--transition);padding:14px 16px}.stat-card:hover{border-color:var(--border-active);box-shadow:var(--shadow-sm)}.stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:600}.stat-value{color:var(--text-primary);margin-top:4px;font-size:20px;font-weight:700}.stat-date{color:var(--text-muted);margin-top:2px;font-size:11px}.heatmap-section{margin-bottom:24px}.heatmap-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden}.heatmap-header{border-bottom:1px solid var(--border-color);padding:16px 20px}.heatmap-title{font-size:16px;font-weight:700}.heatmap-subtitle{color:var(--text-muted);margin-top:2px;font-size:12px}.home-heatmap-section{margin-bottom:24px}.heatmap-container{-webkit-overflow-scrolling:touch;padding:12px;position:relative;overflow-x:auto}.heatmap-mobile-toolbar{background:var(--bg-surface);border-bottom:1px solid var(--border-color);color:var(--text-muted);justify-content:space-between;align-items:center;padding:8px 12px;font-size:11px;display:none}.heatmap-mobile-hint{align-items:center;gap:4px;font-weight:500;display:flex}.heatmap-fit-btn{background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;transition:var(--transition-fast);border-radius:100px;padding:4px 10px;font-size:11px;font-weight:650}.heatmap-fit-btn:hover{color:#06b6d4;border-color:#06b6d4}@media (width<=768px){.heatmap-mobile-toolbar{display:flex}}.heatmap-table{border-collapse:separate;border-spacing:3px;width:100%;font-size:12px}.heatmap-table th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;text-align:center;background:var(--bg-card);z-index:2;padding:6px 8px;font-size:11px;font-weight:600;position:sticky;top:0}.heatmap-table th:first-child{z-index:8;background:var(--bg-card);text-align:left;position:sticky;top:0;left:0;box-shadow:2px 0 6px #0003}.heatmap-table td{text-align:center;cursor:default;border-radius:4px;min-width:42px;padding:8px 6px;font-size:12px;font-weight:600;transition:transform .2s}.heatmap-table td:hover{z-index:3;position:relative;transform:scale(1.08)}.heatmap-table td:first-child{z-index:6;background:var(--bg-card);color:var(--text-secondary);text-align:left;min-width:52px;font-weight:700;position:sticky;left:0;box-shadow:2px 0 6px #0003}[data-theme=light] .heatmap-table th:first-child,[data-theme=light] .heatmap-table td:first-child{background:#fff;box-shadow:2px 0 6px #0000000f}.heatmap-table.fit-all-months{border-spacing:1.5px;width:100%!important;min-width:unset!important}.heatmap-table.fit-all-months th{min-width:unset;letter-spacing:-.5px;padding:4px 1px;font-size:8.5px}.heatmap-table.fit-all-months td{letter-spacing:-.5px;min-width:20px;padding:5px .5px;font-size:8.5px}.heatmap-table.fit-all-months th:first-child,.heatmap-table.fit-all-months td:first-child{min-width:32px;padding:5px 2px;font-size:9px}.heatmap-legend{border-top:1px solid var(--border-color);justify-content:center;align-items:center;gap:8px;padding:12px;display:flex}.heatmap-legend-gradient{background:linear-gradient(90deg,#22c55e,#84cc16,#f59e0b,#ef4444,#dc2626);border-radius:6px;width:200px;height:12px}.heatmap-legend-label{color:var(--text-muted);font-size:10px;font-weight:600}.bottom-nav{background:var(--bg-secondary);border-top:1px solid var(--border-color);-webkit-backdrop-filter:blur(20px);z-index:100;padding-bottom:env(safe-area-inset-bottom,0);position:fixed;bottom:0;left:0;right:0}.bottom-nav-inner{max-width:600px;margin:0 auto;display:flex}.nav-item{color:var(--text-muted);cursor:pointer;transition:var(--transition);font-size:10px;font-weight:600;font-family:var(--font-family);letter-spacing:.3px;background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:2px;padding:8px 4px 10px;display:flex}.nav-item:hover{color:var(--text-secondary)}.nav-item.active{color:var(--accent-primary)}.nav-icon{font-size:22px;line-height:1}.loading-overlay{flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:400px;display:flex}.loading-spinner{border:3px solid var(--border-color);border-top-color:var(--accent-primary);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{color:var(--text-muted);font-size:14px;font-weight:500}.empty-state{text-align:center;color:var(--text-muted);padding:60px 20px}.empty-state-icon{opacity:.5;margin-bottom:16px;font-size:48px}.empty-state-title{color:var(--text-secondary);margin-bottom:8px;font-size:18px;font-weight:600}.view-section{display:none}.view-section.active{animation:.3s fadeIn;display:block}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.data-table-wrapper{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);margin-bottom:24px;overflow:hidden}.data-table-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.data-table-title{font-size:16px;font-weight:700}.data-table-scroll{max-height:500px;overflow:auto}.data-table{border-collapse:collapse;width:100%;font-size:13px}.data-table thead{z-index:5;position:sticky;top:0}.data-table th{background:var(--bg-surface);text-align:left;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);border-bottom:1px solid var(--border-color);white-space:nowrap;padding:10px 14px;font-size:11px;font-weight:600}.data-table td{border-bottom:1px solid var(--border-color);white-space:nowrap;padding:10px 14px}.data-table tr:hover td{background:var(--bg-card-hover)}.data-table .num{text-align:right;font-variant-numeric:tabular-nums;font-weight:500}.app-footer{text-align:center;color:var(--text-muted);border-top:1px solid var(--border-color);margin-bottom:72px;padding:24px 16px;font-size:12px}.app-footer a{color:var(--text-accent);text-decoration:none}@media (width>=640px){.kpi-card{padding:20px}.kpi-value{font-size:36px}.chart-container{height:500px}.app-main{padding:24px}}@media (width>=1024px){.bottom-nav{display:none}.app-footer{margin-bottom:0}.desktop-nav{display:flex!important}}@media (width<=1023px){.desktop-nav{display:none!important}}@media (width<=480px){.kpi-grid{grid-template-columns:1fr}.kpi-card{align-items:center;gap:16px;padding:12px 16px;display:flex}.kpi-value{font-size:24px}.chart-container{height:320px}.metric-toggle-wrapper{flex-direction:column;align-items:stretch;gap:8px}.metric-toggle{width:100%}.metric-btn{text-align:center;flex:1;padding:8px 4px;font-size:12px}.time-range-selector{scrollbar-width:none;justify-content:space-between;gap:2px;width:100%;display:flex;overflow-x:auto}.time-range-selector::-webkit-scrollbar{display:none}.range-btn{text-align:center;flex:1;min-width:28px;padding:6px 2px;font-size:11px}}.desktop-nav{align-items:center;gap:4px;display:flex}.desktop-nav-btn{border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:var(--transition);font-size:13px;font-weight:500;font-family:var(--font-family);background:0 0;border:none;padding:8px 14px}.desktop-nav-btn:hover{background:var(--bg-card-hover);color:var(--text-primary)}.desktop-nav-btn.active{color:var(--accent-primary);background:#6366f126}.comparison-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;margin-bottom:24px;display:grid}.comparison-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);transition:var(--transition);padding:16px}.comparison-card:hover{border-color:var(--border-active);box-shadow:var(--shadow-sm)}.comparison-card-name{color:var(--text-primary);margin-bottom:12px;font-size:14px;font-weight:700}.comparison-row{border-bottom:1px solid var(--border-color);justify-content:space-between;padding:6px 0;font-size:13px;display:flex}.comparison-row:last-child{border-bottom:none}.comparison-label{color:var(--text-muted)}.comparison-value{font-variant-numeric:tabular-nums;font-weight:600}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.skeleton{background:linear-gradient(90deg, var(--bg-card) 25%, var(--bg-card-hover) 50%, var(--bg-card) 75%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.5s infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.info-banner{border-radius:var(--radius-md);color:var(--text-secondary);background:#6366f114;border:1px solid #6366f133;align-items:flex-start;gap:10px;margin-bottom:20px;padding:12px 16px;font-size:13px;line-height:1.5;display:flex}.info-banner-icon{flex-shrink:0;margin-top:1px;font-size:18px}.info-banner strong{color:var(--text-primary)}.updated-badge{color:var(--text-muted);background:var(--bg-surface);border:1px solid var(--border-color);border-radius:100px;align-items:center;gap:4px;padding:4px 10px;font-size:11px;display:inline-flex}.updated-dot{background:var(--success);border-radius:50%;width:6px;height:6px;animation:2s infinite pulse}.seo-knowledge-section{max-width:1400px;margin:32px auto 20px;padding:0 16px}.seo-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:24px}.seo-card-header{border-bottom:1px solid var(--border-color);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;padding-bottom:16px;display:flex}.seo-card-title{color:var(--text-primary);align-items:center;gap:8px;font-size:18px;font-weight:800;display:flex}.seo-card-badge{color:#06b6d4;background:#06b6d41f;border:1px solid #06b6d440;border-radius:100px;padding:4px 10px;font-size:11px;font-weight:600}.valuation-zones-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-bottom:24px;display:grid}.zone-box{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-md);border-left:4px solid var(--text-muted);padding:14px}.zone-box.undervalued{border-left-color:#22c55e}.zone-box.fair-low{border-left-color:#84cc16}.zone-box.fair-high{border-left-color:#f59e0b}.zone-box.overvalued{border-left-color:#ef4444}.zone-box-title{color:var(--text-primary);justify-content:space-between;margin-bottom:4px;font-size:13px;font-weight:700;display:flex}.zone-box-desc{color:var(--text-secondary);font-size:12px;line-height:1.45}.faq-list{flex-direction:column;gap:10px;margin-top:16px;display:flex}.faq-item{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-md);transition:border-color var(--transition-fast);overflow:hidden}.faq-item:hover{border-color:var(--border-active)}.faq-question{color:var(--text-primary);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:14px 18px;font-size:14px;font-weight:650;list-style:none;display:flex}.faq-question::-webkit-details-marker{display:none}.faq-question:after{content:"＋";color:var(--text-muted);transition:transform var(--transition-fast);font-size:16px}.faq-item[open] .faq-question:after{content:"✕"}.faq-answer{color:var(--text-secondary);border-top:1px solid #ffffff08;margin-top:-4px;padding:0 18px 16px;font-size:13px;line-height:1.6}.home-ai-insights-section{margin-bottom:24px}.ai-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);transition:var(--transition);padding:20px;position:relative;overflow:hidden}.ai-card-glow{background:linear-gradient(90deg,#06b6d4,#8b5cf6,#ec4899);height:3px;position:absolute;top:0;left:0;right:0}.ai-card-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.ai-card-title-group{flex-direction:column;gap:4px;display:flex}.ai-badge-chip{letter-spacing:.8px;text-transform:uppercase;color:#06b6d4;background:linear-gradient(135deg,#06b6d426,#8b5cf626);border:1px solid #06b6d44d;border-radius:100px;align-items:center;gap:6px;width:fit-content;padding:3px 10px;font-size:11px;font-weight:750;display:inline-flex}.ai-card-title{color:var(--text-primary);font-size:18px;font-weight:800}.ai-refresh-btn{border-radius:var(--radius-sm);background:var(--bg-surface);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;transition:var(--transition-fast);align-items:center;gap:6px;padding:7px 14px;font-size:12px;font-weight:600;display:inline-flex}.ai-refresh-btn:hover{background:var(--bg-card-hover);color:var(--text-primary);border-color:#06b6d4}.ai-refresh-btn.loading{opacity:.6;pointer-events:none}.ai-signal-banner{border-radius:var(--radius-md);flex-direction:column;gap:6px;margin-bottom:16px;padding:14px 18px;display:flex}.ai-signal-banner.positive{background:#22c55e1a;border:1px solid #22c55e4d}.ai-signal-banner.warning{background:#ef44441a;border:1px solid #ef44444d}.ai-signal-banner.neutral{background:#f59e0b1a;border:1px solid #f59e0b4d}.ai-signal-tag{text-transform:uppercase;letter-spacing:.5px;align-items:center;gap:6px;font-size:13.5px;font-weight:750;display:inline-flex}.ai-signal-banner.positive .ai-signal-tag{color:#22c55e}.ai-signal-banner.warning .ai-signal-tag{color:#ef4444}.ai-signal-banner.neutral .ai-signal-tag{color:#f59e0b}.ai-signal-diag{color:var(--text-secondary);font-size:13.5px;line-height:1.55}.ai-insights-grid{grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:14px;display:grid}@media (width<=880px){.ai-insights-grid{grid-template-columns:1fr}}.ai-insight-box{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:14px 16px}.ai-box-title{text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted);align-items:center;gap:6px;margin-bottom:10px;font-size:12px;font-weight:700;display:flex}.ai-recom-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.ai-recom-list li{color:var(--text-secondary);padding-left:16px;font-size:12.5px;line-height:1.45;position:relative}.ai-recom-list li:before{content:"▸";color:#06b6d4;font-weight:700;position:absolute;left:0}.ai-box-text{color:var(--text-secondary);font-size:12.5px;line-height:1.5}.ai-levels-table{border-collapse:collapse;width:100%;font-size:12px}.ai-levels-table tr td{border-bottom:1px solid #ffffff0a;padding:6px 0}.ai-level-label{color:var(--text-muted);font-weight:600}.ai-level-val{text-align:right;color:var(--text-primary);font-weight:700}.ai-skeleton-loader{flex-direction:column;gap:12px;padding:20px 0;display:flex}.ai-skeleton-line{background:linear-gradient(90deg, var(--bg-surface) 25%, var(--border-color) 50%, var(--bg-surface) 75%);background-size:200% 100%;border-radius:4px;height:16px;animation:1.8s infinite aiShimmer}@keyframes aiShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.ai-disclaimer-footnote{color:var(--text-muted);text-align:right;opacity:.8;margin-top:8px;font-size:11px}.fab-feedback-btn{z-index:990;color:#fff;font-family:var(--font-family);cursor:pointer;background:linear-gradient(135deg,#06b6d4 0%,#3b82f6 100%);border:none;border-radius:100px;align-items:center;gap:8px;padding:10px 18px;font-size:13px;font-weight:700;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s;display:inline-flex;position:fixed;bottom:74px;right:18px;box-shadow:0 4px 16px #06b6d466,0 2px 6px #0000004d}.fab-feedback-btn:hover{transform:translateY(-2px)scale(1.03);box-shadow:0 6px 22px #06b6d48c}.fab-feedback-btn:active{transform:translateY(1px)scale(.97)}@media (width>=769px){.fab-feedback-btn{bottom:24px;right:24px}}.feedback-modal-backdrop{-webkit-backdrop-filter:blur(8px);z-index:1000;opacity:0;background:#000000b3;justify-content:center;align-items:center;padding:16px;transition:opacity .25s;display:none;position:fixed;inset:0}.feedback-modal-backdrop.open{opacity:1;display:flex}.feedback-modal{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);width:100%;max-width:500px;transition:transform .25s cubic-bezier(.34,1.56,.64,1);overflow:hidden;transform:scale(.95);box-shadow:0 20px 40px #00000080}.feedback-modal-backdrop.open .feedback-modal{transform:scale(1)}.feedback-modal-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:flex-start;padding:18px 20px 14px;display:flex}.feedback-modal-title{color:var(--text-primary);margin:0;font-size:17px;font-weight:750}.feedback-modal-subtitle{color:var(--text-muted);margin:4px 0 0;font-size:12px}.feedback-modal-close{color:var(--text-muted);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;padding:4px;font-size:18px;line-height:1}.feedback-modal-close:hover{color:var(--text-primary)}.feedback-modal-body{flex-direction:column;gap:14px;padding:20px;display:flex}.feedback-type-selector{gap:8px;display:flex;overflow-x:auto}.feedback-chip{text-align:center;border-radius:var(--radius-sm);background:var(--bg-surface);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;white-space:nowrap;transition:var(--transition-fast);flex:1;padding:8px 10px;font-size:12px;font-weight:600}.feedback-chip input[type=radio]{display:none}.feedback-chip.active{color:#06b6d4;background:#06b6d426;border-color:#06b6d4}.form-group{flex-direction:column;gap:6px;display:flex}.form-group label{color:var(--text-secondary);font-size:12px;font-weight:600}.form-group label .required{color:#ef4444}.form-control{border-radius:var(--radius-sm);border:1px solid var(--border-color);background:var(--bg-surface);width:100%;color:var(--text-primary);font-family:var(--font-family);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);padding:10px 12px;font-size:13.5px}.form-control:focus{border-color:#06b6d4;outline:none;box-shadow:0 0 0 3px #06b6d433}.feedback-modal-footer{justify-content:flex-end;align-items:center;gap:10px;margin-top:8px;display:flex}.btn-cancel{border-radius:var(--radius-sm);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;background:0 0;padding:9px 16px;font-size:13px;font-weight:600}.btn-submit{border-radius:var(--radius-sm);background:var(--accent-primary);color:#fff;cursor:pointer;border:none;align-items:center;gap:6px;padding:9px 20px;font-size:13px;font-weight:700;transition:opacity .2s;display:inline-flex}.btn-submit:disabled{opacity:.6;cursor:not-allowed}.feedback-status-msg{border-radius:var(--radius-sm);padding:10px 12px;font-size:12.5px;display:none}.feedback-status-msg.success{color:#22c55e;background:#22c55e26;border:1px solid #22c55e4d;display:block}.feedback-status-msg.error{color:#ef4444;background:#ef444426;border:1px solid #ef44444d;display:block}
