:root,:root[data-theme=dark]{--bg: #0d0f15;--panel: #13161e;--panel-2: #1a1e29;--panel-hi: rgba(255, 255, 255, .02);--text: #e8eaf0;--muted: #868d9d;--buy: #2ecc71;--sell: #e74c3c;--stay: #f1c40f;--buy-soft: rgba(46, 204, 113, .22);--sell-soft: rgba(231, 76, 60, .22);--stay-soft: rgba(241, 196, 15, .2);--buy-bg: rgba(46, 204, 113, .09);--sell-bg: rgba(231, 76, 60, .09);--stay-bg: rgba(241, 196, 15, .09);--accent: #4a5c92;--accent-2: #3f5080;--accent-soft: rgba(84, 104, 163, .15);--chart-7d: #5b8ed4;--chart-14d: #7dc9a0;--chart-21d: #c89ce0;--border: #262b37;--border-soft: rgba(255, 255, 255, .055);--code-bg: #0c0e13;--code-text: #cdd2da;--tooltip-bg: #181c26;--grid-stroke: #262c3b;--inset-shade: rgba(0,0,0,.36);--inset-shade-soft: rgba(0,0,0,.19);--latest: #f39c12;--hl: rgba(241,196,15,.28);--plot-bg: #fff;--header-bg: rgba(13, 15, 21, .74);--tabbar-bg: rgba(13, 15, 21, .84);--status-corner-bg: rgba(26, 30, 41, .55);--shadow-sm: 0 1px 2px rgba(0,0,0,.38);--shadow-md: 0 6px 20px -6px rgba(0,0,0,.52);--shadow-lg: 0 18px 44px -12px rgba(0,0,0,.64);--ring: 0 0 0 3px rgba(84, 104, 163, .34);--radius: 12px;--radius-lg: 16px;--r-xs: 4px;--r-sm: 6px;--r-md: 8px;--r-lg: 12px;--r-xl: 16px;--r-pill: 999px;--fs-2xs: 10px;--fs-xs: 11px;--fs-sm: 12px;--fs-md: 13px;--fs-lg: 14px;--fs-xl: 16px;--fs-2xl: 18px;--fs-3xl: 22px;--fs-4xl: 26px;--fs-5xl: 32px;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Apple SD Gothic Neo", "Pretendard", system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", "Menlo", "Consolas", monospace;font-family:var(--font-sans);color-scheme:dark}:root[data-theme=light]{--bg: #f4f6fb;--panel: #ffffff;--panel-2: #eef0f6;--panel-hi: rgba(100, 116, 139, .035);--text: #161a24;--muted: #586173;--buy: #16a34a;--sell: #dc2626;--stay: #b8860b;--buy-soft: rgba(22, 163, 74, .14);--sell-soft: rgba(220, 38, 38, .13);--stay-soft: rgba(184, 134, 11, .15);--buy-bg: rgba(22, 163, 74, .07);--sell-bg: rgba(220, 38, 38, .06);--stay-bg: rgba(184, 134, 11, .08);--accent: #3c4e7e;--accent-2: #324268;--accent-soft: rgba(60, 78, 126, .12);--chart-7d: #3565b4;--chart-14d: #1f8f63;--chart-21d: #8e56b8;--border: #e2e5ee;--border-soft: rgba(13, 18, 28, .07);--code-bg: #11151c;--code-text: #e6e8ec;--tooltip-bg: #ffffff;--grid-stroke: #e3e7ef;--inset-shade: rgba(13,18,28,.06);--inset-shade-soft: rgba(13,18,28,.035);--hl: rgba(241,196,15,.45);--plot-bg: #fff;--header-bg: rgba(246, 248, 252, .72);--tabbar-bg: rgba(246, 248, 252, .85);--status-corner-bg: rgba(255, 255, 255, .85);--shadow-sm: 0 1px 2px rgba(13,18,28,.06);--shadow-md: 0 6px 20px -8px rgba(13,18,28,.12);--shadow-lg: 0 18px 40px -14px rgba(13,18,28,.18);--ring: 0 0 0 3px rgba(60, 78, 126, .26);color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(1200px 600px at 78% -8%,var(--accent-soft),transparent 60%),var(--bg);background-attachment:fixed;color:var(--text);min-height:100vh;font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"tnum" 1,"cv11" 1,"ss01" 1;line-height:1.55;letter-spacing:.1px;word-break:keep-all;overflow-wrap:anywhere}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}::selection{background:var(--accent-soft);color:var(--text)}.loading-state{display:flex;align-items:center;gap:10px;padding:24px 20px;color:var(--muted);font-size:var(--fs-md)}.loading-state.center{justify-content:center}.loading-state:before{content:"";width:15px;height:15px;border-radius:50%;flex-shrink:0;border:2px solid var(--border);border-top-color:var(--accent);animation:loading-spin .7s linear infinite}@keyframes loading-spin{to{transform:rotate(360deg)}}*{scrollbar-width:thin;scrollbar-color:var(--border) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border);border-radius:var(--r-pill);border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:var(--muted);background-clip:content-box}::-webkit-scrollbar-track{background:transparent}:where(button,a,input,select,textarea,[tabindex]):focus-visible{outline:none;box-shadow:var(--ring);border-radius:var(--r-md)}code,pre,kbd,samp{font-family:var(--font-mono)}.app{max-width:1600px;margin:0 auto;padding:28px 24px 56px}.header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px 14px;margin-bottom:16px}.header h1{margin:0;font-size:var(--fs-3xl);font-weight:800;letter-spacing:-.4px}.brand-wave{color:var(--accent);background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 52%,var(--text)) 0%,var(--accent) 72%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.card table{border-collapse:separate;border-spacing:0;width:100%;font-variant-numeric:tabular-nums}.card table th{font-size:var(--fs-xs);font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);text-align:right;padding:9px 12px;border-bottom:1px solid var(--border);white-space:nowrap}.card table th:first-child,.card table td:first-child{text-align:left}.card table td{padding:9px 12px;border-bottom:1px solid var(--border-soft);font-size:var(--fs-md)}.card table tbody tr{transition:background .12s ease}.card table tbody tr:hover td{background:var(--accent-soft)}.card table tbody tr:last-child td{border-bottom:none}:not(pre)>code{background:var(--accent-soft);color:var(--text);padding:1px 6px;border-radius:var(--r-sm);font-size:.88em;border:1px solid var(--border-soft)}.app-logo{display:block;height:48px}.app-logo-btn{background:transparent;border:none;padding:0;cursor:pointer;border-radius:var(--r-md);transition:opacity .15s ease}.app-logo-btn:hover{opacity:.85}.app-logo-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app-logo__light,.app-logo__dark{height:100%;width:auto}.app-logo__light{display:block}.app-logo__dark,[data-theme=dark] .app-logo__light{display:none}[data-theme=dark] .app-logo__dark{display:block}.tabs{display:inline-flex;gap:6px;background:var(--panel);padding:6px;border-radius:var(--r-lg);border:1px solid var(--border);box-shadow:inset 0 1px 2px var(--inset-shade-soft)}.tab-btn{background:transparent;color:var(--muted);border:1px solid transparent;padding:9px 17px;border-radius:var(--r-md);cursor:pointer;font-size:var(--fs-lg);font-weight:500;letter-spacing:.1px;transition:color .12s ease,background .12s ease,border-color .12s ease}.tab-btn:hover:not(.active){color:var(--text);background:var(--inset-shade-soft)}.tab-btn.active{background:var(--panel-2);color:var(--text);font-weight:700;border-color:var(--accent);box-shadow:0 1px 3px var(--inset-shade),inset 0 -2px 0 var(--accent)}.header .tabs{background:linear-gradient(180deg,var(--panel-2),var(--panel));box-shadow:0 8px 20px var(--inset-shade),inset 0 1px 1px var(--inset-shade-soft)}.header .tab-btn.active{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 4px 12px var(--inset-shade)}.tabs.tabs-sub{padding:5px;gap:5px;border-radius:var(--r-lg);background:var(--panel-2)}.tabs.tabs-sub .tab-btn{padding:7px 13px;font-size:var(--fs-md);border-radius:var(--r-md)}.tabs.tabs-sub .tab-btn.active{background:var(--panel);border-color:var(--accent);box-shadow:inset 0 -2px 0 var(--accent)}.row{display:flex;gap:12px;flex-wrap:wrap}.col{display:flex;flex-direction:column;gap:12px;flex:1;min-width:0}.card{background:linear-gradient(180deg,var(--panel-hi),transparent 64px),var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);padding:18px;box-shadow:var(--shadow-sm);transition:box-shadow .2s ease,border-color .2s ease,transform .2s ease}.card:hover{border-color:color-mix(in srgb,var(--accent) 30%,var(--border));box-shadow:var(--shadow-md)}.card h3{margin:0 0 10px;font-size:var(--fs-xs);color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.7px}.btn{background:linear-gradient(180deg,var(--accent),var(--accent-2));color:#fff;border:none;padding:10px 18px;border-radius:var(--r-md);cursor:pointer;font-weight:600;font-size:var(--fs-lg);letter-spacing:.2px;text-decoration:none;display:inline-block;box-shadow:var(--shadow-sm),inset 0 1px #ffffff24;transition:transform .14s ease,box-shadow .14s ease,filter .14s ease}.btn:hover{filter:brightness(1.06);box-shadow:var(--shadow-md),inset 0 1px #ffffff2e}.btn:active{transform:translateY(1px);filter:brightness(.98)}a.btn{line-height:1.2}.content-edit-host{position:relative}.content-edit-btn{position:absolute;top:6px;right:6px;z-index:5;width:20px;height:20px;border-radius:50%;border:none;background:transparent;color:var(--muted);cursor:pointer;font-size:var(--fs-xs);line-height:1;display:inline-flex;align-items:center;justify-content:center;opacity:.45;transition:background .12s ease,color .12s ease,opacity .12s ease}.content-edit-btn:hover,.content-edit-btn:focus-visible{background:var(--accent);color:#fff;opacity:1;outline:none}.content-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.content-modal{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-lg);width:100%;max-width:760px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 24px 64px #0006}.content-modal__header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px 20px;border-bottom:1px solid var(--border)}.content-modal__body{padding:16px 20px;overflow-y:auto;flex:1}.content-modal__footer{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:14px 20px;border-top:1px solid var(--border)}.content-modal__msg{padding:10px 20px;font-size:var(--fs-md);line-height:1.5;border-top:1px solid var(--border)}.content-modal__msg--ok{color:var(--buy);background:var(--buy-bg)}.content-modal__msg--err{color:var(--sell);background:var(--sell-bg)}.content-modal__msg--warn{color:var(--stay);background:var(--stay-bg)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.secondary{background:var(--panel-2);color:var(--text);border:1px solid var(--border)}.btn.secondary:hover{border-color:var(--accent);color:var(--accent)}.md-table-wrap{width:100%;max-width:760px;overflow-x:auto;margin:0 0 14px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--panel-2)}.md-table{width:100%;min-width:620px;border-collapse:collapse;font-size:var(--fs-md);line-height:1.45}.md-table th,.md-table td{padding:10px 12px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.md-table th{color:var(--muted);background:var(--panel);font-weight:700}.md-table tr:last-child td{border-bottom:0}.signal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.signal-grid-2x2{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}@media (max-width: 640px){.signal-grid-2x2{grid-template-columns:1fr}}.predict-center{display:flex;justify-content:center;margin-bottom:16px}.predict-card{width:100%;max-width:960px}.predict-bottom-wrap{width:100%;max-width:960px;margin:0 auto}.predict-bottom{margin-top:8px}.signal-card{padding:16px;border-radius:var(--r-lg);background:var(--panel-2);border:1px solid var(--border)}.signal-card .name{font-size:var(--fs-md);color:var(--muted)}.signal-card .label{font-size:var(--fs-xs);color:var(--muted);margin-bottom:8px}.signal-card .prob{font-size:var(--fs-5xl);font-weight:700;margin:6px 0}.signal-card .signal{display:inline-block;padding:6px 14px;border-radius:var(--r-xl);font-weight:700;font-size:var(--fs-lg)}.signal.BUY{background:var(--buy-soft);color:var(--buy)}.signal.SELL{background:var(--sell-soft);color:var(--sell)}.signal.STAY{background:var(--stay-soft);color:var(--stay)}.consensus{font-size:var(--fs-2xl);font-weight:700;margin-top:8px}.muted{color:var(--muted);font-size:var(--fs-sm)}.error{color:var(--sell);font-size:var(--fs-md)}.feature-controls{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:12px}.period-pill{background:var(--panel-2);border:1px solid var(--border);color:var(--muted);padding:6px 12px;border-radius:var(--r-pill);font-size:var(--fs-md);cursor:pointer}.period-pill.active{background:var(--accent);color:#fff;border-color:var(--accent)}select,input[type=text]{background:var(--panel-2);border:1px solid var(--border);color:var(--text);padding:8px 12px;border-radius:var(--r-md);font-size:var(--fs-lg)}.entry-date-input::-webkit-calendar-picker-indicator{cursor:pointer;padding:4px;transform:scale(1.5);margin-left:4px}.entry-date-input{line-height:1.4;transition:border-color .15s,box-shadow .15s}.entry-date-input:hover{border-color:var(--accent)!important}.entry-date-input:focus{outline:none;border-color:var(--accent)!important;box-shadow:var(--ring)}.feature-list{display:flex;flex-wrap:wrap;gap:6px;max-height:360px;overflow:auto;padding:8px;background:var(--panel-2);border-radius:var(--r-md);border:1px solid var(--border)}.feature-chip{font-size:var(--fs-sm);padding:4px 10px;border-radius:var(--r-pill);background:var(--panel);border:1px solid var(--border);cursor:pointer}.feature-chip.selected{background:var(--accent);border-color:var(--accent);color:#fff}.feature-chip:hover{border-color:var(--accent)}.status-line{font-size:var(--fs-sm);color:var(--muted);margin-top:8px}.disclaimer{margin:24px 0 0;padding:12px 14px 14px;border-top:1px solid var(--border);font-size:var(--fs-xs);line-height:1.55;color:var(--muted);background:transparent;display:flex;align-items:flex-start;flex-wrap:wrap;gap:8px}.disclaimer-tag{font-size:var(--fs-2xs);font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--text);background:var(--panel-2);border:1px solid var(--border);padding:2px 8px;border-radius:var(--r-pill);white-space:nowrap;flex-shrink:0}.disclaimer-body{flex:1;min-width:0}.disclaimer-desktop{padding-right:200px;padding-bottom:28px}@media (max-width: 820px){.disclaimer-desktop{padding-right:14px}}.status-corner{position:fixed;right:12px;bottom:10px;display:flex;align-items:center;gap:6px;font-size:var(--fs-xs);color:var(--muted);background:var(--status-corner-bg);border:1px solid var(--border);padding:4px 8px;border-radius:var(--r-pill);opacity:.75;transition:opacity .15s ease;z-index:50;-webkit-user-select:none;user-select:none}.status-corner:hover{opacity:1}.status-refresh-btn{background:transparent;border:none;color:var(--muted);cursor:pointer;font-size:var(--fs-lg);padding:4px 7px;margin:-4px -2px;border-radius:var(--r-pill);line-height:1;transition:color .15s,transform .2s ease}.status-refresh-btn:hover:not(:disabled){color:var(--accent);transform:rotate(90deg)}.status-refresh-btn:disabled{opacity:.5;cursor:not-allowed}.status-msg{font-size:var(--fs-2xs);color:var(--muted)}.update-log{background:var(--code-bg);border-radius:var(--r-md);padding:10px;font-family:monospace;font-size:var(--fs-sm);max-height:200px;overflow:auto;color:var(--muted)}.model-card{background:linear-gradient(180deg,var(--panel) 0%,var(--panel-2) 100%);border:1px solid var(--border);border-radius:var(--r-lg);padding:18px 18px 14px;display:flex;flex-direction:column;gap:10px;position:relative;transition:border-color .15s ease,transform .15s ease}.model-card.recommended{border-color:color-mix(in srgb,var(--accent) 65%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 25%,transparent),0 8px 24px color-mix(in srgb,var(--accent) 10%,transparent)}.model-card-tier{font-size:var(--fs-2xs);font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent);border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);padding:3px 10px;border-radius:var(--r-pill);align-self:flex-start}.model-card-title{font-size:var(--fs-2xl);font-weight:700;margin:0;letter-spacing:.2px;line-height:1.25}.model-card-subtitle{font-size:var(--fs-sm);color:var(--muted);margin-top:6px;line-height:1.4}.model-card-tagline{font-size:var(--fs-sm);color:var(--text);font-style:italic;opacity:.85;border-left:2px solid var(--accent);padding-left:10px;margin:4px 0 6px}.model-signal-row{display:flex;align-items:center;gap:12px;padding:10px 12px;background:#0000002e;border-radius:var(--r-md);border:1px solid var(--border)}.model-signal-prob{font-size:var(--fs-4xl);font-weight:700;font-variant-numeric:tabular-nums;flex:1}.model-signal-pos{font-size:var(--fs-xs);color:var(--muted);font-weight:500}.model-component-grid{display:grid;grid-template-columns:1fr;gap:4px;font-size:var(--fs-xs);background:#0000001f;padding:8px 10px;border-radius:var(--r-md)}.model-component-row{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;font-variant-numeric:tabular-nums}.model-component-row .name{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.model-component-row .prob{font-weight:600;color:var(--text)}.model-stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:6px 14px;margin-top:4px;font-size:var(--fs-xs)}.model-stats-grid .stat-row{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px dashed var(--border-soft);padding:3px 0}.model-stats-grid .stat-label{color:var(--muted)}.model-stats-grid .stat-value{font-weight:600;font-variant-numeric:tabular-nums}.window-toggle{display:inline-flex;background:var(--panel-2);border:1px solid var(--border);border-radius:var(--r-md);padding:2px;font-size:var(--fs-xs)}.window-toggle button{background:transparent;border:none;color:var(--muted);padding:4px 12px;border-radius:var(--r-sm);cursor:pointer;font-weight:600}.window-toggle button.active{background:var(--accent);color:#fff}.proscons{display:flex;flex-direction:column;gap:10px;margin-top:6px;font-size:var(--fs-xs);line-height:1.55}.proscons .pros,.proscons .cons{padding:10px 12px;border-radius:var(--r-md);background:#00000026;border:1px solid var(--border)}.proscons .pros{border-color:color-mix(in srgb,var(--buy) 30%,transparent)}.proscons .cons{border-color:color-mix(in srgb,var(--sell) 30%,transparent)}.proscons h4{margin:0 0 6px;font-size:var(--fs-xs);letter-spacing:.5px;text-transform:uppercase;font-weight:700}.proscons .pros h4{color:var(--buy)}.proscons .cons h4{color:var(--sell)}.proscons ul{margin:0;padding-left:16px}.proscons li{margin-bottom:3px}.best-for{font-size:var(--fs-sm);color:var(--text);background:color-mix(in srgb,var(--accent) 9%,transparent);border:1px solid color-mix(in srgb,var(--accent) 28%,transparent);border-radius:var(--r-md);padding:8px 12px;margin-top:4px;line-height:1.5}.best-for strong{color:var(--accent)}.expander{background:transparent;border:1px dashed var(--border);color:var(--muted);padding:6px 10px;border-radius:var(--r-sm);cursor:pointer;font-size:var(--fs-xs);text-align:left}.expander:hover{color:var(--accent);border-color:var(--accent)}.consensus-banner{margin-top:16px;padding:14px 18px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 18%,transparent),color-mix(in srgb,var(--accent) 6%,transparent));border:1px solid color-mix(in srgb,var(--accent) 45%,transparent);border-radius:var(--r-lg);display:flex;align-items:center;gap:16px}.consensus-banner .verdict{font-size:var(--fs-3xl);font-weight:700;color:var(--accent)}.consensus-banner .breakdown{font-size:var(--fs-md);color:var(--muted)}.intro-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-lg);padding:16px;margin-bottom:14px;font-size:var(--fs-sm);line-height:1.6;color:var(--muted)}.intro-card .heading{color:var(--text);font-weight:600;margin-bottom:4px;font-size:var(--fs-md)}.feat-table{width:100%;border-collapse:collapse;font-size:var(--fs-md)}.feat-table th{background:var(--panel-2);color:var(--muted);text-align:left;padding:10px 12px;border-bottom:1px solid var(--border);position:sticky;top:0}.feat-table td{padding:10px 12px;border-bottom:1px solid var(--border);vertical-align:top}.feat-table tr:hover{background:var(--inset-shade-soft)}.feat-table code{background:var(--code-bg);color:var(--code-text);padding:2px 6px;border-radius:var(--r-xs);font-size:var(--fs-sm)}.feat-table .mono-small{font-size:var(--fs-xs);word-break:break-word}.feat-table .small{font-size:var(--fs-xs)}.cat-tag{display:inline-block;background:var(--panel);border:1px solid var(--border);color:var(--muted);padding:2px 8px;border-radius:var(--r-pill);font-size:var(--fs-xs)}.predict-page-wide{width:100%;position:relative}.predict-card-wide{width:100%}.predict-signal-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}@media (max-width: 1200px){.predict-signal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){.predict-signal-grid{grid-template-columns:1fr}}.model-card.slim{padding:14px 14px 12px}.model-card.slim .proscons,.model-card.slim .best-for,.model-card.slim .model-stats-grid,.model-card.slim .window-toggle{display:none}.predict-update-footer{margin-top:24px;padding-top:12px;border-top:1px dashed var(--border);display:flex;flex-direction:column;gap:8px;align-items:flex-start;font-size:var(--fs-xs);color:var(--muted);opacity:.7}.predict-update-footer:hover{opacity:1}.link-btn{background:none;border:none;color:var(--muted);text-decoration:underline dotted;cursor:pointer;font-size:var(--fs-xs);padding:0}.link-btn:hover:not(:disabled){color:var(--accent)}.link-btn:disabled{opacity:.5;cursor:not-allowed}.update-mini{font-size:var(--fs-xs);background:var(--panel-2);border:1px solid var(--border);border-radius:var(--r-sm);padding:8px 10px;max-width:480px}.update-log-mini{max-height:160px;overflow-y:auto;font-family:ui-monospace,SF Mono,monospace;font-size:var(--fs-2xs);line-height:1.5}.features-page{width:100%}.features-toolbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:14px}.features-toolbar-left{display:flex;flex-direction:column;gap:2px}.features-toolbar-right{display:flex;gap:10px;align-items:center}.period-segment{display:inline-flex;background:var(--panel);border:1px solid var(--border);border-radius:var(--r-md);padding:2px;gap:0}.period-seg-btn{background:transparent;border:none;color:var(--muted);padding:5px 12px;font-size:var(--fs-sm);cursor:pointer;border-radius:var(--r-sm);transition:background .15s,color .15s}.period-seg-btn:hover{color:var(--text)}.period-seg-btn.active{background:var(--accent);color:#fff;font-weight:600}.period-custom{display:inline-flex;gap:6px;align-items:center}.period-custom-input{width:70px;background:var(--panel);border:1px solid var(--border);color:var(--text);padding:5px 8px;border-radius:var(--r-sm);font-size:var(--fs-sm);font-variant-numeric:tabular-nums}.period-custom-input::-webkit-outer-spin-button,.period-custom-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.period-custom-input{-moz-appearance:textfield}.period-custom-input:focus{outline:none;border-color:var(--accent)}.period-custom-go{background:var(--panel);border:1px solid var(--border);color:var(--text);padding:5px 12px;border-radius:var(--r-sm);font-size:var(--fs-sm);cursor:pointer;transition:background .15s}.period-custom-go:hover:not(:disabled){background:var(--accent);color:#fff;border-color:var(--accent)}.period-custom-go:disabled{opacity:.4;cursor:not-allowed}.period-custom-active{display:inline-flex;align-items:center;gap:4px;font-size:var(--fs-xs);color:var(--accent);font-weight:600;background:color-mix(in srgb,var(--accent) 14%,transparent);padding:4px 8px;border-radius:var(--r-pill)}.period-custom-clear{background:none;border:none;color:var(--accent);cursor:pointer;padding:0 0 0 2px;font-size:var(--fs-xs)}.period-custom-clear:hover{color:var(--sell)}.onchain-section-title{margin:18px 0 8px;display:flex;align-items:center;gap:8px}.onchain-section-title .cat-tag{font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.06em}.features-tile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px;margin-bottom:14px}.feat-tile{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-lg);padding:14px;cursor:pointer;transition:border-color .15s,transform .15s,background .15s;display:flex;flex-direction:column;gap:8px;position:relative;overflow:hidden}.feat-tile:hover{border-color:var(--accent);transform:translateY(-1px);background:var(--panel-2)}.feat-tile.selected{border-color:var(--accent);background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 8%,transparent),var(--panel));box-shadow:0 0 0 1px var(--accent) inset}.feat-tile-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.feat-tile-name{font-family:ui-monospace,SF Mono,monospace;font-size:var(--fs-md);font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.feat-bias{font-size:var(--fs-2xs);padding:2px 8px;border-radius:var(--r-pill);font-weight:700;white-space:nowrap}.feat-bias.up{background:var(--buy-soft);color:var(--buy)}.feat-bias.down{background:var(--sell-soft);color:var(--sell)}.feat-tile-desc{font-size:var(--fs-2xs);color:var(--muted);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:28px}.feat-tile-value{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-top:2px}.feat-tile-value .big{font-size:var(--fs-3xl);font-weight:700;font-variant-numeric:tabular-nums;color:var(--text);line-height:1.1}.feat-tile-change{font-size:var(--fs-sm);font-weight:600;font-variant-numeric:tabular-nums}.feat-tile-change.up{color:var(--buy)}.feat-tile-change.down{color:var(--sell)}.feat-tile-foot{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:var(--fs-2xs)}.feat-importance{display:flex;align-items:center;gap:6px;flex:1;min-width:0}.feat-importance .bar-track{flex:1;height:4px;background:var(--inset-shade-soft);border-radius:var(--r-xs);overflow:hidden}.feat-importance .bar-fill{height:100%;background:var(--accent);border-radius:var(--r-xs)}.feat-cells{white-space:nowrap}.features-detail{margin-bottom:14px}.features-tile-grid>.features-detail-inline{grid-column:1 / -1;margin-bottom:0}.features-browser{margin-top:14px}.finfo-page{width:100%}.finfo-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:12px}.finfo-search{flex:1;min-width:260px;max-width:480px;background:var(--panel);border:1px solid var(--border);color:var(--text);padding:8px 12px;border-radius:var(--r-md);font-size:var(--fs-md)}.finfo-search:focus{outline:none;border-color:var(--accent)}.finfo-cats{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.finfo-cat{display:inline-flex;align-items:center;gap:6px;background:var(--panel);border:1px solid var(--border);color:var(--muted);padding:5px 11px;border-radius:var(--r-pill);font-size:var(--fs-sm);cursor:pointer;transition:border-color .15s,background .15s,color .15s}.finfo-cat:hover{border-color:var(--accent);color:var(--text)}.finfo-cat .dot{width:7px;height:7px;border-radius:50%;display:inline-block}.finfo-cat.active{color:var(--text)}.finfo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:12px}.finfo-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-md);padding:12px 14px;display:flex;flex-direction:column;gap:8px;transition:border-color .15s,background .15s}.finfo-card:hover{border-color:var(--accent);background:var(--panel-2)}.finfo-card-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.finfo-name{font-family:ui-monospace,SF Mono,monospace;font-size:var(--fs-lg);font-weight:700;color:var(--text);word-break:break-all}.finfo-cat-tag{font-size:var(--fs-2xs);padding:2px 8px;border-radius:var(--r-pill);font-weight:600;letter-spacing:.2px;white-space:nowrap;border:1px solid}.finfo-desc{font-size:var(--fs-sm);line-height:1.55;color:var(--text)}.finfo-formula,.finfo-source{display:flex;gap:6px;align-items:baseline;font-size:var(--fs-xs)}.finfo-formula code{font-family:ui-monospace,SF Mono,monospace;font-size:var(--fs-xs);background:var(--code-bg);color:var(--code-text);padding:2px 6px;border-radius:var(--r-xs);word-break:break-word;flex:1}.finfo-label{font-size:var(--fs-2xs);font-weight:700;letter-spacing:.4px;color:var(--muted);text-transform:uppercase;flex-shrink:0;min-width:32px}.hl{background:var(--hl);color:var(--text);border-radius:var(--r-xs);padding:0 1px}.backtest-page{width:100%}.backtest-intro{font-size:var(--fs-md)}.backtest-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}@media (min-width: 1400px){.backtest-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width: 720px){.backtest-grid{grid-template-columns:1fr}}.header-actions{display:flex;align-items:center;gap:8px}.cs-toggle{display:inline-flex;align-items:center;gap:6px;background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:var(--r-md);padding:6px 12px;cursor:pointer;font-size:var(--fs-md);font-weight:500;transition:border-color .15s,background .15s}.cs-toggle:hover{border-color:var(--accent)}.cs-toggle-ico{font-size:var(--fs-lg);line-height:1}.cs-toggle-lbl{font-size:var(--fs-sm)}.cs-lang{display:inline-flex;background:var(--panel);border:1px solid var(--border);border-radius:var(--r-md);padding:2px;gap:0}.cs-lang-btn{background:transparent;border:none;color:var(--muted);padding:5px 10px;font-size:var(--fs-sm);cursor:pointer;border-radius:var(--r-sm);transition:background .15s,color .15s;font-weight:500}.cs-lang-btn.active{background:var(--accent);color:#fff;font-weight:600}.cs-lang.compact .cs-lang-btn{padding:4px 8px;font-size:var(--fs-xs)}:root[data-theme=light] .feat-table code,:root[data-theme=light] .finfo-formula code{background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--accent)}:root[data-theme=light] .signal-card,:root[data-theme=light] .model-signal-row,:root[data-theme=light] .model-component-grid,:root[data-theme=light] .proscons .pros,:root[data-theme=light] .proscons .cons{background:var(--panel-2)}:root[data-theme=light] .feat-table tr:hover{background:color-mix(in srgb,var(--accent) 6%,transparent)}.m-app{min-height:100vh;min-height:100dvh;background:var(--bg);color:var(--text);padding-top:env(safe-area-inset-top);padding-bottom:calc(80px + env(safe-area-inset-bottom));-webkit-tap-highlight-color:transparent}.m-header{position:sticky;top:0;z-index:30;background:var(--header-bg);backdrop-filter:saturate(180%) blur(16px);-webkit-backdrop-filter:saturate(180%) blur(16px);border-bottom:1px solid var(--border);padding:12px 16px calc(12px + env(safe-area-inset-top));padding-top:calc(14px + env(safe-area-inset-top))}.m-header-brand{font-size:var(--fs-xs);font-weight:700;letter-spacing:.4px;color:var(--muted);margin-bottom:4px;text-transform:uppercase}.m-header-logo{display:block;height:34px;margin-bottom:8px}.m-header-logo-btn{background:transparent;border:none;padding:0;cursor:pointer}.m-header-logo-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--r-xs)}.m-header-logo__light,.m-header-logo__dark{height:100%;width:auto}.m-header-logo__light{display:block}.m-header-logo__dark,[data-theme=dark] .m-header-logo__light{display:none}[data-theme=dark] .m-header-logo__dark{display:block}.m-header-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.m-header h1{margin:0;font-size:var(--fs-xl);font-weight:700;letter-spacing:.2px}.m-header .m-sub{font-size:var(--fs-xs);color:var(--muted);margin-top:2px}.m-refresh{background:var(--panel-2);border:1px solid var(--border);color:var(--text);width:44px;height:44px;border-radius:var(--r-pill);display:inline-flex;align-items:center;justify-content:center;font-size:var(--fs-xl);cursor:pointer}.m-refresh:disabled{opacity:.5}.m-page{padding:14px 14px 24px;display:flex;flex-direction:column;gap:12px}.m-app .tabs{margin-left:14px;margin-right:14px}.m-app .tabs.tabs-sub{display:flex;width:calc(100% - 28px);margin-top:12px;margin-bottom:16px!important;padding:6px;gap:6px;border-radius:var(--r-lg)}.m-app .tabs.tabs-sub .tab-btn{flex:1;min-height:42px;padding:9px 8px;font-size:var(--fs-md);font-weight:700;text-align:center;white-space:normal;line-height:1.2}.m-app .tabs.tabs-sub .tab-btn.active{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 4px 12px var(--inset-shade)}.m-app .card,.m-app .signal-grid,.m-app .home-section-title{margin-left:14px;margin-right:14px}.m-app .insights-history-meta{margin:0 14px 10px!important;padding:0 2px;line-height:1.45}.m-app ul{padding-left:18px}.m-app li{padding-left:1px}.m-app .md-table-wrap{max-width:100%}.m-app .md-table{min-width:560px;font-size:var(--fs-sm)}.m-app .md-table th,.m-app .md-table td{padding:8px 10px}.m-card{background:linear-gradient(180deg,var(--panel-hi),transparent 56px),var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);padding:15px;box-shadow:var(--shadow-sm)}.m-card h3{margin:0 0 10px;font-size:var(--fs-xs);color:var(--muted);font-weight:700;letter-spacing:.7px;text-transform:uppercase}.m-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.m-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:linear-gradient(180deg,var(--accent),var(--accent-2));color:#fff;border:none;border-radius:var(--r-lg);padding:14px 16px;font-size:var(--fs-lg);font-weight:700;letter-spacing:.2px;width:100%;cursor:pointer;min-height:48px;box-shadow:var(--shadow-sm),inset 0 1px #ffffff24;transition:filter .14s ease,transform .14s ease}.m-btn:active{transform:translateY(1px);filter:brightness(.97)}.m-btn:disabled{opacity:.5}.m-btn.secondary{background:var(--panel-2);color:var(--text);border:1px solid var(--border);box-shadow:var(--shadow-sm)}.m-btn-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.m-predict-meta{display:flex;justify-content:space-between;font-size:var(--fs-sm);color:var(--muted);margin-bottom:10px}.m-predict-meta strong{color:var(--text);font-weight:600}.m-signals{display:grid;grid-template-columns:1fr 1fr;gap:10px}.m-signal{background:var(--panel-2);border:1px solid var(--border);border-radius:var(--r-lg);padding:12px;display:flex;flex-direction:column;gap:4px;position:relative;overflow:hidden}.m-signal .name{font-size:var(--fs-sm);color:var(--muted);font-weight:600}.m-signal .prob{font-size:var(--fs-4xl);font-weight:800;margin:4px 0 6px;letter-spacing:-.5px}.m-signal .pill{align-self:flex-start;font-size:var(--fs-xs);font-weight:700;padding:4px 10px;border-radius:var(--r-pill)}.m-signal .meta{font-size:var(--fs-2xs);color:var(--muted);margin-top:2px}.m-consensus{text-align:center;padding:14px;border-radius:var(--r-lg);background:linear-gradient(180deg,var(--inset-shade),var(--inset-shade-soft));border:1px solid var(--border)}.m-consensus .label{font-size:var(--fs-xs);color:var(--muted);letter-spacing:.4px;text-transform:uppercase}.m-consensus .verdict{font-size:var(--fs-3xl);font-weight:800;margin-top:4px;color:var(--accent)}.m-consensus .breakdown{font-size:var(--fs-sm);color:var(--muted);margin-top:6px}.m-log{background:var(--code-bg);border-radius:var(--r-md);padding:10px;font-family:var(--font-mono);font-size:var(--fs-xs);max-height:180px;overflow:auto;color:var(--muted);-webkit-overflow-scrolling:touch}.m-models-def{margin:0;padding-left:18px;font-size:var(--fs-sm);line-height:1.7;color:var(--muted)}.m-models-def strong{color:var(--text)}.m-dash-card{display:flex;flex-direction:column;gap:8px}.m-dash-head{display:flex;justify-content:space-between;align-items:center}.m-dash-head h3{margin:0;font-size:var(--fs-lg);color:var(--text);text-transform:none;letter-spacing:0}.m-state-pill{font-size:var(--fs-xs);font-weight:700;padding:4px 10px;border-radius:var(--r-pill);color:#fff}.m-dash-body{font-size:var(--fs-md);line-height:1.5}.m-dash-body .muted{color:var(--muted)}.m-cycle-row{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}.m-cycle-cell{width:22px;height:22px;border-radius:var(--r-xs);color:#fff;font-size:var(--fs-2xs);display:flex;align-items:center;justify-content:center;font-weight:700}.m-period-row{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}.m-period{flex:1;text-align:center;background:var(--panel-2);border:1px solid var(--border);color:var(--muted);padding:8px 0;border-radius:var(--r-md);font-size:var(--fs-md);cursor:pointer;min-height:40px}.m-period.active{background:var(--accent);color:#fff;border-color:var(--accent)}.m-input{width:100%;background:var(--panel-2);border:1px solid var(--border);color:var(--text);padding:12px 14px;border-radius:var(--r-md);font-size:var(--fs-lg);min-height:44px}.m-chip-list{display:flex;flex-wrap:wrap;gap:6px;max-height:240px;overflow:auto;padding:6px;background:var(--panel-2);border-radius:var(--r-md);border:1px solid var(--border);-webkit-overflow-scrolling:touch}.m-chip{font-size:var(--fs-sm);padding:6px 12px;border-radius:var(--r-pill);background:var(--panel);border:1px solid var(--border);color:var(--text);cursor:pointer;min-height:36px;display:inline-flex;align-items:center}.m-chip.selected{background:var(--accent);border-color:var(--accent);color:#fff}.m-feat-card{background:var(--panel-2);border:1px solid var(--border);border-radius:var(--r-lg);padding:12px;margin-bottom:8px}.m-feat-card .nm{font-family:var(--font-mono);font-size:var(--fs-md);color:var(--text);font-weight:600}.m-feat-card .cat{font-size:var(--fs-2xs);padding:2px 8px;border-radius:var(--r-pill);background:var(--panel);border:1px solid var(--border);color:var(--muted);margin-left:6px}.m-feat-card .desc{font-size:var(--fs-sm);color:var(--text);margin-top:6px;line-height:1.5}.m-feat-card .formula{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--muted);margin-top:6px;word-break:break-word}.m-feat-card .src{font-size:var(--fs-2xs);color:var(--muted);margin-top:4px}.m-tabbar{position:fixed;bottom:0;left:0;right:0;background:var(--tabbar-bg);backdrop-filter:saturate(180%) blur(16px);-webkit-backdrop-filter:saturate(180%) blur(16px);border-top:1px solid var(--border);display:grid;grid-template-columns:repeat(5,1fr);gap:4px;padding:6px 8px calc(6px + env(safe-area-inset-bottom));z-index:40}.m-tab{position:relative;background:transparent;border:none;color:var(--muted);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:6px 2px 5px;cursor:pointer;min-height:54px;min-width:0;border-radius:var(--r-lg);border:1px solid transparent;transition:color .12s ease,background .12s ease,border-color .12s ease}.m-tab svg{flex-shrink:0}.m-tab.active{color:#fff;background:linear-gradient(180deg,var(--accent),var(--accent-2));border-color:var(--accent);box-shadow:var(--shadow-md)}.m-tab .lbl{font-size:var(--fs-2xs);letter-spacing:.2px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.m-tab.active .lbl{font-weight:700}.m-modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:flex-end;justify-content:center;z-index:100}.m-modal{width:100%;max-height:85vh;background:var(--panel);border-top-left-radius:18px;border-top-right-radius:18px;border-top:1px solid var(--border);padding:16px;padding-bottom:calc(16px + env(safe-area-inset-bottom));overflow:auto;-webkit-overflow-scrolling:touch;animation:m-slide-up .22s ease-out}@keyframes m-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.m-modal-handle{width:38px;height:4px;border-radius:var(--r-pill);background:var(--border);margin:0 auto 12px}@media (max-width: 820px){.status-corner{display:none!important}}.disclaimer-mobile{margin:18px 14px calc(84px + env(safe-area-inset-bottom));padding:12px 14px;border:1px solid var(--border);border-radius:var(--r-lg);font-size:var(--fs-xs);line-height:1.55;color:var(--muted);background:var(--panel);display:flex;flex-direction:column;gap:6px}.disclaimer-mobile .disclaimer-tag{align-self:flex-start;font-size:var(--fs-2xs);font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--text);background:var(--panel-2);border:1px solid var(--border);padding:2px 8px;border-radius:var(--r-pill)}.m-header-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.m-header-actions .cs-toggle{padding:4px 7px;font-size:var(--fs-2xs);background:var(--panel-2);white-space:nowrap;flex-shrink:0}.m-header-actions .cs-toggle .cs-toggle-ico{font-size:var(--fs-sm)}.m-header-actions .cs-lang.compact{background:var(--panel-2);flex-shrink:0}.m-header-actions .cs-lang-btn{padding:5px 8px;font-size:var(--fs-2xs);white-space:nowrap;letter-spacing:0;line-height:1.3}.m-header h1{font-size:var(--fs-xl);margin:0;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.m-header-row{gap:8px}.m-refresh{width:36px;height:36px;font-size:var(--fs-lg);flex-shrink:0}:root[data-theme=light] .m-signal,:root[data-theme=light] .m-feat-card{background:var(--panel-2)}
