:root{
  --ink:#050a10;--panel:rgba(12,22,34,.72);--line:rgba(94,234,212,.18);
  --text:#e8f4f1;--muted:#8aa8a3;--teal:#2dd4bf;--amber:#f59e0b;--danger:#fb7185;
}
*{box-sizing:border-box}
body{
  margin:0;min-height:100vh;color:var(--text);
  font-family:Sora,ui-sans-serif,sans-serif;
  background:
    radial-gradient(900px 520px at 12% -10%,rgba(45,212,191,.22),transparent 55%),
    radial-gradient(700px 480px at 95% 10%,rgba(245,158,11,.12),transparent 50%),
    radial-gradient(600px 400px at 70% 110%,rgba(20,184,166,.1),transparent 45%),
    linear-gradient(165deg,#03070c 0%,#0a1520 48%,#061018 100%);
  display:grid;place-items:center;padding:24px;position:relative;overflow:hidden;
}
body::before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.35;
  background-image:
    linear-gradient(rgba(148,163,184,.07) 1px,transparent 1px),
    linear-gradient(90deg,rgba(148,163,184,.07) 1px,transparent 1px);
  background-size:48px 48px;
  mask-image:radial-gradient(ellipse 70% 60% at 50% 40%,#000 20%,transparent 75%);
}
.wrap{position:relative;width:min(420px,94vw);z-index:1}
.mark{display:flex;align-items:center;gap:14px;margin-bottom:28px}
.mark svg{width:52px;height:52px;filter:drop-shadow(0 8px 24px rgba(45,212,191,.25))}
.mark h1{
  margin:0;font-family:Syne,Sora,sans-serif;font-weight:800;font-size:1.85rem;
  letter-spacing:-.03em;line-height:1.1;
}
.mark h1 span{color:var(--teal)}
.mark p{margin:4px 0 0;color:var(--muted);font-size:.84rem;letter-spacing:.02em}
form{
  background:var(--panel);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  border:1px solid var(--line);border-radius:20px;padding:28px 26px 24px;
  box-shadow:0 24px 80px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.04);
}
label{display:block;margin:14px 0 7px;color:var(--muted);font-size:.78rem;font-weight:500;letter-spacing:.04em;text-transform:uppercase}
input{
  width:100%;padding:12px 14px;border-radius:12px;
  border:1px solid rgba(148,163,184,.22);background:rgba(5,12,20,.65);color:var(--text);
  font:inherit;outline:none;transition:border-color .15s,box-shadow .15s;
}
input:focus{border-color:rgba(45,212,191,.55);box-shadow:0 0 0 3px rgba(45,212,191,.15)}
button{
  margin-top:22px;width:100%;padding:13px;border:0;border-radius:12px;cursor:pointer;
  font-family:Syne,Sora,sans-serif;font-weight:700;font-size:1rem;letter-spacing:.02em;
  color:#042f2e;background:linear-gradient(135deg,#5eead4,#14b8a6 55%,#0d9488);
  box-shadow:0 10px 30px rgba(20,184,166,.28);
  transition:transform .12s,filter .12s;
}
button:hover{filter:brightness(1.06);transform:translateY(-1px)}
.err{min-height:1.2em;margin-top:12px;color:var(--danger);font-size:.88rem}
.foot{margin-top:18px;text-align:center;color:rgba(138,168,163,.7);font-size:.75rem}
.foot a{color:var(--teal);text-decoration:none}
.foot a:hover{text-decoration:underline}
body.privacy-page{
  display:block;place-items:unset;overflow:auto;padding:0;
}
body.privacy-page::before{opacity:.2}
.privacy{
  position:relative;z-index:1;max-width:42rem;margin:2.5rem auto;padding:0 1.25rem 3rem;
  line-height:1.65;
}
.privacy h1{
  margin:0 0 .5rem;font-family:Syne,Sora,sans-serif;font-weight:800;font-size:1.6rem;
  letter-spacing:-.02em;
}
.privacy .meta{color:var(--muted);font-size:.9rem;margin:0 0 1.5rem}
.privacy h2{font-size:1.05rem;margin:1.5rem 0 .5rem;color:var(--teal)}
.privacy ul{padding-left:1.2rem;margin:.4rem 0}
.privacy a{color:var(--teal)}
