@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800;900&family=Barlow:wght@400;500;600;700&display=swap');
:root{color-scheme:dark;--gold:#d7b778;--purple:#9f74e5;--muted:#99939f;--line:#ffffff19;--display:'Barlow Condensed',Impact,'Arial Narrow',sans-serif}*{box-sizing:border-box}body{margin:0;background:#100d17;color:#f5f0e8;font-family:Barlow,Arial,sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #d4aaff;outline-offset:5px}button{color:inherit}button:hover{filter:brightness(1.12)}[hidden]{display:none!important}.ambient{position:fixed;inset:0;z-index:-1;background:radial-gradient(ellipse at 80% 20%,#47296444,transparent 65%)}.topbar{height:105px;margin:0 5.5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:relative;z-index:2}.brand img{width:110px;display:block}.edition{font-size:10px;letter-spacing:2.5px;color:#b6afbd;display:flex;align-items:center;gap:18px}.edition i{width:3px;height:3px;background:var(--gold)}.icon-button{border:1px solid #ffffff24;background:#16121ec0;border-radius:30px;padding:11px 15px;display:flex;gap:10px;align-items:center;color:var(--gold)}.icon-button span{font-size:9px;letter-spacing:1.4px;color:#c5bfcb}.home{position:relative;min-height:calc(100svh - 165px);padding:60px 5.5% 0;isolation:isolate;display:flex;flex-direction:column}.home:before{content:'';position:absolute;inset:-105px 0 0;z-index:-2;background:linear-gradient(90deg,#100d17 2%,#100d17dd 27%,#100d1733 65%),linear-gradient(0deg,#100d17 1%,transparent 35%),url('assets/studio-bg.webp') center 48%/cover no-repeat}.home:after{content:'';position:absolute;z-index:-1;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,transparent,transparent 3px,#00000008 4px)}.eyebrow{font-size:10px;letter-spacing:2.4px;font-weight:600;color:var(--gold);display:flex;gap:11px;align-items:center}.eyebrow>span{width:22px;height:1px;background:var(--gold)}h1{font-family:var(--display);font-weight:800;letter-spacing:-5px;line-height:.79;font-size:clamp(100px,11.5vw,168px);margin:31px 0 26px}h1>span{display:block;color:var(--gold)}.title-dot{color:var(--purple)}.hero-subtitle{font-size:23px;line-height:1.45;letter-spacing:-.4px;margin:0 0 16px}.hero-subtitle strong{font-weight:500}.intro{font-size:13px;line-height:1.8;color:#a59daa;margin:0 0 29px}.primary{background:var(--gold);border:0;color:#1a1320;min-height:56px;padding:0 27px;min-width:240px;display:inline-flex;align-items:center;justify-content:space-between;gap:45px;font-weight:700;font-size:13px;letter-spacing:2px;clip-path:polygon(0 0,100% 0,100% calc(100% - 11px),calc(100% - 11px) 100%,0 100%);transition:transform .2s,filter .2s}.primary:hover{transform:translateY(-3px)}.primary span{font-size:25px;font-weight:400}.start-note{color:#7f778b;font-size:8px;letter-spacing:1.5px;margin-top:16px;display:flex;gap:8px;align-items:center}.key{border:1px solid #62556e;padding:2px 5px;border-radius:3px}.scene-label{position:absolute;right:6%;top:65%;display:flex;align-items:center;gap:12px;font-size:9px;letter-spacing:2px;color:#c1b4ce}.live-dot,.footer-status i{width:5px;height:5px;border-radius:100%;background:var(--purple);box-shadow:0 0 12px var(--purple)}.scene-line{width:40px;height:1px;background:#a993c4}.home-bottom{display:flex;align-items:center;gap:28px;border-top:1px solid var(--line);padding:25px 0;margin-top:50px}.small{font-size:9px;letter-spacing:2px}.home-bottom p{font-size:11px;color:var(--muted);margin-bottom:0}.crew-preview{display:flex;gap:10px}.preview{position:relative;padding:0;width:57px;height:66px;border:1px solid #77599880;background:#24162b;overflow:hidden;transform:skew(-5deg);transition:transform .2s}.preview:hover{transform:skew(-5deg) translateY(-5px);border-color:var(--gold)}.preview img{position:absolute;width:145px;max-width:none;left:-63px;top:-40px}.preview:nth-child(2) img{top:-45px;left:-58px}.preview:nth-child(4) img{top:-45px}.chapter{margin-left:auto;font-family:var(--display);font-size:28px;color:var(--gold)}.chapter span{font-family:Barlow,Arial,sans-serif;font-size:8px;letter-spacing:2px;color:#a89caf;vertical-align:middle;margin-left:10px}footer{min-height:60px;border-top:1px solid var(--line);margin:0 5.5%;display:flex;align-items:center;justify-content:space-between;font-size:8px;letter-spacing:1.5px;color:#716a7b}footer b{color:#a095ac;font-weight:500}.footer-status{display:flex;gap:8px;align-items:center}.selection{max-width:1450px;margin:auto;padding:28px 5.5% 34px;min-height:calc(100svh - 165px)}.selection-heading{display:flex;justify-content:space-between;align-items:center}.back{background:none;border:0;padding:8px 0;color:#aaa0b5;font-size:19px}.back span{font-size:9px;letter-spacing:2px;margin-left:8px}.selection-title{display:flex;align-items:center;justify-content:space-between;margin:19px 0 24px}h2{font-family:var(--display);font-size:clamp(30px,4vw,55px);line-height:1;margin:0;font-weight:700;letter-spacing:-.5px}h2 em{font-style:normal;color:var(--gold)}.selection-title p{color:var(--muted);font-size:13px}.roster-label{font-size:9px;letter-spacing:2px;color:var(--muted)}.roster-label b{font-family:var(--display);color:var(--gold);font-size:35px;margin-left:10px}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:19px}.character{background:#19131f;border:1px solid #47384e;padding:7px;text-align:left;position:relative;transition:transform .2s,border-color .2s,box-shadow .2s;border-radius:4px}.character:hover{transform:translateY(-5px);border-color:#9a73c8}.character[aria-pressed=true]{border-color:var(--gold);box-shadow:0 0 25px #c49b3d18}.card-image{height:clamp(200px,29vw,410px);overflow:hidden;position:relative;border-radius:2px}.card-image img{display:block;width:100%;height:100%;object-fit:contain;background:#070609}.badge{position:absolute;top:10px;right:10px;border:1px solid #ffffff30;border-radius:50%;width:22px;height:22px;background:#100d17bb;display:grid;place-items:center;font-size:12px;color:transparent}.character[aria-pressed=true] .badge{background:var(--gold);color:#171020;border-color:var(--gold)}.card-caption{padding:14px 7px 8px}.card-caption small{font-size:8px;letter-spacing:2px;color:var(--purple)}.card-caption h3{font-family:var(--display);font-size:24px;margin:5px 0;color:#efe8dd;font-weight:600}.card-caption p{font-size:10px;margin:0;color:#a598ae}.character-detail{margin-top:24px;border-top:1px solid var(--line);padding-top:23px;display:flex;gap:30px;align-items:center}.power{flex:1}.power small{font-size:8px;color:var(--purple);letter-spacing:2px}.power h3{font-family:var(--display);font-size:26px;color:var(--gold);margin:7px 0}.power p{font-size:11px;color:#a79bad;margin:0;line-height:1.6}.stats{display:flex;gap:24px;padding:0 20px}.stat{width:75px}.stat span{font-size:8px;color:#95889f;display:block;letter-spacing:1px}.stat b{font-family:var(--display);font-size:25px;font-weight:500}.stat i{display:block;height:3px;background:#30243a;margin-top:6px}.stat i:after{content:'';display:block;width:var(--value);height:100%;background:var(--purple)}dialog{background:#1b1325;color:#eee6f3;border:1px solid #8c6aab;padding:55px 45px;max-width:500px;width:calc(100% - 32px);box-shadow:0 30px 140px #0009;text-align:center}dialog::backdrop{background:#090610cf;backdrop-filter:blur(10px)}dialog .eyebrow{justify-content:center;font-size:9px}dialog h2{margin:25px 0;color:var(--gold)}dialog p{font-size:14px;color:#c9bdd1;line-height:1.6}dialog .coming{font-size:12px;color:#94859f;margin-bottom:25px}.close{position:absolute;right:12px;top:7px;border:0;background:none;font-size:28px;color:#9d89b0}.screen{animation:appear .5s ease both}@keyframes appear{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(min-width:1500px){.hero-content{padding-top:25px}.home-bottom{margin-top:auto}.home{padding-bottom:0;gap:35px}}@media(max-width:900px){.stats{gap:12px;padding:0}.character-detail{flex-wrap:wrap}.character-detail .primary{margin-left:auto}.cards{gap:10px}.card-caption h3{font-size:21px}.scene-label{display:none}.edition{font-size:8px;letter-spacing:1.5px}.hero-content{padding-top:15px}.home:before{background-position:60% center}.home-bottom{gap:18px}.chapter{display:none}}@media(max-width:600px){.topbar{height:82px;margin:0 6%}.brand img{width:86px}.edition{display:none}.icon-button{padding:10px 12px}.home{min-height:calc(100svh - 135px);padding:45px 7% 0}.home:before{inset:-82px 0 0;background-image:linear-gradient(90deg,#100d17ea,#100d1755),linear-gradient(0deg,#100d17 1%,#100d1733 60%),url('assets/studio-bg.webp');background-position:58% center}.hero-content{padding-top:0}.eyebrow{font-size:8px;letter-spacing:1.7px}h1{font-size:112px;letter-spacing:-3px;margin:30px 0 25px}.hero-subtitle{font-size:20px}.intro{font-size:12px}.primary{min-width:230px;min-height:54px}.start-note{font-size:7px}.home-bottom{margin-top:38px;padding:22px 0;flex-wrap:wrap;gap:17px}.home-bottom p{font-size:10px}.crew-preview{gap:9px}.preview{width:48px;height:54px}.preview img{width:128px;left:-55px;top:-36px}.preview:nth-child(2) img{left:-52px;top:-40px}.preview:nth-child(4) img{top:-39px}footer{margin:0 6%;min-height:53px;font-size:6px;letter-spacing:1px}footer>span:nth-child(2){display:none}.selection{padding:19px 6% 28px}.selection-title{margin:22px 0}.selection-title h2{font-size:36px;max-width:290px}.selection-title p{font-size:11px;line-height:1.6;max-width:260px}.roster-label{display:none}.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 11px}.card-image{height:auto;aspect-ratio:600/875}.card-caption{padding:10px 3px 6px}.card-caption h3{font-size:22px}.card-caption small{font-size:7px}.card-caption p{font-size:8px}.character{padding:5px}.character-detail{gap:20px}.power{flex-basis:100%}.stats{width:100%;gap:24px}.stat{flex:1}.character-detail .primary{width:100%;margin:0}.selection-heading .eyebrow{font-size:8px}dialog{padding:45px 22px}dialog h2{font-size:40px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(min-width:901px) and (max-height:850px){.topbar{height:80px}.brand img{width:88px}.home{min-height:calc(100svh - 130px);padding-top:30px}.home:before{inset:-80px 0 0}h1{font-size:115px;margin:23px 0 20px}.hero-subtitle{font-size:20px;margin-bottom:11px}.intro{font-size:12px;margin-bottom:19px}.home-bottom{margin-top:28px;padding:18px 0}.preview{height:53px}.selection{padding-top:17px;min-height:calc(100svh - 130px)}.selection-title{margin:12px 0 18px}.selection-title h2{font-size:40px}.card-image{height:clamp(210px,38vh,305px)}.card-caption{padding-top:10px}.card-caption h3{font-size:22px}.character-detail{margin-top:18px;padding-top:17px}.power p{max-width:350px}footer{min-height:50px}}
@media(min-width:1100px){.cards{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.card-caption h3{font-size:22px}.card-caption p{font-size:9px}.card-image{height:auto;aspect-ratio:600/875}}@media(min-width:601px) and (max-width:1099px){.cards{grid-template-columns:repeat(3,minmax(0,1fr))}.card-image{height:auto;aspect-ratio:600/875}}
.selected-character{flex:1}.selected-character small{font-size:9px;color:var(--purple);letter-spacing:2px}.selected-character h3{font-family:var(--display);font-size:30px;color:var(--gold);margin:7px 0}.preview:nth-child(5) img{left:-51px;top:-31px}@media(max-width:600px){.selected-character{flex-basis:100%}.preview:nth-child(5) img{left:-44px;top:-27px}}
.preview:nth-child(5) img{left:-52px;top:-59px}@media(max-width:600px){.preview:nth-child(5) img{left:-47px;top:-52px}}

/* Game-style character selection */
.game-select{max-width:none;padding:22px 4.5% 18px;overflow:hidden;background:radial-gradient(ellipse at 50% 58%,#3d1e5e 0,#1a102d 25%,#0c0912 64%)}
.game-select:before{content:'';position:absolute;inset:105px 0 60px;pointer-events:none;background:linear-gradient(#ffffff05 1px,transparent 1px),linear-gradient(90deg,#ffffff05 1px,transparent 1px);background-size:56px 56px;mask-image:linear-gradient(transparent,#000 35%,#000 75%,transparent)}
.game-select .selection-heading,.game-select .selection-title,.game-select .game-stage,.game-select .game-detail,.controls-hint{position:relative;z-index:1}.game-select .selection-title{margin:10px 0 0}.game-select .selection-title h2{font-size:clamp(36px,4vw,60px)}
.game-stage{height:min(58vh,620px);min-height:420px;margin-top:-35px;position:relative}.character-carousel{position:absolute;inset:0;display:block}
.character-carousel .character{position:absolute;left:50%;bottom:8px;width:min(34vw,430px);height:100%;padding:0;border:0;background:transparent;transform:translateX(calc(-50% + var(--offset) * min(22vw,320px))) scale(.64);transform-origin:center bottom;opacity:.43;filter:saturate(.35) brightness(.65);z-index:5;transition:transform .42s cubic-bezier(.22,.9,.2,1),opacity .35s,filter .35s}
.character-carousel .character[aria-pressed=true]{transform:translateX(-50%) scale(1);opacity:1;filter:none;z-index:10}.character-carousel .character[data-distance='2']{opacity:.13;transform:translateX(calc(-50% + var(--offset) * min(22vw,320px))) scale(.48);pointer-events:none;z-index:1}.character-carousel .character img{width:100%;height:100%;object-fit:contain;object-position:center bottom;display:block;filter:drop-shadow(0 25px 25px #000a)}
.character-carousel .character span{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);font-family:var(--display);font-size:15px;letter-spacing:3px;white-space:nowrap;color:#9d8ca9;opacity:0;transition:opacity .25s}.character-carousel .character[aria-pressed=true] span{opacity:1;color:#fff}.character-carousel .character[aria-pressed=true]:after{content:'';position:absolute;left:18%;right:18%;bottom:2px;height:3px;background:var(--gold);box-shadow:0 0 22px var(--gold)}
.stage-glow{position:absolute;width:min(48vw,600px);height:75%;left:50%;bottom:4%;transform:translateX(-50%);background:radial-gradient(ellipse,#9f74e529 0,transparent 68%);filter:blur(8px);z-index:-1}.stage-floor{position:absolute;left:18%;right:18%;height:70px;bottom:-13px;border-radius:50%;border:1px solid #c89b5b55;background:radial-gradient(ellipse,#b97be32e,transparent 62%);transform:perspective(200px) rotateX(62deg);box-shadow:0 0 55px #8e4ed344}
.stage-arrow{position:absolute;z-index:30;top:46%;transform:translateY(-50%);width:66px;height:66px;border:1px solid #ffffff2e;border-radius:50%;background:#100b19a8;font-family:Arial;font-size:51px;line-height:1;color:var(--gold);display:grid;place-items:center;backdrop-filter:blur(8px)}.stage-arrow.prev{left:5%}.stage-arrow.next{right:5%}
.game-detail{margin:0 auto;border-top:1px solid #ffffff1c;padding:15px 0 0;max-width:920px}.game-detail .selected-character{text-align:center}.game-detail .selected-character h3{font-size:38px;margin:2px 0}.game-detail .primary{position:absolute;right:0;bottom:0}.controls-hint{text-align:center;margin-top:12px;color:#776d80;font-size:8px;letter-spacing:1.6px}.controls-hint span{border:1px solid #5b4b68;padding:4px 7px;color:#a996b8}.controls-hint i{display:inline-block;width:16px}.game-select .cards,.game-select .character{border-radius:0;box-shadow:none}.game-select .character:hover{border:0;box-shadow:none}.game-select .character-detail{display:flex}
.game-select~* .power,.game-select~* .stats{display:none}
@media(max-width:900px){.game-stage{height:min(56vh,540px);min-height:390px}.character-carousel .character{width:min(54vw,400px);transform:translateX(calc(-50% + var(--offset) * 38vw)) scale(.58)}.character-carousel .character[aria-pressed=true]{transform:translateX(-50%) scale(1)}.character-carousel .character[data-distance='2']{transform:translateX(calc(-50% + var(--offset) * 38vw)) scale(.4)}.stage-arrow{width:50px;height:50px;font-size:40px}.game-detail .primary{position:static;margin-left:auto}.game-detail .selected-character{text-align:left}}
@media(max-width:600px){.game-select{padding:18px 5% 20px}.game-select .selection-title h2{font-size:37px}.game-stage{height:54vh;min-height:390px;margin-top:-18px}.character-carousel .character{width:78vw;transform:translateX(calc(-50% + var(--offset) * 60vw)) scale(.52)}.character-carousel .character[aria-pressed=true]{transform:translateX(-50%) scale(1)}.character-carousel .character[data-distance='2']{transform:translateX(calc(-50% + var(--offset) * 60vw)) scale(.35)}.stage-arrow{top:52%;width:44px;height:44px}.stage-arrow.prev{left:-2%}.stage-arrow.next{right:-2%}.game-detail{padding-top:12px;gap:10px}.game-detail .selected-character{flex-basis:auto}.game-detail .selected-character h3{font-size:28px}.game-detail .primary{min-width:0;width:auto;flex:1;padding:0 15px;gap:12px;font-size:10px}.controls-hint{display:none}.game-select .roster-label{display:block}.game-select .character span{bottom:4px}}
.crew-preview .preview img{position:static;width:100%;height:100%;object-fit:contain;transform:skew(5deg)}

/* 2D game */
.play-screen{position:relative;min-height:calc(100svh - 165px);padding:14px 4.5% 10px;background:#09070e}.game-hud{height:70px;display:flex;align-items:center;gap:26px;border:1px solid #ffffff18;border-bottom:0;padding:0 18px;background:#100c18}.hud-button{height:40px;min-width:46px;border:1px solid #ffffff22;background:#181121;color:var(--gold);font-weight:700}.hud-button span{font-size:9px;letter-spacing:1.5px;margin-left:7px}.hud-button.pause{margin-left:0;font-size:18px}.hud-character{margin-right:auto}.hud-character small,.hud-stat small{display:block;color:#756b7d;font-size:7px;letter-spacing:1.7px}.hud-character strong{font-family:var(--display);font-size:23px;color:#eee6f1}.hud-stat{min-width:92px}.hud-stat strong{font-family:var(--display);font-size:25px;color:#e8d8ef}.camera-score{position:relative;padding-left:44px}.camera-mini{position:absolute;left:0;top:3px;width:34px;height:25px;border:3px solid var(--gold);border-radius:5px}.camera-mini:before{content:'';position:absolute;width:12px;height:8px;border:3px solid var(--gold);border-bottom:0;left:6px;top:-10px}.camera-mini:after{content:'';position:absolute;width:9px;height:9px;border:3px solid var(--purple);border-radius:50%;left:9px;top:5px}.hud-lives{font-size:17px;letter-spacing:5px;color:var(--purple);white-space:nowrap}.game-wrap{position:relative;width:100%;height:calc(100svh - 272px);min-height:420px;border:1px solid #ffffff18;overflow:hidden;background:#09070e;touch-action:none}.game-wrap canvas{display:block;width:100%;height:100%}.countdown{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--display);font-size:clamp(70px,13vw,170px);font-weight:900;color:var(--gold);text-shadow:0 0 50px #9a5ae8;pointer-events:none}.game-message,.pause-message{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#09060ed9;backdrop-filter:blur(7px);z-index:20;text-align:center}.game-message[hidden],.pause-message[hidden]{display:none}.game-message>span,.pause-message>span{color:var(--gold);font-size:10px;letter-spacing:3px}.game-message h2{font-size:clamp(45px,8vw,88px);margin:16px 0 8px}.game-message p{color:#988da0;font-size:11px;letter-spacing:1.5px}.game-message>div{display:flex;gap:12px;margin-top:22px}.secondary{min-height:56px;padding:0 24px;border:1px solid #ffffff35;background:#17111e;color:#d9cfdf;font-size:10px;letter-spacing:1.5px}.pause-message .primary{margin-top:25px}.game-help{text-align:center;color:#6f6577;font-size:7px;letter-spacing:1.5px;padding-top:10px}.game-help span{color:#a890b8;border:1px solid #57465f;padding:3px 6px}.game-help i{display:inline-block;width:20px}.touch-controls{display:none;position:absolute;left:13px;right:13px;bottom:14px;z-index:12;justify-content:space-between;align-items:end;pointer-events:none}.touch-controls button{pointer-events:auto;width:66px;height:66px;border-radius:50%;border:1px solid #d8b77470;background:#100b19c9;color:var(--gold);font-size:28px;box-shadow:0 8px 28px #0008;backdrop-filter:blur(8px);user-select:none}.touch-controls .jump{width:82px;height:82px;margin-left:auto;margin-right:8px}.touch-controls .jump span{display:block;font-size:7px;letter-spacing:1px;margin-top:-2px}.touch-controls button:last-child{margin-left:7px}.touch-controls button:active{background:var(--gold);color:#160e1d;transform:scale(.94)}
.countdown{z-index:15;display:flex;flex-direction:column;justify-content:center;gap:10px;background:#08050b44}.countdown strong{font-family:var(--display);font-size:clamp(70px,13vw,170px);line-height:.8}.countdown small{font-family:Barlow,Arial,sans-serif;font-size:9px;letter-spacing:2.5px;color:#e9deef;text-shadow:0 2px 15px #000}.combo-badge{position:absolute;z-index:14;top:22px;left:50%;transform:translateX(-50%) skew(-7deg);padding:9px 18px;border:1px solid #f0c96c;background:#20102bdc;color:#f4d47f;font-family:var(--display);font-size:22px;letter-spacing:2px;box-shadow:0 0 28px #9e5ede6b;animation:comboPop .22s ease}.combo-badge[hidden],.scene-title[hidden]{display:none}.scene-title{position:absolute;z-index:16;left:50%;top:17%;transform:translateX(-50%);text-align:center;padding:15px 35px;background:#09060dc7;border-top:1px solid var(--gold);border-bottom:1px solid var(--gold);animation:sceneIn .45s ease both}.scene-title small{display:block;font-size:8px;letter-spacing:3px;color:#9e8aaa}.scene-title strong{display:block;font-family:var(--display);font-size:32px;color:var(--gold);letter-spacing:2px;margin-top:4px}.collect-flash{position:absolute;inset:0;z-index:11;pointer-events:none;background:#fff6cc;opacity:0}.collect-flash.active{animation:collectFlash .14s ease-out}.game-message,.pause-message{background:radial-gradient(circle at center,#24132ade,#08050bef 65%)}@keyframes comboPop{from{transform:translateX(-50%) skew(-7deg) scale(.72);opacity:0}to{transform:translateX(-50%) skew(-7deg) scale(1);opacity:1}}@keyframes collectFlash{0%{opacity:.22}100%{opacity:0}}@keyframes sceneIn{from{opacity:0;transform:translate(-50%,-15px) scale(.9)}to{opacity:1;transform:translateX(-50%) scale(1)}}
.touch-device .touch-controls{display:flex}
@media(pointer:coarse),(max-width:700px){.touch-controls{display:flex}.game-help{display:none}}
@media(max-width:700px){.play-screen{min-height:calc(100svh - 135px);padding:8px 0 0}.game-hud{height:62px;padding:0 10px;gap:10px;border-left:0;border-right:0}.hud-button{min-width:40px}.hud-button span,.hud-character small,.hud-stat small{display:none}.hud-character strong{font-size:16px}.hud-stat{min-width:52px}.hud-stat strong{font-size:20px}.camera-score{padding-left:32px}.camera-mini{width:27px;height:20px;border-width:2px}.camera-mini:before{border-width:2px}.camera-mini:after{width:7px;height:7px;border-width:2px;left:8px;top:4px}.hud-lives{font-size:13px;letter-spacing:2px}.game-wrap{height:calc(100svh - 205px);min-height:0;border-left:0;border-right:0}.game-message>div{flex-direction:column}.game-message .primary,.game-message .secondary{min-width:245px}.footer-status{display:none}}
@media(orientation:landscape) and (max-height:600px) and (max-width:950px){body:has(#game:not([hidden])){overflow:hidden}body:has(#game:not([hidden])) .topbar,body:has(#game:not([hidden])) footer{display:none}.play-screen{height:100svh;min-height:0;padding:0;background:#050308}.game-hud{height:52px;padding:0 10px;gap:10px;border:0}.game-wrap{height:calc(100svh - 52px);min-height:0;border:0}.game-help{display:none}.touch-controls{display:flex!important;visibility:visible;opacity:1;z-index:40;bottom:max(8px,env(safe-area-inset-bottom));left:max(10px,env(safe-area-inset-left));right:max(10px,env(safe-area-inset-right));pointer-events:none}.touch-controls button{display:block!important;pointer-events:auto;width:58px;height:58px;font-size:25px;opacity:1}.touch-controls .jump{width:70px;height:70px}.hud-character strong{font-size:15px}.hud-stat strong{font-size:18px}.hud-button{height:36px}.scene-title{top:12%;padding:9px 24px}.scene-title strong{font-size:24px}.combo-badge{top:10px}.game-message h2{font-size:44px;margin:8px 0}.game-message>div{margin-top:10px;flex-direction:row}.game-message .primary,.game-message .secondary{min-height:45px;min-width:190px}}
@media(min-width:701px) and (max-height:850px){.play-screen{min-height:calc(100svh - 130px);padding-top:8px}.game-hud{height:58px}.game-wrap{height:calc(100svh - 216px);min-height:390px}.game-help{padding-top:6px}}
.fullscreen-button{font-size:20px;line-height:1}.game-fullscreen{overflow:hidden;overscroll-behavior:none}.game-fullscreen .topbar,.game-fullscreen footer{display:none!important}.game-fullscreen .play-screen,#game:fullscreen{position:fixed;z-index:9999;inset:0;width:100vw;height:var(--app-height,100dvh);min-height:0;padding:0;background:#050308}.game-fullscreen .game-hud,#game:fullscreen .game-hud{height:54px;border:0;padding-top:env(safe-area-inset-top)}.game-fullscreen .game-wrap,#game:fullscreen .game-wrap{height:calc(var(--app-height,100dvh) - 54px);min-height:0;border:0}.game-fullscreen .game-help,#game:fullscreen .game-help{display:none}.game-fullscreen .touch-controls,#game:fullscreen .touch-controls{display:flex!important;visibility:visible;opacity:1;position:absolute;z-index:60;bottom:max(12px,env(safe-area-inset-bottom));left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right))}.game-fullscreen .touch-controls button,#game:fullscreen .touch-controls button{display:block!important;pointer-events:auto}
@media(max-width:600px) and (orientation:portrait){.home{height:calc(100dvh - 135px);min-height:0;padding-top:24px;overflow:hidden}.home h1{font-size:clamp(72px,25vw,96px);margin:18px 0 16px}.hero-subtitle{font-size:17px;margin-bottom:8px}.intro{font-size:10px;line-height:1.5;margin-bottom:16px}.home-bottom{margin-top:auto;padding:10px 0;gap:10px}.home-bottom>div:first-child,.chapter{display:none}.preview{width:39px;height:45px}.game-select{height:calc(100dvh - 135px);min-height:0;padding:10px 5% 8px;overflow:hidden}.game-select .selection-title{margin:8px 0}.game-select .selection-title h2{font-size:30px}.game-stage{height:clamp(280px,47dvh,405px);min-height:0;margin-top:-10px}.character-carousel .character{width:68vw}.game-detail{padding-top:8px;min-height:59px}.game-detail .selected-character h3{font-size:23px}.game-detail .selected-character small{font-size:7px}.game-detail .primary{min-height:46px;font-size:8px;padding:0 11px}.stage-arrow{top:48%}}
@media(max-width:450px){.game-hud{gap:6px}.game-hud>.hud-stat:not(.camera-score){display:none}.hud-character{min-width:0}.hud-character strong{display:block;max-width:72px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.fullscreen-button,.hud-button.pause{min-width:38px}}
@media(orientation:landscape) and (max-width:950px) and (max-height:600px){body>footer{display:none}.topbar{height:54px;margin:0 4%}.brand img{width:68px}.home{height:calc(100dvh - 54px);min-height:0;padding:10px 5%;overflow:hidden}.home h1{font-size:62px;letter-spacing:-2px;margin:10px 0}.hero-subtitle{font-size:15px;margin-bottom:5px}.intro{font-size:9px;line-height:1.4;margin-bottom:10px}.home .primary{min-height:42px}.home-bottom,.scene-label,.start-note{display:none}.game-select{height:calc(100dvh - 54px);min-height:0;padding:6px 4%;overflow:hidden}.game-select .selection-title{margin:2px 0}.game-select .selection-title h2{font-size:27px}.game-stage{height:calc(100dvh - 190px);min-height:170px;margin-top:-8px}.character-carousel .character{width:min(35vw,280px)}.game-detail{min-height:48px;padding-top:5px}.game-detail .selected-character h3{font-size:21px}.game-detail .primary{min-height:42px;font-size:8px}.controls-hint{display:none}}
