:root{--ink:#060b14;--ink-2:#0c1524;--panel:#0c1626d1;--panel-solid:#0f1a2c;--line:#6ee7ff24;--line-strong:#6ee7ff47;--cyan:#6ee7ff;--cyan-dim:#38bdf8;--violet:#a78bfa;--buy:#34d399;--buy-dim:#34d39926;--sell:#f87171;--sell-dim:#f8717126;--fog:#b8c9dc;--fog-dim:#7a8fa8;--white:#eef4fb;--font-display:"Instrument Serif", Georgia, serif;--font-body:"DM Sans", system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, monospace;--radius:12px;--shadow:0 20px 50px #0006}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%}body{font-family:var(--font-body);color:var(--white);background:var(--ink);-webkit-font-smoothing:antialiased;margin:0}button{font:inherit;cursor:pointer}.mono{font-family:var(--font-mono)}.app-shell{min-height:100vh;position:relative;overflow-x:clip}.bg-grid{z-index:0;pointer-events:none;background:radial-gradient(80% 50% at 15% -5%,#6ee7ff1f,#0000 55%),radial-gradient(60% 40% at 90% 10%,#a78bfa1a,#0000 50%),linear-gradient(#060b14 0%,#0a1220 50%,#0d1828 100%);position:fixed;inset:0}.bg-grid:after{content:"";opacity:.25;background-image:linear-gradient(#6ee7ff0a 1px,#0000 1px),linear-gradient(90deg,#6ee7ff0a 1px,#0000 1px);background-size:40px 40px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(#000 15%,#0000 70%);mask-image:radial-gradient(#000 15%,#0000 70%)}.app-content{z-index:1;width:min(1080px,100% - 2rem);margin:0 auto;padding:1rem 0 3rem;position:relative}.clock-bar{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem;padding:.75rem 1rem;animation:.5s both rise;display:flex}.clock-brand{align-items:center;gap:.6rem;display:flex}.clock-pulse{background:var(--cyan);width:8px;height:8px;box-shadow:0 0 12px var(--cyan);border-radius:50%;animation:1.8s infinite pulse}.clock-title{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--cyan);font-size:.78rem;font-weight:600}.clock-status{font-family:var(--font-mono);color:var(--fog-dim);letter-spacing:.04em;font-size:.68rem}.clock-metrics{flex-wrap:wrap;gap:.5rem 1.25rem;display:flex}.metric{flex-direction:column;gap:.1rem;display:flex}.metric-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--fog-dim);font-size:.62rem}.metric-value{color:var(--white);font-size:.88rem;font-weight:600}.metric.violet .metric-value,.metric.block-num .metric-value{color:var(--violet)}.metric.up .metric-value{color:var(--buy)}.metric.down .metric-value{color:var(--sell)}.metric.warn .metric-value{color:#fbbf24}.model-badge{color:var(--violet);letter-spacing:.06em;background:#a78bfa26;border-radius:4px;padding:.15rem .45rem;font-size:.62rem}.hero{gap:1.5rem;margin-bottom:1.5rem;animation:.6s 50ms both rise;display:grid}@media (width>=720px){.hero{grid-template-columns:1.2fr .8fr;align-items:end}}.title{font-family:var(--font-display);letter-spacing:-.02em;margin:0 0 .6rem;font-size:clamp(2.4rem,6vw,3.4rem);font-weight:400;line-height:1.05}.title em{color:var(--cyan);font-style:italic}.lede{max-width:38ch;color:var(--fog);margin:0 0 1.25rem;font-size:.95rem;line-height:1.55}.controls{flex-wrap:wrap;gap:.6rem;display:flex}.btn{border:1px solid var(--line);border-radius:999px;padding:.55rem 1.1rem;font-size:.85rem;font-weight:600;transition:background .15s,border-color .15s,transform .1s}.btn.primary{border-color:var(--line-strong);color:var(--white);background:linear-gradient(135deg,#6ee7ff33,#a78bfa26)}.btn.primary:hover{background:linear-gradient(135deg,#6ee7ff4d,#a78bfa38);transform:translateY(-1px)}.btn.ghost{color:var(--fog);background:0 0}.btn.ghost:hover{border-color:var(--line-strong);color:var(--white)}.hero-stats,.price-feed{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:1.25rem 1.35rem}.touch-row{color:var(--fog-dim);gap:1rem;margin-top:.5rem;font-size:.78rem;display:flex}.spread-chip{color:var(--cyan);background:#6ee7ff1f;border-radius:6px;padding:.15rem .45rem;font-size:.78rem}.muted{color:var(--fog-dim);margin:0;font-size:.9rem;font-style:italic}.form-error{color:var(--sell);margin:.5rem 0 0;font-size:.85rem}.pair-label{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--fog-dim);margin-bottom:.5rem;font-size:.7rem}.price-row{align-items:baseline;gap:.75rem;display:flex}.price-main{letter-spacing:-.02em;font-size:1.85rem;font-weight:600}.price-change{font-family:var(--font-mono);border-radius:6px;padding:.15rem .45rem;font-size:.82rem;font-weight:500}.price-change.up{color:var(--buy);background:var(--buy-dim)}.price-change.down{color:var(--sell);background:var(--sell-dim)}.feed-note{color:var(--fog-dim);margin:.65rem 0 0;font-size:.75rem}.main-grid{gap:1rem;animation:.65s .1s both rise;display:grid}@media (width>=860px){.main-grid{grid-template-columns:1fr 1fr}.book-panel,.tape-panel{grid-column:1/-1}}.panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:1.1rem 1.2rem}.panel h2{font-size:.72rem;font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--fog-dim);margin:0 0 .75rem;font-weight:600}.decision-panel.waiting{border-style:dashed}.decision-head{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.5rem;display:flex}.decision-head h2{margin:0}.side-badge{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;border-radius:6px;padding:.25rem .65rem;font-size:.75rem;font-weight:700}.side-badge.buy{color:var(--buy);background:var(--buy-dim);border:1px solid #34d39959}.side-badge.sell{color:var(--sell);background:var(--sell-dim);border:1px solid #f8717159}.side-badge.hold{color:#fbbf24;background:#fbbf241f;border:1px solid #fbbf2459}.prob-bars{flex-direction:column;gap:.45rem;margin-bottom:.75rem;display:flex}.prob-row{text-transform:uppercase;letter-spacing:.06em;grid-template-columns:2.5rem 1fr 2.5rem;align-items:center;gap:.5rem;font-size:.72rem;display:grid}.prob-track{background:#ffffff0f;border-radius:3px;height:6px;overflow:hidden}.prob-fill{border-radius:3px;height:100%;transition:width .2s}.prob-row.buy .prob-fill{background:var(--buy)}.prob-row.sell .prob-fill{background:var(--sell)}.prob-row.hold .prob-fill{background:#fbbf24}.prob-pct{text-align:right;color:var(--fog-dim)}.decision-rationale{color:var(--fog);margin:0 0 .75rem;font-size:.95rem;line-height:1.5}.decision-meta{color:var(--fog-dim);flex-wrap:wrap;gap:.75rem 1.25rem;font-size:.72rem;display:flex}.panel-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem 1rem;margin-bottom:.75rem;display:flex}.panel-head h2{margin:0}.book-topline{color:var(--fog-dim);flex-wrap:wrap;gap:.5rem .85rem;font-size:.68rem;display:flex}.quote-line{border:1px solid var(--line);background:#0003;border-radius:8px;padding:.65rem .85rem}.quote-line.buy{border-color:#34d3994d}.quote-line.sell{border-color:#f871714d}.quote-main{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.quote-side{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;font-size:.72rem;font-weight:700}.quote-line.buy .quote-side{color:var(--buy)}.quote-line.sell .quote-side{color:var(--sell)}.quote-detail{font-size:.88rem;font-weight:600}.quote-status{border-radius:4px;margin-left:auto;padding:.1rem .4rem;font-size:.68rem}.status-sim{color:var(--cyan);background:#6ee7ff1f}.quote-sub{color:var(--fog-dim);margin:.45rem 0 0;font-size:.68rem}.resting-row{color:var(--fog-dim);flex-wrap:wrap;gap:1rem;margin-top:.75rem;font-size:.72rem;display:flex}.position-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.75rem;display:grid}.pos-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--fog-dim);margin-bottom:.15rem;font-size:.62rem;display:block}.pos-value{font-size:.9rem;font-weight:600}.pos-value.long{color:var(--buy)}.pos-value.short{color:var(--sell)}.pos-value.flat{color:var(--fog-dim)}.pos-value.up{color:var(--buy)}.pos-value.down{color:var(--sell)}.standing-line{border:1px solid var(--line);background:#0003;border-radius:8px;flex-wrap:wrap;align-items:center;gap:.6rem 1rem;padding:.65rem .85rem;display:flex}.standing-line.buy{border-color:#34d3994d}.standing-line.sell{border-color:#f871714d}.standing-side{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;font-size:.72rem;font-weight:700}.standing-line.buy .standing-side{color:var(--buy)}.standing-line.sell .standing-side{color:var(--sell)}.standing-detail{font-size:.88rem;font-weight:600}.standing-block{color:var(--fog-dim);margin-left:auto;font-size:.72rem}.book-grid{gap:.75rem;display:grid}@media (width>=640px){.book-grid{grid-template-columns:1fr auto 1fr;align-items:start}}.book-side{flex-direction:column;gap:.25rem;display:flex}.book-row{border-radius:4px;grid-template-columns:1fr auto;align-items:center;gap:.5rem;padding:.2rem .35rem;font-size:.78rem;display:grid;position:relative;overflow:hidden}.book-row.bid{grid-template-columns:1fr auto}.book-row.ask{text-align:right;grid-template-columns:auto 1fr}.book-row.ask .book-size{order:3}.book-bar{opacity:.35;pointer-events:none;position:absolute;top:0;bottom:0}.bid-bar{background:linear-gradient(90deg, transparent, var(--buy));right:0}.ask-bar{background:linear-gradient(270deg, transparent, var(--sell));left:0}.book-price{z-index:1;font-weight:500;position:relative}.book-row.touch{background:#ffffff0a}.book-row.bid .book-price{color:var(--buy)}.book-row.ask .book-price{color:var(--sell)}.book-size{z-index:1;color:var(--fog-dim);font-size:.72rem;position:relative}.book-mid{border-left:1px solid var(--line);border-right:1px solid var(--line);flex-direction:column;justify-content:center;align-items:center;gap:.2rem;padding:.5rem;display:flex}@media (width<=639px){.book-mid{border:1px solid var(--line);border-radius:8px}}.mid-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--fog-dim);font-size:.62rem}.mid-price{color:var(--cyan);font-size:1rem;font-weight:600}.tape-list{flex-direction:column;gap:.3rem;max-height:220px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.tape-row{background:#00000026;border-radius:6px;grid-template-columns:auto auto 1fr auto;align-items:center;gap:.75rem;padding:.35rem .5rem;font-size:.8rem;animation:.35s both tape-in;display:grid}.tape-block{color:var(--violet);font-size:.72rem}.tape-side{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;font-size:.68rem;font-weight:700}.tape-side.buy{color:var(--buy)}.tape-side.sell{color:var(--sell)}.tape-size{color:var(--fog)}.tape-price{color:var(--fog-dim);text-align:right}.tape-sim{color:var(--cyan);text-transform:uppercase;font-size:.62rem}.footer{border-top:1px solid var(--line);color:var(--fog-dim);margin-top:2rem;padding-top:1rem;font-size:.78rem;line-height:1.5}.footer a{color:var(--cyan-dim);text-decoration:none}.footer a:hover{color:var(--cyan);text-decoration:underline}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.85)}}@keyframes tape-in{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}
