:root{--cyan:#63f7ff;--jade:#62ffb7;--gold:#ffd66b;--red:#ff557f;--ink:#061327}
*{box-sizing:border-box}
html,body{margin:0;width:100%;height:100%;overflow:hidden;background:var(--ink);color:#eaffff;font-family:Impact,"Arial Narrow",system-ui,sans-serif;touch-action:none;user-select:none}
button,input{font:inherit}
#titleMusic,#gameplayMusic{display:none}
#game{position:fixed;inset:0;width:100%;height:100%;display:block;background:#07162d;pointer-events:none}
canvas{position:fixed!important;inset:0;width:100%!important;height:100%!important;display:block;z-index:1;touch-action:none}
.scan{position:fixed;inset:0;pointer-events:none;z-index:3;opacity:.13;background:repeating-linear-gradient(0deg,transparent 0 3px,rgba(100,247,255,.08) 4px)}
html[data-render-profile="lite"] .scan{display:none}
html[data-render-profile="lite"] .reticle,html[data-render-profile="lite"] .reticle:before,html[data-render-profile="lite"] .reticle:after,html[data-render-profile="lite"] .reticle.confirm,html[data-render-profile="lite"] .reticle.kill,html[data-render-profile="lite"] .mission b,html[data-render-profile="lite"] .status b{box-shadow:none}
html[data-render-profile="lite"] #damageFlash{display:none}
html[data-render-profile="lite"] #eventFlash{display:none}
html[data-render-profile="lite"] .bark,html[data-render-profile="lite"] .boss-banner{transition:none}
html[data-render-profile="lite"] .loading-screen{background:#061327;transition:none;contain:strict}
html[data-render-profile="lite"] .loader-mark{filter:none}
html[data-render-profile="lite"] .loader-mark i{animation:none}
html[data-render-profile="lite"] .loadbar b{box-shadow:none;transition:none}
#damageFlash{position:fixed;inset:0;z-index:18;pointer-events:none;opacity:0;background:radial-gradient(circle,transparent 30%,#ff254f80 100%)}
#damageFlash.hit{animation:damage-hit .38s ease-out}
@keyframes damage-hit{0%{opacity:.82}100%{opacity:0}}
#eventFlash{position:fixed;inset:0;z-index:17;pointer-events:none;opacity:0}
#eventFlash.surge{background:radial-gradient(circle,#fff9bd9c 0,#62fff05c 32%,transparent 72%);animation:event-flash .42s ease-out}
#eventFlash.warning{background:linear-gradient(90deg,#ff315c70,transparent 24% 76%,#ff315c70);animation:event-warning .46s ease-out}
#eventFlash.crit{background:radial-gradient(circle at 50% 45%,#fff7c6b0 0,#ffd45a52 18%,transparent 48%);animation:event-flash .3s ease-out}
@keyframes event-flash{0%{opacity:1}100%{opacity:0}}
@keyframes event-warning{0%,36%{opacity:1}18%,54%{opacity:.2}100%{opacity:0}}
.hidden{display:none!important}
.hud{position:fixed;z-index:8;left:16px;right:16px;top:max(14px,env(safe-area-inset-top));display:grid;grid-template-columns:1fr auto 1fr;gap:18px;pointer-events:none;text-shadow:0 2px 8px #000}
.label,.eyebrow,.ready{display:block;font:700 10px/1.2 Arial,sans-serif;letter-spacing:.23em;color:#9bdce8}
.hud strong{display:block;font-size:clamp(19px,4vw,29px);letter-spacing:.06em;color:var(--gold)}
.hud .right{position:relative;text-align:right}.hud .right small{position:absolute;right:0;top:48px;opacity:0;color:var(--jade);font:900 12px Arial,sans-serif;letter-spacing:.2em}.hud .right small.pop{animation:combo-pop .48s ease-out}@keyframes combo-pop{0%{opacity:1;transform:scale(.65)}45%{opacity:1;transform:scale(1.35)}100%{opacity:0;transform:translateY(-15px)}}.mission{text-align:center;width:min(38vw,330px);font-size:clamp(11px,2.4vw,17px);letter-spacing:.12em}
.weapon-readout{display:block;margin-top:3px;color:#96ffe1;font:800 8px/1.2 Arial,sans-serif;letter-spacing:.17em}.weapon-readout b{color:var(--gold);font-size:10px;text-shadow:0 0 8px #ffbc45}
.weapon-readout.pickup-flash{animation:weapon-pickup .72s ease-out}.hud #combo.pulse{animation:combo-readout .34s ease-out}@keyframes weapon-pickup{0%{color:#fff;transform:scale(1.55);text-shadow:0 0 18px #ffd66b}100%{transform:scale(1)}}@keyframes combo-readout{45%{color:#fff0a8;transform:scale(1.3)}}
.mission i,.status i{display:block;height:6px;margin-top:7px;background:#102945;border:1px solid #24516b;overflow:hidden;transform:skewX(-15deg)}
.mission b,.status b{display:block;width:100%;height:100%;background:linear-gradient(90deg,var(--cyan),var(--jade));box-shadow:0 0 10px var(--cyan);transform:scaleX(0);transform-origin:left center}
.status{position:fixed;z-index:8;left:16px;bottom:max(16px,env(safe-area-inset-bottom));width:min(48vw,280px);pointer-events:none;font:700 9px Arial,sans-serif;letter-spacing:.12em;text-shadow:0 2px 8px #000}
.status label{display:grid;grid-template-columns:49px 1fr;align-items:center;margin-top:7px}.status i{margin:0;height:10px}.status b{width:100%}#hull{background:linear-gradient(90deg,#ff5278,#ffb66b)}#lives{display:block;margin-top:9px;color:#ffa2b6;font-size:12px}
.reticle{position:fixed;z-index:7;left:50%;top:46%;width:46px;height:46px;transform:translate(-50%,-50%);border:1px solid rgba(119,247,255,.72);border-radius:50%;pointer-events:none;box-shadow:0 0 17px #55f6ff33}
.reticle:before,.reticle:after{content:"";position:absolute;background:var(--cyan);box-shadow:0 0 7px var(--cyan)}.reticle:before{height:1px;left:-7px;right:-7px;top:22px}.reticle:after{width:1px;top:-7px;bottom:-7px;left:22px}
.reticle span{position:absolute;top:52px;left:50%;width:max-content;transform:translateX(-50%);color:var(--jade);font:800 8px Arial,sans-serif;letter-spacing:.16em;text-shadow:0 0 8px #000}
.reticle b{position:absolute;left:50%;top:50%;min-width:82px;transform:translate(-50%,-50%) scale(.6);opacity:0;color:#fff3b3;text-align:center;font:900 10px Arial,sans-serif;letter-spacing:.18em;text-shadow:0 0 9px #ffd66b,0 2px 4px #000}.reticle.confirm{border-color:#fff0a1;box-shadow:0 0 24px #ffd66b88}.reticle.kill{border-color:#ff7194;box-shadow:0 0 30px #ff557fa8}
.bark{position:fixed;z-index:12;left:50%;bottom:82px;width:min(88vw,680px);transform:translate(-50%,12px);opacity:0;text-align:center;pointer-events:none;transition:.18s}.bark.show{opacity:1;transform:translate(-50%,0)}.bark small{display:block;font:700 9px Arial,sans-serif;letter-spacing:.26em;color:var(--cyan);margin-bottom:5px}.bark span{display:inline-block;padding:8px 14px;background:linear-gradient(180deg,#04182bd9,#010b19f2);border-inline:2px solid var(--cyan);border-radius:3px;box-shadow:0 6px 20px #0009,0 0 14px #45dfff24;font:700 clamp(15px,3.2vw,19px) Arial,sans-serif;text-shadow:0 2px 5px #000}
.boss-banner{position:fixed;z-index:11;left:50%;top:26%;transform:translate(-50%,-50%) scale(.92);opacity:0;text-align:center;pointer-events:none;transition:.25s}.boss-banner.show{opacity:1;transform:translate(-50%,-50%) scale(1)}.boss-banner small{display:block;font:700 10px Arial,sans-serif;letter-spacing:.32em;color:var(--red)}.boss-banner strong{font-size:clamp(21px,5vw,42px);letter-spacing:.08em;text-shadow:0 0 18px var(--red)}
.boss-status{position:fixed;z-index:10;left:50%;top:max(78px,calc(env(safe-area-inset-top) + 66px));width:min(72vw,560px);transform:translateX(-50%);text-align:center;color:#ffd8cb;font:800 9px Arial,sans-serif;letter-spacing:.19em;text-shadow:0 2px 6px #000}.boss-status span,.boss-status small{display:block}.boss-status i{display:block;height:9px;margin:6px 0 4px;border:1px solid #a93846;background:#220915;overflow:hidden;transform:skewX(-15deg)}.boss-status b{display:block;width:100%;height:100%;transform-origin:left center;background:linear-gradient(90deg,#ffbf55,#ff365f);box-shadow:0 0 12px #ff365f}.boss-status small{color:#ffbc74;font-size:7px}.score-popups{position:fixed;z-index:13;inset:0;overflow:hidden;pointer-events:none}.score-popup{position:absolute;color:#fff1a4;font:900 12px Arial,sans-serif;letter-spacing:.08em;text-shadow:0 0 9px #ffb23f,0 2px 4px #000;animation:score-rise .72s ease-out forwards}@keyframes score-rise{to{opacity:0;transform:translateY(-34px) scale(1.14)}}
.debug-overlay{position:fixed;z-index:22;top:86px;left:12px;max-width:min(440px,calc(100vw - 24px));margin:0;padding:10px 12px;border:1px solid #63f7ff88;background:#020b16dc;color:#a8fff1;font:700 11px/1.45 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre-wrap;pointer-events:none;box-shadow:0 0 20px #0008}
.screen{position:fixed;z-index:30;inset:0;display:flex;align-items:center;justify-content:center;padding:20px;background:radial-gradient(circle at 50% 15%,#1d68702f,transparent 38%),linear-gradient(160deg,#020a19f2,#031722eb)}
#titleScreen{background:radial-gradient(circle at 64% 22%,#2ac6b42f,transparent 37%),linear-gradient(100deg,#020a19ef 0%,#031422d9 54%,#031722a9 100%)}
.loading-screen{z-index:50;flex-direction:column;text-align:center;background:radial-gradient(circle at 50% 40%,#123f4c,#020914 70%);transition:opacity .25s}
.loading-screen h2{margin:12px 0 20px}
.loading-screen p{margin:10px 0;font-size:11px;letter-spacing:.14em;color:#8fc8d2}
.loadbar{width:min(72vw,440px);height:8px;padding:1px;border:1px solid #5ff8e28a;background:#03111d;transform:skewX(-14deg);overflow:hidden}
.loadbar b{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--cyan),var(--jade),var(--gold));box-shadow:0 0 18px var(--cyan);transition:width .22s}
.loader-mark{position:relative;width:82px;height:48px;margin-bottom:24px;filter:drop-shadow(0 0 14px #63f7ff88)}
.loader-mark i{position:absolute;top:16px;width:38px;height:12px;background:linear-gradient(90deg,#2bd9c0,#baffff);clip-path:polygon(0 40%,80% 0,100% 50%,80% 100%);animation:engine-pulse .8s ease-in-out infinite alternate}
.loader-mark i:first-child{left:0;transform:rotate(18deg)}.loader-mark i:nth-child(2){left:22px;top:5px;transform:rotate(90deg) scale(.9)}.loader-mark i:last-child{right:0;transform:scaleX(-1) rotate(18deg)}
@keyframes engine-pulse{to{opacity:.48;filter:brightness(1.8)}}
.panel{width:min(920px,100%);max-height:94vh;overflow:auto;padding:clamp(20px,4vw,40px);border:1px solid #55f6ff48;background:linear-gradient(145deg,#071b31f4,#040e1ff2);box-shadow:0 0 50px #14ddff1c;clip-path:polygon(18px 0,100% 0,100% calc(100% - 18px),calc(100% - 18px) 100%,0 100%,0 18px)}
.title-panel{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(220px,.65fr);gap:28px;align-items:end}.eyebrow{color:var(--jade)}h1{margin:7px 0 2px;font-size:clamp(43px,9vw,88px);line-height:.82;letter-spacing:-.025em;color:#efffff;text-shadow:0 0 20px #2ce1ff45}h1 em{font-style:normal;color:var(--cyan)}h2{margin:12px 0 18px;font-size:clamp(19px,4vw,32px);letter-spacing:.16em;color:var(--gold)}p{max-width:58ch;font:600 17px/1.45 Arial,sans-serif;color:#c9e4ed}.controls{display:flex;flex-wrap:wrap;gap:7px;margin:18px 0}.controls span{padding:7px 9px;border:1px solid #28536c;background:#081b30;font:700 11px Arial,sans-serif;letter-spacing:.05em;color:#c5eff6}
.primary{min-height:50px;padding:13px 22px;border:1px solid var(--cyan);color:#edffff;background:linear-gradient(90deg,#1dbad34d,#25ebb333);font:900 12px Arial,sans-serif;letter-spacing:.17em;cursor:pointer;clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px)}.primary:active{transform:translateY(1px)}.primary:disabled{opacity:.42;cursor:wait;filter:saturate(.3)}.ready{margin-top:11px;color:#76b7c7}
.title-panel aside{border-left:1px solid #55f6ff3d;padding-left:22px}.title-panel h3{font:700 11px Arial,sans-serif;letter-spacing:.22em;color:var(--cyan)}.scores{min-height:130px;font:700 12px Arial,sans-serif;letter-spacing:.08em;color:#9abac5}.score-row{display:grid;grid-template-columns:22px 1fr auto;gap:8px;padding:7px 0;border-bottom:1px solid #66d6ee19}.score-row b{color:var(--gold)}
.compact{width:min(430px,100%);text-align:center}.end-score{font-size:clamp(31px,7vw,58px);color:var(--gold);letter-spacing:.08em}.submit{display:flex;gap:8px;flex-wrap:wrap}.submit input{min-height:50px;min-width:0;flex:1;padding:0 14px;border:1px solid #2d6479;background:#06182c;color:#fff;font:700 13px Arial,sans-serif;letter-spacing:.12em;outline:0}.submit input:focus{border-color:var(--cyan)}
.run-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:10px 0 16px}.run-summary div{padding:9px 6px;border:1px solid #2d6572;background:#061827;color:#8fc8d2;font:700 8px Arial,sans-serif;letter-spacing:.12em}.run-summary b{display:block;margin-top:4px;color:#fff0ad;font-size:13px}
.mobile-controls{display:none;position:fixed;z-index:20;inset:0;pointer-events:none}.touch-capable .mobile-controls:not(.hidden){display:block}.drag-hint{position:absolute;left:50%;bottom:max(96px,calc(env(safe-area-inset-bottom) + 88px));transform:translateX(-50%);display:flex;align-items:center;gap:9px;color:#a6eaf1;font:700 9px Arial,sans-serif;letter-spacing:.14em;text-shadow:0 2px 6px #000}.drag-hint i{width:54px;height:54px;border:1px solid #63f7ff82;border-radius:50%;box-shadow:inset 0 0 18px #34deff1c}.drag-hint i:after{content:"";display:block;width:16px;height:16px;margin:18px;border:1px solid var(--cyan);border-radius:50%;background:#1aaec06b}.touch-actions{position:absolute;inset:0;pointer-events:none}.touch-actions button{position:absolute;bottom:max(16px,env(safe-area-inset-bottom));width:64px;height:64px;min-width:44px;min-height:44px;border-radius:50%;color:#fff;background:radial-gradient(circle at 50% 38%,#174a65f2,#061728f2 70%);border:2px solid #73f8ff;box-shadow:0 4px 18px #000b,0 0 14px #45dfff65,inset 0 0 16px #45dfff2e;font:800 11px Arial,sans-serif;letter-spacing:.11em;text-shadow:0 1px 4px #000;touch-action:none;pointer-events:auto}.touch-actions button.bomb{right:16px;width:74px;height:74px;border-color:#ff7194;color:#ffd5df;background:radial-gradient(circle at 50% 38%,#7c2441f2,#260913f2 72%);box-shadow:0 4px 18px #000b,0 0 16px #ff557f70,inset 0 0 18px #ff557f30;font-size:12px}.touch-actions button.bomb small{display:block;font:800 9px Arial,sans-serif}.touch-actions #rollBtn{right:102px}.touch-actions #boostBtn{left:16px}.touch-actions button.active{background:#189eb4f2;transform:scale(.94)}.touch-actions button.bomb.active{background:#a62d55f2}.touch-actions button:disabled{opacity:.35;filter:grayscale(1)}.touch-capable .status{bottom:max(104px,calc(env(safe-area-inset-bottom) + 92px))}.touch-capable .bark{bottom:max(188px,calc(env(safe-area-inset-bottom) + 180px))}
@media(any-pointer:coarse),(hover:none),(max-width:820px){.mobile-controls:not(.hidden){display:block}}
@media(max-width:720px){.title-panel{grid-template-columns:1fr}.title-panel aside{border-left:0;border-top:1px solid #55f6ff3d;padding:14px 0 0}.scores{min-height:65px}.panel{padding:18px}.screen{padding:10px}.status{width:48vw;bottom:max(104px,calc(env(safe-area-inset-bottom) + 92px))}.mission{width:38vw}.bark{bottom:188px}p{font-size:15px}.controls{margin:10px 0}.title-panel{gap:12px}}
@media(max-width:370px){.drag-hint{display:none}.touch-actions button{width:58px;height:58px}.touch-actions button.bomb{right:8px;width:68px;height:68px}.touch-actions #rollBtn{right:82px}.touch-actions #boostBtn{left:8px}}
@media(max-height:650px){.panel{padding:15px}.title-panel{gap:10px}h1{font-size:38px}h2{margin:7px 0;font-size:18px}p{margin:7px 0}.controls{margin:8px 0}.scores{min-height:50px}.score-row{padding:4px 0}}
@media(prefers-reduced-motion:reduce){.scan{display:none}.bark,.boss-banner{transition:none}}

/* CHINA FORCE attract-mode presentation */
#titleScreen{align-items:stretch;justify-content:stretch;padding:0;overflow:hidden;background:linear-gradient(90deg,rgba(2,7,18,.91) 0%,rgba(3,13,26,.68) 38%,rgba(2,16,26,.16) 66%,rgba(3,7,18,.38) 100%)}
#titleScreen:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 72% 45%,transparent 0 25%,rgba(0,7,17,.36) 72%),linear-gradient(180deg,rgba(2,7,17,.34),transparent 24% 76%,rgba(2,6,15,.76));box-shadow:inset 0 0 13vw #0206118c}
#titleScreen:after{content:"";position:absolute;inset:-20%;pointer-events:none;opacity:.22;background:linear-gradient(108deg,transparent 36%,rgba(79,255,211,.2) 43%,transparent 49%,rgba(255,205,91,.13) 55%,transparent 62%);animation:shaft-drift 13s ease-in-out infinite alternate}
html[data-render-profile="lite"] #titleScreen:after{display:none;animation:none}
/* SwiftShader also pays for DOM filters and each independently animated title
   glyph. Preserve the finished lockup and WebGL turntable in automation while
   keeping the full stagger, glow and shadow treatment on actual devices. */
html[data-render-profile="lite"] #titleScreen:before{display:none;box-shadow:none}
html[data-render-profile="lite"] .title-copy,html[data-render-profile="lite"] .brand-lockup .brand-top{filter:none}
html[data-render-profile="lite"] .brand-hero:before{animation:none;filter:none;opacity:.78;transform:translateX(.08em)}
html[data-render-profile="lite"] .brand-hero .brand-letter,html[data-render-profile="lite"] .brand-hero .brand-sub,html[data-render-profile="lite"] .brand-hero .brand-sub:after{animation:none;opacity:1;transform:none}
html[data-render-profile="lite"] .leaderboard-card,html[data-render-profile="lite"] .launch{box-shadow:none}
html[data-render-profile="lite"] .hud,html[data-render-profile="lite"] .status,html[data-render-profile="lite"] .reticle span,html[data-render-profile="lite"] .reticle b,html[data-render-profile="lite"] .bark span{text-shadow:none}
html[data-render-profile="lite"] .title-copy .eyebrow,html[data-render-profile="lite"] .title-copy p,html[data-render-profile="lite"] .brand-lockup .brand-sub{text-shadow:none}
html[data-render-profile="lite"] .brand-lockup .brand-sub:after{box-shadow:none}
html[data-render-profile="lite"] .hud,html[data-render-profile="lite"] .status,html[data-render-profile="lite"] .bark,html[data-render-profile="lite"] .boss-banner{contain:layout paint style}
html[data-render-profile="lite"] .reticle{contain:layout style}
html[data-render-profile="lite"] .hud .right small{animation:none;transform:none}
html[data-render-profile="lite"] .reticle b{transform:translate(-50%,-50%)}
@keyframes shaft-drift{to{transform:translate3d(5%,1%,0) rotate(.5deg);opacity:.34}}
.title-grid{position:relative;z-index:1;width:100%;height:100%;display:grid;grid-template-columns:minmax(440px,46vw) 1fr;grid-template-rows:1fr;align-items:center;padding:clamp(32px,5vw,76px);padding-top:max(clamp(32px,5vw,76px),env(safe-area-inset-top));padding-bottom:max(clamp(32px,5vw,76px),env(safe-area-inset-bottom));pointer-events:none}
.title-copy{width:min(620px,100%);display:flex;flex-direction:column;align-items:flex-start;gap:14px;pointer-events:auto;filter:drop-shadow(0 15px 28px #000)}
.title-copy .eyebrow{margin-bottom:15px;color:#93ffe2;text-shadow:0 0 12px #39e7bd}
.title-copy p{max-width:44ch;margin:17px 0 14px;color:#d6edf0;font-size:clamp(13px,1.35vw,17px);text-shadow:0 2px 8px #000}
.brand-lockup{display:block;width:max-content;max-width:100%;margin:0;color:#fff;text-transform:uppercase}
.brand-lockup .brand-top{display:block;font-weight:950;font-stretch:condensed;line-height:.95;letter-spacing:-.035em;color:#b82525;background:linear-gradient(180deg,#ffde87 0 8%,#ff8b48 15%,#dc2f2f 42%,#8d101c 76%,#ff6947 88%,#841018 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;-webkit-text-stroke:clamp(1px,.16vw,2.4px) #ffc957;paint-order:stroke fill;filter:drop-shadow(0 3px 0 #64121a) drop-shadow(0 0 13px #e73d2878)}
.brand-lockup .brand-sub{position:relative;display:block;width:100%;margin-top:.22em;padding:0 0 .46em .35em;color:#f5e5ae;font-family:Impact,"Arial Narrow",sans-serif;font-weight:900;line-height:1;letter-spacing:.38em;text-align:center;text-shadow:0 1px 0 #614615,0 0 9px #f2c65a52}
.brand-lockup .brand-sub:after{content:"";position:absolute;left:9%;right:11%;bottom:.08em;height:.1em;min-height:2px;background:linear-gradient(90deg,transparent,#43ffd0 10% 88%,transparent);box-shadow:0 0 11px #36ffc5;transform-origin:left center}
.brand-hero{position:relative;display:block;width:auto;max-width:100%;margin:.1em 0 .5em;font-size:clamp(40px,6.4vw,98px);isolation:isolate}
.brand-hero:before{content:"";position:absolute;z-index:-1;inset:-.2em -.22em .14em;background:linear-gradient(105deg,#5c101dcc,transparent 64%),repeating-linear-gradient(135deg,#44ffd018 0 1px,transparent 1px 9px);border-left:.055em solid #49efbd;clip-path:polygon(0 0,96% 0,100% 22%,96% 100%,0 100%);filter:drop-shadow(0 0 .16em #32f4be66);opacity:0;animation:lockup-panel .7s ease-out .08s forwards}
.brand-hero .brand-top{display:flex;flex-wrap:wrap;align-items:flex-end;column-gap:.17em;row-gap:.1em;width:100%}
.brand-hero .brand-word{display:inline-flex;flex:none;white-space:nowrap}
.brand-hero .brand-letter{display:inline-block;opacity:0;transform:translateY(.18em) scale(.74);animation:letter-rise .62s cubic-bezier(.18,.82,.24,1.22) forwards;animation-delay:calc(.22s + var(--i)*40ms)}
.brand-hero .brand-sub{display:flex;flex-wrap:wrap;justify-content:center;gap:0 .7em;padding-left:.2em;font-size:.28em;letter-spacing:.31em;opacity:0;animation:sub-rise .62s ease-out .78s forwards}
.brand-hero .brand-sub-word{display:inline-block;white-space:nowrap}
.brand-hero .brand-sub:after{transform:scaleX(0);animation:underline-sweep .72s cubic-bezier(.2,.8,.2,1) 1.02s forwards}
@keyframes lockup-panel{to{opacity:.78;transform:translateX(.08em)}}
@keyframes letter-rise{to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes sub-rise{to{opacity:1}}
@keyframes underline-sweep{to{transform:scaleX(1)}}
.brand-mini{font-size:20px;margin-bottom:18px}.brand-mini .brand-sub{font-size:.32em;margin-top:.42em;letter-spacing:.36em}.brand-end{font-size:clamp(31px,4vw,47px);margin-bottom:22px}.brand-end .brand-sub{font-size:.3em}
.brand-colon{margin-left:.02em}
.launch{position:relative;z-index:20;display:grid;align-self:center;justify-items:center;width:min(440px,calc(100vw - 40px));min-height:72px;grid-template-columns:1fr;align-items:center;gap:5px;margin:28px auto 14px;padding:14px 24px;border:3px solid #ffe089;outline:2px solid #6d0d18;outline-offset:3px;background:linear-gradient(100deg,#a40f25,#ef5632 54%,#c98b16);box-shadow:0 0 0 2px #ffcf58 inset,0 12px 34px #000b,0 0 38px #ff4a35a8;color:#fff9d4;text-align:center;transition:filter .2s,transform .2s;animation:launch-attract 1.25s ease-in-out infinite alternate}.launch>span{font-size:clamp(24px,3vw,34px);letter-spacing:.08em;text-shadow:3px 3px 0 #5a0a15}.launch:hover:not(:disabled){filter:brightness(1.22);transform:translateY(-3px) scale(1.02)}.launch small{font:900 10px Arial,sans-serif;color:#fff0aa;letter-spacing:.24em}.launch:disabled{cursor:wait;filter:saturate(.45);animation:none}@keyframes launch-attract{to{transform:scale(1.035);box-shadow:0 0 0 2px #ffef9c inset,0 14px 38px #000b,0 0 58px #ff593ccc}}
.leaderboard-card{position:absolute;right:clamp(26px,4vw,64px);top:max(clamp(24px,4vw,54px),env(safe-area-inset-top));width:min(270px,27vw);padding:18px 20px;border:1px solid #68f7df45;border-top:2px solid #e5bd58;background:linear-gradient(145deg,#071a2fcf,#07121ed4);box-shadow:0 15px 40px #0008,inset 0 0 30px #26cba60b;clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px);pointer-events:auto}
.leaderboard-card h3{margin:0 0 8px;font:800 9px Arial,sans-serif;letter-spacing:.28em;color:#7dffe0}.leaderboard-card .scores{min-height:64px;max-height:205px;overflow:hidden}
.title-telemetry{position:absolute;z-index:2;right:clamp(28px,4vw,66px);bottom:max(22px,env(safe-area-inset-bottom));display:flex;align-items:center;gap:11px;font:800 8px Arial,sans-serif;letter-spacing:.25em;color:#9aeadd;text-shadow:0 2px 8px #000}.title-telemetry i{width:60px;height:1px;background:#59f8d1;box-shadow:0 0 9px #59f8d1}
#endScreen{background:radial-gradient(circle at 70% 25%,#12625554,transparent 42%),linear-gradient(140deg,#020814f2,#071829ee)}

@media(max-width:820px){
  #titleScreen{background:linear-gradient(180deg,rgba(2,7,17,.77) 0%,rgba(2,9,19,.24) 34%,rgba(3,8,18,.35) 62%,rgba(2,7,16,.94) 100%)}
  .title-grid{display:flex;align-items:flex-start;padding:calc(env(safe-area-inset-top) + 24px) 18px calc(env(safe-area-inset-bottom) + 20px)}
  .title-copy{width:100%}.brand-hero{font-size:clamp(48px,11vw,76px)}.title-copy p{display:none}.title-copy .controls{position:static;justify-content:flex-start}.title-copy .controls span{display:none}.title-copy .controls span:first-child,.title-copy .controls span:nth-child(2){display:block;background:#071728c7;font-size:9px}
  .launch{width:min(390px,calc(100vw - 36px));min-height:68px;margin:18px auto 10px}
  .title-copy .ready{display:none}.leaderboard-card{right:14px;top:43%;width:min(215px,52vw);padding:12px 14px}.leaderboard-card .brand-mini{display:none}.leaderboard-card .scores{max-height:102px;min-height:44px}.score-row{padding:4px 0;font-size:10px}.title-telemetry{display:none}
}
@media(max-width:420px){.brand-hero{width:100%;font-size:12.4vw}.title-copy .eyebrow{font-size:8px}.leaderboard-card{top:46%;width:195px}.brand-lockup .brand-sub{letter-spacing:.3em}.brand-hero .brand-sub{gap:0 .45em;letter-spacing:.27em}}
@media(max-height:650px) and (min-width:721px){.title-grid{padding:25px 40px}.brand-hero{font-size:64px}.title-copy p{font-size:13px;margin:10px 0}.leaderboard-card{top:24px}.brand-end{font-size:30px}}
@media(prefers-reduced-motion:reduce){#titleScreen:after,.brand-hero:before,.brand-hero .brand-letter,.brand-hero .brand-sub,.brand-hero .brand-sub:after,.launch{animation:none;opacity:1;transform:none}}
html[data-render-profile="lite"] .bark span{box-shadow:none}

/* Six-panel origin cinematic with ordered manual paging. */
.bark.title-dialogue{z-index:36;bottom:max(34px,env(safe-area-inset-bottom))}
.cinematic-screen{z-index:45;display:block;padding:0;overflow:hidden;background:#02050c;isolation:isolate}
.cinematic-panel{position:absolute;z-index:0;inset:-4%;opacity:0;transition:opacity 1.05s ease;overflow:hidden;will-change:opacity}.cinematic-panel.active{z-index:1;opacity:1}.cinematic-panel img{width:100%;height:100%;object-fit:cover;transform:scale(1);transform-origin:center;will-change:transform}.cinematic-panel.active.pan-a img{animation:cinematic-drift-a 7.2s linear forwards}.cinematic-panel.active.pan-b img{animation:cinematic-drift-b 7.2s linear forwards}
@keyframes cinematic-drift-a{to{transform:scale(1.08) translate3d(-1.6%,-1%,0)}}
@keyframes cinematic-drift-b{to{transform:scale(1.08) translate3d(1.6%,1%,0)}}
.cinematic-vignette{position:absolute;z-index:2;inset:0;pointer-events:none;background:linear-gradient(180deg,#02071478 0,transparent 28%,transparent 54%,#02050ee8 100%),radial-gradient(ellipse at center,transparent 46%,#01030bbd 100%);box-shadow:inset 0 0 12vw #02040bc4}
.cinematic-chapter{position:absolute;z-index:4;top:max(22px,calc(env(safe-area-inset-top) + 14px));left:max(20px,calc(env(safe-area-inset-left) + 16px));display:flex;gap:13px;align-items:center;color:#a7ffe8;font:800 9px Arial,sans-serif;letter-spacing:.24em;text-shadow:0 2px 8px #000}.cinematic-chapter b{padding-left:13px;border-left:1px solid #6dffe0;color:#ffe295}
.cinematic-next{position:absolute;z-index:8;top:max(14px,calc(env(safe-area-inset-top) + 8px));right:max(14px,calc(env(safe-area-inset-right) + 8px));min-width:124px;min-height:56px;padding:0 20px;border:2px solid #ffe38c;background:linear-gradient(100deg,#8d1727e8,#d64b31ed);color:#fff8d1;box-shadow:0 8px 24px #0009,0 0 22px #ff5c3c55;font:900 13px Arial,sans-serif;letter-spacing:.2em;cursor:pointer;clip-path:polygon(9px 0,100% 0,100% calc(100% - 9px),calc(100% - 9px) 100%,0 100%,0 9px)}.cinematic-next span{color:#ffe17e;font-size:18px}.cinematic-next:focus-visible{outline:3px solid #fff;outline-offset:3px}
.cinematic-dialogue{position:absolute;z-index:5;left:50%;bottom:max(34px,calc(env(safe-area-inset-bottom) + 24px));width:min(860px,calc(100vw - 36px));transform:translateX(-50%);text-align:center;text-shadow:0 2px 7px #000}.cinematic-dialogue small{display:block;margin-bottom:8px;color:#64f7d0;font:800 9px Arial,sans-serif;letter-spacing:.3em}.cinematic-dialogue p{display:inline-block;max-width:820px;margin:0;padding:12px 18px;border-inline:2px solid var(--cyan);background:linear-gradient(180deg,#061829d6,#020913ed);color:#f3ffff;font:800 clamp(16px,2.5vw,24px)/1.35 Arial,sans-serif;box-shadow:0 10px 35px #000a,0 0 24px #38e8ff25}
.cinematic-gate{position:absolute;z-index:7;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:#02061170;backdrop-filter:blur(3px);transition:opacity .35s}.cinematic-gate.ready{opacity:0;pointer-events:none}.cinematic-gate .primary{min-width:min(330px,calc(100vw - 40px));border-color:#ffe18a;background:linear-gradient(90deg,#8e1c2edb,#d65a32dc);box-shadow:0 0 30px #ff5c3c4f}.cinematic-gate small{color:#b9e9e6;font:800 8px Arial,sans-serif;letter-spacing:.2em;text-shadow:0 2px 6px #000}
.cinematic-screen.danger:after{content:"";position:absolute;z-index:3;inset:0;pointer-events:none;background:#ff243f;animation:cinematic-red-flash .62s ease-out forwards}.cinematic-screen.danger .cinematic-panel.active{animation:cinematic-impact .48s ease-out}
@keyframes cinematic-red-flash{0%{opacity:.42}100%{opacity:0}}
@keyframes cinematic-impact{0%,100%{transform:translate3d(0,0,0)}20%{transform:translate3d(-5px,2px,0)}42%{transform:translate3d(4px,-2px,0)}64%{transform:translate3d(-2px,1px,0)}}
@media(max-width:620px){.cinematic-chapter span{display:none}.cinematic-dialogue{bottom:max(24px,calc(env(safe-area-inset-bottom) + 18px))}.cinematic-dialogue p{padding:10px 13px;font-size:15px}.cinematic-next{min-width:112px;min-height:56px}.bark.title-dialogue{bottom:max(20px,env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){.cinematic-panel,.cinematic-gate{transition:none}.cinematic-panel.active img,.cinematic-screen.danger .cinematic-panel.active,.cinematic-screen.danger:after{animation:none!important}.cinematic-panel.active img{transform:scale(1.03)}}

/* In-run escalation, encounter, and between-stage upgrade surfaces. */
.weapon-readout em{display:block;margin-top:2px;color:#d7fff4;font:800 8px Arial,sans-serif;letter-spacing:.12em}.wave-indicator{position:fixed;z-index:9;left:50%;top:max(112px,calc(env(safe-area-inset-top) + 98px));transform:translateX(-50%);padding:5px 11px;border-inline:1px solid #63f7ff85;background:#041528a8;color:#bdfff1;font:800 9px Arial,sans-serif;letter-spacing:.18em;text-shadow:0 2px 7px #000;pointer-events:none}.axis-flash{position:fixed;z-index:14;right:18px;top:max(104px,calc(env(safe-area-inset-top) + 90px));padding:8px 12px;border-right:3px solid var(--jade);background:#04172de8;color:#eafff8;font:900 12px Arial,sans-serif;letter-spacing:.18em;opacity:0;transform:translateX(18px);transition:.16s;pointer-events:none}.axis-flash.show{opacity:1;transform:none}.axis-flash.loss{border-color:var(--red);color:#ffd0dc}
.upgrade-bay{z-index:34;overflow:auto;background:radial-gradient(circle at 50% 15%,#2cc6a72c,transparent 38%),linear-gradient(145deg,#020914f5,#071c2af2)}.upgrade-panel{width:min(820px,100%);max-height:94vh;overflow:auto;padding:clamp(18px,3.6vw,34px);border:1px solid #63f7ff6b;border-top:3px solid var(--gold);background:linear-gradient(145deg,#071c31fa,#03101df7);box-shadow:0 18px 70px #000b,0 0 34px #36f4cf1a;clip-path:polygon(18px 0,100% 0,100% calc(100% - 18px),calc(100% - 18px) 100%,0 100%,0 18px)}.upgrade-panel>header{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;border-bottom:1px solid #55f6ff38}.upgrade-panel>header h2{margin-bottom:10px}.upgrade-panel>header>strong{padding-bottom:13px;color:var(--gold);font:900 15px Arial,sans-serif;letter-spacing:.13em}.upgrade-panel>header>strong span{font-size:24px}.upgrade-phrase{max-width:none;min-height:24px;margin:13px 0;color:#fff1ab;font:800 14px/1.4 Arial,sans-serif;text-align:center}.upgrade-grid{display:grid;gap:7px}.upgrade-grid article{display:grid;grid-template-columns:minmax(180px,1fr) 80px 90px 70px;gap:12px;align-items:center;min-height:58px;padding:9px 10px;border:1px solid #28566c;background:linear-gradient(90deg,#082036,#061626)}.upgrade-grid h3{margin:0;color:#cffff3;font:900 13px Arial,sans-serif;letter-spacing:.15em}.upgrade-grid p{margin:3px 0 0;color:#8fbdc8;font:700 10px Arial,sans-serif}.upgrade-grid span,.upgrade-grid b{color:#9cf5e1;font:800 10px Arial,sans-serif;letter-spacing:.09em}.upgrade-grid b{color:var(--gold)}.upgrade-grid button{min-height:38px;border:1px solid var(--cyan);background:#116b756b;color:#efffff;font:900 10px Arial,sans-serif;letter-spacing:.13em;cursor:pointer}.upgrade-grid button:focus-visible,.launch-stage:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.upgrade-grid button:disabled{opacity:.38;cursor:not-allowed}.launch-stage{display:block;margin:16px auto 8px;min-width:min(330px,100%);border-color:var(--gold);background:linear-gradient(90deg,#8f2236,#d66435b8)}.upgrade-panel>small{display:block;color:#7fb9c3;font:800 8px Arial,sans-serif;letter-spacing:.18em;text-align:center}
@media(max-width:620px){.wave-indicator{top:max(105px,calc(env(safe-area-inset-top) + 91px));max-width:70vw;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.axis-flash{right:10px;top:142px;font-size:10px}.upgrade-panel{padding:15px}.upgrade-panel>header{align-items:flex-start}.upgrade-panel>header>strong{font-size:10px}.upgrade-panel>header>strong span{font-size:17px}.upgrade-grid article{grid-template-columns:1fr 66px 64px;gap:6px}.upgrade-grid article>div{grid-column:1/4}.upgrade-grid article button{grid-column:3}.upgrade-grid article>b{grid-column:2}.upgrade-grid article>span{grid-row:2}.upgrade-phrase{font-size:12px}}

/* Full-screen first-gesture overlay. The game and loading flow boot underneath it. */
.press-gate{position:fixed;z-index:1000;inset:0;display:grid;place-items:center;overflow:hidden;padding:24px;background:radial-gradient(circle at 50% 43%,#a22825 0,#3b0a17 34%,#13030a 67%,#050207 100%);isolation:isolate}
.press-gate:before,.press-gate:after{content:"";position:absolute;pointer-events:none}.press-gate:before{z-index:-1;inset:-20%;opacity:.23;background:repeating-conic-gradient(from 8deg at 50% 50%,#ffd66b 0 1deg,transparent 1deg 8deg);animation:press-rays 22s linear infinite}.press-gate:after{inset:0;background:linear-gradient(115deg,transparent 0 46%,#fff0a21b 47% 49%,transparent 50%),repeating-linear-gradient(0deg,transparent 0 4px,#ffd66b0a 5px),linear-gradient(90deg,#0008,transparent 14% 86%,#0008);box-shadow:inset 0 0 16vw #000}
.press-energy{position:absolute;z-index:-1;width:min(88vw,760px);aspect-ratio:1;border:2px solid #ffd66b66;border-radius:50%;box-shadow:0 0 0 18px #e83b5014,0 0 0 44px #ffd66b0c,0 0 100px #f2364b46;animation:press-pulse 2.2s ease-in-out infinite alternate}
.press-lockup{position:relative;z-index:5;width:min(920px,100%);text-align:center;filter:drop-shadow(0 12px 0 #0008)}.press-lockup .eyebrow{margin-bottom:18px;color:#ffe59a}.press-brand{display:flex;justify-content:center;gap:.18em;max-width:100%;margin:0;color:#fff9d5;font-size:clamp(52px,13vw,132px);line-height:.76;letter-spacing:-.055em;-webkit-text-stroke:clamp(1px,.25vw,4px) #05070b;text-shadow:5px 6px 0 #e8394f,10px 12px 0 #05070b,0 0 36px #ffbc45}.press-brand span:last-child{color:#ffd66b;transform:skewX(-7deg)}.press-lockup>strong{display:block;margin:18px 0 34px;color:#ffd66b;font-size:clamp(17px,3.6vw,36px);letter-spacing:.38em;text-shadow:3px 3px 0 #000,0 0 16px #ff9d45}
.press-continue{position:relative;min-width:min(390px,88vw);padding:15px 28px 13px;border:4px solid #05070b;outline:3px solid #ffd66b;outline-offset:3px;background:#fff1bd;color:#26050b;box-shadow:8px 8px 0 #e8394f,12px 12px 0 #05070b;cursor:pointer;transform:rotate(-1.2deg) skewX(-4deg);animation:press-button 1.25s ease-in-out infinite alternate}.press-continue span{display:block;font:900 clamp(18px,4vw,29px)/1 Impact,"Arial Black",sans-serif;letter-spacing:.08em}.press-continue small{display:block;margin-top:6px;font:900 8px Arial,sans-serif;letter-spacing:.28em}.press-continue:focus-visible{outline-color:#fff;outline-width:5px}.press-continue:disabled{cursor:wait;opacity:.72;animation:none;filter:saturate(.65)}.press-gate.departing{pointer-events:none;animation:gate-veil .26s ease-in forwards}.press-gate.departing .press-lockup{animation:gate-slam .24s ease-in forwards}
.press-dragon{position:absolute;z-index:0;left:50%;top:47%;width:min(94vw,900px);height:min(55vw,500px);transform:translate(-50%,-50%) rotate(-7deg);opacity:.16;filter:drop-shadow(0 0 18px #ffd66b)}.press-dragon i{position:absolute;border:clamp(12px,3vw,30px) solid #ffd66b;border-left-color:transparent;border-radius:50%;transform:rotate(-18deg)}.press-dragon i:first-child{inset:3% 8% 8% 4%}.press-dragon i:nth-child(2){inset:19% 28% -2% 24%;transform:rotate(22deg)}.press-dragon i:nth-child(3){inset:2% 5% 35% 60%;transform:rotate(-42deg)}.press-dragon b{position:absolute;right:7%;top:1%;width:19%;aspect-ratio:1;background:#ffd66b;clip-path:polygon(4% 44%,31% 27%,22% 0,48% 18%,73% 3%,67% 30%,100% 44%,68% 57%,78% 91%,49% 68%,22% 100%,30% 62%)}
.press-pagoda{position:absolute;z-index:1;left:50%;bottom:-16px;width:min(74vw,760px);height:27vh;max-height:250px;transform:translateX(-50%);opacity:.36;filter:drop-shadow(0 0 12px #ffb43f55)}.press-pagoda b{position:absolute;left:43%;bottom:0;width:14%;height:80%;background:linear-gradient(90deg,#080107,#4d0d13 47% 53%,#080107);clip-path:polygon(41% 0,59% 0,65% 100%,35% 100%)}.press-pagoda i{position:absolute;left:50%;height:23%;transform:translateX(-50%);background:linear-gradient(#ffd66b 0 9%,#690e16 10% 100%);clip-path:polygon(5% 0,39% 24%,45% 100%,55% 100%,61% 24%,95% 0,100% 24%,62% 48%,38% 48%,0 24%)}.press-pagoda i:first-child{bottom:60%;width:52%}.press-pagoda i:nth-child(2){bottom:37%;width:69%}.press-pagoda i:nth-child(3){bottom:14%;width:88%}
.press-lanterns{position:absolute;z-index:4;top:0;width:clamp(92px,15vw,220px);height:42%;pointer-events:none}.press-lanterns-left{left:max(0px,env(safe-area-inset-left))}.press-lanterns-right{right:max(0px,env(safe-area-inset-right));transform:scaleX(-1)}.press-lanterns i{position:absolute;top:-1px;width:clamp(29px,4vw,48px);height:clamp(39px,5.3vw,64px);border:2px solid #ffd66b;border-radius:42% 42% 48% 48%;background:repeating-linear-gradient(90deg,#a50e1e 0 22%,#e13a35 23% 43%);box-shadow:inset 0 0 12px #ffb72d99,0 0 22px #f13b3055;animation:lantern-sway 3.2s ease-in-out infinite alternate;transform-origin:50% -75px}.press-lanterns i:before{content:"";position:absolute;left:50%;bottom:100%;width:1px;height:clamp(48px,8vw,110px);background:#d9a849}.press-lanterns i:after{content:"";position:absolute;left:50%;top:100%;width:12px;height:24px;transform:translateX(-50%);border-top:5px solid #d6a73e;background:repeating-linear-gradient(90deg,transparent 0 2px,#d43a31 3px 4px)}.press-lanterns i:first-child{left:8%;top:0}.press-lanterns i:nth-child(2){left:45%;top:8%;animation-delay:-1.2s}.press-lanterns i:nth-child(3){left:76%;top:-11%;animation-delay:-2.1s}
.press-cloud{position:absolute;z-index:2;width:clamp(130px,18vw,260px);height:120px;opacity:.42;color:#ffd66b;filter:drop-shadow(0 0 8px #ffbf3d55)}.press-cloud-nw{left:-20px;top:27%}.press-cloud-se{right:-26px;bottom:19%;transform:rotate(180deg)}.press-cloud i{position:absolute;border:4px solid currentColor;border-left-color:transparent;border-radius:50%}.press-cloud i:first-child{left:0;top:40px;width:92%;height:58px}.press-cloud i:nth-child(2){left:35%;top:12px;width:44%;height:60px}.press-cloud i:nth-child(3){left:60%;top:52px;width:43%;height:42px}
.press-characters span{position:absolute;z-index:3;color:#ffd66b;font-family:"Songti SC","STSong",serif;font-weight:900;writing-mode:vertical-rl;text-shadow:0 0 16px #ffb42f66}.press-characters span:first-child{left:clamp(24px,8vw,130px);top:47%;font-size:clamp(18px,3vw,34px);letter-spacing:.3em}.press-characters span:nth-child(2){right:clamp(22px,7vw,112px);top:39%;font-size:clamp(36px,6vw,72px);opacity:.55}.press-characters span:nth-child(3){right:clamp(32px,9vw,150px);bottom:10%;font-size:clamp(16px,2.4vw,28px);letter-spacing:.24em}
.press-coin{position:absolute;z-index:3;left:clamp(24px,8vw,130px);bottom:10%;display:grid;place-items:center;width:clamp(48px,7vw,82px);aspect-ratio:1;border:5px double #ffd66b;border-radius:50%;color:#ffd66b;background:#790e18aa;box-shadow:0 0 0 4px #a31b22,0 0 24px #ffbb3855;transform:rotate(-8deg)}.press-coin:before,.press-coin:after{content:"";position:absolute;inset:10%;border:1px solid #ffd66b66;border-radius:50%}.press-coin:after{inset:38%;border:2px solid #ffd66b;transform:rotate(45deg)}.press-coin span{position:relative;z-index:1;font-family:"Songti SC","STSong",serif;font-size:clamp(24px,3.6vw,42px);line-height:1}
.press-petals{position:absolute;z-index:4;inset:0;pointer-events:none}.press-petals i{position:absolute;top:-6%;width:9px;height:14px;border-radius:70% 20% 65% 30%;background:linear-gradient(135deg,#fff0de,#ff8f9d);box-shadow:0 0 8px #ffced1;opacity:.7;animation:petal-fall 8s linear infinite}.press-petals i:nth-child(1){left:7%;animation-delay:-1s}.press-petals i:nth-child(2){left:19%;animation-delay:-5.4s;animation-duration:10s}.press-petals i:nth-child(3){left:33%;animation-delay:-3s;animation-duration:7s}.press-petals i:nth-child(4){left:47%;animation-delay:-6.2s;animation-duration:11s}.press-petals i:nth-child(5){left:61%;animation-delay:-2.5s;animation-duration:9s}.press-petals i:nth-child(6){left:73%;animation-delay:-7.3s;animation-duration:12s}.press-petals i:nth-child(7){left:86%;animation-delay:-4.2s;animation-duration:8.5s}.press-petals i:nth-child(8){left:96%;animation-delay:-8.5s;animation-duration:13s}
@keyframes press-rays{to{transform:rotate(1turn)}}@keyframes press-pulse{to{transform:scale(1.04);opacity:.72}}@keyframes press-button{to{transform:rotate(1deg) skewX(-4deg) scale(1.035);filter:brightness(1.08)}}@keyframes gate-slam{to{opacity:0;transform:scale(1.14)}}@keyframes gate-veil{to{opacity:0}}@keyframes lantern-sway{to{transform:rotate(4deg)}}@keyframes petal-fall{to{transform:translate3d(10vw,112vh,0) rotate(580deg)}}

/* Comic caption system shared by gameplay barks and the origin cinematic. */
.comic-caption small{position:relative;z-index:2;display:table!important;margin:0 auto -3px!important;padding:5px 12px 4px!important;border:3px solid #05070b!important;background:#ee3555!important;color:#fff8d1!important;font:900 11px/1 Impact,"Arial Black",sans-serif!important;letter-spacing:.16em!important;text-shadow:2px 2px 0 #05070b!important;box-shadow:3px 3px 0 #05070b!important;transform:rotate(-2.5deg) skewX(-7deg)}
.bark{width:min(88vw,720px)}.bark span,.cinematic-dialogue p{position:relative;display:inline-block;max-width:100%;overflow-wrap:anywhere;border:4px solid #05070b!important;border-radius:2px!important;background-color:#fff1a8!important;background-image:radial-gradient(#e95d4826 1px,transparent 1.6px),linear-gradient(105deg,#fff8cf,#ffe778)!important;background-size:8px 8px,100% 100%!important;color:#08101a!important;box-shadow:6px 6px 0 #e83b50,10px 10px 0 #05070b,0 14px 28px #0009!important;font-family:Impact,"Arial Black",Arial,sans-serif!important;font-weight:900!important;letter-spacing:.045em!important;line-height:1.2!important;text-shadow:1px 1px 0 #fff!important;transform:rotate(.65deg) skewX(-1.5deg)}
.bark span{padding:11px 18px}.bark.show span{animation:comic-pop .24s cubic-bezier(.2,1.5,.5,1) both}.cinematic-dialogue.pop p{animation:comic-pop-cinematic .3s cubic-bezier(.2,1.55,.45,1) both}
@keyframes comic-pop{from{transform:rotate(.65deg) skewX(-1.5deg) scale(.9)}to{transform:rotate(.65deg) skewX(-1.5deg) scale(1)}}@keyframes comic-pop-cinematic{from{transform:rotate(-.55deg) skewX(-1.5deg) scale(.9)}to{transform:rotate(-.55deg) skewX(-1.5deg) scale(1)}}

/* Stronger panel motion, paper grain, flash cuts, and the closing logo slam. */
.cinematic-panel{inset:-8%;transition:opacity .78s ease}.cinematic-panel.active.pan-a img{animation:cinematic-drift-a 7.2s ease-out forwards}.cinematic-panel.active.pan-b img{animation:cinematic-drift-b 7.2s ease-out forwards}.cinematic-panel.active.pan-c img{animation:cinematic-drift-c 7.2s ease-out forwards}.cinematic-panel.active.pan-d img{animation:cinematic-drift-d 7.2s ease-out forwards}
@keyframes cinematic-drift-a{from{transform:scale(1.04) translate3d(2.5%,1.5%,0)}to{transform:scale(1.18) translate3d(-3.2%,-2%,0)}}@keyframes cinematic-drift-b{from{transform:scale(1.16) translate3d(-3%,2%,0)}to{transform:scale(1.04) translate3d(2.6%,-1.8%,0)}}@keyframes cinematic-drift-c{from{transform:scale(1.05) translate3d(-2%,-3%,0)}to{transform:scale(1.2) translate3d(3%,2%,0)}}@keyframes cinematic-drift-d{from{transform:scale(1.18) translate3d(3%,-1%,0)}to{transform:scale(1.06) translate3d(-2.8%,2.5%,0)}}
.cinematic-grain{position:absolute;z-index:3;inset:0;pointer-events:none;opacity:.14;background-image:repeating-radial-gradient(circle at 18% 27%,#fff 0 1px,transparent 1px 4px),repeating-linear-gradient(103deg,#0000 0 5px,#0007 6px 7px);background-size:7px 9px,13px 17px;mix-blend-mode:overlay}.cinematic-flash{position:absolute;z-index:4;inset:0;pointer-events:none;background:#fff7dc;opacity:0}.cinematic-screen.cutting .cinematic-flash{animation:cinematic-white-cut .48s ease-out}.cinematic-screen.cutting .cinematic-panel.active{animation:cinematic-cut-in .55s ease-out}@keyframes cinematic-white-cut{0%{opacity:.64}100%{opacity:0}}@keyframes cinematic-cut-in{from{opacity:.25;transform:scale(1.025)}to{opacity:1;transform:none}}
.cinematic-dialogue{bottom:max(38px,calc(env(safe-area-inset-bottom) + 28px));width:min(900px,calc(100vw - 46px));text-shadow:none}.cinematic-dialogue p{max-width:850px;margin:0;padding:14px 20px;font-size:clamp(17px,2.6vw,26px);transform:rotate(-.55deg) skewX(-1.5deg)}
.cinematic-screen.title-beat .cinematic-dialogue,.cinematic-screen.title-beat .cinematic-chapter{opacity:0}
.cinematic-title-card{position:absolute;z-index:9;inset:0;display:grid;place-content:center;grid-template-columns:auto auto;gap:0 .18em;padding:24px;background:radial-gradient(circle,#153f49 0,#02040bf2 55%,#000 100%);opacity:0;pointer-events:none;text-align:center}.cinematic-title-card>span{color:#fff9d7;font-size:clamp(58px,14vw,150px);line-height:.78;-webkit-text-stroke:clamp(2px,.32vw,5px) #05070b;text-shadow:6px 6px 0 #e83b50,11px 11px 0 #05070b}.cinematic-title-card>span:nth-child(2){color:#64ffdc}.cinematic-title-card>small{grid-column:1/3;margin-top:24px;color:#ffd66b;font:900 clamp(15px,3vw,30px)/1 Impact,sans-serif;letter-spacing:.35em;text-shadow:3px 3px 0 #000}.cinematic-title-card.slam{opacity:1;animation:title-card-beat 2.15s ease both}.cinematic-title-card.slam>span,.cinematic-title-card.slam>small{animation:title-logo-slam .42s cubic-bezier(.1,1.5,.25,1) both}@keyframes title-card-beat{0%{opacity:0}10%,83%{opacity:1}100%{opacity:0}}@keyframes title-logo-slam{from{opacity:0;transform:scale(2.2)}to{opacity:1;transform:scale(1)}}

@media(max-width:620px){.press-gate{padding:18px}.press-brand{flex-direction:column;gap:.05em;font-size:20vw}.press-lockup>strong{margin:14px 0 28px;font-size:4.4vw;letter-spacing:.25em}.press-dragon{height:68vw}.press-pagoda{width:115vw;height:21vh;opacity:.28}.press-lanterns{width:92px}.press-lanterns i:nth-child(2){display:none}.press-cloud{width:120px;opacity:.3}.press-characters span:first-child{left:12px;top:42%}.press-characters span:nth-child(2){right:10px;top:40%}.press-characters span:nth-child(3){display:none}.press-coin{left:18px;bottom:8%;transform:scale(.78) rotate(-8deg)}.comic-caption small{font-size:9px!important}.bark span{padding:9px 13px;font-size:clamp(14px,4.2vw,18px)}.cinematic-dialogue{bottom:max(28px,calc(env(safe-area-inset-bottom) + 20px));width:calc(100vw - 30px)}.cinematic-dialogue p{padding:11px 13px;font-size:15px}.cinematic-title-card{grid-template-columns:1fr}.cinematic-title-card>span{font-size:22vw}.cinematic-title-card>small{grid-column:1;margin-top:20px;letter-spacing:.22em}}
@media(max-height:620px){.press-lockup .eyebrow{margin-bottom:10px}.press-brand{font-size:clamp(48px,15vh,92px)}.press-lockup>strong{margin:12px 0 22px}.press-lanterns{opacity:.6}.press-pagoda{height:24vh}.press-coin{display:none}}
@media(prefers-reduced-motion:reduce){.press-gate:before,.press-energy,.press-continue,.press-gate.departing,.press-gate.departing .press-lockup,.press-lanterns i,.press-petals i,.bark.show span,.cinematic-dialogue.pop p,.cinematic-title-card.slam,.cinematic-title-card.slam>span,.cinematic-title-card.slam>small{animation:none}.press-petals{display:none}.cinematic-panel.active img{animation:none!important;transform:scale(1.06)}}

/* Owner-directed cinematic FX, haptics control, and lightweight game polish. */
.cinematic-fx{position:absolute!important;z-index:2!important;inset:0!important;width:100%!important;height:100%!important;pointer-events:none;touch-action:none}
.cinematic-next:disabled{opacity:.55;cursor:default;filter:saturate(.45)}
.comic-caption.ajay small{border-color:#06110a!important;background:linear-gradient(110deg,#09652f,#31a341 72%,#d6ad33)!important;color:#fff1a6!important;box-shadow:3px 3px 0 #06110a,0 0 18px #4dff6f99!important;text-shadow:2px 2px 0 #06110a!important}.comic-caption.ajay small:before{content:"☣";margin-right:7px;color:#dcff6b}.comic-caption.ajay p{box-shadow:6px 6px 0 #159242,10px 10px 0 #05070b,0 14px 28px #0009!important}
.score-popup.crit{color:#fff2a0;font-size:19px;letter-spacing:.13em;text-shadow:0 0 5px #fff,0 0 18px #ffbd35,0 3px 0 #7a230c;animation-duration:.9s}
.boss-letterbox{position:fixed;z-index:10;inset:0;pointer-events:none;visibility:hidden}.boss-letterbox i{position:absolute;left:0;width:100%;height:0;background:#010207;transition:height .22s ease}.boss-letterbox i:first-child{top:0}.boss-letterbox i:last-child{bottom:0}.boss-letterbox.show{visibility:visible}.boss-letterbox.show i{height:8.5vh}
.boss-banner.intro{z-index:12;top:50%}.boss-banner.intro strong{display:block;min-height:1.15em;color:#fff0bd;-webkit-text-stroke:1px #12030a;text-shadow:4px 4px 0 #7f1727,0 0 22px #ff315c}
.stage-wipe{position:fixed;z-index:24;inset:0;display:grid;place-content:center;gap:9px;padding:20px;background:linear-gradient(90deg,#04111ff2,#0e554bf2 48%,#04111ff2);color:#fff;text-align:center;pointer-events:none;transform:translateX(-105%);opacity:0}.stage-wipe.show{animation:stage-wipe 1.05s cubic-bezier(.7,0,.25,1) both}.stage-wipe span{color:#8fffe3;font:900 9px Arial,sans-serif;letter-spacing:.3em}.stage-wipe strong{color:#ffe18a;font:900 clamp(27px,7vw,66px)/.95 "Songti SC","STSong",Impact,serif;letter-spacing:.08em;text-shadow:4px 4px 0 #8e1830,8px 8px 0 #02050b}@keyframes stage-wipe{0%{opacity:0;transform:translateX(-105%)}18%,76%{opacity:1;transform:none}100%{opacity:0;transform:translateX(105%)}}
.haptics-toggle{display:block;min-height:40px;margin:0 auto 10px;padding:7px 17px;border:1px solid #65f9dc;background:#082b35;color:#bffff0;font:900 9px Arial,sans-serif;letter-spacing:.18em;cursor:pointer}.haptics-toggle[aria-checked="false"]{border-color:#5c7180;color:#91a1aa;background:#101924}
.cinematic-title-card:after{content:"";position:absolute;left:50%;top:50%;width:18vmin;height:18vmin;border:3px solid #dffff4;border-radius:50%;opacity:0;transform:translate(-50%,-50%) scale(.25);pointer-events:none}.cinematic-title-card.slam:after{animation:title-shockwave .82s ease-out .12s both}@keyframes title-shockwave{12%{opacity:.9}to{opacity:0;transform:translate(-50%,-50%) scale(7)}}
.retry-attract{display:block;margin:14px 0 3px;color:#ffe88f;font:900 13px Arial,sans-serif;letter-spacing:.24em;text-align:center;text-shadow:0 0 12px #ff783f;animation:retry-pulse 1s ease-in-out infinite alternate}@keyframes retry-pulse{to{opacity:.45;transform:scale(.96)}}
@media(prefers-reduced-motion:reduce){.cinematic-title-card.slam:after,.retry-attract,.stage-wipe.show{animation:none}.boss-letterbox i{transition:none}}
.cinematic-screen.panel-six .cinematic-panel.active img{animation:cinematic-heroic-push 14s ease-out forwards}@keyframes cinematic-heroic-push{from{transform:scale(1.04)}to{transform:scale(1.18) translate3d(0,-1.5%,0)}}
@media(prefers-reduced-motion:reduce){.cinematic-screen.panel-six .cinematic-panel.active img{animation:none!important;transform:scale(1.06)}}
#titleScreen:not(.hidden) .title-grid:after{content:"";position:absolute;z-index:-1;inset:-35%;pointer-events:none;background:linear-gradient(104deg,transparent 38%,#a8ffe817 47%,#ffe5a70e 52%,transparent 61%);transform:translateX(-30%);animation:title-spotlight-sweep 9s ease-in-out infinite}@keyframes title-spotlight-sweep{50%{transform:translateX(28%) skewX(-4deg)}}
@media(prefers-reduced-motion:reduce){#titleScreen:not(.hidden) .title-grid:after{animation:none;transform:none}}
