:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#050914;--bg-2:#09111f;--panel:#0f172adb;--panel-solid:#111827;--panel-soft:#1e293b9e;--line:#94a3b82e;--line-strong:#3b82f66b;--text:#e7edf8;--text-strong:#f8fbff;--muted:#8ea0b8;--muted-strong:#b7c4d8;--accent:#3b82f6;--accent-2:#14b8a6;--buy:#00c076;--sell:#f6465d;--warning:#f0b90b;background:var(--bg);color:var(--text);font-synthesis:none;text-rendering:optimizelegibility;font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,sans-serif}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f4f7fb;--bg-2:#eaf0f8;--panel:#ffffffeb;--panel-solid:#fff;--panel-soft:#f1f5f9db;--line:#47556929;--line-strong:#2563eb47;--text:#172033;--text-strong:#0f172a;--muted:#64748b;--muted-strong:#334155;--accent:#2563eb;--accent-2:#0f766e;--buy:#008f5a;--sell:#d52b42;--warning:#b77900;background:var(--bg);color:#172033}*{box-sizing:border-box}body{background:linear-gradient(180deg, var(--bg) 0%, var(--bg-2) 54%, var(--bg) 100%);min-width:320px;min-height:100vh;margin:0}:root[data-theme=light] body{background:linear-gradient(180deg, var(--bg) 0%, var(--bg-2) 54%, var(--bg) 100%)}button,input,select{font:inherit}button{color:inherit;cursor:pointer;border:0}input{border:1px solid var(--line);background:var(--panel-soft);width:100%;color:var(--text-strong);border-radius:8px;outline:0;padding:10px 11px}select{border:1px solid var(--line);background:var(--panel-soft);width:100%;color:var(--text-strong);border-radius:8px;outline:0}input:focus,select:focus{border-color:var(--line-strong);box-shadow:0 0 0 3px #3b82f629}.auth-shell{place-items:center;min-height:100vh;padding:20px;display:grid}.hint,.empty{color:var(--muted)}.top-actions,.panel-title,.pair-title,.brand,.rail-search{align-items:center;display:flex}.metric,.panel-title button,.segmented button,.topbar nav button,.top-actions button,.brand,.rail-search{border:1px solid var(--line);background:var(--panel-soft);border-radius:8px}.auth-panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;width:min(420px,100%);padding:28px;box-shadow:0 30px 90px #0000005c}.auth-logo{text-align:center;background:0 0;flex-direction:column;align-items:center;gap:10px;width:100%;margin:0 0 22px;padding:0;display:flex}.auth-logo span{aspect-ratio:1;background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#fff;border-radius:8px;place-items:center;width:58px;display:grid}.auth-logo strong{letter-spacing:0;font-size:24px}.auth-tabs,.side-switch,.segmented{background:#0f172a9e;border-radius:8px;grid-auto-flow:column;gap:6px;padding:4px;display:grid}.auth-tabs button,.side-switch button,.segmented button{min-height:34px;color:var(--muted);background:0 0;border-radius:6px}.auth-tabs button.active,.segmented button.active{color:var(--text-strong);background:#3b82f633}.auth-panel label,.ticket label{color:var(--muted-strong);gap:8px;margin-top:14px;font-size:13px;display:grid}.primary-button,.submit-order{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#fff;border-radius:8px;width:100%;min-height:44px;margin-top:18px;font-weight:800}.ghost-button{background:var(--panel-soft);border:1px solid var(--line);width:100%;min-height:40px;color:var(--muted-strong);border-radius:8px;margin-top:10px}.error{color:var(--sell)}.app-shell{min-height:100vh;padding:12px}.topbar{grid-template-columns:230px 1fr auto;align-items:center;gap:12px;height:54px;margin-bottom:12px;display:grid}.brand{gap:10px;height:46px;padding:0 14px}.topbar nav{align-items:center;gap:8px;display:flex;overflow:visible}.topbar nav button,.top-actions button,.user-pill{min-height:36px;padding:0 11px}.topbar nav button{white-space:nowrap;justify-content:center;align-items:center;gap:6px;display:inline-flex}.topbar nav button.active{border-color:var(--line-strong);background:#3b82f62e}.topbar nav button.disabled{cursor:not-allowed;opacity:.56}.contract-menu{position:relative}.contract-dropdown{z-index:12;border:1px solid var(--line-strong);opacity:0;pointer-events:none;background:#0f172af5;border-radius:8px;gap:6px;min-width:120px;padding:8px;transition:opacity .16s,transform .16s;display:grid;position:absolute;top:calc(100% + 8px);left:0;transform:translateY(-4px);box-shadow:0 18px 60px #00000047}.contract-menu:hover .contract-dropdown,.contract-menu:focus-within .contract-dropdown{opacity:1;pointer-events:auto;transform:translateY(0)}.contract-dropdown button{text-align:left;justify-content:flex-start;width:100%}.top-actions{gap:8px}.logout-button{align-items:center;gap:6px;display:inline-flex}.auth-entry.primary{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#fff;font-weight:800}.terminal-grid{grid-template-columns:172px minmax(680px,1fr) 310px;align-items:start;gap:12px;display:grid}.market-rail,.workspace,.right-stack{min-width:0}.market-rail{align-content:start;gap:8px;display:grid}.rail-search{color:var(--muted);gap:8px;padding:9px 10px;font-size:12px}.market-rail button{text-align:left;background:var(--panel-soft);border:1px solid var(--line);border-radius:8px;gap:5px;min-width:0;padding:9px 10px;display:grid}.market-rail button strong{font-size:14px}.market-rail button.active{border-color:var(--line-strong);background:#3b82f626}.market-rail button span{overflow-wrap:anywhere;white-space:normal;align-items:flex-start;gap:6px;min-width:0;line-height:1.2;display:flex}.market-rail button span svg{flex:none;margin-top:1px}.market-rail small{font-size:11px}.market-rail em{color:var(--muted);overflow-wrap:anywhere;font-size:11px;font-style:normal}.rail-empty{margin:0;padding:8px;font-size:12px}.market-header,.panel{border:1px solid var(--line);background:var(--panel);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:8px}.market-header{flex-wrap:nowrap;align-items:center;gap:7px;margin-bottom:10px;padding:8px;display:flex;overflow-x:auto}.market-header.syncing{border-color:var(--line-strong)}.pair-title{flex-wrap:nowrap;flex:none;gap:8px;min-width:max-content}.pair-title strong{overflow-wrap:normal;text-overflow:clip;white-space:nowrap;flex:none;min-width:max-content;font-size:14px;line-height:1.2;overflow:visible}.pair-title span{color:#bfdbfe;background:#3b82f62e;border-radius:6px;flex:none;padding:3px 6px;font-size:11px}.pair-title .mini-icon-button{flex:none}.metric{flex:none;align-content:center;gap:3px;min-width:max-content;min-height:42px;padding:6px 7px;display:grid}.metric span{color:var(--muted);white-space:nowrap;font-size:10px}.metric strong{overflow-wrap:normal;white-space:nowrap;min-width:max-content;font-size:12px;line-height:1.15}.tone-up,.up{color:var(--buy)}.tone-down,.down{color:var(--sell)}.tone-gold{color:var(--warning)}.icon-button{background:var(--panel-soft);border-radius:8px;place-items:center;width:36px;height:36px;display:grid}.mini-icon-button{border:1px solid var(--line);background:var(--panel-soft);width:28px;height:28px;color:var(--accent);border-radius:6px;flex:none;place-items:center;display:grid}.main-grid{grid-template-columns:minmax(420px,1fr) 248px;align-items:stretch;gap:12px;display:grid}.panel{padding:12px}.panel-title{justify-content:space-between;gap:8px;margin-bottom:10px}.panel-title span{color:var(--text);align-items:center;gap:7px;font-weight:700;display:inline-flex}.panel-title button{color:var(--muted-strong);padding:6px 9px}.chart-panel{grid-template-rows:auto minmax(0,1fr);min-height:360px;display:grid}.orderbook{min-height:360px}.chart-canvas{height:100%;min-height:0}.book-head,.book-row,.trade-row,.event-row,.asset-row,.position-row,.order-row,.trade-history-row,.rules-row{align-items:center;gap:8px;display:grid}.book-head,.book-row,.trade-row{grid-template-columns:1fr .8fr .8fr}.book-head{color:var(--muted);padding:4px 0;font-size:12px}.trades-list{align-content:start;height:375px;min-height:375px;display:grid;overflow:hidden}.trades-list .trade-row{height:25px;min-height:25px}.book-row,.trade-row,.event-row,.asset-row,.position-row,.order-row,.trade-history-row,.rules-row{min-height:25px;font-size:12px;position:relative;overflow:hidden}.book-row,.trade-row,.mid-price{text-align:left;background:0 0;border:0;width:100%}.book-row:hover,.trade-row:hover,.mid-price:hover{background:#3b82f614}.book-row i{opacity:.12;position:absolute;top:2px;bottom:2px;right:0}.book-row.ask i{background:var(--sell)}.book-row.bid i{background:var(--buy)}.book-row span,.trade-row span,.event-row span,.event-row strong,.asset-row span,.asset-row strong,.position-row span,.position-row strong,.order-row span,.order-row strong,.trade-history-row span,.trade-history-row strong,.rules-row span,.rules-row strong{z-index:1}.mid-price{color:var(--accent);justify-content:space-between;align-items:center;padding:9px 0;display:flex}:root[data-theme=light] input,:root[data-theme=light] select{border-color:var(--line);color:var(--text);background:#fff}:root[data-theme=light] .auth-panel,:root[data-theme=light] .market-header,:root[data-theme=light] .panel,:root[data-theme=light] .rules-hero,:root[data-theme=light] .rule-card,:root[data-theme=light] .rules-table,:root[data-theme=light] .modal-panel{border-color:var(--line);color:var(--text);background:#ffffffdb;box-shadow:0 22px 70px #36467e24}:root[data-theme=light] .metric,:root[data-theme=light] .panel-title button,:root[data-theme=light] .segmented button,:root[data-theme=light] .topbar nav button,:root[data-theme=light] .top-actions button,:root[data-theme=light] .brand,:root[data-theme=light] .rail-search{background:#ffffffb3;border-color:#44548e24}:root[data-theme=light] .market-rail button,:root[data-theme=light] .account-table,:root[data-theme=light] .config-item,:root[data-theme=light] .config-section,:root[data-theme=light] .rules-current,:root[data-theme=light] .order-preview,:root[data-theme=light] .contract-dropdown{background:#ffffffd1;border-color:#44548e21}:root[data-theme=light] .auth-tabs,:root[data-theme=light] .side-switch,:root[data-theme=light] .segmented{background:#31488212}:root[data-theme=light] .auth-tabs button,:root[data-theme=light] .side-switch button,:root[data-theme=light] .segmented button,:root[data-theme=light] .hint,:root[data-theme=light] .empty,:root[data-theme=light] .metric span,:root[data-theme=light] .panel-title button,:root[data-theme=light] .rules-hero p,:root[data-theme=light] .rule-card p,:root[data-theme=light] .config-section p,:root[data-theme=light] .market-rail em{color:#647092}:root[data-theme=light] .panel-title span,:root[data-theme=light] .auth-panel label,:root[data-theme=light] .ticket label,:root[data-theme=light] .metric strong{color:#172033}:root[data-theme=light] .auth-tabs button.active,:root[data-theme=light] .segmented button.active,:root[data-theme=light] .topbar nav button.active{color:#18213a;background:#2563eb1f}:root[data-theme=light] .toast{color:var(--text);border-color:var(--line-strong);background:#fffffff0}.side-switch .buy.active{color:var(--buy);background:#00c07629}.side-switch .sell.active{color:var(--sell);background:#f6465d29}.segmented.wide{margin-top:12px}.ticket .check{grid-template-columns:auto 1fr;align-items:center}.ticket .check input{width:auto}.order-preview{background:var(--panel-soft);color:var(--muted-strong);border-radius:8px;gap:6px;margin-top:12px;padding:10px;font-size:12px;display:grid}.submit-order.buy{background:linear-gradient(135deg, var(--buy), #22c55e)}.submit-order.sell{background:linear-gradient(135deg, var(--sell), #fb7185)}.bottom-deck{margin-top:8px}.account-summary{grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:8px;margin-bottom:12px;display:grid}.deck-grid{grid-template-columns:1fr;gap:12px;display:grid}.account-table{background:var(--panel-soft);border:1px solid var(--line);border-radius:8px;min-width:0;padding:10px;overflow-x:auto}.account-table h3,.rule-card h3{align-items:center;gap:7px;margin:0 0 8px;font-size:14px;display:flex}.asset-row{grid-template-columns:.5fr 1fr 1fr 1fr;min-width:520px}.position-row{grid-template-columns:.85fr .75fr 1.1fr .75fr .85fr .7fr .65fr;min-width:760px}.order-row{grid-template-columns:.8fr .42fr .55fr .7fr .75fr .55fr .62fr 46px;min-width:800px}.trade-history-row{grid-template-columns:.8fr .55fr .45fr .75fr .6fr .7fr .55fr;min-width:760px}.table-head{color:var(--muted);border-bottom:1px solid var(--line);min-height:22px;margin-bottom:4px;font-size:11px}.order-row button{height:25px;color:var(--sell);background:#f6465d24;border-radius:6px}.right-stack{align-content:start;gap:8px;display:grid}.trades{grid-template-rows:auto minmax(0,1fr);height:auto;min-height:0;display:grid}.right-stack .ticket{padding:10px}.right-stack .ticket label{margin-top:9px}.order-select-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:10px;display:grid}.order-select-row.two{grid-template-columns:repeat(2,minmax(0,1fr))}.ticket .order-select-row .compact-select{color:var(--muted);gap:5px;margin-top:0;font-size:11px}.order-select-row select{border-radius:6px;height:32px;padding:0 7px;font-size:12px}.right-stack .segmented.wide,.right-stack .order-preview{margin-top:8px}.right-stack .submit-order{margin-top:12px}.event-row{grid-template-columns:1fr 1fr}.risk p{color:var(--muted);font-size:12px;line-height:1.6}.rules-page{gap:12px;display:grid}.rules-hero,.rule-card,.rules-table{border:1px solid var(--line);background:var(--panel);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:8px}.rules-hero{grid-template-columns:1fr 260px;align-items:center;gap:18px;min-height:136px;padding:18px;display:grid}.eyebrow{color:var(--accent);align-items:center;gap:7px;font-size:12px;display:inline-flex}.rules-hero h1{letter-spacing:0;margin:10px 0 8px;font-size:28px}.rules-hero p,.rule-card p,.config-section p{color:var(--muted-strong);margin:6px 0 0;font-size:13px;line-height:1.55}.rules-current{background:var(--panel-soft);border:1px solid var(--line);border-radius:8px;gap:8px;padding:14px;display:grid}.rules-current strong{font-size:18px}.rules-current span{color:var(--muted);font-size:12px}.rules-current button{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#fff;border-radius:8px;min-height:34px;font-weight:800}.rules-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.rule-card{padding:14px}.rules-table{padding:12px;overflow-x:auto}.rules-row{text-align:left;background:0 0;border-radius:6px;grid-template-columns:.9fr .65fr .55fr .55fr .95fr 1.15fr .85fr .55fr .65fr;width:100%;min-width:980px;min-height:34px;padding:0 8px}button.rules-row:hover{background:#3b82f614}.modal-backdrop{z-index:20;background:#03050eb8;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal-panel{border:1px solid var(--line-strong);background:#0f172af7;border-radius:8px;width:min(720px,100%);max-height:calc(100vh - 40px);padding:14px;overflow:auto;box-shadow:0 28px 90px #00000073}.config-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.config-item{background:var(--panel-soft);border:1px solid var(--line);border-radius:8px;align-content:center;gap:5px;min-height:58px;padding:10px;display:grid}.config-item span{color:var(--muted);font-size:11px}.config-item strong{overflow-wrap:anywhere;font-size:13px}.config-section{background:var(--panel-soft);border:1px solid var(--line);border-radius:8px;margin-top:12px;padding:10px}.config-section h3{margin:0;font-size:14px}.toast{border:1px solid var(--line-strong);max-width:min(760px,100vw - 24px);min-height:38px;color:var(--text);background:#0f172af0;border-radius:8px;align-items:center;gap:8px;padding:8px 14px;display:flex;position:fixed;bottom:18px;left:50%;transform:translate(-50%);box-shadow:0 18px 60px #00000061}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:1280px){.terminal-grid{grid-template-columns:160px minmax(620px,1fr)}.right-stack{grid-column:1/-1;grid-template-columns:1fr;align-content:start;height:auto;min-height:0;position:static}.trades{height:auto}.trades-list{height:375px;min-height:375px}.main-grid{grid-template-columns:minmax(360px,1fr) 245px}.ticket{grid-column:1/-1}.chart-panel,.orderbook{min-height:340px}}@media (max-width:900px){.auth-shell,.terminal-grid,.main-grid,.deck-grid,.right-stack,.market-header,.topbar,.rules-hero,.rules-grid,.account-summary,.config-grid{grid-template-columns:1fr}.auth-shell{padding:14px}.market-rail{grid-auto-flow:column;overflow-x:auto}.market-rail button{width:160px}.rules-hero h1{font-size:24px}.chart-panel,.orderbook{min-height:300px}.toast{margin-top:12px;position:static;transform:none}}
