@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,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) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-cyrillic-wght-normal-D73BlboJ.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-greek-wght-normal-Bw9x6K1M.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-vietnamese-wght-normal-Bt-aOZkq.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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.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}:root{--up: #22c55e;--down: #ef4444;--warn: #eab308;--alert: #f97316;--flat: #8a8a8a;--c-0: #000000;--c-1: #0d0d0d;--c-2: #1a1a1a;--c-3: #262626;--c-4: #404040;--c-5: #808080;--c-6: #ffffff;--bg: var(--c-0);--surface: var(--c-1);--surface-2: var(--c-2);--border: var(--c-3);--hover: var(--c-2);--active: var(--c-4);--text: var(--c-6);--muted: var(--c-5);--radius: 10px;--radius-sm: 6px;--font: "Inter Variable", "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono: "JetBrains Mono Variable", "JetBrains Mono", ui-monospace, "SFMono-Regular", Consolas, monospace;--sidebar: 232px;--sidebar-collapsed: 56px;--topbar: 48px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:13px;line-height:1.45;-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums}a{color:var(--text);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:3px}::selection{background:var(--c-4);color:var(--c-6)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--c-0)}::-webkit-scrollbar-thumb{background:var(--c-3);border-radius:6px;border:2px solid var(--c-0)}::-webkit-scrollbar-thumb:hover{background:var(--c-4)}:focus-visible{outline:1px solid var(--c-6);outline-offset:2px}h1,h2,h3,h4{margin:0;font-weight:600;letter-spacing:-.01em}h1{font-size:18px}h2{font-size:15px}h3{font-size:13px}.mono{font-family:var(--mono);font-size:12px}.muted{color:var(--muted)}.upper{text-transform:uppercase;letter-spacing:.06em}.small{font-size:11px}.right{text-align:right}.nowrap{white-space:nowrap}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row{display:flex;align-items:center;gap:8px}.row-between{display:flex;align-items:center;justify-content:space-between;gap:8px}.col{display:flex;flex-direction:column;gap:8px}.wrap{flex-wrap:wrap}.grow{flex:1;min-width:0}.gap-lg{gap:16px}.mt{margin-top:12px}.mb{margin-bottom:12px}.grid{display:grid;gap:12px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid-6{grid-template-columns:repeat(6,minmax(0,1fr))}.span-2{grid-column:span 2}.span-3{grid-column:span 3}.span-all{grid-column:1 / -1}@media(max-width:1400px){.grid-6,.grid-5{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:1100px){.grid-4,.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.grid-2,.grid-3,.grid-4,.grid-5,.grid-6{grid-template-columns:minmax(0,1fr)}.span-2,.span-3{grid-column:auto}}.shell{display:grid;grid-template-columns:var(--sidebar) 1fr;grid-template-rows:var(--topbar) 1fr;height:100vh}.shell.collapsed{grid-template-columns:var(--sidebar-collapsed) 1fr}.shell.live{box-shadow:inset 0 0 0 3px var(--c-6)}.sidebar{grid-row:1 / 3;background:var(--c-1);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}.brand{height:var(--topbar);display:flex;align-items:center;gap:10px;padding:0 16px;border-bottom:1px solid var(--border);font-weight:700;letter-spacing:.08em}.nav{overflow-y:auto;padding:8px;display:flex;flex-direction:column;gap:1px;flex:1}.nav-section{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.1em;padding:12px 10px 4px}.nav a{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:var(--radius-sm);color:var(--muted);white-space:nowrap}.nav a:hover{background:var(--hover);color:var(--text);text-decoration:none}.nav a.active{background:var(--c-3);color:var(--text)}.collapsed .nav a span,.collapsed .nav-section,.collapsed .brand span{display:none}.sidebar-foot{border-top:1px solid var(--border);padding:8px}.topbar{background:var(--c-0);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:12px;padding:0 14px;min-width:0;overflow-x:auto}.topbar .stat{display:flex;flex-direction:column;line-height:1.1;padding:0 10px;border-left:1px solid var(--border)}.topbar .stat b{font-size:12px}.topbar .stat small{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.06em}.main{overflow:auto;padding:18px 20px 40px;min-width:0}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:16px;flex-wrap:wrap}.page-header p{margin:4px 0 0;color:var(--muted)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px;min-width:0}.card.flat{padding:0}.card-title{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.card-title h3{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:600}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px;min-width:0}.stat-card .label{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.06em;display:flex;justify-content:space-between;gap:6px}.stat-card .value{font-size:20px;font-weight:600;margin-top:4px;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stat-card .sub{color:var(--muted);font-size:11px;margin-top:2px}.kv{display:grid;grid-template-columns:minmax(0,max-content) minmax(0,1fr);gap:6px 16px}.kv dt{color:var(--muted)}.kv dd{margin:0;text-align:right;font-family:var(--mono);font-size:12px;overflow-wrap:anywhere;min-width:0}.divider{height:1px;background:var(--border);margin:12px 0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:30px;padding:0 12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--c-2);color:var(--text);font:inherit;font-weight:500;cursor:pointer;white-space:nowrap}.btn:hover:not(:disabled){background:var(--c-3)}.btn:active:not(:disabled){background:var(--c-4)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn.primary{background:var(--c-6);color:var(--c-0);border-color:var(--c-6)}.btn.primary:hover:not(:disabled){background:var(--c-5);border-color:var(--c-5)}.btn.ghost{background:transparent;border-color:transparent;color:var(--muted)}.btn.ghost:hover:not(:disabled){color:var(--text);background:var(--c-2)}.btn.danger{background:var(--c-0);border:1px dashed var(--c-6)}.btn.sm{height:24px;padding:0 8px;font-size:12px}.btn.icon{width:30px;padding:0}.btn.stop{background:var(--c-6);color:var(--c-0);border:2px solid var(--c-6);font-weight:800;letter-spacing:.08em;text-transform:uppercase}.btn.stop.engaged{background:var(--c-0);color:var(--c-6);border-style:double;border-width:3px}.input,.select,textarea.input{height:30px;padding:0 10px;background:var(--c-0);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);font:inherit;min-width:0}textarea.input{height:auto;padding:8px 10px;font-family:var(--mono);font-size:12px}.input:focus,.select:focus{border-color:var(--c-5);outline:none}.input.error{border-style:dashed;border-color:var(--c-6)}.field{display:flex;flex-direction:column;gap:4px;min-width:0}.field>span{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.05em}.field .hint{color:var(--muted);font-size:11px;text-transform:none;letter-spacing:0}.field .err{font-size:11px;text-decoration:underline dotted}.toggle{position:relative;width:32px;height:18px;border-radius:10px;background:var(--c-3);border:1px solid var(--c-4);cursor:pointer;flex:none}.toggle:after{content:"";position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:50%;background:var(--c-5);transition:left .12s}.toggle.on{background:var(--c-6);border-color:var(--c-6)}.toggle.on:after{left:16px;background:var(--c-0)}.checkbox{accent-color:var(--c-6)}.tag{display:inline-flex;align-items:center;gap:4px;height:20px;padding:0 7px;border-radius:3px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;border:1px solid var(--c-4);color:var(--muted);white-space:nowrap}.tag.solid{background:var(--c-6);color:var(--c-0);border-color:var(--c-6)}.tag.strong{color:var(--text);border-color:var(--c-6)}.tag.dashed{border-style:dashed}.tag.dotted{border-style:dotted}.tag.double{border:3px double var(--c-6);color:var(--text)}.dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex:none}.dot.ok{background:var(--c-6)}.dot.degraded{border:1.5px solid var(--c-6)}.dot.down{background:transparent;border:1.5px dashed var(--c-5);border-radius:1px}.dot.off{background:var(--c-4)}.pos{color:var(--text);font-weight:600}.neg{color:var(--muted)}.mode-live{background:var(--c-6);color:var(--c-0);font-weight:800;padding:3px 10px;border-radius:3px;letter-spacing:.12em;border:2px solid var(--c-6)}.mode-paper{border:1px solid var(--c-6);padding:2px 9px;border-radius:3px;letter-spacing:.12em;font-weight:700}.mode-replay{border:1px dashed var(--c-5);color:var(--muted);padding:2px 9px;border-radius:3px;letter-spacing:.12em;font-weight:700}.live-banner{border:3px double var(--c-6);padding:8px 12px;border-radius:var(--radius);margin-bottom:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.notice{border:1px dashed var(--c-4);border-radius:var(--radius);padding:10px 12px;color:var(--muted)}.notice.strong{border:1px solid var(--c-6);color:var(--text)}.stale{opacity:.55}.bar{height:6px;background:var(--c-2);border-radius:3px;overflow:hidden;border:1px solid var(--c-3)}.bar>i{display:block;height:100%;background:var(--c-6)}.bar.hatched>i{background:repeating-linear-gradient(45deg,var(--c-5) 0 3px,var(--c-2) 3px 6px)}.table-wrap{overflow:auto;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}table.table{width:100%;border-collapse:collapse;font-size:12px}.table th{position:sticky;top:0;background:var(--c-1);color:var(--muted);font-weight:600;text-align:left;padding:7px 10px;border-bottom:1px solid var(--border);white-space:nowrap;font-size:11px;text-transform:uppercase;letter-spacing:.04em;z-index:1}.table th.sortable{cursor:pointer;user-select:none}.table th.sortable:hover{color:var(--text)}.table td{padding:6px 10px;border-bottom:1px solid var(--c-2);white-space:nowrap}.table tr.clickable{cursor:pointer}.table tr:hover td{background:var(--c-2)}.table tr.selected td{background:var(--c-3)}.table td.num,.table th.num{text-align:right;font-family:var(--mono)}.vtable{position:relative;overflow:auto;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.vtable .vrow{display:grid;align-items:center;border-bottom:1px solid var(--c-2);font-size:12px;position:absolute;left:0;right:0}.vtable .vrow:hover{background:var(--c-2);cursor:pointer}.vtable .vhead{display:grid;position:sticky;top:0;z-index:2;background:var(--c-1);border-bottom:1px solid var(--border);color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.04em;font-weight:600}.vtable .cell{padding:6px 10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vtable .cell.num{text-align:right;font-family:var(--mono)}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--border);margin-bottom:14px;overflow-x:auto}.tabs button{background:none;border:none;color:var(--muted);padding:8px 12px;cursor:pointer;font:inherit;border-bottom:2px solid transparent;white-space:nowrap}.tabs button:hover{color:var(--text)}.tabs button.active{color:var(--text);border-bottom-color:var(--c-6)}.overlay{position:fixed;inset:0;background:#000000b8;z-index:50;display:flex;align-items:flex-start;justify-content:center;padding-top:8vh}.modal{background:var(--c-1);border:1px solid var(--c-4);border-radius:var(--radius);width:min(720px,94vw);max-height:84vh;overflow:auto}.modal.wide{width:min(1180px,96vw)}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--c-1);z-index:1}.modal-body{padding:16px}.modal-foot{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid var(--border)}.toasts{position:fixed;right:16px;bottom:16px;display:flex;flex-direction:column;gap:8px;z-index:60}.toast{background:var(--c-1);border:1px solid var(--c-4);border-radius:var(--radius);padding:10px 12px;min-width:260px;max-width:420px;display:flex;gap:10px;align-items:flex-start}.toast.error{border-style:dashed;border-color:var(--c-6)}.toast.success{border-color:var(--c-6)}.palette{width:min(620px,94vw);background:var(--c-1);border:1px solid var(--c-4);border-radius:var(--radius);overflow:hidden}.palette input{width:100%;border:none;border-bottom:1px solid var(--border);background:transparent;color:var(--text);padding:14px 16px;font:inherit;font-size:14px;outline:none}.palette .item{display:flex;align-items:center;gap:10px;padding:9px 16px;cursor:pointer;color:var(--muted)}.palette .item.active,.palette .item:hover{background:var(--c-2);color:var(--text)}.skeleton{background:linear-gradient(90deg,var(--c-1) 0%,var(--c-2) 50%,var(--c-1) 100%);background-size:200% 100%;animation:sk 1.4s linear infinite;border-radius:var(--radius-sm)}@keyframes sk{0%{background-position:200% 0}to{background-position:-200% 0}}.state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:32px 16px;color:var(--muted);text-align:center}.state b{color:var(--text)}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.chart{width:100%}.uplot,.uplot *{font-family:var(--mono)!important}.u-cursor-x,.u-cursor-y{border-color:var(--c-5)!important}.u-select{background:var(--c-3)!important;opacity:.6}.u-legend .u-marker{border-color:var(--c-5)!important}.u-legend tr.u-off>*{opacity:.4}.u-legend{color:var(--muted);font-size:11px}.login{min-height:100vh;display:flex;align-items:center;justify-content:center}.login .card{width:360px;padding:24px}.heat-cell{stroke:var(--c-0)}.rule-row{display:grid;grid-template-columns:22px 1fr auto auto;gap:8px;align-items:center;padding:6px 8px;border-bottom:1px solid var(--c-2)}.rule-row.fail{border-left:2px dashed var(--c-5)}.rule-row.pass{border-left:2px solid var(--c-6)}.cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.cal .day{border:1px solid var(--border);border-radius:var(--radius-sm);min-height:96px;padding:6px 8px;background:var(--c-1);cursor:pointer;display:flex;flex-direction:column;gap:3px}.cal .day:hover{border-color:var(--c-5)}.cal .day.empty{background:var(--c-0);border-style:dashed;cursor:default}.cal .day.nodata{opacity:.5}.lineage{display:flex;flex-direction:column;gap:0}.lineage .node{border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 10px;background:var(--c-1)}.lineage .edge{width:1px;height:14px;background:var(--c-4);margin-left:18px}.btn,.nav a,.card,.stat-card,.input,.select,.tabs button{transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease}.card,.stat-card{box-shadow:0 1px 0 var(--c-2) inset,0 8px 24px -16px var(--c-0)}.card:hover,.stat-card:hover{border-color:var(--c-4)}.brand{gap:12px}.brand-mark{border-radius:6px;flex:none}.nav a{position:relative}.nav a.active{background:var(--c-2)}.nav a.active:before{content:"";position:absolute;left:-8px;top:6px;bottom:6px;width:3px;border-radius:0 3px 3px 0;background:var(--c-6)}.topbar{backdrop-filter:blur(6px)}.page-header h1{font-size:20px;letter-spacing:-.02em}.stat-card .value{font-size:22px}.btn.primary{box-shadow:0 0 0 1px var(--c-6)}.input:focus,.select:focus{outline:none;border-color:var(--c-5);box-shadow:0 0 0 3px var(--c-2)}.cov{display:inline-flex;gap:1px;vertical-align:middle}.cov i{display:block;width:9px;height:14px;border-radius:1px;background:var(--c-2)}.cov i.l1{background:var(--c-4)}.cov i.l2{background:var(--c-5)}.cov i.l3{background:var(--c-6)}.cov i.sim{background:repeating-linear-gradient(45deg,var(--c-4) 0 2px,var(--c-2) 2px 4px)}.cov-legend{gap:14px}.menu-btn{flex:none}.topbar-brand,.drawer-close,.drawer-status,.drawer-user,.scrim,.tabbar{display:none}.drawer-user{gap:8px}.segmented{display:inline-flex;gap:4px;padding:4px;background:var(--c-1);border:1px solid var(--border);border-radius:12px;margin-bottom:14px}.segmented button{display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 14px;border-radius:9px;border:none;background:transparent;color:var(--muted);font:inherit;font-weight:600;cursor:pointer;transition:background-color .15s ease,color .15s ease}.segmented button:hover{color:var(--text)}.segmented button.active{background:var(--c-6);color:var(--c-0)}.segmented .count{min-width:20px;height:18px;padding:0 6px;border-radius:9px;font-size:11px;display:inline-flex;align-items:center;justify-content:center;background:var(--c-3);color:var(--text)}.segmented.sm{margin:0;padding:3px;border-radius:10px}.segmented.sm button{height:28px;padding:0 11px;border-radius:7px;font-variant-numeric:tabular-nums}.segmented button:disabled{opacity:.45;cursor:default}.segmented button.active:hover{color:var(--c-0)}.bet-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px}.bet-head h4{margin:0}.bet-default{flex:none}.size-bet .bet{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin-bottom:10px}.bet-opt{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:0;padding:9px 2px;border-radius:10px;cursor:pointer;background:var(--c-1);border:1px solid var(--border);color:var(--muted);font:inherit;font-variant-numeric:tabular-nums;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:background .15s,color .15s,border-color .15s,transform .1s}.bet-opt b{font-size:16px;line-height:1.1;color:var(--text)}.bet-opt .bet-sol{font-size:12px;color:var(--text)}.bet-opt .bet-usd{font-size:11px}.bet-opt span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bet-opt:not(.active):hover{background:var(--c-2);border-color:var(--c-4)}.bet-opt:active{transform:scale(.97)}.bet-opt.active,.bet-opt.active:hover{background:var(--c-6);border-color:var(--c-6);color:var(--c-0)}.bet-opt.active b,.bet-opt.active .bet-sol,.bet-opt.active .bet-usd{color:var(--c-0)}.bet-opt.saving{animation:bet-pulse 1s ease-in-out infinite}@keyframes bet-pulse{50%{opacity:.7}}.bet-opt.warn:not(.active){border-style:dashed}.bet-opt:disabled{cursor:default}.bet-opt:disabled:not(.active){opacity:.6}.bet-opt:focus-visible{outline:2px solid var(--c-6);outline-offset:2px}.bet-foot{display:flex;flex-direction:column;gap:2px}@media(max-width:520px){.size-bet .bet{gap:4px}.bet-opt{padding:8px 1px;border-radius:8px}.bet-opt b{font-size:15px}.bet-opt .bet-sol{font-size:11px}.bet-opt .bet-usd{font-size:10px}}.size-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:10px 0 12px;border-bottom:1px solid var(--border);margin-bottom:12px}.segmented button.active .count{background:var(--c-0);color:var(--c-6)}.overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--border);border:1px solid var(--border);border-radius:14px;overflow:hidden;margin-bottom:16px}.ov-item{background:var(--c-1);padding:14px 16px;display:flex;flex-direction:column;gap:4px;min-width:0}.ov-label{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em}.ov-value{font-size:24px;font-weight:700;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ov-sub{color:var(--muted);font-size:11px}.session-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,430px),1fr));gap:14px;align-items:start}.session-grid.single{grid-template-columns:minmax(0,1fr)}.session-card{position:relative;background:linear-gradient(180deg,var(--c-1),var(--c-0));border:1px solid var(--border);border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:14px;min-width:0;overflow:hidden;transition:border-color .15s ease}.session-card:hover{border-color:var(--c-4)}.session-card.demo{border-style:dashed}.session-card.running{border-color:var(--c-4);box-shadow:0 24px 60px -48px var(--c-6)}.session-card.live.running:before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:var(--c-6)}.sc-head{display:flex;align-items:center;gap:10px;min-width:0}.sc-name{font-size:15px;letter-spacing:-.01em}.sc-pick{flex:none}.sc-banner{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--c-6);border-radius:8px;padding:6px 10px}.sc-hero{display:grid;grid-template-columns:minmax(0,max-content) minmax(0,1fr);gap:18px;align-items:end}.sc-result{display:flex;flex-direction:column;gap:3px;min-width:0}.sc-label{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.1em}.sc-pnl{font-size:32px;font-weight:700;letter-spacing:-.03em;line-height:1.05;white-space:nowrap}.sc-chart{min-width:0}.equity{display:block;width:100%}.equity-empty{display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:11px;border:1px dashed var(--c-3);border-radius:10px;padding:0 10px;text-align:center}.sc-chips{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.monitor .sc-chips{grid-template-columns:repeat(6,minmax(0,1fr))}.chip{background:var(--c-2);border:1px solid var(--c-3);border-radius:10px;padding:7px 9px;display:flex;flex-direction:column;gap:1px;min-width:0}.chip span{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.06em}.chip b{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:var(--mono)}.sc-details{border-top:1px solid var(--c-2);padding-top:10px}.sc-details>summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:8px;color:var(--muted);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;user-select:none}.sc-details>summary>span:first-child:before{content:"▸";display:inline-block;margin-right:8px;transition:transform .15s ease}.sc-details[open]>summary>span:first-child:before{transform:rotate(90deg)}.sc-details>summary::-webkit-details-marker,.fold>summary::-webkit-details-marker{display:none}.sc-details>summary:hover{color:var(--text)}.sc-details[open]>summary{margin-bottom:12px}.sc-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}.sc-actions{display:flex;flex-wrap:wrap;gap:8px;border-top:1px solid var(--c-2);padding-top:12px}.pill{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px;border-radius:12px;font-size:10px;font-weight:700;letter-spacing:.08em;border:1px solid var(--c-4);color:var(--muted);white-space:nowrap;flex:none}.pill i{width:7px;height:7px;border-radius:50%;background:var(--c-4);flex:none}.pill.running{background:var(--c-6);color:var(--c-0);border-color:var(--c-6)}.pill.running i{background:var(--c-0);animation:pulse 1.6s ease-in-out infinite}.pill.paused,.pill.armed,.pill.ready,.pill.created{color:var(--text);border-color:var(--c-5)}.pill.paused i,.pill.armed i{background:transparent;border:1.5px solid var(--c-6)}.pill.stopped,.pill.disabled,.pill.failed{border-style:dashed}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.3;transform:scale(.65)}}@media(prefers-reduced-motion:reduce){.pill.running i{animation:none}.sidebar,.scrim{transition:none!important}}.fold{padding:0;margin-top:14px}.fold>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:6px 12px;padding:14px 16px;flex-wrap:wrap;user-select:none}.fold>summary svg{transition:transform .15s ease}.fold[open]>summary{border-bottom:1px solid var(--border)}.fold[open]>summary svg{transform:rotate(45deg)}.fold-body{padding:14px 16px 16px}.session-grid.fold-body{padding:14px}.mon-section{display:flex;flex-direction:column;gap:8px;min-width:0}.mon-section h4{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);display:flex;gap:8px;align-items:baseline;font-weight:600}.mon-section h4 .muted{text-transform:none;letter-spacing:0;font-weight:400}.lrows{display:flex;flex-direction:column;border:1px solid var(--c-2);border-radius:12px;overflow:hidden}.lrow{display:flex;align-items:center;gap:10px;padding:9px 12px;border-bottom:1px solid var(--c-2);min-width:0}.lrow:last-child{border-bottom:none}.lrow:hover{background:var(--c-1)}.lrow .l-main{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1;overflow:hidden}.lrow .l-main>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lrow .l-side{display:flex;flex-direction:column;align-items:flex-end;gap:1px;text-align:right;flex:none;max-width:58%}.lrow .l-side>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.lrow .num{font-family:var(--mono);font-size:12px}.side{font-size:10px;font-weight:700;letter-spacing:.06em;padding:3px 0;border-radius:5px;border:1px solid var(--c-4);flex:none;width:40px;text-align:center}.side.buy{background:var(--c-6);color:var(--c-0);border-color:var(--c-6)}.side.sell{color:var(--text)}@media(max-width:900px){html{-webkit-text-size-adjust:100%}.shell,.shell.collapsed{grid-template-columns:minmax(0,1fr);grid-template-rows:var(--topbar) minmax(0,1fr);height:100vh;height:100dvh}.sidebar{position:fixed;top:0;bottom:0;left:0;width:min(86vw,320px);z-index:80;transform:translate(-104%);transition:transform .24s cubic-bezier(.2,.8,.2,1);box-shadow:30px 0 60px -30px var(--c-0);padding-bottom:env(safe-area-inset-bottom)}.drawer-open .sidebar{transform:none}.scrim{display:block;position:fixed;inset:0;z-index:75;background:#0009;opacity:0;pointer-events:none;transition:opacity .2s ease}.drawer-open .scrim{opacity:1;pointer-events:auto}.shell.collapsed .nav a span,.shell.collapsed .brand span{display:inline}.shell.collapsed .nav-section{display:block}.drawer-close{display:inline-flex;margin-left:auto}.drawer-status{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px;padding:10px 12px;border-bottom:1px solid var(--border)}.drawer-status .stat{display:flex;flex-direction:column;gap:2px;padding:7px 9px;background:var(--c-2);border-radius:var(--radius-sm);min-width:0}.drawer-status .stat small{color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.06em}.drawer-status .stat b{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drawer-user{display:flex}.collapse-btn{display:none}.nav{padding:6px 10px 12px}.nav a{padding:11px 12px;font-size:14px;gap:12px}.nav a.active:before{left:-10px}.nav-section{padding:14px 12px 6px}.drawer-open .main{overflow:hidden}.topbar{padding:0 8px;gap:8px}.topbar .opt,.opt-inline{display:none}.topbar .stat{padding:0 8px}.topbar-brand{display:inline-flex;flex:none}.search-btn{width:34px;padding:0}.search-btn span{display:none}.mode-live,.mode-paper,.mode-replay{padding:2px 7px;letter-spacing:.08em;font-size:11px}.btn.stop{padding:0 10px}.main{padding:12px 12px calc(84px + env(safe-area-inset-bottom))}.tabbar{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--c-1);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom)}.tabbar a,.tabbar button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;height:58px;color:var(--muted);font:inherit;font-size:10px;letter-spacing:.03em;background:none;border:none;cursor:pointer;text-decoration:none}.tabbar a:hover{text-decoration:none}.tabbar .active{color:var(--text)}.tabbar .active:before{content:"";position:absolute;top:0;left:30%;right:30%;height:2px;border-radius:0 0 2px 2px;background:var(--c-6)}.page-header{margin-bottom:12px;gap:10px}.page-header h1{font-size:19px}.page-header p{font-size:12px}.page-header>.row{width:100%}.page-header>.row>.btn{flex:1 1 auto}.card{padding:12px;border-radius:12px;overflow-x:auto}.grid{gap:10px}.stat-card{padding:10px 12px}.stat-card .value{font-size:18px}.live-banner{font-size:11px;padding:7px 10px}.tabs{margin:0 -12px 12px;padding:0 12px}.table td,.table th{padding:7px 9px}.input,.select{max-width:100%}.kv{gap:5px 12px}.overlay{align-items:flex-end;padding-top:0}.modal,.modal.wide{width:100vw;max-height:92dvh;border-radius:16px 16px 0 0;border-bottom:none;padding-bottom:env(safe-area-inset-bottom)}.modal-foot{flex-wrap:wrap}.modal-foot .btn{flex:1 1 auto}.palette-overlay{align-items:flex-start}.palette{width:100vw;border-radius:0 0 14px 14px;border-top:none}.toasts{left:10px;right:10px;bottom:calc(70px + env(safe-area-inset-bottom))}.toast{min-width:0;max-width:none}.cal{gap:3px}.cal .day{min-height:54px;padding:4px;font-size:10px}.segmented{display:flex;width:100%}.segmented button{flex:1;justify-content:center;padding:0 8px}.overview{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:12px}.ov-item{padding:11px 12px}.ov-value{font-size:20px}.session-grid{grid-template-columns:minmax(0,1fr);gap:12px}.session-card{padding:14px;border-radius:14px;gap:12px}.sc-hero{grid-template-columns:minmax(0,1fr);gap:10px}.sc-pnl{font-size:30px}.sc-chips,.monitor .sc-chips{grid-template-columns:repeat(3,minmax(0,1fr))}.sc-detail-grid{grid-template-columns:minmax(0,1fr);gap:12px}.sc-actions .btn{flex:1 1 auto}.fold>summary{padding:12px 14px}.fold-body{padding:12px 14px 14px}}@media(pointer:coarse){.btn{min-height:36px}.btn.sm{min-height:32px;padding:0 11px}.btn.icon{width:36px}.input,.select{height:40px;font-size:16px}.checkbox{width:18px;height:18px}.toggle{width:40px;height:24px;border-radius:12px}.toggle:after{top:3px;left:3px;width:16px;height:16px}.toggle.on:after{left:19px}.tabs button{padding:10px 14px}}:root{--radius: 14px;--radius-sm: 9px;--line: rgba(255, 255, 255, .07);--line-strong: rgba(255, 255, 255, .14);--glass: rgba(0, 0, 0, .72);--lift: 0 1px 0 rgba(255, 255, 255, .04) inset, 0 18px 40px -28px rgba(0, 0, 0, 1);--ease: cubic-bezier(.2, .8, .2, 1)}body{font-size:13.5px;letter-spacing:-.003em;font-feature-settings:"cv11","ss01","ss03"}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;background:radial-gradient(1200px 600px at 85% -10%,rgba(255,255,255,.05),transparent 60%),radial-gradient(900px 500px at -10% 110%,rgba(255,255,255,.03),transparent 60%)}#root{position:relative;z-index:1}h1{font-size:24px;letter-spacing:-.03em;font-weight:650}.mono,.num,.table td.num{font-feature-settings:"zero","tnum"}.sidebar{background:linear-gradient(180deg,var(--c-1),var(--c-0));border-right:1px solid var(--line)}.brand{border-bottom:1px solid var(--line);font-size:13px;letter-spacing:.22em;font-weight:750}.brand-mark{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;background:var(--c-0);border:1px solid var(--line-strong);color:var(--c-6);box-shadow:0 0 24px -6px #ffffff59}.nav{gap:2px;padding:10px}.nav-section{font-size:10px;letter-spacing:.16em;padding:16px 10px 6px;color:var(--c-4);font-weight:650}.nav a{border-radius:9px;padding:8px 10px;transition:background-color .18s var(--ease),color .18s var(--ease),transform .18s var(--ease)}.nav a:hover{background:#ffffff0d;transform:translate(2px)}.nav a.active{background:#ffffff14;color:var(--c-6);box-shadow:0 0 0 1px var(--line) inset}.nav a.active:before{left:-10px;top:8px;bottom:8px;box-shadow:0 0 12px #fff9}.sidebar-foot{border-top:1px solid var(--line)}.topbar{background:var(--glass);border-bottom:1px solid var(--line);backdrop-filter:saturate(140%) blur(14px);-webkit-backdrop-filter:blur(14px)}.topbar .stat{border-left:1px solid var(--line)}.topbar .stat small{font-size:9.5px;letter-spacing:.1em}.main{padding:26px 30px 56px}.main>*{animation:rise .42s var(--ease) both}.main>*:nth-child(2){animation-delay:.04s}.main>*:nth-child(3){animation-delay:.08s}.main>*:nth-child(n+4){animation-delay:.12s}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.page-header{margin-bottom:22px;align-items:flex-end}.page-header h1{font-size:28px;letter-spacing:-.035em}.page-header p{max-width:860px;line-height:1.55}.card,.stat-card,.table-wrap,.vtable{border:1px solid var(--line);background:linear-gradient(180deg,#ffffff0a,#ffffff03),var(--c-1);box-shadow:var(--lift)}.card{padding:18px}.card:hover,.stat-card:hover{border-color:var(--line-strong)}.card-title h3{font-size:11px;letter-spacing:.12em}.stat-card{padding:14px 16px}.stat-card .value{font-size:24px;letter-spacing:-.03em;font-weight:650}.notice{border:1px solid var(--line);background:#ffffff06;border-radius:12px;padding:12px 14px}.notice.strong{border-color:var(--line-strong)}.live-banner{border-radius:12px}.btn{height:32px;border-radius:9px;border:1px solid var(--line-strong);background:#ffffff0a;font-weight:550;transition:background-color .16s var(--ease),border-color .16s var(--ease),color .16s var(--ease),transform .12s var(--ease),box-shadow .16s var(--ease)}.btn:hover:not(:disabled){background:#ffffff17;border-color:#ffffff38}.btn:active:not(:disabled){transform:translateY(1px) scale(.99);background:#ffffff1f}.btn.primary{background:var(--c-6);color:var(--c-0);border-color:var(--c-6);box-shadow:0 6px 24px -10px #ffffffb3}.btn.primary:hover:not(:disabled){background:var(--c-6);border-color:var(--c-6);box-shadow:0 10px 32px -10px #fffffff2}.btn.ghost{background:transparent;border-color:transparent}.btn.ghost:hover:not(:disabled){background:#ffffff0f}.btn.sm{height:26px;border-radius:7px}.input,.select,textarea.input{height:34px;border-radius:9px;background:#0009;border:1px solid var(--line-strong)}.input:hover,.select:hover{border-color:#ffffff38}.input:focus,.select:focus{border-color:var(--c-5);box-shadow:0 0 0 4px #ffffff0f}.select.sm{height:26px;font-size:12px;padding:0 8px;border-radius:7px}.tag{border-radius:6px;border-color:var(--line-strong)}.tabs{display:inline-flex;gap:2px;padding:4px;border:1px solid var(--line);border-radius:12px;background:var(--c-1);margin-bottom:18px;max-width:100%}.tabs button{border:none;border-radius:9px;padding:7px 14px;font-weight:550;transition:background-color .16s var(--ease),color .16s var(--ease)}.tabs button:hover{background:#ffffff0d}.tabs button.active{background:var(--c-6);color:var(--c-0);border-bottom-color:transparent;box-shadow:0 4px 18px -8px #fff9}.table-wrap,.vtable{border-radius:var(--radius)}.table th,.vtable .vhead{background:var(--c-1);font-size:10.5px;letter-spacing:.08em;border-bottom:1px solid var(--line)}.table td{border-bottom:1px solid rgba(255,255,255,.04);padding:8px 12px}.table th{padding:9px 12px}.table tr:hover td,.vtable .vrow:hover{background:#ffffff09}.modal,.palette,.toast{border:1px solid var(--line-strong);background:var(--c-1);backdrop-filter:blur(18px);box-shadow:0 40px 80px -30px #000;border-radius:16px}.overlay{backdrop-filter:blur(6px);animation:fade .18s ease both}.modal{animation:pop .22s var(--ease) both}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{opacity:0;transform:translateY(10px) scale(.985)}}.session-card{border-color:var(--line);border-radius:18px;box-shadow:var(--lift)}.chip{background:#ffffff09;border:1px solid var(--line)}.lrows{border-color:var(--line)}.lrow{border-bottom-color:#ffffff0a}.outcome{font-size:11px;font-weight:650;letter-spacing:.02em}.outcome.o-ok{color:var(--c-6)}.outcome.o-failed{color:var(--c-6);text-decoration:underline dashed var(--c-5);text-underline-offset:3px}.outcome.o-skipped,.outcome.o-retried,.outcome.o-pending{color:var(--muted);font-weight:500}.lrow.o-skipped,.lrow.o-retried{opacity:.55}.skip-note{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.rchip{display:inline-flex;gap:6px;align-items:center;height:22px;padding:0 9px;border-radius:11px;border:1px solid var(--line-strong);color:var(--muted);font-size:11px}.rchip b{color:var(--c-6)}.linkish{background:none;border:none;color:var(--muted);font:inherit;cursor:pointer;padding:0;text-transform:none;letter-spacing:0;text-decoration:underline dotted;text-underline-offset:3px}.linkish:hover{color:var(--c-6)}.queue{border:1px solid var(--line);border-radius:16px;background:linear-gradient(135deg,#ffffff0d,#ffffff03 40%,#0000);padding:14px 16px;margin-bottom:16px}.queue-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 16px;margin-bottom:10px}.queue-empty{padding:6px 0}.queue-rows{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:6px}.queue-row{display:grid;grid-template-columns:16px minmax(0,1fr) auto;grid-template-rows:auto auto;column-gap:10px;align-items:center;text-align:left;padding:9px 12px;border-radius:11px;border:1px solid var(--line);background:#0006;color:var(--text);font:inherit;cursor:pointer;transition:border-color .16s var(--ease),background-color .16s var(--ease)}.queue-row:hover{border-color:var(--line-strong);background:#ffffff0a}.queue-row svg{grid-row:1 / 3}.queue-label{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.queue-meta{grid-column:3;grid-row:1;text-align:right}.queue-status{grid-column:2 / 4;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-size:9.5px}.queue-row.q-testing{border-color:var(--c-6);box-shadow:0 0 0 1px #ffffff26 inset,0 10px 30px -20px #fffc}.queue-row.q-unprofitable,.queue-row.q-failed{opacity:.6;border-style:dashed}.board-bar{margin-bottom:14px;flex-wrap:wrap}.seg{display:inline-flex;gap:2px;padding:3px;border-radius:11px;border:1px solid var(--line);background:var(--c-1)}.seg button{display:inline-flex;align-items:center;gap:7px;height:28px;padding:0 12px;border:none;border-radius:8px;background:none;color:var(--muted);font:inherit;font-weight:550;cursor:pointer;transition:background-color .16s var(--ease),color .16s var(--ease)}.seg button:hover{color:var(--c-6)}.seg button.on{background:#ffffff1a;color:var(--c-6)}.seg-n{font-family:var(--mono);font-size:10.5px;padding:1px 6px;border-radius:6px;background:#ffffff12}.tested-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,330px),1fr));gap:14px}.tested-card{position:relative;display:flex;flex-direction:column;gap:14px;padding:18px;border-radius:18px;cursor:pointer;overflow:hidden;border:1px solid var(--line);background:linear-gradient(180deg,#ffffff0d,#ffffff03),var(--c-1);box-shadow:var(--lift);transition:transform .22s var(--ease),border-color .22s var(--ease),box-shadow .22s var(--ease);animation:rise .45s var(--ease) both}.tested-card:hover{transform:translateY(-3px);border-color:var(--line-strong);box-shadow:var(--lift),0 30px 60px -40px #ffffff73}.tested-card.v-profit:before{content:"";position:absolute;inset:0 0 auto;height:2px;background:linear-gradient(90deg,transparent,var(--c-6),transparent)}.tested-card.v-rejected,.tested-card.v-loss{background:var(--c-0)}.tested-card.v-rejected .tested-net,.tested-card.v-loss .tested-net{color:var(--muted)}.tested-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.tested-title{display:flex;flex-direction:column;gap:2px;min-width:0}.tested-name{font-size:15px;font-weight:650;letter-spacing:-.015em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.verdict{flex:none;display:inline-flex;align-items:center;height:22px;padding:0 10px;border-radius:11px;font-size:10px;font-weight:750;letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--line-strong);color:var(--muted)}.verdict.v-profit{background:var(--c-6);color:var(--c-0);border-color:var(--c-6);box-shadow:0 0 20px -6px #ffffffb3}.verdict.v-testing{color:var(--c-6);border-color:var(--c-6);animation:breathe 1.8s ease-in-out infinite}.verdict.v-rejected{border-style:dashed}@keyframes breathe{50%{box-shadow:0 0 0 4px #ffffff14}}.tested-pnl{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.tested-net{font-size:34px;font-weight:700;letter-spacing:-.04em;line-height:1}.daystrip{display:flex;align-items:stretch;gap:4px;border-radius:10px;padding:0 2px;position:relative;background:linear-gradient(transparent calc(50% - .5px),rgba(255,255,255,.12) calc(50% - .5px),rgba(255,255,255,.12) calc(50% + .5px),transparent calc(50% + .5px))}.daystrip-col{position:relative;flex:1;min-width:10px;border:none;background:none;padding:0;cursor:pointer;border-radius:6px}.daystrip-col:hover{background:#ffffff0d}.daystrip-bar{position:absolute;left:18%;right:18%;border-radius:3px;background:var(--c-6);transition:height .4s var(--ease)}.daystrip-col.neg .daystrip-bar{background:repeating-linear-gradient(45deg,var(--c-5) 0 2px,var(--c-4) 2px 4px)}.daystrip-day{position:absolute;bottom:-1px;left:0;right:0;text-align:center;font-family:var(--mono);font-size:8.5px;color:var(--c-4);opacity:0;transition:opacity .15s}.daystrip:hover .daystrip-day{opacity:1}.tested-chips{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.tested-chips .chip{padding:7px 9px;border-radius:10px}.tested-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid var(--line);padding-top:10px;margin-top:-2px}.tested-foot .muted{display:inline-flex;align-items:center;gap:5px}.cal{gap:8px}.cal-head{color:var(--c-4);font-size:10px;font-weight:650;letter-spacing:.14em;text-transform:uppercase;padding:0 4px 2px}.cal .day{border:1px solid var(--line);border-radius:12px;background:var(--c-1);min-height:104px;padding:8px 10px;gap:3px;transition:border-color .16s var(--ease),transform .16s var(--ease),background-color .16s var(--ease)}.cal .day:hover{border-color:var(--line-strong);transform:translateY(-1px);background:var(--c-2)}.cal .day.empty{background:transparent;border:1px dashed rgba(255,255,255,.04)}.cal .day.nodata{opacity:.4}.cal .day.today{box-shadow:0 0 0 1px var(--c-5) inset}.cal .day.has-result.pos{background:linear-gradient(180deg,#ffffff17,#ffffff05);border-color:#ffffff3d}.cal .day.has-result.neg{background:repeating-linear-gradient(135deg,#ffffff05 0 6px,#0000 6px 12px),var(--c-1)}.day-n{font-size:13px;font-weight:650}.day-pnl{font-size:16px;font-weight:700;letter-spacing:-.02em;margin-top:2px}.cal-summary{display:flex;align-items:center;flex-wrap:wrap;gap:8px 22px;padding:2px 2px 14px}.metric-inline{display:inline-flex;align-items:baseline;gap:8px}.metric-inline b{font-size:18px;letter-spacing:-.02em}.cal-pick{max-width:260px}.landing{position:relative;height:100vh;height:100dvh;overflow:hidden;display:grid;grid-template-rows:auto minmax(0,1fr) auto;padding:clamp(14px,3vh,28px) clamp(16px,4vw,56px);background:var(--c-0);isolation:isolate}.land-bg{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}.land-grid{position:absolute;inset:-40px;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:56px 56px;mask-image:radial-gradient(ellipse 70% 60% at 50% 45%,rgba(0,0,0,1),transparent 75%);-webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 45%,rgba(0,0,0,1),transparent 75%);animation:grid-drift 24s linear infinite}@keyframes grid-drift{to{transform:translate3d(56px,56px,0)}}.land-glow{position:absolute;width:70vmax;height:70vmax;left:50%;top:40%;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(255,255,255,.09),transparent 60%);animation:glow 9s ease-in-out infinite}@keyframes glow{50%{opacity:.55;transform:translate(-48%,-52%) scale(1.06)}}.land-speck{position:absolute;border-radius:50%;background:var(--c-6);opacity:0;animation:speck 8s ease-in-out infinite}@keyframes speck{0%{opacity:0;transform:translateY(14px)}30%{opacity:.55}70%{opacity:.25}to{opacity:0;transform:translateY(-36px)}}.land-top,.land-foot{display:flex;align-items:center;justify-content:space-between;gap:12px}.wordmark{display:inline-flex;align-items:center;gap:10px;font-weight:800;letter-spacing:.26em;font-size:13px;color:var(--c-6)}.land-badge{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 11px;border-radius:13px;border:1px solid var(--line-strong);font-size:11px;color:var(--muted);background:#00000080;backdrop-filter:blur(8px)}.land-main{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,400px);align-items:center;gap:clamp(24px,6vw,96px);max-width:1160px;width:100%;margin:0 auto;min-height:0}.land-copy{display:flex;flex-direction:column;gap:clamp(10px,2.2vh,20px);min-width:0}.land-mark{width:92px;height:92px;border-radius:24px;display:grid;place-items:center;color:var(--c-6);background:var(--c-0);border:1px solid var(--line-strong);box-shadow:0 0 0 8px #ffffff06,0 0 60px -10px #ffffff73}.land-title{font-size:clamp(34px,6.2vw,76px);line-height:.98;letter-spacing:-.05em;font-weight:750;margin:0}.land-title-dim{color:var(--c-5)}.land-lead{margin:0;max-width:560px;color:var(--muted);font-size:clamp(13.5px,1.25vw,16px);line-height:1.6}.land-features{list-style:none;padding:0;margin:4px 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-width:640px}.land-features li{display:flex;flex-direction:column;gap:9px;padding:12px;border-radius:14px;border:1px solid var(--line);background:var(--c-1);backdrop-filter:blur(6px)}.land-features li>span:last-child{display:flex;flex-direction:column;gap:3px;font-size:12px;line-height:1.45}.land-features b{font-size:13px}.land-ico{width:30px;height:30px;flex:none;border-radius:9px;display:grid;place-items:center;border:1px solid var(--line-strong);background:#ffffff0a;color:var(--c-6)}.land-card{display:flex;flex-direction:column;gap:14px;padding:clamp(18px,3vh,28px);border-radius:22px;border:1px solid var(--line-strong);background:linear-gradient(180deg,#ffffff0f,#ffffff04),#000000b3;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 1px #ffffff14 inset,0 50px 100px -50px #ffffff47,0 30px 60px -30px #000}.land-card-head{display:flex;align-items:center;gap:12px;margin-bottom:2px}.land-card-head h2{font-size:18px;letter-spacing:-.02em}.land-field{display:flex;flex-direction:column;gap:6px}.land-field>span{font-size:11px;color:var(--muted);letter-spacing:.08em;text-transform:uppercase}.land-field .input{height:42px;font-size:14px;border-radius:11px;padding:0 13px}.land-submit{height:44px;border-radius:12px;font-size:14px;font-weight:700;letter-spacing:.04em;margin-top:2px}.land-error{border:1px dashed var(--c-6);border-radius:10px;padding:9px 12px;font-size:12px;animation:shake .35s ease both}@keyframes shake{20%,60%{transform:translate(-4px)}40%,80%{transform:translate(4px)}}.land-owner{margin:2px 0 0;padding-top:14px;border-top:1px solid var(--line);color:var(--muted);font-size:12px;line-height:1.55}.land-owner b{color:var(--c-6);font-weight:650}.land-foot{justify-content:center;color:var(--c-4);font-size:11px;letter-spacing:.12em;text-transform:uppercase;gap:10px}.land-dot{width:3px;height:3px;border-radius:50%;background:var(--c-4)}.rise{animation:rise .7s var(--ease) both;animation-delay:calc(var(--i, 0) * 90ms + 80ms)}.logo-mark{display:block;flex:none}.logo-mark.animated .logo-pick{transform-origin:16px 47px;animation:strike 3.6s var(--ease) infinite}.logo-mark.animated .logo-spark{transform-origin:15px 16px;animation:spark 3.6s ease-out infinite}@keyframes strike{0%,to{transform:rotate(0)}12%{transform:rotate(-14deg)}22%{transform:rotate(4deg)}30%{transform:rotate(0)}}@keyframes spark{0%,18%{opacity:.25;transform:scale(.6) rotate(0)}24%{opacity:1;transform:scale(1.35) rotate(45deg)}60%,to{opacity:.85;transform:scale(1) rotate(90deg)}}@media(max-width:900px){.main{padding:14px 12px calc(84px + env(safe-area-inset-bottom))}.page-header h1{font-size:22px}.card{padding:14px}.tabs{margin:0 0 12px;padding:3px;display:flex;overflow-x:auto}.tested-net{font-size:30px}.cal{gap:3px}.cal .day{min-height:60px;padding:5px;border-radius:8px}.day-pnl{font-size:11px}.cal .day .small{display:none}.land-main{grid-template-columns:minmax(0,1fr);align-content:center;gap:18px}.land-features,.land-lead{display:none}.land-mark{width:64px;height:64px;border-radius:18px}.land-mark svg{width:42px;height:42px}.land-title{font-size:clamp(30px,9vw,44px)}.land-copy{align-items:flex-start}}@media(max-width:900px)and (min-height:760px){.land-lead{display:block}}@media(max-height:640px)and (min-width:901px){.land-features,.land-mark{display:none}}@media(max-height:560px){.land-mark,.land-lead{display:none!important}.land-title{font-size:28px}.land-card{gap:9px}.land-owner{padding-top:8px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}.t-up{color:var(--up)!important}.t-down{color:var(--down)!important}.t-warn{color:var(--warn)!important}.t-alert{color:var(--alert)!important}.t-flat{color:var(--flat)!important}.session-card .pos,.tones .pos{color:var(--up);font-weight:600}.session-card .neg,.tones .neg{color:var(--down);font-weight:600}.tones .tested-card.v-rejected .tested-net.neg,.tones .tested-card.v-loss .tested-net.neg{color:var(--down)}.tones .tested-card.v-profit:before{background:linear-gradient(90deg,transparent,var(--up),transparent)}.tones .tested-card.v-loss:before,.tones .tested-card.v-rejected:before{content:"";position:absolute;inset:0 0 auto;height:2px;background:linear-gradient(90deg,transparent,var(--down),transparent);opacity:.7}.tones .tested-card.v-mixed:before{content:"";position:absolute;inset:0 0 auto;height:2px;background:linear-gradient(90deg,transparent,var(--warn),transparent);opacity:.8}.tones .verdict.v-profit{background:var(--up);border-color:var(--up);color:var(--c-0);box-shadow:0 0 18px -6px var(--up)}.tones .verdict.v-loss,.tones .verdict.v-rejected{color:var(--down);border-color:var(--down)}.tones .verdict.v-mixed{color:var(--warn);border-color:var(--warn)}.tones .verdict.v-testing{color:var(--alert);border-color:var(--alert)}.tones .verdict.v-flat{color:var(--flat)}.tones .daystrip-bar{background:var(--up)}.tones .daystrip-col.neg .daystrip-bar{background:var(--down);opacity:.85}.tones .queue-row.q-profitable .queue-status{color:var(--up)}.tones .queue-row.q-unprofitable .queue-status,.tones .queue-row.q-failed .queue-status{color:var(--down)}.tones .queue-row.q-testing .queue-status,.tones .queue-row.q-testing svg{color:var(--alert)}.tones .queue-row.q-queued .queue-status{color:var(--flat)}.tones .cal .day.has-result.pos{border-color:color-mix(in srgb,var(--up) 55%,transparent)}.tones .cal .day.has-result.neg{border-color:color-mix(in srgb,var(--down) 55%,transparent)}.learn-grid{display:grid;grid-template-columns:auto minmax(0,1fr);gap:5px 14px;margin-top:10px}.learn-grid>span{overflow-wrap:anywhere}.learn-days{display:flex;flex-wrap:wrap;gap:5px}.learn-days .chip{display:inline-flex;gap:6px;padding:3px 8px;border-radius:8px}.session-card .lrow.share-self{border-color:var(--line-strong);background:#ffffff09}@media(max-width:520px){.learn-grid{grid-template-columns:1fr;gap:1px}.learn-grid>.muted{margin-top:6px}}.qs{gap:14px}.qs-head{display:flex;flex-direction:column;gap:2px}.qs-wallets{display:grid;gap:6px}.qs-wallet{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 12px;text-align:left;padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:transparent;color:inherit;cursor:pointer;transition:border-color .15s,background .15s}.qs-wallet:hover{border-color:var(--line-strong);background:#ffffff08}.qs-wallet.on{border-color:var(--c-6);box-shadow:0 0 0 1px var(--c-6) inset;background:#ffffff0a}.qs-w-name{display:inline-flex;align-items:center;gap:6px;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qs-w-bal{text-align:right;white-space:nowrap}.qs-w-use{grid-column:1 / -1;overflow-wrap:anywhere}.qs-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 12px;border:1px solid var(--line);border-radius:12px}.qs-row b svg{vertical-align:-2px}.qs-limits{display:flex;flex-wrap:wrap;gap:4px 14px;padding:8px 12px;border-radius:10px;background:#ffffff08}@media(max-width:520px){.qs-wallet{grid-template-columns:1fr}.qs-w-bal{text-align:left}.qs-row{flex-direction:column;align-items:stretch}.qs-row .segmented{align-self:flex-start}}.rule-row.warn{border-left:2px solid var(--warn)}.rule-row.warn svg{color:var(--warn)}.session-card .side.buy{background:transparent;color:var(--up);border-color:var(--up)}.session-card .side.sell{background:transparent;color:var(--down);border-color:var(--down)}.session-card .outcome.o-failed{text-decoration:none}.session-card .lrow.o-skipped,.session-card .lrow.o-retried{opacity:.8}.bal-grid{display:grid;grid-template-columns:auto auto auto;justify-content:start;column-gap:12px;row-gap:1px;margin-top:4px}.bal-grid>*{white-space:nowrap}.session-card .lrow .l-main>span{white-space:normal;overflow-wrap:anywhere}@media(max-width:520px){.bal-grid{column-gap:8px}.session-card .lrow{padding:9px 8px;gap:8px;align-items:flex-start}.session-card .lrow .side{margin-top:2px}.session-card .lrow .l-side{max-width:54%}.session-card .lrow .l-side>span{white-space:normal}}
