:root{color-scheme:light dark;--cl:42%;--bg:#f4f4f1;--bg2:#ecece7;--panel:#fff;--fg:#191917;--mut:#76746d;--line:#dcdcd5;--ink:#34342f;--soft:#cdcdc6;--acc:#b4531c;--warn:#a46200;--ok:#2f9e5b;--shadow:0 1px 2px rgba(0,0,0,.05),0 8px 24px -16px rgba(0,0,0,.18);
--c0:#2f6df0;--c1:#8b4bf0;--c2:#e0780f;--c3:#0f9e9e;--c4:#e0356b;--c5:#4c9f1f;--c6:#b99200;--c7:#6b7683;--c8:#e0552f;--c9:#888}
@media (prefers-color-scheme:dark){:root{--cl:66%;--bg:#0f0f0e;--bg2:#161614;--panel:#181816;--fg:#edece6;--mut:#9a988f;--line:#2b2b27;--ink:#cfcec7;--soft:#44443e;--acc:#ea9560;--warn:#e0b050;--ok:#49c77a;--shadow:0 1px 0 rgba(255,255,255,.02) inset,0 10px 30px -18px #000;
--c0:#5b9dff;--c1:#a77bff;--c2:#ffa24a;--c3:#2fd0d0;--c4:#ff6a96;--c5:#86d653;--c6:#ecc94f;--c7:#9aa6b3;--c8:#ff7f5e;--c9:#9a9a9a}}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--fg)}
body{font:14px/1.45 ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;padding-bottom:3.4rem;background:radial-gradient(1200px 500px at 50% -120px,var(--bg2),transparent 70%),var(--bg)}
.mono,.tag,.flag,.ticker,th,.chip,.tabs button,.brand,.pill,.legend,.note{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.bar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.75rem;padding:.8rem 1.1rem}
.brand{font-size:.72rem;letter-spacing:.12em}.brand span{color:var(--mut)}
.tabs{display:flex;gap:.15rem;padding:.2rem;border:1px solid var(--line);border-radius:10px;background:var(--panel);box-shadow:var(--shadow)}
.tabs button{all:unset;cursor:pointer;padding:.38rem .85rem;border-radius:7px;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--mut);transition:background .15s,color .15s}
.tabs button:hover{color:var(--fg)}
.tabs button[aria-selected=true]{background:var(--bg2);color:var(--fg)}
.tabs button:focus-visible,.tile:focus-visible,.chip:focus-visible,th button:focus-visible,input:focus-visible{outline:2px solid var(--acc);outline-offset:2px}
.flags{display:flex;gap:.4rem;justify-content:flex-end;align-items:center;flex-wrap:wrap}
.flag{font-size:.6rem;letter-spacing:.1em;border:1px solid var(--line);border-radius:4px;padding:.12rem .4rem;color:var(--mut)}
.livewrap{display:inline-flex;align-items:center;gap:.4rem}
.live{width:.5rem;height:.5rem;border-radius:50%;background:var(--ok);box-shadow:0 0 0 0 var(--ok);animation:pulse 2.2s infinite}
.live.stale{background:var(--warn);animation:none}
@keyframes pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--ok) 55%,transparent)}70%{box-shadow:0 0 0 7px transparent}100%{box-shadow:0 0 0 0 transparent}}
.fresh{font-size:.68rem;color:var(--mut);font-variant-numeric:tabular-nums}.fresh.stale{color:var(--warn)}
main{padding:0 1.1rem;max-width:88rem;margin:0 auto}
.view[hidden]{display:none}
.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem;padding-top:.4rem}
.tile{all:unset;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;gap:.2rem;min-height:9.6rem;padding:.75rem .85rem;background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);transition:border-color .18s,transform .18s;animation:rise .45s both}
.tile.wide{grid-column:span 2}.tile.wide svg{max-width:34rem;max-height:8.6rem}
.tile:hover{border-color:var(--ink);transform:translateY(-2px)}
.tile.flash{animation:flash 1.1s}
@keyframes rise{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes flash{0%{box-shadow:0 0 0 2px var(--acc)}100%{box-shadow:var(--shadow)}}
.tile .hd{display:flex;justify-content:space-between;gap:.5rem;font-size:.72rem;color:var(--mut)}
.tile .tag{font-size:.58rem;letter-spacing:.08em;text-transform:uppercase}
.tile .big{font-size:1.7rem;font-weight:600;letter-spacing:-.015em;font-variant-numeric:tabular-nums}
.tile .sub{font-size:.7rem;color:var(--mut)}
.tile svg{width:100%;height:auto;max-height:7.6rem;margin-top:auto;display:block;overflow:visible}
.quad{display:grid;grid-template-columns:repeat(4,1fr);gap:.4rem;margin:.5rem 0 .2rem}
.quad div{display:flex;flex-direction:column;font-variant-numeric:tabular-nums;font-weight:600;font-size:1.02rem}
.quad small{font-weight:400;color:var(--mut);font-size:.58rem;font-family:ui-monospace,monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.toolbar{display:flex;gap:.8rem;align-items:center;flex-wrap:wrap;padding:.4rem 0 .6rem}
.search input{font:inherit;font-size:.8rem;min-width:18rem;padding:.45rem .7rem;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--fg)}
.legend{display:flex;gap:.7rem;flex-wrap:wrap;font-size:.66rem;color:var(--mut);padding:.2rem 0 .5rem}
.toolbar .legend{padding:0}
.legend span{display:inline-flex;align-items:center;gap:.3rem}
.legend i{width:.6rem;height:.6rem;border-radius:50%;display:inline-block}
.chips{display:flex;flex-wrap:wrap;gap:.35rem;padding:.2rem 0 .8rem}
.chip{all:unset;cursor:pointer;font-size:.7rem;padding:.26rem .6rem;border:1px solid var(--line);border-radius:999px;background:var(--panel);color:var(--mut);transition:border-color .15s}
.chip:hover{border-color:var(--ink)}
.chip[aria-pressed=true]{color:var(--bg);background:var(--fg);border-color:var(--fg)}
.panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:.9rem 1rem;box-shadow:var(--shadow);margin-bottom:.9rem}
.mon-head{display:flex;gap:1.5rem;flex-wrap:wrap;align-items:baseline;margin-bottom:.4rem}
.mon-head .big{font-size:2rem;font-weight:600;letter-spacing:-.02em}.mon-head span{color:var(--mut);font-size:.78rem}
.chart svg{width:100%;height:auto;display:block;overflow:visible}
.scroll{overflow-x:auto;border:1px solid var(--line);border-radius:12px;background:var(--panel);box-shadow:var(--shadow)}
table{border-collapse:collapse;width:100%;font-size:.82rem}
th,td{padding:.45rem .7rem;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}
th{font-size:.62rem;letter-spacing:.09em;text-transform:uppercase;color:var(--mut);font-weight:500}
th button{all:unset;cursor:pointer}th button:hover{color:var(--fg)}
tbody tr{transition:background .12s}tbody tr:hover{background:var(--bg2)}
tbody tr:last-child td{border-bottom:0}
.num{text-align:right;font-variant-numeric:tabular-nums}
.pill{display:inline-block;font-size:.64rem;padding:.08rem .42rem;margin:.08rem .2rem .08rem 0;border-radius:999px;border:1px solid currentColor}
.note{font-size:.68rem;color:var(--mut);padding:.5rem .2rem}
.prose h2{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--mut);margin:1.1rem 0 .3rem;font-weight:500}
.prose h2:first-child{margin-top:0}.prose{max-width:46rem}.prose .mono{font-size:.74rem;word-break:break-all}
a{color:var(--acc)}
.tip{position:fixed;z-index:10;pointer-events:none;padding:.3rem .55rem;font:11px ui-monospace,monospace;background:var(--fg);color:var(--bg);border-radius:6px;max-width:22rem;box-shadow:0 6px 20px -8px #000}
.tip[hidden]{display:none}
.ticker{position:fixed;left:0;right:0;bottom:0;display:flex;gap:1.4rem;justify-content:center;flex-wrap:wrap;padding:.7rem 1rem;font-size:.72rem;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(8px);border-top:1px solid var(--line);color:var(--mut)}
.ticker b{color:var(--fg);font-weight:600}
.pc-0{--c:var(--c0)}.pc-1{--c:var(--c1)}.pc-2{--c:var(--c2)}.pc-3{--c:var(--c3)}.pc-4{--c:var(--c4)}.pc-5{--c:var(--c5)}.pc-6{--c:var(--c6)}.pc-7{--c:var(--c7)}.pc-8{--c:var(--c8)}.pc-9{--c:var(--c9)}
.pc-10{--c:hsl(290 62% var(--cl))}.pc-11{--c:hsl(67 62% var(--cl))}.pc-12{--c:hsl(204 62% var(--cl))}.pc-13{--c:hsl(341 62% var(--cl))}.pc-14{--c:hsl(118 62% var(--cl))}.pc-15{--c:hsl(255 62% var(--cl))}.pc-16{--c:hsl(32 62% var(--cl))}.pc-17{--c:hsl(169 62% var(--cl))}.pc-18{--c:hsl(306 62% var(--cl))}.pc-19{--c:hsl(83 62% var(--cl))}.pc-20{--c:hsl(220 62% var(--cl))}.pc-21{--c:hsl(357 62% var(--cl))}.pc-22{--c:hsl(134 62% var(--cl))}.pc-23{--c:hsl(271 62% var(--cl))}.pc-24{--c:hsl(48 62% var(--cl))}.pc-25{--c:hsl(185 62% var(--cl))}.pc-26{--c:hsl(322 62% var(--cl))}.pc-27{--c:hsl(99 62% var(--cl))}.pc-28{--c:hsl(236 62% var(--cl))}.pc-29{--c:hsl(13 62% var(--cl))}.pc-30{--c:hsl(150 62% var(--cl))}.pc-31{--c:hsl(287 62% var(--cl))}
.legend i,.pill{color:var(--c)}.legend i{background:var(--c)}
.cv0{--c:transparent}.cv1{--c:#8b97a6}.cv2{--c:#5aa7e8}.cv3{--c:#e8a13a}.cv4{--c:#e8503a}
.legend i.cv0{background:transparent}
svg .ax{stroke:var(--line);stroke-width:1}svg .grid{stroke:var(--line);stroke-width:1;stroke-dasharray:2 4}
svg .dot{fill:var(--c,var(--ink));stroke:var(--panel);stroke-width:1;transform-box:fill-box;transform-origin:center;animation:pop .5s both;transition:r .12s}
svg .dot.spot{fill:var(--panel);stroke:var(--c,var(--ink));stroke-width:1.6}
svg .dot:hover{stroke:var(--fg);stroke-width:2}
svg .med{stroke:var(--fg);stroke-width:2;stroke-linecap:round}
svg .band{fill:var(--c,var(--ink));opacity:.12}
svg .bar{fill:var(--c,var(--soft));opacity:.85;transform-box:fill-box;transform-origin:left;animation:grow .6s both}
svg .bar.mut{fill:var(--soft)}
svg text{font:9px ui-monospace,monospace;fill:var(--mut)}svg .lbl{font-size:10px;fill:var(--ink)}svg .strong{fill:var(--fg);font-weight:600}
@keyframes pop{from{opacity:0;transform:scale(.2)}to{opacity:1;transform:none}}
@keyframes grow{from{transform:scaleX(0)}to{transform:none}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
@media (max-width:70rem){.tiles{grid-template-columns:repeat(2,1fr)}.bar{grid-template-columns:1fr;justify-items:center}.flags{justify-content:center}}
@media (max-width:34rem){.tiles{grid-template-columns:1fr}.tile.wide{grid-column:auto}.search input{min-width:0;width:100%}}

/* ---- Bazaar terminal theme (shared with apps/hyperai-interface) ---- */
:root,:root[data-theme]{color-scheme:dark;--bg:#07090c;--bg2:#0e1318;--panel:#090c10;--fg:#d7dee2;--ink:#aab6bd;--mut:#7d8a93;--line:#1a222a;--soft:#27323c;--acc:#4de3d6;--ok:#4de3d6;--shadow:none}
html,body{background:#07090c}
body{font:12px/1.5 "SF Mono",ui-monospace,Menlo,Consolas,monospace;background:radial-gradient(ellipse at 20% 0,rgba(77,227,214,.05),transparent 55%),radial-gradient(ellipse at 100% 100%,rgba(255,61,139,.04),transparent 50%),#07090c}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:50;background:repeating-linear-gradient(to bottom,rgba(77,227,214,.025) 0 1px,transparent 1px 3px)}
.bar{display:flex;align-items:center;gap:22px;min-height:52px;padding:0 clamp(16px,2.4vw,36px);border-bottom:1px solid var(--line);background:#07090c}
.wordmark{display:grid;text-decoration:none;font:800 13px/.95 ui-sans-serif,system-ui,sans-serif;letter-spacing:.02em;color:#fff;-webkit-text-stroke:.6px #d5eb83;text-shadow:0 0 12px rgba(213,235,131,.35)}
.wordmark span:last-child{padding-left:14px;color:#d5eb83;-webkit-text-stroke:0}
.tabs{margin-left:auto;gap:20px;padding:0;border:0;border-radius:0;background:none;box-shadow:none}
.tabs button,.platform-link{all:unset;cursor:pointer;position:relative;padding:17px 0 15px;font:700 9px/1 "SF Mono",ui-monospace,monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--mut)}
.tabs button:hover,.platform-link:hover{color:#fff}
.tabs button[aria-selected=true]{background:none;color:#fff}
.tabs button[aria-selected=true]::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--acc);box-shadow:0 0 8px var(--acc)}
.platform-link{color:#d5eb83;opacity:.85}.platform-link:focus-visible{outline:2px solid var(--acc)}
.flags .flag{border-radius:2px}
main{max-width:none;padding:18px clamp(16px,2.4vw,36px) 0}
.tile,.panel,.scroll{border-radius:0;box-shadow:none;background:#090c10}
.tile:hover{border-color:var(--acc);transform:none}
.tile .big,.mon-head .big{text-shadow:0 0 14px rgba(77,227,214,.15)}
.chip{border-radius:2px}.chip[aria-pressed=true]{background:var(--acc);color:#05070a;border-color:var(--acc)}
.search input{border-radius:2px;background:#05070a}.search input:focus{outline:none;border-color:var(--acc);box-shadow:0 0 12px rgba(77,227,214,.25)}
th,td{padding:.35rem .7rem}tbody tr:hover{background:rgba(77,227,214,.05)}
.ticker{height:44px;align-items:center;padding:0 18px;gap:1.6rem;background:#07090c;backdrop-filter:none;border-top:1px solid #27323c;justify-content:flex-start;overflow:hidden;flex-wrap:nowrap}
body{padding-bottom:56px}
::selection{background:#ff3d8b;color:#000}
@media(max-width:760px){.bar{gap:12px;flex-wrap:wrap;padding:8px 16px}.tabs{margin-left:0;gap:12px}.tabs button,.platform-link{padding:10px 0}}
.bar{flex-wrap:wrap;row-gap:0}
.flags{order:3;flex:1 0 100%;justify-content:flex-start;padding:7px 0 9px;border-top:1px solid var(--line)}
.bar{padding-bottom:0}
.ticker,.ticker *{white-space:nowrap}
.ticker{overflow-x:auto;scrollbar-width:none}
