:root,:root[data-theme=dark]{--bg: #090b0f;--bg-2: #0d1015;--panel: #11151b;--panel-2: #161b23;--panel-3: #1b212b;--border: #212833;--border-2: #2b3442;--text: #e8ecf3;--text-2: #a4aebf;--text-3: #6c7688;--accent: #4f7dff;--accent-2: #3f68e6;--accent-soft: rgba(79, 125, 255, .14);--pos: #1ec47c;--pos-soft: rgba(30, 196, 124, .13);--neg: #f04f6a;--neg-soft: rgba(240, 79, 106, .13);--warn: #f5a524;--warn-soft: rgba(245, 165, 36, .14);--info: #38bdf8;--info-soft: rgba(56, 189, 248, .13);--shadow: 0 1px 0 rgba(255, 255, 255, .02) inset, 0 10px 30px -12px rgba(0, 0, 0, .6);--overlay: rgba(3, 5, 8, .66);--chart-grid: rgba(255, 255, 255, .04);color-scheme:dark}:root[data-theme=light]{--bg: #f4f6f9;--bg-2: #eef1f5;--panel: #ffffff;--panel-2: #f7f9fb;--panel-3: #eef1f6;--border: #e3e7ee;--border-2: #d3d9e3;--text: #0f1621;--text-2: #4a5568;--text-3: #8592a6;--accent: #3563f0;--accent-2: #2a52d4;--accent-soft: rgba(53, 99, 240, .1);--pos: #0f9d63;--pos-soft: rgba(15, 157, 99, .1);--neg: #dc2f4f;--neg-soft: rgba(220, 47, 79, .09);--warn: #c77c02;--warn-soft: rgba(199, 124, 2, .1);--info: #0284c7;--info-soft: rgba(2, 132, 199, .09);--shadow: 0 1px 2px rgba(16, 24, 40, .05), 0 8px 24px -14px rgba(16, 24, 40, .18);--overlay: rgba(15, 22, 33, .35);--chart-grid: rgba(15, 22, 33, .05);color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font:13.5px/1.5 -apple-system,BlinkMacSystemFont,Inter,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--accent);text-decoration:none}.num,.mono,td.num{font-variant-numeric:tabular-nums}.mono{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:12.5px}.muted{color:var(--text-2)}.faint{color:var(--text-3)}.pos{color:var(--pos)}.neg{color:var(--neg)}.warn-text{color:var(--warn)}::selection{background:var(--accent-soft)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border-2);border-radius:10px;border:3px solid transparent;background-clip:content-box}::-webkit-scrollbar-track{background:transparent}.app{display:grid;grid-template-columns:240px minmax(0,1fr);height:100%}.app.collapsed{grid-template-columns:68px minmax(0,1fr)}.sidebar{background:var(--bg-2);border-right:1px solid var(--border);display:flex;flex-direction:column;min-height:0;overflow:hidden}.brand{display:flex;align-items:center;gap:10px;height:60px;padding:0 18px;border-bottom:1px solid var(--border);flex:none}.brand-mark{width:28px;height:28px;border-radius:8px;background:var(--accent);display:grid;place-items:center;color:#fff;flex:none}.brand-name{font-weight:650;letter-spacing:-.01em;white-space:nowrap}.brand-tag{font-size:10.5px;font-weight:600;color:var(--text-3);border:1px solid var(--border-2);border-radius:5px;padding:0 5px;margin-left:2px}.nav{flex:1;overflow-y:auto;padding:12px 10px}.nav-group{margin-bottom:16px}.nav-label{font-size:10.5px;font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);padding:0 10px 6px;white-space:nowrap}.nav-item{display:flex;align-items:center;gap:10px;width:100%;height:34px;padding:0 10px;border-radius:8px;border:0;background:none;color:var(--text-2);cursor:pointer;text-align:left;white-space:nowrap;position:relative}.nav-item:hover{background:var(--panel-2);color:var(--text)}.nav-item.active{background:var(--accent-soft);color:var(--text)}.nav-item.active:before{content:"";position:absolute;left:-10px;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:var(--accent)}.nav-item svg{flex:none;opacity:.9}.nav-item .nav-end{margin-left:auto;display:flex;align-items:center}.app.collapsed .nav-label,.app.collapsed .nav-text,.app.collapsed .nav-end,.app.collapsed .brand-name,.app.collapsed .brand-tag,.app.collapsed .side-user-meta{display:none}.app.collapsed .nav-item,.app.collapsed .brand{justify-content:center;padding:0}.side-foot{border-top:1px solid var(--border);padding:10px;display:flex;flex-direction:column;gap:6px;flex:none}.side-user{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:8px}.avatar{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,var(--accent),#8b5cf6);color:#fff;display:grid;place-items:center;font-weight:650;font-size:12px;flex:none}.side-user-meta{min-width:0;line-height:1.25}.side-user-meta .n{font-weight:600;font-size:13px}.side-user-meta .u{font-size:11.5px;color:var(--text-3)}.main{display:flex;flex-direction:column;min-width:0;min-height:0}.topbar{height:60px;flex:none;display:flex;align-items:center;gap:12px;padding:0 24px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--bg) 85%,transparent);backdrop-filter:blur(8px);position:sticky;top:0;z-index:20}.crumbs{display:flex;align-items:center;gap:6px;min-width:0}.crumbs .c1{color:var(--text-3)}.crumbs .c2{font-weight:620;font-size:15px;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar .spacer{flex:1}.kbd-btn{display:flex;align-items:center;gap:8px;height:34px;padding:0 8px 0 10px;min-width:220px;border:1px solid var(--border);background:var(--panel);border-radius:8px;color:var(--text-3);cursor:pointer}.kbd-btn:hover{border-color:var(--border-2);color:var(--text-2)}.kbd{font:600 11px/1 ui-monospace,monospace;border:1px solid var(--border-2);border-bottom-width:2px;border-radius:5px;padding:3px 5px;color:var(--text-2);background:var(--panel-2)}.kbd-btn .kbd{margin-left:auto}.content{flex:1;overflow-y:auto;min-height:0}.page{padding:24px;max-width:1480px;margin:0 auto}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:20px;flex-wrap:wrap}.page-head h1{margin:0;font-size:22px;font-weight:680;letter-spacing:-.02em}.page-head p{margin:4px 0 0;color:var(--text-2)}.page-actions{display:flex;gap:8px;flex-wrap:wrap}.btn.menu-btn{display:none}.card{background:var(--panel);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);min-width:0}.card-head{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--border);min-height:52px}.card-head h3{margin:0;font-size:13.5px;font-weight:640}.card-head .sub{color:var(--text-3);font-size:12px}.card-head .end{margin-left:auto;display:flex;align-items:center;gap:8px}.card-body{padding:16px}.card-body.tight{padding:0}.grid{display:grid;gap:16px}.g-2{grid-template-columns:repeat(2,minmax(0,1fr))}.g-3{grid-template-columns:repeat(3,minmax(0,1fr))}.g-main{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.stack{display:flex;flex-direction:column;gap:16px}.row{display:flex;align-items:center;gap:8px}.row.wrap{flex-wrap:wrap}.between{justify-content:space-between}.mt{margin-top:16px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:34px;padding:0 14px;border-radius:8px;border:1px solid var(--border-2);background:var(--panel-2);color:var(--text);font-weight:560;cursor:pointer;white-space:nowrap;transition:background .12s,border-color .12s,opacity .12s}.btn:hover:not(:disabled){background:var(--panel-3);border-color:var(--text-3)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover:not(:disabled){background:var(--accent-2);border-color:var(--accent-2)}.btn.success{background:var(--pos);border-color:var(--pos);color:#04150c}.btn.success:hover:not(:disabled){filter:brightness(1.07);background:var(--pos)}.btn.danger{background:var(--neg);border-color:var(--neg);color:#fff}.btn.danger:hover:not(:disabled){filter:brightness(1.07);background:var(--neg)}.btn.ghost{background:transparent;border-color:transparent;color:var(--text-2)}.btn.ghost:hover:not(:disabled){background:var(--panel-2);color:var(--text);border-color:transparent}.btn.sm{height:28px;padding:0 10px;font-size:12.5px;border-radius:7px}.btn.lg{height:40px;padding:0 18px;font-size:14px}.btn.icon{width:34px;padding:0}.btn.sm.icon{width:28px}.btn.block{width:100%}.badge{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 8px;border-radius:6px;font-size:11.5px;font-weight:620;white-space:nowrap;background:var(--panel-3);color:var(--text-2)}.badge.pos{background:var(--pos-soft);color:var(--pos)}.badge.neg{background:var(--neg-soft);color:var(--neg)}.badge.warn{background:var(--warn-soft);color:var(--warn)}.badge.info{background:var(--info-soft);color:var(--info)}.badge.accent{background:var(--accent-soft);color:var(--accent)}.badge.outline{background:transparent;border:1px solid var(--border-2)}.dot{width:8px;height:8px;border-radius:50%;background:var(--text-3);flex:none}.dot.pos{background:var(--pos);box-shadow:0 0 0 3px var(--pos-soft)}.dot.neg{background:var(--neg);box-shadow:0 0 0 3px var(--neg-soft)}.dot.warn{background:var(--warn);box-shadow:0 0 0 3px var(--warn-soft)}.dot.pulse{animation:pulse 1.6s ease-in-out infinite}@keyframes pulse{50%{opacity:.45}}.status-pill{display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 12px;border-radius:8px;border:1px solid var(--border);background:var(--panel);font-weight:600;font-size:12.5px;white-space:nowrap}.mode-badge{height:24px;padding:0 8px;font-size:11px;letter-spacing:.06em}.mode-paper{background:var(--info-soft);color:var(--info)}.mode-demo{background:var(--warn-soft);color:var(--warn)}.mode-real{background:var(--neg);color:#fff}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field>label,.label{font-size:12.5px;font-weight:600;color:var(--text-2)}.field .hint{font-size:12px;color:var(--text-3)}.input,.select,.textarea{height:36px;width:100%;padding:0 11px;border-radius:8px;border:1px solid var(--border-2);background:var(--bg-2);color:var(--text);outline:none;transition:border-color .12s,box-shadow .12s}.textarea{height:auto;min-height:96px;padding:10px 11px;resize:vertical;font-family:ui-monospace,Menlo,monospace;font-size:12px;line-height:1.5}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.input-group{position:relative;display:flex;align-items:center}.input-group .input{padding-right:44px}.input-group .adorn{position:absolute;right:10px;color:var(--text-3);font-size:12px;pointer-events:none}.input-group .adorn-btn{position:absolute;right:4px}.input-group .pre{position:absolute;left:11px;color:var(--text-3);pointer-events:none}.input-group .pre+.input{padding-left:24px}.form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:16px}.toggle{position:relative;width:36px;height:20px;flex:none;border-radius:20px;background:var(--border-2);border:0;cursor:pointer;transition:background .15s;padding:0}.toggle:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .15s;box-shadow:0 1px 2px #0000004d}.toggle.on{background:var(--accent)}.toggle.on:after{transform:translate(16px)}.toggle-row{display:flex;align-items:flex-start;gap:12px;padding:12px 0;border-bottom:1px solid var(--border)}.toggle-row:last-child{border-bottom:0}.toggle-row .t{font-weight:600}.toggle-row .d{color:var(--text-3);font-size:12.5px}.toggle-row .toggle{margin-left:auto;margin-top:2px}.seg{display:inline-flex;padding:3px;gap:2px;border-radius:9px;background:var(--bg-2);border:1px solid var(--border);flex-wrap:wrap}.seg button{height:28px;padding:0 12px;border:0;border-radius:7px;background:transparent;color:var(--text-2);cursor:pointer;font-weight:560;font-size:12.5px;white-space:nowrap}.seg button:hover{color:var(--text)}.seg button.on{background:var(--panel-3);color:var(--text);box-shadow:0 1px 2px #00000040}.seg.lg button{height:38px;padding:0 16px;font-size:14px;font-weight:620}.stake-grid{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:8px}.stake-btn{height:52px;border-radius:10px;border:1px solid var(--border-2);background:var(--bg-2);color:var(--text);cursor:pointer;font-weight:680;font-size:15px;font-variant-numeric:tabular-nums;transition:all .12s}.stake-btn:hover{border-color:var(--accent)}.stake-btn.on{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 6px 16px -6px var(--accent)}.range{width:100%;accent-color:var(--accent)}.range-row{display:flex;align-items:center;gap:12px}.range-row .val{min-width:54px;text-align:right;font-weight:650;font-variant-numeric:tabular-nums}.choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.choice{text-align:left;padding:14px;border-radius:10px;border:1px solid var(--border-2);background:var(--bg-2);cursor:pointer;display:flex;flex-direction:column;gap:6px;transition:border-color .12s,background .12s;color:var(--text)}.choice:hover{border-color:var(--text-3)}.choice.on{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 1px var(--accent) inset}.choice .ct{display:flex;align-items:center;gap:8px;font-weight:640}.choice .cd{color:var(--text-2);font-size:12.5px}.choice.danger.on{border-color:var(--neg);background:var(--neg-soft);box-shadow:0 0 0 1px var(--neg) inset}.chip-check{display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 12px;border:1px solid var(--border-2);border-radius:8px;background:var(--bg-2);cursor:pointer;font-weight:560;user-select:none;color:var(--text-2)}.chip-check.on{border-color:var(--accent);color:var(--text);background:var(--accent-soft)}.kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:16px}.kpi{padding:14px 16px}.kpi .k-label{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-3);font-weight:560}.kpi .k-value{font-size:22px;font-weight:680;letter-spacing:-.02em;margin-top:4px;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kpi .k-sub{font-size:12px;color:var(--text-3);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.meter{height:6px;border-radius:6px;background:var(--panel-3);overflow:hidden}.meter>i{display:block;height:100%;border-radius:6px;background:var(--accent);transition:width .4s}.meter.pos>i{background:var(--pos)}.meter.neg>i{background:var(--neg)}.meter.warn>i{background:var(--warn)}.meter-row{display:flex;flex-direction:column;gap:6px;padding:10px 0}.meter-row .row{font-size:12.5px}.table-wrap{overflow-x:auto}table.table{width:100%;border-collapse:collapse;font-size:13px}.table th{text-align:left;font-weight:600;font-size:11.5px;letter-spacing:.03em;text-transform:uppercase;color:var(--text-3);padding:10px 14px;border-bottom:1px solid var(--border);white-space:nowrap;background:var(--panel);position:sticky;top:0;z-index:1}.table td{padding:10px 14px;border-bottom:1px solid var(--border);white-space:nowrap}.table tr:last-child td{border-bottom:0}.table tbody tr:hover td{background:var(--panel-2)}.table .r{text-align:right}.table tr.clickable{cursor:pointer}.table tr.expanded td{background:var(--panel-2)}.dir{display:inline-flex;align-items:center;gap:4px;font-weight:650;font-size:12px}.dir.call{color:var(--pos)}.dir.put{color:var(--neg)}.empty{padding:40px 20px;text-align:center;color:var(--text-3);display:flex;flex-direction:column;align-items:center;gap:10px}.empty .e-icon{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:var(--panel-2);color:var(--text-2)}.empty .e-title{color:var(--text);font-weight:620;font-size:14px}.banner{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:10px;border:1px solid var(--border);background:var(--panel);margin-bottom:16px}.banner.warn{border-color:color-mix(in srgb,var(--warn) 40%,var(--border));background:var(--warn-soft)}.banner.neg{border-color:color-mix(in srgb,var(--neg) 40%,var(--border));background:var(--neg-soft)}.banner.info{border-color:color-mix(in srgb,var(--accent) 35%,var(--border));background:var(--accent-soft)}.banner .b-text{flex:1;min-width:0}.banner .b-title{font-weight:640}.banner .b-sub{color:var(--text-2);font-size:12.5px}.list-item{display:flex;align-items:center;gap:12px;padding:10px 16px;border-bottom:1px solid var(--border)}.list-item:last-child{border-bottom:0}.asset-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;padding:10px 14px;border-bottom:1px solid var(--border);cursor:pointer;border-left:2px solid transparent}.asset-row:hover{background:var(--panel-2)}.asset-row.on{background:var(--accent-soft);border-left-color:var(--accent)}.asset-row .an{font-weight:620}.asset-row .ap{text-align:right;font-weight:600}.conf{display:flex;align-items:center;gap:8px;font-size:12px}.conf .meter{flex:1;height:4px}.rules{display:flex;flex-direction:column}.rule{display:flex;align-items:center;gap:10px;padding:7px 0;font-size:12.5px;border-bottom:1px dashed var(--border)}.rule:last-child{border-bottom:0}.rule .w{margin-left:auto;color:var(--text-3);font-size:11.5px}.rule.ok{color:var(--text)}.rule.no{color:var(--text-3)}.kv{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--border);border-radius:10px;overflow:hidden;border:1px solid var(--border)}.kv>div{background:var(--panel);padding:10px 12px}.kv .k{font-size:11.5px;color:var(--text-3)}.kv .v{font-weight:640;font-variant-numeric:tabular-nums}.chart-box{height:460px;position:relative}.chart-box.sm{height:240px}.steps{display:flex;gap:6px;margin-bottom:20px;overflow-x:auto;padding-bottom:2px}.step{display:flex;align-items:center;gap:8px;padding:8px 14px 8px 8px;border-radius:10px;border:1px solid var(--border);background:var(--panel);cursor:pointer;white-space:nowrap;color:var(--text-2);flex:1;min-width:150px}.step:hover{border-color:var(--border-2);color:var(--text)}.step.on{border-color:var(--accent);color:var(--text);box-shadow:0 0 0 1px var(--accent) inset}.step .n{width:24px;height:24px;border-radius:7px;display:grid;place-items:center;font-weight:700;font-size:12px;background:var(--panel-3);color:var(--text-2);flex:none}.step.done .n{background:var(--pos-soft);color:var(--pos)}.step.on .n{background:var(--accent);color:#fff}.step .st{display:flex;flex-direction:column;line-height:1.2}.step .st small{color:var(--text-3);font-size:11px}.section-title{font-size:13px;font-weight:650;margin:0 0 4px}.section-desc{color:var(--text-3);font-size:12.5px;margin:0 0 14px}.savebar{position:sticky;bottom:16px;z-index:15;margin-top:20px;display:flex;align-items:center;gap:12px;padding:10px 12px 10px 16px;border-radius:12px;background:var(--panel-3);border:1px solid var(--border-2);box-shadow:0 16px 40px -16px #0009;animation:rise .18s ease-out}@keyframes rise{0%{transform:translateY(8px);opacity:0}}.savebar .grow{flex:1;font-weight:560}.howto{counter-reset:s;list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.howto li{counter-increment:s;display:flex;gap:10px;color:var(--text-2);font-size:13px}.howto li:before{content:counter(s);flex:none;width:22px;height:22px;border-radius:6px;background:var(--accent-soft);color:var(--accent);font-weight:700;font-size:12px;display:grid;place-items:center}code.inline{font-family:ui-monospace,Menlo,monospace;font-size:12px;background:var(--panel-3);padding:1px 5px;border-radius:5px;color:var(--text)}.asset-pick{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}.asset-pick .chip-check{justify-content:space-between}.days{display:flex;gap:6px;flex-wrap:wrap}.days .chip-check{width:48px;justify-content:center;padding:0}.ladder{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-variant-numeric:tabular-nums}.ladder .badge{height:26px;font-size:12.5px}.log-list{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.3px;height:calc(100vh - 230px);min-height:360px;overflow-y:auto}.log-line{display:grid;grid-template-columns:150px 74px 70px minmax(0,1fr);gap:10px;padding:5px 16px;border-bottom:1px solid color-mix(in srgb,var(--border) 60%,transparent);align-items:baseline}.log-line:hover{background:var(--panel-2)}.log-line .ts,.log-line .sc{color:var(--text-3)}.log-line .msg{white-space:pre-wrap;word-break:break-word}.lvl{font-size:10.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.lvl-error{color:var(--neg)}.lvl-warn{color:var(--warn)}.lvl-success{color:var(--pos)}.lvl-trade{color:var(--accent)}.lvl-signal{color:#a78bfa}.lvl-info{color:var(--text-2)}.overlay{position:fixed;inset:0;background:var(--overlay);z-index:100;display:flex;align-items:flex-start;justify-content:center;padding-top:12vh;animation:fade .12s ease-out}@keyframes fade{0%{opacity:0}}.palette{width:min(640px,calc(100vw - 32px));background:var(--panel);border:1px solid var(--border-2);border-radius:14px;box-shadow:0 30px 80px -20px #000000b3;overflow:hidden}.palette input{width:100%;height:52px;border:0;border-bottom:1px solid var(--border);background:transparent;padding:0 18px;font-size:15px;outline:none}.palette-list{max-height:380px;overflow-y:auto;padding:6px}.palette-group{font-size:10.5px;font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);padding:10px 12px 4px}.palette-item{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:8px;cursor:pointer;color:var(--text-2)}.palette-item.on{background:var(--accent-soft);color:var(--text)}.palette-item .hint{margin-left:auto;color:var(--text-3);font-size:12px}.palette-foot{display:flex;gap:14px;padding:8px 14px;border-top:1px solid var(--border);color:var(--text-3);font-size:11.5px}.modal{width:min(460px,calc(100vw - 32px));background:var(--panel);border:1px solid var(--border-2);border-radius:14px;box-shadow:0 30px 80px -20px #000000b3}.modal-body{padding:20px}.modal-body h3{margin:0 0 6px;font-size:16px}.modal-foot{display:flex;justify-content:flex-end;gap:8px;padding:14px 20px;border-top:1px solid var(--border)}.menu{position:absolute;right:0;top:calc(100% + 6px);min-width:200px;background:var(--panel);border:1px solid var(--border-2);border-radius:10px;box-shadow:0 20px 50px -20px #0009;padding:6px;z-index:50}.menu button{display:flex;align-items:center;gap:10px;width:100%;height:34px;padding:0 10px;border:0;background:none;border-radius:7px;cursor:pointer;color:var(--text-2);text-align:left}.menu button:hover{background:var(--panel-2);color:var(--text)}.menu hr{border:0;border-top:1px solid var(--border);margin:6px 0}.toasts{position:fixed;right:20px;bottom:20px;z-index:200;display:flex;flex-direction:column;gap:8px;width:min(360px,calc(100vw - 40px))}.toast{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:10px;background:var(--panel-3);border:1px solid var(--border-2);box-shadow:0 16px 40px -16px #0009;animation:rise .18s ease-out}.toast .tt{font-weight:640}.toast .td{color:var(--text-2);font-size:12.5px}.toast.pos{border-left:3px solid var(--pos)}.toast.neg{border-left:3px solid var(--neg)}.toast.warn{border-left:3px solid var(--warn)}.toast.info{border-left:3px solid var(--accent)}.spinner{width:16px;height:16px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:spin .7s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.skeleton{background:linear-gradient(90deg,var(--panel-2),var(--panel-3),var(--panel-2));background-size:200% 100%;animation:shimmer 1.2s infinite;border-radius:8px}@keyframes shimmer{to{background-position:-200% 0}}.boot{height:100%;display:grid;place-items:center;color:var(--text-3)}.login{min-height:100%;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(380px,1fr)}.login-art{position:relative;overflow:hidden;background:radial-gradient(1200px 600px at 10% 10%,color-mix(in srgb,var(--accent) 22%,transparent),transparent 60%),var(--bg-2);border-right:1px solid var(--border);padding:48px;display:flex;flex-direction:column;justify-content:space-between}.login-art:after{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--chart-grid) 1px,transparent 1px),linear-gradient(90deg,var(--chart-grid) 1px,transparent 1px);background-size:40px 40px;mask-image:linear-gradient(180deg,transparent,#000 30%,#000 70%,transparent);pointer-events:none}.login-art h2{font-size:34px;letter-spacing:-.03em;line-height:1.15;margin:0 0 12px;max-width:520px;position:relative;z-index:1}.login-art p{color:var(--text-2);max-width:460px;margin:0;position:relative;z-index:1}.login-feats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;position:relative;z-index:1}.login-feats .card{padding:14px}.login-feats .card b{display:block;margin:8px 0 2px}.login-feats .card span{color:var(--text-3);font-size:12.5px}.login-form{display:grid;place-items:center;padding:32px}.login-card{width:min(380px,100%)}.login-card h1{font-size:22px;letter-spacing:-.02em;margin:18px 0 4px}.login-card form{display:flex;flex-direction:column;gap:14px;margin-top:24px}.form-error{display:flex;gap:8px;align-items:center;padding:10px 12px;border-radius:8px;background:var(--neg-soft);color:var(--neg);font-size:13px}@media (max-width: 1280px){.kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.stake-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (max-width: 1100px){.g-main,.g-3{grid-template-columns:minmax(0,1fr)}.market-grid{grid-template-columns:minmax(0,1fr)!important}.market-grid>.card:first-child{order:2}.login{grid-template-columns:minmax(0,1fr)}.login-art{display:none}}@media (max-width: 900px){.app,.app.collapsed{grid-template-columns:minmax(0,1fr)}.sidebar{position:fixed;inset:0 auto 0 0;width:260px;z-index:90;transform:translate(-100%);transition:transform .2s}.app.mobile-open .sidebar{transform:none;box-shadow:20px 0 60px #00000080}.app.mobile-open .nav-label,.app.mobile-open .nav-text,.app.mobile-open .nav-end,.app.mobile-open .brand-name,.app.mobile-open .side-user-meta{display:initial}.btn.menu-btn{display:inline-flex}.kbd-btn{min-width:0}.kbd-btn .kbd-label,.kbd-btn .kbd{display:none}.topbar{padding:0 16px}.page{padding:16px}.g-2{grid-template-columns:minmax(0,1fr)}.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.hide-sm{display:none!important}.log-line{grid-template-columns:70px 60px minmax(0,1fr)}.log-line .sc{display:none}}
