@font-face{font-family:Bowlby;src:url('../assets/fonts/BowlbyOneSC-Regular.ttf')}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#090612;color:#fff7df;font-family:Bowlby,Impact,sans-serif;user-select:none;overscroll-behavior:none}
button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation;border:0}button:focus-visible{outline:5px solid #fff69c;outline-offset:5px}
#viewport{position:fixed;inset:0;background:radial-gradient(ellipse,#301448,#06040b 80%)}#stage{position:absolute;left:50%;top:50%;width:1600px;height:900px;overflow:hidden;transform-origin:center;touch-action:none;background:#251534}
#world,#world canvas{position:absolute;inset:0;width:100%;height:100%}#world{background:#251534}#vignette{position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 170px 40px #0a001c8a;z-index:2}#damageFlash{position:absolute;inset:0;pointer-events:none;z-index:4;box-shadow:inset 0 0 130px 35px #ff173a;opacity:0}
.screen{position:absolute;inset:0;display:none;z-index:5}.screen.active{display:block}.screen-art{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none}.screen.transparent{background:none;pointer-events:none;z-index:3}.transparent button,.transparent .joystick{pointer-events:auto}
.hotspot{position:absolute;border:4px solid #ac8abd;border-radius:15px;background:linear-gradient(160deg,#7b5989,#34213f 65%,#51305b);box-shadow:inset 0 5px #e4b8f64a,inset 0 -7px #170b22,0 8px 0 #100717,0 12px 18px #0008;text-shadow:3px 5px #170c1e;transition:filter .15s,transform .15s}.hotspot span{opacity:1;font-size:43px;letter-spacing:1px}.hotspot:hover{filter:brightness(1.2);transform:scale(1.025)}.hotspot:active{transform:scale(.97)}.menu-play,.how-play,.options-save{background:linear-gradient(155deg,#8abb35,#3b6518 65%,#598524);border-color:#c4ec77;text-shadow:3px 5px #1c360c}.menu-play span{font-size:70px}
.menu-play{left:67.25%;top:49.8%;width:25.3%;height:12.6%}.menu-how{left:67.7%;top:65%;width:24.8%;height:10.3%}.menu-options{left:67.7%;top:77%;width:24.8%;height:10.4%}.menu-extra{position:absolute;left:48px;bottom:38px;display:flex;gap:18px;align-items:end}
.record{display:grid;padding:18px 24px;background:#160e24df;border:2px solid #827098;border-radius:14px;box-shadow:0 7px 0 #0a0414}.record small{font-size:16px;color:#dbc3f0}.record strong{font-size:37px;color:#ffd260;line-height:1.2}.record span{font:700 12px Arial;letter-spacing:1.5px}.version{position:absolute;right:38px;bottom:12px;font:13px Arial;letter-spacing:2px;color:#d6beeb}
.splash-logo{position:absolute;width:530px;left:535px;top:13px;filter:drop-shadow(0 12px 10px #09001299)}.splash-play{position:absolute;left:410px;top:665px;width:780px;padding:22px 15px;background:linear-gradient(#6ba628,#2b5916);border:4px solid #a7df55;border-radius:12px;color:#fffadc;font-size:38px;letter-spacing:2px;text-shadow:3px 5px #15230c;box-shadow:0 10px 0 #152708,0 16px 20px #0008;animation:invite 2s infinite}.splash-play:hover{filter:brightness(1.2)}.splash-play:disabled{filter:grayscale(.3);cursor:wait;animation:none}.mapi{position:absolute;left:735px;bottom:23px;width:130px;height:74px;object-fit:contain;filter:drop-shadow(0 4px 4px #000)}.loading{position:absolute;left:0;right:0;bottom:108px;text-align:center;font-size:15px;letter-spacing:2px;color:#f9deb6;text-shadow:2px 2px #140a1b}
.stone{position:relative;display:block;padding:16px 24px;font-size:34px;letter-spacing:1px;border:3px solid #a484b4;border-radius:12px;clip-path:polygon(4% 0,96% 0,100% 14%,100% 85%,96% 100%,4% 100%,0 85%,0 14%);background:linear-gradient(170deg,#775888,#392b46 55%,#574160);box-shadow:inset 0 5px 0 #b38ac057,inset 0 -8px 0 #211526;text-shadow:2px 4px #160e23;min-height:76px;transition:filter .15s,transform .15s}.stone:after{content:'';position:absolute;inset:9px 12px 13px;border:1px solid #eac9fc32;pointer-events:none}.stone:hover{filter:brightness(1.3);transform:translateY(-2px)}.stone:active{transform:translateY(3px)}.stone.green{background:linear-gradient(170deg,#76b934,#365f15 55%,#477d21);border-color:#c0ed64}.stone.small{font-size:21px;padding:14px 22px;min-height:58px}
.how-back{left:65.6%;top:79%;width:12.9%;height:11.4%}.how-play{left:79.7%;top:79%;width:16.8%;height:11.4%}.desktop-how{position:absolute;left:38px;bottom:40px;padding:12px 18px;font:17px/1.65 Arial;color:#f9edd9;background:#130b21dc;border:2px solid #725287;border-radius:8px;box-shadow:0 4px #08040c}.desktop-how b{color:#ffcf5d;font-size:15px}
.option-buttons{position:absolute;left:50%;width:21%;height:7%;display:flex;gap:20px}#musicButtons{top:32.45%}#sfxButtons{top:42.2%}#goreButtons{top:52%}.option-buttons button{width:50%;border:3px solid #b693c6;border-radius:11px;font-size:34px;background:linear-gradient(#735c7f,#35243c);text-shadow:3px 3px #191020;box-shadow:inset 0 -5px #170c2590}.option-buttons button.selected{background:linear-gradient(#85bd31,#386414);border-color:#b9f154;box-shadow:inset 0 -5px #1a3b08}
.option-select{position:absolute;left:49%;width:23%;height:7.3%;display:flex;align-items:center;gap:12px}.option-select.difficulty{top:61.3%}.option-select.quality{top:70.9%}.option-select button{background:linear-gradient(#8d6e9a,#49304f);border:3px solid #b497c1;border-radius:10px;font-size:56px;line-height:45px;width:64px;height:100%;text-shadow:3px 3px #251527}.option-select strong{font-size:28px;text-align:center;flex:1;background:linear-gradient(#4a354f,#24172e);height:100%;display:grid;place-items:center;border:3px solid #91739e;border-radius:6px}.options-back{left:29.2%;top:83.4%;width:19.5%;height:10.3%}.options-save{left:50.9%;top:83.4%;width:20.2%;height:10.3%}.option-note{position:absolute;left:0;right:0;bottom:17px;text-align:center;font:14px Arial;color:#f1d6ff;letter-spacing:1.5px}
.health-panel{position:absolute;left:28px;top:25px;background:#130a22df;padding:11px 19px 8px;border:2px solid #9478a8;border-radius:16px;min-width:210px;box-shadow:0 6px #050309}.health-panel #hearts{font:53px/1 Arial;letter-spacing:4px;color:#fc4c59;text-shadow:0 4px #870f26,2px 0 #fff3e1,-2px 0 #fff3e1}.health-panel #hearts .empty{color:#4b3b56;text-shadow:none}.health-track{height:7px;margin:10px 0 7px;background:#3a2949;border-radius:5px;overflow:hidden}.health-track i{height:100%;width:100%;display:block;background:linear-gradient(90deg,#ed233e,#ff8c78);transition:width .2s}.health-panel small{display:block;text-align:center;font:700 13px Arial;letter-spacing:2px;color:#edcbd6}
.score-panel{position:absolute;top:22px;left:650px;width:300px;padding:9px 23px;border:3px solid #a290b2;border-radius:16px;background:linear-gradient(110deg,#24152f,#120b1e);box-shadow:0 6px #09020e;display:flex;justify-content:space-between;align-items:center}.score-panel small{font-size:22px;color:#eacfff}.score-panel strong{font-size:39px;color:#ffe089;text-shadow:0 3px #ad4b1c}.wave-panel{position:absolute;right:142px;top:22px;display:grid;gap:6px;text-align:right;padding:10px 18px;border:2px solid #7f698e;background:#160d25e5;border-radius:14px}.wave-panel small{font-size:25px;color:#ffcc62}.wave-panel span{font:700 14px Arial;letter-spacing:1px;color:#d5c1e8}
.icon-button{font:44px/1 Bowlby;width:77px;height:77px;border:3px solid #9880ab;border-radius:14px;background:linear-gradient(#4b375c,#211329);color:#fff7db;box-shadow:0 6px #100819}.icon-button:hover{filter:brightness(1.3)}#pauseButton{position:absolute;right:26px;top:23px}.weapon-panel{position:absolute;bottom:30px;left:628px;width:345px;display:flex;gap:18px;align-items:center;padding:14px 20px;border:3px solid #9e84ae;border-radius:16px;background:#160e24ed;box-shadow:0 7px #08030c}.weapon-panel>div:nth-child(2){display:grid;gap:4px;flex:1}.weapon-panel small{font-size:18px;color:#ffc65f}.weapon-panel strong{font-size:30px;line-height:1}.weapon-panel span{font:700 12px Arial;letter-spacing:1px;color:#bc9ecd}.weapon-panel .icon-button{width:52px;height:52px;font-size:38px}.weapon-icon{color:#ffd75b;font-size:36px;transform:rotate(-25deg)}
.joystick{position:absolute;bottom:32px;width:216px;height:216px;border-radius:50%;touch-action:none}.joystick.blue{left:38px;color:#55d7ff;--c:#0dbaff;--bg:#0065966e}.joystick.red{right:38px;color:#ff7565;--c:#fc4539;--bg:#98101966}.stick-ring{position:absolute;inset:0;border:6px solid var(--c);background:radial-gradient(circle,var(--bg),#160a25b8);border-radius:50%;box-shadow:inset 0 0 15px #fff3,0 7px 15px #0006}.stick-ring:after{content:'+';position:absolute;inset:0;display:grid;place-items:center;font:65px Arial;color:#ffffff16}.stick-knob{position:absolute;width:103px;height:103px;left:56px;top:56px;border:5px solid var(--c);background:radial-gradient(circle at 35% 25%,var(--c),var(--bg));border-radius:50%;box-shadow:0 7px 14px #0008,inset 0 0 20px #fff4;will-change:transform}.joystick span{position:absolute;bottom:-22px;text-align:center;left:0;right:0;font-size:15px;letter-spacing:3px;text-shadow:0 2px #000}.joystick.active .stick-ring{box-shadow:0 0 25px var(--c),inset 0 0 30px var(--bg)}
#announcer{position:absolute;left:300px;right:300px;top:158px;text-align:center;font-size:55px;line-height:1.12;color:#ffe687;text-shadow:4px 6px #391331,-2px -2px #7f4523;opacity:0;transform:translateY(-18px);transition:opacity .15s,transform .15s;pointer-events:none}#announcer.visible{opacity:1;transform:translateY(0)}#announcer small{display:block;font-size:20px;color:#f0dffb;margin-top:12px;letter-spacing:3px}.play-hint{position:absolute;bottom:163px;left:430px;right:430px;text-align:center;font:700 15px Arial;letter-spacing:3px;color:#fbe1b4;text-shadow:0 3px #1c1229;opacity:.85}
.shade{background-color:#12071ada;backdrop-filter:blur(7px);z-index:10}.modal{position:absolute;left:550px;top:124px;width:500px;text-align:center;padding:36px 50px;background:linear-gradient(150deg,#53355be8,#180f24fa);border:4px solid #a27cae;border-radius:22px;box-shadow:0 12px 0 #0b0611,0 15px 70px #0009}.modal>small{font:800 15px Arial;letter-spacing:3px;color:#ffcf67}.modal h1{font-size:66px;margin:18px 0 30px;color:#ffce63;text-shadow:3px 6px #822934}.modal .stone{width:100%;margin:18px 0}.modal.over{top:38px;left:490px;width:620px;padding:24px 60px;background:linear-gradient(#382145f5,#130b20fb)}.over>img{width:265px;height:155px;object-fit:contain;margin-bottom:12px}.over h1{font-size:52px;margin:12px 0 17px}.over-score{display:grid;padding:10px 0;border-top:2px solid #795688;border-bottom:2px solid #795688}.over-score small{font:15px Arial;letter-spacing:3px;color:#d0acd9}.over-score strong{font-size:65px;color:#ffe694}.stats{display:flex;justify-content:space-between;padding:22px 10px}.stats div{display:grid;gap:6px}.stats b{font-size:29px;color:#f9e5cd}.stats small{font:12px Arial;letter-spacing:1px;color:#b493c4}.over .stone{margin:12px 0}
.collection-panel{position:absolute;inset:35px 95px;padding:22px 35px 30px;background:linear-gradient(#362240f7,#170d22f5);border:4px solid #a480b7;border-radius:22px;box-shadow:0 12px #100716}.panel-logo{position:absolute;width:175px;height:105px;left:27px;top:10px;object-fit:contain}.collection-panel h1{font-size:38px;text-align:center;margin:8px 0 23px;color:#ffd666;text-shadow:2px 4px #742133}.tabs{display:flex;justify-content:center;gap:15px;margin-bottom:24px}.tabs .selected{background:linear-gradient(#b67023,#6c361b);border-color:#ffc665}#collectionContent{height:550px;overflow:auto;scrollbar-color:#9d729e #27172e}.collection-panel .back{position:absolute;left:550px;bottom:20px;width:290px;min-height:65px;font-size:26px;padding:10px}.reference-sheet{height:540px;max-width:100%;display:block;object-fit:contain;margin:auto;border-radius:10px}.model-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:19px;padding:4px}.model-card{position:relative;border:2px solid #705780;background:radial-gradient(circle at 50% 30%,#533664,#23152c);border-radius:13px;text-align:center;overflow:hidden;padding:0 10px 15px}.model-card img{display:block;width:100%;height:165px;object-fit:contain;filter:drop-shadow(0 10px 6px #0006)}.model-card.locked img{filter:saturate(.25) brightness(.55)}.model-card h3{font-size:20px;margin:0;color:#ffdb82}.model-card small{font:13px Arial;color:#d2b9e4}.lock-label{position:absolute;top:12px;left:12px;font:700 12px Arial;color:#efd7fc;letter-spacing:1px}
.trophy-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding:10px}.trophy{background:#271631;border:2px solid #765183;border-radius:14px;padding:24px;text-align:center}.trophy .symbol{font:52px/1 Arial;color:#716075}.trophy.earned .symbol{color:#ffd95e;text-shadow:0 0 24px #f89548}.trophy h3{font-size:20px;margin:18px 0 8px;color:#c5a4d1}.trophy.earned h3{color:#ffdb70}.trophy p{font:14px/1.5 Arial;color:#d0b9d7;margin:0}.trophy small{display:block;margin-top:14px;font:12px Arial;letter-spacing:2px;color:#8f719b}.trophy.earned small{color:#b8e268}
#toasts{position:absolute;right:22px;top:155px;display:grid;gap:12px}.toast{background:#271537ef;border:2px solid #d4a33a;border-radius:12px;box-shadow:0 5px #100919;min-width:260px;padding:17px 24px;animation:toastin .3s ease-out}.toast small{font:12px Arial;letter-spacing:2px;color:#d6bd98}.toast strong{display:block;font-size:20px;color:#ffdc69;margin-top:6px}#combo{position:absolute;left:29px;top:172px;display:none;background:#24112bd9;border-left:5px solid #ffa322;padding:12px 20px}#combo strong{display:block;font-size:35px;color:#ffc648}#combo span{font-size:14px;letter-spacing:2px;color:#f3d8f8}
#crosshair{position:absolute;width:32px;height:32px;pointer-events:none;filter:drop-shadow(0 2px 2px #000);display:none}#crosshair:after{content:'';position:absolute;left:14px;top:14px;width:4px;height:4px;border-radius:100%;background:#ffd74b}#crosshair i{position:absolute;background:#ffe481;border:1px solid #3a2114}#crosshair i:nth-child(1){left:14px;top:0;width:4px;height:9px}#crosshair i:nth-child(2){left:14px;bottom:0;width:4px;height:9px}#crosshair i:nth-child(3){left:0;top:14px;width:9px;height:4px}#crosshair i:nth-child(4){right:0;top:14px;width:9px;height:4px}
#floating{position:absolute;inset:0;pointer-events:none}.float-text{position:absolute;font-size:24px;color:#ffdc72;white-space:nowrap;transform:translate(-50%,-50%);text-shadow:2px 3px #351321;animation:floatup 1s ease-out forwards}.float-text.good{color:#9efa72}#orientationTip{position:absolute;z-index:30;left:340px;right:340px;bottom:4px;text-align:center;font:13px Arial;letter-spacing:1px;display:none;color:#e4b5ef}
#fatal{position:absolute;inset:0;z-index:100;background:#1a0e24;display:grid;place-content:center;text-align:center;padding:100px}#fatal[hidden]{display:none}#fatal h1{color:#ffc55d;font-size:50px}#fatal p{font:24px Arial}#stage.touch #crosshair{display:none!important}.joystick{opacity:1}#stage:focus{outline:none}.play-hint{line-height:1.6;letter-spacing:1px;bottom:163px}.joystick span{color:#fff8e1;background:#180e25dd;border-radius:8px;padding:5px 0;bottom:-26px}
.loading{bottom:94px}
#gameover{background-color:#12071aee}#gameover>.screen-art{filter:blur(12px) brightness(.3)}.over>img{display:block;margin:0 auto 12px}.modal>small{display:block}
@keyframes invite{50%{box-shadow:0 10px 0 #152708,0 0 34px #ffc25177}}@keyframes floatup{0%{opacity:1;transform:translate(-50%,-50%) scale(.85)}25%{transform:translate(-50%,-90%) scale(1.12)}100%{opacity:0;transform:translate(-50%,-260%)}}@keyframes toastin{from{opacity:0;transform:translateX(45px)}to{opacity:1;transform:translateX(0)}}

.sound-test{position:absolute;left:35px;bottom:45px}.option-note{font-size:13px}
.weapon-panel small{font-size:15px;white-space:nowrap}

#stormFlash{position:absolute;inset:0;z-index:2;background:#bdcfff;opacity:0;pointer-events:none}
.boss-panel{position:absolute;left:540px;top:116px;width:520px;padding:10px 18px;background:#260c1ede;border:2px solid #ab5272;border-radius:11px;box-shadow:0 5px #0b0612}.boss-panel[hidden]{display:none}.boss-panel>div:first-child{display:flex;justify-content:space-between;align-items:center}.boss-panel strong{font-size:19px;color:#ffc078}.boss-panel span{font:700 14px Arial;color:#f9e6f1}.boss-track{height:10px;margin-top:8px;background:#492039;border-radius:3px;overflow:hidden}.boss-track i{display:block;width:100%;height:100%;background:linear-gradient(90deg,#ec244f,#ff855d);transition:width .1s}
.choose-panel{position:absolute;inset:38px 64px;background:linear-gradient(135deg,#40254feb,#160c26fa);border:4px solid #a47cb2;border-radius:24px;box-shadow:0 12px #0c0514;padding:24px 28px;text-align:center}.choose-logo{position:absolute;left:26px;top:20px;width:220px;height:130px;object-fit:contain}.choose-panel h1{font-size:47px;color:#ffd66d;margin:14px 0 16px;text-shadow:3px 5px #75213f}.mode-tabs{display:flex;gap:22px;justify-content:center}.mode-tabs .stone{font-size:28px;width:260px;min-height:66px}.mode-tabs .selected{background:linear-gradient(#92ba3f,#365b21);border-color:#c3e879}.choose-panel p{font:700 18px Arial;color:#e7cfed;margin:20px 0 28px;letter-spacing:.8px}.arena-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}.arena-card{position:relative;overflow:hidden;height:390px;border:3px solid #775780;border-radius:13px;background:#21132e;box-shadow:0 8px #090411;padding:0 12px 22px;transition:transform .15s,filter .15s}.arena-card .arena-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.43}.arena-card:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 12%,#1e123840 44%,#130a20ef 72%);pointer-events:none}.arena-card>*:not(.arena-art){position:relative;z-index:1}.arena-card .arena-thumb{display:block;margin:15px auto 18px;width:100%;height:190px;object-fit:contain;border-radius:8px}.arena-card small{font:700 13px Arial;letter-spacing:3px;color:#cabae3}.arena-card strong{display:block;font-size:23px;line-height:1.35;color:#f5e3c8;margin:14px 0}.arena-card span{display:block;font:700 11px/1.8 Arial;color:#c3aace;letter-spacing:.8px}.arena-card.selected{border-color:#d7ee82;box-shadow:0 8px #304614,0 0 20px #b3d45155;transform:translateY(-5px)}.arena-card:hover{filter:brightness(1.16)}.arena-card:disabled{opacity:.45;filter:grayscale(.5);cursor:default}.choose-footer{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-top:43px}.choose-footer .stone{font-size:27px;min-height:75px}.choose-footer span{font:700 14px/1.8 Arial;color:#ceb6d9;letter-spacing:1px}#startRun{width:440px}.choose-footer>[data-action=menu]{width:200px}
#stageLabel{position:absolute;left:28px;top:145px;font:700 14px Arial;letter-spacing:1px;color:#c6afdc;text-shadow:0 2px #160b1f}.weapon-hotbar{position:absolute;bottom:151px;left:514px;width:572px;display:flex;gap:7px;align-items:stretch}.weapon-hotbar button{position:relative;background:linear-gradient(#503c61,#1c1328);border:2px solid #886597;border-radius:9px;font:700 13px Arial;min-width:97px;padding:12px 9px;color:#ead1ef;box-shadow:0 4px #0a0511}.weapon-hotbar button:first-child,.weapon-hotbar button:last-child{min-width:40px;font-size:24px;padding:6px}.weapon-hotbar button small{font:700 10px Arial;display:block;margin-bottom:5px;color:#c7a4d3}.weapon-hotbar button.selected{background:linear-gradient(#7e9b33,#3a5117);border-color:#bddb6a;color:#fff2c9}.weapon-hotbar button:disabled{opacity:.4;cursor:default}.play-hint{bottom:225px;left:410px;right:410px;font-size:13px;opacity:.8}
#stageIntro{position:absolute;left:350px;right:350px;top:278px;opacity:0;pointer-events:none;text-align:center;background:linear-gradient(90deg,transparent,#160b29ee 20%,#160b29ee 80%,transparent);padding:30px 10px;transform:translateX(-150px);z-index:4}#stageIntro small{display:block;font:700 15px Arial;letter-spacing:4px;color:#d0acd9}#stageIntro strong{display:block;font-size:69px;color:#fff0bb;text-shadow:4px 7px #843526;margin-top:5px}#stageIntro b{display:block;font-size:44px;color:#ffb549;text-shadow:3px 5px #47203f}#stageIntro span{display:block;font:700 13px Arial;letter-spacing:3px;margin-top:18px;color:#e3ccea}#stageIntro.entering{animation:stage-enter 2.35s both cubic-bezier(.22,.8,.3,1)}@keyframes stage-enter{0%{opacity:0;transform:translateX(-280px) scale(.8)}18%{opacity:1;transform:translateX(12px) scale(1.05)}27%,67%{opacity:1;transform:translateX(0) scale(1)}100%{opacity:0;transform:translateX(320px) scale(.85)}}#crosshair.hit{animation:hitmarker .18s}@keyframes hitmarker{30%{filter:drop-shadow(0 0 10px #fff);transform:scale(1.7) rotate(45deg)}100%{transform:scale(1) rotate(0)}}.stage-modal{left:460px;top:170px;width:680px;padding:34px 55px}.stage-modal h1{font-size:52px;line-height:1.25}.stage-modal p{font:700 16px/1.6 Arial;color:#e7cdea}
.desktop-how{font-size:14px;bottom:25px;max-width:1530px}
#stage:not(.playing) #stageIntro{animation-play-state:paused}
.screen.active>.screen-art{animation:art-light 14s ease-in-out infinite alternate}@keyframes art-light{from{filter:brightness(1)}to{filter:brightness(1.035) saturate(1.025)}}
.menu-fx{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}.screen>:not(.screen-art):not(.menu-fx){z-index:2}.screen.active>.screen-art{animation:art-light 14s ease-in-out infinite alternate}.screen.active .stone,.screen.active .hotspot{animation:button-arrive .5s both}.screen.active .menu-how{animation-delay:.15s}.screen.active .menu-options{animation-delay:.3s}.screen.active .splash-logo,.screen.active .panel-logo,.screen.active .choose-logo,.screen.active .menu-logo{animation:logo-arrive 1.1s cubic-bezier(.15,.8,.25,1) both,logo-hover 5s 1.1s ease-in-out infinite}.menu-logo{position:absolute;left:915px;top:12px;width:635px;height:425px;object-fit:contain;filter:drop-shadow(0 15px 12px #080211)}@keyframes logo-arrive{0%{opacity:0;transform:translateY(-180px) scale(.6) rotate(-8deg)}60%{opacity:1;transform:translateY(15px) scale(1.07) rotate(2deg)}100%{transform:translateY(0) scale(1)}}@keyframes logo-hover{50%{transform:translateY(-6px) rotate(-.5deg)}}@keyframes button-arrive{from{opacity:0;transform:translateY(25px) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes scene-drift{from{transform:scale(1.02) translate(-4px,-2px)}to{transform:scale(1.045) translate(4px,2px)}}.arena-art{transform:scale(1.28)}

/* v4: original illustrated UI pieces, independent of the rebuilt backgrounds. */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.art-piece{position:absolute;overflow:hidden;padding:0;border:0;background:transparent;isolation:isolate}.art-piece>img{position:absolute;max-width:none;pointer-events:none}.image-button{border-radius:0;box-shadow:none;clip-path:polygon(4% 1%,96% 1%,100% 16%,100% 83%,96% 100%,4% 100%,0 83%,0 16%);transition:filter .16s,scale .16s;filter:drop-shadow(0 5px 3px #09041199)}.image-button:hover{filter:brightness(1.17) drop-shadow(0 0 12px #e7ba7066);scale:1.035}.image-button:active{scale:.96}.menu-play{left:1073px;top:445px;width:422px;height:126px}.menu-how{left:1078px;top:582px;width:411px;height:104px}.menu-options{left:1079px;top:690px;width:409px;height:103px}
.menu-logo{left:924px;top:13px;width:654px;height:405px;object-fit:contain;transform-origin:50% 65%;filter:drop-shadow(0 10px 5px #090311) drop-shadow(0 0 15px #e64c2433)}.screen.active .menu-logo{animation:logo-arrive 1.2s cubic-bezier(.16,.8,.25,1) both,logo-alive 3.8s 1.2s ease-in-out infinite}.screen.active .image-button{animation:piece-arrive .65s both}.screen.active .menu-play{animation-delay:.55s}.screen.active .menu-how{animation-delay:.72s}.screen.active .menu-options{animation-delay:.88s}
@keyframes logo-alive{0%,100%{transform:translateY(0) rotate(-1deg) scale(1);filter:drop-shadow(0 10px 7px #090311) drop-shadow(0 0 8px #ef511533)}50%{transform:translateY(-13px) rotate(1deg) scale(1.04);filter:drop-shadow(0 18px 10px #090311) drop-shadow(0 0 25px #ff921977)}}@keyframes piece-arrive{from{opacity:0;transform:translateY(40px) scale(.86)}to{opacity:1;transform:translateY(0) scale(1)}}
.how-logo{position:absolute;left:248px;top:21px;width:333px;height:225px;object-fit:contain}.how-title{left:592px;top:130px;width:587px;height:128px}.how-cards{position:absolute;left:31px;top:268px;right:30px;height:368px;display:flex;gap:11px}.how-card{position:relative;flex:1;height:100%;clip-path:polygon(6% 0,94% 0,100% 6%,100% 95%,94% 100%,6% 100%,0 95%,0 6%)}.screen.active .how-card{animation:piece-arrive .65s both}.how-card:nth-child(2){animation-delay:.1s!important}.how-card:nth-child(3){animation-delay:.2s!important}.how-card:nth-child(4){animation-delay:.3s!important}.how-card:nth-child(5){animation-delay:.4s!important}.how-tip{left:434px;top:649px;width:573px;height:105px}.how-back{left:1049px;top:704px;width:216px;height:112px}.how-play{left:1273px;top:704px;width:275px;height:112px}
.options-logo{position:absolute;left:601px;top:8px;width:398px;height:152px;object-fit:contain}.options-title{left:584px;top:158px;width:441px;height:109px}.options-frame{position:absolute;left:427px;top:251px;width:748px;height:477px;background:linear-gradient(140deg,#6b477d,#271a32 15%,#3d2748 85%,#866196);border:5px ridge #9877a3;clip-path:polygon(3% 0,97% 0,100% 4%,100% 96%,97% 100%,3% 100%,0 96%,0 4%);box-shadow:inset 0 0 0 13px #25132e}.option-label{left:454px;width:328px;height:80px;clip-path:polygon(5% 0,100% 0,100% 100%,5% 100%,0 80%,0 20%)}.label-music{top:278px}.label-sfx{top:366px}.label-gore{top:454px}.label-difficulty{top:541px}.label-quality{top:629px}.option-buttons{left:800px;width:332px;height:76px;gap:12px}#musicButtons{top:283px}#sfxButtons{top:371px}#goreButtons{top:459px}.option-buttons button{position:relative;width:160px;height:76px;border:0;background:transparent;box-shadow:none;filter:grayscale(.65) brightness(.68)}.option-buttons button.selected{background:transparent;border:0;box-shadow:none;filter:brightness(1.12) drop-shadow(0 0 8px #d0f25988)}.option-buttons button[data-value=false].selected{filter:brightness(1.45) sepia(.25) drop-shadow(0 0 7px #ffd55c99)}.option-buttons button:hover{filter:brightness(1.2)}.option-select{left:782px;width:364px;height:80px;gap:9px}.option-select.difficulty{top:541px}.option-select.quality{top:629px}.option-select .option-arrow{position:relative;width:77px;height:81px;background:transparent;border:0;border-radius:0;flex:none}.option-select strong{height:75px;background:linear-gradient(170deg,#5a3b65,#2a1a31);border:4px ridge #8d719a;text-shadow:2px 4px #130b1a;font-size:27px;letter-spacing:1px}.options-back{left:459px;top:741px;width:329px;height:108px}.options-save{left:808px;top:741px;width:338px;height:108px}.screen.active .options-title,.screen.active .how-title,.screen.active .how-logo,.screen.active .options-logo{animation:piece-arrive .7s both}.screen.active .option-label,.screen.active .option-buttons,.screen.active .option-select{animation:piece-arrive .55s both}.sound-test{bottom:39px}
#pauseButton{padding:0;background:none;border:0;box-shadow:0 5px 4px #08041188;width:77px;height:77px;filter:drop-shadow(0 0 5px #e3942f22)}#pauseButton svg{display:block;width:100%;height:100%}#pauseButton:hover{filter:brightness(1.2) drop-shadow(0 0 10px #ff942f55)}
#stageIntro{left:360px;right:360px;top:200px;padding:0;background:none;transform:scale(.2)}#stageIntro small{font-size:13px;text-shadow:0 2px 4px #000;letter-spacing:3px}#stageIntro strong{font-size:46px;line-height:1.2;text-shadow:0 3px #8b2e21,0 0 18px #210620,3px 4px 1px #210620;-webkit-text-stroke:1px #3c192c}#stageIntro b{font-size:39px;line-height:1.2;text-shadow:0 3px #6d271c,0 0 16px #1b0929;-webkit-text-stroke:1px #412039}#stageIntro span{margin-top:7px;font-size:11px;text-shadow:0 2px 5px #000}#stageIntro.entering{animation:wave-zoom 1.8s both cubic-bezier(.16,.8,.25,1)}@keyframes wave-zoom{0%{opacity:0;transform:scale(.22)}18%{opacity:1;transform:scale(1.13)}32%,68%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.12)}}#announcer{background:none!important}
#announcer{top:202px;font-size:34px;text-shadow:2px 3px #391331,0 0 8px #180a24}#announcer small{font-size:13px;margin-top:7px;letter-spacing:2px}

.screen.active>.screen-art{animation:none}

/* Build 5: user-supplied selection artwork assembled into separate image controls. */
#choose .choose-logo{left:55px;top:37px;width:305px;height:220px;animation:logo-alive 5s ease-in-out infinite}#choose .choose-title{left:411px;top:53px;width:773px;height:97px}#choose .mode-tabs{position:absolute;left:445px;top:155px;width:711px;height:97px;gap:16px}#choose .mode-tabs button{position:relative;flex:1;height:97px;width:349px;background:none;border:0;box-shadow:none}#choose .mode-tabs .selected{filter:brightness(1.22) drop-shadow(0 0 9px #ffb73e);outline:3px solid #ffc464;outline-offset:-8px}#modeDescription{position:absolute;left:368px;right:105px;top:265px;margin:0;text-align:center;font:700 22px Arial;letter-spacing:1px;color:#d9b5f5;text-shadow:0 3px 2px #190625}#choose .arena-grid{position:absolute;left:51px;top:303px;right:47px;height:408px;gap:10px;display:flex}#choose .arena-card{position:relative;flex:1;height:408px;border:0;border-radius:0;background:none;box-shadow:none;padding:0}#choose .arena-card>img{position:absolute;z-index:0}#choose .arena-card:after{background:none;inset:7px;border:0;clip-path:polygon(6% 0,94% 0,100% 5%,100% 96%,94% 100%,6% 100%,0 96%,0 5%)}#choose .arena-card.selected{transform:translateY(-5px);filter:brightness(1.12) drop-shadow(0 0 13px #d88e28)}#choose .arena-card.selected:after{border:4px solid #ffcb5a}#choose .arena-card:disabled{opacity:.48;filter:grayscale(.6);cursor:default;transform:none}#choose .choose-back{left:55px;top:734px;width:289px;height:104px}#choose .choose-start{left:1050px;top:729px;width:498px;height:109px}#choose .choose-footnote{position:absolute;left:530px;top:760px;width:490px;text-align:center;font:700 18px/1.7 Arial;letter-spacing:.8px;color:#d1aafa}#choose .arena-card{animation:piece-arrive .55s both}#choose .arena-card:nth-child(2){animation-delay:.08s}#choose .arena-card:nth-child(3){animation-delay:.16s}#choose .arena-card:nth-child(4){animation-delay:.24s}#choose .arena-card:nth-child(5){animation-delay:.32s}
.wallet{display:flex;align-items:center;gap:12px;padding:13px 18px;background:linear-gradient(140deg,#38233f,#170e23);border:2px solid #b69b62;border-radius:12px;box-shadow:0 5px #100817;color:#ffda69}.wallet div{display:grid;gap:3px}.wallet small{font:700 12px Arial;letter-spacing:1px;color:#e9c8a4}.wallet strong{font-size:30px;line-height:1.1;min-width:36px}.coin-icon{display:inline-block;flex:none;width:34px;height:34px;border-radius:50%;background:radial-gradient(circle at 35% 25%,#ffe28a,#e7a520 66%,#af6315);border:4px solid #ffd25b;box-shadow:inset 0 0 0 2px #a86c1b,3px 3px #6a3913;position:relative}.coin-icon:after{content:'';position:absolute;left:11px;top:5px;width:4px;height:17px;background:#fff0af;box-shadow:1px 1px #b47926}.menu-wallet{position:absolute;left:43px;top:32px;min-width:188px;background:#1c0e2be0}.hud-wallet{position:absolute;top:25px;left:282px;gap:10px;height:69px;min-width:193px}.hud-wallet strong{font-size:24px}.hud-wallet small{position:absolute;bottom:-22px;left:10px;right:0;font-size:12px;color:#ffe39c;text-shadow:1px 2px #190b26}.wallet.pulse{animation:wallet-pop .35s both}.earned-coins{display:flex;align-items:center;justify-content:center;gap:13px;margin:4px 0 13px;color:#ffd66b;font-size:17px}.earned-coins .coin-icon{width:27px;height:27px}.coin-flight{position:absolute;width:18px;height:18px;border:3px solid #ffe185;border-radius:50%;background:#ffb62c;box-shadow:0 0 12px #ffb635;pointer-events:none;will-change:transform;z-index:8}#coinFlights{position:absolute;inset:0;pointer-events:none;overflow:hidden}.coin-flight:after{content:'';position:absolute;left:5px;top:2px;width:2px;height:8px;background:#fff4c1}@keyframes wallet-pop{40%{transform:scale(1.13);filter:brightness(1.45)}100%{transform:scale(1);filter:brightness(1)}}
.skin-logo{position:absolute;left:44px;top:27px;width:191px;height:116px;object-fit:contain}.skin-title{position:absolute;left:280px;top:52px;right:302px;font-size:47px;text-align:center;color:#ffd46b;text-shadow:3px 6px #792934;margin:0}.skin-wallet{position:absolute;top:47px;right:55px;width:216px}.skin-preview-panel{position:absolute;left:54px;top:170px;width:399px;height:542px;border:3px ridge #a87ebe;border-radius:19px;background:radial-gradient(ellipse at 50% 27%,#4c3067,#1c102d 75%);text-align:center;padding:20px 22px}.skin-preview-panel>small{font:700 13px Arial;letter-spacing:3px;color:#d1afe4}#skinPreview{height:291px;width:350px;position:relative;margin:9px auto -25px;pointer-events:none}#skinPreview canvas{width:350px;height:291px;display:block}.skin-preview-panel h2{font-size:43px;color:#ffe090;text-shadow:3px 4px #612139;margin:0 0 4px}.skin-preview-panel p{font:15px/1.5 Arial;color:#e5cfe9;margin:6px 0}#skinBuy{width:100%;height:73px;font-size:24px;margin:15px 0 4px;padding:10px}#skinBuy:disabled{filter:saturate(.5);cursor:default}.skin-preview-panel #skinHint{font-size:13px;letter-spacing:1px}.skin-sheet-link{background:none;border:0;color:#b595d2;font:700 12px Arial;letter-spacing:1px;text-decoration:underline;margin-top:8px}.skin-grid{position:absolute;left:480px;top:163px;right:49px;height:554px;display:grid;grid-template-columns:repeat(6,1fr);grid-template-rows:repeat(2,1fr);gap:14px}.skin-card{border:3px ridge #806198;border-radius:12px;background:radial-gradient(ellipse at 50% 25%,#4a2d59,#21122f 75%);display:flex;flex-direction:column;align-items:center;justify-content:start;position:relative;padding:3px 5px 12px;box-shadow:0 7px #10051c;transition:filter .16s,transform .16s}.skin-card img{width:100%;height:168px;object-fit:contain;margin:3px 0 0;pointer-events:none;border-radius:7px}.skin-card strong{font-size:22px;letter-spacing:1px;color:#ffe5a2}.skin-card small{font:700 13px Arial;letter-spacing:1px;color:#cdb2df;margin-top:9px;display:flex;align-items:center;gap:7px}.skin-card .coin-icon{width:16px;height:16px;border-width:2px;box-shadow:1px 2px #674713}.skin-card .coin-icon:after{left:5px;top:2px;width:2px;height:8px}.skin-card.locked img{filter:saturate(.5) brightness(.79)}.skin-card.locked:before{content:'LOCKED';position:absolute;right:6px;top:7px;font:700 9px Arial;letter-spacing:1px;color:#d1aed9;background:#190c29cc;padding:4px 6px;border-radius:4px;z-index:1}.skin-card.selected{border-color:#ffd263;transform:translateY(-4px);box-shadow:0 7px #5c361c,0 0 17px #ffb12255}.skin-card.equipped:after{content:'EQUIPPED';position:absolute;left:6px;top:7px;font:700 9px Arial;color:#d7ffad;background:#355721d9;letter-spacing:1px;padding:4px 6px;border-radius:4px}.skin-card:hover{filter:brightness(1.16)}.skin-footer{position:absolute;left:58px;right:56px;top:758px;height:76px;display:flex;align-items:center;justify-content:space-between;gap:22px}.skin-footer .stone{width:245px;font-size:30px;height:76px}.skin-footer span{text-align:center;color:#cdb0df;font:700 15px/1.8 Arial;letter-spacing:1px}#skinSheet{position:absolute;inset:20px;z-index:9;background:#160e22f5;border:3px solid #9571a4;border-radius:12px;text-align:center;padding:18px}#skinSheet[hidden]{display:none}#skinSheet .stone{position:absolute;top:23px;right:24px;z-index:1}#skinSheet img{height:100%;max-width:100%;object-fit:contain}.screen.active .skin-preview-panel,.screen.active .skin-grid{animation:piece-arrive .5s both}

.skin-celebrate{position:absolute;width:9px;height:9px;background:#ffd860;box-shadow:0 0 9px #ffb42c;pointer-events:none;animation:skin-confetti .95s ease-out both}.skin-preview-panel.unlocked{animation:unlock-shine .85s both!important}@keyframes skin-confetti{to{transform:translate(var(--x),var(--y)) rotate(400deg);opacity:0}}@keyframes unlock-shine{35%{border-color:#ffe699;box-shadow:0 0 55px #ffb12c88;filter:brightness(1.3)}100%{border-color:#a87ebe;box-shadow:none;filter:brightness(1)}}

.coin-guide{padding:25px 10px 12px;border:2px solid #6b4e7b;border-radius:12px;background:#21132bd9;text-align:center;display:flex;align-items:center;flex-direction:column;justify-content:center;gap:13px}.coin-guide>.coin-icon{width:42px;height:42px}.coin-guide>.coin-icon:after{left:15px;top:7px;height:21px;width:4px}.coin-guide strong{font-size:18px;color:#ffd76c}.coin-guide span{font:800 13px/1.7 Arial;color:#ffdb86;letter-spacing:1px}.coin-guide small{font:13px/1.6 Arial;color:#c9abd6}
#skinBuy{font-size:20px;line-height:1.2;white-space:nowrap;letter-spacing:.35px;padding:10px 7px}#skinBuy:disabled{filter:saturate(.5) brightness(.82)}

/* Build 6: combat occupies the screen; touch controls only on detected mobile. */
.joystick,.weapon-hotbar,#reloadButton{display:none}
.weapon-panel{left:24px;bottom:15px;width:260px;height:48px;padding:6px 11px;gap:9px;border-width:1px;border-radius:8px;background:#160e24b8;box-shadow:none;pointer-events:none}
.weapon-panel .weapon-icon{font-size:19px}.weapon-panel small{font-size:11px}.weapon-panel strong{font-size:21px}.weapon-panel span{font:700 9px Arial;letter-spacing:.3px}.weapon-panel>div:nth-child(2){grid-template-columns:1fr auto;gap:3px 8px;align-items:center}.weapon-panel span{grid-column:1/3}
.play-hint{bottom:17px;left:330px;right:330px;font:700 11px Arial;line-height:1.5;opacity:.65;letter-spacing:.5px}.play-hint[hidden]{display:none}
#stage.touch .joystick{display:block;width:176px;height:176px;bottom:40px;opacity:.75}#stage.touch .joystick.active{opacity:1}#stage.touch .joystick.blue{left:24px}#stage.touch .joystick.red{right:24px}#stage.touch .stick-ring{border-width:4px;background:radial-gradient(circle,var(--bg),#160a2540)}#stage.touch .stick-knob{width:82px;height:82px;left:47px;top:47px;border-width:3px}#stage.touch .joystick span{font-size:11px;background:#180e2588;bottom:-18px}
#stage.touch .weapon-hotbar{display:flex;left:50%;transform:translateX(-50%);bottom:12px;width:auto;height:40px;gap:4px}#stage.touch .weapon-hotbar button{min-width:79px;padding:4px;font-size:10px;border-width:1px;box-shadow:none}#stage.touch .weapon-hotbar button small{font-size:8px;margin-bottom:3px}#stage.touch .weapon-hotbar button:first-child,#stage.touch .weapon-hotbar button:last-child{min-width:32px;font-size:18px}
#stage.touch .weapon-panel{left:50%;transform:translateX(-50%);bottom:60px;width:284px;height:47px;pointer-events:auto}#stage.touch #reloadButton{display:block;flex:none;width:37px;height:37px;font-size:25px;border-width:1px;box-shadow:none}#stage.touch .play-hint{display:none}
.boss-panel{left:560px;top:108px;width:480px;padding:6px 12px;background:#260c1eb8;border-width:1px;box-shadow:none}.boss-panel strong{font-size:14px}.boss-panel span{font-size:11px}.boss-track{height:7px;margin-top:5px}

/* Build 7: fixed rows and non-wrapping ammunition keep every HUD label inside. */
.weapon-panel{width:280px;overflow:hidden}
.weapon-panel .weapon-icon{flex:none;line-height:1}
.weapon-panel>div:nth-child(2){min-width:0;grid-template-columns:minmax(0,1fr) max-content;grid-template-rows:16px 12px;gap:1px 8px}
.weapon-panel small{grid-column:1;grid-row:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:16px}
.weapon-panel strong{grid-column:2;grid-row:1/3;font:900 20px/28px Arial,sans-serif;white-space:nowrap;font-variant-numeric:tabular-nums;letter-spacing:-.4px}
.weapon-panel span{grid-column:1;grid-row:2;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:12px}
#stage.touch .weapon-panel{width:304px}
#stage.touch .weapon-panel strong{font-size:18px}

/* The original Mapi artwork stays proportional and centered below the main menu. */
.menu-brand{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);width:170px;display:flex;flex-direction:column;align-items:center;gap:3px;pointer-events:none;z-index:4;filter:drop-shadow(0 3px 3px #08000c)}
.menu-brand img{display:block;width:160px;height:auto;object-fit:contain}.menu-brand span{font:900 11px Arial;color:#ffe7c1;letter-spacing:2.4px;text-shadow:0 2px 3px #000}
#stage.touch .weapon-hotbar button{min-width:65px}#stage.touch .weapon-hotbar button:first-child,#stage.touch .weapon-hotbar button:last-child{min-width:27px}

/* Compact text-only boss arrival: no band over the arena. */
#bossWarning{position:absolute;left:50%;top:170px;width:530px;max-width:90%;text-align:center;pointer-events:none;z-index:6;opacity:0;transform:translateX(-50%) scale(.35)}
#bossWarning small{display:block;font:900 31px/1.15 Bowlby,Arial;color:#ffba40;text-shadow:0 3px #690c20,0 0 13px #ef5113}
#bossWarning strong{display:block;font:900 18px/1.4 Bowlby,Arial;color:#fff1d7;text-shadow:0 2px 4px #110514}
#bossWarning.visible{animation:boss-arrival 2.6s both}
@keyframes boss-arrival{0%{opacity:0;transform:translateX(-50%) scale(.35)}10%{opacity:1;transform:translateX(-50%) scale(1.12)}18%,82%{opacity:1;transform:translateX(-50%) scale(1)}100%{opacity:0;transform:translateX(-50%) scale(.55)}}
#stage:has(#pause.active) #bossWarning,#stage:has(#options.active) #bossWarning{animation-play-state:paused}

/* The supplied pause painting, cropped into a frame, heading and four controls. */
#pause{background-color:#10071bba;backdrop-filter:blur(5px)}
.pause-art-panel{position:absolute;left:50%;top:50%;width:566px;height:810px;transform:translate(-50%,-50%);filter:drop-shadow(0 15px 22px #0009)}
.pause-panel-fill{position:absolute;inset:2.8%;border-radius:42px;background:radial-gradient(ellipse at 35% 20%,#351846,#190c28 72%)}
.pause-frame{inset:0;width:100%;height:100%;pointer-events:none;-webkit-mask-image:url("../assets/images/PAUSE_FRAME_MASK.svg");mask-image:url("../assets/images/PAUSE_FRAME_MASK.svg");-webkit-mask-mode:luminance;mask-mode:luminance;-webkit-mask-size:100% 100%;mask-size:100% 100%;}
.pause-heading{left:14.452%;top:7.824%;width:71.096%;height:20.049%;pointer-events:none}
.pause-art-panel .image-button{left:10.839%;width:78.205%;height:14.263%}
.pause-resume{top:31.622%}.pause-options{top:46.862%}.pause-fullscreen{top:61.858%}.pause-menu{top:76.773%}
.screen.active .pause-art-panel{animation:pause-arrive .32s cubic-bezier(.2,.8,.2,1) both}
.screen.active .pause-heading{animation:piece-arrive .35s .10s both}
.screen.active .pause-resume{animation-delay:.14s}.screen.active .pause-options{animation-delay:.20s}.screen.active .pause-fullscreen{animation-delay:.26s}.screen.active .pause-menu{animation-delay:.32s}
@keyframes pause-arrive{from{opacity:0;transform:translate(-50%,-50%) scale(.87)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}

/* Fifteen survivors fit in one screen; each has a visible 3D preview. */
.skin-grid{grid-template-columns:repeat(5,1fr);grid-template-rows:repeat(3,1fr);gap:10px}
.skin-card{padding:3px 5px 8px;overflow:hidden}
.skin-card img{height:112px;margin:0}
.skin-card strong{font-size:20px}
.skin-card small{font-size:12px;margin-top:3px}

/* ===== Build 14: power HUD, challenges, continue, keyboard focus ===== */
#powerPanel{position:absolute;left:28px;top:170px;display:flex;align-items:center;gap:12px;padding:8px 14px;background:#130a22d0;border:2px solid #7d6596;border-radius:14px;box-shadow:0 5px #050309;pointer-events:none}
#powerPanel .lv{display:grid;justify-items:center;width:48px;height:48px;align-content:center;border-radius:50%;background:radial-gradient(circle at 40% 35%,#71e2ff,#1b6a9a 70%);border:2px solid #c8f3ff;box-shadow:0 0 12px #49c9ff66}
#powerPanel .lv small{font:800 10px Arial;letter-spacing:1px;color:#e6fbff;line-height:1}
#powerPanel .lv b{font-size:22px;line-height:1;color:#fff;text-shadow:0 2px #0d3c59}
#powerPanel .xp small{display:block;font:800 10px Arial;letter-spacing:2px;color:#a9dff3;margin-bottom:4px}
.xp-track{width:120px;height:10px;border-radius:6px;background:#2b1d3a;overflow:hidden;border:1px solid #5d4a72}
.xp-track i{display:block;height:100%;width:0;background:linear-gradient(90deg,#3fc6ff,#bff3ff);transition:width .2s}
#cloverSlots{display:flex;gap:5px}
#cloverSlots i{width:26px;height:26px;border-radius:8px;background:#22182e;border:2px solid #4b3b5c;position:relative}
#cloverSlots i:before{content:'♣';position:absolute;inset:0;display:grid;place-items:center;font:20px/1 Arial;color:#3a2f46}
#cloverSlots i.on{background:#1f5a20;border-color:#8dff7a;box-shadow:0 0 10px #5dff6a99}
#cloverSlots i.on:before{color:#b7ff8a}
#powerPanel.beast{border-color:#ff5a45;box-shadow:0 0 20px #ff3a2e88,0 5px #050309;animation:beastPulse .4s infinite alternate}
@keyframes beastPulse{to{background:#3a0b14e0}}
#combo{top:250px}
#powerBars{position:absolute;left:28px;top:338px;display:grid;gap:8px;pointer-events:none}
.pbar{width:250px;padding:6px 10px;background:#130a22d0;border:2px solid #7d6596;border-radius:10px}
.pbar[hidden]{display:none}
.pbar small{display:block;font:800 11px Arial;letter-spacing:2px;margin-bottom:4px}
.pbar>div{height:9px;border-radius:5px;background:#2b1d3a;overflow:hidden}
.pbar i{display:block;height:100%;width:100%}
.pbar.beast{border-color:#ff5a45}.pbar.beast small{color:#ff8a7a}.pbar.beast i{background:linear-gradient(90deg,#ff2d2d,#ffb347)}
.pbar.melee{border-color:#c7cfe0}.pbar.melee small{color:#e6ebf6}.pbar.melee i{background:linear-gradient(90deg,#8a93a8,#f4f6ff)}
.pbar.ghost{border-color:#a777ff}.pbar.ghost small{color:#d4b8ff}.pbar.ghost i{background:linear-gradient(90deg,#7c35ff,#e1ccff)}
#stage.touch #powerBars{top:338px}
/* Challenges */
.chal-panel{position:absolute;width:390px;padding:14px 16px 10px;background:linear-gradient(160deg,#2a1838ee,#120a1cf2);border:2px solid #9a7cae;border-radius:16px;box-shadow:0 7px #07030c;z-index:3}
.chal-panel h3{margin:0 0 10px;font-size:19px;letter-spacing:1px;color:#ffcf63;text-shadow:2px 3px #3c1630}
.chal-panel ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.chal-panel li{display:grid;grid-template-columns:1fr auto;gap:5px 10px;align-items:center}
.chal-panel li>div{display:flex;justify-content:space-between;gap:8px;min-width:0}
.chal-panel li strong{font:800 12.5px Arial;letter-spacing:.4px;color:#f6e7ff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chal-panel li span{font:800 12px Arial;color:#b9a2cc;white-space:nowrap}
.chal-panel li>i{grid-column:1;height:7px;border-radius:4px;background:linear-gradient(90deg,#ffcf47 var(--p),#33233f var(--p))}
.chal-panel li em{grid-column:2;grid-row:1/3;font:900 15px Arial;font-style:normal;color:#ffe08a;display:flex;align-items:center;gap:5px}
.chal-panel li em .coin-icon{width:17px;height:17px;border-width:2px;box-shadow:1px 2px #674713}.chal-panel li em .coin-icon:after{left:5px;top:2px;width:2px;height:8px}
.chal-panel li.done strong{color:#9efa72}
.menu-chal{left:40px;top:118px;transform:scale(.92);transform-origin:top left}
.pause-chal{right:46px;top:120px}
.over-chal{right:34px;top:250px;width:360px}
#gameover .modal.over{left:300px;width:620px}
.over-row{display:flex;gap:16px}.over-row .stone{flex:1;font-size:26px}
.stone.continue{display:grid;gap:3px;justify-items:center;padding:12px 20px;animation:contPulse 1.1s infinite alternate}
.stone.continue span{font-size:34px}.stone.continue small{font:800 13px Arial;letter-spacing:2px;color:#f2ffd9}
.stone.continue[hidden]{display:none}.stone.continue:disabled{filter:grayscale(.6) brightness(.8);animation:none;cursor:default}
@keyframes contPulse{from{box-shadow:0 0 0 #bdf36a00}to{box-shadow:0 0 26px #bdf36acc}}
/* Keyboard selection in menus: bright yellow highlight (drawn inside, so clipped art buttons show it too) */
.kb-sel{outline:5px solid #ffe14a!important;outline-offset:4px;z-index:5}
.image-button.kb-sel,.art-piece.kb-sel{outline:none!important;filter:brightness(1.25) sepia(.35) saturate(1.6)!important;scale:1.04}
.image-button.kb-sel:before,.art-piece.kb-sel:before{content:'';position:absolute;inset:0;z-index:3;pointer-events:none;border:6px solid #ffe14a;box-shadow:inset 0 0 22px #ffe14acc;clip-path:inherit}
