.rw-auth{color-scheme:dark;--ink:#efe2bf;--dim:#b9a67c;--gold:#d9b25b;--line:#8a6b3a;margin:0;background:#0d0b08;color:var(--ink);font:16px/1.5 system-ui,sans-serif}
.rw-auth *{box-sizing:border-box}.rw-auth a{color:var(--gold);text-underline-offset:4px}.rw-auth a:hover{color:#f0cd6e}
.auth-layout{min-height:100svh;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(420px,1fr)}
.auth-showcase{position:relative;overflow:hidden;min-height:100%;background:#262d1d}
.auth-gameplay{position:absolute;width:100%;height:100%;object-fit:cover;object-position:45% center;animation:campaign-pan 32s ease-in-out infinite alternate;filter:saturate(.8)}
.auth-vignette{position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,11,8,.35),rgba(13,11,8,.1) 30%,rgba(13,11,8,.92)),linear-gradient(90deg,transparent 75%,#17120d)}
.auth-campaign{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.auth-vignette{pointer-events:none}.auth-gameplay{animation:none}
.auth-story .auth-tagline{font:normal 18px/1.5 'Palatino Linotype',Palatino,Georgia,serif;max-width:360px;color:var(--ink);margin:0;text-shadow:0 2px 16px #000}
.auth-story{position:relative;z-index:1;padding:clamp(32px,5vw,80px);min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end}
.auth-brand{position:absolute;top:40px;font:700 24px Georgia,serif;letter-spacing:.2em;text-decoration:none;color:var(--ink)!important}.auth-brand span{color:var(--gold)}
.auth-eyebrow{font-size:12px;letter-spacing:.25em;color:var(--gold);margin:0 0 16px}
.auth-story h2{font:normal clamp(36px,4vw,64px)/1.08 'Palatino Linotype',Palatino,Georgia,serif;margin:0;text-shadow:0 2px 16px #000}
.auth-story>p:not(.auth-eyebrow){max-width:340px;color:#ddcfac}.auth-caption{font-size:11px;color:var(--dim);letter-spacing:.04em;margin-top:28px}
.auth-panel{display:flex;align-items:center;justify-content:center;padding:48px 40px;background:radial-gradient(ellipse at top,#302519,#17120d 70%);border-left:1px solid #4a3a22}
.auth-card{width:100%;max-width:420px}.auth-card h1{font:normal 36px/1.15 'Palatino Linotype',Palatino,Georgia,serif;margin:0 0 12px}
.auth-intro{color:var(--dim);margin:0 0 28px;font-size:14px}.auth-card label{display:block;font-size:13px;font-weight:600;margin:17px 0 7px}
.auth-card input:not([type=hidden]){display:block;width:100%;min-height:46px;border:1px solid #6c5432;border-radius:5px;background:#110e0b;color:var(--ink);padding:10px 12px;font:inherit}
.auth-card input:focus{border-color:var(--gold);outline:2px solid #d9b25b55;outline-offset:2px}
.auth-password{position:relative}.auth-password input{padding-right:68px!important}
.auth-card button{cursor:pointer;font:inherit}.auth-reveal{position:absolute;right:8px;top:8px;height:30px;background:transparent;border:0;color:var(--gold);font-size:12px!important}
.auth-submit,.auth-card button[type=submit]{width:100%;min-height:48px;margin-top:24px;padding:12px 18px;background:linear-gradient(#5a4320,#2e220f);border:1px solid var(--gold);border-radius:5px;color:#fbe9bd;font-weight:600;box-shadow:inset 0 1px #ffe6ac33}
.auth-submit:hover{background:#5a4320}.auth-submit:disabled{cursor:wait;opacity:.65}.auth-submit span{float:right}
.auth-recovery{display:block;text-align:right;font-size:12px;margin-top:12px}.auth-switch{text-align:center;font-size:14px;margin:24px 0 0}.auth-footnote{text-align:center;font-size:11px;color:var(--dim)}
.auth-hint{font-size:12px;color:var(--dim);margin:7px 0 0}.auth-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.auth-error{border:1px solid #be785d;background:#44291e;padding:12px;border-radius:5px;font-size:14px}.auth-card pre{white-space:pre-wrap;overflow-wrap:anywhere}.auth-card p{overflow-wrap:anywhere}
.auth-motion{position:absolute;top:40px;right:24px;z-index:2;background:#17120dd9;border:1px solid #8a6b3a;color:var(--ink);padding:8px;font-size:11px;border-radius:4px}
.auth-mobile-brand{display:none}.auth-paused .auth-gameplay{animation-play-state:paused}
.rw-auth :focus-visible{outline:2px solid var(--gold);outline-offset:4px}
@keyframes campaign-pan{from{transform:scale(1.04) translateX(-1%)}to{transform:scale(1.15) translateX(1%)}}
@media(max-width:850px){.auth-layout{grid-template-columns:1fr}.auth-showcase{min-height:220px;height:220px}.auth-story{min-height:220px;padding:24px;justify-content:end}.auth-brand{top:20px;font-size:18px}.auth-story h2{font-size:28px}.auth-story .auth-eyebrow,.auth-story>p:not(.auth-eyebrow),.auth-caption{display:none}.auth-panel{padding:32px 24px;border-left:0;border-top:1px solid #4a3a22}.auth-card h1{font-size:30px}.auth-motion{top:18px;right:16px}.auth-fields{grid-template-columns:1fr;gap:0}}
@media(prefers-reduced-motion:reduce){.auth-gameplay{animation:none}}
@media(max-width:850px){.auth-story>.auth-tagline:not(.auth-eyebrow){display:block;font-size:15px;max-width:290px}}
