@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-vietnamese-wght-normal-D0rl6rjA.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-latin-ext-wght-normal-D9tNdqV9.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-latin-wght-normal-BhU9QXUp.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-cyrillic-ext-600-normal-V-xxqcpd.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-600-normal-9HEixskS.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-cyrillic-600-normal-CTOM6hUh.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-600-normal-fLZuRloM.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-vietnamese-600-normal-D2EvbN8M.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-600-normal-iLQfcSjf.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-ext-600-normal-D38SheWl.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-600-normal-DmB0ttJJ.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-600-normal-BgSNZQsw.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-600-normal-DWFSQ4vo.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:dark;--sans: "Space Grotesk Variable", "Segoe UI", system-ui, -apple-system, sans-serif;--mono: "IBM Plex Mono", ui-monospace, "Cascadia Code", Consolas, monospace;--ui: var(--sans);--radius: 14px;--radius-sm: 8px;--bg: #0a0d1a;--glow-1: rgba(139, 151, 255, .16);--glow-2: rgba(61, 220, 151, .1);--surface: #111527;--surface-2: #182038;--surface-3: #1f2946;--border: #252f4e;--grid: rgba(37, 47, 78, .65);--ink: #eef1fb;--ink-2: #a6b0cc;--ink-3: #737e9c;--accent: #8b97ff;--accent-rgb: 139 151 255;--accent-fill: rgba(139, 151, 255, .22);--pos: #3ddc97;--pos-rgb: 61 220 151;--neg: #ff6b6b;--neg-rgb: 255 107 107;--warn: #f3b544;--warn-rgb: 243 181 68;--on-pos: #04140c;--on-neg: #ffffff;--live: #ff5252;--paper: #8b97ff;--shadow: #3ddc97;--panel-shadow: inset 0 1px 0 rgba(255, 255, 255, .04), 0 12px 32px -20px rgba(0, 0, 0, .8);--header-bg: rgba(17, 21, 39, .82)}:root[data-theme=daylight]{color-scheme:light;--bg: #f4f2ec;--glow-1: rgba(79, 95, 232, .14);--glow-2: rgba(23, 138, 86, .1);--surface: #ffffff;--surface-2: #f1efe8;--surface-3: #e6e3d9;--border: #dcd8cd;--grid: rgba(60, 64, 90, .1);--ink: #171c2c;--ink-2: #4a5468;--ink-3: #66708a;--accent: #4f5fe8;--accent-rgb: 79 95 232;--accent-fill: rgba(79, 95, 232, .18);--pos: #178a56;--pos-rgb: 23 138 86;--neg: #d13b3d;--neg-rgb: 209 59 61;--warn: #b26e00;--warn-rgb: 178 110 0;--on-pos: #ffffff;--on-neg: #ffffff;--live: #d13b3d;--paper: #4f5fe8;--shadow: #178a56;--panel-shadow: 0 1px 2px rgba(20, 24, 40, .06), 0 10px 28px -20px rgba(20, 24, 40, .35);--header-bg: rgba(255, 255, 255, .8)}:root[data-theme=terminal]{color-scheme:dark;--ui: var(--mono);--radius: 6px;--radius-sm: 4px;--bg: #050807;--glow-1: rgba(53, 208, 192, .1);--glow-2: rgba(74, 222, 128, .1);--surface: #0a100d;--surface-2: #101914;--surface-3: #17241d;--border: #1f3529;--grid: rgba(60, 120, 90, .25);--ink: #d9f5e3;--ink-2: #93c8a9;--ink-3: #5f9377;--accent: #35d0c0;--accent-rgb: 53 208 192;--accent-fill: rgba(53, 208, 192, .2);--pos: #4ade80;--pos-rgb: 74 222 128;--neg: #ff5c5c;--neg-rgb: 255 92 92;--warn: #e5c04b;--warn-rgb: 229 192 75;--on-pos: #03140a;--on-neg: #ffffff;--live: #ff5c5c;--paper: #35d0c0;--shadow: #4ade80;--panel-shadow: inset 0 0 0 1px rgba(74, 222, 128, .04);--header-bg: rgba(10, 16, 13, .9)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{color:var(--ink);font:13px/1.45 var(--ui);background:radial-gradient(900px 520px at 6% -12%,var(--glow-1),transparent 62%),radial-gradient(760px 420px at 100% 0%,var(--glow-2),transparent 60%),var(--bg);background-attachment:fixed;transition:background-color .25s ease}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}input,select{font:inherit;color:var(--ink);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px 9px;transition:border-color .15s,box-shadow .15s}input:focus,select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgb(var(--accent-rgb) / .22)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input:focus-visible,select:focus-visible{outline:none}code,.mono{font-family:var(--mono);font-size:12px}::selection{background:rgb(var(--accent-rgb) / .35)}a{color:var(--accent)}.pos{color:var(--pos)}.neg{color:var(--neg)}.muted{color:var(--ink-3)}.dim{color:var(--ink-2)}.app{display:grid;grid-template-rows:auto 1fr;height:100%}.header{display:flex;align-items:center;gap:14px;padding:10px 16px;border-bottom:1px solid var(--border);background:var(--header-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);position:relative;z-index:2}.brand{display:flex;flex-direction:column;line-height:1.05}.brand b{font-size:20px;font-weight:700;letter-spacing:.08em;background:linear-gradient(95deg,var(--accent),var(--pos));-webkit-background-clip:text;background-clip:text;color:transparent}.brand span{font-size:10.5px;color:var(--ink-3);letter-spacing:.1em;text-transform:uppercase}.header .spacer{flex:1}.tabs,.theme-picker{display:flex;gap:2px;padding:3px;border-radius:999px;background:var(--surface-2);border:1px solid var(--border)}.tabs button,.theme-picker button{background:transparent;border:1px solid transparent;border-radius:999px;padding:5px 13px;color:var(--ink-2);font-weight:500;transition:background-color .15s,color .15s}.tabs button:hover,.theme-picker button:hover{color:var(--ink)}.tabs button.active,.theme-picker button.active{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px #00000040,inset 0 0 0 1px var(--border)}.theme-picker button{padding:4px 9px;font-size:13px;line-height:1}.theme-picker button.active{color:var(--accent)}.btn{border:1px solid var(--border);background:var(--surface-2);border-radius:10px;padding:8px 14px;font-weight:600;transition:transform .1s,border-color .15s,box-shadow .15s}.btn:hover:not(:disabled){border-color:var(--ink-3)}.btn:active:not(:disabled){transform:translateY(1px)}.btn.start{color:var(--on-pos);padding:10px 22px;font-size:14px;letter-spacing:.06em;border-color:transparent;background:linear-gradient(135deg,var(--pos),color-mix(in srgb,var(--pos) 72%,var(--accent)));box-shadow:0 0 0 1px rgb(var(--pos-rgb) / .35),0 8px 20px -8px rgb(var(--pos-rgb) / .7)}.btn.start:hover:not(:disabled){box-shadow:0 0 0 1px rgb(var(--pos-rgb) / .6),0 10px 24px -8px rgb(var(--pos-rgb) / .9)}.btn.stop{color:var(--on-neg);padding:10px 22px;font-size:14px;letter-spacing:.06em;border-color:transparent;background:linear-gradient(135deg,var(--neg),color-mix(in srgb,var(--neg) 78%,#000));box-shadow:0 0 0 1px rgb(var(--neg-rgb) / .35),0 8px 20px -8px rgb(var(--neg-rgb) / .7)}.btn.danger{border-color:rgb(var(--neg-rgb) / .6);color:var(--neg);background:transparent}.btn.danger:hover:not(:disabled){background:rgb(var(--neg-rgb) / .12);border-color:var(--neg)}.btn.small{padding:4px 10px;font-weight:500;font-size:12px;border-radius:var(--radius-sm)}.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;border:1px solid}.badge.PAPER{color:var(--paper);border-color:var(--paper);background:rgb(var(--accent-rgb) / .1)}.badge.SHADOW{color:var(--shadow);border-color:var(--shadow);background:rgb(var(--pos-rgb) / .1)}.badge.LIVE{color:#fff;background:var(--live);border-color:var(--live);box-shadow:0 0 0 3px rgb(var(--neg-rgb) / .2)}.badge .dot{width:8px;height:8px;border-radius:50%;background:currentColor}.badge.LIVE .dot{animation:pulse 1.2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.status{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--ink-2)}.status .light{width:10px;height:10px;border-radius:50%;background:var(--ink-3)}.status .light.running{background:var(--pos);box-shadow:0 0 10px var(--pos)}.status .light.halted,.status .light.error{background:var(--neg);box-shadow:0 0 10px var(--neg)}.status .light.starting,.status .light.stopping{background:var(--warn);animation:pulse 1s infinite}.main{display:grid;grid-template-columns:1.35fr 1fr;grid-template-rows:auto auto 1fr;gap:12px;padding:12px 16px;overflow:hidden;min-height:0}.main>*{min-height:0}.col-span{grid-column:1 / -1}.main .left-col{display:grid;grid-template-rows:260px auto 1fr;gap:12px;min-height:0}.main .left-col .charts{display:grid;grid-template-columns:1fr 1fr;gap:12px;min-height:0}.main .right-col{display:grid;min-height:0}.main .right-col .panel{height:100%}@media(max-width:1400px){.main .left-col .charts{grid-template-columns:1fr}.main .left-col{grid-template-rows:500px auto 1fr}}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--panel-shadow);display:flex;flex-direction:column;min-height:0;overflow:hidden;transition:background-color .25s ease,border-color .25s ease}.panel h3{margin:0;padding:10px 14px;font-size:11.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:10px}.panel h3:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 8px rgb(var(--accent-rgb) / .7);flex:none}.panel h3 .right{margin-left:auto;font-weight:400;text-transform:none;letter-spacing:0}.panel h3 .right.chart-tools{flex:1 1 auto;min-width:0}.panel .body{padding:10px 14px;overflow:auto;min-height:0;flex:1}.panel .body.tight{padding:0}.tiles{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.tile{position:relative;overflow:hidden;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:10px 14px;box-shadow:var(--panel-shadow)}.tile:after{content:"";position:absolute;right:-28px;bottom:-36px;width:96px;height:96px;border-radius:50%;background:rgb(var(--accent-rgb) / .09);pointer-events:none}.tile .label{font-size:10.5px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.08em}.tile .value{font-family:var(--mono);font-size:22px;font-weight:600;font-variant-numeric:tabular-nums;margin-top:3px;letter-spacing:-.01em}.tile .sub{font-size:11px;color:var(--ink-2);margin-top:2px}.meter{height:6px;background:var(--surface-3);border-radius:3px;margin-top:8px;overflow:hidden}.meter>div{height:100%;border-radius:3px;transition:width .3s;background:linear-gradient(90deg,var(--accent),color-mix(in srgb,var(--accent) 55%,var(--pos)))}.meter>div.warn{background:var(--warn)}.meter>div.neg{background:var(--neg)}.budget{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}.budget-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px 12px 8px}.budget-head{display:flex;justify-content:space-between;font-size:11px}.budget-item .meter{margin-top:5px}table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}th{text-align:left;font-size:10.5px;color:var(--ink-3);font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:8px 10px;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--surface);z-index:1}td{padding:7px 10px;border-bottom:1px solid color-mix(in srgb,var(--border) 55%,transparent);white-space:nowrap}td.num,th.num{text-align:right}td.num{font-family:var(--mono);font-size:12px}tr:hover td{background:rgb(var(--accent-rgb) / .05)}.pill{display:inline-block;padding:1px 8px;border-radius:999px;font-size:11px;border:1px solid var(--border);color:var(--ink-2);background:var(--surface-2)}.pill.buy{color:var(--pos);border-color:rgb(var(--pos-rgb) / .6);background:rgb(var(--pos-rgb) / .1)}.pill.sell{color:var(--neg);border-color:rgb(var(--neg-rgb) / .6);background:rgb(var(--neg-rgb) / .1)}.pill.filled{color:var(--pos)}.pill.rejected,.pill.cancelled{color:var(--neg)}.tag{display:inline-block;font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);vertical-align:1px}.feed{display:flex;flex-direction:column;font-size:12.5px;line-height:1.5}.feed .row{display:grid;grid-template-columns:76px 56px 1fr;gap:10px;padding:7px 14px 7px 12px;border-bottom:1px solid color-mix(in srgb,var(--border) 55%,transparent);border-left:2px solid transparent;align-items:start}.feed .row:hover{background:rgb(var(--accent-rgb) / .04)}.feed .row.is-trade{border-left-color:var(--pos);background:rgb(var(--pos-rgb) / .06)}.feed .row.is-review{border-left-color:var(--accent)}.feed .row.warn{border-left-color:var(--warn)}.feed .row.error{border-left-color:var(--neg);background:rgb(var(--neg-rgb) / .07)}.feed .row .t{color:var(--ink-3);font-family:var(--mono);font-size:11px;display:flex;flex-direction:column;line-height:1.3}.feed .row .t .ago{color:var(--ink-3);opacity:.7;font-size:10px}.feed .row .msg{min-width:0;overflow-wrap:anywhere}.feed .row .lines{margin:6px 0 2px;display:flex;flex-direction:column;gap:2px;font-family:var(--mono);font-size:11px;color:var(--ink-2)}.feed .row .line{padding:2px 6px;border-radius:4px;white-space:pre-wrap}.feed .row .line b{color:var(--ink)}.feed .row .line.hot{background:rgb(var(--pos-rgb) / .12);color:var(--ink)}.feed-search{width:110px;padding:2px 8px;font-size:11px;border-radius:999px}.feed-panel h3{flex-wrap:nowrap}.feed .row .lvl{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.feed .row.info .lvl{color:var(--ink-3)}.feed .row.warn .lvl{color:var(--warn)}.feed .row.error .lvl{color:var(--neg)}.feed .row.trade .lvl{color:var(--pos)}.feed .row.analyst .lvl{color:var(--accent)}.feed .row details{margin-top:3px}.feed .row summary{color:var(--ink-3);cursor:pointer;font-size:11px}.feed .row pre{margin:4px 0 0;font-size:11px;color:var(--ink-2);white-space:pre-wrap;word-break:break-all;max-height:200px;overflow:auto}.chart-wrap{position:relative;width:100%;height:100%;min-height:220px}.chart{width:100%;height:100%;min-height:220px}.overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.chart-tools{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end;row-gap:4px}.toolbar{display:flex;gap:6px;align-items:center;flex-wrap:wrap;padding:8px 12px;border-bottom:1px solid var(--border);background:var(--surface)}.toolbar button,.chart-tools button{background:transparent;border:1px solid var(--border);border-radius:999px;padding:2px 10px;font-size:11px;color:var(--ink-2);transition:background-color .15s,border-color .15s,color .15s}.toolbar button:hover,.chart-tools button:hover{color:var(--ink);border-color:var(--ink-3)}.toolbar button.active,.chart-tools button.active{color:var(--ink);border-color:rgb(var(--accent-rgb) / .7);background:rgb(var(--accent-rgb) / .14)}.toolbar .feed-search{margin-left:auto}.settings{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:max-content;align-items:start;gap:12px;padding:12px 16px;overflow:auto}.settings .panel .body{display:flex;flex-direction:column;gap:10px}.field{display:grid;grid-template-columns:200px 1fr;align-items:center;gap:10px}.field label{color:var(--ink-2);font-size:12px}.field .hint{grid-column:2;font-size:11px;color:var(--ink-3);margin-top:-6px}.field input[type=number]{width:140px}.field input[type=text],.field input[type=password]{width:100%}.row-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.note{background:rgb(var(--warn-rgb) / .08);border-left:3px solid var(--warn);padding:8px 12px;border-radius:var(--radius-sm);font-size:12px;color:var(--ink-2)}.note.ok{border-left-color:var(--pos);background:rgb(var(--pos-rgb) / .08)}.note.bad{border-left-color:var(--neg);background:rgb(var(--neg-rgb) / .08)}.toast{position:fixed;bottom:16px;right:16px;background:var(--surface-2);border:1px solid var(--border);border-left:3px solid var(--accent);padding:10px 14px;border-radius:var(--radius-sm);max-width:480px;box-shadow:0 12px 36px -8px #00000080;z-index:10;cursor:pointer;animation:toast-in .22s ease-out}.toast.error{border-color:var(--border);border-left-color:var(--neg)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.modal-backdrop{position:fixed;inset:0;background:#0000008c;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:20}.modal{background:var(--surface);border:1px solid var(--neg);border-radius:var(--radius);padding:20px;width:460px;display:flex;flex-direction:column;gap:12px;box-shadow:0 30px 80px -20px #000000b3}.modal h2{margin:0;color:var(--neg);font-size:16px}.empty{color:var(--ink-3);padding:20px;text-align:center;font-size:12px}.login{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.login .modal{border-color:var(--border)}.login .brand{margin-bottom:4px}.login .brand b{font-size:28px}.review{display:grid;grid-template-rows:auto 1fr;gap:12px;padding:12px 16px;overflow:auto}.review-summary{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:12px}.stat{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 12px}.stat .label{font-size:10.5px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.08em}.stat .value{font-family:var(--mono);font-size:18px;font-weight:600;font-variant-numeric:tabular-nums}.stat .sub{font-size:11px;color:var(--ink-2)}ul.plain{margin:6px 0 0;padding-left:16px}input[type=date]{padding:2px 6px;font-size:11px}input[type=search]{appearance:none}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-thumb{background:var(--border);border-radius:6px;border:2px solid var(--surface)}*::-webkit-scrollbar-thumb:hover{background:var(--ink-3)}*::-webkit-scrollbar-track{background:transparent}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
