:root{--bg:#f4f8ff;--card:#fff;--ink:#1d2a44;--muted:#5d6b85;--primary:#2f6fed;--primary-ink:#fff;--accent:#ff9f1c;--ok:#1f9d55;--err:#d64545;--info:#2f6fed;--line:#dfe6f3}@media (prefers-color-scheme:dark){:root{--bg:#0f1522;--card:#172033;--ink:#e8eefb;--muted:#9aa8c3;--primary:#5b8cff;--line:#26324a}}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0;font:17px/1.6 system-ui,Segoe UI,Tahoma,sans-serif}.top{align-items:baseline;gap:12px;max-width:560px;margin:0 auto;padding:14px 16px;display:flex}.logo{color:var(--primary);font-size:28px;font-weight:800;text-decoration:none}.slogan{color:var(--accent);font-weight:700}.top .link{margin-inline-start:auto}main{max-width:560px;margin:0 auto;padding:0 16px 40px}.card{background:var(--card);border:1px solid var(--line);border-radius:16px;gap:12px;margin-bottom:14px;padding:18px;display:grid}h1{margin:0;font-size:24px}h2{margin:0;font-size:20px}p{margin:0}.muted{color:var(--muted);font-size:15px}.field{gap:4px;font-weight:600;display:grid}input,select{font:inherit;border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:12px;width:100%;padding:12px}.btn{font:inherit;border:1px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer;text-align:center;border-radius:12px;padding:12px 18px;font-weight:700;text-decoration:none;transition:transform .1s;display:inline-block}.btn:active{transform:scale(.97)}.btn.primary{background:var(--primary);color:var(--primary-ink);border-color:var(--primary)}.btn:disabled{opacity:.6;cursor:wait}.link{color:var(--primary);font:inherit;cursor:pointer;background:0 0;border:0}a{color:var(--primary)}.msg{border-radius:10px;padding:10px 12px;font-weight:600}.msg.error{background:color-mix(in srgb, var(--err) 12%, transparent);color:var(--err)}.msg.ok{background:color-mix(in srgb, var(--ok) 12%, transparent);color:var(--ok)}.msg.info{background:color-mix(in srgb, var(--info) 12%, transparent);color:var(--info)}.actions{gap:8px;display:flex}.code{letter-spacing:3px;text-align:center;color:var(--accent);font-size:30px;font-weight:800}.hint{color:var(--muted);font-size:14px;font-weight:400}.pw{position:relative}.pw input{padding-inline-end:48px}.eye{inset-inline-end:6px;cursor:pointer;background:0 0;border:0;padding:6px;font-size:20px;position:absolute;top:50%;transform:translateY(-50%)}.grid{gap:12px;display:grid}details summary{cursor:pointer;font-weight:700}.check{grid-template-columns:auto 1fr;align-items:center;gap:2px 8px;display:grid}.check input{width:20px;height:20px}.check .hint{grid-column:2}
