:root{--bg: #070A12;--panel: rgba(255,255,255,.06);--panel2: rgba(255,255,255,.09);--text: rgba(255,255,255,.92);--muted: rgba(255,255,255,.62);--line: rgba(255,255,255,.12);--good: #34d399;--bad: #fb7185;--warn: #fbbf24;--accent: #60a5fa;--glow: rgba(96,165,250,.3);--radius: 16px;--shadow: 0 10px 30px rgba(0,0,0,.45);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial}*{box-sizing:border-box}body{margin:0;background:radial-gradient(1200px 800px at 20% 10%,rgba(96,165,250,.12),transparent 55%),radial-gradient(900px 600px at 80% 20%,rgba(52,211,153,.08),transparent 55%),radial-gradient(900px 600px at 40% 90%,rgba(251,113,133,.06),transparent 60%),var(--bg);color:var(--text)}a{color:inherit;text-decoration:none}.container{width:min(1100px,92vw);margin:0 auto;padding:18px 0 40px}.grid{display:grid;gap:14px}@media (min-width: 900px){.grid.cols-2{grid-template-columns:1fr 1fr}.grid.cols-3{grid-template-columns:1fr 1fr 1fr}}.card{background:linear-gradient(180deg,var(--panel),rgba(255,255,255,.03));border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.cardHeader{padding:14px 14px 10px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:10px}.cardBody{padding:14px}.h1{font-size:18px;font-weight:700;letter-spacing:.2px}.muted{color:var(--muted)}.small{font-size:12px}.topbar{position:sticky;top:0;z-index:20;background:#070a12b8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.topbarInner{width:min(1100px,92vw);margin:0 auto;padding:12px 0;display:flex;align-items:center;justify-content:space-between;gap:12px}.brand{display:flex;align-items:center;gap:10px}.logo{width:34px;height:34px;border-radius:10px;background:radial-gradient(circle at 30% 30%,var(--accent),transparent 60%),radial-gradient(circle at 70% 70%,rgba(52,211,153,.9),transparent 55%),#ffffff0d;border:1px solid rgba(255,255,255,.14);box-shadow:0 0 24px var(--glow)}.pills{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.pill{padding:6px 10px;border-radius:999px;border:1px solid var(--line);background:#ffffff0d;font-size:12px}.btn{padding:10px 12px;border-radius:12px;border:1px solid rgba(255,255,255,.18);background:#ffffff0f;color:var(--text);cursor:pointer}.btn:hover{background:#ffffff1a}.btnPrimary{border-color:#60a5fa66;box-shadow:0 0 0 3px #60a5fa1f}.btnDanger{border-color:#fb718566;box-shadow:0 0 0 3px #fb71851a}.input{width:100%;padding:10px 12px;border-radius:12px;border:1px solid rgba(255,255,255,.18);background:#00000040;color:var(--text);outline:none}.input:focus{border-color:#60a5fa8c;box-shadow:0 0 0 3px #60a5fa1f}.row{display:flex;gap:10px;align-items:center}.spacer{flex:1}.nav{display:flex;gap:8px}.nav a{padding:8px 10px;border-radius:12px;border:1px solid transparent;color:var(--muted)}.nav a.active{border-color:var(--line);background:#ffffff0d;color:var(--text)}.toastWrap{position:fixed;bottom:14px;left:50%;transform:translate(-50%);width:min(560px,92vw);z-index:999}.toast{margin-top:10px;padding:12px 14px;border-radius:14px;border:1px solid var(--line);background:#0000008c;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.toast.good{border-color:#34d39959}.toast.bad{border-color:#fb718559}.wsPills{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.wsPill{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:999px;border:1px solid var(--line);background:#ffffff0d;font-size:12px;line-height:1;white-space:nowrap}.wsPill .k{opacity:.7}.wsPill .v{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.wsPill.ok{border-color:#34d39973;background:#34d39914;color:#b9ffdcf2}.wsPill.warn{border-color:#fbbf248c;background:#fbbf241a;color:#ffeaaaf2}.wsPill.bad{border-color:#fb71858c;background:#fb71851a;color:#ffbec8f2}.wsPill.muted{border-color:#ffffff24;background:#ffffff0a;color:#ffffffc7}.wsPanel{margin-top:12px}.wsPanelHead{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px;font-size:12px;color:var(--muted)}.wsPanelBody{border:1px solid rgba(255,255,255,.14);border-radius:12px;padding:10px;background:#00000059;min-height:44px;white-space:pre-wrap;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;max-height:220px;overflow:auto}.pricesWrap{overflow-x:auto;border-radius:14px;border:1px solid rgba(255,255,255,.12);background:#00000038}.pricesTable{width:100%;border-collapse:separate;border-spacing:0;min-width:820px;font-size:13px;line-height:1.25}.pricesTable thead th{position:sticky;top:0;z-index:1;text-align:left;padding:10px 12px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#ffffffb8;background:#0000006b;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.12)}.pricesTable tbody td{padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.08);vertical-align:middle}.pricesTable tbody tr:nth-child(2n){background:#ffffff08}.pricesTable tbody tr:hover{background:#60a5fa14;box-shadow:inset 0 0 0 1px #60a5fa1f}.priceEpic{font-weight:800;letter-spacing:.2px;white-space:nowrap;color:#ffffffeb}.priceNum{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.pricesTable th:nth-child(2),.pricesTable th:nth-child(3),.pricesTable td:nth-child(2),.pricesTable td:nth-child(3){text-align:right}.pricesTable td:nth-child(2){color:var(--good)}.pricesTable td:nth-child(3){color:var(--bad)}.spreadPill{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:#ffffff0f;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;white-space:nowrap}.mktBadge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:#ffffff0f;font-size:12px;white-space:nowrap}.mktBadge.tradeable{border-color:#34d39973;background:#34d3991a;color:#b9ffdcf2}.mktBadge.closed{border-color:#fb71858c;background:#fb71851a;color:#ffbec8f2}.mktBadge.other{border-color:#ffffff2e;background:#ffffff0f;color:#ffffffe0}.tbl{width:100%;border-collapse:separate;border-spacing:0;font-size:13px;line-height:1.25}.tbl thead th{position:sticky;top:0;z-index:2;text-align:left;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#ffffffb3;background:#00000059;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.14);padding:10px}.tbl tbody td{padding:10px;border-bottom:1px solid rgba(255,255,255,.1);vertical-align:middle}.tbl tbody tr:nth-child(odd){background:#ffffff08}.tbl tbody tr:hover{background:#60a5fa14}.tbl td:nth-child(2),.tbl td:nth-child(3){font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-variant-numeric:tabular-nums;text-align:right}.tbl th:nth-child(2),.tbl th:nth-child(3){text-align:right}.tbl td:nth-child(4),.tbl td:nth-child(6){font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-variant-numeric:tabular-nums}.tbl td:nth-child(5){font-size:12px;color:#ffffffc7}.tbl tbody td:first-child{font-weight:700;color:var(--accent)}.tbl tbody td:nth-child(2){color:var(--good)}.tbl tbody td:nth-child(3){color:var(--bad)}.tbl tbody td{border-bottom:1px solid rgba(255,255,255,.06)}.tbl tbody tr:hover{background:#ffffff0d;box-shadow:inset 0 0 0 1px #60a5fa1f}.pricesWrap{overflow-x:auto;border-radius:14px;border:1px solid rgba(255,255,255,.14);background:#0000004d;box-shadow:inset 0 0 0 1px #60a5fa1a}.pricesWrap::-webkit-scrollbar{height:10px}.pricesWrap::-webkit-scrollbar-track{background:#ffffff0f;border-radius:999px}.pricesWrap::-webkit-scrollbar-thumb{background:#60a5fa4d;border-radius:999px}.pricesWrap::-webkit-scrollbar-thumb:hover{background:#60a5fa73}.pricesWrap{scrollbar-color:rgba(96,165,250,.35) rgba(255,255,255,.08);scrollbar-width:thin}@keyframes flashUp{0%{box-shadow:inset 0 0 0 1px #34d39900;background:#34d39900}20%{box-shadow:inset 0 0 0 1px #34d39973;background:#34d3991f}to{box-shadow:inset 0 0 0 1px #34d39900;background:#34d39900}}@keyframes flashDown{0%{box-shadow:inset 0 0 0 1px #fb718500;background:#fb718500}20%{box-shadow:inset 0 0 0 1px #fb718573;background:#fb71851f}to{box-shadow:inset 0 0 0 1px #fb718500;background:#fb718500}}.flashUp{animation:flashUp .26s ease-out}.flashDown{animation:flashDown .26s ease-out}
