:root{--bg:#0f1216;--card:#171b21;--ink:#e6e9ef;--muted:#8b94a3;--line:#262c35;--accent:#3b82f6;--ok:#16a34a;--warn:#f59e0b;--err:#ef4444;--mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace}*{box-sizing:border-box}a{color:#93c5fd}a:hover{color:#bfdbfe}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font:14px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}main{max-width:920px;margin:0 auto;padding:24px 20px 48px}h1{margin:0 0 2px;font-size:20px}.tagline{color:var(--muted);margin:0 0 20px}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;margin-top:14px;padding:16px 18px}.card h2{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:0 0 12px;font-size:12.5px}.row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.row+.row{margin-top:10px}.spacer{flex:1}label.field{color:var(--muted);align-items:center;gap:6px;display:inline-flex}label.field input,label.field select{font:inherit;border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:7px;padding:6px 8px}input[type=date]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}input.mono{font-family:var(--mono)}button{font:inherit;border:1px solid var(--line);cursor:pointer;background:var(--card);color:var(--ink);border-radius:8px;padding:8px 14px;font-weight:600}button.primary{background:var(--accent);color:#fff;border-color:#0000}button.ghost{color:var(--muted);background:0 0;font-weight:500}button:disabled{opacity:.5;cursor:not-allowed}.seg{border:1px solid var(--line);background:var(--bg);border-radius:8px;gap:2px;padding:2px;display:inline-flex}.seg button{letter-spacing:.04em;color:var(--muted);background:0 0;border:0;border-radius:6px;padding:3px 10px;font-size:12px}.seg button[aria-pressed=true]{background:var(--card);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line)}.seg button:hover:not(:disabled):not([aria-pressed=true]){color:var(--ink)}.seg button[aria-pressed=true]:disabled{opacity:1}.seg.mode button{letter-spacing:0;padding:8px 14px;font-size:13px}.seg.mode button.live[aria-pressed=true]{background:color-mix(in srgb, var(--warn) 18%, transparent);color:#fcd34d;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--warn) 45%, transparent)}.seg-pick{letter-spacing:.04em;color:var(--muted);border-radius:6px;align-items:center;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex;position:relative}.seg-pick[aria-pressed=true]{background:var(--card);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line)}.seg-pick:hover{color:var(--ink)}.seg-pick select{opacity:0;cursor:pointer;width:100%;position:absolute;inset:0}.pill{border-radius:999px;padding:3px 9px;font-size:12px;font-weight:600}.pill.on{background:color-mix(in srgb, var(--ok) 20%, transparent);color:#4ade80}.pill.off{background:color-mix(in srgb, var(--muted) 20%, transparent);color:var(--muted)}.hint{color:var(--muted);margin:10px 0 0;font-size:12.5px}.err{color:var(--err)}.device-tags{color:var(--accent);font:12px var(--mono);margin:7px 0 0}.job-empty{border:1px dashed var(--line);border-radius:10px;align-items:center;gap:14px;margin-top:12px;padding:14px 16px;display:flex}.job-empty .glyph{font-size:26px;line-height:1}.job-empty p{margin:0;font-weight:600}.job-empty p.hint{margin-top:3px;font-weight:400}.job-empty a{color:inherit;text-decoration:underline}table.results{border-collapse:collapse;width:100%}table.results th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);border-bottom:1px solid var(--line);padding:4px 8px;font-size:11.5px}table.results td{border-bottom:1px solid var(--line);vertical-align:middle;padding:10px 8px}table.results tr:last-child td{border-bottom:none}.who{font-weight:600}.who a,.who a:visited{color:var(--ink);text-decoration:none}.who a:hover{color:var(--accent);text-decoration:underline}.serial{font-family:var(--mono);font-size:12.5px}.badge{border-radius:999px;padding:2px 8px;font-size:11.5px;font-weight:600;display:inline-block}.badge.found{background:color-mix(in srgb, var(--ok) 18%, transparent);color:#4ade80}.badge.miss{background:color-mix(in srgb, var(--muted) 16%, transparent);color:var(--muted)}.badge.warn{background:color-mix(in srgb, var(--warn) 18%, transparent);color:var(--warn);margin-left:6px}pre.log{font-family:var(--mono);background:var(--bg);border:1px solid var(--line);white-space:pre-wrap;word-break:break-word;border-radius:8px;max-height:260px;margin:0;padding:12px;font-size:12px;line-height:1.5;overflow:auto}.unsupported{background:color-mix(in srgb, var(--warn) 15%, transparent);border:1px solid color-mix(in srgb, var(--warn) 35%, transparent);color:#fbbf24;border-radius:10px;padding:12px 14px}.topnav{border-bottom:1px solid var(--line);background:var(--card);flex-wrap:wrap;align-items:center;gap:18px;padding:12px 20px;display:flex}.topnav .brand,.topnav a.brand{color:var(--ink);font-weight:700}.topnav a{color:var(--muted);text-decoration:none}.topnav a:hover{color:var(--ink)}.station-bar{border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--accent) 10%, var(--card));flex-wrap:wrap;align-items:center;gap:12px;padding:8px 20px;font-size:13px;display:flex}.station-bar.unset{background:color-mix(in srgb, var(--warn) 10%, var(--card));border-bottom-color:color-mix(in srgb, var(--warn) 40%, var(--line));color:var(--warn)}.station-bar.unset a{color:var(--warn);font-weight:600}.station-bar.update-bar{background:color-mix(in srgb, var(--accent) 22%, var(--card));border-bottom-color:color-mix(in srgb, var(--accent) 45%, var(--line))}.station-bar .banner-close{min-width:40px;min-height:36px;color:var(--warn);padding:2px 10px;font-size:20px;line-height:1}.setup-code{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, var(--card))}.setup-code .code{font-family:var(--mono);letter-spacing:.08em;font-size:34px;font-weight:700}.setup-code ol{margin:12px 0 0;padding-left:20px;line-height:1.7}.run-error{text-align:left;border:2px solid var(--err);background:color-mix(in srgb, var(--err) 14%, var(--bg));border-radius:12px;width:min(620px,92vw);padding:14px 16px}.run-error .where{text-transform:uppercase;letter-spacing:.06em;color:#fca5a5;font-size:12px;font-weight:700}.run-error .msg{font-family:var(--mono);word-break:break-word;margin-top:4px;font-size:15px}.run-error .why{border-top:1px solid color-mix(in srgb, var(--err) 35%, transparent);margin:12px 0 0;padding-top:10px;font-size:14px;line-height:1.5}.run-error .why dt{text-transform:uppercase;letter-spacing:.06em;color:#fca5a5;font-size:11px;font-weight:700}.run-error .why dd{color:var(--ink);margin:2px 0 0}.run-error .why dd+dt{margin-top:8px}.fail-help{line-height:1.5}.fail-help p{margin:0}.fail-help p+p{margin-top:6px}.fail-help .what{color:var(--ink);font-weight:700}.run-saved{text-align:left;width:min(620px,92vw);font-size:13px}.run-saved .ok{color:#4ade80}.run-saved details{margin-top:6px}.run-saved summary{cursor:pointer;color:var(--muted)}.log-block{margin-top:6px;position:relative}.log-block>button{position:absolute;top:6px;right:6px}.log-block pre.log{text-align:left;margin:0}tr.run-row{cursor:pointer}tr.run-row:hover td{background:color-mix(in srgb, var(--accent) 6%, transparent)}.failure-bars{grid-template-columns:minmax(180px,34%) minmax(0,1fr) 40px;align-items:center;gap:8px 12px;font-size:13px;display:grid}.failure-bar{display:contents}.table-scroll{overflow-x:auto}a.primary-link{background:var(--accent);color:#fff;border-radius:8px;margin-top:8px;padding:9px 16px;font-weight:600;text-decoration:none;display:inline-block}.ribbon{border-bottom:1px solid var(--line);background:var(--card);flex-wrap:wrap;align-items:stretch;gap:8px;padding:8px 20px;display:flex}.ribbon-link{color:var(--muted);align-self:center;font-size:12px;font-weight:600;text-decoration:none}.ribbon-link:hover{color:var(--accent)}.ribbon-detect{align-self:center;align-items:center;gap:8px;display:inline-flex}.ribbon-detect button{padding:5px 12px;font-size:12px}.ribbon-check{color:var(--muted);white-space:nowrap;align-items:center;gap:4px;font-size:11px;display:inline-flex}.ribbon-check input{margin:0}.rib-card{border:1px solid var(--line);background:var(--bg);border-radius:8px;flex-direction:column;flex:none;gap:2px;min-width:88px;padding:5px 10px;display:flex}.rib-card .head{align-items:center;gap:5px;display:flex}.rib-card .head .dot{border-radius:50%;flex:none;width:7px;height:7px}.rib-card .head .dot.on{background:#4ade80}.rib-card .head .dot.off{background:var(--muted);opacity:.45}.rib-card .name{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:9.5px;font-weight:700}.rib-card .val{font-family:var(--mono);color:var(--ink);white-space:nowrap;font-size:11px;line-height:1.35}.rib-card .val b{color:var(--accent);font-weight:600}.rib-card .val .dim{color:var(--muted)}.row.between{justify-content:space-between}.cardgrid{grid-template-columns:1fr 1fr;gap:14px;margin-top:16px;display:grid}@media (max-width:640px){.cardgrid{grid-template-columns:1fr}}.tabs{gap:8px;margin:18px 0 12px;display:flex}.stickers{flex-wrap:wrap;gap:16px;margin-top:16px;display:flex}.sticker-wrap{flex-direction:column;gap:4px;display:inline-flex}.sticker-title{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:10px}.sticker{border:1px solid var(--line);background:#fff;border-radius:4px;align-items:center;gap:12px;width:256px;height:128px;padding:8px 12px;display:flex}.sticker-qr{width:108px;height:108px;image-rendering:pixelated}.sticker-text{flex-direction:column;gap:4px;display:flex;overflow:hidden}.sticker-serial{font-family:var(--mono);color:#000;word-break:break-all;font-size:17px;font-weight:700;line-height:1.1}.sticker-program .sticker-qr{width:72px;height:72px}.sticker-program-id{white-space:nowrap;font-size:13px}.sticker-date{font-family:var(--mono);color:#333;font-size:12px}.sticker-program-title{font-size:13px}.print-panel .print-options{gap:8px;margin-top:12px}.print-panel .opt-label{color:var(--muted);font-size:12.5px}.print-panel .opt-label+.seg{margin-right:10px}.print-preview{background:var(--bg);border-radius:10px;justify-content:center;margin-top:14px;padding:14px;display:flex}.print-panel .print-action{margin-top:14px}.print-panel .print-action .hint{margin:0}.lookup-form{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.lookup-input{min-width:0;font:inherit;font-family:var(--mono);border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:8px;flex:220px;padding:9px 11px}.lookup-input.committed{color:var(--muted)}.scanner{margin-top:12px}.scanner-video{aspect-ratio:4/3;object-fit:cover;background:#000;border-radius:8px;width:100%;max-width:360px}@media (max-width:720px){.ribbon{display:none}}a.navcard{color:inherit;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:18px;text-decoration:none;display:block}a.navcard:hover{border-color:var(--accent)}a.navcard.primary{border-color:var(--accent);grid-column:1/-1}a.navcard.primary h2{font-size:20px}a.navcard h2{color:var(--ink);text-transform:none;letter-spacing:0;margin:0 0 6px;font-size:16px}a.navcard p{color:var(--muted);margin:0}.muted-sm{color:var(--muted);font-size:12.5px}.nav-spacer{flex:1}.signout{font:inherit;color:var(--muted);border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:7px;padding:5px 12px}.signout:hover{color:var(--ink);border-color:var(--accent)}.login{place-items:center;min-height:70vh;padding:24px;display:grid}.login-card{text-align:center;background:var(--card);border:1px solid var(--line);border-radius:14px;width:100%;max-width:360px;padding:32px 28px}.login-card h1{margin:0 0 4px}.login-card .muted{color:var(--muted);margin:0 0 20px}.google-btn{width:100%;font:inherit;cursor:pointer;border:1px solid var(--line);color:#1f2937;background:#fff;border-radius:9px;padding:11px 16px;font-weight:600}.google-btn:disabled{opacity:.6;cursor:default}.login-card .error{color:var(--err);margin-top:14px;font-size:14px}.login-form{text-align:left;flex-direction:column;gap:10px;margin-bottom:12px;display:flex}.login-input{font:inherit;border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:9px;padding:10px 12px}.login-submit{border-radius:9px;width:100%;padding:11px 16px}.login-toggle{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:none;font-size:13px;text-decoration:underline}.login-toggle:hover{color:var(--ink)}.login-divider{color:var(--muted);align-items:center;gap:10px;margin:16px 0;font-size:12px;display:flex}.login-divider:before,.login-divider:after{content:"";background:var(--line);flex:1;height:1px}.login-note{color:var(--muted);margin-top:14px;font-size:14px}.login-links{justify-content:space-between;gap:12px;margin-top:2px;display:flex}.keys .muted{color:var(--muted)}.keys-new{gap:8px;margin:10px 0;display:flex}.keys-new input{font:inherit;border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:8px;flex:1;padding:8px 10px}.keys-new button{font:inherit;border:1px solid var(--line);background:var(--accent);color:#fff;cursor:pointer;border-radius:8px;padding:8px 14px;font-weight:600}.keys-new button:disabled{opacity:.5;cursor:default}.keys-fresh{background:color-mix(in srgb, var(--ok) 12%, transparent);border:1px solid color-mix(in srgb, var(--ok) 40%, transparent);border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px;margin:8px 0;padding:10px 12px;display:flex}.keys-fresh code{font-family:var(--mono);word-break:break-all;color:var(--ink)}.keys-fresh button{font:inherit;border:1px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer;border-radius:6px;padding:4px 10px}.keys-table{border-collapse:collapse;width:100%;margin-top:10px;font-size:14px}.keys-table th,.keys-table td{text-align:left;border-bottom:1px solid var(--line);padding:7px 10px}.keys-table th{color:var(--muted);font-weight:600}.keys-table code{font-family:var(--mono)}.keys-table tr.revoked{opacity:.5}.keys-table button.link{color:var(--err);cursor:pointer;font:inherit;background:0 0;border:none;padding:0}.keys .error{color:var(--err)}.wizard{max-width:860px;margin:0 auto}.wizard h1{margin:18px 0 4px;font-size:26px}.wizard .subtitle{color:var(--muted);margin:0 0 6px;font-size:15px}.choice-grid{grid-template-columns:1fr 1fr;gap:18px;margin-top:18px;display:grid}@media (max-width:640px){.choice-grid{grid-template-columns:1fr}}.choice-card{text-align:center;background:var(--card);border:2px solid var(--line);cursor:pointer;font:inherit;color:var(--ink);border-radius:16px;flex-direction:column;align-items:center;gap:12px;padding:26px 20px;display:flex}.choice-card:hover,.choice-card:focus-visible{border-color:var(--accent)}.choice-card img{width:100%;max-width:250px;height:auto}.choice-card .name{font-size:22px;font-weight:700}.choice-card .desc{color:var(--muted);margin:0;font-size:14px}.board-card{cursor:default}.build-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:4px 0 12px;display:grid}.build-card{text-align:left;border-radius:12px;flex-direction:column;align-items:flex-start;gap:1px;padding:10px 14px;font-weight:400;display:flex}.build-card .icon{background:var(--muted);width:20px;height:20px;margin-bottom:6px;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.build-card .name{font-size:15px;font-weight:600}.build-card .desc{color:var(--muted);font-size:12px}.build-card:hover:not(:disabled){border-color:var(--accent)}.build-card[aria-pressed=true]{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 10%, var(--card))}.build-card[aria-pressed=true] .icon{background:var(--accent)}.quantity-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;display:flex}.quantity-row form{gap:6px;display:flex}.quantity-row input{width:84px;font:inherit;text-align:center;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:9px;padding:10px;font-size:18px}.instruction{background:color-mix(in srgb, var(--warn) 12%, transparent);border:1px solid color-mix(in srgb, var(--warn) 35%, transparent);border-radius:14px;align-items:center;gap:16px;margin-top:16px;padding:16px 18px;display:flex}.instruction.ok{background:color-mix(in srgb, var(--ok) 12%, transparent);border-color:color-mix(in srgb, var(--ok) 35%, transparent)}.instruction img{flex:none;width:88px;height:auto}.instruction .say{font-size:19px;font-weight:600;line-height:1.35}.led-dot{vertical-align:-.08em;border-radius:50%;width:.8em;height:.8em;margin:0 .15em;display:inline-block}.led-dot.green{background:var(--ok);box-shadow:0 0 8px var(--ok)}.led-dot.blue{background:#3b82f6;box-shadow:0 0 8px #3b82f6}.led-dot.yellow{background:#facc15;box-shadow:0 0 8px #facc15}.led-dot.red{background:var(--err);box-shadow:0 0 8px var(--err)}@keyframes led-blink{50%{opacity:.12}}.led-dot.blink{animation:1.6s step-end infinite led-blink}.slot-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px;margin-top:16px;display:grid}.slot{text-align:center;background:var(--card);border:2px dashed var(--line);border-radius:16px;flex-direction:column;align-items:center;gap:8px;padding:22px 16px;display:flex}.slot.ok{border:2px solid var(--ok)}.slot.err{border:2px solid var(--err)}.slot .glyph{font-size:34px;line-height:1}.slot .title{font-size:18px;font-weight:700}.slot .state{color:var(--muted);font-size:13px}.slot .uid{font-family:var(--mono);color:var(--muted);word-break:break-all;font-size:11.5px}@keyframes wizpulse{50%{opacity:.4}}.slot.wait .glyph{animation:1.6s ease-in-out infinite wizpulse}.progress{background:var(--bg);border:1px solid var(--line);border-radius:999px;width:100%;height:14px;overflow:hidden}.progress>i{background:var(--accent);height:100%;transition:width .2s;display:block}.countdown{color:#4ade80;justify-content:center;align-items:center;gap:14px;margin-top:6px;font-size:20px;font-weight:700;display:flex}.bigbtn{border-radius:14px;min-height:64px;padding:14px 34px;font-size:20px;font-weight:700}.label-scan{box-sizing:border-box;width:100%;max-width:420px;margin:12px 0 4px;display:block}.wizard-footer{justify-content:space-between;align-items:center;gap:12px;margin-top:26px;display:flex}.wizard-footer a{color:var(--muted);font-size:12.5px}.form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 24px;display:grid}@media (max-width:720px){.form-grid{grid-template-columns:1fr}}.form-sec{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:0 0 8px;font-size:11.5px}.stack{color:var(--muted);flex-direction:column;align-items:flex-start;gap:4px;margin-bottom:12px;font-size:12.5px;display:flex}.stack>input,.stack>select{font:inherit;border:1px solid var(--line);background:var(--bg);width:100%;color:var(--ink);border-radius:7px;padding:6px 8px;font-size:14px}.lock-choice{grid-template-columns:1fr 1fr;gap:10px;margin-top:4px;display:grid}@media (max-width:720px){.lock-choice{grid-template-columns:1fr}}.lock-opt{border:1px solid var(--line);cursor:pointer;border-radius:10px;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.lock-opt input{accent-color:var(--accent);margin:3px 0 0}.lock-opt small{color:var(--muted);margin-top:2px;font-size:12px;display:block}.lock-opt.on{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 10%, transparent)}.lock-opt.on.permanent{border-color:var(--warn);background:color-mix(in srgb, var(--warn) 12%, transparent)}.form-foot{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;margin-top:14px;padding-top:12px;display:flex}.form-foot button{white-space:nowrap;flex-shrink:0}.fullscreen{z-index:100;text-align:center;background:var(--bg);flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:24px;display:flex;position:fixed;inset:0;overflow:auto}.fullscreen.pass{background:color-mix(in srgb, var(--ok) 24%, var(--bg))}.fullscreen.fail{background:color-mix(in srgb, var(--err) 26%, var(--bg))}.fullscreen.warn{background:color-mix(in srgb, var(--warn) 22%, var(--bg))}.fullscreen .glyph{font-size:110px;line-height:1}.fullscreen h1{margin:0;font-size:42px}.fullscreen .detail{color:var(--ink);opacity:.9;max-width:620px;font-size:17px}.fullscreen .uids{font-family:var(--mono);opacity:.9;font-size:14px}.fullscreen .actions{flex-wrap:wrap;justify-content:center;gap:14px;margin-top:18px;display:flex}@keyframes toast-in{0%{opacity:0;transform:translateY(10px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.print-toast{z-index:200;width:min(390px,100vw - 40px);color:var(--ink);background:color-mix(in srgb, var(--card) 96%, transparent);border:1px solid var(--line);text-align:left;border-radius:12px;grid-template-columns:auto 1fr auto;align-items:start;gap:10px;padding:13px 14px;animation:.16s ease-out toast-in;display:grid;position:fixed;bottom:20px;right:20px;box-shadow:0 16px 44px #0009}.print-toast.success{border-color:color-mix(in srgb, var(--ok) 55%, var(--line))}.print-toast.error{border-color:color-mix(in srgb, var(--err) 65%, var(--line))}.toast-mark{font-size:18px;font-weight:800;line-height:1.2}.print-toast.success .toast-mark{color:#4ade80}.print-toast.error .toast-mark{color:#f87171}.toast-copy{flex-direction:column;gap:2px;min-width:0;display:flex}.toast-copy strong{font-size:14px;line-height:1.25}.toast-copy>span{color:var(--muted);overflow-wrap:anywhere;font-size:12.5px;line-height:1.35}.toast-close{color:var(--muted);background:0 0;border:0;margin:-5px -7px 0 0;padding:2px 7px;font-size:18px;font-weight:400;line-height:1}.toast-close:hover{color:var(--ink)}@media (prefers-reduced-motion:reduce){.print-toast{animation:none}}.fullscreen .repair{text-align:left;background:color-mix(in srgb, var(--bg) 55%, transparent);border:1px solid var(--line);border-radius:12px;width:min(620px,92vw);margin-top:18px;padding:14px 18px}.fullscreen .repair p{opacity:.9;margin:0 0 12px;font-size:13.5px}.fullscreen .repair-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.fullscreen .repair-row input{font:inherit;border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:7px;padding:7px 9px;font-size:14px}.pair-serial{background:color-mix(in srgb, var(--bg) 55%, transparent);border:1px solid var(--line);border-radius:14px;flex-direction:column;align-items:center;gap:4px;margin:4px 0;padding:14px 30px;display:flex}.pair-serial .pair-label{text-transform:uppercase;letter-spacing:.06em;opacity:.75;font-size:12px}.pair-serial .pair-value{font-family:var(--mono);font-size:30px;font-weight:700}.wizard-lock{z-index:90;background:color-mix(in srgb, var(--bg) 90%, transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);flex-direction:column;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.wizard-lock .panel{background:var(--card);border:1px solid var(--line);border-radius:18px;flex-direction:column;gap:18px;width:min(640px,92vw);max-height:92vh;padding:28px;display:flex;overflow-y:auto}.wizard-lock h2{text-transform:none;letter-spacing:0;color:var(--ink);margin:0;font-size:24px}.wizard-lock .do-not{color:var(--warn);font-size:18px;font-weight:700}.flash-row{align-items:center;gap:12px;display:flex}.flash-row .who{min-width:70px;font-size:16px}.flash-row .pct{font-family:var(--mono);text-align:right;min-width:48px}.flash-grid{align-items:center;gap:12px 14px;display:grid}.wizard-lock .panel:has(.flash-grid){width:min(780px,92vw)}.flash-grid .step-col{grid-column:span 2}.flash-grid .who{font-size:16px}.flash-grid .col{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:12px}.flash-grid .pct{font-family:var(--mono);text-align:right;white-space:nowrap}.flash-grid .pct.pending{color:var(--muted)}.flash-grid .pct.done{color:var(--ok)}.flash-grid .pct.failed{color:var(--err)}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:12px;margin-top:14px;display:grid}.stat{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 14px}.stat .num{color:var(--ink);font-size:26px;font-weight:700;line-height:1.1}.stat .lbl{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-top:3px;font-size:11.5px}.meter{background:color-mix(in srgb, var(--muted) 18%, transparent);vertical-align:middle;border-radius:999px;width:120px;height:8px;display:inline-block;overflow:hidden}.meter>i{background:var(--accent);border-radius:999px;height:100%;transition:width .2s;display:block}.meter.full>i{background:var(--ok)}.meter-label{font-family:var(--mono);color:var(--ink);vertical-align:middle;margin-left:8px;font-size:12px}.badge.st-open{background:color-mix(in srgb, var(--accent) 18%, transparent);color:#93c5fd}.badge.st-paused{background:color-mix(in srgb, var(--warn) 18%, transparent);color:var(--warn)}.badge.st-done{background:color-mix(in srgb, var(--ok) 18%, transparent);color:#4ade80}.badge.st-cancelled{background:color-mix(in srgb, var(--muted) 16%, transparent);color:var(--muted)}.badge.untyped{background:color-mix(in srgb, var(--warn) 18%, transparent);color:var(--warn)}.badge.faulted{background:color-mix(in srgb, var(--err) 22%, transparent);color:#fca5a5}.fault-card{border-color:color-mix(in srgb, var(--err) 45%, var(--line));background:color-mix(in srgb, var(--err) 7%, transparent)}.thread{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.thread li{border:1px solid var(--line);border-radius:10px;padding:8px 11px}.thread .meta{color:var(--muted);align-items:baseline;gap:8px;font-size:11.5px;display:flex}.thread .body{white-space:pre-wrap;margin:4px 0 0;font-size:14px}.thread textarea,.comment-new textarea{resize:vertical;width:100%;min-height:68px;font:inherit;color:var(--fg);background:color-mix(in srgb, var(--bg) 60%, transparent);border:1px solid var(--line);border-radius:8px;padding:7px 9px}.comment-new{margin-top:12px}.comment-new .row{justify-content:flex-end;margin-top:6px}.qbtn{border-radius:6px;padding:2px 8px;font-size:12px}.retype-row td{background:color-mix(in srgb, var(--accent) 7%, transparent)}.flash-id{text-align:left;flex-direction:column;gap:1px;min-width:132px;display:flex}.flash-id .who{font-size:16px;font-weight:600}.flash-id .rel{font-family:var(--mono);color:var(--muted);font-size:11px}.flash-row .st{text-align:right;min-width:200px;color:var(--muted);font-size:13.5px}.flash-row .st.ok{color:#4ade80;font-weight:600}.flash-row .st.err{color:var(--err);font-weight:600}.progress>i.ok{background:var(--ok)}.progress>i.err{background:var(--err)}.progress>i.indet{width:34%;animation:1.2s ease-in-out infinite alternate indet}@keyframes indet{0%{margin-left:0}to{margin-left:66%}}@media (prefers-reduced-motion:reduce){.progress>i.indet{opacity:.35;width:100%;animation:none}}.mini-log{font-family:var(--mono);color:var(--muted);text-align:left;font-size:11px}.result-list{flex-direction:column;gap:10px;width:min(560px,92vw);margin-top:4px;display:flex}.result-row{text-align:left;border:1px solid var(--line);background:color-mix(in srgb, var(--card) 72%, transparent);border-radius:12px;align-items:center;gap:14px;padding:12px 16px;display:flex}.result-row.ok{border-color:color-mix(in srgb, var(--ok) 45%, transparent)}.result-row.warn{border-color:color-mix(in srgb, var(--warn) 55%, transparent)}.result-row.err{border-color:color-mix(in srgb, var(--err) 55%, transparent);background:color-mix(in srgb, var(--err) 14%, var(--card))}.result-row .mark{font-size:24px;line-height:1}.result-row.ok .mark,.result-row.ok .st{color:#4ade80}.result-row.warn .mark,.result-row.warn .st{color:var(--warn)}.result-row.err .mark,.result-row.err .st{color:var(--err)}.result-row .st{text-align:right;margin-left:auto;font-size:14px;font-weight:600}.result-row .st small{color:var(--muted);max-width:280px;font-size:11.5px;font-weight:400;display:block}.usermenu{position:relative}.avatar{cursor:pointer;border:1px solid var(--line);background:var(--accent);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;padding:0;font-size:14px;font-weight:700;display:inline-flex;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%;display:block}.usermenu-pop{z-index:50;background:var(--card);border:1px solid var(--line);border-radius:10px;flex-direction:column;min-width:210px;padding:6px;display:flex;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 10px 28px #0006}.usermenu-head{border-bottom:1px solid var(--line);flex-direction:column;gap:2px;margin-bottom:4px;padding:8px 10px 10px;display:flex}.usermenu-head strong{color:var(--ink);font-size:14px}.usermenu-head .muted{color:var(--muted);word-break:break-all;font-size:12px}.usermenu-item{font:inherit;text-align:left;color:var(--ink);cursor:pointer;background:0 0;border:none;border-radius:7px;padding:8px 10px;text-decoration:none}.usermenu-item:hover{background:color-mix(in srgb, var(--accent) 16%, transparent)}.chart svg{width:100%;height:auto;display:block}.recharts-tooltip-wrapper .chart-tip{position:static;transform:none}.live{color:var(--muted);align-items:center;gap:7px;font-size:12px;display:inline-flex}.live button{margin-left:4px}.live-dot{background:var(--ok);border-radius:50%;width:8px;height:8px;animation:2s ease-in-out infinite live-pulse}@keyframes live-pulse{0%,to{opacity:1}50%{opacity:.35}}@media (prefers-reduced-motion:reduce){.live-dot{animation:none}}.legend{color:var(--muted);gap:14px;margin-top:6px;font-size:12px;display:flex}.legend i{vertical-align:-1px;border-radius:3px;width:10px;height:10px;margin-right:5px;display:inline-block}.meter-stack{flex-direction:column;gap:4px;display:flex}.timeline{border-left:2px solid var(--line);margin:0;padding:0 0 0 2px;list-style:none}.timeline li{padding:6px 0 6px 16px;position:relative}.timeline li:before{content:"";background:var(--muted);border-radius:50%;width:8px;height:8px;position:absolute;top:13px;left:-7px}.timeline li.ok:before{background:var(--ok)}.timeline li.err:before{background:var(--err)}.timeline li.warn:before{background:var(--warn)}.timeline li.job{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);padding:10px 0 2px 16px;font-size:12px;font-weight:600}.timeline li.job:before{display:none}.timeline .t{font-family:var(--mono);color:var(--muted);margin-right:8px;font-size:11.5px}.timeline .who{color:var(--muted);font-size:12px;font-weight:400}.chart-tip{background:var(--bg);border:1px solid var(--line);color:var(--ink);pointer-events:none;white-space:nowrap;z-index:5;border-radius:6px;padding:6px 9px;font-size:12px;position:absolute;top:0;transform:translate(-50%)}.chart-tip .t{font-family:var(--mono);color:var(--muted);margin-bottom:2px;font-size:11px}.chart-tip i{border-radius:2px;width:8px;height:8px;margin-right:5px;display:inline-block}.chart-grid{grid-template-columns:repeat(auto-fit,minmax(min(430px,100%),1fr));gap:0 14px;display:grid}.chart-grid>.card{min-width:0}.legend-swatch{vertical-align:-1px;border-radius:3px;width:10px;height:10px;margin-right:6px;display:inline-block}main.console{max-width:1500px}.console-grid{grid-template-columns:1.35fr 1fr;align-items:start;gap:0 14px;display:grid}@media (max-width:1000px){.console-grid{grid-template-columns:1fr}}.console-grid>.card{min-width:0}.pill.debug{color:#d8b4fe;background:#a855f738}.shell-pane{min-height:300px;max-height:46vh}.shell-pane .ln{white-space:pre-wrap;display:block}.shell-pane .lts{color:var(--muted);opacity:.65}.shell-pane .ln.tx{color:#7dd3fc}.shell-pane .ln.rx{color:#86efac}.shell-pane .ln.warn{color:var(--warn)}.shell-pane .ln.err{color:#fca5a5}.shell-pane .ln.dim{color:var(--muted)}.shell-pane .ln.head{color:var(--ink);font-weight:600}.cmdbar{border:1px solid var(--line);background:var(--bg);border-radius:8px;align-items:center;gap:8px;margin-top:10px;padding:6px 10px;display:flex}.cmdbar:focus-within{border-color:var(--accent)}.cmdbar .prompt{color:var(--warn);font-family:var(--mono);font-size:12.5px}.cmdbar input{font:inherit;color:var(--ink);background:0 0;border:none;outline:none;flex:1;font-size:13px}.state .mcu+.mcu{border-top:1px solid var(--line);margin-top:12px;padding-top:12px}.state .mcu-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.state .muted{color:var(--muted);font-size:12px}.state dl{grid-template-columns:110px 1fr;gap:2px 10px;margin:8px 0 0;font-size:12.5px;display:grid}.state dt{color:var(--muted)}.state dd{font-family:var(--mono);word-break:break-word;margin:0;font-size:12px}.state dd.muted{font-family:inherit}.state-chip{letter-spacing:.02em;background:color-mix(in srgb, var(--muted) 18%, transparent);color:var(--muted);border-radius:999px;padding:2px 9px;font-size:11.5px;font-weight:700}.state-chip.ok{background:color-mix(in srgb, var(--ok) 20%, transparent);color:#4ade80}.state-chip.warn{background:color-mix(in srgb, var(--warn) 20%, transparent);color:var(--warn)}.state-chip.bad{background:color-mix(in srgb, var(--err) 20%, transparent);color:#fca5a5}.state-chip.dud{color:#d8b4fe;background:#a855f738}.warn-text{color:var(--warn)}.graphs.stale{opacity:.55}.graphs-title{color:var(--muted);margin-bottom:6px;font-size:12px}.graph-rows{flex-direction:column;gap:6px;display:flex}.graph-row{grid-template-columns:210px 1fr;align-items:center;gap:10px;display:grid}.graph-head{grid-template-columns:82px 26px 58px;align-items:baseline;gap:6px;font-size:12px;display:grid}.graph-head .ch-label{color:var(--ink)}.graph-head .ch-unit{color:var(--muted);text-align:right;font-size:11px}.graph-head .ch-value{font-family:var(--mono);text-align:right;white-space:nowrap;font-size:12px}.graph-head .ch-value.na{color:var(--muted)}.graph-head .ch-value.lvl-high{color:#4ade80}.graph-head .ch-value.lvl-low{color:var(--warn)}.graph-head .ch-range{font-family:var(--mono);color:var(--muted);grid-column:1/-1;font-size:10.5px}.graph-plot{align-items:stretch;gap:6px;min-width:0;display:flex;position:relative}.graph-plot .spark{background:var(--bg);border:1px solid var(--line);border-radius:5px;flex:1;min-width:0;height:26px}.graph-plot .spark .area{fill:color-mix(in srgb, var(--accent) 28%, transparent)}.graph-plot .spark .trace{fill:none;stroke:var(--accent);stroke-width:1.4px}.graph-plot .spark .gap{fill:color-mix(in srgb, var(--err) 26%, transparent)}.graph-plot .spark .low{fill:color-mix(in srgb, var(--warn) 24%, transparent)}.graph-plot .axis{text-align:right;width:58px;font-family:var(--mono);color:var(--muted);flex-direction:column;justify-content:space-between;font-size:10.5px;display:flex}.graph-plot .axis.flat{justify-content:center}.graph-plot .axis.levels{display:block;position:relative}.graph-plot .axis.levels span{white-space:nowrap;position:absolute;right:0;transform:translateY(-50%)}.state-lane{background:var(--bg);border:1px solid var(--line);border-radius:5px;flex:1;min-width:0;height:18px;position:relative;overflow:hidden}.state-lane .band{border-top:2px solid #0000;align-items:center;display:flex;position:absolute;top:0;bottom:0;overflow:hidden}.state-lane .band em{color:var(--ink);white-space:nowrap;padding:0 5px;font-size:10.5px;font-style:normal;font-weight:600}.state-lane .lane-cursor{border-left:1px dashed var(--warn);position:absolute;top:0;bottom:0}.graph-head.lane-head{grid-template-columns:82px 1fr}.graph-head .ch-state{min-width:0;font-family:var(--mono);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.graph-head .ch-state.held{color:var(--warn)}.state-legend{flex-wrap:wrap;align-items:center;gap:6px;margin-top:9px;display:flex}.state-legend button{border:1px solid var(--line);color:var(--muted);background:0 0;border-radius:999px;align-items:center;gap:5px;padding:2px 9px;font-size:11.5px;font-weight:600;display:inline-flex}.state-legend .states-toggle.on,.state-legend .state-key{color:var(--ink)}.state-legend .state-key i{border-radius:2px;width:9px;height:9px;display:inline-block}.state-legend .state-key .secs{font-family:var(--mono);color:var(--muted);font-size:10.5px;font-weight:400}.state-legend .state-key.muted{opacity:.5;text-decoration:line-through}.graph-plot .spark{cursor:crosshair}.graph-plot .spark .cursor{stroke:var(--warn);stroke-width:1px;stroke-dasharray:2 2}.graph-head .ch-value.held{color:var(--warn)}.spark-tip{z-index:4;pointer-events:none;white-space:nowrap;background:var(--bg);border:1px solid var(--line);border-radius:6px;flex-direction:column;gap:1px;padding:5px 8px;display:flex;position:absolute;bottom:calc(100% + 4px);transform:translate(-50%)}.spark-tip .t{font-family:var(--mono);color:var(--muted);font-size:10.5px}.spark-tip .v{color:var(--ink);font-size:11.5px}.graph-row:first-child .spark-tip,.state-lane-row+.graph-row .spark-tip{top:calc(100% + 4px);bottom:auto}.graphs-fullscreen{z-index:50;background:var(--bg);flex-direction:column;gap:8px;padding:12px 16px;display:flex;position:fixed;inset:0}.graphs-fullscreen .graphs-full{flex-direction:column;flex:1;min-height:0;display:flex}.graphs-fullscreen .graph-rows{flex:1;gap:8px;min-height:0}.graphs-fullscreen .graph-row{flex:1 1 0;grid-template-rows:auto 1fr;grid-template-columns:1fr;align-items:stretch;gap:2px;min-height:0}.graphs-fullscreen .graph-head{grid-template-columns:110px 30px 76px 1fr;align-items:baseline}.graphs-fullscreen .graph-head.lane-head{grid-template-columns:110px 1fr}.graphs-fullscreen .graph-head .ch-range{grid-column:auto;font-size:11px}.graphs-fullscreen .state-lane-row{flex:none}.graphs-fullscreen .state-lane{height:22px}.graphs-fullscreen .graph-plot{min-height:0}.graphs-fullscreen .spark{align-self:stretch;height:100%}.graphs-hint{color:var(--muted);font-size:12px}.graphs-hint strong{color:var(--ink);font-family:var(--mono)}.card h2.plain{text-transform:none;letter-spacing:0;font-size:12.5px}.downloads{margin-top:8px;font-size:12px}.downloads .muted{color:var(--muted)}.downloads button{padding:5px 10px;font-size:12px}button.warn{background:color-mix(in srgb, var(--warn) 22%, transparent);border-color:color-mix(in srgb, var(--warn) 45%, transparent);color:#fcd34d}button.danger{background:color-mix(in srgb, var(--err) 22%, transparent);border-color:color-mix(in srgb, var(--err) 50%, transparent);color:#fca5a5}button.danger:hover:not(:disabled){background:color-mix(in srgb, var(--err) 34%, transparent)}.row.verbs{margin-top:8px}.psu-controls{flex-wrap:wrap;gap:10px;margin-top:12px}.psu-controls label{color:var(--muted);align-items:center;gap:6px;font-size:12px;display:inline-flex}.psu-controls select{background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:6px;padding:5px 8px;font-size:12px}.psu-controls .psu-check{gap:5px}.psu-tiles{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.psu-tile{background:var(--card);border:1px solid var(--line);border-radius:10px;flex:120px;padding:8px 12px}.psu-tile .k{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:11px;display:block}.psu-tile .v{font-family:var(--mono);color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:15px}.psu-tile .v em{color:var(--muted);font-family:inherit;font-size:11px;font-style:normal}.psu-tile.big{flex:180px}.psu-tile.big .v{font-variant-numeric:normal;font-size:26px}.psu-chart{grid-template-rows:1fr 18px;grid-template-columns:54px 1fr;margin-top:10px;display:grid}.psu-axis-y{position:relative}.psu-axis-y span{font-family:var(--mono);color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:10.5px;position:absolute;right:8px;transform:translateY(50%)}.psu-plot{background:var(--bg);border:1px solid var(--line);cursor:crosshair;border-radius:6px;min-width:0;position:relative}.psu-svg{width:100%;height:100%;display:block}.psu-svg .psu-grid{stroke:var(--line);stroke-width:1px}.psu-svg .psu-line{fill:none;stroke:var(--accent);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.psu-svg .psu-area{fill:color-mix(in srgb, var(--accent) 10%, transparent)}.psu-svg .psu-gap{fill:color-mix(in srgb, var(--err) 18%, transparent)}.psu-svg .psu-cursor{stroke:var(--warn);stroke-width:1px;stroke-dasharray:2 2}.psu-axis-x{grid-column:2;position:relative}.psu-axis-x span{font-family:var(--mono);color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:10.5px;position:absolute;top:3px;transform:translate(-50%)}.psu-peak{color:var(--ink);background:color-mix(in srgb, var(--bg) 80%, transparent);white-space:nowrap;pointer-events:none;border-radius:4px;padding:1px 5px;font-size:10.5px;position:absolute;transform:translate(-50%,-140%)}.psu-empty{color:var(--muted);justify-content:center;align-items:center;font-size:12px;display:flex;position:absolute;inset:0}.psu-tip{z-index:4;pointer-events:none;white-space:nowrap;background:var(--bg);border:1px solid var(--line);border-radius:6px;flex-direction:column;gap:1px;padding:5px 8px;display:flex;position:absolute;bottom:calc(100% + 4px);transform:translate(-50%)}.psu-tip .t{font-family:var(--mono);color:var(--muted);font-size:10.5px}.psu-tip .v{color:var(--ink);font-size:11.5px}.psu-table{border-collapse:collapse;width:100%;margin-top:8px;font-size:12px}.psu-table th{text-align:left;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;padding:4px 8px 4px 0;font-size:11px;font-weight:600}.psu-table td{font-family:var(--mono);color:var(--ink);font-variant-numeric:tabular-nums;border-top:1px solid var(--line);padding:3px 8px 3px 0}.psu-table td.na{color:var(--muted)}.imu-analysis{flex-direction:column;gap:10px;display:flex}.imu-analysis-head{align-items:flex-start;gap:16px;display:flex}.imu-analysis-head h2{color:var(--ink);text-transform:none;letter-spacing:0;margin:0 0 3px;font-size:14px}.imu-analysis-head p{color:var(--muted);font:11px var(--mono);margin:0}.imu-analysis-head>button{margin-left:auto}.imu-kpis{font:11px var(--mono);flex-wrap:wrap;gap:7px;display:flex}.imu-kpis span{color:var(--muted);background:var(--bg);border:1px solid var(--line);border-radius:4px;padding:4px 7px}.imu-kpis b{color:var(--ink)}.imu-kpis .trip{color:#fca5a5;border-color:color-mix(in srgb, var(--err) 50%, var(--line))}.imu-kpis .quiet{color:#86efac;border-color:color-mix(in srgb, #22c55e 45%, var(--line))}.imu-readout{min-height:20px;color:var(--muted);font:11px var(--mono);flex-wrap:wrap;gap:14px;display:flex}.imu-readout b{color:var(--ink);font-weight:500}.imu-plot-row{grid-template-columns:104px minmax(0,1fr);align-items:stretch;gap:10px;display:grid}.imu-axis-label{color:var(--muted);font:10px var(--mono);flex-direction:column;justify-content:center;display:flex}.imu-axis-label b{color:var(--ink);font:600 11px/1.3 -apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.imu-mini-legend{color:var(--muted);align-items:center;gap:4px;margin-top:7px;display:flex}.imu-mini-legend i{border-radius:1px;width:10px;height:2px;display:inline-block}.imu-mini-legend i.x{background:#38bdf8}.imu-mini-legend i.y{background:#f59e0b}.imu-mini-legend i.z{background:#c084fc}.imu-mini-legend i.magnitude{background:#e2e8f0}.imu-mini-legend i.jerk{background:#fb7185}.imu-plot-row svg{background:var(--bg);border:1px solid var(--line);cursor:crosshair;border-radius:5px;width:100%;height:132px}.imu-line{fill:none;stroke-width:1.6px;vector-effect:non-scaling-stroke}.imu-line.x,.imu-legend .x,.imu-readout .x{stroke:#38bdf8;color:#38bdf8}.imu-line.y,.imu-legend .y,.imu-readout .y{stroke:#f59e0b;color:#f59e0b}.imu-line.z,.imu-legend .z,.imu-readout .z{stroke:#c084fc;color:#c084fc}.imu-line.magnitude,.imu-legend .magnitude{stroke:#e2e8f0;color:#e2e8f0}.imu-line.jerk,.imu-legend .jerk{stroke:#fb7185;color:#fb7185}.imu-zero{stroke:color-mix(in srgb, var(--muted) 45%, transparent);stroke-width:1px;vector-effect:non-scaling-stroke}.imu-grid{stroke:color-mix(in srgb, var(--muted) 18%, transparent);stroke-width:1px;stroke-dasharray:2 4;vector-effect:non-scaling-stroke}.imu-zone.safe{fill:#22c55e0d}.imu-zone.warn{fill:color-mix(in srgb, var(--warn) 7%, transparent)}.imu-zone.trip{fill:color-mix(in srgb, var(--err) 8%, transparent)}.imu-threshold{stroke:#fca5a5;stroke-width:1.2px;stroke-dasharray:6 4;vector-effect:non-scaling-stroke}.imu-gap{fill:color-mix(in srgb, var(--err) 45%, transparent)}.imu-trigger{stroke:var(--err);stroke-width:1.5px;vector-effect:non-scaling-stroke}.imu-cursor{stroke:var(--warn);stroke-width:1px;stroke-dasharray:3 3;vector-effect:non-scaling-stroke}.imu-legend{color:var(--muted);font:10px var(--mono);flex-wrap:wrap;gap:12px;display:flex}.imu-legend .gap{color:#fca5a5}.imu-time-axis{height:14px;color:var(--muted);font:9px var(--mono);margin:-6px 0 0 114px;position:relative}.imu-time-axis span{white-space:nowrap;position:absolute;transform:translate(-50%)}.imu-time-axis span:first-child{transform:none}.imu-time-axis span:last-child{transform:translate(-100%)}@media (max-width:720px){.imu-analysis-head{flex-wrap:wrap}.imu-kpis{order:3;width:100%}.imu-plot-row{grid-template-columns:1fr;gap:4px}.imu-axis-label{flex-direction:row;justify-content:flex-start;gap:8px}.imu-mini-legend{margin-top:0}.imu-plot-row svg{height:110px}.imu-time-axis{margin-left:0}}.kf{--kf-c1:#3987e5;--kf-c2:#d95926;--kf-c3:#199e70;--kf-c4:#c98500;--kf-c5:#d55181;--kf-c6:#008300;--kf-c7:#9085e9;--kf-c8:#e66767;--kf-critical:#d03b3b;--kf-muted:#6b7280;--kf-grid:#232931;--kf-axis:#3a414c;--kf-serif:ui-serif, "New York", Georgia, "Times New Roman", serif;font-variant-numeric:tabular-nums}main.kf{max-width:1152px}.kf-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;margin-bottom:16px;display:flex}.kf-title{font-family:var(--kf-serif);margin:0;font-size:28px;font-weight:400;line-height:1.2}.kf-tabs{border:1px solid var(--line);background:var(--card);border-radius:8px;gap:2px;padding:2px;display:inline-flex}.kf .kf-tab{font:inherit;color:var(--muted);background:0 0;border:0;border-radius:6px;min-height:32px;padding:4px 14px;font-weight:400}.kf .kf-tab[aria-selected=true]{background:var(--bg);color:var(--ink);font-weight:500}.kf-bar{flex-wrap:wrap;align-items:center;gap:8px 16px;margin-bottom:8px;display:flex}.kf-controls{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.kf .kf-btn,.kf-day,.kf-select{font:inherit;color:var(--ink);background-color:var(--card);border:1px solid var(--line);border-radius:8px;min-height:36px;padding:4px 10px;font-weight:400}.kf .kf-btn{min-width:36px}.kf .kf-btn.small{min-height:32px;font-size:12px}.kf-select.small{max-width:16rem;min-height:32px;font-size:12px}.kf-weekday{color:var(--muted);font-size:12px}.kf-takeaway{max-width:62ch;margin:0;line-height:1.5}.kf-section{margin:32px 0 8px;font-size:16px;font-weight:500}.kf-tiles{grid-template-columns:repeat(auto-fit,minmax(min(100%,9.5rem),1fr));gap:16px;display:grid}.kf-tile,.kf-card{background:var(--card);border:1px solid var(--line);border-radius:12px;min-width:0;padding:18px}.kf-tile{align-content:start;gap:4px;display:grid}.kf-tile-label,.kf-tile-sub{color:var(--muted);font-size:12px}.kf-tile-value{font-family:var(--kf-serif);font-size:28px;font-weight:400;line-height:1.15}.kf-good{color:#4ade80}.kf-bad{color:#f87171}.kf-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,22rem),1fr));gap:16px;margin-top:16px;display:grid}.kf-card h3{margin:0;font-size:16px;font-weight:500}.kf-card h4{margin:16px 0 0;font-size:14px;font-weight:500}.kf-wide{margin-top:16px}.kf-note{color:var(--muted);margin:4px 0 16px;font-size:12px}.kf-empty{color:var(--muted);margin:0 0 8px;font-size:12px}.kf-legend{color:var(--muted);flex-wrap:wrap;gap:4px 16px;margin-bottom:8px;font-size:12px;display:flex}.kf-legend span{align-items:center;gap:4px;display:inline-flex}.kf-sw{border-radius:2px;flex:none;width:10px;height:10px;display:inline-block}.kf-dot{background:var(--kf-muted);border-radius:50%;width:6px;height:6px;display:inline-block}.kf-chart{min-width:0;position:relative}.kf-chart svg{display:block;overflow:visible}.kf-tick{fill:var(--muted);font-size:12px}.kf-tick-strong{fill:var(--ink);font-weight:600}.kf-tip{z-index:2;pointer-events:none;white-space:nowrap;background:#20252d;border:1px solid #333a45;border-radius:8px;padding:4px 8px;font-size:12px;position:absolute;box-shadow:0 6px 20px #00000073}.kf-tip.wide{white-space:normal;width:max-content;max-width:min(18rem,90%)}.kf-tip-head{color:var(--muted)}.kf-tip-row{align-items:center;gap:4px;display:flex}.kf-tip-row b{margin-left:auto;padding-left:8px}.kf-causes{gap:8px;display:grid}.kf-cause{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 8px;font-size:12px;display:grid}.kf-cause-name{grid-column:1/-1}.kf-cause-track{height:10px}.kf-cause-fill{border-radius:4px;min-width:2px;height:100%}.kf-cause-num{color:var(--muted);white-space:nowrap}.kf-scroll{overflow-x:auto}.kf-table{border-collapse:collapse;width:100%;font-size:12px}.kf-table th{text-align:left;color:var(--muted);border-bottom:1px solid var(--line);white-space:nowrap;padding:4px 8px;font-weight:500}.kf-table td{border-bottom:1px solid var(--line);vertical-align:top;padding:4px 8px}.kf-table tbody tr:last-child td{border-bottom:0}.kf-table .n{text-align:right;white-space:nowrap}.kf-table .wrap{min-width:12rem}.kf-table .nowrap{white-space:nowrap}.kf-more{margin-top:16px}.kf-more summary,.kf-notes summary{cursor:pointer;color:var(--muted);font-size:12px}.kf-more .kf-scroll{margin-top:8px}.kf-pie-wrap{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.kf-pie-wrap svg{flex:none;max-width:100%;height:auto;display:block}.kf-ll{flex:12rem;gap:4px;min-width:0;margin:0;padding:0;font-size:12px;list-style:none;display:grid}.kf-ll li{grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:4px;display:grid}.kf-ll .kf-sw{margin-top:.25em}.kf-ll .sub{color:var(--muted);padding-left:16px}.kf-ll-step{color:var(--muted)}.kf-ll-n{white-space:nowrap}.kf-chart+.kf-ll{margin-top:8px}.kf-dual{flex-wrap:wrap;justify-content:space-around;gap:16px;display:flex}.kf-dual-item{justify-items:center;gap:4px;display:grid}.kf-dual-title{color:var(--muted);font-size:12px}.kf-dual+.kf-ll{margin-top:16px}.kf-center-num{font-family:var(--kf-serif);fill:var(--ink)}.kf-center-lab{fill:var(--muted);font-size:12px}.kf-st-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr));gap:16px;display:grid}.kf-st-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:8px 0 16px;display:grid}.kf-st-stat{gap:2px;min-width:0;display:grid}.kf-st-num{font-family:var(--kf-serif);font-size:20px;line-height:1.2}.kf-st-lab{color:var(--muted);font-size:12px;line-height:1.25}.kf-st-muted .kf-st-num{color:var(--muted)}.kf-st-group{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-top:8px;font-size:12px;font-weight:500}.kf-st-group+.kf-st-stats{margin-top:4px}.kf-st-prev{color:var(--muted);margin:0 0 8px;font-size:12px}.kf-st-prev b{color:var(--ink);font-weight:500}.kf-act-title{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;margin:32px 0 8px;display:flex}.kf-act-title .kf-section{margin:0}.kf-act-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px 16px;display:flex}.kf-check{color:var(--muted);cursor:pointer;white-space:nowrap;align-items:center;gap:4px;font-size:12px;display:inline-flex}.kf-sites{grid-template-columns:repeat(auto-fit,minmax(min(100%,26rem),1fr));align-items:start;gap:16px;display:grid}.kf-site{border:1px solid var(--line);border-radius:12px;gap:4px;min-width:0;padding:14px;display:grid}.kf-site-head{flex-wrap:wrap;align-items:baseline;gap:2px 8px;margin-bottom:4px;display:flex}.kf-site-head h4{font-family:var(--kf-serif);margin:0;font-size:20px;font-weight:400}.kf-site-sub{color:var(--muted);flex-basis:100%;font-size:12px}.kf-lane{cursor:pointer;border:1px solid #0000;border-radius:8px;gap:2px;min-width:0;margin:0 -8px;padding:4px 8px;display:grid}.kf-lane:hover{background:var(--bg)}.kf-lane:focus-visible{outline:2px solid var(--line);outline-offset:1px}.kf-lane.on{border-color:var(--line);background:var(--bg)}.kf-lane.total{border-bottom:1px solid var(--line);border-radius:8px 8px 0 0;margin-bottom:4px;padding-bottom:8px}.kf-lane-head{flex-wrap:wrap;align-items:baseline;gap:2px 8px;font-size:12px;display:flex}.kf-lane-head b{font-size:14px;font-weight:500}.kf-lane-acts,.kf-lane-status{color:var(--muted)}.kf-lane-stats{white-space:nowrap;margin-left:auto}.kf-lane-status{align-items:center;gap:4px;display:inline-flex}.kf-lane-status.live .kf-dot{background:var(--ok)}.kf-log-box{max-height:30rem;overflow:auto}.kf-log th{z-index:1;background:var(--card);position:sticky;top:0}.kf-log td:first-child,.kf-log .unit{white-space:nowrap}.kf-res{white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.kf-res.pass .kf-dot{background:var(--ok)}.kf-res.fail .kf-dot{background:var(--err)}.kf-res.aborted .kf-dot{background:var(--warn)}.kf-mini-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));gap:16px;display:grid}.kf-mini h3{font-size:14px}.kf-notes{color:var(--muted);margin-top:32px;font-size:12px}.kf-notes dl{grid-template-columns:minmax(7rem,max-content) minmax(0,1fr);gap:4px 16px;margin:8px 0;display:grid}.kf-notes dt{color:var(--ink)}.kf-notes dd{margin:0}.kf-loading{opacity:.5;transition:opacity .3s}@media (max-width:30rem){.kf-notes dl{grid-template-columns:minmax(0,1fr)}.kf-notes dd{margin-bottom:4px}.kf-st-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
