:root{--ink:#1c1b22;--ink-soft:#55535f;--line:#ddd9e6;--bg:#f5f2fb;--card:#ffffff;--accent:#6d28d9;--accent-dark:#58209f;--danger:#b42318;--danger-bg:#fef3f2;--ok-bg:#ecfdf3;--ok-line:#a7e3c0;--warn-bg:#fffaeb;--warn-line:#f5d68a;--radius:12px}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:linear-gradient(180deg,#6d28d9 0,#8b5cf6 260px,var(--bg) 260px,var(--bg) 100%);color:var(--ink);font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:16px;line-height:1.5;min-height:100vh}.page{margin:0 auto;max-width:640px;padding:24px 16px 64px}.page__header{color:#fff;padding:8px 4px 20px}.page__header h1{font-size:1.6rem;line-height:1.25;margin:0 0 8px}.page__note{font-size:.9rem;margin:0;opacity:.92}.page__personal{background:var(--card);border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:var(--radius);font-size:.92rem;margin:0 0 16px;padding:12px 14px}.page__footer{color:var(--ink-soft);font-size:.85rem;padding-top:24px;text-align:center}.banner{border-radius:var(--radius);display:flex;flex-direction:column;font-size:.88rem;gap:6px;margin-bottom:16px;padding:12px 14px}.banner--operator{background:var(--danger-bg);border:1px solid #f3b4ae;color:#7a271a}.banner--operator code{background:#fff;border-radius:4px;padding:0 4px}.banner--test{background:var(--warn-bg);border:1px solid var(--warn-line);color:#7a5b00;font-weight:600}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 8px 24px rgba(28,27,34,.08);padding:20px 16px}.card--success{border-color:var(--ok-line);background:var(--ok-bg);text-align:center}.card--success h2{margin-top:0}fieldset{border:0;border-top:1px solid var(--line);margin:0 0 8px;padding:20px 0 4px}fieldset:first-of-type{border-top:0;padding-top:0}legend{font-size:1.05rem;font-weight:700;padding:0}.field{margin-bottom:14px}.field label{display:block;font-size:.9rem;font-weight:600;margin-bottom:4px}.field input{background:#fff;border:1px solid var(--line);border-radius:8px;color:var(--ink);font-size:1rem;padding:11px 12px;width:100%}.field input:focus{border-color:var(--accent);outline:2px solid rgba(109,40,217,.18);outline-offset:1px}.field--error input{border-color:var(--danger)}.hint{color:var(--ink-soft);font-size:.9rem;margin:6px 0 10px}.hint--small{font-size:.82rem}.error{color:var(--danger);font-size:.85rem;margin:4px 0 0}.error--form{background:var(--danger-bg);border-radius:8px;font-size:.92rem;margin:12px 0;padding:10px 12px}.child{border:1px solid var(--line);border-radius:var(--radius);margin-bottom:14px;padding:14px}.child h3{font-size:1rem;margin:0 0 12px}.options{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.option{align-items:flex-start;border:1px solid var(--line);border-radius:8px;cursor:pointer;display:flex;font-size:.94rem;gap:10px;padding:10px 12px}.option input{margin-top:3px}.option:has(input:checked){border-color:var(--accent);background:#faf7ff}.button{border:0;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;padding:12px 18px}.button--primary{background:var(--accent);color:#fff;width:100%}.button--primary:hover:not(:disabled){background:var(--accent-dark)}.button--primary:disabled{background:#c4b5fd;cursor:progress}.button--secondary{background:#efe9fb;color:var(--accent-dark)}.button--quiet{background:transparent;color:var(--danger);padding:6px 0;text-decoration:underline}@media (min-width:560px){.page__header h1{font-size:2rem}.card{padding:28px 26px}}