:root{--bg:#0a0a0b;--ink:#f4f1ea;--dim:#a8a39a;--faint:#6d6a64;--accent:#ff5b1f;--gold:#d4a857;--green:#4ecf8a;--red:#ff4d6d;--line:#2a2a30;--card:#131316;--card2:#1c1c21}
*{box-sizing:border-box;margin:0;padding:0}
html,body{background:var(--bg);color:var(--ink);font-family:'Inter Tight',system-ui,sans-serif;-webkit-font-smoothing:antialiased;min-height:100vh}
.bg-fx{position:fixed;inset:0;background:radial-gradient(900px 600px at 90% -10%,rgba(255,91,31,0.10),transparent 60%),radial-gradient(700px 500px at -10% 110%,rgba(212,168,87,0.07),transparent 60%);pointer-events:none;z-index:0}
.bg-fx::after{content:'';position:absolute;inset:0;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.04 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");opacity:.5;mix-blend-mode:overlay}
.auth-wrap{position:relative;z-index:1;max-width:440px;margin:0 auto;padding:calc(48px + env(safe-area-inset-top,0)) 24px calc(48px + env(safe-area-inset-bottom,0));min-height:100vh;display:flex;flex-direction:column}
.brand{display:flex;flex-direction:column;gap:4px;margin-bottom:36px;text-decoration:none;color:var(--ink)}
.brand-eye{font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:0.25em;color:var(--accent);text-transform:uppercase}
.brand-mark{font-family:'Fraunces',serif;font-size:26px;font-weight:900;letter-spacing:-0.025em}
.brand-mark i{font-style:italic;font-weight:300;color:var(--accent)}
.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:32px;margin-bottom:auto}
.card-eye{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:0.25em;color:var(--accent);text-transform:uppercase;margin-bottom:14px}
h1{font-family:'Fraunces',serif;font-weight:400;font-size:34px;line-height:1.05;letter-spacing:-0.025em;margin-bottom:8px}
.sub{color:var(--dim);font-size:14px;line-height:1.5;margin-bottom:24px}
form{display:flex;flex-direction:column;gap:14px;margin-top:8px}
label{font-size:12px;color:var(--dim);font-family:'JetBrains Mono',monospace;letter-spacing:0.1em;text-transform:uppercase;display:block;margin-bottom:6px}
input[type=email],input[type=password],input[type=text]{width:100%;background:var(--card2);border:1px solid var(--line);border-radius:8px;padding:13px 14px;color:var(--ink);font:inherit;font-size:16px;transition:border-color .15s;min-height:44px}
input:focus{outline:none;border-color:var(--accent)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 18px;border-radius:8px;border:1px solid var(--line);background:transparent;color:var(--ink);font:inherit;font-size:14px;font-weight:500;cursor:pointer;text-decoration:none;transition:all .15s;width:100%}
.btn:hover{border-color:var(--dim)}
.btn.primary{background:var(--accent);border-color:var(--accent);color:#1a0a00;font-weight:600}
.btn.primary:hover{background:#ff8a5b}
.btn:disabled{opacity:.5;cursor:not-allowed}
.alt{margin-top:18px;text-align:center;font-size:13px;color:var(--dim)}
.alt a{color:var(--accent);text-decoration:none;font-weight:500}
.alt a:hover{text-decoration:underline}
.flash{padding:11px 14px;border-radius:8px;font-size:13px;margin-bottom:14px;line-height:1.45}
.flash.error{background:rgba(255,77,109,.1);border:1px solid rgba(255,77,109,.3);color:#ffb3c0}
.flash.success{background:rgba(78,207,138,.1);border:1px solid rgba(78,207,138,.3);color:#9ee5b8}
.flash.info{background:rgba(107,166,255,.1);border:1px solid rgba(107,166,255,.3);color:#b4d2ff}
.foot{padding-top:32px;text-align:center;color:var(--faint);font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:0.18em;text-transform:uppercase}
.mm-banner{padding:11px 14px;background:linear-gradient(180deg,rgba(255,91,31,0.08),transparent);border:1px solid rgba(255,91,31,0.25);border-radius:8px;font-size:12.5px;color:var(--dim);margin-bottom:16px;line-height:1.5}
.mm-banner b{color:var(--ink)}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media(max-width:480px){.field-row{grid-template-columns:1fr}}
.muted{font-size:11.5px;color:var(--faint);margin-top:4px;line-height:1.4}

/* ============ Signup agreement checkboxes ============ */
.agree-row{display:flex;align-items:flex-start;gap:10px;padding:10px 0;font-size:13px;line-height:1.5;color:var(--ink-dim);cursor:pointer}
.agree-row input[type="checkbox"]{margin-top:2px;flex-shrink:0;width:18px;height:18px;accent-color:var(--accent);cursor:pointer}
.agree-row span{flex:1}
.agree-row span strong{color:var(--ink)}
.agree-row a{color:var(--accent);text-decoration:none}
.agree-row a:hover{text-decoration:underline}
