@font-face{font-family:LoginKameron;src:url('./assets/login/Kameron-Regular.woff') format('woff');font-weight:400;font-display:swap}
@font-face{font-family:LoginKameron;src:url('./assets/login/Kameron-Bold.woff') format('woff');font-weight:700;font-display:swap}
@font-face{font-family:LoginOswald;src:url('./assets/country-chooser/oswald.woff2') format('woff2');font-weight:400 700;font-display:swap}
:root{color-scheme:light;--paper:#dad5c3;--ink:#423e35}
*{box-sizing:border-box}
html{min-height:100%;background:#192c30}
body{margin:0;min-height:100svh;color:var(--ink);font:16px LoginKameron,Georgia,serif}
[hidden]{display:none!important}
button,input{font:inherit}
button{cursor:pointer}
button:disabled{cursor:wait;opacity:.65}
button:focus-visible,a:focus-visible{outline:2px solid #edb957;outline-offset:3px}
.login-background{position:fixed;inset:0;z-index:-2;background:#1a2d30 url('./assets/login/background.jpg') center/cover no-repeat}
.login-background video{width:100%;height:100%;object-fit:cover}
.login-background::after{content:'';position:absolute;inset:0;background:linear-gradient(#0002,transparent 35%,#0001 70%,#000c)}
.paper{background:var(--paper) url('./assets/login/paper.png') repeat;box-shadow:inset 1px 2px 2px #ffffff4d,inset -1px -1px 1px #0005,0 0 5px 1px #0004;border-radius:6px}
.portal-header{position:absolute;top:0;right:max(28px,3vw);z-index:3;display:flex;gap:16px;align-items:flex-start}
.portal-language{font-size:11px;padding:7px 10px;background:#dad5c3e6;border-radius:0 0 3px 3px}
.login-menu{position:relative}
.login-toggle{height:32px;min-width:142px;padding:4px 20px;border:0;border-radius:0 0 5px 5px;font-size:14px;color:#423e35}
.login-toggle span{margin-left:22px}
.login-toggle[aria-expanded=true]{border-radius:0}
.login-panel{position:absolute;right:0;top:31px;width:234px;padding:17px 20px 20px;border-radius:0 0 6px 6px}
label{display:block;line-height:21px;font-size:16px}
input:not([type=checkbox]){display:block;width:100%;height:27px;padding:2px 7px;margin:0 0 7px;border:0;border-radius:3px;background:#dad5c3;color:#5a5545;box-shadow:inset 0 2px 2px #0008,inset 0 -2px 3px #ffffff80;font:16px Arial,Helvetica,sans-serif;outline:0}
input:not([type=checkbox]):focus{box-shadow:inset 0 2px 2px #0008,inset 0 -2px 3px #ffffff80,0 0 0 2px #a98e44}
.remember{display:flex;align-items:center;gap:6px;margin:9px 0;font-size:12px}
.remember input{margin:0;accent-color:#726137}
.login-submit{width:100%;height:37px;padding:5px;border:3px solid #302d23;border-radius:2px;background:#4c4839;color:#dcd8c6;box-shadow:inset 0 0 0 1px #827c66;font:14px LoginKameron,serif;text-transform:uppercase}
.login-submit:hover{background:#625c46}
.portal-main{display:flex;justify-content:center;align-items:flex-start;min-height:100svh;padding:clamp(56px,min(18vh,calc(100svh - 640px)),170px) 20px 64px}
.register-card{width:234px;flex:none;padding:10px 20px 18px}
.game-logo{text-align:center;height:150px;padding-top:2px;margin:0 -9px 4px;color:#22241e;user-select:none}
.logo-eyebrow{display:block;margin-bottom:6px;font:bold 8px Arial,sans-serif;letter-spacing:4px}
.game-logo h1{margin:0;font:700 46px/.94 LoginOswald,'Arial Narrow',sans-serif;letter-spacing:-1.5px}
.logo-year{display:block;background:#26281f;color:#ddd9c8;width:142px;margin:9px auto 0;padding:1px 0 2px;font:bold 21px/25px LoginOswald,sans-serif;letter-spacing:4px}
.password-hint{display:block;margin:-3px 0 7px;color:#6c6657;font-size:10px;line-height:14px}
.register-note{margin:8px 0 0;font-size:11px;line-height:15px;color:#666050}
.play-button{display:block;width:226px;height:117px;margin:5px -16px 0;padding:0;border:0;background:transparent url('./assets/login/play-button.png') center/226px 117px no-repeat;color:#fff;font:700 24px/117px LoginKameron,Georgia,serif;text-transform:uppercase;text-shadow:0 2px 2px #3c250e;transition:filter .15s}
.play-button:hover{filter:brightness(1.12)}
.play-button:active{filter:brightness(.92);transform:translateY(1px)}
.card-divider{text-align:center;height:18px;color:#a9a18a;font:20px/18px LoginKameron,serif;letter-spacing:5px;text-shadow:0 1px #fffa;white-space:nowrap}
.existing-account{text-align:center;margin:9px 0 5px;font-size:13px}
.open-login{display:block;margin:auto;padding:3px 0;border:0;background:none;color:#544c37;font-size:13px;text-decoration:underline;text-underline-offset:3px}
.open-login:hover{color:#18170f}
.form-status{margin:8px 0;padding:7px 8px;background:#a93c2720;border:1px solid #8b3e3066;border-radius:3px;color:#753024;font-size:12px;line-height:17px;overflow-wrap:anywhere}
.portal-footer{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:space-between;gap:22px;padding:18px max(32px,calc((100vw - 900px)/2)) 20px;color:#ddd8c5;text-shadow:0 1px 2px #000;font-size:10px;pointer-events:none;z-index:-1}
@media(max-width:560px){.portal-header{right:16px;left:16px;justify-content:space-between}.portal-language{font-size:10px}.portal-main{padding-top:76px}.login-background video{object-position:43% center}.portal-footer{position:relative;gap:14px;padding:0 12px 18px;margin-top:-47px;z-index:0}.login-panel{width:min(270px,calc(100vw - 32px))}}
@media(prefers-reduced-motion:reduce){.login-background video{display:none}.play-button{transition:none}}
