/* Features unavailable in the Playables edition are omitted from its UI. */
#terms-open, #privacy-policy-open, #delete-profile-open,
#rankings-enable-open, #privacy-options, #player-id-row, #player-id-status,
.name-label, .name-row, #choose-photo, #profile-photo, #language-open,
[for="notifications-setting"], #notifications-status, #admin-enter, #admin-exit {
  display: none !important;
}
.platform-paused *, .platform-paused *::before, .platform-paused *::after {
  animation-play-state: paused !important;
}
body { overscroll-behavior: none; }
@media (pointer:fine) { #adventure-map { cursor:grab; } }
.desktop-dragging,.desktop-dragging * { cursor:grabbing !important; user-select:none !important; }
#story-scene.story-scene[open] { display:flex; align-items:center; justify-content:center; width:100vw; height:100dvh; min-width:0; min-height:0; box-sizing:border-box; }
#story-scene .story-scene-canvas { flex:none; width:min(100vw,56.25dvh); height:min(100dvh,177.7778vw); min-width:0; min-height:0; max-width:100%; max-height:100%; object-fit:contain; }
#story-scene .story-scene-sound { top:50%; bottom:auto; left:50%; transform:translate(-50%,-50%); z-index:3; }
#story-scene[data-stage=complete] .story-scene-sound { top:max(8px,env(safe-area-inset-top)); bottom:auto; min-height:44px; height:44px; font-size:18px; transform:translateX(-50%); }
.home-tools .menu-vector { display:block; width:100%; height:100%; pointer-events:none; overflow:visible; }
#app[data-screen=home] .home-tools #leaderboard-open { display:block; visibility:visible; opacity:1; }
.home-tools .icon-button:focus-visible { outline:2px solid white; outline-offset:3px; border-radius:50%; }
.browser-preview #coins-ad-open, .browser-preview #continue-ad { display:none !important; }
.personal-score-row { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:9px 8px; border-bottom:1px solid #aacbd5; }
.personal-score-row strong { font-size:1.2rem; }

/* Render compact panels as one continuous bitmap, with no join at 50% height. */
#app :is(#settings-dialog,#over-dialog:not(.adventure-results),#difficulty-dialog,#tutorial-dialog,#coin-help-dialog,#coins-ad-dialog) {
  background:transparent url('assets/menu-panel-v240.webp') center/100% 100% no-repeat !important;
}
#app :is(#settings-dialog,#over-dialog:not(.adventure-results),#difficulty-dialog,#tutorial-dialog,#coin-help-dialog,#coins-ad-dialog)::before,
#app :is(#settings-dialog,#over-dialog:not(.adventure-results),#difficulty-dialog,#tutorial-dialog,#coin-help-dialog,#coins-ad-dialog)::after {
  content:none !important;
  display:none !important;
}


.browser-preview #player-id-status,.browser-preview #rankings-enable-open {display:block !important;}
.browser-preview #profile-dialog #player-id-row{display:flex!important;align-items:center;justify-content:center;}
.browser-preview #copy-player-id{display:inline-flex;align-items:center;justify-content:center;margin:0;vertical-align:middle;}
.browser-preview #copy-player-id img{display:block;}
.browser-preview #rankings-enable-open[hidden],.browser-preview #player-id-row[hidden]{display:none !important;}
.browser-preview .name-label{display:block!important;}
.browser-preview .name-row{display:flex!important;}
#leaderboard-own-score{display:block;font-size:12px;line-height:1.5;margin:8px 0;}
#leaderboard-own-score strong,#leaderboard-own-score span{display:block;}

/* The frame supplies the viewport for every game and full-screen dialog. */
html,body{overflow:hidden;}
#app,#app[data-screen=home],#app[data-screen=map],#app[data-screen=game]{width:100%;max-width:100%;height:100dvh;min-height:0;max-height:100dvh;margin:0 auto;}
/* Keep button feedback and in-game effects; omit the extra decorative tap bursts. */
#tap-effects,#tap-effects:popover-open{display:none!important;}

#piano-flow .piano-key-labels{position:absolute;bottom:23px;left:50%;transform:translateX(-50%);width:calc(100% - 16px);max-width:580px;display:grid;grid-template-columns:repeat(4,1fr);z-index:3;pointer-events:none;text-align:center;color:white;font:900 14px Nunito,sans-serif;}
#piano-flow .piano-key-labels[hidden]{display:none;}
#piano-flow .piano-key-labels kbd{font:inherit;justify-self:center;min-width:26px;padding:2px 6px;border:1px solid #ffffff99;border-radius:5px;background:#102746cc;}
#piano-flow .piano-key-labels kbd.pressed{color:#102746;background:#fff3b5;}

#story-scene[data-stage=complete] .story-scene-sound{top:50%;left:50%;bottom:auto;transform:translate(-50%,-50%);width:auto;max-width:90%;height:auto;min-height:44px;padding:12px 16px;background:none;border:0;border-radius:0;box-shadow:none;color:#fff;font-size:24px;text-shadow:0 2px 5px #102d43;white-space:nowrap;}

#story-library .beacon-charge-count{font-size:16px;font-weight:900;color:#075a75;margin:8px 0;}
#story-library #beacon-charge:disabled{opacity:.55;cursor:default;}
#story-library #beacon-charge[hidden],#story-library #beacon-credits[hidden]{display:none;}
#story-library .beacon-status{font-size:13px;color:#075a75;}

/* Dedicated high-resolution raster ability art; avoid atlas-edge sampling. */
#freeze .power-art,.power-art[data-ability="freeze"]{background-image:url('browser-time-hd1.png');background-position:center;background-size:contain}
#shield .power-art,.power-art[data-ability="shield"],.health-shield{background-image:url('browser-shield-hd1.png');background-position:center;background-size:contain}
#boost .power-art,.power-art.boost-art{background-image:url('browser-boost-hd1.png');background-position:center;background-size:contain}
.power-art,.health-shield{image-rendering:auto;background-repeat:no-repeat}
#shield-charges{letter-spacing:0;font-size:10px;white-space:nowrap}

/* Keep the personal ranking visible while only the ranking list scrolls. */
#leaderboard-dialog .dialog-content{display:flex;flex-direction:column;overflow:hidden;gap:10px}
#leaderboard-dialog h2{flex-shrink:0;margin-bottom:8px}
#leaderboard-dialog #leaderboard-status{flex-shrink:0;margin:0;text-align:center;font-size:12px}
#leaderboard-dialog #leaderboard-rows{flex:1;min-height:0;max-height:none;overflow:auto;overscroll-behavior:contain;scroll-padding:12px}
#leaderboard-dialog #leaderboard-reload{flex-shrink:0}
#leaderboard-dialog .rank-you,#leaderboard-dialog .personal-score-row{background:#fff0a3;border:2px solid #e7b52d;color:#634400}
#leaderboard-dialog .personal-score-row{flex-shrink:0;display:flex;align-items:center;gap:8px;width:100%;padding:10px 8px;margin:0;border-radius:16px;min-height:64px;text-align:left;cursor:pointer;font-family:inherit}
#leaderboard-dialog .personal-score-row[hidden]{display:none}
#leaderboard-dialog .personal-score-row .rank-number{font-size:14px;min-width:20px;color:#634400}
#leaderboard-dialog .personal-rank-name{flex:1;min-width:0;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#leaderboard-dialog .personal-score-row .avatar{width:38px;height:38px}
#leaderboard-dialog .personal-score-row .rank-score{font-size:22px;color:#634400}
#leaderboard-dialog .rank-you:focus-visible,#leaderboard-dialog .personal-score-row:focus-visible{outline:3px solid #077c97;outline-offset:-3px}

#story-library #beacon-charge[aria-disabled=true]{opacity:.55;cursor:pointer}
#story-library .ability-lock-notice{font-size:15px;line-height:1.4}
