:root{--bg-0: #020508;--bg-1: #071116;--bg-2: #0d161a;--surface: rgba(13, 22, 26, .92);--surface-border: rgba(56, 76, 80, .3);--text-main: rgba(255, 255, 255, .92);--text-soft: rgba(255, 255, 255, .72);--text-muted: rgba(255, 255, 255, .56);--primary: #3b5e63;--primary-hover: #4a7177;--danger: #ff7b7b;--warn: #ffd58a;--success: #c8d7ff;--radius-card: 1.5rem;--radius-pill: 999px;color-scheme:dark;font-family:Avenir Next,Century Gothic,Trebuchet MS,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;color:var(--text-main);background:radial-gradient(circle at 12% 15%,rgba(56,76,80,.2),transparent 36%),radial-gradient(circle at 88% 10%,rgba(56,76,80,.1),transparent 33%),linear-gradient(170deg,var(--bg-0) 0%,var(--bg-1) 52%,var(--bg-2) 100%)}a{color:inherit;text-decoration:none}.landing-hero{position:relative;min-height:100vh;overflow:hidden;background-image:url(/hero/nightfall-hero.jpg);background-position:center;background-repeat:no-repeat;background-size:cover}.landing-nav{position:absolute;top:0;left:0;right:0;height:72px;padding:0 clamp(2rem,4vw,3rem);display:flex;align-items:center;justify-content:space-between;background:transparent}.landing-brand{margin:0;display:inline-block;color:#fff;font-size:1.15rem;font-weight:600;letter-spacing:.03em;cursor:pointer;transition:opacity .16s ease}.landing-brand:hover{opacity:.9}.auth-brand-link{position:absolute;top:1.25rem;left:50%;transform:translate(-50%);z-index:2;margin:0;color:#fff;font-size:1.1rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:opacity .16s ease}.auth-brand-link:hover{opacity:.88}.landing-nav-links{display:flex;align-items:center;gap:1.5rem}.landing-nav-link{color:#fff;font-size:1rem;font-weight:500;letter-spacing:.01em}.landing-nav-link:hover{opacity:.88}.auth-layout{min-height:100vh;padding:1.25rem;display:grid;align-content:start;justify-items:center;gap:1rem}.auth-layout-with-brand{position:relative;padding-top:4.75rem}.auth-layout-centered{align-content:center}.top-nav{width:min(920px,100%);display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem .25rem}.brand{margin:0;font-size:1.1rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.nav-actions{display:flex;gap:.65rem}.hero-card,.auth-card{width:min(460px,100%);border-radius:var(--radius-card);border:1px solid var(--surface-border);background:var(--surface);box-shadow:0 28px 70px #00000059;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.hero-card{width:min(920px,100%);padding:clamp(1.2rem,3vw,2.2rem)}.auth-card{padding:clamp(1.2rem,4vw,2rem)}.app-card{width:min(840px,100%)}.chip{width:fit-content;margin:0 0 .6rem;padding:.2rem .65rem;border-radius:var(--radius-pill);border:1px solid rgba(56,76,80,.55);color:#ffffffc7;box-shadow:inset 0 1px #ffffff0a;font-size:.74rem;letter-spacing:.08em;text-transform:uppercase}.auth-title{margin:0;font-size:clamp(1.8rem,5vw,2.9rem);line-height:1.05}.auth-subtitle{margin:.75rem 0 1.25rem;color:var(--text-soft)}.route-inline{margin:.9rem 0 0;color:var(--text-muted)}.route-inline a{border-bottom:1px solid rgba(56,76,80,.45)}.form-grid{display:grid;gap:.65rem}.field-label{font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.field-input{width:100%;border-radius:.85rem;border:1px solid rgba(56,76,80,.28);background:#0205088c;color:var(--text-main);font:inherit;padding:.78rem .85rem}.field-input:focus{outline:2px solid rgba(245,166,35,.55);outline-offset:1px;border-color:#f5a6238c;box-shadow:0 0 0 3px #f5a6232e}.button-row{margin-top:.25rem;display:flex;flex-wrap:wrap;gap:.65rem}.btn{border:1px solid transparent;border-radius:var(--radius-pill);padding:.7rem 1rem;font:inherit;font-weight:700;cursor:pointer;transition:transform .16s ease,background .16s ease,border-color .16s ease,opacity .16s ease}.btn:hover{transform:translateY(-1px)}.btn:disabled{cursor:not-allowed;opacity:.62;transform:none}.btn-primary{background:linear-gradient(180deg,var(--primary-hover),var(--primary));border-color:#ffffff1a;color:#f3f7ff;box-shadow:0 10px 26px #00000059,inset 0 1px #ffffff0f}.btn-primary:hover{background:linear-gradient(180deg,#5a868d,var(--primary-hover))}.btn-ghost{background:#ffffff05;border-color:#384c5059;color:var(--text-main)}.btn-dark{background:#ffffff0a;border-color:#384c5059;color:#e7efe9}.btn-ghost:hover,.btn-dark:hover{background:#ffffff14}.divider{margin:1rem 0 .85rem;color:var(--text-soft);text-align:center;font-size:.88rem}.helper-links{margin:1rem 0 0;display:flex;flex-wrap:wrap;gap:.8rem;color:var(--text-soft)}.helper-links a{border-bottom:1px solid rgba(56,76,80,.45)}.login-signup-cta{margin-top:1.7rem;text-align:center;color:var(--text-soft)}.login-forgot-link-row{margin:1.2rem 0 0;text-align:center}.login-forgot-link{color:var(--text-soft);border-bottom:1px solid rgba(56,76,80,.45)}.login-signup-copy{margin:0}.login-signup-link{margin-top:.35rem;display:inline-block;font-weight:700;border-bottom:1px solid rgba(56,76,80,.45)}.status{margin:.8rem 0 0;border-radius:.9rem;border:1px solid rgba(255,255,255,.12);padding:.65rem .8rem;font-size:.92rem}.status-neutral{border-color:#384c5066;background:#384c5024}.status-success{border-color:#a5bbff61;background:#7895ff29;color:#dde7ff}.status-warn{border-color:#ffd58a54;background:#ffd58a1c;color:#ffe7be}.status-error{border-color:#ff7b7b57;background:#ff7b7b1f;color:#ffd4d4}.otp-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.5rem}.otp-grid-compact{width:100%;min-width:0}.otp-input{width:100%;border-radius:.75rem;border:1px solid rgba(56,76,80,.28);background:#0205088c;color:var(--text-main);text-align:center;padding:.58rem 0;font:inherit;font-weight:700}.otp-input:focus{outline:2px solid rgba(245,166,35,.55);outline-offset:1px;border-color:#f5a6238c;box-shadow:0 0 0 3px #f5a6232e}.verify-email-content{width:100%}.verify-email-form{gap:.85rem}.verify-email-submit{margin-top:.3rem;width:100%}.verify-email-actions{width:100%;margin-top:1rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.verify-email-actions .btn{width:100%;text-align:center;padding:.82rem 1.2rem}.debug-panel{margin-top:.4rem;border-radius:.9rem;border:1px solid rgba(56,76,80,.28);background:#02050873;padding:.8rem;overflow-x:auto}.mono{margin:0;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.86rem;color:#d9e4ff}.debug-panel pre{margin-top:.55rem;white-space:pre-wrap;word-break:break-all}.signup-layout{align-content:center;background:radial-gradient(circle at 18% 15%,rgba(56,76,80,.22),transparent 37%),radial-gradient(circle at 90% 8%,rgba(56,76,80,.1),transparent 32%),linear-gradient(170deg,var(--bg-0) 0%,var(--bg-1) 52%,var(--bg-2) 100%)}.signup-scope{--nf-signup-bg: #020508;--nf-signup-card: rgba(13, 22, 26, .92);--nf-signup-border: rgba(56, 76, 80, .34);--nf-signup-text: rgba(255, 255, 255, .92);--nf-signup-muted: rgba(255, 255, 255, .7);--nf-signup-primary: #3b5e63;--nf-signup-primary-hover: #4a7177;--nf-signup-primary-active: #2e4a4f;color:var(--nf-signup-text)}.signup-card{width:min(460px,100%);border-color:var(--nf-signup-border);background:var(--nf-signup-card);box-shadow:0 30px 76px #0108198c}.signup-chip{border-color:#384c508c;color:#ffffffc7}.signup-title{margin-bottom:1.1rem}.signup-subtitle{margin-top:.45rem;color:var(--nf-signup-muted)}.signup-form{gap:.7rem}.signup-label{color:#ffffff9e}.signup-input{border-color:#384c5047;background:#0205088c;color:var(--nf-signup-text)}.signup-input:focus{outline-color:#f5a6238c;border-color:#f5a6238c;box-shadow:0 0 0 3px #f5a6232e}.signup-btn-primary{width:100%;border-radius:999px;background:linear-gradient(180deg,var(--nf-signup-primary-hover),var(--nf-signup-primary));border-color:#ffffff1a;color:#f4f7ff;box-shadow:0 10px 26px #00000059,inset 0 1px #ffffff0f}.signup-btn-primary:hover{background:linear-gradient(180deg,#5a868d,var(--nf-signup-primary-hover))}.signup-btn-primary:active{background:linear-gradient(180deg,var(--nf-signup-primary),var(--nf-signup-primary-active))}.signup-divider{margin:1rem 0;display:flex;align-items:center;gap:.75rem;color:var(--nf-signup-muted)}.signup-divider:before,.signup-divider:after{content:"";flex:1;border-top:1px solid rgba(56,76,80,.35)}.signup-google-btn{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:.65rem;border-color:#384c5073;background:#0d161aad;color:var(--nf-signup-text, var(--text-main))}.signup-google-btn:hover{background:#172225c7}.signup-google-icon{width:1.1rem;height:1.1rem;flex:0 0 auto}.signup-footer{margin-top:1rem;justify-content:center;color:var(--nf-signup-muted)}.signup-footer a{border-bottom:1px solid rgba(56,76,80,.45)}.signup-back-link{width:fit-content;margin:0 0 .5rem;border:0;background:transparent;color:var(--nf-signup-muted);font:inherit;font-weight:700;padding:0;cursor:pointer}.signup-password-row{display:grid;grid-template-columns:1fr auto;gap:.5rem;align-items:center}.signup-toggle-btn{border-radius:.75rem;padding:.62rem .8rem;border-color:#384c5066;background:#0d161ad9;color:var(--nf-signup-text)}.signup-requirements{margin:.15rem 0 .4rem;padding-left:1rem;color:var(--nf-signup-muted);font-size:.88rem}.signup-requirement-met{color:#ffffffdb}.reset-password-requirements{margin-top:.25rem}@media (max-width: 760px){.auth-layout{padding:.85rem}.auth-layout-with-brand{padding-top:3.9rem}.auth-brand-link{top:.85rem}.top-nav{flex-direction:column;align-items:stretch}.nav-actions,.button-row,.helper-links{flex-direction:column}.btn{width:100%;text-align:center}.signup-password-row{grid-template-columns:1fr}.signup-toggle-btn{width:100%}.otp-grid-compact{width:100%;min-width:0}.verify-email-content{width:100%}.verify-email-actions{width:100%;grid-template-columns:1fr}}
