:root{--bg:#0c1117;--panel:#131a22;--panel-2:#18212b;--ink:#e6ebf1;--muted:#8b99a8;--line:#24303c;--accent:#8ea2ff;--accent-soft:#222b4a;--bid:#3fc9a3;--bid-soft:#3fc9a324;--ask:#ff7a70;--ask-soft:#ff7a7024;--warn:#f0b04d;--display:"Bricolage Grotesque", "Avenir Next", "Segoe UI", sans-serif;--body:"IBM Plex Sans", "Helvetica Neue", Arial, sans-serif;--mono:"JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:light){:root{--bg:#eef1f4;--panel:#fff;--panel-2:#f5f7fa;--ink:#17202b;--muted:#5d6b7a;--line:#d5dce4;--accent:#2847d6;--accent-soft:#e3e8fc;--bid:#0f8a6c;--bid-soft:#0f8a6c1f;--ask:#c8423b;--ask-soft:#c8423b1f;--warn:#a8670a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}}*{box-sizing:border-box}[hidden]{display:none!important}html,body{margin:0}body{background:var(--bg);color:var(--ink);font:14px/1.45 var(--body);-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}h2,h3,h4{margin:0}h3{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:12px;font-weight:600}h4{font-size:13px;font-weight:600}p{margin:0}.muted{color:var(--muted)}.small{font-size:12px}.num,.px,.stat b,.book-row,.trade-row,input{font-family:var(--mono);font-variant-numeric:tabular-nums}.buy{color:var(--bid)}.sell{color:var(--ask)}.warn{color:var(--warn)}.err{color:var(--ask)}.fatal{text-align:center;place-items:center;min-height:100vh;padding:24px;display:grid}.app{flex-direction:column;min-height:100vh;display:flex}.top{border-bottom:1px solid var(--line);background:var(--panel);z-index:20;align-items:center;gap:24px;padding:10px 16px;display:flex;position:sticky;top:0}.brand{flex:none;align-items:center;gap:10px;display:flex}.logo{gap:2px;width:20px;display:grid}.logo i{border-radius:2px;height:4px;display:block}.logo i:first-child{background:var(--ask);width:60%}.logo i:nth-child(2){background:var(--ask);opacity:.55;width:85%}.logo i:nth-child(3){background:var(--bid);opacity:.55;width:100%}.logo i:nth-child(4){background:var(--bid);width:70%}.name{font-family:var(--display);letter-spacing:-.02em;font-size:19px;font-weight:800}.pill{background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600}.ticker{scrollbar-width:none;flex:1;align-items:center;gap:24px;min-width:0;display:flex;overflow-x:auto}.ticker::-webkit-scrollbar{display:none}.pair{flex:none;display:grid}.pair b{font-size:15px}.stat{flex:none;display:grid}.stat b{font-size:13px;font-weight:500}.stat.big b{font-size:17px;font-weight:600}.stat.big.buy b{color:var(--bid)}.stat.big.sell b{color:var(--ask)}.top-right{flex:none;align-items:center;gap:12px;display:flex}.live{color:var(--muted);align-items:center;gap:6px;font-size:12px;display:flex}.dot{background:var(--muted);border-radius:50%;width:7px;height:7px;display:inline-block}.live.on .dot,.dot.ok{background:var(--bid);box-shadow:0 0 0 3px var(--bid-soft)}.live.on .dot{animation:2s infinite pulse}@keyframes pulse{50%{box-shadow:0 0 0 6px #0000}}.btn{border:1px solid var(--line);background:var(--panel-2);border-radius:8px;padding:7px 14px;font-weight:500}.btn.primary{background:var(--accent);border-color:var(--accent);color:#0c1117}@media (prefers-color-scheme:light){.btn.primary{color:#fff}}.btn.ghost{background:0 0}.btn.big{color:#0c1117;border:none;width:100%;padding:12px;font-size:15px;font-weight:600}.btn.big.buy{background:var(--bid)}.btn.big.sell{background:var(--ask)}.link{color:var(--accent);background:0 0;border:none;padding:0;font-size:12px}.wallet{position:relative}.wallet .btn{align-items:center;gap:8px;display:flex}.wallet-menu{background:var(--panel);border:1px solid var(--line);border-radius:10px;gap:4px;width:260px;padding:8px;display:grid;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 12px 32px #00000059}.wallet-item{text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;width:100%;padding:8px 10px;display:flex}.wallet-item:hover{background:var(--panel-2)}.wallet-item img{border-radius:6px}.menu-note{color:var(--muted);padding:6px 10px;font-size:12px}.desk{flex:1;grid-template:"chart book ticket"minmax(560px,auto)"account trades ticket"/minmax(0,1fr) 320px 320px;gap:10px;padding:10px;display:grid}.chart{grid-area:chart}.book{grid-area:book}.ticket{grid-area:ticket;align-self:start}.account{grid-area:account}.trades{grid-area:trades}@media (width<=1180px){.desk{grid-template:"chart chart"400px"book ticket""trades account"/minmax(0,1fr) minmax(0,1fr)}.ticket{align-self:stretch}}@media (width<=720px){.top{flex-wrap:wrap;gap:10px}.ticker{flex-basis:100%;order:3}.top-right{margin-left:auto}.desk{grid-template:"chart"300px"book""ticket""account""trades"/minmax(0,1fr);padding:8px 0}.panel{border-left:none;border-right:none;border-radius:0}}.panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;flex-direction:column;min-width:0;padding:12px 14px;display:flex}.panel-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.empty-note{text-align:center;padding:24px 0}.chart-box{flex:1;min-height:240px;position:relative;overflow:hidden}.chart-box svg{position:absolute;inset:0}.chart .grid{stroke:var(--line);stroke-dasharray:2 4}.chart .axis{fill:var(--muted);font:11px var(--mono)}.chart .axis.strong{fill:var(--ink);font-weight:600}.chart .up .wick,.chart .up .body{stroke:var(--bid);fill:var(--bid)}.chart .down .wick,.chart .down .body{stroke:var(--ask);fill:var(--ask)}.chart .vol{opacity:.25;stroke:none}.chart .up .vol{fill:var(--bid)}.chart .down .vol{fill:var(--ask)}.chart .midline{stroke:var(--accent);stroke-dasharray:4 3;opacity:.8}.chart .midtag{fill:var(--accent-soft);stroke:var(--accent)}.chart-foot{margin-top:6px}.seg{background:var(--panel-2);border-radius:7px;gap:2px;padding:2px;display:flex}.seg button{color:var(--muted);background:0 0;border:none;border-radius:5px;padding:3px 9px;font-size:12px}.seg button.on{background:var(--panel);color:var(--ink)}.book-cols,.trade-cols{color:var(--muted);grid-template-columns:1fr 1fr 1fr;padding:0 6px 4px;font-size:11px;display:grid}.book-cols span:not(:first-child),.trade-cols span:not(:first-child){text-align:right}.book-side{flex-direction:column;display:flex}.book-row{text-align:right;background:0 0;border:none;grid-template-columns:1fr 1fr 1fr;align-items:center;width:100%;height:21px;padding:0 6px;font-size:12px;display:grid;position:relative}.book-row.empty{pointer-events:none}.book-row:not(.empty):hover{background:var(--panel-2)}.book-row .px{text-align:left;position:relative}.book-row span{position:relative}.book-row .cum{color:var(--muted)}.book-row .depth{border-radius:2px;transition:width .25s;position:absolute;top:1px;bottom:1px;right:0}.ask .px{color:var(--ask)}.ask .depth{background:var(--ask-soft)}.bid .px{color:var(--bid)}.bid .depth{background:var(--bid-soft)}.book-mid{border-block:1px solid var(--line);justify-content:space-between;align-items:baseline;margin:4px 0;padding:8px 6px;display:flex}.book-mid .last{font:600 17px var(--mono)}.book-mid .last.buy{color:var(--bid)}.book-mid .last.sell{color:var(--ask)}.trades{max-height:560px}.trade-list{flex:1;min-height:160px;overflow-y:auto}.trade-row{color:var(--ink);border-radius:4px;grid-template-columns:1fr 1fr 1fr;padding:2px 6px;font-size:12px;animation:.9s flash;display:grid}.trade-row span:not(:first-child){text-align:right}.trade-row:hover{background:var(--panel-2);text-decoration:none}.trade-row.buy .px{color:var(--bid)}.trade-row.sell .px{color:var(--ask)}@keyframes flash{0%{background:var(--accent-soft)}}.ticket{gap:12px}.tabs{border-bottom:1px solid var(--line);gap:16px;display:flex}.tabs button{color:var(--muted);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:4px 0 8px;font-weight:600}.tabs button.on{color:var(--ink);border-color:var(--accent)}.dir{background:var(--panel-2);border-radius:9px;grid-template-columns:1fr 1fr;gap:6px;padding:3px;display:grid}.dir button{color:var(--muted);background:0 0;border:none;border-radius:7px;padding:8px;font-weight:600}.dir .buy.on{background:var(--bid);color:#0c1117}.dir .sell.on{background:var(--ask);color:#0c1117}.field{gap:4px;display:grid;position:relative}.field>span{color:var(--muted);font-size:12px}.field input{border:1px solid var(--line);background:var(--panel-2);width:100%;color:var(--ink);border-radius:8px;outline:none;padding:10px 12px;font-size:15px}.field input:focus{border-color:var(--accent)}.field .max{background:var(--accent-soft);color:var(--accent);border:none;border-radius:5px;padding:3px 7px;font-size:11px;position:absolute;bottom:8px;right:8px}.check{color:var(--muted);align-items:center;gap:8px;font-size:13px;display:flex}.quote{gap:6px;min-height:84px;margin:0;font-size:13px;display:grid}.quote div{justify-content:space-between;gap:8px;display:flex}.quote dt{color:var(--muted)}.quote dd{font-family:var(--mono);text-align:right;margin:0}.howto{color:var(--muted);gap:10px;display:grid}.howto b{color:var(--ink)}.howto ol{gap:4px;margin:0;padding-left:18px;display:grid}.balances{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr auto;align-items:start;gap:16px;padding-bottom:12px;display:grid}.bal{gap:2px;font-size:13px;display:grid}.bal b{font-family:var(--mono);font-weight:500}.bal-actions{gap:6px;display:grid}@media (width<=720px){.balances{grid-template-columns:1fr 1fr}.bal-actions{grid-column:1/-1;grid-template-columns:1fr 1fr}}.orders{gap:6px;padding-top:10px;display:grid}.orders-head{justify-content:space-between;align-items:center;display:flex}.orders table{border-collapse:collapse;width:100%;font-size:12px}.orders th{text-align:left;color:var(--muted);padding:4px 0;font-weight:500}.orders td{border-top:1px solid var(--line);padding:4px 0}.orders td:last-child,.orders th:last-child{text-align:right}.about{max-width:1240px;color:var(--muted);grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:0 auto;padding:28px 16px 40px;display:grid}.about h2{font-family:var(--display);color:var(--ink);letter-spacing:-.01em;margin-bottom:6px;font-size:18px;font-weight:800}@media (width<=900px){.about{grid-template-columns:1fr}}.toasts{z-index:50;gap:8px;max-width:min(380px,100vw - 32px);display:grid;position:fixed;bottom:16px;right:16px}.toast{background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;font-size:13px;display:flex;box-shadow:0 8px 24px #0000004d}.toast.ok{border-left-color:var(--bid)}.toast.err{border-left-color:var(--ask)}.soon{gap:18px;max-width:640px;margin:0 auto;padding:72px 16px;display:grid}.soon h1{font-family:var(--display);letter-spacing:-.02em;margin:12px 0 0;font-size:clamp(30px,6vw,44px);font-weight:800;line-height:1.05}.soon p{font-size:16px}.steps{counter-reset:s;gap:10px;margin:6px 0;padding:0;list-style:none;display:grid}.steps li{counter-increment:s;color:var(--muted);align-items:center;gap:12px;display:flex}.steps li:before{content:counter(s);border:1px solid var(--line);width:26px;height:26px;font:600 12px var(--mono);border-radius:50%;flex:none;place-items:center;display:grid}.steps li.done{color:var(--ink)}.steps li.done:before{content:"✓";background:var(--bid-soft);border-color:var(--bid);color:var(--bid)}.steps li.now{color:var(--ink);font-weight:600}.steps li.now:before{border-color:var(--accent);color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}
