:root{--bg:#f6f4ef;--surface:#fff;--surface-2:#efece4;--ink:#1d2733;--ink-soft:#55616f;--line:#ded9cd;--brand:#1f5f5b;--brand-ink:#fff;--brand-soft:#dcebe8;--accent:#c7762b;--ok:#1d7a46;--bad:#b3261e;--bad-soft:#fbe9e7;--ok-soft:#e3f3ea;--radius:14px;--shadow:0 1px 2px #1d27330f, 0 6px 20px #1d27330f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#12181d;--surface:#1a2228;--surface-2:#232d34;--ink:#e9eef2;--ink-soft:#9fadb8;--line:#2f3b44;--brand:#5fb8b0;--brand-ink:#0d1a19;--brand-soft:#1d3633;--accent:#e0983f;--ok:#6fd09a;--bad:#ff8a80;--bad-soft:#3a1f1d;--ok-soft:#173023;--shadow:none}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);margin:0;font:16px/1.5 system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}h1,h2,h3{margin:0 0 .5rem;line-height:1.2}h1{font-size:1.75rem}h2{font-size:1.25rem}h3{font-size:1.05rem}p{margin:0 0 .75rem}a{color:var(--brand)}.soft{color:var(--ink-soft)}.small{font-size:.875rem}.wrap{width:min(1080px,100% - 32px);margin-inline:auto}.narrow{width:min(460px,100% - 32px);margin:8vh auto 4rem}.topbar{background:var(--surface);border-bottom:1px solid var(--line)}.topbar .wrap{justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.brand{letter-spacing:-.01em;color:var(--ink);align-items:center;gap:10px;font-weight:700;text-decoration:none;display:inline-flex}.brand svg{width:28px;height:28px;color:var(--brand)}.page{padding:28px 0 64px}.section{margin-top:32px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.grid{gap:16px;display:grid}.grid.kids{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.grid.two{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.stack>*+*{margin-top:12px}label{margin-bottom:4px;font-size:.9rem;font-weight:600;display:block}input,select{width:100%;font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px 12px}input:focus-visible,select:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid color-mix(in srgb, var(--brand) 55%, transparent);outline-offset:2px}.field+.field{margin-top:12px}.hint{color:var(--ink-soft);margin-top:4px;font-size:.8rem}button,.btn{font:inherit;cursor:pointer;color:var(--brand-ink);background:var(--brand);border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-weight:600;text-decoration:none;display:inline-flex}button:hover{filter:brightness(1.08)}button:disabled{opacity:.6;cursor:progress}button.ghost{color:var(--ink);border-color:var(--line);background:0 0}button.small{padding:6px 10px;font-size:.85rem}button.full{width:100%}.badge{background:var(--brand-soft);color:var(--brand);border-radius:999px;padding:2px 10px;font-size:.78rem;font-weight:600;display:inline-block}.badge.warn{background:color-mix(in srgb, var(--accent) 20%, transparent);color:var(--accent)}.badge.off{background:var(--surface-2);color:var(--ink-soft)}.alert{border-radius:10px;padding:10px 12px;font-size:.92rem}.alert.error{background:var(--bad-soft);color:var(--bad)}.alert.ok{background:var(--ok-soft);color:var(--ok)}.alert.info{background:var(--brand-soft);color:var(--brand)}.codebox{border:2px dashed var(--brand);text-align:center;background:var(--brand-soft);border-radius:12px;padding:14px}.codebox .code{letter-spacing:.12em;color:var(--ink);font:700 2rem/1.1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.stat{letter-spacing:-.02em;font-size:1.6rem;font-weight:700}.stat small{color:var(--ink-soft);letter-spacing:0;font-size:.8rem;font-weight:500}.meta{flex-wrap:wrap;gap:20px;display:flex}.devices{margin:0;padding:0;list-style:none}.devices li{border-top:1px solid var(--line);justify-content:space-between;gap:8px;padding:8px 0;font-size:.92rem;display:flex}details{border-top:1px solid var(--line);margin-top:12px;padding-top:10px}summary{cursor:pointer;font-weight:600}details[open] summary{margin-bottom:10px}@media (max-width:480px){h1{font-size:1.45rem}.codebox .code{font-size:1.6rem}}
