/* Menus scroll normally; repeated taps never request browser zoom. */
html,body{touch-action:manipulation;-webkit-text-size-adjust:100%;overscroll-behavior-x:none}
body:not(.playing):not(.swimming){touch-action:manipulation}
button,a,summary,[role=button]{touch-action:manipulation}
body.playing,body.swimming,.playing #match,.swimming #ocean-hud,.playing canvas,.swimming canvas{touch-action:none}
dialog,.playing dialog,.swimming dialog{touch-action:pan-y;max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 24px);scroll-padding:16px}
input,select,textarea{font-size:16px!important}
.game-navigation{position:fixed;top:0;left:0;right:0;z-index:12;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:calc(env(safe-area-inset-top) + 12px) max(20px,env(safe-area-inset-right)) 12px max(20px,env(safe-area-inset-left));background:linear-gradient(#071928f2,#071928b8,transparent)}
.games-back{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 17px;color:#f0f9ff;text-decoration:none;font-size:14px;font-weight:700;background:#163a50;border:1px solid #c4e6f64d;border-radius:16px;white-space:nowrap;box-shadow:inset 0 1px #ffffff12,0 5px 18px #0002}
.games-back span{font-size:22px;font-weight:400;color:#cafa9c}
.game-navigation .language-dock{position:static;padding:0}.game-navigation .language-switch{box-shadow:none}.game-navigation .language-switch button{min-height:38px}
.playing .game-navigation,.swimming .game-navigation,.install-required .game-navigation{display:none}
body:has(.game-navigation):not(.playing) .app{padding-top:calc(env(safe-area-inset-top) + 86px)}
body:has(.game-navigation) #header{margin-bottom:20px;gap:12px}body:has(.game-navigation) #header .brand{padding:0;font-size:24px}#header .icon{flex:none;min-width:44px;min-height:44px}
#ocean-menu.ocean-panel{padding-top:calc(env(safe-area-inset-top) + 86px);padding-bottom:calc(env(safe-area-inset-bottom) + 24px)}
#ocean-menu>.eyebrow{margin-top:12px}.ocean-settings{box-shadow:inset 0 1px #e0ffff0a,0 12px 32px #00122326}.fish-choice{margin-top:0}
#levels,.ocean-settings{min-width:0}.level strong{font-size:16px}.level small{line-height:1.4}.level .upgrade{font-size:10px}
#ocean-levels button small{display:block;margin-top:6px;font-size:10px;color:#c0d3d9}.level.locked,#ocean-levels button:disabled{opacity:.62}
#ocean-rotate,#rotate-screen{padding:calc(env(safe-area-inset-top) + 28px) 24px calc(env(safe-area-inset-bottom) + 28px);background:radial-gradient(ellipse at 50% 35%,#204c63,#071b2c 75%);line-height:1.4}
#ocean-rotate .quiet,#rotate-screen .secondary{min-height:48px;padding:10px 24px;border:1px solid #b4dce14d;background:#244653;color:#f1fcff;font-size:14px;border-radius:16px;margin:20px auto 0}
/* Keep cinematic accents inside the world, with a restrained broadcast-style result. */
.power-moment:before{display:none}.power-label{display:none}
#callout{left:50%;width:max-content;max-width:85%;top:40%;transform:translateX(-50%);font-size:23px;letter-spacing:-.04em}
.smash-winner #callout{top:12%;display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 25px 10px;border-top:1px solid #eaffb090;border-bottom:1px solid #eaffb033;background:linear-gradient(90deg,transparent,#062638eb 18% 82%,transparent);color:#f3ffcf;text-shadow:0 2px 15px #021721}
.winner-kicker{font-size:10px;letter-spacing:.22em;font-weight:700}.smash-winner #callout strong{font-size:38px;font-weight:700;line-height:1.1;font-variant-numeric:tabular-nums}.smash-winner #callout i{font-style:normal;display:inline-block;padding:0 16px;color:#b9d5e4;font-size:23px;vertical-align:4px}
.smash-winner .court-brand{opacity:.25}
@media(orientation:landscape){
 .playing .app{padding:env(safe-area-inset-top) max(10px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left))}
 .playing #match{max-width:1600px}
 #arena{left:116px;right:132px;top:44px;bottom:8px;border-radius:22px;border:1px solid #a9d8eb30;box-shadow:0 14px 45px #0006}
 .scorebar{left:124px;right:140px;top:0;height:40px}.scorebar .icon{width:44px;height:40px;border-radius:12px;background:#123044;border-color:#a1cbda33}.scores{display:flex;align-items:center;gap:16px}.scores>span{font-size:10px;letter-spacing:.12em;color:#c2dce8}.scores>div{font-size:26px;gap:13px}.scores small{font-size:15px}.scores p{display:none}
 #joystick-panel{width:124px;left:0;bottom:24px;z-index:4}#joystick{width:122px;height:122px}#joy-knob{width:58px;height:58px;left:30px;top:30px}
 #shot-panel{width:128px;right:0;top:52px;bottom:16px;gap:14px;z-index:4}.aim-presets>div{gap:4px}.aim-presets button{width:40px;height:46px;border-radius:14px;font-size:22px}.smash{width:110px;min-height:100px}.smash strong{font-size:18px}#smash small{font-size:9px!important;margin:6px 5px 0!important}
 .energy button{font-size:10px;min-height:32px}.screen-button{width:112px;top:4px;min-height:38px;font-size:10px}
 .playing #coach{max-width:calc(100vw - 300px);font-size:10px!important;bottom:9px;padding:5px 10px!important}
 .court-brand{font-size:11px;letter-spacing:.16em}.court-brand small{font-size:6px}#player-tag{font-size:9px}
 #ocean-hud header{margin:6px 8px 0;height:50px;padding:4px 10px;gap:12px;border-radius:16px!important}#ocean-hud header button{width:42px;height:40px;flex:none}#ocean-hud .progress{width:120px}#ocean-hud header b{letter-spacing:.12em}
 .swimming #growth{top:calc(env(safe-area-inset-top) + 66px);left:max(24px,env(safe-area-inset-left));font-size:10px;max-width:220px}.swimming #reef-direction{top:calc(env(safe-area-inset-top) + 68px);right:max(24px,env(safe-area-inset-right))}.swimming #game-upgrades{top:calc(env(safe-area-inset-top) + 96px);right:max(24px,env(safe-area-inset-right));min-height:42px}.swimming .sea-brand{top:auto;bottom:16px;left:50%;transform:translateX(-50%);font-size:8px;opacity:.55}.swimming #ocean-tip{bottom:36px;max-width:calc(100vw - 340px);font-size:10px!important}
}
@media(orientation:landscape) and (max-height:600px){
 body:has(.game-navigation):not(.playing) .app{padding-top:calc(env(safe-area-inset-top) + 74px)}
 .game-navigation{padding-top:calc(env(safe-area-inset-top) + 8px);padding-bottom:8px}.games-back{min-height:44px}.game-navigation .language-switch button{min-height:34px}
 body:not(.playing) #header{margin-bottom:12px}body:not(.playing) #home{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px 22px}
 #ocean-menu.ocean-panel{padding-top:calc(env(safe-area-inset-top) + 78px);grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px 22px}#ocean-menu>.ocean-settings{margin-top:0;grid-row:1/8}#ocean-menu>#fish-preview{height:132px}
 #ocean-menu>h1{font-size:29px}#home>#previewMount{height:160px}.game-navigation~.app #header .brand{font-size:20px}.game-navigation~.app #header .brand small{font-size:8px}
}
@media(orientation:landscape) and (max-height:360px){#shot-panel{gap:8px;top:48px;bottom:8px}.smash{min-height:82px;width:104px}.energy button{min-height:24px}.aim-presets button{height:42px}#joystick-panel{bottom:20px}.smash-winner #callout{padding:8px 18px}.smash-winner #callout strong{font-size:30px}.winner-kicker{font-size:9px}}
@media(max-width:380px) and (orientation:portrait){.game-navigation{padding-left:14px;padding-right:14px;gap:10px}.games-back{padding:0 12px;font-size:13px}.app{padding-left:16px;padding-right:16px}#ocean-menu.ocean-panel{padding-left:16px;padding-right:16px}.level strong{font-size:14px}h1{font-size:34px}#ocean-menu h1{font-size:34px}}

.home-overview,.home-actions{display:contents}#smash{color:#edf8ff!important}#smash:disabled{color:#aac3d0!important;opacity:.78}#smash.ready{color:#16332a!important}.aim-presets button.suggested{box-shadow:0 0 0 2px #dfff85;animation:none}
@media(orientation:landscape) and (max-height:600px){
 #home>.home-overview,#home>.home-actions{display:flex;flex-direction:column;min-width:0;gap:12px;grid-row:1;align-items:stretch}#home>.home-overview{grid-column:1}#home>.home-actions{grid-column:2}
 .home-overview>.eyebrow{margin:0;font-size:10px}.home-overview>h1{font-size:28px!important;margin:0!important}.home-overview>.lead{margin:0!important;font-size:12px}.home-overview #home-summary{margin:0;padding:12px 14px}.home-overview #home-summary b{font-size:23px;margin:0}.home-overview #home-summary span{font-size:10px}.home-overview #character-open{min-height:54px;padding:10px 14px}.home-overview #previewMount{height:145px}
 .home-actions>.section-head{margin:0;min-height:30px}.home-actions>#levels{margin:0}.home-actions>.league-note{margin:0;font-size:11px}.home-actions>.journey{padding:0;min-height:20px}.home-actions>#play{min-height:50px}.home-actions>#practice{margin:0;min-height:44px}.home-actions>#install-card{margin:0;padding:12px}.home-actions>.home-links{margin:0}.home-actions>.fine{margin:0}
}
@media(orientation:landscape) and (max-height:600px){body:not(.playing):has(.game-navigation) #header{display:none}}
