:root{
  color-scheme: light dark;
  --bg:#F4F3EF; --panel:#FFFFFF; --ink:#1B1B18; --ink2:#5C5B55; --ink3:#8E8D86; --line:#E1DFD8; --field:#F4F3EF; --bad:#C0392B;
  --body: system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;
  --mono: ui-monospace, "SF Mono", Menlo, monospace;
}
@media (prefers-color-scheme: dark){:root{
  --bg:#121311; --panel:#1B1C19; --ink:#F0EFE9; --ink2:#B4B3AB; --ink3:#7E7D76; --line:#2A2B27; --field:#121311; --bad:#E36A5B;
}}
*{box-sizing:border-box}
body{background:var(--bg);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.45;margin:0}
main{max-width:34rem;margin:0 auto;padding:max(1.25rem,env(safe-area-inset-top)) 1.25rem 3rem}
h1{font-size:1.5rem;margin:0;letter-spacing:.01em}
h2{font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink3);margin:1.75rem 0 .75rem;font-weight:600}
.tag,.hint{color:var(--ink3);font-size:.85rem;margin:.25rem 0 0}
section{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:0 1rem 1rem;margin-top:1rem}
label{display:block;font-size:.85rem;color:var(--ink2);margin:.75rem 0 0}
input[type=email],input[type=password],textarea{display:block;width:100%;margin-top:.3rem;padding:.7rem .75rem;font:inherit;color:var(--ink);background:var(--field);border:1px solid var(--line);border-radius:8px}
textarea{resize:vertical}
input:focus-visible,textarea:focus-visible,button:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
button{font:inherit;min-height:44px;padding:.6rem 1rem;margin-top:1rem;border-radius:8px;border:1px solid var(--line);background:var(--panel);color:var(--ink);cursor:pointer}
button.primary{background:var(--ink);color:var(--bg);border-color:var(--ink)}
button:disabled{opacity:.4;cursor:default}
.row{display:flex;gap:.5rem;flex-wrap:wrap}
.check{display:flex;gap:.5rem;align-items:center;margin-top:1rem;color:var(--ink)}
.check input{width:1.2rem;height:1.2rem}
hr{border:0;border-top:1px solid var(--line);margin:1.5rem 0 0}
.status{min-height:1.4rem;margin:1rem 0 0;font-size:.9rem;color:var(--ink2)}
.status.error{color:var(--bad)}
.words{columns:2;column-gap:1.5rem;padding-left:2rem;margin:1rem 0 0;font-family:var(--mono);font-size:1rem}
.words li{padding:.15rem 0;break-inside:avoid}
.list{list-style:none;padding:0;margin:.75rem 0 0}
.list li{border-top:1px solid var(--line);padding:.75rem 0;display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
.list .plain{overflow-wrap:anywhere}
.list .cipher{font-family:var(--mono);font-size:.7rem;color:var(--ink3);overflow-wrap:anywhere}
.list .meta{grid-column:1/-1;font-size:.75rem;color:var(--ink3);font-family:var(--mono)}
