:root{--ink:#111;--slate:#37352f;--steel:#6b6862;--mist:#8a867e;--line:#e8e6e1;--line-2:#f1efeb;--surface:#fff;--canvas:#f7f6f3;--accent:#111;--accent-lit:#333;--accent-wash:#f1efeb;--accent-line:#d8d5cf;--accent-2:#a34a32;--accent-2-wash:#fbf3f0;--accent-2-line:#e6cfc7;--radius-badge:9999px;--pos-bg:#edf3ec;--pos-line:#cfe0cd;--pos-ink:#346538;--neg-bg:#fbecec;--neg-line:#e7cfcf;--neg-ink:#8f2f2d;--warn-bg:#fbf6e9;--warn-line:#e6dcc0;--warn-ink:#7a5c14;--display:var(--font-archivo), system-ui, sans-serif;--body:var(--font-plex-sans), system-ui, sans-serif;--mono:var(--font-plex-mono), ui-monospace, monospace}*,:before,:after{box-sizing:border-box;border-radius:0;margin:0;padding:0}html{-webkit-font-smoothing:antialiased}body{background:var(--canvas);color:var(--slate);font-family:var(--body);font-size:15px;line-height:1.55}h1,h2,h3,h4{color:var(--ink);text-wrap:balance}p{text-wrap:pretty}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.num{font-variant-numeric:tabular-nums}.mono{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;font-size:10.5px}.eyebrow{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--accent-2);background:var(--accent-2-wash);border:1px solid var(--accent-2-line);border-radius:var(--radius-badge);padding:5px 13px 4px;font-size:10px;line-height:1.2;display:inline-block}.btn{font-family:var(--body);background:var(--accent);color:#fff;border:1px solid var(--accent);justify-content:center;align-items:center;gap:8px;padding:11px 20px;font-size:14px;font-weight:600;transition:background .2s,border-color .2s,transform .12s;display:inline-flex}.btn:hover{background:var(--accent-lit);border-color:var(--accent-lit)}.btn:active:not(:disabled){transform:scale(.98)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-line{background:var(--surface);color:var(--ink);border-color:var(--line)}.btn-line:hover{background:var(--canvas);border-color:var(--steel)}.btn-lg{padding:14px 28px;font-size:15.5px}.field{margin-bottom:16px}.field label{font-family:var(--mono);letter-spacing:.13em;text-transform:uppercase;color:var(--steel);margin-bottom:7px;font-size:10.5px;display:block}.field input,.field select,.field textarea{background:var(--surface);border:1px solid var(--line);width:100%;color:var(--ink);padding:10px 12px;font-size:15px}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--accent);outline-offset:0;border-color:var(--accent)}.form-err{background:var(--neg-bg);border:1px solid var(--neg-line);color:var(--neg-ink);margin-bottom:16px;padding:10px 12px;font-size:14px}.form-ok{background:var(--pos-bg);border:1px solid var(--pos-line);color:var(--pos-ink);margin-bottom:16px;padding:10px 12px;font-size:14px}.chip{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;border-radius:var(--radius-badge);border:1px solid var(--line);background:var(--surface);color:var(--steel);white-space:nowrap;align-items:center;gap:6px;padding:3px 10px 2px;font-size:10px;display:inline-flex}.chip.pos{background:var(--pos-bg);border-color:var(--pos-line);color:var(--pos-ink)}.chip.neg{background:var(--neg-bg);border-color:var(--neg-line);color:var(--neg-ink)}.chip.warn{background:var(--warn-bg);border-color:var(--warn-line);color:var(--warn-ink)}.chip.ink{background:var(--ink);border-color:var(--ink);color:#fff}
.bar{z-index:10;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);background:#f7f6f3db;align-items:center;gap:14px;padding:14px 28px;display:flex;position:sticky;top:0}.brand{font-family:var(--display);letter-spacing:.02em;text-transform:uppercase;color:var(--ink);align-items:center;gap:10px;font-size:15px;font-weight:800;display:inline-flex}.brand .sub{font-family:var(--mono);letter-spacing:.16em;color:var(--steel);border-left:1px solid var(--line);padding-left:10px;font-size:10.5px;font-weight:400}.bar .sp{flex:1}.who{color:var(--steel);font-size:13.5px}.pill{border-radius:var(--radius-badge);border:1px solid var(--line);background:var(--surface);color:var(--ink);padding:7px 14px;font-size:13px;font-weight:500}.pill:hover{background:var(--canvas)}.page{max-width:1040px;margin:0 auto;padding:48px 28px 96px}.page h1{font-family:var(--display);letter-spacing:-.03em;margin:14px 0 10px;font-size:clamp(28px,3.4vw,40px);font-weight:800;line-height:1.08}.page .lede{color:var(--steel);max-width:58ch;font-size:16.5px}.section{margin-top:44px}.section h2{font-family:var(--display);letter-spacing:-.015em;margin-bottom:6px;font-size:20px;font-weight:800}.section .hint{color:var(--steel);margin-bottom:16px;font-size:14px}.grid{background:var(--line);border:1px solid var(--line);gap:1px;display:grid}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.cell{background:var(--surface);padding:22px 22px 24px}.cell h3{font-family:var(--display);letter-spacing:-.01em;margin-bottom:6px;font-size:18px;font-weight:800}.cell p{color:var(--steel);font-size:14px}.cell .row{flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;display:flex}.cell.active{box-shadow:inset 0 3px 0 var(--ink)}.cell.off{background:var(--canvas)}.cell.off h3{color:var(--steel)}a.cell:hover{background:var(--canvas)}table.t{border-collapse:collapse;background:var(--surface);border:1px solid var(--line);width:100%;font-size:14px}.t th{text-align:left;font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--steel);border-bottom:1px solid var(--line);background:var(--canvas);padding:11px 14px;font-size:10px;font-weight:400}.t td{border-bottom:1px solid var(--line-2);vertical-align:middle;padding:12px 14px}.t td.muted{color:var(--steel)}.t select{border:1px solid var(--line);background:var(--surface);padding:6px 8px;font-size:13.5px}.t .actions{justify-content:flex-end;gap:8px;display:flex}.link-btn{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink);border-bottom:1px solid var(--accent-line);padding-bottom:2px;font-size:10.5px}.link-btn:hover{border-bottom-color:var(--ink)}.link-btn.danger{color:var(--neg-ink);border-bottom-color:var(--neg-line)}.inline{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.inline .field{flex:1;min-width:200px;margin:0}.inline .field.narrow{flex:0 0 180px;min-width:0}.copy{font-family:var(--mono);background:var(--canvas);border:1px solid var(--line);word-break:break-all;align-items:center;gap:8px;margin-top:10px;padding:8px 10px;font-size:12px;display:flex}.auth{place-items:center;min-height:100svh;padding:40px 20px;display:grid}.auth-card{background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--ink);width:min(420px,100%);padding:34px 32px 30px}.auth-card h1{font-family:var(--display);letter-spacing:-.025em;margin:18px 0 6px;font-size:26px;font-weight:800}.auth-card .lede{color:var(--steel);margin-bottom:24px;font-size:14.5px}.auth-card .alt{color:var(--steel);margin-top:18px;font-size:13.5px}.auth-card .alt a{color:var(--ink);border-bottom:1px solid var(--accent-line)}.demo{border-top:1px solid var(--line);color:var(--steel);margin-top:18px;padding-top:16px;font-size:12.5px}.demo code{font-family:var(--mono);color:var(--ink);font-size:12px}@media (max-width:760px){.grid-2,.grid-3{grid-template-columns:1fr}.t .hide-sm{display:none}.bar{padding:12px 16px}.page{padding:32px 16px 72px}}.auth-card.wide{width:min(560px,100%)}.auth-card code,.hint code,.lede code{font-family:var(--mono);background:var(--canvas);border:1px solid var(--line);word-break:break-all;padding:1px 5px;font-size:.86em}.notice{background:var(--warn-bg);border:1px solid var(--warn-line);color:var(--warn-ink);margin:14px 0;padding:12px 14px;font-size:14px;line-height:1.55}.checks-field{border:0;min-width:0;margin:0 0 16px;padding:0}.checks-field legend{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--steel);margin-bottom:8px;font-size:10.5px}.checks{background:var(--line);border:1px solid var(--line);gap:1px;display:grid}.checks.row{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.checks.grid-cols{grid-template-columns:repeat(2,1fr)}.checks label{background:var(--surface);cursor:pointer;align-items:flex-start;gap:10px;padding:10px 12px;font-size:14px;display:flex}.checks label.off{background:var(--canvas);color:var(--steel);cursor:default}.checks input{accent-color:var(--ink);margin-top:3px}.scope-name{font-family:var(--mono);color:var(--steel);margin-top:2px;font-size:11px;display:block}.hint-sm,.muted-sm{color:var(--steel);font-size:12.5px}.hint-sm{margin-top:8px}.mono-sm{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:12px}.decide{flex-wrap:wrap;gap:10px;margin-top:6px;display:flex}.switch{background:var(--surface);border:1px solid var(--line);padding:18px 20px}.switch.on{box-shadow:inset 3px 0 0 var(--ink)}.switch>div:first-child{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.confirm{align-items:flex-start;gap:10px;margin-bottom:12px;font-size:14px;display:flex}.confirm input{accent-color:var(--ink);margin-top:3px}.secret{border:1px solid var(--ink);background:var(--surface);margin-top:14px;padding:12px 14px}.secret-label{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--steel);margin-bottom:6px;font-size:10px;display:block}.secret code{font-family:var(--mono);word-break:break-all;-webkit-user-select:all;user-select:all;font-size:13px}.token-secret{border:1px solid var(--line);background:var(--surface);grid-template-columns:1fr auto;align-items:center;gap:10px 12px;padding:12px 14px;display:grid}.token-value{font-family:var(--mono);letter-spacing:.02em;word-break:break-all;-webkit-user-select:all;user-select:all;color:var(--ink);font-size:13px}.token-actions{gap:8px;display:flex}.token-secret .form-ok,.token-secret .form-err{grid-column:1/-1;margin:0}@media (max-width:560px){.token-secret{grid-template-columns:1fr}}.make{border:1px solid var(--line);background:var(--surface);margin-top:18px;padding:14px 18px 18px}.make summary{cursor:pointer;font-family:var(--display);font-size:15px;font-weight:600}.make[open] summary{margin-bottom:14px}.table-wrap{overflow-x:auto}.empty{color:var(--steel);background:var(--surface);border:1px dashed var(--accent-line);padding:18px;font-size:14px}.sec-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.row-gap{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:4px;display:flex}.filters{background:var(--surface);border:1px solid var(--line);flex-wrap:wrap;align-items:flex-end;gap:10px;margin-top:28px;padding:14px 16px;display:flex}.filters .field{flex:1;min-width:180px;margin:0}.filters .field.narrow{flex:0 0 160px;min-width:0}.t .num,.t th.num{text-align:right;font-variant-numeric:tabular-nums}.t .nowrap{white-space:nowrap}.t .neg-ink{color:var(--neg-ink)}.t.log td{vertical-align:top}.xa-figure{background:var(--surface);border:1px solid var(--line);padding:14px 14px 10px}.xa-chart{width:100%;height:auto;display:block}.xa-chart.strip{width:140px}.xa-chart text{font-family:var(--mono);fill:var(--steel);letter-spacing:.04em;font-size:9.5px}.xa-chart .axis{stroke:var(--line);stroke-width:1px}.xa-chart .grid{stroke:var(--line-2);stroke-width:1px}.xa-chart .ok{fill:var(--ink)}.xa-chart .bad{fill:var(--neg-ink)}.xa-legend{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--steel);flex-wrap:wrap;gap:16px;margin-top:8px;font-size:10.5px;display:flex}.xa-legend i{vertical-align:-1px;width:10px;height:10px;margin-right:6px;display:inline-block}.xa-legend i.ok{background:var(--ink)}.xa-legend i.bad{background:var(--neg-ink)}@media (max-width:760px){.checks.grid-cols{grid-template-columns:1fr}.filters .field.narrow{flex:140px}}
@font-face{font-family:archivo;src:url(../media/archivo_600-s.p.2mg3qv4i7byh7.woff2)format("woff2");font-display:swap;font-weight:600}@font-face{font-family:archivo;src:url(../media/archivo_800-s.p.0e7nqiynyvse4.woff2)format("woff2");font-display:swap;font-weight:800}@font-face{font-family:archivo Fallback;src:local(Arial);ascent-override:85.41%;descent-override:20.43%;line-gap-override:0.0%;size-adjust:102.8%}.archivo_f0452c00-module__6smPoW__className{font-family:archivo,archivo Fallback}.archivo_f0452c00-module__6smPoW__variable{--font-archivo:"archivo", "archivo Fallback"}
@font-face{font-family:plexSans;src:url(../media/plex_sans_400-s.p.2ccnl8wncv_qb.woff2)format("woff2");font-display:swap;font-weight:400}@font-face{font-family:plexSans;src:url(../media/plex_sans_500-s.p.1oxzf8ubu-43r.woff2)format("woff2");font-display:swap;font-weight:500}@font-face{font-family:plexSans;src:url(../media/plex_sans_600-s.p.11xii5tfisulg.woff2)format("woff2");font-display:swap;font-weight:600}@font-face{font-family:plexSans Fallback;src:local(Arial);ascent-override:101.35%;descent-override:27.19%;line-gap-override:0.0%;size-adjust:101.13%}.plexsans_83fdc0f7-module__vjCKRq__className{font-family:plexSans,plexSans Fallback}.plexsans_83fdc0f7-module__vjCKRq__variable{--font-plex-sans:"plexSans", "plexSans Fallback"}
@font-face{font-family:plexMono;src:url(../media/plex_mono_400-s.p.40sczeszzbjw1.woff2)format("woff2");font-display:swap;font-weight:400}@font-face{font-family:plexMono;src:url(../media/plex_mono_500-s.p.0oace-s_gkfks.woff2)format("woff2");font-display:swap;font-weight:500}@font-face{font-family:plexMono Fallback;src:local(Arial);ascent-override:77.95%;descent-override:20.91%;line-gap-override:0.0%;size-adjust:131.49%}.plexmono_4f365db9-module__chh9XG__className{font-family:plexMono,plexMono Fallback}.plexmono_4f365db9-module__chh9XG__variable{--font-plex-mono:"plexMono", "plexMono Fallback"}
