:root{--bg-base: #0d0f14;--bg-surface: #13161e;--bg-elevated: #1a1e2a;--border: #262b38;--text: #e6e9ef;--muted: #8b93a7;--green: #22c55e;--red: #ef4444;--purple: #8b5cf6}*{box-sizing:border-box}body{margin:0;background:var(--bg-base);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:14px}.app{max-width:1000px;margin:0 auto;padding:16px}.topbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-bottom:16px}.topbar h1{font-size:18px;margin:0}.tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.tab{padding:8px 14px;border:1px solid var(--border);border-radius:8px;background:var(--bg-surface);color:var(--muted);cursor:pointer}.tab.active{color:var(--text);border-color:var(--purple)}.card{background:var(--bg-surface);border:1px solid var(--border);border-radius:12px;padding:16px;margin-bottom:16px}.kill{display:flex;align-items:center;gap:12px;justify-content:space-between}.btn{padding:10px 16px;border-radius:8px;border:none;cursor:pointer;font-weight:600;color:#fff}.btn.on{background:var(--green)}.btn.off{background:var(--red)}.btn.primary{background:var(--purple)}.btn.ghost{background:var(--bg-elevated);color:var(--text);border:1px solid var(--border)}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:8px;border-bottom:1px solid var(--border)}th{color:var(--muted);font-weight:600}input,select{background:var(--bg-elevated);border:1px solid var(--border);color:var(--text);border-radius:6px;padding:6px 8px;width:100%}.status{padding:2px 8px;border-radius:999px;font-size:12px;background:var(--bg-elevated)}.token-input{max-width:260px}.muted{color:var(--muted)}.shell{display:grid;grid-template-columns:236px 1fr;min-height:100vh}.side{background:var(--bg-surface);border-right:1px solid var(--border);padding:16px 12px;display:flex;flex-direction:column;gap:2px;position:sticky;top:0;height:100vh;overflow-y:auto}.brand{display:flex;align-items:center;gap:10px;padding:4px 8px 12px;font-weight:700;font-size:15px}.brand .mark{width:28px;height:28px;border-radius:8px;background:var(--bg-elevated);display:grid;place-items:center;font-size:15px}.navsec{margin-top:12px}.navsec-l{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding:4px 10px}.navitem{display:flex;align-items:center;gap:8px;width:100%;text-align:left;padding:8px 10px;border-radius:8px;background:none;border:none;color:var(--muted);font:inherit;font-size:13px;cursor:pointer}.navitem:hover{background:var(--bg-elevated);color:var(--text)}.navitem.active{background:color-mix(in srgb,var(--purple) 16%,transparent);color:var(--text);font-weight:600}.navitem:focus-visible{outline:2px solid var(--purple);outline-offset:1px}.navitem .grow{flex:1}.navico{width:17px;height:17px;flex:none;opacity:.8}.navitem.active .navico{color:var(--purple);opacity:1}.pill{width:7px;height:7px;border-radius:50%;flex:none}.pill.ok{background:var(--green);box-shadow:0 0 0 3px color-mix(in srgb,var(--green) 22%,transparent)}.pill.off{background:var(--muted)}.count{font-size:11px;background:color-mix(in srgb,var(--purple) 18%,transparent);color:var(--purple);padding:1px 7px;border-radius:999px}.main{min-width:0;display:flex;flex-direction:column}.main .topbar{position:sticky;top:0;z-index:5;margin:0;background:var(--bg-base);border-bottom:1px solid var(--border);padding:12px 22px;gap:12px}.main .topbar h1{font-size:17px}.main .content{padding:20px 22px 48px}.grow{flex:1}.badge-armed{font-size:11px;font-weight:700;color:var(--red);background:color-mix(in srgb,var(--red) 14%,transparent);padding:3px 9px;border-radius:999px}.statrow{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.stat{background:var(--bg-surface);border:1px solid var(--border);border-radius:12px;padding:12px 14px}.stat .k{font-size:11px;color:var(--muted)}.stat .v{font-size:18px;font-weight:650;margin-top:4px;font-variant-numeric:tabular-nums}.stat .v.ok{color:var(--green)}.stat .v.loss{color:var(--red)}.filterbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:14px}.btn.sm{padding:6px 12px;font-size:12px}.btn.good{background:var(--green)}.btn.bad{background:var(--red)}.mono{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-variant-numeric:tabular-nums}.num{text-align:right;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-variant-numeric:tabular-nums}td.profit,.profit{color:var(--green)}td.loss,.loss{color:var(--red)}.sell{color:var(--red);font-weight:600}.buy{color:var(--green);font-weight:600}.badge{display:inline-block;font-size:11px;padding:2px 8px;border-radius:999px;background:var(--bg-elevated);color:var(--muted)}.badge.acc{background:color-mix(in srgb,var(--purple) 16%,transparent);color:var(--purple)}.toast{position:fixed;bottom:22px;right:22px;z-index:100;background:var(--bg-elevated);color:var(--text);border:1px solid var(--border);border-left:3px solid var(--green);padding:11px 16px;border-radius:10px;font-weight:600;font-size:13px;box-shadow:0 8px 28px #00000059;animation:toast-in .18s ease}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.toast{animation:none}}@media(max-width:820px){.shell{grid-template-columns:1fr}.side{position:static;height:auto;flex-direction:row;flex-wrap:wrap;align-items:center;border-right:none;border-bottom:1px solid var(--border);gap:4px}.brand{width:100%}.navsec{margin-top:0;display:flex;align-items:center;gap:4px}.navsec-l{display:none}.statrow{grid-template-columns:1fr 1fr}}@media(max-width:640px){table,thead,tbody,th,td,tr{display:block}thead{display:none}tr{border:1px solid var(--border);border-radius:8px;margin-bottom:10px;padding:6px}td{border:none;display:flex;justify-content:space-between;gap:12px}td:before{content:attr(data-label);color:var(--muted);font-weight:600}}
