@font-face{font-family:Atkinson Hyperlegible Next;font-style:normal;font-weight:200 800;font-display:swap;src:url(/fonts/atkinson-next-latin.woff2) format("woff2");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:Atkinson Hyperlegible Next;font-style:normal;font-weight:200 800;font-display:swap;src:url(/fonts/atkinson-next-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}:root{color-scheme:light;--brand: #1f3a5f;--brand-deep: color-mix(in srgb, var(--brand) 80%, #000);--brand-soft: color-mix(in srgb, var(--brand) 9%, #fff);--paper: #f6f8f7;--tint: #eaefec;--card: #fff;--ink: #15201d;--ink-2: #43514e;--ink-3: #56655f;--line: #cdd6d2;--line-2: #e1e7e4;--stage: #151e1c;--stage-2: #1f2a28;--stage-ink: #e3ebe8;--stage-ink-2: #a5b4af;--alert: #ad3127;--alert-soft: #f8e9e7;--alert-stage: #f08a7f;--ground: var(--paper);--panel: var(--card);--panel-2: var(--tint);--field: #fff;--accent: var(--brand);--accent-hover: var(--brand-deep);--accent-ink: #fff;--accent-soft: var(--brand-soft);--critical: var(--alert);--critical-soft: var(--alert-soft);--warning: var(--alert);--warning-soft: var(--alert-soft);--good: var(--ink-2);--good-soft: var(--tint);--zone-1: #f4f7f6;--zone-2: #f4f7f6;--zone-3: #f4f7f6;--zone-4: #f4f7f6;--font: "Atkinson Hyperlegible Next", "Atkinson Hyperlegible", system-ui, sans-serif;--t-xs: .8rem;--t-sm: .9rem;--t-md: 1rem;--t-lg: 1.2rem;--t-xl: 1.75rem;--t-2xl: 2.25rem;--r-sm: 6px;--r-md: 8px;--r-lg: 12px;--gutter: clamp(1rem, 4vw, 2.5rem)}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:var(--t-md);line-height:1.5;font-feature-settings:"kern";-webkit-font-smoothing:antialiased}img,video,canvas,svg{display:block;max-width:100%}button,input,select,textarea{font:inherit;color:inherit}h1,h2,h3,h4,p{margin:0}a{color:var(--brand);text-decoration-thickness:1px;text-underline-offset:.2em}a:hover{color:var(--brand-deep)}.num,time{font-variant-numeric:tabular-nums}:focus{outline:none}:focus-visible{outline:3px solid var(--brand);outline-offset:2px;border-radius:4px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);border:0;white-space:nowrap}.skip{position:absolute;left:12px;top:-60px;z-index:50;background:var(--brand);color:#fff;padding:8px 14px;border-radius:var(--r-sm);text-decoration:none;font-weight:700}.skip:focus{top:12px;color:#fff}.h2{font-size:var(--t-lg);line-height:1.3;font-weight:700}.h3{font-size:var(--t-md);line-height:1.35;font-weight:700}.lede{color:var(--ink-2);max-width:60ch;margin-top:6px}.muted{color:var(--ink-3)}.small{font-size:var(--t-sm)}.xsmall{font-size:var(--t-xs)}.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.stack{display:flex;flex-direction:column;gap:12px}.spread{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.grow{flex:1;min-width:0}.list{list-style:none;margin:0;padding:0}.divided>*+*{border-top:1px solid var(--line-2)}.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:20px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:8px 16px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--card);color:var(--ink);font-weight:700;cursor:pointer;text-decoration:none;white-space:nowrap}.btn:hover{border-color:var(--ink-3);color:var(--ink)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--brand);border-color:var(--brand);color:#fff}.btn-primary:hover{background:var(--brand-deep);border-color:var(--brand-deep);color:#fff}.btn-quiet{border-color:transparent;background:transparent;color:var(--brand);padding-inline:10px}.btn-quiet:hover{background:var(--brand-soft);border-color:transparent;color:var(--brand)}.btn-danger{color:var(--alert)}.btn-danger:hover{color:var(--alert);border-color:var(--alert)}.btn-sm{min-height:36px;padding:4px 12px;font-size:var(--t-sm)}.btn[aria-pressed=true]{background:var(--brand-soft);border-color:var(--brand)}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field>span:first-child,.label{font-weight:700;font-size:var(--t-sm)}.hint{color:var(--ink-3);font-size:var(--t-sm)}.input,.select,.textarea{width:100%;min-height:44px;padding:9px 12px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--field)}.textarea{resize:vertical;min-height:84px;line-height:1.45}.input:focus-visible,.select:focus-visible,.textarea:focus-visible{outline-offset:0;border-color:var(--brand)}.check{display:flex;align-items:flex-start;gap:10px;cursor:pointer}.check input{width:20px;height:20px;margin:2px 0 0;accent-color:var(--brand);flex:none}input[type=file]{max-width:100%;font-size:var(--t-sm);color:var(--ink-2)}input[type=file]::file-selector-button{margin-right:12px;min-height:40px;padding:6px 14px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--card);color:var(--ink);font:inherit;font-weight:700;cursor:pointer}.segmented{display:inline-flex;flex-wrap:wrap;gap:4px;padding:4px;background:var(--tint);border-radius:var(--r-md)}.segmented button{min-height:36px;border:0;background:transparent;padding:6px 14px;border-radius:var(--r-sm);cursor:pointer;color:var(--ink-2);font-weight:700}.segmented button[aria-checked=true],.segmented button[aria-pressed=true],.segmented button[aria-selected=true]{background:var(--card);color:var(--ink);box-shadow:0 0 0 1px var(--line)}.switch{position:relative;width:44px;height:26px;flex:none}.switch input{position:absolute;inset:0;width:100%;height:100%;opacity:0;margin:0;cursor:pointer}.switch span{position:absolute;inset:0;border-radius:99px;background:var(--line);transition:background .15s;pointer-events:none}.switch span:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .15s}.switch input:checked+span{background:var(--brand)}.switch input:checked+span:after{transform:translate(18px)}.switch input:focus-visible+span{outline:3px solid var(--brand);outline-offset:2px}.notice{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:var(--r-md);background:var(--tint);color:var(--ink);font-size:var(--t-sm)}.notice-error{background:var(--alert-soft);box-shadow:inset 3px 0 0 var(--alert)}.notice-warn{background:var(--alert-soft)}.notice-good{background:var(--tint)}.empty{padding:28px 20px;text-align:center;color:var(--ink-2);border:1px dashed var(--line);border-radius:var(--r-lg)}.empty>*+*{margin-top:8px}.empty .btn{margin-top:14px}.sev{display:inline-block;flex:none;padding:1px 10px;border:1.5px solid var(--line);border-radius:999px;color:var(--ink-2);font-size:var(--t-xs);font-weight:700;line-height:1.5;white-space:nowrap}.sev-critical{border-color:var(--alert);background:var(--alert);color:#fff}.sev-warning{border-color:var(--alert);color:var(--alert)}.tag{display:inline-flex;align-items:center;gap:6px;padding:1px 10px;border-radius:99px;background:var(--tint);color:var(--ink-2);font-size:var(--t-xs);font-weight:700;line-height:1.6;white-space:nowrap}.stage{position:relative;background:var(--stage);color:var(--stage-ink);border-radius:var(--r-lg);overflow:hidden;aspect-ratio:4 / 3;display:grid;place-items:center}.stage canvas,.stage>img,.stage video{width:100%;height:100%;object-fit:contain}.stage.live{width:100%;max-height:72vh}.stage .live-canvas,.stage .stage-video{position:absolute;inset:0;width:100%;height:100%}.stage .stage-video{object-fit:contain}.stage-msg{position:absolute;inset:0;display:grid;place-items:center;padding:24px;text-align:center;color:var(--stage-ink-2)}.stage-msg p{max-width:36ch}.live-dot{width:9px;height:9px;border-radius:50%;background:var(--ink-3);display:inline-block;flex:none}.live-dot.off{background:transparent;box-shadow:inset 0 0 0 1.5px var(--ink-3)}.live-dot.warn,.live-dot.bad{background:var(--alert)}.live-dot.down{background:transparent;box-shadow:inset 0 0 0 2px var(--alert)}.thumb{background:var(--stage);border-radius:var(--r-sm);overflow:hidden;flex:none;display:grid;place-items:center;color:var(--stage-ink-2);text-align:center}.thumb img{width:100%;height:100%;object-fit:cover}.thumb-fill{width:100%;height:100%;border-radius:0}.spinner{width:16px;height:16px;border-radius:50%;border:2px solid var(--line);border-top-color:var(--brand);animation:spin .9s linear infinite;flex:none}@keyframes spin{to{transform:rotate(360deg)}}dialog.sheet{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--card);color:var(--ink);padding:24px;width:min(480px,calc(100vw - 32px))}dialog.sheet::backdrop{background:#0a141273}.table{width:100%;border-collapse:collapse;font-size:var(--t-sm)}.table th{text-align:left;font-weight:700;color:var(--ink-3);padding:8px 12px 8px 0;border-bottom:1px solid var(--line)}.table thead th{white-space:nowrap}.table td,.table tbody th{padding:12px 12px 12px 0;border-bottom:1px solid var(--line-2);vertical-align:top;text-align:left}.table tbody th{color:var(--ink)}.table tbody tr:last-child td,.table tbody tr:last-child th{border-bottom:0}.table td.r,.table th.r{text-align:right;font-variant-numeric:tabular-nums}.table-wrap{overflow-x:auto}details>summary{cursor:pointer;color:var(--brand);font-weight:700;width:fit-content}details>summary::marker{color:var(--ink-3)}.brand{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none}.brand:hover{color:var(--ink)}.brand svg{width:1.75rem;height:1.75rem;color:var(--brand)}.brand-name{font-size:1.375rem;font-weight:700;letter-spacing:-.01em}.login{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,420px);gap:64px;align-items:center;max-width:1080px;margin:0 auto;padding:48px var(--gutter)}.login-copy{display:flex;flex-direction:column;gap:22px}.login-title{font-size:clamp(2rem,4.2vw,3rem);line-height:1.08;font-weight:700;letter-spacing:-.02em;max-width:16ch}.login-form{padding:28px;gap:16px}@media(max-width:820px){.login{grid-template-columns:minmax(0,1fr);gap:32px;align-content:start;padding-top:32px}}
