:root{--gold:#d6b985;--orange:#d5b17b}html,body{height:100%;width:100%;touch-action:none;overscroll-behavior:none}body *{-webkit-user-select:none!important;user-select:none!important;-webkit-touch-callout:none!important;-webkit-tap-highlight-color:transparent}button{touch-action:none!important;user-select:none!important;-webkit-appearance:none}input,select{font-size:16px!important}.screen{touch-action:pan-y;background:linear-gradient(140deg,#080b0ff5,#12171de8);scrollbar-width:none}.screen::-webkit-scrollbar{display:none}#menu{background:radial-gradient(ellipse at 75% 20%,#815c2420,transparent 60%),linear-gradient(110deg,#080b10f5,#0c1118d9)}.festival-logo{width:min(82%,370px);margin-bottom:24px}.primary{background:linear-gradient(110deg,#d9bd89,#ac8858);border:1px solid #f0d8ab77;color:#16120e;letter-spacing:1.6px;border-radius:5px}.secondary{border-radius:5px;background:#ffffff06;border-color:#ffffff1c}.character-card{border-radius:7px;background:linear-gradient(160deg,#25272b,#12151a);transition:border-color .2s,transform .2s}.character-card[aria-pressed=true]{box-shadow:0 0 22px #c6984d18;border-color:#d6b985}.character-card .portrait-sprite{filter:saturate(.65) contrast(1.06)}#characters{gap:10px}.character-card>span:last-child{font-size:9px;padding:10px 5px}.menu-summary{font-size:10px;color:#959ca3}.instructions{color:#8c959e}#intro{position:fixed;inset:0;z-index:5;pointer-events:none;background:linear-gradient(0deg,#06090be8,transparent 35%,transparent 80%,#05080b88)}.intro-caption{position:absolute;bottom:12%;left:8%;right:8%;text-align:center}.intro-caption small{color:#d6b985;font-size:10px;letter-spacing:4px}.intro-caption h2{font-size:28px;letter-spacing:3px;margin:15px 0}.intro-caption p{color:#bfc5cb;font-size:12px}#skipIntro{pointer-events:auto;position:absolute;right:20px;top:max(20px,env(safe-area-inset-top));padding:14px;border:1px solid #ffffff30;background:#10151c99;font-size:10px}#introPortrait{position:absolute;inset:8% 12% 26%;background-size:200% auto;background-repeat:no-repeat;background-position:0 0;mask-image:linear-gradient(#000 70%,transparent);animation:introArt 2.8s ease-out both}@keyframes introArt{from{transform:scale(.9);opacity:0}25%{opacity:1}to{transform:scale(1.03);opacity:1}}
#hud{padding:max(18px,env(safe-area-inset-top)) 20px 0}#hud header{gap:22px}#hud header>div:nth-child(3){display:none}#hud header b{font-size:24px}#pause{padding:12px!important;font-size:9px!important;border-radius:4px}.health{width:120px;font-size:10px;margin-top:10px}#waveMessage{font-size:17px;margin-top:18px}#notice{font-size:11px;max-width:260px;line-height:1.5}#joystick{width:96px;height:96px;left:22px;bottom:calc(30px + env(safe-area-inset-bottom));background:#13202c40}#joystick i{left:27px;top:27px;width:40px;height:40px}#joystick small{display:none}#fire{right:22px;bottom:calc(30px + env(safe-area-inset-bottom));width:92px;height:92px;border:1px solid #ddc197aa;background:#44301c99;box-shadow:inset 0 0 25px #b48b4622;font-size:14px;letter-spacing:1.5px}#fire:active{background:#99713ddd}#reloadButton{left:calc(50% - 23px);right:auto;bottom:calc(39px + env(safe-area-inset-bottom));width:46px;height:46px;font-size:8px}.weaponInfo{left:22px;right:auto;bottom:calc(156px + env(safe-area-inset-bottom));text-align:left;height:45px}.weaponInfo small{font-size:9px;letter-spacing:1.2px}.weaponInfo b{font-size:25px;line-height:1.3}.weaponInfo span{display:none}#swapWeapon{position:fixed;left:calc(50% - 26px);right:auto;bottom:calc(99px + env(safe-area-inset-bottom));width:52px;height:44px;margin:0;padding:6px;font-size:8px;border-radius:6px}#monkey{right:22px;left:auto;bottom:calc(144px + env(safe-area-inset-bottom));height:44px;min-width:92px;max-width:110px;padding:8px;font-size:10px;border-radius:6px;background:#30291ddd}#monkey:disabled{opacity:.35}.headGoal{display:none}#buyHud{bottom:calc(219px + env(safe-area-inset-bottom));left:50%;width:270px;min-width:0;max-width:85%;font-size:9px;padding:12px;border-radius:5px;background:#2b251ce8}#reload{top:55%}#pausePanel{background:#080d14e8}#menu .settings{margin-top:16px}#menu .settings summary{color:#9ca4ae}#menu>.primary{margin-top:16px}#menu .portrait-sprite{max-height:145px}#menu .field{letter-spacing:2.5px;font-size:9px}
@media(max-height:700px){#menu{padding-top:16px}.festival-logo{max-width:240px;margin-bottom:12px}#characters{max-width:350px;gap:7px}#menu .portrait-sprite{max-height:90px}.character-card>span:last-child{padding:7px 4px;font-size:8px}#menu>.primary,#menu>.secondary{padding:13px;margin-top:8px;margin-bottom:8px}.instructions,footer{margin:9px auto}#menu .settings{margin:10px auto}.menu-summary{margin-bottom:10px}#notice{margin-top:6px}#waveMessage{margin-top:12px}}
@media(max-height:480px) and (orientation:landscape){#monkey{bottom:140px}#buyHud{bottom:24px;max-width:190px}.weaponInfo{bottom:140px}#hud header{max-width:250px}#notice{position:absolute;top:15px;left:35%;max-width:30%}}
/* Orientation hint and dedicated thumb zones. */
.rotate-tip{display:none;align-items:center;justify-content:center;gap:14px;margin:0 auto 18px;max-width:360px;color:#dbc398;font-size:12px;line-height:1.5}.rotate-tip small{display:block;color:#9ca5ae;font-size:10px}.rotate-phone{width:38px;height:38px;flex:none;fill:none;stroke:currentColor;stroke-width:2;animation:turnPhone 3s ease-in-out infinite}@keyframes turnPhone{0%,15%{transform:rotate(0)}50%,80%{transform:rotate(90deg)}100%{transform:rotate(0)}}
@media(orientation:portrait) and (max-width:900px){.rotate-tip{display:flex}}
@media(prefers-reduced-motion:reduce){.rotate-phone{animation:none;transform:rotate(45deg)}}
#sprint{position:absolute;right:22px;bottom:calc(196px + env(safe-area-inset-bottom));width:92px;height:44px;padding:6px;border:1px solid #c8b28877;border-radius:6px;background:#19232ddd;color:#e4d5b8;font-size:10px;letter-spacing:.7px;pointer-events:auto}
#sprint[aria-pressed=true]{background:#4b432ddd;border-color:#e3cfa0}#sprint:disabled{opacity:.4}
#buyHud{bottom:calc(260px + env(safe-area-inset-bottom));transform:translateX(-50%)}
@media(orientation:landscape){
 #hud{padding: max(12px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) 0 max(20px,env(safe-area-inset-left))}
 #hud header{max-width:none;gap:20px}#hud header b{font-size:21px}#pause{position:absolute;right:max(20px,env(safe-area-inset-right));top:max(12px,env(safe-area-inset-top));height:36px}
 .health{width:105px;margin-top:7px}#waveMessage{position:absolute;top:20px;left:35%;width:30%;margin:0;font-size:14px}#notice{position:absolute;top:46px;left:32%;width:36%;max-width:none;margin:0;font-size:10px}
 #joystick{left:max(20px,env(safe-area-inset-left));bottom:calc(20px + env(safe-area-inset-bottom));width:88px;height:88px;opacity:1}#joystick i{left:23px;top:23px}
 #fire{right:max(20px,env(safe-area-inset-right));bottom:calc(20px + env(safe-area-inset-bottom));width:84px;height:84px;font-size:12px}
 #monkey,#sprint{right:max(20px,env(safe-area-inset-right));left:auto;width:84px;min-width:84px;max-width:84px;height:44px;margin:0;font-size:9px}
 #monkey{bottom:calc(116px + env(safe-area-inset-bottom))}#sprint{bottom:calc(168px + env(safe-area-inset-bottom))}
 #reloadButton,#swapWeapon{position:fixed;left:auto;right:calc(max(20px,env(safe-area-inset-right)) + 96px);width:48px;height:48px;min-width:0;margin:0;padding:4px;font-size:8px;border-radius:8px}
 #reloadButton{bottom:calc(20px + env(safe-area-inset-bottom))}#swapWeapon{bottom:calc(80px + env(safe-area-inset-bottom))}
 .weaponInfo{left:max(20px,env(safe-area-inset-left));right:auto;bottom:calc(124px + env(safe-area-inset-bottom));height:40px;text-align:left}.weaponInfo b{font-size:23px}.weaponInfo small{font-size:8px}
 #buyHud{left:50%;bottom:calc(20px + env(safe-area-inset-bottom));width:min(190px,30vw);max-width:190px;min-width:0;padding:10px;font-size:8px;transform:translateX(-50%)}#lookHint{display:none}
 #menu .festival-logo{max-width:210px;margin-bottom:10px}#menu #characters{grid-template-columns:repeat(6,1fr);max-width:700px}#menu .portrait-sprite{height:95px;max-height:95px}#menu .field{margin:8px auto}#menu .menu-summary{margin-bottom:8px}#characterStatus{margin:7px auto}
 #menu>.primary,#menu>.secondary{display:inline-block;width:210px;max-width:44%;margin:5px}#menu{text-align:center;padding-top:14px}#menu .settings{text-align:left}#menu .instructions{margin:6px auto}
}

#leaderboard .prize-rule{max-width:520px;margin:16px auto;color:#e5c792;font-size:15px;line-height:1.6}#leaderboard .board-rules{max-width:520px;margin:12px auto;font-size:11px;color:#aeb8c2;line-height:1.7}.board-history{max-width:520px;margin:20px auto;padding:16px;border:1px solid #ffffff26;text-align:left}.board-history summary{cursor:pointer;font-size:12px;letter-spacing:1px}.history-day{display:block;width:100%;padding:12px;margin:8px 0;background:#141d26;border:1px solid #ffffff20;text-align:left;font-size:12px}.board-history label{display:block;font-size:11px;margin-top:20px}.board-history input{padding:12px;background:#141d26;border:1px solid #ffffff30;color:white;max-width:100%;margin:8px 0}#historyList{list-style:none;padding:0}#historyList li{display:flex;gap:15px;padding:12px 0;border-bottom:1px solid #ffffff20;font-size:12px}#historyList li>span{flex:1}#historyStatus{font-size:12px;line-height:1.6}
