:root{--bg:#08090b;--bg2:#0d0f12;--card:#111317;--card2:#16191e;--line:#22262d;--line2:#2f343d;--text:#f2efe9;--mute:#9a9ca3;--dim:#666a73;
--gold:#d9bd8f;--gold2:#a98d62;--up:#5fd6a4;--down:#f0776c;--warn:#e7b65c;--info:#7fa9e8;
--mono:"Geist Mono",ui-monospace,Menlo,Consolas,monospace;--sans:Geist,system-ui,-apple-system,"Segoe UI",sans-serif;--serif:Geist,system-ui,sans-serif;--r:16px}
*{box-sizing:border-box}html,body{margin:0;height:100%}
body{background:radial-gradient(1100px 620px at 78% -8%,#1a1712 0%,transparent 62%),var(--bg);background-attachment:fixed;color:var(--text);font:14px/1.5 var(--sans);-webkit-font-smoothing:antialiased}
button,input,select{font:inherit;color:inherit}a{color:inherit;text-decoration:none}
::selection{background:#d9bd8f44}
::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#262a31;border-radius:9px;border:2px solid var(--bg)}
.app{display:grid;grid-template-columns:232px minmax(0,1fr);min-height:100%}
.side{position:sticky;top:0;height:100vh;padding:26px 16px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:26px;background:#0a0b0dcc;backdrop-filter:blur(14px)}
.brand{display:flex;align-items:center;gap:11px;padding:0 10px}.mark{width:30px;height:30px;border-radius:9px;background:linear-gradient(145deg,#ecd6ae,#92754a);display:grid;place-items:center;color:#14110b;font:600 16px var(--serif);box-shadow:0 6px 22px #d9bd8f2e}
.brand b{font:600 18px/1 var(--serif);letter-spacing:-.02em}.brand small{display:block;color:var(--dim);font-size:10px;letter-spacing:.17em;margin-top:4px}
.nav{display:flex;flex-direction:column;gap:3px}.nav a{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:11px;color:var(--mute);transition:.16s;border:1px solid transparent}
.nav a:hover{color:var(--text);background:#ffffff08}.nav a.on{color:var(--text);background:linear-gradient(90deg,#d9bd8f18,#d9bd8f05);border-color:#d9bd8f24}.nav svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.6}
.nav a.on svg{stroke:var(--gold)}
.side-foot{margin-top:auto;padding:13px;border:1px solid var(--line);border-radius:13px;background:var(--bg2);font-size:12px;color:var(--mute)}.side-foot button{all:unset;cursor:pointer;color:var(--dim);font-size:11.5px;margin-top:8px;display:block}.side-foot button:hover{color:var(--text)}
main{padding:30px 38px 70px;max-width:1500px;width:100%}
.head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:24px}.head h1{font:600 32px/1.1 var(--serif);margin:0;letter-spacing:-.03em}.head p{margin:7px 0 0;color:var(--mute)}
.pill{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:99px;border:1px solid var(--line2);font-size:12px;background:var(--bg2);white-space:nowrap}
.dot{width:7px;height:7px;border-radius:50%;background:var(--dim)}.dot.up{background:var(--up);box-shadow:0 0 0 0 #5fd6a488;animation:pulse 2s infinite}.dot.down{background:var(--down)}.dot.warn{background:var(--warn)}
@keyframes pulse{70%{box-shadow:0 0 0 7px #5fd6a400}100%{box-shadow:0 0 0 0 #5fd6a400}}
.seg{display:inline-flex;padding:3px;border:1px solid var(--line);border-radius:12px;background:var(--bg2);flex-wrap:wrap}.seg button{all:unset;cursor:pointer;padding:6px 13px;border-radius:9px;color:var(--mute);font-size:12.5px}.seg button:hover{color:var(--text)}.seg button.on{background:var(--card2);color:var(--gold);box-shadow:inset 0 0 0 1px var(--line2)}
.card{background:linear-gradient(180deg,var(--card),#0f1114);border:1px solid var(--line);border-radius:var(--r);padding:21px}.card h3{margin:0 0 3px;font-size:13px;font-weight:550}.card .sub{color:var(--dim);font-size:12px;margin-bottom:14px}
.grid{display:grid;gap:14px}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g2{grid-template-columns:minmax(0,1.9fr) minmax(0,1fr)}.mt{margin-top:14px}
.hero{padding:28px 30px;position:relative;overflow:hidden;display:flex;flex-direction:column;background:radial-gradient(600px 240px at 88% 0,#d9bd8f15,transparent 70%),linear-gradient(180deg,#14161a,#0e1013)}
.hero .big{font:500 58px/1.05 var(--serif);letter-spacing:-.045em;margin:9px 0 5px;font-variant-numeric:tabular-nums}.label{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}
.trio{display:grid;grid-template-columns:repeat(3,auto);gap:30px;justify-content:start;margin-top:auto;padding-top:18px;border-top:1px solid var(--line)}.hero>.muted{margin-bottom:20px}.trio b{display:block;font:500 18px var(--mono);margin-top:3px}
.kpi b{display:block;font:500 25px/1.2 var(--serif);letter-spacing:-.025em;margin-top:8px;font-variant-numeric:tabular-nums}.kpi small{color:var(--dim);font-size:12px}
.up{color:var(--up)}.down{color:var(--down)}.warn{color:var(--warn)}.gold{color:var(--gold)}.muted{color:var(--mute)}.dimmed{color:var(--dim)}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}
.chart{position:relative;width:100%}.chart svg{display:block;width:100%;overflow:visible}.tip{position:absolute;pointer-events:none;background:#000c;backdrop-filter:blur(8px);border:1px solid var(--line2);border-radius:10px;padding:8px 11px;font-size:12px;white-space:nowrap;transform:translate(-50%,-115%);opacity:0;transition:opacity .1s;z-index:5}
.table{width:100%;overflow:auto}table{border-collapse:collapse;width:100%;min-width:780px}th{font-size:10.5px;letter-spacing:.11em;text-transform:uppercase;color:var(--dim);text-align:left;font-weight:500;padding:10px 12px;border-bottom:1px solid var(--line);white-space:nowrap}
td{padding:12px;border-bottom:1px solid #1a1d22;white-space:nowrap}tbody tr{transition:background .12s}tbody tr.click{cursor:pointer}tbody tr:hover{background:#ffffff06}td.r,th.r{text-align:right}
.tag{display:inline-block;padding:2px 8px;border-radius:7px;font-size:10.5px;letter-spacing:.05em;border:1px solid var(--line2);color:var(--mute);font-weight:550}.tag.LONG,.tag.good{color:var(--up);border-color:#5fd6a435;background:#5fd6a40d}.tag.SHORT,.tag.bad{color:var(--down);border-color:#f0776c35;background:#f0776c0d}.tag.warn{color:var(--warn);border-color:#e7b65c35;background:#e7b65c0d}.tag.info{color:var(--info);border-color:#7fa9e835;background:#7fa9e80d}.tag.gold{color:var(--gold);border-color:#d9bd8f40;background:#d9bd8f0d}
.bar{display:flex;gap:9px;flex-wrap:wrap;align-items:center;margin-bottom:14px}input,select{background:var(--bg2);border:1px solid var(--line);border-radius:10px;padding:8px 11px;outline:none;color-scheme:dark}input:focus,select:focus{border-color:var(--gold2)}
.btn{all:unset;cursor:pointer;padding:9px 16px;border-radius:10px;background:linear-gradient(180deg,#e7cfa5,#b99a6c);color:#16120b;font-weight:600;font-size:13px;text-align:center}.btn:hover{filter:brightness(1.07)}.btn.ghost{background:none;color:var(--text);box-shadow:inset 0 0 0 1px var(--line2);font-weight:500}.btn.ghost:hover{background:#ffffff08}.btn[disabled]{opacity:.45;cursor:wait}.btn.small{padding:6px 11px;font-size:12px}
.empty{padding:50px 20px;text-align:center;color:var(--mute)}.empty b{display:block;font:500 19px var(--serif);letter-spacing:-.02em;color:var(--text);margin-bottom:6px}
.cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.cal i{font-style:normal;color:var(--dim);font-size:10.5px;letter-spacing:.1em;text-align:center;padding-bottom:3px}.cell{min-height:80px;border:1px solid var(--line);border-radius:12px;padding:9px 10px;background:var(--bg2);display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.cell.none{opacity:.34}.cell.blank{visibility:hidden}.cell b{font:500 13.5px var(--mono)}.cell small{color:var(--dim);font-size:11px}
.drawer{position:fixed;inset:0 0 0 auto;width:min(530px,100vw);background:#0d0f12f7;backdrop-filter:blur(18px);border-left:1px solid var(--line2);padding:28px;overflow:auto;transform:translateX(102%);transition:transform .24s cubic-bezier(.2,.8,.2,1);z-index:30}.drawer.on{transform:none}.scrim{position:fixed;inset:0;background:#0007;opacity:0;pointer-events:none;transition:.2s;z-index:29}.scrim.on{opacity:1;pointer-events:auto}
.tl{border-left:1px solid var(--line2);margin:15px 0 0 5px;padding-left:18px}.tl div{position:relative;padding-bottom:15px}.tl div:before{content:"";position:absolute;left:-22px;top:6px;width:7px;height:7px;border-radius:50%;background:var(--gold)}.tl small{display:block;color:var(--dim);font:11.5px var(--mono)}.tl span{font-size:12.5px;color:var(--mute);word-break:break-word}
.kv{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:20px 0}.kv b{display:block;font:500 15px var(--mono);margin-top:3px}
.log{font:12px/1.75 var(--mono);max-height:520px;overflow:auto}.log div{white-space:nowrap}.log .t{color:var(--dim)}.log .g{color:var(--gold);margin:0 8px}.log .m{color:var(--mute)}
.ev{display:grid;grid-template-columns:150px 150px minmax(0,1fr);gap:12px;padding:13px 0;border-bottom:1px solid #1a1d22;align-items:start}.ev span:last-child{color:var(--mute);word-break:break-word}
.acct{display:flex;flex-direction:column;gap:14px}.acct .row{display:flex;justify-content:space-between;align-items:center;gap:10px}.acct .name{font:600 20px var(--serif);letter-spacing:-.02em}.acct .line{display:flex;justify-content:space-between;gap:12px;font-size:12.5px;padding-top:10px;border-top:1px solid #1a1d22}.acct .line span:first-child{color:var(--dim)}
.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);padding:10px 17px;background:var(--card2);border:1px solid var(--line2);border-radius:11px;z-index:50;opacity:0;transition:.2s;pointer-events:none}.toast.on{opacity:1}
.note{padding:12px 15px;border:1px solid #e7b65c2e;border-radius:12px;background:#e7b65c0a;color:#d9c49b;font-size:12.5px;margin-bottom:14px}
.fade{animation:fade .35s ease}@keyframes fade{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
.mobile{display:none}
@media(max-width:1180px){.g4{grid-template-columns:repeat(2,minmax(0,1fr))}.g3,.g2{grid-template-columns:minmax(0,1fr)}}
@media(max-width:820px){.app{grid-template-columns:minmax(0,1fr)}.side{display:none}.mobile{display:flex;position:fixed;bottom:0;inset-inline:0;background:#0b0c0ff2;backdrop-filter:blur(14px);border-top:1px solid var(--line);z-index:20;overflow-x:auto;padding:5px 4px calc(5px + env(safe-area-inset-bottom))}.mobile a{flex:1 0 66px;text-align:center;padding:7px 3px;font-size:10.5px;color:var(--mute)}.mobile a.on{color:var(--gold)}.mobile svg{display:block;margin:0 auto 3px;width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.6}
main{padding:20px 16px 94px}.head h1{font-size:27px}.hero{padding:21px}.hero .big{font-size:42px}.trio{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.ev{grid-template-columns:minmax(0,1fr)}.ev span{display:block}.cell{min-height:64px;padding:6px}.cell b{font-size:10.5px}.cell small{font-size:9.5px}.kpi b{font-size:21px}}
.login{min-height:100vh;display:grid;place-items:center;padding:16px}.login form{width:min(390px,100%);padding:36px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(180deg,#14161acc,#0d0f12cc);backdrop-filter:blur(20px);box-shadow:0 30px 90px #0009}.login h1{font:600 30px/1.15 var(--serif);letter-spacing:-.03em;margin:24px 0 5px}.login p{color:var(--mute);margin:0 0 24px}.login input{width:100%;padding:12px 14px;margin-bottom:12px}.login .btn{display:block;width:100%;box-sizing:border-box;padding:12px}.login .err{color:var(--down);font-size:13px;min-height:20px;margin-top:9px}
.modal{position:fixed;inset:0;background:#000a;backdrop-filter:blur(6px);display:grid;place-items:center;padding:16px;z-index:60}.modal .box{width:min(460px,100%);max-height:90vh;overflow:auto;background:linear-gradient(180deg,#16191e,#0e1013);border:1px solid var(--line2);border-radius:18px;padding:26px;box-shadow:0 30px 90px #000a}.modal h3{font:600 22px var(--serif);letter-spacing:-.02em;margin:0 0 6px}.modal p{margin:0 0 15px;font-size:13px}.modal input,.modal select{width:100%;margin:6px 0 13px}.modal .acts{display:flex;justify-content:flex-end;gap:9px;margin-top:6px}.modal .err{color:var(--down);font-size:13px;min-height:18px}
.set{display:flex;justify-content:space-between;align-items:center;gap:22px;padding:14px 0;border-top:1px solid #1a1d22;flex-wrap:wrap}.set>div:first-child{flex:1 1 220px}.set b{font-weight:500;display:block}.set small{color:var(--dim);font-size:12px}.numi{display:flex;align-items:center;gap:7px}.numi input{width:118px;text-align:right;font:13px var(--mono)}.numi span{color:var(--dim);font-size:12px;width:30px}.coins{display:flex;gap:9px;flex-wrap:wrap}.coins em{display:block;font-style:normal;font-size:10px;letter-spacing:.1em;color:var(--dim);margin-bottom:3px}.coins .numi input{width:92px}.coins .numi span{width:auto}
.sw{position:relative;display:inline-block;width:42px;height:24px;cursor:pointer}.sw input{position:absolute;opacity:0}.sw i{position:absolute;inset:0;border-radius:99px;background:#22262d;transition:.15s}.sw i:after{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;border-radius:50%;background:#9a9ca3;transition:.15s}.sw input:checked+i{background:#b99a6c}.sw input:checked+i:after{left:21px;background:#fff}.sw input:focus-visible+i{outline:2px solid var(--gold)}
.chips{display:flex;gap:7px;flex-wrap:wrap}.chip input{position:absolute;opacity:0}.chip span{display:block;padding:6px 12px;border:1px solid var(--line2);border-radius:9px;color:var(--mute);cursor:pointer;font-size:12.5px}.chip input:checked+span{color:var(--gold);border-color:var(--gold2);background:#d9bd8f12}
.savebar{position:sticky;bottom:18px;margin-top:16px;display:none;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;background:#1a1d22f2;backdrop-filter:blur(12px);border:1px solid var(--gold2);border-radius:14px;z-index:15;flex-wrap:wrap}.savebar.on{display:flex}
@media(max-width:820px){.savebar{bottom:78px}.set{gap:10px}}
.prog{height:5px;border-radius:9px;background:#22262d;overflow:hidden;margin-top:13px}.prog i{display:block;height:100%;background:linear-gradient(90deg,#a98d62,#e7cfa5);transition:width .4s}.soakg{grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}.spark{display:block;width:100%;margin-top:15px}
@media(max-width:820px){.soakg{grid-template-columns:repeat(3,minmax(0,1fr))}}
.mstrip{display:flex;gap:30px;flex-wrap:wrap;padding:15px 21px}.mstrip b{display:block;font-size:14px;font-weight:500;margin-top:3px}
.mcards{grid-template-columns:repeat(auto-fit,minmax(min(100%,430px),1fr))}.mc{transition:border-color .2s,box-shadow .2s}.mc-hot{border-color:#5fd6a466;box-shadow:0 0 34px #5fd6a414}.mc-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.mc-name b{font:600 19px var(--sans);letter-spacing:-.02em}.mc-pair{color:var(--dim);font-size:11.5px;margin-left:8px}
.mc-sides{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.mc-side{padding:12px 13px;border:1px solid var(--line);border-radius:12px;background:var(--bg2);min-width:0}.mc-sub span{font-size:12.5px;font-weight:500}.mc-sub small{display:block;color:var(--dim);font-size:10.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mc-spread{font-size:21px;font-weight:500;margin:8px 0 8px;letter-spacing:-.02em}.mc-spread.hot{color:var(--up)}
.meter{position:relative;height:4px;background:#22262d;border-radius:9px}.meter i{display:block;height:100%;border-radius:9px;background:#6d717a;transition:width .15s}.meter i.hot{background:var(--up)}.meter u{position:absolute;top:-2px;width:1.5px;height:8px;background:var(--gold);text-decoration:none}
.mc-line{display:flex;justify-content:space-between;font-size:12px;margin-top:9px;color:var(--dim)}.mc-line b{font-weight:500}.holdbar{height:3px;margin-top:8px;border-radius:9px;background:transparent;overflow:hidden}.holdbar.on{background:#22262d}.holdbar i{display:block;height:100%;background:var(--gold)}
.book{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px 10px;margin-top:14px;font-size:12.5px;align-items:center}.bh{color:var(--dim);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;text-align:right}.bx{display:flex;align-items:center;gap:7px;color:var(--mute)}.bp{justify-self:end;text-align:right;font-size:14px;font-weight:500;border-radius:5px;padding:1px 5px}
.tick-up{animation:tu .5s ease-out}.tick-down{animation:td .5s ease-out}@keyframes tu{from{background:#5fd6a44d}to{background:transparent}}@keyframes td{from{background:#f0776c4d}to{background:transparent}}
.spark2{display:block;width:100%;height:56px;margin-top:13px}.mc-foot{display:flex;justify-content:space-between;gap:10px;margin-top:9px;font-size:11px;color:var(--dim);flex-wrap:wrap}.line2{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid #1a1d22;font-size:12.5px}.line2:first-child{border-top:0}.line2 small{font-size:11px}
