html{overflow-x:clip}.scanlines{display:none}
.hero{height:auto;min-height:0;padding-top:76px;background:#08050b;display:flex;flex-direction:column}
.official-kv{position:relative;z-index:3;width:100%;height:auto;aspect-ratio:2876/1620;object-fit:contain;opacity:0;animation:reference-in .7s 1.25s forwards}
.kv{top:76px;bottom:auto;width:100%;aspect-ratio:2876/1620}.kv-layer{width:100%;height:100%;object-fit:contain}
.hero-shade,.layer-light,.layer-highlight,.layer-glow,.scroll-indicator{display:none}
.hero-content{position:relative;left:auto;right:auto;bottom:auto;max-width:1240px;width:100%;margin:auto;padding:32px 24px 44px;display:grid;grid-template-columns:1fr 1fr;column-gap:24px;align-items:center}
.hero h1{font-size:clamp(2rem,4vw,3.3rem);line-height:1.25;grid-row:2/4}.hero h1 br{display:none}.hero .eyebrow{grid-column:1/-1}.hero-meta{margin:0 0 15px}.hero .cta-row{grid-column:2}.hero-logo{display:none}
@keyframes reference-in{to{opacity:1}}
video{display:block;width:100%;height:auto;background:#050307;max-height:75vh;object-fit:contain}
.class-stage{min-height:390px}.sprite-actor{height:270px}.class-aura{width:220px;height:220px;left:18%}.class-copy h3{font-size:clamp(3rem,6vw,6rem)}
.actor-frame{width:16px;height:16px;animation:correctIdle .9s steps(1,end) infinite;animation-play-state:paused}.frame-1{animation-delay:.3s}.frame-2{animation-delay:.6s}.motion-active .actor-frame{animation-play-state:running}
@keyframes correctIdle{0%,33.32%{opacity:1}33.33%,100%{opacity:0}}
.class-video{margin-top:24px;border:1px solid #68446d;max-height:620px}#classTraits{font:700 14px/1.8 ui-monospace,monospace;color:var(--mint)}
.world-scroll{overflow-x:auto;border:1px solid #68446d;scrollbar-color:var(--gold) #1e1027}.world-map.real-map{height:auto;aspect-ratio:426/240;min-width:640px;border:0;background:#102019;overflow:hidden}.real-map>img{width:100%;height:100%;image-rendering:pixelated}
.map-hotspot{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);width:8%;height:14%;border:2px solid #8de9bd88;border-radius:8px;background:#8de9bd0a;box-shadow:0 0 12px #8de9bd66;cursor:pointer;transition:box-shadow .2s,background .2s}.map-hotspot:hover,.map-hotspot:focus-visible{border-color:var(--gold);background:#f2c95d22;box-shadow:0 0 14px 5px #f2c95d88,inset 0 0 16px #f2c95d44}
.map-hotspot span{position:absolute;bottom:100%;left:50%;transform:translateX(-50%);white-space:nowrap;background:#0a0713;padding:4px 8px;color:var(--gold);font:700 14px/1.5 ui-monospace,monospace;opacity:0;pointer-events:none}.map-hotspot:hover span,.map-hotspot:focus-visible span{opacity:1}.map-locked{position:absolute;font:700 12px/1.5 ui-monospace,monospace;padding:4px 6px;background:#08050bed;color:#9c90a3;border:1px solid #625066}
.world{min-height:0}.skill-footage{display:grid;grid-template-columns:1.3fr .7fr;gap:40px;align-items:center;margin-bottom:65px}.skill-footage h3{font-size:clamp(1.8rem,3vw,3rem);line-height:1.4}.skill-footage p{color:var(--muted)}.skill-footage video{image-rendering:pixelated}
.dungeon-dialog[open]{display:block}.dialog-media video{max-height:55vh}.dialog-media img{max-height:45vh;object-fit:contain}.dialog-copy{padding:28px 36px}.dialog-copy h2{margin:14px 0}.dialog-copy dl{margin-bottom:0}
@media(max-width:900px){.hero-content{display:block}.hero h1{margin:14px 0}.hero-meta{margin:18px 0}.class-stage{min-height:600px}.class-aura{left:calc(50% - 110px);top:160px}.skill-footage{grid-template-columns:1fr}}
@media(max-width:600px){.hero{padding-top:64px}.kv{top:64px}.kv-layer{height:100%;width:100%;left:0}.official-kv{width:100%;height:auto}.hero-content{padding:26px 20px 32px}.hero h1{font-size:2rem}.hero .eyebrow{max-width:none;font-size:12px}.hero-meta span{font-size:12px}.hero .button{font-size:12px}.world-map.real-map{min-width:640px}.class-copy{padding:24px}.class-copy h3{font-size:3.5rem}.class-stage{min-height:570px}.sprite-actor{height:260px}.dialog-copy{padding:20px}.dialog-copy h2{font-size:2.6rem}.skill-footage{gap:14px}.section-heading h2{overflow-wrap:anywhere}.world .swipe-hint{font-family:inherit;font-size:14px;line-height:1.7}}
@media(max-width:600px){.hero h1 br{display:block}.hero h1{font-size:1.9rem}}
@media(prefers-reduced-motion:reduce){.official-kv{opacity:1}.actor-frame{animation:none!important;opacity:0}.actor-frame.frame-0{opacity:1}}
.kv.psd-kv{position:relative;inset:auto;isolation:isolate;flex-shrink:0;aspect-ratio:2876/1620}
.psd-kv .kv-layer{inset:0;width:100%;height:100%;object-fit:contain;animation:psd-arrive .8s both;filter:none;will-change:opacity,transform}
.psd-kv .layer-bg{animation-delay:0s;--arrival:0px}
.psd-kv .layer-monsters{animation-delay:.2s;--arrival:10px}
.psd-kv .layer-mage{animation-delay:.4s;--arrival:18px}
.psd-kv .layer-warrior{animation-delay:.58s;--arrival:18px}
.psd-kv .layer-archer{animation-delay:.76s;--arrival:24px}
.psd-kv .layer-title{animation-delay:1s;--arrival:-8px}
@keyframes psd-arrive{from{opacity:0;transform:translateY(var(--arrival))}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.psd-kv .kv-layer{animation:none!important;opacity:1;transform:none}}
