:root{color-scheme:dark;--midnight:#06101d;--ink:#091522;--ocean:#0b3149;--ocean-2:#0c4a68;--gold:#d8ae55;--gold-2:#f2d58b;--silver:#d7dee7;--parchment:#ead9b7;--muted:#aab8c6;--line:#d8ae5557;--panel:#07121fc7;--panel-strong:#040c16eb;--shadow:0 24px 70px #0000006b}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--midnight)}body{color:var(--silver);background:radial-gradient(circle at 50% 0,#1a567547,#0000 36rem),linear-gradient(#050b14 0%,#081322 42%,#050b14 100%);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow-x:hidden}body.locked{overflow:hidden}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{font:inherit}.particles{pointer-events:none;opacity:.3;z-index:0;background-image:radial-gradient(circle,#f2d58b73 0 1px,#0000 1px),radial-gradient(circle,#d7dee738 0 1px,#0000 1px);background-size:68px 68px,113px 113px;animation:36s linear infinite drift;position:fixed;inset:0}@keyframes drift{0%{transform:translateY(0)}to{transform:translateY(-113px)}}.site-header{z-index:50;backdrop-filter:blur(18px);background:#050c16c2;border-bottom:1px solid #d8ae5538;justify-content:space-between;align-items:center;gap:20px;height:72px;padding:0 clamp(18px,4vw,64px);display:flex;position:fixed;top:0;left:0;right:0}.brand{color:var(--gold-2);letter-spacing:0;text-transform:uppercase;align-items:center;gap:12px;font-family:Georgia,serif;font-size:1.05rem;display:inline-flex}.brand img{border-radius:50%;width:36px;height:36px}.site-header nav{color:var(--muted);align-items:center;gap:clamp(12px,2vw,28px);font-size:.9rem;display:flex}.site-header nav a:hover,.footer-links a:hover{color:var(--gold-2)}.discord-small{color:#07111f;background:var(--gold);border-radius:4px;padding:10px 15px;font-weight:800}.hero{align-items:end;min-height:92vh;padding:120px clamp(22px,6vw,94px) 76px;display:grid;position:relative;overflow:hidden}.hero-bg{object-fit:cover;width:100%;height:100%;animation:16s ease-in-out infinite alternate heroFloat;position:absolute;inset:0;transform:scale(1.04)}@keyframes heroFloat{0%{transform:scale(1.04)translateY(0)}to{transform:scale(1.08)translateY(-10px)}}.hero-shade{background:linear-gradient(90deg,#03080feb,#03080f8c 42%,#03080f33),linear-gradient(#0000 72%,#050b14 100%);position:absolute;inset:0}.hero-content{z-index:1;max-width:960px;position:relative}.eyebrow{color:var(--gold);text-transform:uppercase;letter-spacing:.12em;margin:0 0 14px;font-size:.78rem;font-weight:800}h1,h2,h3{letter-spacing:0;color:#fff4d4;margin:0;font-family:Georgia,Times New Roman,serif}h1{text-shadow:0 8px 40px #000000a6;font-size:clamp(4rem,13vw,11rem);line-height:.82}h2{font-size:clamp(2.25rem,5vw,5.1rem);line-height:1}h3{font-size:1.45rem;line-height:1.1}p{line-height:1.65}.subtitle{color:var(--gold-2);margin:18px 0 0;font-family:Georgia,serif;font-size:clamp(1.35rem,3vw,2.4rem)}.hero-copy{max-width:720px;color:var(--silver);margin:22px 0 0;font-size:1.12rem}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:34px;display:flex}.btn{border:1px solid var(--line);min-height:46px;color:var(--gold-2);background:#07111fbd;border-radius:4px;justify-content:center;align-items:center;padding:12px 18px;transition:transform .2s,box-shadow .2s,background .2s;display:inline-flex;box-shadow:0 0 #d8ae5500}.btn:hover{background:#0f2b3ed1;transform:translateY(-2px);box-shadow:0 0 28px #d8ae553d}.btn.primary{color:#07111f;background:linear-gradient(#f2d58b,#bc8733);border:none;font-weight:900}.btn.ghost{color:#fff;border-color:#d7dee76b}.btn.big{min-width:210px}.band,.section{z-index:1;position:relative}.stats{border:1px solid var(--line);max-width:1180px;box-shadow:var(--shadow);background:#d8ae552e;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin:-34px auto 0;display:grid}.stats div{text-align:center;background:#050d18eb;padding:22px}.stats strong{color:var(--gold-2);font-family:Georgia,serif;font-size:clamp(1.4rem,2vw,2rem);display:block}.stats span{color:var(--muted);font-size:.88rem}.section{padding:clamp(74px,9vw,128px) clamp(20px,5vw,78px)}.section-head{text-align:center;max-width:980px;margin:0 auto 36px}.section-head p:not(.eyebrow){color:var(--muted);max-width:780px;margin:20px auto 0;font-size:1.05rem}.map-feature{border:1px solid var(--line);background:var(--panel);max-width:1260px;box-shadow:var(--shadow);grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);margin:0 auto 28px;display:grid}.map-feature img{object-fit:cover;width:100%;height:100%;min-height:360px}.map-feature div{align-self:center;padding:clamp(26px,4vw,48px)}.map-feature p,.location-card p,.character-card p,.engine-card p,.extra-card p,.join-panel p{color:var(--muted)}.location-grid{grid-template-columns:repeat(7,minmax(230px,1fr));gap:16px;max-width:1260px;margin:0 auto;padding-bottom:10px;display:grid;overflow-x:auto}.location-card,.character-card,.extra-card,.engine-card,.engine-list div{background:var(--panel);border:1px solid #d8ae553d;box-shadow:0 16px 36px #00000038}.location-card img{object-fit:cover;width:100%;height:180px}.location-card div{padding:18px}.character-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;max-width:1260px;margin:0 auto;display:grid}.character-card{align-items:end;min-height:470px;display:flex;position:relative;overflow:hidden}.character-card img{object-fit:cover;width:100%;height:100%;transition:transform .5s;position:absolute;inset:0}.character-card:hover img{transform:scale(1.05)}.character-card:after{content:"";background:linear-gradient(#03080f2e 38%,#03080ff5);position:absolute;inset:0}.character-copy{z-index:1;padding:22px;position:relative}.character-copy span{color:var(--gold);text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px;font-size:.8rem;font-weight:800;display:block}.engine-section{background:linear-gradient(#091b2c9e,#050b1400)}.engine-layout{grid-template-columns:.9fr 1.1fr;gap:18px;max-width:1160px;margin:0 auto;display:grid}.engine-card.large{padding:clamp(28px,4vw,52px)}.engine-list{gap:12px;display:grid}.engine-list div{padding:18px 20px}.engine-list strong{color:var(--gold-2);margin-bottom:5px;display:block}.engine-list span{color:var(--muted)}.filter-row{flex-wrap:wrap;justify-content:center;gap:10px;margin:0 auto 26px;display:flex}.filter-row button{color:var(--silver);cursor:pointer;background:#07121fcc;border:1px solid #d8ae5540;border-radius:4px;padding:10px 14px}.filter-row button.active,.filter-row button:hover{color:#07111f;background:var(--gold)}.gallery-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;max-width:1280px;margin:0 auto;display:grid}.gallery-item{color:#fff;text-align:left;cursor:zoom-in;background:#07111f;border:1px solid #d8ae553d;min-height:230px;padding:0;position:relative;overflow:hidden}.gallery-item img{object-fit:cover;width:100%;height:100%;min-height:230px;transition:transform .4s,opacity .4s}.gallery-item:hover img{opacity:.82;transform:scale(1.05)}.gallery-item span,.gallery-item strong{z-index:1;text-shadow:0 2px 12px #000;position:absolute;left:14px;right:14px}.gallery-item span{color:var(--gold-2);text-transform:uppercase;font-size:.78rem;font-weight:900;bottom:42px}.gallery-item strong{font-family:Georgia,serif;font-size:1.05rem;bottom:14px}.gallery-item:after{content:"";background:linear-gradient(#0000 44%,#02060ac7);position:absolute;inset:0}.join-panel{border:1px solid var(--line);max-width:1180px;box-shadow:var(--shadow);background:linear-gradient(135deg,#0a2a3eeb,#07111feb);grid-template-columns:1fr auto;align-items:center;gap:28px;margin:0 auto;padding:clamp(30px,5vw,64px);display:grid}.extras-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;max-width:1180px;margin:0 auto;display:grid}.extra-card{padding:24px}.site-footer{z-index:1;border-top:1px solid var(--line);color:var(--muted);background:#040910;flex-wrap:wrap;justify-content:space-between;gap:18px;padding:32px clamp(20px,5vw,78px);display:flex;position:relative}.site-footer strong{color:var(--gold-2);font-family:Georgia,serif;display:block}.footer-links{color:var(--silver);gap:18px;display:flex}.lightbox{z-index:100;background:#02060beb;justify-content:center;align-items:center;padding:62px 22px 28px;display:none;position:fixed;inset:0}.lightbox[aria-hidden=false]{display:flex}.lightbox img{object-fit:contain;border:1px solid var(--line);max-width:min(1180px,96vw);max-height:82vh;box-shadow:var(--shadow)}.lightbox strong{color:var(--gold-2);font-family:Georgia,serif;font-size:1.2rem;position:fixed;bottom:20px;left:24px}.lightbox-close{border:1px solid var(--line);color:var(--gold-2);cursor:pointer;background:#07111f;border-radius:4px;padding:10px 14px;position:fixed;top:18px;right:20px}.reveal{opacity:0;transition:opacity .7s,transform .7s;transform:translateY(22px)}.reveal.visible{opacity:1;transform:translateY(0)}@media (width<=980px){.site-header{flex-wrap:wrap;height:auto;min-height:68px;padding:12px 18px}.site-header nav{order:3;width:100%;padding-bottom:4px;overflow-x:auto}.hero{min-height:86vh;padding-top:150px}.stats,.map-feature,.engine-layout,.join-panel{grid-template-columns:1fr}.character-grid,.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.extras-grid{grid-template-columns:1fr}}@media (width<=620px){h1{font-size:clamp(3.4rem,18vw,5.5rem)}.hero-actions .btn{width:100%}.stats{grid-template-columns:repeat(2,minmax(0,1fr));margin:0}.section{padding-left:16px;padding-right:16px}.character-grid,.gallery-grid{grid-template-columns:1fr}.character-card{min-height:430px}.location-grid{grid-template-columns:repeat(7,82vw)}}.music-player{z-index:60;backdrop-filter:blur(18px);background:#040c16e0;border:1px solid #d8ae5557;grid-template-columns:1fr auto;align-items:center;gap:10px 12px;width:min(360px,100vw - 28px);padding:14px;display:grid;position:fixed;bottom:clamp(14px,2vw,24px);right:clamp(14px,2vw,24px);box-shadow:0 18px 46px #0000006b}.music-meta span,.music-volume span,.music-status{color:var(--muted);font-size:.74rem}.music-meta strong{color:var(--gold-2);margin-top:3px;font-family:Georgia,serif;font-size:1rem;line-height:1.1;display:block}.music-toggle{color:#07111f;cursor:pointer;background:linear-gradient(#f2d58b,#bc8733);border:0;border-radius:4px;min-height:38px;padding:9px 12px;font-weight:900}.music-volume{grid-column:1/-1;grid-template-columns:auto 1fr;align-items:center;gap:10px;display:grid}.music-volume input{width:100%;accent-color:var(--gold)}.music-status{grid-column:1/-1;margin:0;line-height:1.35}@media (width<=620px){.music-player{bottom:12px;left:12px;right:12px}.site-footer{padding-bottom:178px}}
