:root{--bg:#0c0c0f;--surface:#101013;--border:#1c1c22;--text-primary:#dcdce4;--text-mid:#8f8f9d;--text-low:#3a3a46;--text-sub:#4a4a58;--c-ai:#8b7cf8;--c-finance:#e9a840;--c-regulation:#4fa3ff;--c-sea:#3ecf8e;--font-ui:Inter,-apple-system,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",system-ui,sans-serif;--font-mono:"SF Mono","Fira Code",ui-monospace,Menlo,Consolas,monospace}*{box-sizing:border-box;margin:0;padding:0}body,html{background:var(--bg);color:var(--text-primary);font-family:var(--font-ui);min-height:100vh}.terminal{max-width:840px;margin:0 auto;padding:40px 20px 24px}.header{justify-content:space-between;flex-wrap:wrap;gap:8px 12px;margin-bottom:14px}.brand,.header{display:flex;align-items:center}.brand{gap:10px}.brand h1{font-size:15px;font-weight:700;letter-spacing:.22em;color:var(--text-primary)}.live-dot{width:8px;height:8px;border-radius:50%}.live-live{background:var(--c-sea);box-shadow:0 0 8px 1px rgba(62,207,142,.7);animation:breathe 2.4s ease-in-out infinite}.live-stale{background:var(--c-finance);box-shadow:0 0 6px 0 rgba(233,168,64,.5)}.live-dead{background:#d05252;box-shadow:0 0 6px 0 rgba(208,82,82,.5)}@keyframes breathe{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.82)}}.mock-badge{font-family:var(--font-mono);font-size:10px;color:var(--text-sub);border:1px solid var(--border);border-radius:4px;padding:1px 6px;letter-spacing:.1em}.controls{display:flex;align-items:center;gap:10px}.pills{display:flex;gap:6px}.pill{font-family:var(--font-mono);font-size:11px;color:var(--text-sub);background:transparent;border:1px solid var(--border);border-radius:999px;padding:4px 12px;cursor:pointer;transition:color .15s,border-color .15s,background .15s}.pill:hover{color:var(--text-mid);border-color:#2a2a33}.pill.active{color:var(--text-primary);background:#17171c;border-color:#2e2e3a}.play-btn{min-width:38px;text-align:center}.card{background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden}.viewport{position:relative;overflow:hidden;mask-image:linear-gradient(180deg,transparent 0,#000 26px,#000 calc(100% - 26px),transparent);-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 26px,#000 calc(100% - 26px),transparent)}.belt{will-change:transform}.empty{height:100%;justify-content:center;color:var(--text-sub);font-family:var(--font-mono);font-size:12px}.empty,.row{display:flex;align-items:center}.row{gap:12px;height:54px;padding:0 18px 0 14px;text-decoration:none;border-bottom:1px solid rgba(28,28,34,.55);transition:background .15s}.row:hover{background:#141419}.row .cat-bar{flex:none;width:2px;height:30px;border-radius:1px}.dot{flex:none;width:6px;height:6px;border-radius:50%;display:inline-block}.dot-high{background:var(--c-sea);box-shadow:0 0 6px 1px rgba(62,207,142,.65)}.dot-mid{background:var(--c-finance)}.dot-low{background:#2c2c34}.cat-label{flex:none;width:44px;font-size:12px;font-weight:500;letter-spacing:.5px;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none}.q-low .cat-label{opacity:.4}.headline{flex:1 1;min-width:0;font-size:14.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.q-high .headline{color:var(--text-primary);font-weight:500}.q-mid .headline{color:var(--text-mid)}.q-low .headline{color:var(--text-low);text-decoration:line-through;-webkit-text-decoration-color:rgba(74,74,88,.8);text-decoration-color:rgba(74,74,88,.8)}.tag{font-style:normal;font-family:var(--font-mono);font-size:10px;color:var(--c-finance);border:1px solid rgba(233,168,64,.35);border-radius:4px;padding:0 5px;margin-left:8px;vertical-align:1px}.tag-dup{color:var(--c-regulation);border-color:rgba(79,163,255,.35)}.q-low .tag{opacity:.4}.meta{flex:none;font-family:var(--font-mono);font-size:11px;color:var(--text-sub)}.q-low .meta{color:#33333e}.progress-track{height:2px;background:#131318}.progress-fill{height:100%;width:0;background:linear-gradient(90deg,var(--c-ai),var(--c-sea));animation:progress 2.4s linear forwards}@keyframes progress{0%{width:0}to{width:100%}}.legend{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-top:12px;font-family:var(--font-mono);font-size:11px;color:var(--text-sub)}.legend-cats,.legend-quality{display:flex;align-items:center;gap:14px}.lc,.lq{display:inline-flex;align-items:center;gap:6px}.lc .cat-bar{width:2px;height:12px;border-radius:1px;display:inline-block}@media (max-width:560px){.terminal{padding:20px 10px}.meta{display:none}}.layout{display:grid;grid-gap:18px 24px;gap:18px 24px;align-items:start;justify-content:center;max-width:2100px;margin:0 auto;padding:28px 24px 40px;grid-template-columns:minmax(0,1080px) minmax(360px,460px);grid-template-areas:"ticker video" "indices dossiers" "aidata dossiers"}.layout>.ai-data-board{grid-area:aidata}.layout>.index-board{grid-area:indices}.layout>.terminal{grid-area:ticker;margin:0;max-width:none}.layout>.live-rail{grid-area:video}.layout>.dossier-board{grid-area:dossiers;padding:0;grid-template-columns:1fr}.live-rail{align-self:start;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:12px}.live-head{flex-wrap:wrap;gap:8px 10px}.live-head,.live-title{display:flex;align-items:center}.live-title{gap:6px;font-family:var(--font-mono);font-size:12px;letter-spacing:1px;color:var(--text-mid)}.live-pip{width:7px;height:7px;border-radius:50%;background:#ff4d4d;box-shadow:0 0 6px 1px rgba(255,77,77,.7);animation:live-pip 2s ease-in-out infinite}@keyframes live-pip{50%{opacity:.25}}.live-select{margin-left:auto;max-width:168px;background:#0e0e12;color:var(--text-mid);border:1px solid var(--border);font-family:var(--font-ui);font-size:12px;padding:3px 6px}.live-select,.live-sound{border-radius:6px;cursor:pointer}.live-sound{flex:none;font-size:11px;line-height:1;padding:4px 8px;white-space:nowrap;color:var(--text-primary);background:rgba(229,83,61,.18);border:1px solid rgba(229,83,61,.45);transition:background .15s}.live-sound:hover{background:rgba(229,83,61,.3)}.live-sound:not(.is-muted){background:none;border-color:var(--border);color:var(--text-mid);padding:4px 6px}.live-toggle{background:none;border:none;color:var(--text-sub);font-size:15px;line-height:1;padding:2px 4px;cursor:pointer;transition:color .15s}.live-toggle:hover{color:var(--text-mid)}.live-rail.collapsed .live-toggle{margin-left:8px}.live-frame-wrap{position:relative;width:100%;aspect-ratio:16/9;margin-top:10px;border-radius:8px;overflow:hidden;background:#000}.live-frame{position:absolute;inset:0;width:100%;height:100%;border:0}.live-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:12px;letter-spacing:.5px}.live-hint,.live-placeholder{font-family:var(--font-mono);color:var(--text-sub)}.live-hint{font-size:10px;text-align:center;margin-top:6px}@media (max-width:1279px){.layout{grid-template-columns:minmax(0,1fr) minmax(320px,400px);grid-template-areas:"ticker video" "indices indices" "aidata aidata" "dossiers dossiers";max-width:1400px;padding:24px 20px 36px}.layout>.terminal{max-width:none}.layout>.dossier-board{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}}@media (max-width:899px){.layout{grid-template-columns:minmax(0,1fr);grid-template-areas:"ticker" "video" "indices" "aidata" "dossiers";max-width:680px;gap:16px;padding:18px 12px 32px}.layout>.dossier-board{grid-template-columns:1fr}}.dossier-board{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));grid-gap:16px;gap:16px;padding:0 18px 24px;align-items:start}.market-tiles{display:grid;grid-template-columns:1fr 1fr;grid-gap:6px;gap:6px;margin-bottom:8px}.mtile{display:flex;flex-direction:column;gap:1px;padding:6px 8px;background:#0e0e12;border:1px solid var(--border);border-radius:6px}.mt-label{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.3px;color:var(--text-sub)}.mt-value{font-size:14px;font-weight:500;color:var(--text-primary)}.mt-unit{margin-left:1px;font-size:10px;color:var(--text-sub)}.mt-chg{font-family:var(--font-mono);font-size:10px}.mt-chg.up{color:#3ecf8e}.mt-chg.down{color:#e5533d}.fx-movers{margin-bottom:8px;padding:8px 10px;background:#0e0e12;border:1px solid var(--border);border-radius:6px}.fxm-head{font-family:var(--font-mono);font-size:10px;letter-spacing:.5px;color:var(--text-sub);margin-bottom:5px}.fxm-row{display:flex;align-items:center;justify-content:space-between;padding:2px 0}.fxm-name{font-size:12px;color:var(--text-mid)}.fxm-pct{font-family:var(--font-mono);font-size:11px}.fxm-pct.up{color:#3ecf8e}.fxm-pct.down{color:#e5533d}.dossier{min-width:0;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:12px 14px}.dossier-head{display:flex;align-items:center;gap:8px;padding-bottom:8px;margin-bottom:6px;border-bottom:1px solid var(--border)}.dossier-dot{flex:none;width:7px;height:7px;border-radius:50%}.dossier-title{font-family:var(--font-mono);font-size:12px;letter-spacing:1px;color:var(--text-primary)}.dossier-count{margin-left:auto;font-family:var(--font-mono);font-size:11px;color:var(--text-sub)}.dossier-list{list-style:none}.dossier-item a,.dossier-list{display:flex;flex-direction:column}.dossier-item a{gap:2px;padding:6px 4px;border-radius:6px;text-decoration:none;transition:background .15s}.dossier-item a:hover{background:#141419}.di-headline{font-size:13px;color:var(--text-mid);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dossier-item a:hover .di-headline{color:var(--text-primary)}.di-meta{font-size:10px}.di-meta,.dossier-empty{font-family:var(--font-mono);color:var(--text-sub)}.dossier-empty{font-size:11px;text-align:center;padding:14px 4px}@media (max-width:640px){.dossier-board{grid-template-columns:1fr}}.index-board{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:14px 16px}.ib-head{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 14px;padding-bottom:10px;margin-bottom:8px;border-bottom:1px solid var(--border)}.ib-title{font-size:12px;letter-spacing:1px;color:var(--text-primary)}.ib-note,.ib-title{font-family:var(--font-mono)}.ib-note{font-size:10px;color:var(--text-sub)}.ib-cols{display:grid;grid-template-columns:1fr 1fr;grid-gap:4px 22px;gap:4px 22px}.ib-col{min-width:0}.ib-col-title{font-family:var(--font-mono);font-size:10px;letter-spacing:1px;padding:4px 6px 6px}.ib-col-title.up{color:#3ecf8e}.ib-col-title.down{color:#e5533d}.ib-row{display:flex;align-items:center;gap:8px;width:100%;padding:5px 6px;background:none;border:none;border-radius:6px;cursor:pointer;text-align:left;transition:background .15s}.ib-row.active,.ib-row:hover{background:#141419}.ib-flag{flex:none;font-size:14px}.ib-name{flex:1 1;min-width:0;font-size:13px;color:var(--text-mid);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ib-name em{font-style:normal;font-size:10px;color:var(--text-sub);margin-left:6px}.ib-name em,.ib-pct{font-family:var(--font-mono)}.ib-pct{font-size:11.5px;white-space:nowrap}.ib-pct.up{color:#3ecf8e}.ib-pct.down{color:#e5533d}.ib-ccy{flex:none;width:64px;text-align:right;opacity:.75}.ib-dash{font-family:var(--font-mono);font-size:11px;color:var(--text-sub)}.ib-detail{margin-top:10px;padding:10px 12px;background:#0e0e12;border:1px solid var(--border);border-radius:8px}.ib-detail-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px;margin-bottom:8px}.ib-detail-name{font-size:13px;color:var(--text-primary)}.ib-ranges{display:flex;gap:6px}.ib-ranges button{font-family:var(--font-mono);font-size:10.5px;color:var(--text-sub);background:none;border:1px solid var(--border);border-radius:5px;padding:3px 8px;cursor:pointer}.ib-ranges button.on{color:var(--text-primary);border-color:#3a3a46;background:#16161c}.ib-chart svg{display:block;width:100%;height:150px}.ib-chart-meta{display:flex;align-items:center;justify-content:space-between;font-size:10px;margin-top:4px}.ib-chart-meta,.ib-loading{font-family:var(--font-mono);color:var(--text-sub)}.ib-loading{font-size:11px;text-align:center;padding:24px 0}@media (max-width:640px){.ib-cols{grid-template-columns:1fr}}.ib-chart-area{position:relative;cursor:crosshair}.ib-cross{top:0;bottom:0;width:1px;background:rgba(220,220,228,.35)}.ib-cross,.ib-tip{position:absolute;pointer-events:none}.ib-tip{top:6px;padding:3px 8px;background:#16161cee;border:1px solid #2e2e3a;border-radius:5px;font-family:var(--font-mono);font-size:11px;color:var(--text-primary);white-space:nowrap}.ib-tabs{display:inline-flex;gap:6px;margin-left:10px}.ib-tabs button{font-family:var(--font-mono);font-size:10.5px;color:var(--text-sub);background:none;border:1px solid var(--border);border-radius:5px;padding:3px 8px;cursor:pointer}.ib-tabs button.on{color:var(--text-primary);border-color:#3a3a46;background:#16161c}.ai-data-board{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:14px 16px}.ad-block{margin-top:10px;padding:10px 12px;background:#0e0e12;border:1px solid var(--border);border-radius:8px}.ad-block-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px;margin-bottom:8px}.ad-block-title{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.5px;color:var(--text-primary)}.ad-chart svg{display:block;width:100%;height:170px}.ad-empty{font-family:var(--font-mono);font-size:11px;color:var(--text-sub);text-align:center;padding:30px 0}.ad-legend{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:8px}.ad-lg{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:10.5px;color:var(--text-mid);background:none;border:none;padding:0}.ad-lg i{width:10px;height:3px;border-radius:2px;display:inline-block}.ad-lg-btn{cursor:pointer}.ad-lg-btn:hover{color:var(--text-primary)}.ad-back{font-family:var(--font-mono);font-size:10.5px;color:var(--text-sub);background:none;border:1px solid var(--border);border-radius:5px;padding:3px 8px;cursor:pointer}.ad-back:hover{color:var(--text-primary)}