:root{--bg: #f7f7f5;--fg: #1a1a1a;--muted: #5f6368;--card: #ffffff;--line: #dcdcd7;--accent: #1f6f5c;--accent-fg: #ffffff;--warn: #fff3b0;--danger: #a4261b;font-family:-apple-system,Segoe UI,Roboto,sans-serif;color:var(--fg);background:var(--bg)}@media (prefers-color-scheme: dark){:root{--bg: #161716;--fg: #ececea;--muted: #a3a6a1;--card: #20221f;--line: #3a3d38;--accent: #5cc3a6;--accent-fg: #0f1f1a;--warn: #5c5214;--danger: #f08a7f}}*{box-sizing:border-box}body{margin:0;background:var(--bg)}h1{font-size:1.5rem}.muted{color:var(--muted);font-weight:400}.centred{max-width:28rem;margin:10vh auto;padding:0 16px}.card{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:1.25rem}.centred.card{padding:1.5rem}.card.wide{max-width:40rem}label{display:flex;flex-direction:column;gap:.3rem;margin:.75rem 0}label.check{flex-direction:row;align-items:center;gap:.5rem;margin:.35rem 0}input,select{font:inherit;padding:.45rem .55rem;border:1px solid var(--line);border-radius:6px;background:var(--card);color:var(--fg)}input[type=checkbox],input[type=radio],input[type=range]{padding:0}button{font:inherit;padding:.5rem .9rem;border-radius:6px;border:1px solid var(--accent);background:var(--accent);color:var(--accent-fg);cursor:pointer}button:disabled{opacity:.5;cursor:default}button.secondary{background:transparent;color:var(--accent)}button.link{background:none;border:none;color:var(--accent);padding:0;text-decoration:underline}[role=alert]{color:var(--danger)}.row{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.header{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap;padding:.6rem 16px;background:var(--card);border-bottom:1px solid var(--line)}.brand{font-weight:700}.header nav{display:flex;gap:1rem;margin-left:1rem}.header nav a{color:var(--fg)}.modes button{border-radius:0}.modes button[aria-pressed=false]{background:transparent;color:var(--accent)}.badge{font-size:.75rem;border:1px solid var(--line);border-radius:999px;padding:.1rem .5rem;margin-left:.4rem}.badge.live{border-color:var(--accent);color:var(--accent)}.menu{margin-left:auto;position:relative}.menu-items{position:absolute;right:0;top:2.6rem;display:flex;flex-direction:column;gap:.4rem;background:var(--card);border:1px solid var(--line);border-radius:8px;padding:.75rem;z-index:2;min-width:14rem}.test-bar{background:var(--warn);padding:.35rem 16px;font-size:.9rem}.banner{background:var(--warn);padding:.5rem 16px}.page{padding:1rem 16px 3rem;max-width:70rem}table{border-collapse:collapse;width:100%;margin:.75rem 0}th,td{text-align:left;padding:.45rem .5rem;border-bottom:1px solid var(--line);vertical-align:top}.tabs{display:flex;gap:1rem;border-bottom:1px solid var(--line);margin-bottom:1rem}.tabs a{padding:.4rem 0;color:var(--muted);text-decoration:none}.tabs a[aria-selected=true]{color:var(--fg);border-bottom:2px solid var(--accent)}.dials{border:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(20rem,1fr));gap:1rem}.dial{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:.9rem}.dial-title,.dial>label:first-child{font-weight:600}.dial output{display:block;margin-top:.4rem;color:var(--muted)}.save-version{display:flex;gap:.75rem;align-items:flex-end;margin-top:1rem}.save-version label{flex:1}.enrol{display:flex;gap:1.5rem;flex-wrap:wrap;align-items:flex-start}.qr{width:11rem;height:11rem;background:#fff;padding:.4rem;border-radius:6px}.secret{display:block;font-size:1.05rem;letter-spacing:.05em;word-break:break-all;margin:.4rem 0}.codes{columns:2;font-size:1.05rem}.backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;padding:16px}.dialog{max-width:26rem;width:100%}.diff .from{color:var(--danger)}.diff .to{color:var(--accent)}.secret-box code{display:block;word-break:break-all;margin:.5rem 0}.small{font-size:.9rem}button.danger{background:var(--danger);border-color:var(--danger);color:#fff}.danger-zone{border-color:var(--danger);margin-top:1rem;max-width:40rem}.danger-banner{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.backdrop.side{justify-content:flex-end;align-items:stretch;padding:0}.panel{max-width:40rem;width:100%;overflow-y:auto;border-radius:0}.legal-text h2{font-size:1.25rem}.legal-text h3{font-size:1.05rem;margin-bottom:.25rem}code.hash{font-size:.8rem;word-break:break-all}textarea{font:.85rem ui-monospace,monospace;padding:.45rem .55rem;border:1px solid var(--line);border-radius:6px;background:var(--card);color:var(--fg)}fieldset.presets{border:none;padding:0;margin:.75rem 0}
