:root{--bg-base: #F0F4F8;--bg-gradient: radial-gradient(ellipse 90% 70% at 8% 15%, rgba(125, 211, 252, .45) 0%, transparent 55%), radial-gradient(ellipse 80% 60% at 92% 8%, rgba(196, 181, 253, .4) 0%, transparent 50%), radial-gradient(ellipse 70% 65% at 78% 88%, rgba(167, 243, 208, .35) 0%, transparent 55%), radial-gradient(ellipse 55% 45% at 18% 90%, rgba(165, 180, 252, .28) 0%, transparent 50%), radial-gradient(ellipse 40% 35% at 50% 45%, rgba(186, 230, 253, .25) 0%, transparent 60%), linear-gradient(168deg, #F0F4F8 0%, #E8EEF5 42%, #E4ECF4 100%);--orb-violet: rgba(167, 139, 250, .32);--orb-cyan: rgba(34, 211, 238, .28);--orb-teal: rgba(45, 212, 191, .24);--orb-blur: 90px;--glass-fill: rgba(255, 255, 255, .52);--glass-fill-strong: rgba(255, 255, 255, .65);--glass-fill-soft: rgba(255, 255, 255, .4);--glass-border: rgba(255, 255, 255, .72);--glass-border-strong: rgba(255, 255, 255, .9);--glass-border-inner: rgba(148, 163, 184, .22);--glass-blur: 28px;--glass-blur-lg: 40px;--glass-blur-sm: 16px;--glass-saturate: 1.45;--glass-shadow: 0 12px 40px rgba(15, 23, 42, .08), 0 4px 12px rgba(15, 23, 42, .04), 0 0 0 1px rgba(255, 255, 255, .5);--glass-shadow-lg: 0 24px 64px rgba(15, 23, 42, .1), 0 8px 20px rgba(15, 23, 42, .05), 0 0 40px rgba(125, 211, 252, .12);--glass-inset: inset 0 1px 0 rgba(255, 255, 255, .9), inset 0 -1px 0 rgba(148, 163, 184, .08), inset 1px 0 0 rgba(255, 255, 255, .5);--glass-fallback: rgba(240, 244, 248, .96);--glass-fallback-strong: rgba(255, 255, 255, .97);--glass-fallback-soft: rgba(232, 238, 245, .94);--text-primary: #0F172A;--text-secondary: rgba(51, 65, 85, .78);--text-muted: rgba(100, 116, 139, .85);--text-inverse: #f8fafc;--text-accent: #0891B2;--accent-teal: #14B8A6;--accent-cyan: #06B6D4;--accent-cyan-bright: #0891B2;--accent-cyan-glow: rgba(6, 182, 212, .35);--accent-violet: #8B5CF6;--success: #059669;--success-dim: rgba(5, 150, 105, .12);--danger: #DC2626;--danger-dim: rgba(220, 38, 38, .12);--warning: #D97706;--radius-xs: 6px;--radius-sm: 10px;--radius-md: 14px;--radius-lg: 20px;--radius-xl: 28px;--radius-pill: 999px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-6: 24px;--gap-cards: 16px;--pad-card: 20px;--font-sans: "Inter", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;--font-mono: "JetBrains Mono", "SF Mono", "Cascadia Code", ui-monospace, monospace;--fs-xs: 11px;--fs-sm: 12px;--fs-base: 14px;--fs-md: 15px;--fs-lg: 17px;--fs-xl: 20px;--fs-2xl: 24px;--fs-3xl: 30px;--input-bg: rgba(255, 255, 255, .72);--input-border: rgba(148, 163, 184, .4);--input-border-focus: rgba(6, 182, 212, .7);--btn-primary-bg: linear-gradient(135deg, #22d3ee 0%, #14b8a6 55%, #0d9488 100%);--btn-primary-text: #042f2e;--btn-primary-shadow: 0 6px 28px rgba(6, 182, 212, .35), 0 0 40px rgba(20, 184, 166, .18);--btn-secondary-bg: rgba(255, 255, 255, .55);--btn-secondary-border: rgba(148, 163, 184, .35);--btn-secondary-text: var(--text-primary);--btn-height: 40px;--btn-height-sm: 32px;--shell-max: 1180px;--title-gradient: linear-gradient(120deg, #0F172A 0%, #0891B2 42%, #7C3AED 78%, #0F172A 100%);--badge-bg: linear-gradient(135deg, rgba(6, 182, 212, .14), rgba(139, 92, 246, .12));--badge-border: rgba(6, 182, 212, .35)}.glass{background:var(--glass-fill);backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--glass-shadow),var(--glass-inset)}.glass-strong{background:var(--glass-fill-strong);backdrop-filter:blur(var(--glass-blur-lg)) saturate(var(--glass-saturate));-webkit-backdrop-filter:blur(var(--glass-blur-lg)) saturate(var(--glass-saturate));border:1px solid var(--glass-border-strong);border-radius:var(--radius-lg);box-shadow:var(--glass-shadow-lg),var(--glass-inset)}.glass-soft{background:var(--glass-fill-soft);backdrop-filter:blur(var(--glass-blur-sm)) saturate(var(--glass-saturate));-webkit-backdrop-filter:blur(var(--glass-blur-sm)) saturate(var(--glass-saturate));border:1px solid var(--glass-border-inner);border-radius:var(--radius-md);box-shadow:var(--glass-inset)}@media (max-width: 768px),(prefers-reduced-transparency: reduce){.glass,.glass-strong,.glass-soft{backdrop-filter:none;-webkit-backdrop-filter:none}.glass{background:var(--glass-fallback)}.glass-strong{background:var(--glass-fallback-strong)}.glass-soft{background:var(--glass-fallback-soft)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}*{box-sizing:border-box}html,body{margin:0;min-height:100%}body{color:var(--text-primary);font-family:var(--font-sans);font-size:var(--fs-base);line-height:1.5;background-color:var(--bg-base);background-image:var(--bg-gradient);background-attachment:fixed}button,input{font:inherit;color:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}:focus-visible{outline:2px solid var(--accent-cyan);outline-offset:2px}.orb{position:fixed;width:280px;height:280px;border-radius:50%;filter:blur(var(--orb-blur));pointer-events:none;z-index:0}.orb-a{top:-40px;left:-40px;background:var(--orb-cyan)}.orb-b{top:8%;right:-60px;background:var(--orb-violet)}.orb-c{bottom:-80px;left:30%;background:var(--orb-teal)}#app{position:relative;z-index:1}.login-screen{min-height:100vh;display:grid;place-items:center;padding:24px 16px 40px}.login-card{width:min(420px,100%);padding:28px 26px 22px}.kicker{display:inline-flex;align-items:center;padding:4px 10px;border-radius:var(--radius-pill);background:var(--badge-bg);border:1px solid var(--badge-border);color:var(--text-accent);font-size:var(--fs-xs);letter-spacing:.04em}h1{margin:12px 0 4px;font-size:var(--fs-3xl);line-height:1.2;letter-spacing:-.03em;color:var(--text-primary)}@supports (background-clip: text) or (-webkit-background-clip: text){h1{background:var(--title-gradient);-webkit-background-clip:text;background-clip:text;color:transparent}}.lede,.muted{color:var(--text-secondary)}.muted{font-size:var(--fs-sm)}.stack{display:flex;flex-direction:column;gap:12px}.field{display:flex;flex-direction:column;gap:6px;font-size:var(--fs-sm);color:var(--text-secondary)}input[type=text],input[type=password],input[type=number]{height:40px;border-radius:var(--radius-sm);border:1px solid var(--input-border);background:var(--input-bg);padding:0 12px}input:focus{border-color:var(--input-border-focus);outline:none;box-shadow:0 0 0 3px var(--accent-cyan-glow)}.btn{height:var(--btn-height);padding:0 16px;border-radius:var(--radius-pill);border:1px solid transparent;font-weight:600}.btn-sm{height:var(--btn-height-sm);padding:0 12px;font-size:var(--fs-sm)}.btn-primary{background:var(--btn-primary-bg);color:var(--btn-primary-text);box-shadow:var(--btn-primary-shadow)}.btn-sell-go{background:linear-gradient(135deg,#fb7185,#e11d48);color:#fff;box-shadow:0 6px 20px #e11d4840}.btn-ghost{background:var(--btn-secondary-bg);border-color:var(--btn-secondary-border);color:var(--btn-secondary-text)}.btn-block{width:100%}.flash{min-height:1.3em;font-size:var(--fs-sm)}.flash.ok{color:var(--success)}.flash.bad{color:var(--danger)}.footer{margin-top:22px;text-align:center;color:var(--text-muted);font-size:var(--fs-sm)}.shell{max-width:var(--shell-max);margin:0 auto;padding:16px 16px 48px}.topbar{display:flex;align-items:center;gap:16px;padding:12px 16px;position:sticky;top:12px;z-index:5}.brand{min-width:160px}.brand h1{margin:0;font-size:var(--fs-xl)}.who{margin:2px 0 0}.stats{display:flex;flex-wrap:wrap;gap:14px 22px;margin-left:auto}.stat-label{display:block;font-size:var(--fs-xs);letter-spacing:.06em;color:var(--text-muted)}.stat-value{font-family:var(--font-mono);font-weight:600;font-size:var(--fs-md)}.top-actions{display:flex;gap:8px}.grid-top{display:grid;grid-template-columns:minmax(280px,380px) 1fr;gap:var(--gap-cards);margin-top:16px}.card{padding:var(--pad-card)}.card+.card{margin-top:16px}.card h2{margin:0;font-size:var(--fs-lg)}.card-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px}.seg{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:4px;border-radius:var(--radius-pill)}.seg button{height:34px;border-radius:var(--radius-pill);border:0;background:transparent;color:var(--text-secondary);font-weight:600}.seg button.is-on.is-buy{background:var(--success-dim);color:var(--success)}.seg button.is-on.is-sell{background:var(--danger-dim);color:var(--danger)}.actions{display:flex;gap:8px}.actions .btn{flex:1}.quote-box{padding:12px 14px;min-height:72px}.quote-top{display:flex;justify-content:space-between;gap:8px;align-items:baseline}.quote-symbol{font-weight:700;letter-spacing:.04em}.quote-px{font-family:var(--font-mono);font-size:var(--fs-2xl);font-weight:600;color:var(--text-accent)}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}th{text-align:left;font-size:var(--fs-xs);letter-spacing:.04em;color:var(--text-muted);font-weight:600}td,th{padding:10px 12px;border-bottom:1px solid rgba(148,163,184,.28);white-space:nowrap}td.num,th.num{text-align:right;font-family:var(--font-mono)}tbody tr:hover td{background:#ffffff59}.empty{text-align:center;color:var(--text-muted);white-space:normal;padding:22px 12px}.positive{color:var(--success)}.negative{color:var(--danger)}.side-buy{color:var(--success);font-weight:650}.side-sell{color:var(--danger);font-weight:650}.chart-wrap{height:240px}canvas.chart{width:100%;height:100%;display:block}.legend{display:flex;gap:16px;margin-top:8px;color:var(--text-muted);font-size:var(--fs-xs)}.swatch{display:inline-block;width:18px;height:0;border-top:2px solid var(--accent-cyan);margin-right:6px;vertical-align:middle}.swatch.base{border-top-style:dashed;border-top-color:#8b5cf6cc}#chart-tip{min-height:1.2em;margin:6px 0 0}@media (max-width: 860px){.topbar{flex-wrap:wrap;position:static}.stats{margin-left:0;width:100%}.grid-top{grid-template-columns:1fr}h1{font-size:var(--fs-2xl)}}
