:root{color-scheme:dark;--bg:#0a0c10;--bg-elev:#10141b;--panel:#141a22;--panel-2:#1a222c;--line:#2a3441;--line-strong:#3a4656;--text:#eef3f8;--muted:#8b97a6;--ok:#3dcf8e;--ok-dim:rgba(61,207,142,0.14);--wait:#7cb4ff;--skip:#e0b45c;--warn:#ff9f43;--error:#ff6b7a;--error-dim:rgba(255,107,122,0.14);--info:#c5d0dc;--accent:#6aa6ff;--shadow:0 18px 50px rgba(0,0,0,0.28)}*{box-sizing:border-box}body,html{margin:0;min-height:100%}body{background:radial-gradient(1200px 500px at 12% -10%,rgba(106,166,255,.08),transparent 55%),radial-gradient(900px 420px at 100% 0,rgba(61,207,142,.05),transparent 50%),var(--bg);color:var(--text);font-family:IBM Plex Sans,Segoe UI,sans-serif;font-size:14px;line-height:1.45}button{font:inherit;cursor:pointer}.mono,code{font-family:IBM Plex Mono,ui-monospace,monospace}a{color:inherit}.app{min-height:100vh}.appbar{position:-webkit-sticky;position:sticky;top:0;z-index:20;justify-content:space-between;gap:16px;padding:12px 28px;border-bottom:1px solid var(--line);background:rgba(10,12,16,.86);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.appbar,.brand{display:flex;align-items:center}.brand{gap:10px;text-decoration:none}.brand-logo{display:block;width:32px;height:32px;flex-shrink:0}.brand-name{font-family:Outfit,IBM Plex Sans,sans-serif;font-size:20px;font-weight:600;letter-spacing:-.035em;line-height:1;color:var(--text)}.brand:hover .brand-logo{filter:brightness(1.1)}.top-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.nav{display:flex;gap:2px;padding:3px;border:1px solid var(--line);background:var(--bg-elev);border-radius:10px}.nav-link{text-decoration:none;color:var(--muted);padding:6px 12px;border-radius:7px;font-size:13px;font-weight:500}.nav-link:hover{color:var(--text);background:rgba(255,255,255,.03)}.nav-link.active{color:var(--text);background:var(--panel-2);box-shadow:inset 0 0 0 1px var(--line)}.chip{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--panel);border-radius:999px;padding:6px 11px;font-size:12px;color:var(--muted)}.chip-on{color:var(--ok);border-color:rgba(61,207,142,.35);background:var(--ok-dim)}.chip-pause{color:var(--skip)}.chip-off{color:var(--muted)}.dot{width:7px;height:7px;border-radius:50%;background:#6b7280;box-shadow:0 0 0 3px rgba(107,114,128,.15)}.dot.on{background:var(--ok);box-shadow:0 0 0 3px var(--ok-dim)}.dot.pause{background:var(--skip);box-shadow:0 0 0 3px rgba(224,180,92,.18)}.spinner-wrap{display:grid;place-items:center;min-height:88px;padding:20px 8px}.spinner-wrap.tall{min-height:240px}.overview-metrics .spinner-wrap{min-height:72px;padding:8px}.spinner{width:22px;height:22px;border:2px solid var(--line-strong);border-top-color:var(--wait);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.spinner{animation:none;opacity:.75}}.shell{max-width:1180px;margin:0 auto;padding:28px 24px 48px}.page-head{margin-bottom:22px}h1{margin:0 0 6px;font-size:26px;letter-spacing:-.04em;font-weight:600}.sub{margin:0;color:var(--muted);font-size:13px;max-width:62ch}.grid{grid-template-columns:repeat(3,1fr);grid-gap:12px}.grid,.overview-metrics{display:grid;gap:12px;margin-bottom:16px}.overview-metrics{grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;align-items:stretch}.overview-headlines{margin-bottom:8px}.large-btc-card{display:flex;flex-direction:column;margin-bottom:16px}.large-btc-card .metric{margin-bottom:2px}.overview-metrics .stat-row{grid-template-columns:repeat(2,1fr)}.btc-chart{display:flex;align-items:stretch;gap:4px;min-height:240px;height:260px;margin-top:16px;padding-top:4px;border-bottom:1px solid var(--line)}.btc-col{flex:1 1;min-width:0;display:grid;grid-template-rows:auto 1fr auto;grid-gap:6px;gap:6px;text-decoration:none;color:inherit}.btc-col:hover .btc-bar{filter:brightness(1.18)}.btc-amt{font-size:10px;font-weight:600;letter-spacing:-.03em;text-align:center;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.btc-track{display:flex;align-items:flex-end;justify-content:center;min-height:0}.btc-bar{width:100%;max-width:42px;min-height:8px;border-radius:7px 7px 2px 2px;background:linear-gradient(180deg,#8ec0ff,#3d6aa8)}.btc-when{font-size:10px;color:var(--muted);text-align:center;padding-bottom:6px}.card{background:linear-gradient(180deg,rgba(255,255,255,.02),transparent 28%),var(--panel);border:1px solid var(--line);border-radius:14px;padding:16px 18px;box-shadow:var(--shadow)}.card h2{margin:0 0 12px;font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-weight:600}.card .wait{color:var(--muted);font-size:14px;line-height:1.45;font-weight:500}.card .metric{color:var(--text);font-size:28px;line-height:1.15;letter-spacing:-.04em;font-weight:600}.card .meta{margin-top:8px;color:var(--muted);font-size:12px}.stat-row{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:8px;gap:8px}.stat{background:var(--bg-elev);border:1px solid var(--line);border-radius:10px;padding:8px 10px}.stat span{display:block;color:var(--muted);font-size:10px;letter-spacing:.08em;text-transform:uppercase}.stat strong{font-size:18px;font-weight:600;letter-spacing:-.03em}.mix-bar{display:flex;height:8px;border-radius:99px;overflow:hidden;background:var(--bg-elev);margin:12px 0 4px}.mix-bar span{display:block;height:100%}.mix-bar .bull{background:var(--ok)}.mix-bar .bear{background:var(--error)}.mix-bar .neutral{background:#4b5565}.mix-legend{display:flex;flex-wrap:wrap;gap:12px;color:var(--muted);font-size:12px}.mix-legend b{color:var(--text);font-weight:600}.controls{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}.btn,.controls button,.tabs button{background:var(--panel-2);color:var(--text);border:1px solid var(--line);border-radius:9px;padding:8px 12px;font-size:13px;font-weight:500}.btn:hover,.controls button:hover:not(:disabled),.tabs button:hover{border-color:var(--line-strong)}.btn.primary,.controls button.primary{background:#163528;border-color:#1f5c40;color:var(--ok)}.controls button.danger{background:#2a1518;border-color:#5c1f28;color:var(--error)}.controls button:disabled{opacity:.4;cursor:not-allowed}.note{color:var(--muted);font-size:12px;margin:0 0 16px;padding:8px 0}.logbox{background:#0c1016;border:1px solid var(--line);border-radius:14px;min-height:420px;max-height:62vh;overflow:auto;padding:8px 0;box-shadow:var(--shadow)}.row{display:grid;grid-template-columns:108px 72px 72px 1fr;grid-gap:10px;gap:10px;padding:7px 16px;font-size:12.5px;font-family:IBM Plex Mono,ui-monospace,monospace}.row:hover{background:rgba(255,255,255,.03)}.ts{color:#6f7c8a}.scope{color:#9aa8b6}.lvl{font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.04em}.lvl-ok{color:var(--ok)}.lvl-wait{color:var(--wait)}.lvl-skip{color:var(--skip)}.lvl-warn{color:var(--warn)}.lvl-error{color:var(--error)}.lvl-info{color:var(--info)}.empty,.empty-inline{color:var(--muted);padding:28px 8px;text-align:center;margin:0;font-size:13px}.tabs{display:flex;flex-wrap:wrap;gap:2px;padding:3px;width:-moz-fit-content;width:fit-content;background:var(--bg-elev);border:1px solid var(--line);border-radius:10px}.tabs button{border:0;background:transparent;padding:6px 11px;color:var(--muted)}.tabs button.on{background:var(--panel-2);color:var(--text);box-shadow:inset 0 0 0 1px var(--line)}.news-list{list-style:none;margin:0;padding:0;display:grid}.news-list li{border-top:1px solid var(--line)}.news-list li:first-child{border-top:0}.news-row{display:grid;grid-template-columns:92px 92px minmax(0,1fr) 86px;grid-gap:12px;gap:12px;align-items:center;padding:10px 2px;font-size:13px}.news-row a{color:var(--text);text-decoration:none;font-weight:500}.news-row a:hover{color:var(--wait)}.tone{display:inline-flex;justify-content:center;font-size:10px;letter-spacing:.06em;font-weight:600;border-radius:999px;padding:3px 8px;width:-moz-fit-content;width:fit-content}.tone-BULLISH{color:var(--ok);background:var(--ok-dim)}.tone-BEARISH{color:var(--error);background:var(--error-dim)}.tone-NEUTRAL{color:var(--muted);background:rgba(139,151,166,.12)}.source-chip{color:var(--muted);font-size:11px;font-family:IBM Plex Mono,ui-monospace,monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stack{display:grid;grid-gap:12px;gap:12px;margin-bottom:16px}.stack label{display:grid;grid-gap:6px;gap:6px;font-size:13px;color:var(--muted)}.stack input,.stack select,.stack textarea,table.params input,table.params select{background:var(--bg-elev);color:var(--text);border:1px solid var(--line);border-radius:8px;padding:8px 10px;font:inherit}.stack input:focus,.stack select:focus,.stack textarea:focus,table.params input:focus,table.params select:focus{outline:none;border-color:var(--accent)}.stack textarea{min-height:140px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:12px}.check{display:flex;align-items:center;gap:8px;color:var(--text)}.help{margin:0;color:var(--muted);font-size:12px}.split{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.preview{background:var(--bg-elev);padding:12px;font-size:12px;font-family:IBM Plex Mono,ui-monospace,monospace;display:grid;grid-gap:8px;gap:8px}.preview,.table-wrap{border:1px solid var(--line);border-radius:10px}.table-wrap{overflow:auto}table.params{width:100%;border-collapse:collapse;font-size:12px}table.params th{text-align:left;color:var(--muted);font-weight:600;padding:10px;background:var(--bg-elev)}table.params td,table.params th{border-bottom:1px solid var(--line)}table.params td{padding:8px 10px}table.params input,table.params select{width:100%}@media (max-width:1100px){.overview-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:900px){.appbar,.shell{padding-left:16px;padding-right:16px}.appbar{flex-direction:column;align-items:stretch}.top-actions{justify-content:space-between}.grid,.news-row,.overview-metrics,.row,.split,.stat-row{grid-template-columns:1fr}.news-row,.row{gap:4px}}