/* Scripthollow — cinematic presentation. Motion is decorative and can be reduced. */
:root{--paper:#dfd4bd;--muted:#918d84;--red:#b3443e;--line:#ffffff17;--bg:#0b0c0d;--serif:Georgia,'Times New Roman',serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{background:var(--bg);color:var(--paper);margin:0;font-family:Arial,Helvetica,sans-serif;overflow-x:hidden}button,a,input,select{-webkit-tap-highlight-color:transparent}button{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid #dbc49a;outline-offset:6px}::selection{background:#943a37;color:#f6e6c9}main{max-width:none;padding:0}h1,h2,h3,p{margin-top:0}em{font-family:var(--serif);font-weight:400}button:disabled{opacity:.3;cursor:default}.header{position:absolute;inset:0 0 auto;z-index:5;width:auto;height:94px;margin:0 4.5%;max-width:none;padding:0;border-bottom:1px solid #c6c0a82d;display:flex;align-items:center;gap:35px;background:transparent}.wordmark{font-family:var(--serif);font-size:23px;font-weight:bold;letter-spacing:-.8px;white-space:nowrap}.header nav{display:flex;gap:30px;margin:auto;font-size:11px;text-transform:uppercase;letter-spacing:1.5px}.header nav a{color:#c2bcb1;position:relative;padding:12px 0}.header nav a:after{content:'';position:absolute;left:0;bottom:3px;height:1px;background:#c75b4f;width:0;transition:width .3s}.header nav a:hover:after{width:100%}.nav-play{padding:13px 22px;border:1px solid #b5a38b77;background:#10101455;color:var(--paper);text-transform:uppercase;font-size:11px;letter-spacing:1px}.nav-play span{margin-left:25px}.eyebrow{font-family:monospace;font-size:10px;line-height:1.5;letter-spacing:2px;color:#c6aa8f;display:block}.red-dot{background:#c24b41;box-shadow:0 0 14px #ce4c4488;display:inline-block;margin-right:10px;width:5px;height:5px}.hero-scene{height:min(900px,100svh);min-height:730px;position:relative;overflow:hidden;isolation:isolate}.hero-environment{position:absolute;inset:-5% -3%;background:url('assets/world/arcade-ward.png') 50% 35% /cover no-repeat;filter:saturate(.75);transform:translate3d(0,var(--scene-y,0px),0) scale(1.02);will-change:transform;z-index:-5}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#080a0ee0 0%,#080a0e80 42%,#10090a08 72%),linear-gradient(0deg,#0b0c0d 1%,#0b0c0d00 33%,#08090b66 100%);z-index:-3}.hero-copy{position:relative;width:64%;padding:174px 0 0 7.5%;z-index:2;pointer-events:none}.hero-copy>*{pointer-events:auto}.hero-copy .eyebrow{margin-bottom:27px;animation:rise-in .8s both .15s}.hero-copy h1{font-family:var(--serif);font-weight:400;font-size:clamp(56px,6.9vw,106px);letter-spacing:-4px;line-height:.94;margin:0 0 28px;color:#ebdfc6;text-shadow:0 5px 30px #0003;animation:rise-in 1s both .25s}.hero-copy h1 em{color:#ca7464;font-weight:400}.hero-description{font-size:14px;line-height:1.8;letter-spacing:.15px;color:#c8c1b2;animation:rise-in .9s both .45s}.hero-actions{display:flex;gap:28px;align-items:center;margin-top:30px;animation:rise-in .9s both .55s}.primary-button{display:inline-flex;align-items:center;justify-content:center;gap:18px;width:auto;background:#a73e37;border:1px solid #c06454;color:#f4e3cc;min-height:52px;padding:17px 25px;font-size:11px;letter-spacing:1.2px;text-transform:uppercase;font-weight:500;transition:background .25s,transform .25s,box-shadow .25s}.primary-button:hover{background:#c04f43;box-shadow:0 0 34px #ab3b3829;transform:translateY(-2px)}.primary-button span:last-child{margin-left:12px}.play-triangle{font-size:9px}.text-link{font-size:10px;letter-spacing:1.4px;text-transform:uppercase;border-bottom:1px solid #ae9d8255;padding:12px 0;display:inline-block}.text-link span{margin-left:12px}.hero-footnote{font-size:8px;letter-spacing:1.5px;color:#797b79;margin-top:23px;animation:rise-in .9s both .65s}.hero-figure{position:absolute;right:1.5%;top:22%;width:48%;height:75%;z-index:-1;animation:figure-in 1.5s both .15s}.hero-figure>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 25px 22px #000a);transform:translate3d(var(--figure-x,0px),var(--figure-y,0px),0);will-change:transform}.hero-halo{position:absolute;left:26%;top:4%;width:57%;aspect-ratio:1;border:1px solid #cd6d4736;border-radius:50%;box-shadow:0 0 80px #a2392b22,inset 0 0 80px #b7362417;animation:halo-breathe 7s ease-in-out infinite}.hero-halo:before{content:'';position:absolute;inset:-14px;border:1px dashed #ca774f30;border-radius:50%;animation:orbit 100s linear infinite}.figure-caption{position:absolute;bottom:2%;left:28%;font-family:monospace;font-size:8px;letter-spacing:2px;color:#b4a693}.figure-caption i{color:#bd5545;margin:0 8px}.scroll-cue{position:absolute;bottom:28px;left:7.5%;display:flex;align-items:center;gap:14px;font-family:monospace;font-size:8px;letter-spacing:2px;color:#a6a199}.scroll-cue span{height:38px;width:1px;background:linear-gradient(#b85245,transparent);animation:scroll-pulse 2s infinite}.scene-coordinate{position:absolute;bottom:32px;right:4.5%;font-size:8px;line-height:1.9;letter-spacing:1.6px;text-align:right;color:#b9a995}.scene-coordinate span{color:#777974;font-size:7px}.hero-embers{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:1}.hero-embers i{position:absolute;width:2px;height:2px;background:#e17a48;box-shadow:0 0 8px #e77443;bottom:-10px;animation:ember-rise var(--duration) linear infinite var(--delay);opacity:0}.world-ticker{background:#171314;border-top:1px solid #9e514331;border-bottom:1px solid #9e514331;height:48px;display:flex;align-items:center;overflow:hidden;color:#b9aa95;font-family:monospace;font-size:9px;letter-spacing:2.5px}.world-ticker>div{white-space:nowrap;animation:marquee 55s linear infinite}.world-ticker i{color:#b95645;margin:0 46px;font-style:normal}.content-section{padding:100px 7.5%;max-width:1700px;margin:auto;scroll-margin-top:30px}.section-rule{margin:0 0 47px;padding:0 0 17px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-family:monospace;font-size:9px;letter-spacing:1.3px;color:#969084}.section-rule i{color:#ad4f41;margin-left:20px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:46px;gap:32px}.section-heading h2{font:400 clamp(36px,4.5vw,65px)/1 var(--serif);letter-spacing:-1.8px;margin:0}.section-heading h2 em{color:#ac9a80}.section-heading>p{font-size:12px;line-height:1.9;color:#8f928f;max-width:340px;margin-bottom:4px}.character-stage{min-height:510px;display:grid;grid-template-columns:1.1fr 1fr;position:relative;background:radial-gradient(ellipse at 26% 50%,color-mix(in srgb,var(--accent) 13%,transparent),transparent 58%);border:1px solid var(--line);overflow:hidden}.character-stage:before{content:'UNLISTED';position:absolute;left:2%;top:35%;font:100px var(--serif);letter-spacing:-5px;color:#ffffff03;pointer-events:none}.character-visual{position:relative;min-height:490px}.character-visual:after{content:'';position:absolute;bottom:32px;left:19%;width:62%;height:15px;border:1px solid #b9a48a40;border-radius:50%;box-shadow:0 0 28px #b9a48a12;z-index:0}.character-visual img{position:absolute;inset:5% 6%;width:88%;height:87%;object-fit:contain;z-index:1;filter:drop-shadow(0 20px 12px #0009);animation:character-arrive .6s both}.character-number{position:absolute;top:25px;left:28px;font:italic 60px var(--serif);color:#ffffff0e}.character-biography{padding:55px 9% 45px 4%;align-self:center;animation:rise-in .4s both}.character-biography h3{font:400 45px/1 var(--serif);letter-spacing:-1px;margin-bottom:13px}.character-biography .character-class{color:var(--accent);font-size:10px;letter-spacing:3px;margin-bottom:22px}.character-biography .description{color:#969990;font-size:12px;line-height:1.9;max-width:330px}.character-facts{display:grid;grid-template-columns:1fr 1fr;gap:20px;border-top:1px solid var(--line);padding-top:20px;margin:22px 0 28px}.character-facts small{font-size:8px;letter-spacing:1.5px;color:#6e746f;display:block;margin-bottom:7px}.character-facts b{font-size:11px;font-weight:400;color:#c6baa4}.character-choose{background:transparent;border-color:var(--accent);color:var(--paper)}.collection{display:grid;grid-template-columns:repeat(6,1fr);gap:1px;background:var(--line);margin:1px 0 0;padding:0}.hero-tab{background:#101112;border:0;border-bottom:2px solid transparent;color:#a7a392;padding:18px 10px;display:flex;flex-direction:column;align-items:center;gap:13px;transition:background .3s,border-color .3s}.hero-tab img{width:57px;height:57px;object-fit:cover;border-radius:50%;filter:saturate(.4);transition:filter .3s,transform .3s;opacity:.65}.hero-tab strong{font-size:8px;letter-spacing:1.2px;font-weight:400}.hero-tab small{font-size:7px;letter-spacing:.7px;color:#6e746f}.hero-tab.active,.hero-tab:hover{background:#1c1b1c;border-color:var(--accent)}.hero-tab.active img,.hero-tab:hover img{filter:saturate(1);opacity:1;transform:scale(1.06)}.bestiary-section{padding-top:30px}.boss-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:46px}.boss-tab{background:transparent;color:#777b77;border:0;border-right:1px solid var(--line);padding:24px 15px;text-align:left;font-size:10px;letter-spacing:1.5px;position:relative}.boss-tab b{color:#605953;font-family:var(--serif);font-size:18px;margin-right:18px;font-weight:400}.boss-tab.active{color:#e8d5b8;background:linear-gradient(0deg,#a4382d12,transparent)}.boss-tab:after{content:'';height:2px;position:absolute;bottom:-1px;left:0;width:0;background:var(--boss-color);transition:width .4s}.boss-tab.active:after{width:100%}.boss-stage{position:relative;min-height:560px;display:grid;grid-template-columns:1.05fr 1fr;background:radial-gradient(ellipse at 29% 52%,color-mix(in srgb,var(--boss-color) 10%,transparent),transparent 57%);border-bottom:1px solid var(--line);overflow:hidden}.boss-visual{position:relative;min-height:550px;isolation:isolate}.boss-visual img{position:absolute;left:5%;top:3%;width:90%;height:90%;object-fit:contain;filter:drop-shadow(0 20px 24px #000);animation:boss-arrive .65s both,warden-breathe 5s 1s ease-in-out infinite;z-index:2}.boss-ring{position:absolute;left:16%;top:18%;width:69%;aspect-ratio:1;border:1px solid color-mix(in srgb,var(--boss-color) 23%,transparent);border-radius:50%;z-index:0;animation:orbit 80s linear infinite}.boss-ring:before,.boss-ring:after{content:'';position:absolute;inset:10%;border:1px dashed color-mix(in srgb,var(--boss-color) 20%,transparent);border-radius:50%}.boss-ring:after{inset:-10%;border-style:dotted}.boss-ordinal{position:absolute;left:2%;bottom:7%;font:italic 140px var(--serif);color:#ffffff05}.boss-info{padding:65px 7% 50px 9%;align-self:center;animation:rise-in .5s both}.boss-info h3{font:400 46px/.98 var(--serif);letter-spacing:-1px;max-width:310px;margin:18px 0}.boss-info .epithet{font:italic 16px var(--serif);color:var(--boss-color)}.boss-info .boss-desc{font-size:12px;line-height:1.9;color:#9a9c93;max-width:350px;margin:22px 0}.boss-pattern{font-family:monospace;font-size:9px;color:#b3a48e;line-height:2;border-left:2px solid var(--boss-color);padding-left:16px;margin:25px 0}.boss-info .primary-button{background:transparent;border-color:#c1634c6e}.boss-hint{font-family:monospace;font-size:8px;color:#68716c;margin-top:15px}.enemy-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:38px 0 22px}.enemy-heading .eyebrow{margin:0}.enemy-heading>span:last-child{font-family:monospace;font-size:8px;color:#656c65;letter-spacing:1px}.enemy-roster{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.enemy-entry{border:1px solid var(--line);background:linear-gradient(#16171960,#111314);padding:18px;position:relative;overflow:hidden}.enemy-entry img{width:100%;height:156px;object-fit:contain;transition:transform .5s;filter:drop-shadow(0 10px 6px #0009)}.enemy-entry:hover img{transform:translateY(-7px) rotate(-2deg)}.enemy-entry h4{font:400 15px var(--serif);letter-spacing:.4px;margin:19px 0 7px}.enemy-entry .role{font-family:monospace;font-size:8px;color:#b67963;letter-spacing:1.2px}.enemy-entry p{font-size:10px;line-height:1.7;color:#798079;margin:11px 0 0}.world-section{padding-top:45px}.map-layout{display:grid;grid-template-columns:1fr 290px;border:1px solid var(--line);gap:0;background:#0f1111}.map-canvas{position:relative;overflow:hidden;isolation:isolate;aspect-ratio:1.5;min-height:0}.map-canvas:after{content:'';position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 70px #05070799}.map-canvas>img{width:100%;height:100%;object-fit:cover;transition:transform 1.7s;filter:saturate(.72)}.map-canvas:hover>img{transform:scale(1.035)}.map-caption{position:absolute;bottom:17px;left:22px;font-size:7px;letter-spacing:1.5px;background:#080b0dc9;padding:8px;z-index:3}.map-pin{width:31px;height:31px;border:1px solid #bdad8a;transform:translate(-50%,-50%) rotate(45deg);background:#171617eb;font-size:9px;z-index:4;color:#e8d6b2;box-shadow:0 0 20px #000}.map-pin.active{background:#953b35;border-color:#e6b8a0;animation:map-pulse 2.8s infinite}.map-pin .pin-label{transform:rotate(-45deg);font-size:8px;z-index:8;left:35px;top:-35px}.region-panel{background:#111313;border:0;border-left:1px solid var(--line);padding:35px 26px;display:flex;flex-direction:column;justify-content:center}.region-index{font-size:8px;color:#996554;letter-spacing:2px}.region-panel h3{font:400 29px/1.06 var(--serif);margin:25px 0 12px}.region-panel .ru{font:italic 13px var(--serif);color:#897a64;margin-bottom:25px}.region-description{font-size:11px;line-height:1.9;color:#93978d}.region-status{font-size:7px;letter-spacing:1px;line-height:1.7;margin-top:20px;color:#b69b7e}.line-button{font-size:10px;letter-spacing:1px;text-transform:uppercase;color:#d6cbb6;background:none;border:1px solid #aaa08a40;padding:13px 17px;transition:background .25s}.line-button:hover{background:#ffffff08}.manifesto{padding:96px 24px 100px;border:0;border-top:1px solid var(--line);margin:10px 0 0;background:radial-gradient(ellipse at 50% 25%,#65392e19,transparent 62%);text-align:center}.manifesto .eyebrow{margin:25px 0}.manifesto-mark{font-size:36px;color:#a85748;animation:halo-breathe 6s infinite}.manifesto h2{font:400 clamp(37px,4.7vw,62px)/1.08 var(--serif);letter-spacing:-1px;margin-bottom:24px}.manifesto h2 em{color:#a48f70}.manifesto>p:last-child{font-size:12px;line-height:1.9;color:#898d83}.edition-section{max-width:1700px;padding:0 7.5% 70px;margin:auto}.edition-heading{display:flex;justify-content:space-between;align-items:center;margin:30px 0 35px;gap:25px}.edition-heading h2{font:400 53px var(--serif);letter-spacing:-1px;margin:0 0 10px}.edition-heading p{font-size:11px;color:#8b9487}.mint-price{border-left:1px solid #b359424b;padding:0 0 0 32px;text-align:left}.mint-price strong{font:400 39px var(--serif);margin:7px 0 10px;display:block;color:#e2d0af}.mint-price strong span{font:12px monospace;color:#bb8b67}.mint-price small{font:8px monospace;letter-spacing:1.2px;color:#827e70}.edition-toolbar{padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:24px;gap:25px;display:flex;align-items:center}.edition-toolbar label{display:flex;gap:14px;align-items:center;font-size:9px;color:#8b9388}.edition-toolbar input,.edition-toolbar select{background:#101412;border:1px solid #afba9e22;color:#c2c8b6;padding:11px 12px;font:10px monospace;border-radius:0;max-width:195px}.edition-toolbar input{width:140px}#edition-count{margin-left:auto;font:10px monospace;color:#7e887e}.edition-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:23px}.edition-card{border:1px solid var(--line);background:#131616;padding:0 0 15px;min-width:0;transition:transform .4s,border-color .4s}.edition-card:hover{transform:translateY(-6px);border-color:#be95607a}.edition-card img{width:100%;aspect-ratio:1;object-fit:cover;display:block;transition:filter .4s}.edition-card>div{padding:14px 14px 0;display:flex;justify-content:space-between;gap:8px}.edition-card strong{font:13px var(--serif);color:#e0c9a6}.edition-card span{font-size:8px;color:#bdbaa8}.edition-card small{display:block;padding:9px 14px 0;color:#6e8173;font-size:8px;text-align:left;line-height:1.6}.edition-pagination{display:flex;justify-content:space-between;align-items:center;margin-top:28px;font:10px monospace;color:#798574}.history{padding-top:40px;padding-bottom:100px;border:0;gap:70px}.history h2{font:400 58px/1 var(--serif);letter-spacing:-1px}.history h2 em{color:#a39177}.history-steps{gap:30px}.history-steps article{border-top:1px solid var(--line);padding-top:20px}.history-steps b{font:italic 26px var(--serif);color:#865344}.history-steps h3{font:400 19px var(--serif);margin:22px 0 12px}.history-steps p{font-size:11px;line-height:1.9;color:#8a9388}footer{max-width:none;margin:0;padding:45px 7.5%;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:30px;background:#090b0c}footer p{font:8px monospace;letter-spacing:1.5px;color:#6f776d;margin:15px 0 0}footer small{font:8px/1.9 monospace;color:#686f68;text-align:right}footer .text-link{font-size:8px;color:#958b76}
/* Existing character and game dialogs */
dialog{background:#101314;color:#dbcfb5;border:1px solid #b6a18040;box-shadow:0 30px 120px #000b;padding:0;max-height:92svh}dialog::backdrop{background:#020406de;backdrop-filter:blur(10px)}#character-dialog{width:min(1000px,94vw)}#character-detail{display:grid;grid-template-columns:1fr 1fr}.detail-art{width:100%;height:100%;min-height:650px;object-fit:cover}.detail-content{padding:48px 40px}.detail-content h2{font:400 40px/1.05 var(--serif);margin:20px 0 12px}.detail-subtitle{font:10px monospace;letter-spacing:2px;color:var(--accent)}.detail-desc{font-size:12px;line-height:1.9;color:#9ca395}.detail-content .primary-button,.detail-content .secondary-button{width:100%;margin-top:10px}.secondary-button{border:1px solid #a5987940;background:transparent;padding:14px 20px;color:#afa993;font-size:10px;cursor:pointer}.stat-grid{margin:25px 0}.stat-grid small{font-size:8px;letter-spacing:1.2px}.stat-grid p{font-size:11px}.ability-description{font-size:11px;line-height:1.8;color:#969f92}.ability-description strong{display:block;color:var(--accent);font-size:10px;margin-bottom:7px}.detail-note{font-size:8px;line-height:1.7;color:#687669;margin:20px 0 0}.close-button{z-index:6;background:#111515c9;color:#d4c3a4;top:12px;right:12px;border:1px solid #aca08540;font-size:25px;width:36px;height:36px}.deeds-list{font-size:10px;color:#bdd0ae;line-height:1.9}#game-dialog{width:min(1450px,97vw);max-height:96svh}.game-topbar{background:#0b1012;padding:14px 20px;font:10px monospace;letter-spacing:1px;display:flex;align-items:center;justify-content:space-between;gap:12px}.game-topbar>div:last-child{display:flex;gap:10px}.game-topbar button{background:transparent;border:1px solid #b6ae8d24;color:#a6ad9f;padding:8px 12px;font-size:9px}.game-topbar small{font-size:8px;color:#697568}.game-stage{position:relative;background:#080b0e;max-height:calc(96svh - 110px);aspect-ratio:16/9}#game{display:block;width:100%;height:100%;object-fit:contain;outline:0;image-rendering:pixelated}.game-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;background:#04080cd9;backdrop-filter:blur(5px);padding:30px}.game-overlay[hidden]{display:none}.game-overlay h2{font:400 50px var(--serif);margin:16px 0}.game-overlay p{font-size:12px;line-height:1.9;color:#98a592}.game-overlay .secondary-button{margin-left:12px}.controls{padding:13px 18px;font:9px monospace;gap:25px;color:#81907c;background:#0b1011}.controls kbd{border-color:#82927440;color:#b7b9a3;padding:3px 5px}.touch-controls{background:#111718;padding:12px;touch-action:none}.touch-controls button{min-width:40px;height:42px;border:1px solid #c2bd9140;background:#1c2624;color:#d6d0b1;border-radius:3px;touch-action:none}#toast{background:#1a2421;color:#d5d5bd;font-size:11px;border:1px solid #83977855}.reveal{transition:opacity .7s,transform .7s}.motion-ready .reveal:not(.is-visible){opacity:0;transform:translateY(26px)}
@keyframes rise-in{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@keyframes figure-in{from{opacity:0;transform:translate(40px,15px)}to{opacity:1;transform:translate(0,0)}}@keyframes halo-breathe{50%{opacity:.5;transform:scale(1.05)}}@keyframes orbit{to{transform:rotate(360deg)}}@keyframes scroll-pulse{50%{transform:scaleY(.6);opacity:.4}}@keyframes ember-rise{0%{transform:translate(0,0);opacity:0}15%{opacity:.6}70%{opacity:.4}100%{transform:translate(100px,-900px);opacity:0}}@keyframes marquee{to{transform:translateX(-50%)}}@keyframes character-arrive{from{opacity:0;transform:translateX(-25px)}to{opacity:1;transform:translateX(0)}}@keyframes boss-arrive{from{opacity:0;filter:blur(8px) brightness(2);transform:translateY(20px)}to{opacity:1;filter:blur(0) brightness(1);transform:translateY(0)}}@keyframes warden-breathe{50%{transform:translateY(-7px) rotate(.6deg)}}@keyframes map-pulse{50%{box-shadow:0 0 0 9px #b34c3815,0 0 25px #c2483755}}
@media(min-width:1600px){.hero-copy{padding-top:200px}.hero-figure{right:7%;width:44%}.hero-scene{max-height:950px}}@media(max-width:1100px){.header nav{gap:18px;font-size:9px}.wordmark{font-size:20px}.header{gap:20px}.hero-copy{padding-left:6%;padding-top:165px;width:65%}.hero-copy h1{font-size:77px}.hero-figure{right:-5%;width:53%;top:24%}.content-section{padding-left:6%;padding-right:6%}.character-biography{padding-right:7%}.character-biography h3{font-size:38px}.boss-info h3{font-size:38px}.map-layout{grid-template-columns:1fr 245px}.region-panel{padding:25px 20px}.edition-section{padding-left:6%;padding-right:6%}}
@media(max-width:760px){html{scroll-padding-top:20px}.header{height:76px;margin:0 6%;gap:15px}.header .wordmark{font-size:18px}.header nav{display:none}.nav-play{margin-left:auto;font-size:9px;padding:11px 14px}.nav-play span{margin-left:12px}.hero-scene{height:830px;min-height:0;max-height:none}.hero-environment{background-position:64% 30%;filter:saturate(.65)}.hero-shade{background:linear-gradient(90deg,#090c0ed9,#090c0e30),linear-gradient(0deg,#0b0c0d 1%,transparent 55%)}.hero-copy{padding:130px 7% 0;width:100%}.hero-copy h1{font-size:clamp(54px,11vw,78px);letter-spacing:-2px;margin-bottom:22px}.hero-copy .eyebrow{font-size:8px;margin-bottom:22px}.hero-description{font-size:12px}.hero-actions{gap:18px;align-items:flex-start;flex-direction:column;margin-top:23px}.hero-actions .primary-button{padding:16px 19px;min-height:48px;font-size:10px}.hero-actions .text-link{font-size:8px}.hero-footnote{font-size:6px;max-width:150px;line-height:1.8}.hero-figure{top:45%;height:50%;width:65%;right:-6%;opacity:.88}.figure-caption{left:20%;bottom:0;font-size:6px;letter-spacing:1px}.scene-coordinate{display:none}.scroll-cue{left:7%;bottom:27px}.world-ticker{height:40px;font-size:8px}.world-ticker i{margin:0 25px}.content-section{padding:65px 6%}.section-rule{font-size:7px;letter-spacing:1px;margin-bottom:33px;gap:14px}.section-rule>span:last-child{text-align:right;max-width:140px}.section-rule i{display:none}.section-heading{display:block;margin-bottom:29px}.section-heading h2{font-size:38px;letter-spacing:-1px}.section-heading>p{font-size:11px;margin:19px 0 0;line-height:1.8}.character-stage{grid-template-columns:1fr;min-height:0}.character-visual{min-height:330px}.character-visual img{inset:1% 12%;width:76%;height:95%}.character-stage:before{font-size:75px;top:16%;left:8%}.character-biography{padding:0 25px 28px}.character-biography h3{font-size:34px}.character-biography .description{max-width:none;font-size:11px}.character-facts{margin:16px 0 21px}.character-facts b{font-size:10px}.character-choose{width:100%}.collection{grid-template-columns:repeat(3,1fr)}.hero-tab{padding:15px 5px;gap:8px}.hero-tab img{width:42px;height:42px}.hero-tab strong{font-size:7px}.hero-tab small{font-size:6px}.bestiary-section{padding-top:5px}.boss-tabs{margin-top:28px;grid-template-columns:repeat(2,1fr)}.boss-tab{padding:18px 10px;font-size:8px;letter-spacing:.6px}.boss-tab b{font-size:15px;margin-right:10px}.boss-stage{grid-template-columns:1fr;min-height:0}.boss-visual{min-height:385px}.boss-visual img{height:97%;top:0}.boss-ring{left:22%;top:14%;width:57%}.boss-info{padding:0 22px 33px}.boss-info h3{font-size:37px;max-width:none}.boss-info .boss-desc{max-width:none}.boss-info .primary-button{width:100%}.boss-hint{line-height:1.8}.enemy-heading>span:last-child{display:none}.enemy-roster{grid-template-columns:1fr 1fr;gap:10px}.enemy-entry{padding:13px}.enemy-entry img{height:130px}.enemy-entry h4{font-size:13px}.enemy-entry p{font-size:9px}.enemy-entry .role{font-size:7px}.world-section{padding-top:0}.map-layout{grid-template-columns:1fr}.map-canvas{aspect-ratio:1.3}.region-panel{border-left:0;border-top:1px solid var(--line);padding:26px}.region-panel h3{margin-top:18px;max-width:240px}.region-panel .ru{margin-bottom:12px}.region-description{max-width:100%}.map-caption{font-size:5px;bottom:10px;left:10px}.map-pin{width:25px;height:25px;font-size:7px}.pin-label{display:none!important}.manifesto{padding:50px 6% 65px;margin:0}.manifesto h2{font-size:38px}.manifesto>p:last-child{font-size:11px}.edition-section{padding:0 6% 50px}.edition-heading{align-items:flex-start;gap:16px;margin:24px 0}.edition-heading h2{font-size:32px;white-space:nowrap}.edition-heading p{font-size:10px;line-height:1.7;max-width:160px}.mint-price{padding-left:15px}.mint-price strong{font-size:29px;white-space:nowrap}.mint-price strong span{font-size:10px}.mint-price small{font-size:6px;line-height:1.5;letter-spacing:.7px}.edition-toolbar{flex-wrap:wrap;gap:12px}.edition-toolbar label{flex-direction:column;align-items:flex-start;gap:7px;font-size:8px}.edition-toolbar select{max-width:160px;font-size:9px;padding:10px}.edition-toolbar input{width:113px;font-size:9px;padding:10px}#edition-count{font-size:8px;align-self:flex-end;padding-bottom:11px}.edition-grid{grid-template-columns:repeat(2,1fr);gap:13px}.edition-card>div{padding:12px 9px 0;flex-wrap:wrap}.edition-card strong{font-size:12px}.edition-card span{font-size:7px}.edition-card small{padding:7px 9px 0;font-size:7px;line-height:1.7}.edition-pagination .line-button{font-size:8px;padding:12px}.history{display:block;padding-top:0}.history h2{font-size:42px}.history-steps{grid-template-columns:1fr;gap:24px;display:grid}.history-steps article{display:grid;grid-template-columns:35px 1fr;gap:0 20px}.history-steps article b{grid-row:1/3}.history-steps h3{margin:4px 0 12px}.history-steps p{grid-column:2;font-size:11px;margin:0}footer{flex-wrap:wrap;padding:30px 6%;gap:25px}footer .wordmark{font-size:20px}footer small{width:100%;text-align:left}.detail-art{min-height:0;max-height:400px;aspect-ratio:1;object-fit:cover}#character-detail{grid-template-columns:1fr}.detail-content{padding:27px}.detail-content h2{font-size:34px}.game-topbar{padding:10px;font-size:8px}.game-topbar small{display:none}.game-topbar button{padding:7px;font-size:8px}.game-topbar>div:last-child{gap:4px}#game-dialog{width:100vw;max-width:100vw;max-height:100svh}.game-stage{max-height:none}.controls{display:none}.touch-controls{display:flex;justify-content:space-between;gap:10px}.touch-controls>div{display:flex;gap:6px}.game-overlay{padding:15px}.game-overlay h2{font-size:26px;margin:7px 0}.game-overlay .eyebrow{font-size:7px;margin:0}.game-overlay p{font-size:9px;margin-bottom:8px}.game-overlay .primary-button{font-size:8px;min-height:35px;padding:10px 15px}.game-overlay .secondary-button{font-size:8px;padding:10px;margin-left:5px}}
@media(max-height:520px) and (orientation:landscape){#game-dialog{width:min(850px,100vw)}.game-stage{max-height:calc(100svh - 109px);width:auto;aspect-ratio:16/9;margin:auto}.game-topbar{padding:5px 10px}.touch-controls{padding:5px}.touch-controls button{height:34px}.controls{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.hero-environment,.hero-figure>img{transform:none!important}.motion-ready .reveal:not(.is-visible){opacity:1;transform:none}}
.is-offscreen,.is-offscreen *{animation-play-state:paused!important}body:has(#game-dialog[open]) .hero-scene *,body:has(#game-dialog[open]) .world-ticker>div,body:has(#game-dialog[open]) .boss-visual *{animation-play-state:paused!important}
/* Constrain the whole game window to the available height, keeping the canvas centred. */
#game-dialog{width:min(1450px,97vw,calc((96svh - 102px)*16/9))}.game-stage{width:100%;height:auto;max-height:none;aspect-ratio:16/9}#game{width:100%;height:auto;max-height:none;aspect-ratio:16/9}.scroll-cue{left:50%;transform:translateX(-50%)}
@media(max-width:760px){#game-dialog{width:100vw;max-width:100vw}.scroll-cue{left:7%;transform:none}.hero-footnote{margin-top:20px}.hero-copy h1{font-size:clamp(52px,11vw,78px)}}
@media(max-height:520px) and (orientation:landscape){#game-dialog{width:min(100vw,calc((100svh - 97px)*16/9))}.game-stage{width:100%;max-height:none}}
@media(max-width:760px){.map-canvas{aspect-ratio:1.5}}

/* Header lockup: the emblem crop from the reference logo, recoloured to the site palette
   by prepare_brand.py. The wordmark text stays as text so it scales and stays selectable. */
.header .wordmark{display:inline-flex;align-items:center;gap:12px}
.brand-logo{height:58px;width:auto;flex:none;display:block}
@media(max-width:1100px){.brand-logo{height:48px}}
@media(max-width:760px){.brand-logo{height:40px}.header .wordmark{gap:8px}}
@media(max-width:520px){.brand-logo{height:34px}}
/* Narrowest phones: the lockup plus the play button would otherwise exceed the row. */
@media(max-width:420px){.brand-logo{height:30px}.header .wordmark{gap:6px;font-size:16px}}
