
:root{--gold:#f6ad24;--gold-light:#ffd36d;--ink:#080a0b;--panel:#101416;--line:#765322;--cream:#f4e5bf}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;display:grid;place-items:center;padding:28px;background:radial-gradient(circle at 70% 20%,#71400f66,transparent 35%),#060708;color:var(--cream);font:17px/1.4 Oswald,sans-serif}
a{color:var(--gold-light)}
.gate{width:min(1180px,96vw);position:relative}.gate img{width:100%;max-height:96vh;object-fit:contain;display:block}.gate-actions{position:absolute;left:50%;bottom:8%;transform:translateX(-50%);display:flex;gap:14px}
.gate-actions a,.auth button{padding:14px 26px;border:1px solid var(--gold-light);background:linear-gradient(#ffc75b,#d48611);color:#180f04;text-decoration:none;font:700 16px Oswald,sans-serif;letter-spacing:.06em;box-shadow:0 5px 22px #000;cursor:pointer}
.auth{width:min(1060px,100%);min-height:680px;position:relative;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);column-gap:48px;padding:54px 58px 46px;overflow:hidden;border:1px solid var(--line);background:linear-gradient(90deg,transparent 0 49%,#0d1113ee 55%),var(--panel);box-shadow:0 24px 90px #000}
.auth::before{content:"";position:absolute;inset:0 48% 0 0;background:linear-gradient(90deg,transparent 60%,#101416),linear-gradient(0deg,#080a0bcc,transparent 55%),url('assets/poster-960.webp') center/cover no-repeat;filter:saturate(.85) contrast(1.08)}
.auth::after{content:"JANUSZ FORTRESS";position:absolute;left:34px;bottom:28px;color:var(--gold-light);font:800 27px 'Roboto Slab',serif;letter-spacing:.08em;text-shadow:0 3px 12px #000}
.auth>*{position:relative;z-index:1;grid-column:2;min-width:0}
.mini{width:62px;height:68px;display:grid;place-items:center;border:3px solid var(--gold);color:var(--gold-light);font:800 27px 'Roboto Slab',serif}
.auth h1{margin:20px 0 6px;color:#ffc451;font:800 32px/1.1 'Roboto Slab',serif}
.auth h1::after{content:"";display:block;width:70px;height:3px;margin-top:16px;background:var(--gold)}
.auth form{margin-top:22px}
label{display:block;margin:13px 0;color:#d8bd87;font-size:15px;letter-spacing:.04em;text-transform:uppercase}
input{display:block;width:100%;margin-top:6px;padding:12px 13px;border:1px solid #70542d;outline:0;background:#07090a;color:#fff;font:16px Oswald,sans-serif;transition:border-color .18s,box-shadow .18s}
input:focus{border-color:var(--gold-light);box-shadow:0 0 0 3px #f6ad241f}
.auth button{width:100%;margin-top:10px}.auth button:hover{filter:brightness(1.08)}
.error{padding:11px 13px;border:1px solid #bd4435;background:#431713;color:#ffb3aa}
.auth p:last-child{text-align:center;margin:18px 0 0}
@media(max-width:760px){body{padding:14px}.auth{display:block;width:min(500px,100%);min-height:0;padding:28px 24px}.auth::before{opacity:.13;inset:0;background:url('assets/poster-480.webp') center/cover}.auth::after{display:none}.gate-actions{bottom:4%}.gate-actions a{padding:10px 14px}}

:where(a,button,input,select,textarea):focus-visible{outline:3px solid #ffd36d;outline-offset:4px}
.password-field{display:block;position:relative;margin-top:6px}
.password-field input{margin-top:0;padding-right:86px}
.auth .password-toggle{position:absolute;right:5px;top:5px;width:auto;min-height:38px;margin:0;padding:6px 10px;background:#24201a;color:#ffd36d;box-shadow:none;font-size:14px;letter-spacing:0}
.auth .intro{color:#d8bd87;font-size:16px}
.registration-actions{display:grid;gap:12px;margin-top:24px}.registration-actions a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px;border:1px solid var(--gold-light);background:linear-gradient(#ffc75b,#d48611);color:#180f04;text-decoration:none;font-weight:700;letter-spacing:.05em}.registration-actions a.secondary{justify-content:center;background:#171b19;color:var(--gold-light);border-color:var(--line)}.availability-note{margin:20px 0 0;padding:12px 14px;border-left:3px solid var(--gold);background:#080b0c;color:#d8bd87;font-size:14px;line-height:1.6}.register-gateway .public-links{grid-column:2}
.public-links{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 18px;margin-top:24px;font-size:14px;text-transform:none;letter-spacing:0}
.public-links a{padding:5px 0}
.auth small{display:block;color:#d8bd87;text-transform:none;letter-spacing:0;margin-top:5px}
.legal{width:min(900px,100%);padding:28px;background:#101416;border:1px solid #765322}
.legal h1,.legal h2{color:#ffd36d;font-family:'Roboto Slab',serif}
.legal p,.legal li{line-height:1.7}
.legal nav{display:flex;flex-wrap:wrap;gap:16px}
@media(max-width:400px){.auth{width:100%;padding:24px 18px}.auth h1{font-size:27px}.legal{padding:20px 16px}}
