:root{color-scheme:dark;--bg: #0b0e11;--panel: #181a20;--panel-2: #1e2329;--panel-3: #11161c;--line: #2b3139;--line-strong: rgba(252, 213, 53, .58);--text: #eaecef;--muted: #a6b0bf;--gold: #fcd535;--gold-2: #f0b90b;--green: #0ecb81;--red: #f6465d;--blue: #4b8bff;--cyan: #25d0d5;--shadow: 0 18px 42px rgba(0, 0, 0, .36)}*{box-sizing:border-box}body{margin:0;min-width:320px;background:linear-gradient(180deg,#181a20eb,#0b0e11fa 320px),linear-gradient(90deg,rgba(43,49,57,.42) 1px,transparent 1px),linear-gradient(rgba(43,49,57,.36) 1px,transparent 1px),var(--bg);background-size:auto,72px 72px,72px 72px,auto;color:var(--text);font-family:Arial,Microsoft YaHei UI,Microsoft YaHei,PingFang SC,Noto Sans SC,system-ui,-apple-system,Segoe UI,Helvetica,sans-serif;letter-spacing:0;overflow-x:hidden;-webkit-font-smoothing:antialiased;text-rendering:geometricPrecision}button,input{font:inherit}button{cursor:pointer}.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px;position:relative;overflow:hidden}.login-panel{width:min(440px,100%);border:1px solid var(--line-strong);background:linear-gradient(180deg,rgba(252,213,53,.08),transparent 34%),var(--panel);padding:30px;border-radius:8px;box-shadow:var(--shadow);position:relative;z-index:1}.login-panel:before,.panel:before,.metric:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;background:linear-gradient(90deg,rgba(252,213,53,.46),transparent 34%,rgba(75,139,255,.2));height:1px}.login-market-grid{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(5,1fr);align-items:end;gap:18px;padding:8vh 5vw;opacity:.2;pointer-events:none}.login-market-grid span{writing-mode:vertical-rl;color:var(--gold);font-size:clamp(44px,8vw,110px);font-weight:900;transform:translateY(calc(var(--i) * -18px))}.login-copy{margin:-16px 0 28px;color:var(--muted)}.brand-mark,.brand{display:flex;align-items:center;gap:12px;color:var(--gold)}.brand-mark span,.brand strong{color:var(--text);font-weight:900}.brand span{display:block;color:var(--muted);font-size:12px;margin-top:2px}.login-panel h1{margin:28px 0;font-size:clamp(34px,5vw,48px);line-height:1;font-weight:950}form{display:grid;gap:16px}.login-mode{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:4px;border:1px solid var(--line);border-radius:6px;background:#0b0e11}.login-mode button{border:0;min-height:38px;border-radius:4px;background:transparent;color:var(--muted);font-weight:850}.login-mode button.active{color:#11161c;background:var(--gold)}label{display:grid;gap:8px;color:var(--muted);font-size:13px}input{width:100%;border:1px solid var(--line);background:#0b0e11;color:var(--text);border-radius:6px;padding:13px 14px;outline:none;box-shadow:inset 0 0 0 1px #0003;font-weight:600}input:focus{border-color:var(--gold)}.primary-button,.control-grid button{border:0;border-radius:6px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:9px;font-weight:800}.primary-button{background:var(--gold);color:#11161c;box-shadow:0 10px 22px #fcd5352e}.login-error,.global-error,.inline-error{color:var(--red);border:1px solid rgba(246,70,93,.35);background:#f6465d14;border-radius:6px;padding:10px 12px}.app-shell{width:min(1480px,100%);margin:0 auto;padding:14px;position:relative}.topbar{min-height:58px;display:grid;grid-template-columns:1fr;align-items:center;gap:18px;border:1px solid var(--line);background:#11161c;border-radius:8px;padding:8px 10px;position:sticky;top:0;z-index:10;box-shadow:0 16px 50px #00000052}.tabs{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}.tab{flex:0 0 auto;min-width:152px;border:1px solid var(--line);background:#181a20;color:var(--text);border-radius:6px;padding:9px 12px;text-align:left;font-weight:700}.tab.active{border-color:var(--line-strong);background:#252a31;box-shadow:inset 0 -2px 0 var(--gold)}.tab-main{display:flex;align-items:center;justify-content:space-between;gap:10px}.tab-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tab em{color:var(--muted);font-size:11px;font-style:normal;font-weight:700;white-space:nowrap}.run-icon{display:inline-flex;width:18px;height:18px;align-items:center;justify-content:center;color:#0ecb81;background:#0ecb811f;border:1px solid rgba(14,203,129,.38);border-radius:999px;box-shadow:0 0 18px #0ecb811f}.tab-equity{display:block;margin-top:5px;color:var(--muted);font-size:11px;font-weight:700;letter-spacing:0}.logout-button{border:1px solid var(--line);background:#181a20;color:var(--muted);border-radius:6px;min-height:42px;padding:0 12px;display:inline-flex;align-items:center;gap:8px}.logout-button:hover{color:var(--text);border-color:#3a424d}.market-strip{display:grid;grid-template-columns:1.2fr 1fr 1fr .8fr;gap:1px;margin:14px 0;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--line)}.market-strip div{min-height:62px;padding:12px 14px;background:linear-gradient(90deg,rgba(252,213,53,.055),transparent),var(--panel)}.market-strip span,.market-strip strong{display:block}.market-strip span{color:var(--muted);font-size:12px}.market-strip strong{margin-top:6px;font-size:16px;word-break:break-word}.hero-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0}.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 16px}.metric,.panel{border:1px solid var(--line);background:var(--panel);border-radius:8px;position:relative;overflow:hidden}.metric{min-height:90px;display:flex;align-items:center;gap:14px;padding:16px;box-shadow:var(--shadow);transition:transform .16s ease,border-color .16s ease,background .16s ease}.metric:hover{transform:translateY(-2px);border-color:#fcd5356b}.metric-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:6px;color:var(--gold);background:linear-gradient(135deg,#fcd53533,#4b8bff14),#fcd53514}.metric span{display:block;color:var(--muted);font-size:12px;margin-bottom:5px}.metric strong{font-size:clamp(22px,2.1vw,30px);line-height:1.05;font-weight:900;font-family:Segoe UI,Microsoft YaHei UI,Microsoft YaHei,system-ui,sans-serif}.metric.good strong{color:var(--green)}.metric.bad strong{color:var(--red)}.workspace{display:grid;grid-template-columns:minmax(320px,.48fr) minmax(0,1.52fr);gap:12px;margin-bottom:12px}.two-col{display:grid;grid-template-columns:1fr;gap:12px;margin-bottom:12px}.panel{padding:16px;min-width:0;box-shadow:var(--shadow)}.panel header{min-height:34px;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.panel h2{margin:0;font-size:15px;font-weight:900}.panel p{margin:4px 0 0;color:var(--muted);font-size:12px}.status-pill{border:1px solid rgba(75,139,255,.45);color:var(--blue);border-radius:999px;padding:5px 10px;font-size:12px;background:#4b8bff1a}.chart-frame{position:relative;min-height:280px;background:linear-gradient(180deg,rgba(252,213,53,.06),transparent 58%),repeating-linear-gradient(90deg,transparent 0 11.5%,rgba(43,49,57,.55) 11.5% 11.7%),#11161c;border:1px solid var(--line);border-radius:6px;overflow:hidden}.sparkline{width:100%;height:280px;display:block}.sparkline path{fill:none;stroke:url(#equityLine);stroke-width:2.4;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 8px rgba(252,213,53,.2))}.chart-axis,.chart-grid{vector-effect:non-scaling-stroke}.chart-axis{stroke:#a6b0bf70;stroke-width:1}.chart-grid{stroke:#a6b0bf29;stroke-width:1;stroke-dasharray:3 3}.axis-label{position:absolute;color:var(--muted);font-size:11px;pointer-events:none;text-shadow:0 1px 4px rgba(0,0,0,.45)}.y-max{left:12px;top:10px}.y-min{left:12px;bottom:30px}.x-first{left:12px;bottom:9px}.x-last{right:12px;bottom:9px}.hover-line{stroke:#fcd53585;stroke-width:1;vector-effect:non-scaling-stroke}.hover-dot{fill:var(--gold);stroke:#211600;stroke-width:.7;vector-effect:non-scaling-stroke}.chart-tooltip{position:absolute;z-index:2;transform:translate(-50%,calc(-100% - 12px));min-width:152px;border:1px solid rgba(252,213,53,.34);background:#181a20;color:var(--text);border-radius:6px;padding:8px 10px;box-shadow:0 12px 32px #00000057;pointer-events:none}.chart-tooltip strong,.chart-tooltip span{display:block}.chart-tooltip strong{font-size:13px}.chart-tooltip span{margin-top:3px;color:var(--muted);font-size:11px}.chart-empty{min-height:280px;display:grid;place-items:center}.danger{border-color:#f6465d47}.danger header svg{color:var(--red)}.control-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.control-grid button{border:1px solid var(--line);background:#1e2329;color:var(--text);transition:transform .16s ease,border-color .16s ease,background .16s ease}.control-grid button:hover{transform:translateY(-1px);border-color:#fcd5356b}.control-grid button:first-child{background:#f6465d26;color:#ff99a7;border-color:#f6465d59}.control-grid button.resume-action{background:#18c78424;color:#6ee6ad;border-color:#18c78457}.guard-box{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.guard-box label{color:var(--muted)}.guard-save{grid-column:1 / -1;border:1px solid rgba(252,213,53,.42);background:#fcd5351f;color:var(--text);border-radius:6px;min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:900}.guard-box p{grid-column:1 / -1;margin:0}.control-grid button:disabled{opacity:.55;cursor:wait}.table-panel{margin-bottom:12px}.table-panel header{align-items:center;flex-wrap:wrap}.table-filter{width:min(260px,100%);min-height:36px;display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:#0b0e11;border-radius:6px;padding:0 10px;color:var(--muted)}.table-filter:focus-within{border-color:#fcd535ad}.table-filter input{min-width:0;border:0;background:transparent;padding:7px 0;box-shadow:none;color:var(--text);font-size:13px}.table-wrap{width:100%;max-width:100%;overflow-x:auto}table{width:100%;border-collapse:separate;border-spacing:0;min-width:720px}th,td{border-bottom:1px solid var(--line);padding:12px 10px;text-align:left;white-space:nowrap}th{color:var(--muted);font-size:12px;background:#1e2329;position:sticky;top:0;z-index:1;font-weight:800}td{font-size:14px;color:var(--text);font-weight:500;line-height:1.45}tbody tr{transition:background .14s ease}tbody tr:hover{background:#fcd5350e}.pnl-pos{color:var(--green);font-weight:800}.pnl-neg{color:var(--red);font-weight:800}.pnl-zero{color:var(--muted)}.table-footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:12px 0 0}.pager-button{min-height:34px;border:1px solid var(--line);background:#1e2329;color:var(--text);border-radius:6px;padding:0 12px}.pager-button:disabled{opacity:.42;cursor:default}.pager-info{color:var(--muted);font-size:12px}.empty-cell,.empty-state{color:var(--muted);text-align:center;padding:32px 10px;background:linear-gradient(90deg,transparent,rgba(166,176,191,.04),transparent),#11161c;border:1px dashed #2b3139;border-radius:6px}@media (max-width: 980px){.topbar,.workspace,.two-col,.market-strip{grid-template-columns:1fr}.hero-grid,.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 620px){.app-shell{padding:10px}.topbar{position:static}.hero-grid,.control-grid,.stats-grid,.guard-box{grid-template-columns:1fr}.metric{min-height:74px}.metric strong{font-size:20px}.chart-frame,.sparkline{height:180px;min-height:180px}.login-panel{padding:24px}.logout-button{justify-content:center}.table-filter{width:100%}}
