:root{--bg:#0d1117;--bg2:#161b22;--bg3:#1c2330;--border:#283040;--text:#e6edf3;--muted:#8b949e;--green:#3fb950;--yellow:#d29922;--red:#f85149;--accent:#58a6ff;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-size:14px}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.nav{background:var(--bg2);border-bottom:1px solid var(--border);z-index:10;height:52px;padding:0 16px;padding-top:env(safe-area-inset-top);padding-left:max(16px, env(safe-area-inset-left));padding-right:max(16px, env(safe-area-inset-right));align-items:center;gap:4px;display:flex;position:sticky;top:0}.nav .brand{margin-right:20px;font-size:16px;font-weight:700}.nav a{color:var(--muted);border-radius:6px;padding:8px 14px}.nav a.active{color:var(--text);background:var(--bg3)}.nav .spacer{flex:1}.nav-links{gap:4px;display:flex}.nav-toggle{display:none}@media (width<=720px){.nav{height:auto;padding-top:calc(env(safe-area-inset-top) + 8px);flex-wrap:wrap;row-gap:8px;padding-bottom:8px}.nav-toggle{border:1px solid var(--border);color:var(--text);cursor:pointer;background:0 0;border-radius:6px;margin-left:auto;padding:6px 12px;font-size:16px;display:inline-flex}.nav-links{background:var(--bg2);border-bottom:1px solid var(--border);z-index:9;flex-direction:column;gap:0;padding:6px;display:none;position:absolute;top:100%;left:0;right:0}.nav-links.open{display:flex}.nav-links a{padding:10px 12px}.nav .spacer{display:none}}.nav button{border:1px solid var(--border);color:var(--muted);cursor:pointer;background:0 0;border-radius:6px;padding:6px 12px}.nav button:hover{color:var(--text)}.ccy-switch{border:1px solid var(--border);border-radius:7px;gap:0;margin-right:12px;display:flex;overflow:hidden}.ccy-switch button{border:none;border-radius:0;padding:6px 10px;font-size:12px}.ccy-switch button.active{background:var(--accent);color:#02101f;font-weight:600}.container{max-width:1400px;padding:20px 16px;padding-left:max(16px, env(safe-area-inset-left));padding-right:max(16px, env(safe-area-inset-right));padding-bottom:max(20px, env(safe-area-inset-bottom));margin:0 auto}.bottom-tabs{display:none}@media (width<=720px){.container{padding-bottom:calc(64px + env(safe-area-inset-bottom) + 16px)}.bottom-tabs{z-index:11;background:var(--bg2);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom);display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-tab{color:var(--muted);flex-direction:column;flex:1;align-items:center;gap:2px;padding:8px 0 6px;font-size:11px;display:flex}.bottom-tab.active{color:var(--accent)}.bottom-tab-icon{font-size:19px}}.cards{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;display:grid}.card{background:var(--bg2);border:1px solid var(--border);border-radius:10px;padding:16px}.card .label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px}.card .value{font-variant-numeric:tabular-nums;margin-top:6px;font-size:26px;font-weight:700}.card .sub{color:var(--muted);margin-top:4px;font-size:12px}.card.clickable{cursor:pointer;transition:border-color .12s,background .12s}.card.clickable:hover{border-color:var(--accent);background:var(--bg3)}.card.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.nav-btn{border:1px solid var(--border);color:var(--muted);cursor:pointer;background:0 0;border-radius:6px;padding:4px 10px;font-size:12px}.nav-btn:hover{color:var(--text);border-color:var(--accent)}.section-title{margin:26px 0 12px;font-size:18px;font-weight:600}.panel{background:var(--bg2);border:1px solid var(--border);border-radius:10px;padding:16px}table{border-collapse:collapse;width:100%;min-width:max-content;font-size:13px}th,td{text-align:right;border-bottom:1px solid var(--border);white-space:nowrap;font-variant-numeric:tabular-nums;padding:9px 10px}th:first-child,td:first-child{text-align:left}th:last-child,td:last-child{padding-right:20px}th.num,td.num{text-align:right}th{color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none;z-index:2;background:var(--bg2);box-shadow:inset 0 -1px 0 var(--border);font-weight:600;position:sticky;top:0}th.nosort{cursor:default}tbody tr:hover{background:var(--bg3)}.table-wrap{background:var(--bg2);border:1px solid var(--border);border-radius:10px;max-height:72vh;overflow:auto}.pos{color:var(--green)}.neg{color:var(--red)}.row-green td:first-child{border-left:3px solid var(--green)}.row-yellow td:first-child{border-left:3px solid var(--yellow)}.row-red td:first-child{border-left:3px solid var(--red)}.dot{border-radius:50%;width:9px;height:9px;margin-right:6px;display:inline-block}.dot.green{background:var(--green)}.dot.yellow{background:var(--yellow)}.dot.red{background:var(--red)}.badge{background:var(--bg3);color:var(--muted);border-radius:999px;padding:2px 8px;font-size:11px}.badge.pos{color:var(--green);background:#3fb95026}.badge.neg{color:var(--red);background:#f8514926}@media (width<=720px){.table-wrap{background:0 0;border:none;max-height:none;overflow:visible}.rtable{border-collapse:separate}.rtable thead{display:none}.rtable,.rtable tbody,.rtable tr,.rtable td{width:100%;display:block}.rtable tr{border:1px solid var(--border);background:var(--bg2);border-radius:10px;margin-bottom:10px;padding:10px 12px}.rtable tbody tr:hover{background:var(--bg2)}.rtable td{text-align:right;border:none;justify-content:space-between;align-items:baseline;gap:10px;padding:5px 0;font-size:13px;display:flex}.rtable td:before{content:attr(data-label);color:var(--muted);text-transform:uppercase;letter-spacing:.03em;text-align:left;flex-shrink:0;font-size:11px}.rtable td[colspan]{display:block}.rtable td[colspan]:before{content:none}.rtable td:first-child{border-bottom:1px solid var(--border);margin-bottom:4px;padding-bottom:8px;font-size:15px;font-weight:600}.rtable td:first-child:before{content:none}.row-green td:first-child,.row-yellow td:first-child,.row-red td:first-child{border-left:none}}.hide-mobile{display:revert!important}.show-mobile{display:none!important}@media (width<=720px){.hide-mobile{display:none!important}.show-mobile{display:block!important}}.poslist{flex-direction:column;gap:6px;display:flex}.poslist-row{background:var(--bg2);border:1px solid var(--border);border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:9px 12px;display:flex}.poslist-main{flex-direction:column;gap:2px;display:flex}.poslist-symbol{font-size:14px;font-weight:600}.poslist-meta{color:var(--muted);font-size:11px}.poslist-pnl{text-align:right;white-space:nowrap;font-size:15px;font-weight:700}.acctlist{flex-direction:column;gap:8px;display:flex}.acctlist-item{background:var(--bg2);border:1px solid var(--border);border-radius:10px;overflow:hidden}.acctlist-row{cursor:pointer;justify-content:space-between;align-items:center;gap:10px;padding:11px 12px;display:flex}.acctlist-main{flex-direction:column;gap:3px;min-width:0;display:flex}.acctlist-title{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.acctlist-meta{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.acctlist-figures{text-align:right;flex-shrink:0}.acctlist-equity{white-space:nowrap;font-size:15px;font-weight:700}.acctlist-sub{white-space:nowrap;font-size:11px}.acctlist-detail{border-top:1px solid var(--border)}.login-wrap{justify-content:center;align-items:center;min-height:100vh;display:flex}.login-box{background:var(--bg2);border:1px solid var(--border);border-radius:12px;width:320px;padding:32px}.login-box h1{margin:0 0 6px;font-size:20px}.login-box p{color:var(--muted);margin:0 0 20px;font-size:13px}input,select{background:var(--bg);border:1px solid var(--border);width:100%;color:var(--text);border-radius:7px;padding:9px 11px;font-size:14px}.btn{background:var(--accent);color:#02101f;cursor:pointer;border:none;border-radius:7px;width:100%;margin-top:14px;padding:10px 14px;font-weight:600}.btn:hover{opacity:.9}.err{color:var(--red);margin-top:10px;font-size:13px}.filters{flex-wrap:wrap;align-items:end;gap:10px;margin-bottom:14px;display:flex}.filters>div{flex-direction:column;gap:4px;display:flex}.filters label{color:var(--muted);font-size:11px}.filters input,.filters select{width:auto;min-width:130px}.acc{flex-direction:column;gap:10px;display:flex}.acc-item{background:var(--bg2);border:1px solid var(--border);border-radius:10px;overflow:hidden}.acc-head{cursor:pointer;align-items:center;gap:10px;padding:12px 14px;display:flex}.acc-head:hover{background:var(--bg3)}.acc-caret{color:var(--muted);flex-shrink:0;width:14px}.acc-head-main{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.acc-title{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.acc-meta{color:var(--muted);white-space:nowrap;font-size:12px;display:inline}.acc-head-figures{flex-shrink:0;align-items:center;gap:10px;display:flex}.acc-count{color:var(--muted);font-size:13px}.acc-total{text-align:right;min-width:110px;font-weight:700}.acc-link{font-size:12px}.acc-body{border-top:1px solid var(--border);overflow-x:auto}.acc-body table th{top:0}@media (width<=720px){.acc-head{flex-wrap:nowrap;align-items:flex-start}.acc-head-main{flex-direction:column;align-items:flex-start;gap:2px}.acc-title{white-space:normal}.acc-meta{font-size:11px;display:block}.acc-head-figures{flex-direction:column;align-items:flex-end;gap:2px}.acc-total{min-width:0;font-size:14px}.acc-link{display:none}}.muted{color:var(--muted)}.right{text-align:right}.grid2{grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (width<=900px){.grid2{grid-template-columns:1fr}}.loading{color:var(--muted);text-align:center;padding:40px}.live-wrap{border:1px solid var(--border);background:linear-gradient(#f851490f,#0000 60%);border-radius:12px;margin:8px 0 4px;padding:14px}.live-head{align-items:center;gap:8px;margin-bottom:12px;font-size:13px;display:flex}.live-dot{background:var(--muted);border-radius:50%;width:10px;height:10px}.live-dot.on{background:var(--red);animation:1.4s infinite pulse}.live-dot.off{background:var(--muted)}@keyframes pulse{0%{opacity:1}50%{opacity:.3}to{opacity:1}}.value.warn{color:var(--yellow)}.refresh-info{color:var(--muted);font-size:12px}
