:root{--bg:#07060d;--panel:#0e0c1a;--panel-2:#141129;--line:#8c78ff2e;--text:#e6e3ff;--muted:#8a86b3;--up:#39ff9c;--dn:#ff3d7f;--gold:#ffb000;--violet:#9d7bff;--cyan:#3de8ff;--pixel:"Press Start 2P", monospace;--mono:"JetBrains Mono", ui-monospace, monospace;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);font:13px/1.45 var(--mono);margin:0}body{background:radial-gradient(1200px 600px at 80% -10%, #9d7bff24, transparent 60%), radial-gradient(900px 500px at -10% 110%, #3de8ff14, transparent 60%), var(--bg);min-height:100vh}body:after{content:"";pointer-events:none;z-index:50;background:repeating-linear-gradient(#ffffff05 0 1px,#0000 1px 3px);position:fixed;inset:0}button{font:600 12px var(--mono);color:var(--text);background:var(--panel-2);border:1px solid var(--line);cursor:pointer;border-radius:6px;padding:8px 12px;transition:border-color .15s,background .15s,transform 50ms}button:hover{border-color:var(--violet)}button:active{transform:translateY(1px)}button.ghost{background:0 0}button.small{padding:4px 8px;font-size:10px}input{width:100%;color:var(--text);background:var(--bg);border:1px solid var(--line);font:13px var(--mono);border-radius:6px;outline:none;margin-top:4px;padding:9px 10px}input:focus{border-color:var(--violet);box-shadow:0 0 0 3px #9d7bff26}a{color:var(--cyan)}.up{color:var(--up)}.dn{color:var(--dn)}.long{color:var(--up)}.short{color:var(--dn)}header{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:20;background:#0e0c1ad9;flex-wrap:wrap;align-items:center;gap:18px;padding:12px 16px;display:flex;position:sticky;top:0}.logo{font:16px var(--pixel);letter-spacing:2px;color:var(--text);text-shadow:0 0 12px #9d7bffb3}.logo span{color:var(--gold);text-shadow:0 0 14px #ffb00099;margin-left:6px}#coins{gap:6px;display:flex}#coins button{flex-direction:column;align-items:flex-start;min-width:92px;padding:6px 10px;display:flex}#coins button small{color:var(--muted);font-weight:400}#coins button.on{border-color:var(--gold);box-shadow:inset 0 0 14px #ffb00040}#coins button.has-pos:after{content:"●";color:var(--gold);margin:-4px 0 0 70px;font-size:9px;position:absolute}#player{align-items:center;gap:10px;margin-left:auto;display:flex}.lvl{font:10px var(--pixel);color:var(--muted)}.lvl b{color:var(--gold);font-size:14px}.xpbar{background:var(--bg);border:1px solid var(--line);border-radius:4px;width:180px;height:18px;position:relative;overflow:hidden}.xpbar div{background:linear-gradient(90deg, var(--violet), var(--cyan));height:100%;box-shadow:0 0 12px var(--violet);transition:width .6s}.xpbar span{place-items:center;font-size:10px;display:grid;position:absolute;inset:0}.rank{font:9px var(--pixel);border:1px solid var(--line);color:var(--muted);border-radius:4px;padding:6px 8px}.r-LEGEND{color:var(--gold);border-color:var(--gold)}.r-SENTINEL{color:var(--cyan);border-color:var(--cyan)}.r-VETERAN{color:var(--violet);border-color:var(--violet)}.hdr-actions{gap:6px;display:flex}.tip{color:var(--gold);border-color:#ffb00066}main{grid-template-columns:minmax(0,1fr) 230px 300px;grid-template-areas:"chart book ticket""pos pos ticket""hist hist hist";gap:10px;padding:10px;display:grid}.panel{border:1px solid var(--line);background:#0e0c1ae6;border-radius:10px;min-width:0;padding:12px}.panel h3{font:10px var(--pixel);color:var(--muted);letter-spacing:1px;margin:0 0 8px}.chart-wrap{flex-direction:column;grid-area:chart;min-height:470px;display:flex}.book{grid-area:book}.ticket{flex-direction:column;grid-area:ticket;gap:10px;display:flex}.positions{grid-area:pos}.history{grid-area:hist}.chart-bar{flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:8px;display:flex}#ticker b{font:12px var(--pixel)}#ticker span{margin-left:8px;font-size:18px;font-weight:800}#intervals{gap:4px;display:flex}#intervals button{padding:4px 8px;font-size:11px}#intervals button.on{border-color:var(--violet);color:var(--violet)}.conn{margin-left:auto;font-size:11px}.conn.ok{color:var(--up)}.conn.bad{color:var(--gold)}#chart{flex:1;min-height:400px}.book-head,.lv{justify-content:space-between;font-size:11px;display:flex}.book-head{color:var(--muted);margin-bottom:4px}.lv{padding:2px 4px;position:relative}.lv i{opacity:.16;position:absolute;top:0;bottom:0;right:0}.lv span{position:relative}.ask span:first-child{color:var(--dn)}.ask i{background:var(--dn)}.bid span:first-child{color:var(--up)}.bid i{background:var(--up)}#spread{text-align:center;color:var(--muted);border-block:1px dashed var(--line);margin:4px 0;padding:6px 0;font-size:10px}.side-toggle{grid-template-columns:1fr 1fr;gap:6px;display:grid}.side-toggle button{font:11px var(--pixel);padding:10px}#long.on{border-color:var(--up);color:var(--up);background:#39ff9c24}#short.on{border-color:var(--dn);color:var(--dn);background:#ff3d7f24}.ticket label{color:var(--muted);letter-spacing:.5px;font-size:10px}.ticket label b{color:var(--gold);float:right}input[type=range]{accent-color:var(--gold);border:0;padding:0}.row2{grid-template-columns:1fr 1fr;align-items:end;gap:8px;display:grid}.risk-row button{height:38px;font-size:10px}.preview{gap:4px;min-height:20px;font-size:12px;display:grid}.preview div{justify-content:space-between;display:flex}.preview span{color:var(--muted)}.preview .liq,td.liq{color:var(--gold)}.preview .warn{color:var(--gold);border:1px dashed #ffb00066;border-radius:6px;padding:6px;font-size:11px;display:block}.place{font:11px var(--pixel);letter-spacing:1px;padding:14px}.place.long{border-color:var(--up);background:linear-gradient(#39ff9c4d,#39ff9c1f)}.place.short{border-color:var(--dn);background:linear-gradient(#ff3d7f4d,#ff3d7f1f)}.fine{color:var(--muted);margin:0;font-size:10px}.tabs{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px;display:flex}.tabs h3{margin:0}#acct{color:var(--muted);font-size:11px}#acct b{color:var(--text)}table{border-collapse:collapse;width:100%;font-size:12px}th{text-align:left;color:var(--muted);border-bottom:1px solid var(--line);padding:4px 6px;font-size:10px;font-weight:400}td{white-space:nowrap;border-bottom:1px solid #8c78ff12;padding:6px}td input.edit{width:96px;margin:0;padding:4px 6px;font-size:12px}td em{color:var(--dn);margin-left:4px;font-size:10px;font-style:normal}button.close{border-color:#ff3d7f66;padding:4px 10px;font-size:10px}.positions,.history{overflow-x:auto}.empty{color:var(--muted);margin:6px 0}.g-flawless{color:var(--gold)}.g-solid{color:var(--up)}.g-disciplined{color:var(--cyan)}.g-loose{color:var(--muted)}.g-unstructured{color:var(--dn)}#medals{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.medal{font:8px var(--pixel);border:1px solid var(--gold);color:var(--gold);background:#ffb0000f;border-radius:4px;padding:6px 8px}.medal b{color:var(--text);margin-left:4px}.medal.dim{opacity:.3}.m-HUMILIATION,.m-TILT,.m-WIDENED{border-color:var(--dn);color:var(--dn);background:#ff3d7f0f}.m-IRON_WILL,.m-STOP_HONORED{border-color:var(--cyan);color:var(--cyan);background:#3de8ff0f}#debrief{z-index:60;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#04030abf;place-items:center;padding:16px;display:grid;position:fixed;inset:0}#debrief[hidden]{display:none}.card{text-align:center;border:2px solid var(--violet);background:linear-gradient(#16122c,#0b0918);border-radius:14px;width:min(440px,100%);padding:26px 22px;animation:.35s cubic-bezier(.2,1.4,.4,1) pop;box-shadow:0 0 60px #9d7bff59}@keyframes pop{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.grade-flawless{border-color:var(--gold);box-shadow:0 0 80px #ffb00073}.grade-disciplined{border-color:var(--cyan);box-shadow:0 0 60px #3de8ff59}.grade-solid{border-color:var(--up)}.grade-unstructured{border-color:var(--dn);box-shadow:0 0 60px #ff3d7f4d}.card-kicker{color:var(--muted);letter-spacing:1px;font-size:10px}.card-head{font:16px/1.5 var(--pixel);margin:14px 0 6px}.grade-flawless .card-head{color:var(--gold)}.grade-disciplined .card-head{color:var(--cyan)}.grade-unstructured .card-head{color:var(--dn)}.grade-solid .card-head{color:var(--up)}.card-xp{font:28px var(--pixel);color:var(--gold);text-shadow:0 0 18px #ffb00099;margin:8px 0}.card-sub{color:var(--muted)}.card-stats{grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0;display:grid}.card-stats div{background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:8px}.card-stats span{color:var(--muted);font-size:9px;display:block}.checks{text-align:left;gap:4px;margin:0 0 12px;padding:0;list-style:none;display:grid}.checks li i{width:20px;font-style:normal;font-weight:800;display:inline-block}.checks .pass i{color:var(--up)}.checks .fail i{color:var(--dn)}.checks .unknown i{color:var(--gold)}.card-medals{flex-wrap:wrap;justify-content:center;gap:6px;margin-bottom:12px;display:flex}.card-motto{font:9px/1.6 var(--pixel);color:var(--violet);margin:12px 0 16px}#dismiss{font:10px var(--pixel);border-color:var(--violet);padding:12px 24px}#toast{opacity:0;z-index:70;background:var(--panel-2);border:1px solid var(--violet);pointer-events:none;border-radius:8px;max-width:calc(100vw - 32px);padding:10px 16px;transition:all .25s;position:fixed;bottom:22px;left:50%;transform:translate(-50%,30px)}#toast.show{opacity:1;transform:translate(-50%)}#toast.bad{border-color:var(--gold);color:var(--gold)}footer{color:var(--muted);text-align:center;padding:16px;font-size:11px}footer p{max-width:900px;margin:0 auto}@media (width<=1100px){main{grid-template-columns:minmax(0,1fr) 300px;grid-template-areas:"chart ticket""book ticket""pos pos""hist hist"}}@media (width<=760px){header{gap:10px;padding:10px 16px}#player{margin-left:0}.xpbar{width:130px}main{grid-template-columns:minmax(0,1fr);grid-template-areas:"chart""ticket""book""pos""hist";padding:10px 16px}.chart-wrap{min-height:360px}#chart{min-height:300px}#coins{max-width:100%;overflow-x:auto}}
