:root{
  --bg:#0b0a08; --bg2:#13110d; --card:#1a1712; --card2:#211d16; --line:rgba(232,196,110,.18); --line2:rgba(232,196,110,.38);
  --gold:#e8c46e; --gold2:#f7e2a8; --goldd:#b8913c; --text:#f5efe2; --muted:#a99f8c; --green:#3ddc84; --red:#ff7a6b;
}
*{box-sizing:border-box;margin:0;padding:0}
html{overflow-x:clip}
body{background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased;min-height:100vh}
a{color:var(--gold)}
button{font-family:inherit}
.serif{font-family:"Playfair Display",Georgia,serif}
.gold{background:linear-gradient(100deg,var(--goldd),var(--gold2) 45%,var(--gold) 70%,var(--goldd));-webkit-background-clip:text;background-clip:text;color:transparent}
.top{display:flex;align-items:center;justify-content:center;height:58px;border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(11,10,8,.9);backdrop-filter:blur(12px);z-index:10}
.logo{display:flex;align-items:center;gap:9px;font-family:"Playfair Display",serif;font-weight:800;font-size:21px;color:var(--text);text-decoration:none}
.mark{width:26px;height:26px;border-radius:8px;background:linear-gradient(140deg,var(--gold2),var(--goldd));display:grid;place-items:center;color:#1a1305;font-size:15px;font-weight:800}
.wrap{max-width:560px;margin:0 auto;padding:0 18px}
.btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;border:0;cursor:pointer;background:linear-gradient(180deg,var(--gold2),var(--gold) 55%,var(--goldd));color:#1a1305;font-weight:700;font-size:17px;padding:17px 22px;border-radius:999px;box-shadow:0 10px 34px rgba(232,196,110,.22),inset 0 1px 0 rgba(255,255,255,.6);transition:transform .15s,opacity .15s;text-decoration:none}
.btn:hover{transform:translateY(-1px)}
.btn[disabled]{opacity:.45;cursor:default;transform:none}
.link{background:none;border:0;color:var(--muted);text-decoration:underline;cursor:pointer;font-size:14.5px;display:block;margin:16px auto 0;padding:6px}
h1,h2{font-family:"Playfair Display",serif;line-height:1.12}
.muted{color:var(--muted)}
.small{font-size:13px}
.box{background:linear-gradient(180deg,var(--card),#141109);border:1px solid var(--line);border-radius:20px;padding:22px}
.err{color:var(--red);font-size:14px;min-height:20px;margin-top:10px;text-align:center}
.spinner{width:18px;height:18px;border:2px solid rgba(26,19,5,.35);border-top-color:#1a1305;border-radius:50%;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
footer.legal{border-top:1px solid var(--line);margin-top:60px;padding:26px 18px 40px;text-align:center;color:var(--muted);font-size:12.5px}
footer.legal a{color:var(--muted);margin:0 8px}
