:root{
  --bg:#f6f5f2;--card:#fff;--ink:#1c1917;--muted:#57534e;--line:#d6d3d1;
  --accent:#9f1d1d;--accent-ink:#fff;--ok:#14532d;--ok-bg:#dcfce7;--err:#7f1d1d;--err-bg:#fee2e2;
}
@media (prefers-color-scheme:dark){
  :root{--bg:#161412;--card:#211e1b;--ink:#f5f5f4;--muted:#b4aea8;--line:#3d3834;
    --accent:#e0524f;--accent-ink:#161412;--ok:#bbf7d0;--ok-bg:#14532d;--err:#fecaca;--err-bg:#7f1d1d}
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:1rem/1.5 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
main{max-width:34rem;margin:0 auto;padding:1rem}
h1{font-size:1.5rem;line-height:1.2;margin:.5rem 0}
h2{font-size:1.25rem;margin:0 0 .5rem}
p{margin:.5rem 0}
.muted{color:var(--muted)}
.small{font-size:.875rem}
.top{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.card{background:var(--card);border:1px solid var(--line);border-radius:.75rem;padding:1rem;margin:1rem 0}
.stack{display:flex;flex-direction:column;gap:.5rem;margin-top:.75rem}
label{font-weight:600}
input,select,button{font:inherit;min-height:3rem;border-radius:.5rem;border:1px solid var(--line);padding:.5rem .75rem;width:100%;color:var(--ink);background:var(--bg)}
input[name=code]{font-size:1.5rem;letter-spacing:.2em;text-align:center}
button{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:700;cursor:pointer}
button.ghost{width:auto;background:transparent;color:var(--ink);border-color:var(--line);font-weight:600}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.link{color:var(--accent);font-weight:600;display:inline-block;padding:.5rem 0;min-height:2.75rem;word-break:break-all}
.flash{padding:.75rem 1rem;border-radius:.5rem;font-weight:600}
.flash.ok{background:var(--ok-bg);color:var(--ok)}
.flash.err{background:var(--err-bg);color:var(--err)}
.log{list-style:none;padding:0;margin:0}
.log li{padding:.5rem 0;border-top:1px solid var(--line)}
.log li:first-child{border-top:0}
