:root,:root[data-theme=light]{color-scheme:light;--page: #f1f3f4;--surface: #fbfcfc;--surface-2: #f5f6f7;--rail: #e8ebed;--hair: #dde2e6;--hair-strong: #c4cbd0;--bar: #161b1f;--bar-ink: #e8ecee;--bar-muted: #9aa4ab;--bar-hair: #2c3338;--ink: #11161a;--ink-2: #48525a;--ink-3: #5f6972;--accent: #1d5fae;--accent-wash: rgba(29, 95, 174, .08);--accent-wash-strong: rgba(29, 95, 174, .14);--on-accent: #fbfcfc;--focus: #1d5fae;--chart-surface: #fbfcfc;--grid: #e3e7ea;--axis: #c4cbd0;--axis-ink: #5f6972;--meas: #2b3237;--pred: #2a78d6;--band: rgba(42, 120, 214, .14);--aci: rgba(29, 95, 174, .55);--truth-ghost: #9aa3aa;--s1: #2a78d6;--s2: #eb6834;--s3: #1baf7a;--s4: #eda100;--s5: #e87ba4;--s6: #008300;--good: #0ca30c;--good-ink: #16722a;--warn: #fab219;--warn-ink: #8a5a00;--warn-wash: rgba(250, 178, 25, .16);--crit: #d03b3b;--crit-ink: #b42f2f;--crit-wash: rgba(208, 59, 59, .08);--crit-wash-strong: rgba(208, 59, 59, .16);--shadow-pop: 0 6px 20px rgba(17, 22, 26, .12), 0 1px 3px rgba(17, 22, 26, .08);--page-glow-a: rgba(42, 120, 214, .07);--page-glow-b: rgba(17, 22, 26, .05);--page-dots: rgba(17, 22, 26, .045);--surface-hi: #ffffff;--panel-hl: inset 0 1px 0 rgba(255, 255, 255, .85);--shadow-1: 0 1px 2px rgba(16, 24, 32, .06), 0 12px 32px -16px rgba(16, 24, 32, .2);--shadow-2: 0 1px 2px rgba(16, 24, 32, .08), 0 18px 36px -14px rgba(16, 24, 32, .28);--shadow-2-hover: 0 2px 4px rgba(16, 24, 32, .08), 0 22px 44px -14px rgba(16, 24, 32, .32);--glass: rgba(251, 252, 252, .74);--glass-border: rgba(17, 22, 26, .1);--bar-glass: rgba(22, 27, 31, .93);--crit-glow: 0 0 0 1px var(--crit), 0 0 28px -6px rgba(208, 59, 59, .55);--g-load: #eb6834;--g-speed: #1baf7a;--g-vehicle: #008300;--g-transient: #e87ba4;--g-lag: #6250d6;--g-thermal: #eda100;--g-regime: #7a838a;--tier-T0: #7a838a;--tier-T1: #1d5fae;--tier-T1p: #0f7a55;--tier-T2: #6250d6;--tier-T4: #b5541f}:root[data-theme=dark]{color-scheme:dark;--page: #0f1214;--surface: #171a1d;--surface-2: #1c2023;--rail: #131619;--hair: #2a3035;--hair-strong: #3a4147;--bar: #0a0c0e;--bar-ink: #e6eaec;--bar-muted: #8d979e;--bar-hair: #22282c;--ink: #e6eaec;--ink-2: #b3bcc2;--ink-3: #8d979e;--accent: #6aa6ec;--accent-wash: rgba(106, 166, 236, .1);--accent-wash-strong: rgba(106, 166, 236, .18);--on-accent: #0f1214;--focus: #6aa6ec;--chart-surface: #171a1d;--grid: #262b30;--axis: #3a4147;--axis-ink: #8d979e;--meas: #d9dee2;--pred: #3987e5;--band: rgba(57, 135, 229, .22);--aci: rgba(106, 166, 236, .6);--truth-ghost: #6b747b;--s1: #3987e5;--s2: #d95926;--s3: #199e70;--s4: #c98500;--s5: #d55181;--s6: #008300;--good: #0ca30c;--good-ink: #3fbf3f;--warn: #fab219;--warn-ink: #f2c04f;--warn-wash: rgba(250, 178, 25, .14);--crit: #d03b3b;--crit-ink: #f07b7b;--crit-wash: rgba(208, 59, 59, .14);--crit-wash-strong: rgba(208, 59, 59, .24);--shadow-pop: 0 8px 24px rgba(0, 0, 0, .45), 0 1px 3px rgba(0, 0, 0, .4);--page-glow-a: rgba(57, 135, 229, .08);--page-glow-b: rgba(255, 255, 255, .02);--page-dots: rgba(255, 255, 255, .035);--surface-hi: #1d2125;--panel-hl: inset 0 1px 0 rgba(255, 255, 255, .06);--shadow-1: 0 0 0 1px rgba(0, 0, 0, .25);--shadow-2: 0 0 0 1px rgba(0, 0, 0, .3), 0 8px 24px -12px rgba(0, 0, 0, .6);--shadow-2-hover: 0 0 0 1px rgba(0, 0, 0, .3), 0 12px 28px -12px rgba(0, 0, 0, .7);--glass: rgba(23, 26, 29, .72);--glass-border: rgba(255, 255, 255, .08);--bar-glass: rgba(10, 12, 14, .8);--crit-glow: 0 0 0 1px var(--crit), 0 0 32px -6px rgba(208, 59, 59, .6);--g-load: #d95926;--g-speed: #199e70;--g-vehicle: #2f9a2f;--g-transient: #d55181;--g-lag: #9085e9;--g-thermal: #c98500;--g-regime: #8d979e;--tier-T0: #8d979e;--tier-T1: #6aa6ec;--tier-T1p: #3cc08f;--tier-T2: #9085e9;--tier-T4: #e08a52}:root{--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", "Source Han Sans SC", system-ui, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--fs-xs: 12px;--fs-sm: 13px;--fs-md: 15px;--fs-lg: 17px;--fs-xl: 20px;--fs-2xl: 24px;--fs-readout: 40px;--fs-t1: 60px;--fs-t2: 30px;--fs-t3: 17px;--fs-t4: 12px;--lh-tight: 1.25;--lh-body: 1.55;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--sp-10: 40px;--r-xs: 4px;--r-ctl: 6px;--r-panel: 10px;--r-lg: 14px;--r-pill: 4px;--tabbar-h: 60px;--bar-h: 44px;--rail-w: 212px;--t-fast: .12s;--t-base: .2s;--t-slow: .3s;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-inout: cubic-bezier(.65, 0, .35, 1);--z-bar: 20;--z-pop: 30;--z-drawer: 40}@media(max-width:767px){:root{--fs-readout: 32px;--fs-t1: 44px;--fs-t2: 26px;--bar-h: 48px}}@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")}@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")}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;min-height:100dvh;background:radial-gradient(1100px 620px at 18% -12%,var(--page-glow-a),transparent 62%),radial-gradient(900px 520px at 100% -8%,var(--page-glow-b),transparent 60%),var(--page);background-attachment:fixed;color:var(--ink);font-family:var(--font-sans);font-size:var(--fs-md);line-height:var(--lh-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4{margin:0;line-height:var(--lh-tight);font-weight:600;text-wrap:balance}p{margin:0}a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:3px}::selection{background:var(--accent-wash-strong);color:var(--ink)}:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:var(--r-ctl)}*{scrollbar-width:thin;scrollbar-color:var(--hair-strong) transparent}.mono{font-family:var(--font-mono);font-feature-settings:"zero" 0}.num{font-variant-numeric:tabular-nums}.muted{color:var(--ink-3)}.secondary{color:var(--ink-2)}.unit{color:var(--ink-3);font-size:max(11px,.86em);margin-left:.25em;font-weight:400}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}body:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background-image:radial-gradient(var(--page-dots) 1px,transparent 1.2px);background-size:24px 24px;mask-image:linear-gradient(180deg,#000 0%,rgba(0,0,0,.35) 70%,transparent 100%)}.panel{position:relative;background:linear-gradient(180deg,var(--surface-hi) 0%,var(--surface) 140px);border:1px solid var(--hair);border-radius:var(--r-panel);box-shadow:var(--panel-hl),var(--shadow-1);min-width:0;transition:box-shadow var(--t-slow) var(--ease-out),border-color var(--t-slow) var(--ease-out)}.panel-head{display:flex;align-items:center;gap:var(--sp-3);padding:0 var(--sp-4);border-bottom:1px solid var(--hair);min-height:48px;flex-wrap:wrap}.overline{font-size:11px;font-weight:600;letter-spacing:.08em;color:var(--ink-3);padding:2px 6px;border-radius:var(--r-xs);background:var(--surface-2);border:1px solid var(--hair);white-space:nowrap}.raised{background:linear-gradient(180deg,var(--surface-hi),var(--surface));border:1px solid var(--hair);border-radius:var(--r-panel);box-shadow:var(--panel-hl),var(--shadow-2);transition:transform var(--t-base) var(--ease-out),box-shadow var(--t-base) var(--ease-out)}.raised:hover{transform:translateY(-1px);box-shadow:var(--panel-hl),var(--shadow-2-hover)}.glass{background:var(--glass);border:1px solid var(--glass-border);backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%)}@media(prefers-reduced-transparency:reduce){.glass{background:var(--surface);backdrop-filter:none;-webkit-backdrop-filter:none}}.pulse-dot{position:relative;display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--good);flex:none}.pulse-dot:after{content:"";position:absolute;inset:-4px;border-radius:50%;border:2px solid currentColor;color:inherit;opacity:0}@media(prefers-reduced-motion:no-preference){.pulse-dot:after{border-color:var(--good);animation:breathe 2.4s var(--ease-out) infinite}}@keyframes breathe{0%{transform:scale(.6);opacity:.6}70%,to{transform:scale(1.5);opacity:0}}.panel-head h2{font-size:var(--fs-lg)}.panel-head .spacer{flex:1}.panel-body{padding:var(--sp-4)}.panel-foot{padding:var(--sp-2) var(--sp-4);border-top:1px solid var(--hair);font-size:var(--fs-xs);color:var(--ink-3);display:flex;gap:var(--sp-4);flex-wrap:wrap}.btn{box-shadow:inset 0 1px #ffffff80,0 1px 2px #1018200f;display:inline-flex;align-items:center;gap:var(--sp-2);height:34px;padding:0 var(--sp-3);border-radius:var(--r-ctl);border:1px solid var(--hair-strong);background:var(--surface);color:var(--ink);font:inherit;font-size:var(--fs-sm);font-weight:500;white-space:nowrap;cursor:pointer;text-decoration:none;transition:background-color var(--t-fast) var(--ease-out),border-color var(--t-fast) var(--ease-out),transform var(--t-fast) var(--ease-out)}.btn:hover{background:var(--surface-2);border-color:var(--ink-3)}.btn:active{transform:translateY(1px)}.btn:disabled,.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed;transform:none}.btn-primary{background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 88%,#fff),var(--accent));border-color:var(--accent);color:var(--on-accent);box-shadow:inset 0 1px #ffffff38,0 1px 2px #1018202e,0 6px 14px -8px var(--accent)}.btn-primary:hover{background:var(--accent);border-color:var(--accent);filter:brightness(1.08)}.btn-ghost{border-color:transparent;background:transparent}.btn-ghost:hover{background:var(--accent-wash);border-color:transparent}.btn svg{flex:none}.seg{display:inline-flex;border:1px solid var(--hair);border-radius:var(--r-ctl);background:var(--surface-2);box-shadow:inset 0 1px 2px #1018200f;padding:2px;gap:2px}.seg label{position:relative;display:inline-flex;align-items:center;height:28px;padding:0 var(--sp-3);border-radius:var(--r-xs);font-size:var(--fs-sm);color:var(--ink-2);cursor:pointer;white-space:nowrap;transition:background-color var(--t-fast) var(--ease-out),color var(--t-fast) var(--ease-out)}.seg label:hover{background:var(--surface-2);color:var(--ink)}.seg input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}.seg-sm label{height:24px;padding:0 var(--sp-2);font-size:var(--fs-xs)}.seg label:has(input:checked){background:var(--surface-hi);color:var(--accent);font-weight:600;box-shadow:var(--panel-hl),0 1px 2px #1018201f,0 2px 6px -2px #1018201f}.seg label:has(input:focus-visible){outline:2px solid var(--focus);outline-offset:1px}.seg label:has(input:disabled){opacity:.45;cursor:not-allowed}.field{display:inline-flex;flex-direction:column;gap:var(--sp-1);min-width:0}.field>.field-label{font-size:var(--fs-xs);color:var(--ink-3);font-weight:500}.select,.input{height:34px;padding:0 var(--sp-3);border:1px solid var(--hair-strong);border-radius:var(--r-ctl);background:var(--surface);color:var(--ink);font:inherit;font-size:var(--fs-sm)}.select,.input{box-shadow:inset 0 1px 2px #1018200d}.select:hover,.input:hover{border-color:var(--ink-3)}.tag{display:inline-flex;align-items:center;gap:var(--sp-1);height:22px;padding:0 var(--sp-2);border-radius:var(--r-xs);font-size:var(--fs-xs);font-weight:500;border:1px solid var(--hair-strong);color:var(--ink-2);background:var(--surface);white-space:nowrap}.tag-warn{background:var(--warn-wash);border-color:transparent;color:var(--warn-ink)}.tag-crit{background:var(--crit-wash-strong);border-color:transparent;color:var(--crit-ink)}.tag-good{border-color:transparent;background:#0ca30c1a;color:var(--good-ink)}.skeleton{background:linear-gradient(90deg,var(--surface-2),var(--hair),var(--surface-2));background-size:200% 100%;border-radius:var(--r-ctl);animation:skeleton 1.4s ease-in-out infinite;color:transparent!important}@keyframes skeleton{0%{background-position:100% 0}to{background-position:-100% 0}}@media(prefers-reduced-motion:reduce){.skeleton{animation:none}*,*:before,*:after{transition-duration:.01ms!important;scroll-behavior:auto!important}}.uplot{font-family:var(--font-sans)}.uplot .u-legend{display:none}.u-select{background:var(--accent-wash-strong)}.sk-lines{display:grid;gap:var(--sp-3)}.err-note{display:flex;gap:var(--sp-2);align-items:flex-start;padding:var(--sp-3);border-radius:var(--r-ctl);background:var(--crit-wash);color:var(--crit-ink);font-size:var(--fs-sm)}.err-note svg{flex:none;margin-top:2px}.err-hint{color:var(--ink-2);margin-top:2px}.err-text{flex:1;min-width:0}.err-retry{flex:none;height:30px;color:var(--ink)}.notrun-note{display:flex;gap:var(--sp-2);align-items:flex-start;padding:var(--sp-3);border-radius:var(--r-ctl);background:var(--surface-2);border:1px dashed var(--hair-strong);color:var(--ink-2);font-size:var(--fs-sm)}.notrun-note svg{flex:none;margin-top:2px;color:var(--ink-3)}.notrun-title{font-weight:600;color:var(--ink)}.pending{display:flex;flex-direction:column;align-items:flex-start;gap:var(--sp-3)}.pending-src{display:inline-block;margin:0 var(--sp-2) var(--sp-1) 0;padding:1px 6px;border-radius:var(--r-ctl);background:var(--surface-2);border:1px solid var(--hair);font-size:var(--fs-xs);color:var(--ink-2)}.field-hint{margin-left:var(--sp-2);font-weight:400;color:var(--ink-3)}.tier{display:inline-flex;align-items:center;height:18px;margin-left:var(--sp-2);padding:0 6px;border-radius:var(--r-xs);font-size:11px;font-weight:600;font-family:var(--font-mono);color:color-mix(in srgb,var(--tier-c) 75%,var(--ink));background:color-mix(in srgb,var(--tier-c) 12%,transparent);border:1px solid color-mix(in srgb,var(--tier-c) 30%,transparent)}.tier-T0{--tier-c: var(--tier-T0)}.tier-T1{--tier-c: var(--tier-T1)}.tier-T1p{--tier-c: var(--tier-T1p)}.tier-T2{--tier-c: var(--tier-T2)}.tier-T4{--tier-c: var(--tier-T4)}fieldset.field{border:0;margin:0;padding:0;min-width:0}fieldset.field>legend{padding:0;margin-bottom:var(--sp-1)}.lab-meta{font-size:var(--fs-xs)}.chart-note{margin-top:var(--sp-2);font-size:var(--fs-xs);color:var(--ink-3);line-height:1.5}.table-scroll{overflow-x:auto;max-width:100%}.table-scroll:focus-visible{outline-offset:-2px}.mini-table{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}.mini-table th,.mini-table td{padding:5px 0;text-align:left;font-weight:400}.mini-table thead th{color:var(--ink-3);font-size:var(--fs-xs);font-weight:500;border-bottom:1px solid var(--hair)}.mini-table tbody th{font-weight:500}.mini-table .r{text-align:right}.mini-table td+td,.mini-table th+th,.mini-table th+td{padding-left:var(--sp-3)}.kv{margin:0;display:grid}.kv>div{display:flex;justify-content:space-between;gap:var(--sp-3);padding:6px 0;border-bottom:1px solid var(--hair);font-size:var(--fs-sm)}.kv>div:last-child{border-bottom:0}.kv dt{color:var(--ink-2)}.kv dd{margin:0;text-align:right;min-width:0;overflow-wrap:anywhere}thead small{font-size:max(11px,.85em)}::placeholder{color:var(--ink-3);opacity:1}input,textarea{caret-color:var(--accent)}@media(pointer:coarse){.btn{min-height:44px}.seg label{min-height:40px}.bar-btn{width:44px!important;height:44px!important}}[hidden]{display:none!important}.form-grid{display:grid;gap:var(--sp-4)}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--sp-4);align-items:start}.field.block{display:flex;width:100%}.field.block .input,.field.block .select{width:100%}.field>.field-label{font-size:var(--fs-sm);color:var(--ink-2)}.input,.select{height:38px;font-size:var(--fs-md);min-width:0}.input:focus-visible,.select:focus-visible{outline:2px solid var(--focus);outline-offset:1px;border-color:var(--focus)}.input[aria-invalid=true],.select[aria-invalid=true]{border-color:var(--crit)}.input.num{text-align:right}.check{display:inline-flex;align-items:center;gap:var(--sp-2);min-height:38px;font-size:var(--fs-md);cursor:pointer}.check input{width:18px;height:18px;accent-color:var(--accent)}.form-error{margin:0;color:var(--crit-ink);font-size:var(--fs-sm)}.actions-row{display:flex;flex-wrap:wrap;gap:var(--sp-3);align-items:center}.actions-row .spacer{flex:1}.btn{height:38px}.btn-danger{color:var(--crit-ink);border-color:color-mix(in srgb,var(--crit) 40%,var(--hair-strong))}.rtable-wrap{overflow-x:auto;max-width:100%}.rtable{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}.rtable th,.rtable td{padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--hair);text-align:left;vertical-align:middle}.rtable thead th{font-size:var(--fs-xs);font-weight:500;color:var(--ink-3);white-space:nowrap}.rtable .r{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.rtable tbody tr.is-link{cursor:pointer}.rtable tbody tr.is-link:hover>*{background:var(--accent-wash)}.rtable .cell-main{font-weight:600;color:var(--ink)}.rtable .cell-actions{text-align:right;white-space:nowrap}@media(max-width:639px){.rtable-wrap{overflow:visible}.rtable,.rtable tbody,.rtable tr,.rtable td,.rtable th[scope=row]{display:block;width:100%}.rtable thead{display:none}.rtable tr{margin-bottom:var(--sp-3);padding:var(--sp-2) var(--sp-3);border:1px solid var(--hair);border-radius:var(--r-panel);background:var(--surface)}.rtable td,.rtable th[scope=row]{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-3);min-height:40px;padding:var(--sp-1) 0;border-bottom:1px solid var(--hair);font-size:var(--fs-md);text-align:right}.rtable tr>:last-child{border-bottom:0}.rtable td:before,.rtable th[scope=row]:before{content:attr(data-label);flex:none;color:var(--ink-3);font-size:var(--fs-sm);font-weight:400;text-align:left}.rtable .cell-main{font-size:var(--fs-lg);justify-content:flex-start;flex-wrap:wrap;row-gap:var(--sp-1);text-align:left}.rtable .cell-main>*{flex-shrink:0;max-width:100%}.rtable .cell-main:before{content:none}.rtable .cell-actions{justify-content:flex-end}.rtable .cell-actions:before{content:none}.rtable td.cell-empty,.rtable td.cell-actions:empty{display:none}}.stepper{display:flex;list-style:none;margin:0 0 var(--sp-5);padding:0;gap:var(--sp-2);counter-reset:step}.stepper li{flex:1;display:flex;align-items:center;gap:var(--sp-2);min-width:0;padding-top:var(--sp-2);border-top:3px solid var(--hair);color:var(--ink-3);font-size:var(--fs-sm)}.stepper li .step-n{display:inline-grid;place-items:center;width:24px;height:24px;flex:none;border-radius:50%;border:1px solid var(--hair-strong);font-size:var(--fs-xs);font-variant-numeric:tabular-nums}.stepper li .step-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stepper li.is-done{border-top-color:var(--accent);color:var(--ink-2)}.stepper li.is-done .step-n{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.stepper li.is-current{border-top-color:var(--accent);color:var(--ink);font-weight:600}.stepper li.is-current .step-n{border-color:var(--accent);color:var(--accent)}@media(max-width:639px){.stepper li .step-label{display:none}.stepper li.is-current .step-label{display:inline}.stepper li.is-current{flex:3}}.dropzone{display:grid;place-items:center;gap:var(--sp-2);min-height:180px;padding:var(--sp-6) var(--sp-4);border:1.5px dashed var(--hair-strong);border-radius:var(--r-panel);background:var(--surface-2);text-align:center;cursor:pointer;transition:border-color var(--t-fast) var(--ease-out),background-color var(--t-fast) var(--ease-out)}.dropzone:hover,.dropzone.is-over,.dropzone:focus-within{border-color:var(--accent);background:var(--accent-wash)}.dropzone .dz-main{font-size:var(--fs-md);font-weight:600;color:var(--ink)}.dropzone .dz-sub{font-size:var(--fs-sm);color:var(--ink-3)}.dropzone .dz-file{font-size:var(--fs-md);color:var(--accent);word-break:break-all}.progress{position:relative;height:6px;border-radius:3px;background:var(--hair);overflow:hidden}.progress>i{position:absolute;inset:0 auto 0 0;border-radius:3px;background:var(--accent);transition:width var(--t-base) var(--ease-out)}.progress.is-indeterminate>i{width:30%!important;animation:prog-slide 1.1s ease-in-out infinite}@keyframes prog-slide{0%{left:-30%}to{left:100%}}@media(prefers-reduced-motion:reduce){.progress.is-indeterminate>i{animation:none;width:100%!important;opacity:.4}}.status{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 var(--sp-2);border-radius:var(--r-xs);font-size:var(--fs-xs);font-weight:600;white-space:nowrap;border:1px solid var(--hair-strong);color:var(--ink-2)}.status:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.status.is-ok{color:var(--good-ink, var(--good));border-color:color-mix(in srgb,var(--good) 35%,transparent);background:color-mix(in srgb,var(--good) 8%,transparent)}.status.is-busy{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 35%,transparent);background:var(--accent-wash)}.status.is-warn{color:var(--warn-ink);border-color:color-mix(in srgb,var(--warn) 45%,transparent);background:var(--warn-wash)}.status.is-bad{color:var(--crit-ink);border-color:color-mix(in srgb,var(--crit) 40%,transparent);background:color-mix(in srgb,var(--crit) 8%,transparent)}.empty-state{display:grid;justify-items:center;gap:var(--sp-3);padding:var(--sp-8) var(--sp-4);text-align:center;color:var(--ink-2)}.empty-state p{margin:0;max-width:44ch;font-size:var(--fs-md)}.empty-icon{color:var(--ink-3)}@media(max-width:639px){.input,.select{height:44px;font-size:16px}.btn{min-height:44px}.actions-row>.btn{flex:1 1 auto;justify-content:center}.panel-body{font-size:var(--fs-md)}}@media(max-width:639px){.inline-field{display:flex;flex-direction:column;align-items:stretch;gap:var(--sp-1);width:100%}.inline-field .select{width:100%;min-height:44px;font-size:16px}}.rtable-wrap.is-boxed{max-height:min(60vh,520px);overflow:auto;overscroll-behavior:contain;border:1px solid var(--hair);border-radius:var(--r-panel);background:var(--surface);scrollbar-width:thin;scrollbar-color:var(--hair-strong) transparent}.rtable-wrap.is-boxed thead th{position:sticky;top:0;z-index:2;background:var(--surface-2);box-shadow:inset 0 -1px 0 var(--hair)}@media(max-width:639px){.rtable-wrap.is-boxed{max-height:65vh;overflow:auto;padding:var(--sp-2);background:var(--surface-2)}}.section-toggle{display:inline-flex;align-items:center;gap:var(--sp-2);min-height:44px;margin:calc(-1 * var(--sp-2)) 0;padding:0;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.section-toggle:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:var(--r-xs)}.section-caret{flex:none;color:var(--ink-3);transition:transform var(--t-fast) var(--ease-out)}.section.is-open .section-caret{transform:rotate(90deg)}.section-summary{font-size:var(--fs-sm);color:var(--ink-3);font-weight:400}.section:not(.is-open)>.panel-head{border-bottom:0}.compact-list{display:none;margin:0;padding:0;list-style:none}@media(max-width:639px){.compact-list{display:block}.has-compact{display:none}.compact-list li{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--sp-1) var(--sp-3);padding:var(--sp-2) 0;border-bottom:1px solid var(--hair);font-size:var(--fs-md)}.compact-list li:last-child{border-bottom:0}.compact-list .cl-main{display:inline-flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2);font-weight:600;color:var(--ink);overflow-wrap:anywhere}.compact-list .cl-meta{font-size:var(--fs-sm);color:var(--ink-2);text-align:right}}.neutral-note{margin:0;padding:var(--sp-2) var(--sp-3);border-radius:var(--r-ctl);background:var(--surface-2);color:var(--ink-2);font-size:var(--fs-sm)}.shell{min-height:100dvh;display:flex;flex-direction:column}.skip-link{position:absolute;left:var(--sp-2);top:-48px;z-index:calc(var(--z-drawer) + 1);background:var(--accent);color:var(--on-accent);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-ctl)}.skip-link:focus{top:var(--sp-2)}.bar{position:sticky;top:0;z-index:var(--z-bar);height:var(--bar-h);display:flex;align-items:center;gap:var(--sp-4);padding:0 var(--sp-4);background:var(--bar-glass);backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);color:var(--bar-ink);border-bottom:1px solid var(--bar-hair);box-shadow:inset 0 -1px #ffffff0a;font-size:var(--fs-sm)}.bar-skirt{position:sticky;top:var(--bar-h);z-index:var(--z-bar);height:22px;margin-bottom:-22px;pointer-events:none}.bar-skirt i{position:absolute;inset:0}.bar-skirt i:nth-child(1){backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);mask-image:linear-gradient(180deg,#000 0%,transparent 55%);-webkit-mask-image:linear-gradient(180deg,#000 0%,transparent 55%)}.bar-skirt i:nth-child(2){backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);mask-image:linear-gradient(180deg,#000 20%,transparent 100%);-webkit-mask-image:linear-gradient(180deg,#000 20%,transparent 100%)}@media(prefers-reduced-transparency:reduce){.bar{background:var(--bar);backdrop-filter:none}.bar-skirt{display:none}}.bar-brand{display:inline-flex;align-items:center;gap:var(--sp-2);color:var(--bar-ink);text-decoration:none;font-weight:600;font-size:var(--fs-md);white-space:nowrap}.bar-ver{color:var(--bar-muted);font-size:var(--fs-xs);font-weight:400}.bar-status{display:flex;align-items:center;gap:var(--sp-3);min-width:0}.bar-api{display:inline-flex;align-items:center;gap:var(--sp-2);white-space:nowrap;font-size:var(--fs-xs)}.bar-sep{width:1px;height:16px;background:#ffffff24;flex:none}.bar-dot{width:8px;height:8px;border-radius:50%;background:var(--bar-muted)}.bar-api.is-ok .bar-dot{background:var(--good)}.bar-api.is-down .bar-dot{background:var(--crit)}.bar-api.is-down{color:#ffb4b4}.bar-muted{color:var(--bar-muted)}.bar-right{margin-left:auto;display:flex;align-items:center;gap:var(--sp-3)}.bar-run{font-size:var(--fs-xs);white-space:nowrap}.bar-btn{display:inline-grid;place-items:center;width:32px;height:32px;border:0;border-radius:var(--r-ctl);background:transparent;color:var(--bar-ink);cursor:pointer}.bar-btn:hover{background:#ffffff14}.bar-user{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-sm);color:var(--bar-ink)}.shell-body{flex:1;display:grid;grid-template-columns:var(--rail-w) minmax(0,1fr);background:linear-gradient(to right,color-mix(in srgb,var(--rail) 70%,transparent) calc(var(--rail-w) - 1px),var(--hair) 0 var(--rail-w),transparent 0)}.rail{position:sticky;top:var(--bar-h);align-self:start;height:calc(100dvh - var(--bar-h));overflow-y:auto;border-right:1px solid var(--hair);padding:var(--sp-4) var(--sp-2) var(--sp-6)}.rail ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}.rail-link{position:relative;display:flex;align-items:center;gap:var(--sp-3);height:40px;padding:0 var(--sp-3);border-radius:var(--r-ctl);color:var(--ink-2);text-decoration:none;font-size:var(--fs-md);transition:background-color var(--t-fast) var(--ease-out),color var(--t-fast) var(--ease-out)}.rail-link:hover{background:var(--accent-wash);color:var(--ink)}.rail-link.active{background:linear-gradient(180deg,var(--surface-hi),var(--surface));color:var(--accent);font-weight:600;box-shadow:var(--panel-hl),0 1px 2px #10182014,0 4px 10px -6px #1018202e}.rail-link.active:before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:2px;border-radius:2px;background:var(--accent)}.shell-main{min-width:0;display:flex;flex-direction:column}.main{flex:1;padding:var(--sp-6) var(--sp-8) var(--sp-8);max-width:1600px;width:100%;outline:none}.page-head{display:flex;align-items:flex-end;gap:var(--sp-4);flex-wrap:wrap;margin-bottom:var(--sp-5)}.page-head h1{font-size:var(--fs-2xl);letter-spacing:-.01em}.page-head .page-desc{margin-top:var(--sp-1);color:var(--ink-2);max-width:72ch}.page-head .page-tools{margin-left:auto;display:flex;gap:var(--sp-3);align-items:flex-end;flex-wrap:wrap}.tabbar{display:none}@media(max-width:1023px){.shell-body{grid-template-columns:minmax(0,1fr);background:none}.rail{display:none}.bar{gap:var(--sp-3);padding:0 var(--sp-4)}.main{padding:var(--sp-4) var(--sp-4) calc(var(--tabbar-h) + var(--sp-6) + env(safe-area-inset-bottom))}.tabbar{position:fixed;z-index:var(--z-bar);left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));height:calc(var(--tabbar-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--bar-glass);backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);border-top:1px solid var(--bar-hair)}.tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:44px;border:0;background:transparent;color:var(--bar-muted);font:inherit;font-size:12px;text-decoration:none;cursor:pointer}.tab.active{color:#fff}.tab.active svg{color:var(--pred)}}@media(prefers-reduced-transparency:reduce){.tabbar{background:var(--bar);backdrop-filter:none}}.sheet-scrim{position:fixed;inset:0;z-index:calc(var(--z-drawer) - 1);background:#0a0c0e73}.sheet{position:fixed;z-index:var(--z-drawer);left:0;right:0;bottom:0;padding:var(--sp-3) var(--sp-4) calc(var(--sp-4) + env(safe-area-inset-bottom));background:var(--surface);border-radius:var(--r-lg) var(--r-lg) 0 0;box-shadow:var(--shadow-pop);animation:sheet-in var(--t-base) var(--ease-out) both}@keyframes sheet-in{0%{transform:translateY(24px);opacity:0}}@media(prefers-reduced-motion:reduce){.sheet{animation:none}}.sheet-head{display:flex;align-items:center;justify-content:space-between;min-height:44px;border-bottom:1px solid var(--hair);margin-bottom:var(--sp-2)}.sheet-user{display:inline-flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-md)}.sheet-close{color:var(--ink-2)}.sheet-list{list-style:none;margin:0;padding:0}.sheet-link{display:flex;align-items:center;gap:var(--sp-3);width:100%;min-height:52px;padding:0 var(--sp-2);border:0;border-radius:var(--r-ctl);background:transparent;color:var(--ink);font:inherit;font-size:var(--fs-md);text-decoration:none;text-align:left;cursor:pointer}.sheet-link.active{color:var(--accent);font-weight:600}.sheet-link:hover{background:var(--accent-wash)}@media(max-width:767px){.bar-hide-sm{display:none!important}.page-head h1{font-size:22px}.page-head .page-tools{margin-left:0;width:100%}}.auth{min-height:100dvh;display:grid;place-items:center;padding:var(--sp-6) var(--sp-4);position:relative}.auth-theme{position:absolute;top:var(--sp-3);right:var(--sp-3);color:var(--ink-2)}.auth-card{width:min(400px,100%);padding:var(--sp-6);display:grid;gap:var(--sp-5)}.auth-brand{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-xl);font-weight:700;letter-spacing:-.01em}.auth-seg{display:grid;grid-template-columns:1fr 1fr}.auth-seg label{justify-content:center;height:36px;font-size:var(--fs-md)}.auth-submit{width:100%;justify-content:center;height:44px;font-size:var(--fs-md)}.field-hint.is-error{color:var(--crit-ink)}@media(max-width:639px){.auth{place-items:start center;padding-top:calc(var(--sp-8) + var(--sp-4))}.auth-card{padding:var(--sp-5) var(--sp-4)}.auth-seg label{height:40px}}
