.market-canvas.dragging{cursor:grabbing}.canvas-tooltip{position:absolute;z-index:3;max-width:14rem;padding:.45rem .6rem;border:1px solid var(--color-cyan-muted, #00b4d8);border-radius:.4rem;color:var(--color-text, #e0e0e0);background:var(--color-surface-raised, #0d0d0d);box-shadow:0 8px 28px #000c;font:11px/1.4 var(--font-mono, monospace);pointer-events:none}:root{--color-bg: #020405;--color-surface: #070a0c;--color-surface-raised: #0a0f12;--color-surface-elevated: #10171a;--color-border: #162126;--color-border-subtle: #10191d;--color-border-strong: #27363d;--color-text: #e5eef0;--color-text-muted: #78878d;--color-text-dimmed: #4f5d63;--color-cyan: #21d9e7;--color-cyan-muted: #19b8c7;--color-cyan-glow: rgba(33,217,231,.22);--color-orange: #ff6b35;--color-purple: #8b5cf6;--color-green: #7ee6ae;--color-red: #ff6b6b;--color-yellow: #ffc770;--font-ui: "Inter", ui-sans-serif, system-ui, sans-serif;--font-mono: "JetBrains Mono", "SF Mono", ui-monospace, SFMono-Regular, Consolas, monospace;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--radius-sm: .35rem;--radius-md: .55rem;--radius-lg: .8rem;--radius-xl: 1rem;color-scheme:dark}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-ui);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;transition:all .15s ease}button{color:inherit;cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--color-cyan);outline-offset:2px}.app-shell{min-height:100vh;background:linear-gradient(180deg,#030607 0,var(--color-bg) 13rem)}.topbar{height:3.85rem;padding:0 1.15rem;display:flex;align-items:center;gap:2rem;border-bottom:1px solid var(--color-border);background:#020405f5}.brand{display:flex;align-items:center;gap:.65rem;padding:0;border:0;background:none;color:var(--color-text)}.brand-mark{width:2rem;height:2rem;padding:.38rem;display:flex;align-items:flex-end;justify-content:center;gap:2px;border:1px solid rgba(33,217,231,.46);border-radius:.42rem;background:linear-gradient(145deg,#21d9e729,#21d9e708);box-shadow:inset 0 0 18px #21d9e714}.brand-mark i{width:3px;border-radius:2px;background:var(--color-cyan);box-shadow:0 0 7px var(--color-cyan-glow)}.brand-mark i:nth-child(1){height:45%}.brand-mark i:nth-child(2){height:86%}.brand-mark i:nth-child(3){height:64%}.brand-wordmark{display:grid;gap:.05rem;text-align:left}.brand-wordmark strong{font-size:.88rem;letter-spacing:.01em}.brand-wordmark small{color:var(--color-text-dimmed);font:500 .49rem var(--font-mono);letter-spacing:.09em;text-transform:uppercase}.topbar nav{align-self:stretch;display:flex;margin-right:auto;gap:.2rem}.topbar nav button{position:relative;padding:0 .8rem;border:0;color:var(--color-text-muted);background:none;font-size:.76rem}.topbar nav button:hover,.topbar nav button.active{color:var(--color-text)}.topbar nav button.active:after{position:absolute;left:.8rem;right:.8rem;bottom:0;height:2px;content:"";background:var(--color-cyan);box-shadow:0 0 8px var(--color-cyan-glow)}.topbar-context{display:flex;align-items:center;gap:.9rem}.topbar-context>span{display:flex;align-items:center;gap:.4rem;color:var(--color-text-dimmed);font:600 .55rem var(--font-mono);letter-spacing:.08em;text-transform:uppercase}.topbar-context>span i{width:.38rem;height:.38rem;border-radius:50%;background:var(--color-green);box-shadow:0 0 8px #7ee6ae73}.avatar{width:2.15rem;height:2.15rem;border:1px solid var(--color-border-strong);border-radius:50%;color:var(--color-text);background:var(--color-surface-elevated);font:600 .64rem var(--font-mono)}.avatar:hover{border-color:#21d9e78c;background:var(--color-surface-raised)}.chart-page{height:calc(100svh - 3.85rem);min-height:34rem;padding:.8rem 1rem 1rem;display:grid;grid-template-rows:auto minmax(0,1fr);align-content:start;gap:.75rem;overflow:hidden;background:transparent}.controls{min-height:4rem;padding:.55rem .7rem;display:flex;align-items:flex-end;gap:.7rem;overflow:auto hidden;border:1px solid var(--color-border);border-radius:.55rem;background:#070a0ce0;box-shadow:0 12px 35px #0000002e}.controls-kicker{min-width:5.4rem;padding:0 .7rem .15rem .2rem;display:grid;align-self:center;border-right:1px solid var(--color-border)}.controls-kicker span{color:var(--color-cyan);font:650 .5rem var(--font-mono);letter-spacing:.16em;text-transform:uppercase}.controls-kicker strong{margin-top:.16rem;color:var(--color-text);font-size:.8rem}.controls label>span,.controls legend{display:block;margin:0 0 .35rem;color:var(--color-text-muted);font-size:.65rem;text-transform:uppercase}.controls select,.card input,.card textarea{height:2.4rem;padding:0 .75rem;border:1px solid var(--color-border-strong);border-radius:.4rem;background:var(--color-surface-raised);color:var(--color-text)}.controls select:hover{border-color:#3a4d55}.controls select:disabled{color:var(--color-text-dimmed);cursor:not-allowed}.controls fieldset{margin:0;padding:0;border:0}.segments{display:flex;height:2.4rem;padding:.18rem;border:1px solid var(--color-border-strong);border-radius:.4rem;background:var(--color-bg)}.segments button{min-width:3.15rem;height:2rem;border:0;border-radius:.28rem;color:var(--color-text-muted);background:none;font-size:.72rem}.segments button[aria-pressed=true]{color:var(--color-bg);background:var(--color-cyan);font-weight:600}.check{min-height:2.4rem;padding:0 .25rem;display:flex;align-items:center;gap:.4rem;color:var(--color-text-muted);font-size:.7rem}.controls .check>span{margin:0;display:inline;color:inherit;font-size:inherit;text-transform:none}.check input{accent-color:var(--color-cyan)}.workspace{min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;border:1px solid var(--color-border);border-radius:.55rem;overflow:hidden;background:#020405;box-shadow:0 18px 55px #0000003d}.workspace>header{min-height:3.55rem;padding:.65rem 1rem;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--color-border);background:#070a0cc7}.workspace-footer{min-height:2.1rem;padding:0 1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;border-top:1px solid var(--color-border);color:var(--color-text-dimmed);background:var(--color-surface);font:500 .54rem var(--font-mono);letter-spacing:.025em}.workspace-footer span:nth-child(2){color:var(--color-text-muted)}.workspace-footer span:last-child{text-align:right}.eyebrow{margin:0 0 .25rem;color:var(--color-cyan);font-size:.63rem;font-weight:750;letter-spacing:.16em}.workspace h1{margin:0;font-size:1.05rem}.badges{display:flex;align-items:center;gap:.6rem}.simulation{padding:.35rem .55rem;border:1px solid var(--color-orange);border-radius:var(--radius-sm);color:var(--color-yellow);background:var(--color-surface-elevated);font-size:.65rem}.pill{padding:.32rem .58rem;border:1px solid var(--color-border-strong);border-radius:2rem;color:var(--color-text-muted);background:#02040599;font:600 .6rem var(--font-mono);text-transform:uppercase}.pill:before{display:inline-block;width:.35rem;height:.35rem;margin-right:.4rem;border-radius:50%;content:"";background:currentColor}.pill.status-ready{color:var(--color-green);border-color:var(--color-green)}.pill.status-error{color:var(--color-red);border-color:var(--color-red)}.chart-stage{position:relative;width:100%;height:100%;min-height:0;overflow:hidden;background:var(--color-bg)}.chart-stage.grid{background-color:var(--color-bg)}.market-canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:crosshair}.placeholder{position:absolute;inset:0;display:grid;place-items:center;color:var(--color-text-dimmed);font-size:.75rem}.status-layer{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);min-width:18rem;padding:var(--space-md) 1.2rem;display:grid;gap:var(--space-xs);border:1px solid var(--color-border-strong);border-radius:var(--radius-lg);background:var(--color-surface-raised);z-index:8}.status-layer span{color:var(--color-text-muted);font-size:.78rem}.source-blocked{min-height:14rem;padding:var(--space-xl);display:grid;align-content:center;gap:.45rem;border:1px solid var(--color-border-strong);border-radius:var(--radius-lg);background:var(--color-bg)}.source-blocked strong{color:var(--color-red)}.source-blocked span{color:var(--color-text-muted)}.centered-page{min-height:calc(100vh - 3.85rem);display:grid;place-items:center;padding:var(--space-xl);background:var(--color-bg)}.public-page{min-height:100vh}.card{width:min(25rem,100%);padding:var(--space-xl);display:grid;gap:var(--space-lg);border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface)}.card form{display:grid;gap:var(--space-md)}.card h1,.content-page h1{margin:0}.card p{color:var(--color-text-muted)}.card .development-access{margin:0;padding:.7rem .8rem;border:1px solid var(--color-border-strong);border-radius:var(--radius-md);color:var(--color-text-muted);background:var(--color-surface-raised);font:.7rem/1.6 var(--font-mono)}.card .development-access strong{color:var(--color-cyan);font-weight:600}.primary{height:2.7rem;border:0;border-radius:var(--radius-md);background:var(--color-cyan);color:var(--color-bg);font-weight:600}.primary:hover{background:var(--color-cyan-muted);box-shadow:0 0 8px var(--color-cyan-glow)}.content-page{max-width:72rem;min-height:calc(100vh - 3.85rem);margin:auto;padding:4rem var(--space-xl);background:var(--color-bg)}.admin-panel{display:grid;gap:1.25rem}.admin-panel>p{color:var(--color-text-muted)}.admin-panel form{width:min(34rem,100%);padding:1.25rem;display:grid;gap:.8rem;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}.admin-panel form h2,.admin-panel>h2{margin:0}.admin-panel label{display:grid;gap:.35rem;color:var(--color-text);font-size:.82rem}.admin-panel input{height:2.65rem;padding:0 .8rem;color:var(--color-text);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface-raised)}.admin-panel button{min-height:2.4rem;padding:.5rem .75rem;border:1px solid var(--color-border-strong);border-radius:var(--radius-md);color:var(--color-text);background:var(--color-surface-elevated)}.admin-panel form button{border-color:var(--color-cyan);background:var(--color-cyan);color:var(--color-bg);font-weight:600}.admin-panel form button:hover{background:var(--color-cyan-muted)}.admin-panel button:disabled{opacity:.55;cursor:wait}.admin-panel table{width:100%;border-collapse:collapse;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}.admin-panel th,.admin-panel td{padding:.8rem;text-align:left;border-bottom:1px solid var(--color-border-strong)}.admin-panel th{color:var(--color-text-muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.admin-panel td{color:var(--color-text)}.admin-panel td:last-child{display:flex;flex-wrap:wrap;gap:.5rem}.admin-panel tr:last-child td{border-bottom:0}.admin-grid{margin-top:2rem;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.admin-grid article{min-height:10rem;padding:1.2rem;display:grid;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}.admin-grid strong{font-size:2.5rem;color:var(--color-cyan);font-family:var(--font-mono)}.admin-grid span,.admin-grid small{color:var(--color-text-muted)}.feedback-panel{position:fixed;z-index:20;right:1rem;bottom:1rem;width:min(31rem,calc(100vw - 2rem));max-height:calc(100svh - 2rem);padding:.75rem 1rem;overflow:auto;border:1px solid var(--color-border);border-radius:.55rem;background:var(--color-surface);box-shadow:0 18px 55px #0000006b}.feedback-panel:not([open]){width:auto}.feedback-panel summary{cursor:pointer;color:var(--color-text)}.feedback-panel section{padding:1rem 0}.feedback-panel form{display:grid;gap:.75rem}.feedback-panel label{display:grid;gap:.35rem}.feedback-panel textarea{min-height:7rem;padding:.7rem;color:inherit;background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-md)}@media(max-width:760px){.topbar{padding:0 .7rem;gap:.8rem}.topbar nav{display:none}.topbar-context>span,.brand-wordmark small{display:none}.chart-page{height:auto;min-height:calc(100svh - 3.85rem);padding:.65rem;overflow:visible}.controls-kicker,.check{display:none}.workspace>header{align-items:flex-start}.workspace-footer span:nth-child(2){display:none}.badges{flex-direction:column;align-items:flex-end}.chart-stage{min-height:28rem}.admin-grid{grid-template-columns:1fr}}.microstructure-chart-card{height:100%;min-height:0;display:grid;grid-template-rows:minmax(12rem,1fr) auto auto;overflow:hidden;color:var(--color-text);background:#020405}.chart-actions{display:flex;gap:.45rem;flex-shrink:0}.chart-actions button{min-height:2rem;padding:.35rem .65rem;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);color:var(--color-text-muted);background:var(--color-surface);font-size:.65rem;cursor:pointer;transition:all .15s ease}.chart-actions button:hover,.chart-actions button.active{color:var(--color-cyan);border-color:var(--color-cyan-muted);background:var(--color-surface-raised);box-shadow:0 0 8px var(--color-cyan-glow)}.microstructure-metrics{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);background:var(--color-border-subtle)}.microstructure-metrics article{min-height:4.4rem;padding:.7rem 1rem;background:var(--color-surface)}.microstructure-metrics span{display:block;margin-bottom:.5rem;color:var(--color-text-muted);font:600 .57rem var(--font-mono);letter-spacing:.1em}.microstructure-metrics strong{display:block;overflow:hidden;color:var(--color-text);font:600 1rem var(--font-mono);text-overflow:ellipsis;white-space:nowrap}.microstructure-metrics strong.cyan{color:var(--color-cyan)}.microstructure-metrics small{display:block;margin-top:.35rem;overflow:hidden;color:var(--color-text-dimmed);font-size:.58rem;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-mono)}.microstructure-chart-wrap{position:relative;min-height:0;overflow:hidden;cursor:crosshair;background:#020405}.microstructure-chart-wrap.dragging{cursor:grabbing}.microstructure-chart-wrap canvas{display:block;width:100%;height:100%;touch-action:none}.microstructure-chart-wrap canvas:focus-visible{outline:1px solid rgba(0,229,255,.55);outline-offset:-2px}.microstructure-tooltip{position:absolute;z-index:5;width:max-content;max-width:18rem;padding:.7rem .8rem;border:1px solid rgba(0,229,255,.55);border-radius:var(--radius-md);color:var(--color-text);background:#090e10f5;box-shadow:0 12px 32px #0009;font:.66rem/1.65 var(--font-mono);white-space:pre-line;pointer-events:none}.chart-progress,.chart-history-error{position:absolute;z-index:4;left:1rem;bottom:1rem;min-height:1.9rem;padding:.45rem .65rem;border:1px solid var(--color-border-strong);border-radius:2rem;color:var(--color-text-muted);background:#090e10eb;font:.61rem var(--font-mono)}.chart-progress.history{color:var(--color-cyan);border-color:#00e5ff59}.chart-history-error{color:var(--color-yellow);border-color:#ffc7706b;cursor:pointer}.chart-history-error:hover{color:var(--color-bg);background:var(--color-yellow)}.chart-empty{position:absolute;inset:0;display:grid;place-items:center;color:var(--color-text-muted);font-size:.72rem;pointer-events:none}.microstructure-chart-footer{min-height:2.55rem;padding:.3rem 1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;border-top:1px solid var(--color-border);color:var(--color-text-muted);font:.58rem var(--font-mono);background:var(--color-bg)}.microstructure-chart-footer span:last-child{color:var(--color-cyan);text-align:right}.zoom-group{display:inline-flex;align-items:center;gap:.2rem;padding:.15rem .2rem .15rem .45rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-dimmed);background:var(--color-bg)}.zoom-group b{margin-right:.1rem;color:var(--color-axis, #8da0aa);font:700 .62rem var(--font-mono)}.zoom-group button{min-width:1.55rem;padding-inline:.25rem;font-size:.86rem;line-height:1}@media(min-width:761px)and (max-width:900px){.microstructure-metrics{grid-template-columns:repeat(2,1fr)}.microstructure-metrics article:last-child{grid-column:span 2}.chart-stage,.microstructure-chart-card{min-height:24rem}.microstructure-chart-footer span:first-child{display:none}}@media(max-width:560px){.chart-stage,.microstructure-chart-card{min-height:22rem}.microstructure-chart-wrap{min-height:15rem}.microstructure-metrics article{min-height:3.8rem;padding:.55rem .7rem}.microstructure-chart-footer{padding-inline:.6rem;gap:.45rem}.chart-actions{gap:.25rem}.chart-actions>button{padding-inline:.45rem}}
