:root{--red:#ff372e;--red-dark:#8d0b0c;--ember:#ff9b42;--cyan:#61e8ff;--ink:#050607;--paper:#f8f4ef;--muted:#9da7aa;--line:rgba(255,255,255,.11)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,system-ui,sans-serif;background:var(--ink);color:var(--paper)}body{min-height:100svh;display:grid;place-items:center;padding:68px 24px 32px;overflow-x:hidden}.backdrop{position:fixed;inset:0;background:linear-gradient(90deg,rgba(4,6,7,.55),rgba(4,6,7,.78)),url('../images/deathland-city-hero.webp') center/cover no-repeat;transform:scale(1.02)}.backdrop:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 76% 38%,rgba(255,32,24,.14),transparent 26%),linear-gradient(0deg,rgba(3,4,5,.88),transparent 52%)}
.home-link{position:fixed;top:22px;left:28px;z-index:5;display:flex;align-items:center;gap:9px;color:#d1aaa0;text-decoration:none;text-transform:uppercase;font-size:8px;font-weight:800;letter-spacing:.16em}.home-link span{font-size:17px;color:#f05a45}.home-link:hover{color:#fff}
.gateway{position:relative;z-index:2;width:min(1080px,100%);min-height:690px;display:grid;grid-template-columns:.92fr 1.08fr;border:1px solid rgba(255,83,59,.32);background:#0b0303;box-shadow:0 38px 140px #000,0 0 60px rgba(172,16,13,.16);overflow:hidden}.gateway:before,.gateway:after{content:"";position:absolute;width:35px;height:35px;z-index:3;pointer-events:none}.gateway:before{top:12px;left:12px;border-top:1px solid #ef5541;border-left:1px solid #ef5541}.gateway:after{right:12px;bottom:12px;border-right:1px solid #ef5541;border-bottom:1px solid #ef5541}
.gateway-art{position:relative;display:flex;align-items:flex-end;padding:46px;background:linear-gradient(0deg,rgba(6,2,2,.98),rgba(6,2,2,.08) 75%),url('../deathland-red-knight.webp') 70% center/cover no-repeat;overflow:hidden}.gateway-art:after{content:"";position:absolute;inset:0;border-right:1px solid var(--line);box-shadow:inset -35px 0 60px rgba(0,0,0,.3)}.art-content{position:relative;z-index:1;max-width:390px}.crest{width:54px;height:62px;display:grid;place-items:center;clip-path:polygon(50% 0,94% 18%,88% 77%,50% 100%,12% 77%,6% 18%);background:linear-gradient(145deg,#ff4d3d,#6e0606);font:900 23px Cinzel;filter:drop-shadow(0 0 17px rgba(255,48,36,.4))}.overline{margin:24px 0 10px;color:#f06a55;font-size:8px;font-weight:800;letter-spacing:.27em;text-transform:uppercase}.art-content h1{margin:0;font:900 clamp(47px,5vw,70px)/.86 Cinzel;text-transform:uppercase;letter-spacing:-.05em}.art-content h1 em{font-style:normal;background:linear-gradient(180deg,#ff755c,#d81b18 62%,#7a0707);background-clip:text;-webkit-background-clip:text;color:transparent}.art-copy{max-width:330px;margin:22px 0;color:#b69c94;font-size:12px;line-height:1.7}.realm-state{display:flex;align-items:center;gap:12px;margin-top:28px;padding-top:18px;border-top:1px solid var(--line)}.realm-state i{width:9px;height:9px;border-radius:50%;background:#9bec79;box-shadow:0 0 14px #80e761}.realm-state b,.realm-state small{display:block}.realm-state b{font-size:9px;text-transform:uppercase;letter-spacing:.13em}.realm-state small{margin-top:3px;color:#826e67;font-size:8px}
.terminal{position:relative;padding:45px 50px 32px;background:radial-gradient(circle at 90% 0,rgba(149,13,12,.13),transparent 28%),linear-gradient(145deg,#160707,#090303 68%)}.terminal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.terminal-head p{margin:0 0 7px;color:#e65340;font-size:8px;font-weight:900;letter-spacing:.25em;text-transform:uppercase}.terminal-head h2{margin:0;font:800 clamp(25px,3vw,38px) Cinzel;text-transform:uppercase}.terminal-code{padding:7px 9px;border:1px solid var(--line);color:#8d7068;font:700 8px Cinzel;letter-spacing:.14em}
.tabs{display:grid;grid-template-columns:1fr 1fr;margin:30px 0 27px;border-bottom:1px solid var(--line)}.tabs button{position:relative;padding:13px;border:0;color:#806a64;background:transparent;text-transform:uppercase;font-size:9px;font-weight:900;letter-spacing:.14em;cursor:pointer}.tabs button:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:linear-gradient(90deg,#f43d31,#8f0909);transform:scaleX(0);transition:.25s}.tabs button.active{color:#fff}.tabs button.active:after{transform:scaleX(1)}
.form{display:none}.form.active{display:grid;gap:15px;animation:formIn .3s ease}.form-intro{display:grid;gap:4px;margin-bottom:2px}.form-intro b{font:700 15px Cinzel}.form-intro span{color:#8f7770;font-size:10px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}label{display:block;color:#b79e96;font-size:8px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}input{width:100%;height:48px;margin-top:7px;padding:0 14px;border:1px solid rgba(255,100,75,.19);outline:0;color:#fff;background:rgba(6,2,2,.75);font-size:12px;letter-spacing:0;text-transform:none;transition:.2s}input::placeholder{color:#5f4d48}input:focus{border-color:#e74134;box-shadow:0 0 0 3px rgba(231,65,52,.09),0 0 24px rgba(205,30,24,.08)}.password-field{position:relative;display:block}.password-field input{padding-right:62px}.reveal-password{position:absolute;right:7px;bottom:7px;height:34px;padding:0 9px;border:0;color:#c57060;background:#1b0807;text-transform:uppercase;font-size:7px;font-weight:900;letter-spacing:.08em;cursor:pointer}.reveal-password:hover{color:#fff}.submit{height:50px;margin-top:3px;padding:0 17px;display:flex;align-items:center;justify-content:space-between;border:0;color:#fff;background:linear-gradient(100deg,#ed392f,#830808);box-shadow:0 12px 28px rgba(204,26,22,.22);text-transform:uppercase;font-size:9px;font-weight:900;letter-spacing:.14em;cursor:pointer;transition:.2s}.submit:hover:not(:disabled){transform:translateY(-2px);filter:brightness(1.1)}.submit:disabled{opacity:.62;cursor:wait}.submit i{font-style:normal;font-size:17px}.form-foot{margin:0;color:#705d57;font-size:8px;line-height:1.55}.form-foot a{color:#c66b5c}
#msg{min-height:20px;margin-top:12px;padding:0;color:#ff8e76;font-size:10px;line-height:1.45}#msg.error,#msg.success,#msg.loading{padding:10px 12px;border-left:2px solid}#msg.error{border-color:#ff5846;background:rgba(255,68,54,.08);color:#ff917f}#msg.success{border-color:#8fef76;background:rgba(106,227,82,.08);color:#aef49e}#msg.loading{border-color:#e9a03d;background:rgba(233,160,61,.07);color:#eec181}.guest-entry{display:flex;justify-content:space-between;gap:14px;margin-top:16px;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:#806c65;font-size:9px}.guest-entry a{color:#f16a54;text-decoration:none;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.terminal footer{margin-top:17px;color:#5f4f4a;font-size:7px;text-transform:uppercase;letter-spacing:.12em}.terminal footer a{color:#9b5146;text-decoration:none}@keyframes formIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(max-width:820px){body{padding:60px 16px 25px}.gateway{width:min(570px,100%);grid-template-columns:1fr}.gateway-art{min-height:235px;padding:27px;background-position:70% 25%}.gateway-art:after{border-right:0;border-bottom:1px solid var(--line);background:linear-gradient(90deg,rgba(5,1,1,.9),rgba(5,1,1,.13))}.art-content{max-width:320px}.crest{width:41px;height:47px;font-size:17px}.overline{margin:15px 0 8px}.art-content h1{font-size:41px}.art-copy,.realm-state{display:none}.terminal{padding:30px 28px 26px}}
@media(max-width:520px){body{padding:52px 10px 16px;display:block}.home-link{top:17px;left:17px}.gateway{min-height:0}.gateway-art{min-height:200px;padding:22px}.art-content h1{font-size:36px}.terminal{padding:26px 20px 23px}.terminal-head h2{font-size:25px}.field-grid{grid-template-columns:1fr}.guest-entry{display:grid;gap:8px}.tabs{margin-top:24px}.terminal footer{line-height:1.6}}
.gateway{background:#080b0d}.gateway-art{background:linear-gradient(0deg,rgba(5,7,8,.98),rgba(5,7,8,.05) 75%),url('../images/deathland-fire-circle.webp') center/cover no-repeat}.terminal{background:radial-gradient(circle at 90% 0,rgba(149,13,12,.13),transparent 28%),linear-gradient(145deg,#11171b,#080b0d 68%)}input{background:rgba(4,7,8,.82)}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
