:root{color-scheme:dark;--bg:#111214;--panel:#17191C;--panel2:#1E2024;--gold:#D4B06E;--gold-hi:#ECCF94;--gold-lo:#A88040;--white:#F3EFE7;--text:#DCD7CD;--muted:#9B968C;--line:rgba(212,176,110,.28);--on-gold:#17181A;--bad:#EE8070;--good:#7FCB8F;--font:'Poppins',ui-sans-serif,system-ui,-apple-system,'Segoe UI',Roboto,sans-serif}
*{box-sizing:border-box}
html,body{min-height:100%}
body{margin:0;background:radial-gradient(120% 80% at 50% 30%,#23262A 0%,#16181B 60%,#111214 100%) fixed var(--bg);color:var(--text);font:14px/1.55 var(--font);padding-block:max(24px,env(safe-area-inset-top,0px)) 32px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
[hidden]{display:none!important}
h1,h2,p{margin:0}
h1{color:var(--white);font-size:24px;line-height:1.2;font-weight:700;text-wrap:balance}
h2{color:var(--white);font-size:16px;font-weight:600}
a{color:var(--gold-hi)}
.eyebrow{color:var(--gold);font-size:11px;font-weight:600;letter-spacing:2.2px;text-transform:uppercase}
.muted{color:var(--muted)}.small{font-size:12.5px}
.stack{display:flex;flex-direction:column;gap:14px;min-width:0}
.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:22px}
label{display:flex;flex-direction:column;gap:5px;color:var(--text);font-size:13px;font-weight:500}
input,textarea{width:100%;font:inherit;color:var(--white);background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:11px 12px}
textarea{min-height:110px;resize:vertical}
input:focus,textarea:focus,button:focus-visible,a:focus-visible{outline:2px solid var(--gold-hi);outline-offset:1px}
button{font:inherit;cursor:pointer;border-radius:10px;border:1px solid var(--line);background:var(--panel2);color:var(--white);padding:10px 14px;font-weight:500;min-height:42px}
button:hover{border-color:var(--gold)}
button:disabled{opacity:.6;cursor:default}
button.gold{background:linear-gradient(180deg,var(--gold-hi),#C49B55 60%,var(--gold-lo));color:var(--on-gold);font-weight:700;border-color:transparent}
button.link{background:none;border:0;padding:4px 0;min-height:0;color:var(--gold-hi);text-decoration:underline;text-underline-offset:2px}
.msg{font-size:13px;padding:10px 12px;border-radius:10px;background:var(--panel2);border:1px solid var(--line)}
.msg.err{border-color:var(--bad);color:#F6BDB3}.msg.ok{border-color:var(--good);color:#BDE7C6}
.login{max-width:400px;margin:6vh auto 0}
.page{max-width:820px;margin:0 auto}
