.auth-app { min-height:100vh; overflow-x:hidden; background:radial-gradient(circle at 16% 14%,rgba(205,151,79,.18),transparent 34%),radial-gradient(circle at 80% 85%,rgba(64,199,156,.11),transparent 30%),var(--bg); }
.auth-utility { padding:12px clamp(14px,4vw,64px) 0; }
.auth-shell { display:grid; grid-template-columns:minmax(0,1.12fr) minmax(420px,.88fr); min-height:100vh; }
.auth-story { display:flex; flex-direction:column; justify-content:space-between; min-height:100vh; padding:clamp(28px,4vw,64px); border-right:1px solid var(--line); background:linear-gradient(145deg,rgba(41,30,21,.65),rgba(19,14,10,.25)); }
.auth-story .brand { color:inherit; text-decoration:none; }
.auth-story > .brand { min-height:44px; }
.auth-copy { max-width:760px; margin:9vh 0 auto; }
.auth-game-logo { width:clamp(190px,24vw,310px); margin:0 0 28px; }
.auth-copy h1 { margin:14px 0 24px; font-size:clamp(64px,8vw,132px); line-height:.82; letter-spacing:-.065em; }
.auth-copy p { max-width:650px; color:var(--muted); font-size:clamp(15px,1.5vw,20px); line-height:1.65; }
.auth-principles { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-top:52px; }
.auth-principles div { min-height:106px; padding:15px; border:1px solid var(--line); border-radius:14px; background:rgba(27,20,14,.66); }
.auth-principles b { display:block; color:var(--blue); font:800 11px "IBM Plex Mono",monospace; }
.auth-principles span { display:block; margin-top:22px; color:#d9c9ad; font-size:13px; line-height:1.5; }
.auth-form-side { display:grid; place-items:center; padding:clamp(20px,5vw,72px); }
.auth-card { width:min(100%,520px); padding:clamp(26px,4vw,48px); border:1px solid var(--line); border-radius:24px; background:linear-gradient(155deg,rgba(49,37,26,.98),rgba(24,17,12,.98)); box-shadow:0 36px 90px rgba(0,0,0,.38); }
.auth-card-head { margin-bottom:30px; }
.auth-card-head h2 { margin:10px 0 8px; font-size:clamp(28px,3.3vw,44px); line-height:1; }
.auth-card-head p { color:var(--muted); }
.auth-card label { display:grid; gap:8px; margin:17px 0; color:#d9c9ad; font-size:14px; font-weight:700; }
.auth-card input { width:100%; height:50px; padding:0 14px; border:1px solid var(--line); border-radius:11px; color:var(--paper); background:rgba(18,13,9,.76); outline:none; transition:border-color .16s ease, box-shadow .16s ease; }
.auth-card input:focus { border-color:var(--blue); box-shadow:0 0 0 3px rgba(205,151,79,.13); }
.password-field { position:relative; }
.password-field input { padding-right:86px; }
.password-field button { position:absolute; top:3px; right:3px; min-height:44px; padding:0 13px; border:0; border-radius:8px; color:var(--blue); background:var(--panel-2); font-size:14px; }
.auth-submit { width:100%; margin-top:13px; }
.auth-status { min-height:24px; margin:11px 0 0; text-align:center; font-size:14px; }
.auth-status.error { color:#ff9c91; }
.auth-status.success { color:var(--green); }
.auth-help { display:grid; gap:5px; margin-top:25px; padding:15px; border:1px solid var(--line); border-radius:12px; background:rgba(27,20,14,.62); }
.auth-help b { color:var(--paper); font-size:14px; }
.auth-help span { color:var(--muted); font-size:13px; line-height:1.5; }
@media (max-width: 980px) {
  .auth-shell { grid-template-columns:1fr; }
  .auth-form-side { order:1; min-height:100svh; padding:28px 18px; }
  .auth-story { order:2; min-height:auto; padding:34px 22px; border-top:1px solid var(--line); border-right:0; }
  .auth-copy { margin:44px 0 0; }
  .auth-game-logo { width:min(240px,76vw); margin-bottom:22px; }
  .auth-copy h1 { font-size:clamp(48px,12vw,74px); }
  .auth-principles { display:none; }
}
@media(max-width:520px){.auth-story{padding:22px}.auth-copy h1{font-size:52px}.auth-form-side{padding:14px}.auth-card{padding:24px 18px;border-radius:18px}}

@media screen {
  .auth-principles span { font-size:13px; }
  .auth-card label { font-size:14px; }
  .password-field button { font-size:14px; }
  .auth-status { font-size:14px; }
  .auth-help b { font-size:14px; }
  .auth-help span { font-size:13px; }
}
