@font-face{font-family:EclipseDisplay;src:url('BebasNeue-Regular.ttf') format('truetype');font-display:swap}
@font-face{font-family:EclipseText;src:url('BarlowCondensed-Regular.ttf') format('truetype');font-display:swap}
:root{--coal:#101411;--paper:#eee9df;--muted:#a9aea3;--olive:#b6bf8b;--border:#73776d;--error:#e3aaa0;--display:EclipseText,'Arial Narrow',sans-serif;--text:EclipseText,'Arial Narrow',sans-serif}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--coal);color:var(--paper)}body{font-family:var(--text);font-size:19px}button,input{font:inherit}button,a,input{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.58}button:focus-visible,a:focus-visible{outline:2px solid var(--olive);outline-offset:5px}input:focus-visible{outline:1px solid var(--olive);border-color:var(--olive)}[hidden]{display:none!important}
.auth{min-height:100svh;display:grid;grid-template-columns:minmax(0,1fr) clamp(390px,32%,590px)}
.scene{position:relative;min-height:100svh;background:url('login-city.png') left center/auto 100% no-repeat;overflow:hidden}
.wordmark{position:absolute;top:38px;left:clamp(34px,4.3vw,78px);margin:0;font-family:EclipseDisplay,sans-serif;font-weight:400;font-size:clamp(100px,10vw,174px);line-height:.94;letter-spacing:1px;color:#eee9df;mask-image:url('distress.svg');mask-size:100% 100%;text-shadow:0 3px 12px #10141155}
.tagline{position:absolute;bottom:7.2%;left:clamp(34px,4.3vw,78px);margin:0;font:400 clamp(34px,3.15vw,58px)/1.1 var(--display);letter-spacing:.5px;text-shadow:0 2px 12px #0009}.tagline:after{content:'';display:block;width:48px;height:3px;background:var(--olive);margin-top:26px}
.rail{display:flex;align-items:center;padding:48px clamp(36px,4.2vw,76px);background:var(--coal);min-width:0}.auth-content{width:100%;max-width:450px;margin:auto}.tabs{display:flex;gap:34px;margin:0 0 46px}.tab{position:relative;border:0;padding:0 0 9px;background:none;color:#848a7e;font:25px var(--display);letter-spacing:.4px}.tab[aria-selected=true]{color:var(--paper)}.tab[aria-selected=true]:after{content:'';position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--olive)}
.auth-title{margin:0 0 10px;font:400 clamp(40px,3.65vw,64px)/1.05 var(--display);letter-spacing:.2px}.intro{margin:0 0 40px;color:var(--muted);font-size:21px;line-height:1.4}.field{display:block;margin:0 0 20px}.field-label{display:block;margin-bottom:8px;font-size:19px}.input-wrap{position:relative}input{display:block;width:100%;height:54px;padding:12px 17px;color:var(--paper);background:transparent;border:1px solid var(--border);border-radius:1px;box-shadow:none;font-size:21px;letter-spacing:.15px}input::placeholder{color:#7d8477;opacity:1}input[aria-invalid=true]{border-color:var(--error)}input[type=password]{padding-right:53px}
.eye{position:absolute;right:1px;top:1px;bottom:1px;width:49px;border:0;background:transparent;color:var(--muted);display:grid;place-items:center}.eye svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5}.eye:hover{color:var(--paper)}.hint{display:block;margin:7px 0 0;color:#929b88;font-size:16px;line-height:1.3}.help-row{display:flex;justify-content:flex-end;margin-top:-9px;margin-bottom:33px}.text-link{border:0;padding:0;background:none;color:var(--muted);text-decoration:underline;text-underline-offset:4px;font-size:18px}.text-link:hover{color:var(--paper)}
.primary{width:100%;min-height:54px;padding:13px 16px;border:1px solid transparent;border-radius:1px;background:var(--olive);color:#151b12;font:600 24px var(--display);letter-spacing:.6px;transition:background .18s,transform .18s}.primary:hover:not(:disabled){background:#c5cda1}.primary:active:not(:disabled){transform:translateY(1px)}.switch{margin:31px 0 0;color:var(--muted);font-size:19px;line-height:1.5}.switch .text-link{color:var(--paper);font-size:19px}
.message{margin:0 0 19px;color:var(--error);font-size:18px;line-height:1.4}.message:empty{display:none}.message[data-tone=success]{color:#c5cda1}.code-input{font:34px var(--display);text-align:center;letter-spacing:12px;padding-left:27px;height:62px}.destination{color:var(--paper);overflow-wrap:anywhere}.verify-info{color:var(--muted);font-size:18px;line-height:1.5;margin:0 0 25px}.resend{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:22px 0 0;color:var(--muted);font-size:17px}.back{display:inline-flex;align-items:center;gap:9px;margin:0 0 30px;border:0;padding:0;background:none;color:var(--muted);font-size:19px}.back:hover{color:var(--paper)}.auth[data-mode=register] .tabs{margin-bottom:30px}.auth[data-mode=register] .intro{margin-bottom:25px}.auth[data-mode=register] .field{margin-bottom:15px}.auth[data-mode=register] input{height:48px}.auth[data-mode=register] .switch{margin-top:22px}
.launch{margin-top:30px}.launch progress{display:block;width:100%;height:4px;appearance:none;border:0;background:#30362c;accent-color:var(--olive)}.launch progress::-webkit-progress-bar{background:#30362c}.launch progress::-webkit-progress-value{background:var(--olive)}.launch-status{margin:14px 0;color:var(--muted);font-size:19px}.launch .primary{margin-top:26px}
#game{position:fixed;inset:0;background:var(--coal)}#unity-canvas{display:block;width:100%;height:100%;outline:none;background:var(--coal)}body.playing{overflow:hidden}.fade-in{animation:reveal .35s both}@keyframes reveal{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
@media(min-width:1700px){.scene{background-size:cover;background-position:left center}.rail{padding:64px 74px}}
@media(max-width:1000px){.auth{grid-template-columns:minmax(0,1fr) 390px}.rail{padding:36px}.wordmark{font-size:100px;left:32px}.tagline{font-size:39px;left:32px}.auth-title{font-size:46px}}
@media(max-width:700px){.auth{display:block;position:relative;min-height:100svh}.scene{min-height:235px;height:31svh;background-size:auto 140%;background-position:34% 35%}.wordmark{top:25px;left:26px;font-size:78px}.tagline{font-size:26px;left:26px;bottom:20px}.tagline:after{display:none}.rail{position:relative;padding:36px 26px 46px;min-height:69svh;align-items:flex-start}.auth-content{max-width:440px}.tabs{margin-bottom:30px;gap:35px}.auth-title{font-size:43px}.intro{font-size:20px;margin-bottom:28px}.switch{margin-top:25px}.auth[data-mode=register] .scene{height:190px;min-height:190px}.auth[data-mode=register] .tagline{display:none}input{font-size:20px;min-height:52px}.auth[data-mode=register] input{min-height:49px}.help-row{margin-bottom:27px}.code-input{font-size:34px}body{font-size:18px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

.auth[data-mode=register] .auth-title{font-size:clamp(38px,3.1vw,52px)}
.switch .text-link{margin-left:4px}
html{height:100%}body.playing{height:100%}
