:root{--ink:#17212b;--muted:#5b6770;--line:#d6dde2;--brand:#c20e3a;--brand-ink:#fff;--error:#a4262c;--ok-bg:#e8f3ee;--error-bg:#fbeaea;--bg:#fff}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:17px;line-height:1.45}.page{max-width:34rem;padding:max(1rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) max(2rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));margin:0 auto}.page-header h1{margin:.25rem 0 1.25rem;font-size:1.6rem}.back{color:var(--brand);padding:.5rem 0;text-decoration:none;display:inline-block}.form{flex-direction:column;gap:.75rem;display:flex}label{font-weight:600}input{border:1px solid var(--line);width:100%;min-height:3rem;font:inherit;border-radius:.5rem;padding:.6rem .75rem;font-size:1rem}input[inputmode=numeric]{letter-spacing:.4em;text-align:center;font-size:1.5rem}button,.menu a{background:var(--brand);min-height:3rem;color:var(--brand-ink);font:inherit;text-align:center;cursor:pointer;border:0;border-radius:.5rem;padding:.6rem 1rem;font-weight:600;text-decoration:none}button:disabled{opacity:.5;cursor:default}button.secondary{color:var(--brand);border:1px solid var(--brand);background:0 0}button.link{color:var(--brand);background:0 0;min-height:2.5rem;font-weight:400;text-decoration:underline}.menu{flex-direction:column;gap:.75rem;margin:1.25rem 0;display:flex}.card{border:1px solid var(--line);border-radius:.75rem;padding:1rem}.card h2{margin:0 0 .5rem;font-size:1.2rem}.card dt{color:var(--muted);font-size:.85rem}.card dd{overflow-wrap:anywhere;margin:0 0 .5rem}.list{margin:0;padding:0;list-style:none}.list li{border-bottom:1px solid var(--line)}.list a{color:inherit;padding:.85rem 0;text-decoration:none;display:block}.list .title{overflow-wrap:anywhere;font-weight:600;display:block}.list .meta,.muted{color:var(--muted);font-size:.9rem}.notice,.error{border-radius:.5rem;margin:0;padding:.75rem}.notice{background:var(--ok-bg)}.error{background:var(--error-bg);color:var(--error)}
