/* Shared game surfaces. Voxel illustrations remain the centre of attention. */
:root{--game-ink:#4d2d70;--game-muted:#795c90;--game-purple:#8651e8;--game-paper:#fffaff;--game-line:#e1cef3;--game-radius:24px}
button,a,input,summary{-webkit-tap-highlight-color:transparent}
button{touch-action:manipulation}
button:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #7540d0;outline-offset:4px}
button:disabled{cursor:default}
.game-menu,.game-panel,.guide-dialog{color:var(--game-ink);overflow-wrap:break-word}
.game-menu h1{font-size:clamp(1.9rem,5vw,2.65rem);line-height:1.15;letter-spacing:-.04em}
.game-menu h2{line-height:1.3}.game-menu h3{line-height:1.35}
.game-menu p,.game-menu .shop-banner p,.game-menu .shop-plus p,.game-menu .ranking-coming p,.game-menu .profile-hero-copy p,.game-menu .skin-copy p,.game-panel p{font-size:1rem;line-height:1.6;color:var(--game-muted)}
.game-menu .menu-kicker,.game-menu .shop-banner-tag,.game-menu .shop-soon,.game-panel .eyebrow{font-size:.75rem;line-height:1.5;letter-spacing:.08em;color:#795298}
.game-menu small,.game-menu .profile-links small,.game-menu .skin-condition,.game-menu .profile-outfits span,.game-menu .profile-stats span,.game-menu .collection-world small{font-size:.8125rem;line-height:1.5}
.game-menu .menu-note{font-size:.875rem;color:var(--game-muted);line-height:1.6}
.game-menu button,.game-panel button,.home-actions button,.guide-dialog button{min-height:44px}
.primary-button,.game-panel .primary-button,.home-actions .primary-button,.guide-dialog .primary-button{min-height:52px;font-size:1rem;line-height:1.4;border-radius:17px;padding:13px 18px}
.secondary-button,.game-panel .secondary-button{min-height:48px;font-size:.9375rem;line-height:1.45;border-radius:16px;padding:11px 16px}
.primary-button:active,.secondary-button:active,.collection-world:active,.skin-equip:active{transform:translateY(2px)}
.topbar .sound-button{width:44px;height:44px;flex:none}.topbar .wallet-button{min-height:44px;font-size:.875rem}.topbar .wallet-heart{font-size:.8125rem}
.bottom-menu .menu-nav-button{font-size:.75rem;line-height:1.3;min-height:60px;min-width:0}.bottom-menu .nav-play>span:last-child{font-size:.875rem}.bottom-menu .nav-icon{flex:none}
.game-menu .shop-categories button,.game-menu .course-bands button{min-height:46px;font-size:.875rem}
.game-menu .collection-back{font-size:.9375rem;min-height:48px}
.game-menu .collection-world strong,.game-menu .skin-copy h3{font-size:1.0625rem}.game-menu .collection-world>span:not(.world-collection-icon){font-size:.875rem}.game-menu .collection-world .collection-open{font-size:.875rem}
.game-menu .album-word small{font-size:.8125rem}.album-word{min-width:0}.album-word strong{overflow-wrap:anywhere}
.game-menu .skin-copy button,.game-menu .heart-purchases button{font-size:.875rem;line-height:1.4;min-height:48px}.game-menu .skin-copy h3{min-height:0}.game-menu .skin-condition{min-height:0;margin:10px 0}
.game-menu .skin-preview{overflow:hidden}.game-menu .skin-preview img{width:100%;height:100%;object-fit:contain}
.game-menu .shop-featured .skin-card{flex-basis:186px}.game-menu .shop-featured .skin-preview{height:174px}.game-menu .shop-featured .skin-copy button{width:100%}
.game-menu .shop-section-heading{flex-wrap:wrap;gap:8px}.game-menu .shop-section-heading>button{font-size:.875rem;min-height:44px}
.game-menu .wallet-card p,.game-menu .shop-hint,.game-menu .shop-plus-teaser small{font-size:.875rem;line-height:1.5}
.game-menu .coin-pack h3{font-size:.875rem;line-height:1.4;min-height:2.8em}.game-menu .coin-pack button{font-size:1rem;min-height:48px}.game-menu .coin-pack>strong{font-size:1.6rem}
.game-menu .shop-plus li,.game-menu .shop-plus>button{font-size:1rem;line-height:1.5}
.game-menu .profile-links strong,.game-menu .profile-hero-copy button{font-size:1rem}.game-menu .profile-links>button{min-height:80px}.game-menu .profile-links>button>span{min-width:0}.game-menu .profile-links>button>svg{flex:none}
.game-menu .profile-outfits strong{font-size:.875rem}.game-menu .profile-hero{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}.game-menu .profile-hero-copy h2{font-size:1.5rem;line-height:1.3}
.game-menu .ranking-week strong,.game-menu .ranking-week span,.game-menu .ranking-week p,.game-menu .ranking-coming small{font-size:.8125rem}.game-menu .ranking-rules summary{font-size:.9375rem}.game-menu .ranking-rules>div{font-size:.875rem}
.game-menu .daily-quest p,.game-menu .achievement p{font-size:.9375rem}.game-menu .daily-quest h2{font-size:1.0625rem}.game-menu .task-links span{font-size:.875rem}.game-menu .task-links strong{font-size:1rem}
.continue-adventure small{font-size:.75rem;letter-spacing:.06em}.continue-adventure em{font-size:.875rem}.continue-adventure strong{font-size:1.5rem}.continue-adventure strong b{font-size:.8125rem}
.course-world-copy small{font-size:.75rem;letter-spacing:.05em}.course-world-copy>span,.course-world-copy em{font-size:.875rem;line-height:1.4}.course-world-copy strong{font-size:1.25rem;line-height:1.2}
.course-world{gap:12px}.course-world-art{flex-shrink:0}.course-world-copy{flex:1}
.home-actions .home-links{display:flex;flex-wrap:wrap;justify-content:center;gap:0 14px}.home-actions .home-links button{min-height:44px;font-size:.875rem}.home-actions .start-footnote{font-size:.8125rem;line-height:1.5;margin-top:6px}
.start-content .chapter-intro{font-size:1rem;line-height:1.5}.lesson-stop strong{font-size:1rem;line-height:1.4}.lesson-stop small{font-size:.8125rem;line-height:1.5}.lesson-stop{min-height:84px}.daily-mini strong,.daily-mini>span{font-size:.8125rem}
/* Menus scroll, game motion stays on the canvas. */
.panel-overlay{padding:24px 18px;align-items:flex-start;overscroll-behavior:contain;backdrop-filter:none;background:#241743b8}
.game-panel{position:relative;flex:none;width:100%;max-width:420px;margin:auto 0;padding:26px;border:2px solid #ffffff;border-radius:var(--game-radius);background:var(--game-paper);box-shadow:0 7px 0 #ceb5e8,0 22px 60px #21103945}
.game-panel h2{font-size:1.7rem;line-height:1.2;letter-spacing:-.035em;color:var(--game-ink)}
.game-panel .word-hero{height:clamp(108px,19svh,176px);margin:12px auto;display:block}.game-panel .big-word{font-size:clamp(2rem,6vw,2.65rem);line-height:1.2;overflow-wrap:anywhere}
.game-panel .panel-audio{min-height:46px;font-size:.9375rem;padding:10px 18px;border-radius:16px}
.game-panel .word-context{font-size:1rem;line-height:1.5}.game-panel .free-note,.game-panel .result-star-hint{font-size:.8125rem;line-height:1.5}
.tutorial-header .eyebrow{font-size:.75rem;letter-spacing:.06em}.tutorial-dots{display:flex;justify-content:center;gap:8px;padding:10px 0}.tutorial-dots i{height:7px;width:7px}.tutorial-dots i.active{width:23px}
.game-panel .tutorial-back{border-color:var(--game-line);color:#704599;width:44px;height:44px}
.game-panel .round-result h2{font-size:1.7rem}.game-panel .result-explanation{font-size:1rem;line-height:1.5}.result-performance{flex-wrap:wrap;gap:6px 16px;font-size:.875rem;color:var(--game-muted)}
.result-performance strong{font-size:1rem}.result-rewards small{font-size:.8125rem}.result-review summary{font-size:.9375rem;line-height:1.45;padding:14px}.result-review .review-list button{min-height:48px;font-size:1rem}
.game-panel .result-daily{font-size:.875rem}.result-medals>span:nth-child(2){--medal-shift:-7px}.result-medals .earned{animation:medal-arrive .45s cubic-bezier(.18,.8,.3,1.2) both}.result-medals .earned:nth-child(2){animation-delay:.09s}.result-medals .earned:nth-child(3){animation-delay:.18s}
.result-rewards>div{animation:reward-arrive .3s .15s ease-out both}.result-rewards>div:last-child{animation-delay:.23s}
.reward-burst{position:absolute;inset:0;overflow:hidden;pointer-events:none;border-radius:inherit}.reward-burst i{position:absolute;left:50%;top:21%;width:7px;height:13px;border-radius:2px;background:var(--burst-color);opacity:0;animation:reward-burst .85s var(--burst-delay) ease-out both}
.menu-feedback{position:fixed;z-index:50;left:50%;bottom:calc(118px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);max-width:min(440px,calc(100% - 32px));width:max-content;padding:14px 20px;border:2px solid #fff;border-radius:18px;background:#573286;color:white;box-shadow:0 6px 24px #43226730;font-size:.9375rem;line-height:1.5;text-align:center;pointer-events:none}
.menu-feedback[hidden],.in-flight .menu-feedback{display:none}
/* Optional, repeatable touch rehearsal, shown only to a new player. */
.guide-dialog{padding:24px;border:2px solid white;border-radius:28px;width:calc(100% - 32px);max-width:420px;max-height:calc(100svh - 40px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));margin:auto;background:#fffaff;box-shadow:0 8px #cfb4ed,0 24px 70px #1e0d5e55;overflow-y:auto;overscroll-behavior:contain}
.guide-dialog::backdrop{background:#281346b8}.guide-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.guide-heading .eyebrow{font-size:.75rem;letter-spacing:.06em;line-height:1.5;color:#795298}
.guide-close{flex:none;border:1px solid var(--game-line);border-radius:15px;background:#f1e5ff;color:#79529b;width:44px;height:44px;font-size:1.75rem}
.guide-dialog h2{font-size:1.65rem;letter-spacing:-.04em;line-height:1.2;margin:13px 0 10px}.guide-intro{font-size:1rem;line-height:1.5;color:var(--game-muted);margin:0 0 18px}
.guide-demo{padding:12px 0 0;background:linear-gradient(#bceaf5,#dff8ff);border:2px solid #b0dfe9;border-radius:22px;overflow:hidden;text-align:center}
.guide-cue{display:inline-flex;justify-content:center;align-items:center;gap:9px;padding:8px 22px;border:2px solid #fff;border-radius:18px;color:#fff;background:#25638e;box-shadow:0 3px #174a75;font-size:1.5rem}.guide-cue span{font-size:1.125rem}
.guide-pool{height:198px;position:relative;touch-action:none;cursor:ew-resize;border-radius:14px;margin:2px 10px 0;background:radial-gradient(ellipse at 30% 100%,#74d1d33d,transparent 60%)}
.guide-pool:focus-visible{outline-offset:-4px}.guide-fish,.guide-decoy{position:absolute;top:14px;width:72px;height:72px;object-fit:contain;transform:translateX(-50%)}.guide-fish{left:77%;transition:transform .2s,opacity .2s}.guide-decoy{left:23%}
.guide-swimmer{position:absolute;bottom:9px;left:var(--guide-x);transform:translateX(-50%);width:65px;height:92px;object-fit:contain;transition:bottom .3s}.guide-track{position:absolute;bottom:35px;left:12%;right:12%;height:2px;background:#369cad50}.guide-track:before,.guide-track:after{content:'';position:absolute;top:-4px;width:10px;height:10px;border-radius:50%;background:#67b7cc}.guide-track:after{right:0}
.guide-gesture{position:absolute;left:50%;bottom:19px;transform:translateX(-50%);font-size:2.5rem;color:#296682;animation:gesture-hint 1.8s ease-in-out 3;pointer-events:none;background:#e6faffdc;border-radius:14px;line-height:1;padding:3px 11px}
.guide-pool.tried .guide-gesture{display:none}.guide-pool.caught{cursor:default}.guide-pool.caught .guide-fish{transform:translateX(-50%) scale(1.12);opacity:1;filter:drop-shadow(0 0 10px #fff6a2)}.guide-pool.caught .guide-decoy{opacity:.3}.guide-pool.caught .guide-swimmer{bottom:14px}
.guide-catch-mark{display:none;position:absolute;left:77%;top:5px;margin-left:22px;width:26px;height:26px;align-items:center;justify-content:center;border:2px solid #fff;border-radius:50%;background:#25a674;color:white;box-shadow:0 2px 0 #177754}.guide-pool.caught .guide-catch-mark{display:flex}.guide-dialog .guide-catch-mark svg{width:18px;height:18px;stroke-width:3}
.guide-status{margin:0;padding:10px 12px;min-height:48px;background:#f2fcff;font-size:.875rem;line-height:1.5;color:#28607b}
.guide-rules{display:grid;gap:14px;list-style:none;padding:0;margin:20px 0}.guide-rules li{display:flex;gap:12px;align-items:flex-start}.guide-rules li>span{display:grid;place-items:center;flex:none;width:36px;height:39px;border-radius:12px;background:#eee0ff;color:#9660cc;font-size:1.375rem}.guide-rules li:nth-child(2)>span{background:#ffe0eb;color:#d8799a}.guide-rules li:nth-child(3)>span{background:#fff1c2;color:#b58b28}
.guide-rules strong{font-size:.9375rem;line-height:1.4}.guide-rules p{font-size:.875rem;line-height:1.5;margin:4px 0 0;color:var(--game-muted)}.guide-dialog .primary-button{width:100%;margin-top:2px}.guide-skip{display:block;width:100%;padding:11px 8px;margin-top:8px;border:0;background:none;color:#76528d;font-size:.875rem}.guide-note{font-size:.8125rem;line-height:1.5;text-align:center;color:var(--game-muted);margin:14px 0 0}
@keyframes medal-arrive{from{opacity:0;transform:translateY(calc(var(--medal-shift,0px) + 12px)) scale(.65)}to{opacity:1;transform:translateY(var(--medal-shift,0px)) scale(1)}}
@keyframes reward-arrive{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes reward-burst{0%{opacity:0;transform:translate(0,0) rotate(0)}15%{opacity:1}100%{opacity:0;transform:translate(var(--burst-x),170px) rotate(var(--burst-turn))}}
@keyframes gesture-hint{0%,100%{transform:translateX(-60%)}50%{transform:translateX(-10%)}}
@media(max-width:640px){
 .game-menu{padding-left:18px;padding-right:18px;padding-bottom:calc(142px + env(safe-area-inset-bottom,0px))}.game-menu .menu-heading{margin-bottom:22px}
 .topbar{padding-left:16px;padding-right:16px;gap:8px}.topbar-actions{gap:8px}.lobby-brand{font-size:1.375rem}.topbar .wallet-button{padding:8px;gap:6px}.topbar .sound-button{width:44px;height:44px}
 .bottom-menu{padding:7px 5px calc(10px + env(safe-area-inset-bottom,0px));gap:0}.bottom-menu .menu-nav-button{font-size:.75rem;min-height:60px}.bottom-menu .nav-play{min-height:60px}
 .game-menu .course-bands{gap:5px}.game-menu .course-bands button{padding:10px 4px;min-width:0}.continue-adventure{padding:18px 15px;gap:12px}.continue-symbol{width:42px;height:47px}
 .course-world{width:97%;padding:12px 12px 12px 0;gap:2px;min-height:155px}.course-world-art{width:116px;height:132px}.course-world-copy>span,.course-world-copy em{font-size:.8125rem}.course-world-copy strong{font-size:1.1875rem}.course-world-copy small{font-size:.75rem}
 .game-menu .collection-world{padding:16px 13px;gap:8px}.game-menu .collection-world-grid{gap:12px}.game-menu .album-grid{gap:10px}.game-menu .collection-summary{flex-wrap:wrap}
 .game-menu .shop-categories{gap:2px;padding:5px}.game-menu .shop-categories button{padding:10px 5px}.game-menu .shop-banner>div{width:70%}.game-menu .shop-banner p{max-width:none;font-size:.9375rem}.game-menu .shop-banner>img{width:155px;height:155px;right:-30px}.game-menu .shop-banner-tag{font-size:.75rem}
 .game-menu .heart-offer{gap:12px;padding:20px 16px}.game-menu .heart-offer h2{font-size:1.25rem}.game-menu .heart-offer-art{width:43px;flex:none}.game-menu .heart-purchases{flex-wrap:wrap}.game-menu .heart-purchases button{flex:1 1 112px}
 .game-menu .skin-grid,.game-menu .shop-skins{gap:12px}.game-menu .skin-copy{padding:14px 12px}.game-menu .skin-preview{height:180px}.game-menu .coin-pack-grid{gap:8px}.game-menu .coin-pack{padding:34px 7px 12px}.game-menu .coin-pack img{height:75px}.game-menu .shop-soon{font-size:.75rem;right:7px;top:8px}
 .game-menu .profile-hero-copy p{font-size:.9375rem}.game-menu .profile-stats{gap:8px}.game-menu .profile-stats span{font-size:.75rem}.game-menu .profile-outfits{gap:8px}.game-menu .profile-outfits span{font-size:.75rem}.game-menu .profile-links>button{padding:17px 14px;gap:12px}
 .panel-open .topbar{visibility:hidden}.panel-overlay{padding:max(16px,env(safe-area-inset-top,0px)) 16px max(24px,env(safe-area-inset-bottom,0px))}.game-panel{padding:22px 20px}.game-panel .eyebrow{font-size:.75rem}
 .game-frame .start-overlay,.game-frame.office .start-overlay{padding-left:18px;padding-right:18px;padding-bottom:calc(111px + env(safe-area-inset-bottom,0px))}.home-actions{padding-top:10px}.home-actions .start-footnote{font-size:.8125rem}.lesson-map{gap:10px}.lesson-stop{padding:13px 10px;gap:9px}.stop-number{font-size:1rem}.lesson-stop strong{font-size:.9375rem}
 .guide-dialog{padding:20px;max-height:calc(100svh - 32px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))}
}
@media(max-width:359px){.game-menu{padding-left:14px;padding-right:14px}.topbar{padding-left:12px;padding-right:12px}.lobby-brand{font-size:1.2rem;gap:5px}.lobby-brand>span{width:22px}.topbar-actions{gap:5px}.topbar .wallet-button{font-size:.8125rem}.topbar .wallet-heart{font-size:.75rem}.course-world-art{width:98px;height:123px}.course-world-copy strong{font-size:1.0625rem}.game-menu .shop-skins,.game-menu .skin-grid{grid-template-columns:1fr}.game-menu .skin-preview{height:205px}.game-menu .coin-pack-grid{grid-template-columns:1fr}.game-menu .coin-pack{display:grid;grid-template-columns:72px 1fr;align-items:center;padding:30px 14px 14px}.game-menu .coin-pack img{grid-row:1/4;width:72px}.game-menu .coin-pack h3{min-height:0}.game-menu .coin-pack button{width:100%}.game-panel{padding:20px 16px}.guide-dialog{padding:18px}}
@media(max-height:700px){.guide-pool{height:158px}.guide-swimmer{height:72px;width:52px}.guide-fish,.guide-decoy{width:58px;height:58px;top:9px}.guide-pool.caught .guide-swimmer{bottom:12px}.guide-rules{gap:10px;margin:16px 0}.game-panel .word-hero{height:100px}.game-panel .result-medals{min-height:55px}.game-panel .result-medals>span{font-size:43px}.game-panel .result-medals>span:nth-child(2){font-size:55px}}
@media(prefers-reduced-motion:reduce){.result-medals .earned,.result-rewards>div,.reward-burst i,.guide-gesture{animation:none}.guide-fish,.guide-swimmer{transition:none}.primary-button:active,.secondary-button:active,.collection-world:active,.skin-equip:active{transform:none}}

/* Keep icon controls and enlarged labels usable as well. */
.dialog-close,.circle-button,#boss-speak{min-width:44px;min-height:44px}
.bottom-menu .menu-nav-button{overflow-wrap:anywhere}.game-menu .course-bands button{flex-wrap:wrap}
.target button strong{font-size:clamp(1.375rem,7vw,2.2rem);line-height:1.2;overflow-wrap:anywhere}
@media(max-width:299px){.course-world{flex-direction:column;align-items:center;padding:16px;text-align:center}.course-world-art{width:128px;height:128px}.game-menu .collection-world-grid,.game-menu .profile-outfits,.game-menu .profile-stats{grid-template-columns:1fr}.game-menu .shop-categories{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar .lobby-brand{font-size:0}.topbar .lobby-brand>span{font-size:1.5rem}.game-menu .course-bands{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* Saved attempts and the last-heart decision share the game's soft reward palette. */
.saved-run-card{display:flex;align-items:center;gap:14px;width:100%;padding:18px;margin:0 0 20px;text-align:left;border:2px solid #cdb3ff;border-radius:24px;background:linear-gradient(135deg,#fff8ee,#efe2ff);color:#503078;box-shadow:0 5px 0 #d7c0ee;cursor:pointer}
.saved-run-card>span:nth-child(2){display:grid;gap:6px;flex:1;min-width:0}
.saved-run-card strong{font-size:1.08rem}.saved-run-card small{color:#806595;line-height:1.4}
.saved-run-card .saved-run-icon{display:grid;place-items:center;width:52px;height:52px;flex-shrink:0;border-radius:18px;background:#8850eb;color:white}
.saved-run-card svg{width:25px;height:25px;flex-shrink:0}
.revive-heart{display:grid;place-items:center;width:86px;height:86px;margin:20px auto 14px;border-radius:28px;background:#ffe0ed;box-shadow:0 6px 0 #f4bfd6;color:#f36d90;transform:rotate(-6deg)}
.game-panel .revive-heart svg:not(#flight-coin-icon){width:48px;height:48px;fill:currentColor;stroke:#e75e84}
.revive-panel h2{margin:12px 0}.revive-panel>p{line-height:1.5}
.revive-panel .primary-button{font-size:clamp(.9rem,3.8vw,1.15rem);gap:8px;min-height:60px;padding:16px 12px}
.revive-panel .revive-note{font-size:.84rem;line-height:1.5;color:#8a709e;margin:18px 0 0}
/* Small-phone and interrupted-download states use the same game controls. */
.world-loading{display:grid;gap:7px;width:min(100%,340px);margin:0 auto 12px;color:#fff;font-size:.875rem}
.media-progress,.world-loading progress{appearance:none;display:block;width:100%;height:12px;border:0;border-radius:20px;overflow:hidden;background:#e6d9fb;accent-color:#9261ff}
progress::-webkit-progress-bar{background:#e6d9fb;border-radius:20px}progress::-webkit-progress-value{background:linear-gradient(90deg,#8c5aff,#c98aff);border-radius:20px}progress::-moz-progress-bar{background:#9b69ff;border-radius:20px}
.game-panel p,.game-panel button,.world-loading span{overflow-wrap:anywhere}
.guide-rules small{display:block;font-size:.75rem;line-height:1.4;font-weight:500;margin-top:3px}
#boss-hint{pointer-events:auto;flex:none;width:44px;height:44px;min-width:44px;border:1px solid #c8b5ff;border-bottom:3px solid #7752ab;border-radius:50%;background:#ece1ff;color:#4f2b7e;font-weight:800;font-size:1.25rem}
#boss-hint-text{margin:7px auto 0;padding:6px 12px;border-radius:14px;background:#f5edff;color:#503074;font-size:1rem;line-height:1.25;font-weight:800;letter-spacing:.12em;overflow-wrap:anywhere;box-shadow:0 3px #a388d2}
.boss-word-row{flex-wrap:wrap}#boss-letters{max-width:100%;flex-wrap:wrap;justify-content:center}
.rotation-note{position:absolute;z-index:25;inset:0;display:flex;align-items:center;justify-content:center;gap:18px;padding:28px;background:#f8f1fff5;color:#5a327f;text-align:left;font-size:1.125rem;line-height:1.5;pointer-events:none}
.rotation-note b{font-size:3rem}
.game-panel{max-width:100%;min-width:0}.game-panel button{white-space:normal;height:auto;min-height:48px}.game-panel .panel-row>span{max-width:100%}
@media(max-width:380px){.panel-overlay{padding:12px}.game-panel{padding:18px}.panel-actions .primary-button,.panel-actions .secondary-button{font-size:1rem}.guide-dialog{padding:16px}.guide-rules-icons{font-size:.875rem}.guide-rule-art{min-width:90px}.boss-word{max-width:calc(100% - 20px)}}
@media(max-height:500px){.panel-overlay{padding:12px}.game-panel{margin-block:0}.game-panel .word-hero{height:76px}.game-panel .boss-portrait{height:86px}.guide-dialog{margin:10px auto;max-height:calc(100dvh - 20px)}.game-panel h2{font-size:1.4rem}.game-panel .big-word{font-size:1.75rem}.home-actions{padding-bottom:max(10px,env(safe-area-inset-bottom,0px))}}
@media(prefers-reduced-motion:reduce){progress::-webkit-progress-value{transition:none}}
