.game-section{background:#f0e7d8;padding-top:95px;overflow:hidden}.game-section:before{content:'';position:absolute;top:-1px;left:0;right:0;height:25px;background:var(--cream);clip-path:polygon(0 0,100% 0,100% 70%,87% 32%,72% 80%,55% 33%,40% 65%,25% 28%,13% 75%,0 30%)}.game-section .center-heading{margin-bottom:45px}.game-shell{border:2px solid #284e45;border-radius:15px;overflow:hidden;box-shadow:8px 10px 0 #cbd2b8;background:#e9e9d6;isolation:isolate}.game-topbar{display:flex;align-items:center;justify-content:space-between;background:var(--deep);color:var(--cream);padding:13px 22px;gap:12px}.game-brand{font-size:14px;letter-spacing:.06em;font-weight:700}.game-brand em{font-weight:400;letter-spacing:-.02em;font-size:18px;color:var(--yellow);margin-left:5px}.game-actions{display:flex;gap:10px;align-items:center}.game-actions button{color:inherit;background:transparent;border:1px solid #ffffff50;border-radius:5px;padding:6px 10px;font-size:10px;min-height:34px}.game-actions button:hover{background:#ffffff20}.game-actions #game-pause{min-width:34px;font-weight:700}.game-stage{position:relative;aspect-ratio:16/9;isolation:isolate;min-height:520px}.game-stage canvas{display:block;width:100%;height:100%;position:absolute;inset:0;outline-offset:-4px;touch-action:pan-y}.game-stage.is-playing canvas{touch-action:none;cursor:crosshair}.game-hud{position:absolute;top:18px;inset-inline:22px;display:flex;justify-content:space-between;align-items:flex-start;gap:20px;pointer-events:none;color:#203f3b}.game-hud>div:first-child{display:flex;flex-direction:column;background:#fff9eeda;padding:7px 14px;border:1px solid #284e4540;border-radius:9px;min-width:122px;box-shadow:0 3px 0 #244e4319}.game-hud #game-hearts{font-size:24px;line-height:1.3;color:#d32762;letter-spacing:3px}.game-hud #game-score{font-size:23px;line-height:1.25;font-weight:700}.game-hud #game-score small{font-size:10px;font-weight:400;letter-spacing:0}.game-route{background:#fff9eeda;border-radius:7px;padding:8px 12px;max-width:44%;font-size:10px;font-weight:700;text-align:right;border:1px solid #284e4530}.game-route progress{display:block;width:100%;height:5px;margin-top:7px;accent-color:var(--green)}.power-indicator{position:absolute;top:104px;left:0;background:#ffda67ed;padding:8px 13px;border:1px solid #bc8b1c;border-radius:7px;min-width:170px;font-size:10px;font-weight:700}.power-indicator b{float:right;margin-left:15px}.power-indicator progress{display:block;accent-color:#e58720;height:5px;width:100%;margin-top:5px}.game-overlay{position:absolute;inset:0;display:flex;justify-content:center;align-items:center;padding:20px;background:#23565e13;backdrop-filter:blur(2px)}.game-overlay[hidden],.game-hud[hidden],.power-indicator[hidden],.game-actions button[hidden]{display:none}.game-menu-card,.game-result-card{background:#fff9eef5;border:2px solid #314a42;border-radius:19px;padding:24px 30px 20px;width:min(580px,95%);text-align:center;box-shadow:7px 9px 0 #274e4430;position:relative}.game-kicker{font-size:9px;letter-spacing:.17em;font-weight:700;color:#36766b;display:block;margin-bottom:9px}.game-menu-card h3,.game-result-card h3{font-size:36px;line-height:1.05;color:#214c42}.character-options{display:flex;justify-content:center;gap:18px;margin:13px 0 17px}.character-options button{background:#e7eee0;border:2px solid transparent;border-radius:14px;width:150px;padding:4px 10px 9px;position:relative;transition:transform .2s,background .2s}.character-options button:hover{transform:translateY(-4px)}.character-options button[aria-pressed=true]{background:#ffe498;border-color:#3c604c;box-shadow:0 4px 0 #325a4830}.character-options button[aria-pressed=true]:after{content:'✓';position:absolute;top:8px;right:9px;border-radius:50%;background:var(--green);color:white;width:21px;height:21px;font-size:13px}.balloon-preview{display:block;width:120px;height:120px;background-size:300% 200%;background-position:0 0;margin:auto;filter:drop-shadow(0 5px 1px #3c4c3518)}.balloon-preview.daniel{background-image:url('/assets/daniel-frente.webp')}.balloon-preview.giovanna{background-image:url('/assets/giovanna-baloes.webp')}.character-options strong{display:block;font-size:15px}.character-options small{display:block;font-size:9px;color:var(--muted)}.game-menu-card .button,.game-result-card .button{border:1px solid #725f2e;box-shadow:0 4px 0 #9b6c1e;min-width:210px;padding:10px 25px;min-height:44px;border-radius:100px;color:#294434}.game-menu-card .button:disabled{opacity:.65;cursor:wait}.game-record{font-size:10px;margin-top:13px!important;color:#59675a}.game-record>span{font-weight:700}.game-record button{border:0;background:none;color:#59675a;font-size:9px;text-decoration:underline;padding:4px 8px}.game-worlds{display:flex;justify-content:center;gap:12px;margin-top:14px;padding-top:11px;border-top:1px dashed #acc2b1;font-size:9px;color:#4b6a5a}.game-instructions{background:var(--cream);display:flex;justify-content:space-between;align-items:center;gap:17px;padding:14px 20px;font-size:10px;color:#506559;line-height:1.6;border-top:1px solid #496f5d55}.game-instructions span{display:flex;align-items:center;gap:9px}.game-instructions b{font-size:20px;white-space:nowrap;color:var(--green)}.game-instructions b.star-legend{color:#bc8020}.game-instructions b.sun-legend{color:#c47712;font-size:25px}.game-footnote{text-align:center;font-size:11px;color:#61705f;margin-top:25px}.game-result-card{max-width:460px;padding:35px}.game-result-card p{font-size:14px;line-height:1.65;margin-top:18px;color:#647363}.game-result-points{font-size:40px;line-height:1.2;font-weight:700;margin:22px 0;color:var(--green)}.game-result-points small{display:block;font-size:11px;font-weight:400;margin-top:6px}.game-text-button{display:block;border:0;background:none;font-size:11px;text-decoration:underline;text-underline-offset:3px;margin:20px auto 0}.game-toast{position:absolute;bottom:30px;left:50%;translate:-50% 0;border-radius:100px;padding:8px 20px;background:#fff8e9eb;box-shadow:0 3px 0 #28534030;font-size:12px;line-height:1.4;color:var(--green);font-weight:700;pointer-events:none;opacity:0;transition:opacity .2s;text-align:center;max-width:80%}.game-toast.visible{opacity:1}.game-shell:fullscreen{width:100vw;height:100dvh;background:#d2e6d1;border:0;border-radius:0;box-shadow:none;display:flex;flex-direction:column}.game-shell:fullscreen .game-stage{flex:1;min-height:0;aspect-ratio:auto}.game-shell:fullscreen .game-instructions{justify-content:center;gap:30px}
@media(max-width:760px){.game-section .container{width:calc(100% - 28px)}.game-section .center-heading{padding-inline:10px}.game-section .center-heading h2{font-size:32px}.game-stage{aspect-ratio:4/5;min-height:520px}.game-topbar{padding:10px 11px}.game-brand{font-size:10px}.game-brand em{font-size:14px}.game-actions{gap:5px}.game-actions button{font-size:9px;padding:5px 8px}.game-actions #game-fullscreen span{display:none}.game-menu-card{padding:23px 12px 18px;width:100%}.game-overlay{padding:16px}.game-menu-card h3{font-size:32px}.character-options{gap:10px;margin:17px 0}.character-options button{width:130px;padding-inline:4px}.balloon-preview{width:106px;height:115px}.game-worlds{gap:10px;font-size:8px}.game-hud{inset-inline:12px;top:12px;gap:10px}.game-hud #game-hearts{font-size:21px}.game-hud #game-score{font-size:20px}.game-hud>div:first-child{min-width:102px;padding:7px 10px}.game-route{font-size:9px;max-width:49%;padding:8px}.game-instructions{flex-wrap:wrap;justify-content:center;gap:5px 15px;padding:11px;font-size:9px}.game-instructions span:first-child{flex-basis:100%;justify-content:center}.game-instructions b{font-size:16px}.game-footnote{font-size:10px;padding-inline:15px}.game-result-card{padding:28px 20px}.game-result-card h3{font-size:32px}.game-result-card p{font-size:13px}.game-toast{font-size:11px;bottom:23px}.power-indicator{top:95px}.game-shell:fullscreen .game-menu-card{max-width:530px}.game-shell:fullscreen .game-instructions{gap:10px}}
@media(max-height:550px) and (orientation:landscape){.game-shell:fullscreen .game-menu-card{padding:12px 20px}.game-shell:fullscreen .game-menu-card h3{font-size:24px}.game-shell:fullscreen .game-menu-card h3 br{display:none}.game-shell:fullscreen .balloon-preview{width:75px;height:75px}.game-shell:fullscreen .character-options{margin:5px}.game-shell:fullscreen .game-worlds{display:none}.game-shell:fullscreen .game-record{margin-top:5px!important}.game-shell:fullscreen .game-topbar{padding-block:6px}.game-shell:fullscreen .game-instructions{display:none}}

.game-volume-label{display:flex;align-items:center}.game-volume-label input{width:70px;accent-color:var(--yellow);cursor:pointer}@media(max-width:760px){.game-volume-label input{width:47px}}
@media(max-width:760px){.game-topbar{flex-wrap:wrap}.game-actions{margin-left:auto}}

/* Shared leaderboard and player entry. Keep overlays scrollable on short screens. */
.game-overlay{overflow-y:auto;align-items:safe center}.game-menu-card,.game-result-card{flex-shrink:0;max-height:100%;overflow-y:auto}.game-player-label{display:block;font-size:14px;font-weight:700;margin:8px 0 4px}.game-player-name{display:block;width:min(100%,300px);margin:auto;border:1px solid #547969;border-radius:8px;background:#fff;padding:9px 12px;color:#214c42;text-align:center;font:inherit;font-size:16px}.game-name-note{display:block;font-size:12px;line-height:1.4;margin:6px 0 12px;color:#526654}.game-record{font-size:14px;line-height:1.4}.game-ranking h4{font-size:18px;margin:0}.game-ranking ol{list-style:none;padding:0;margin:8px 0 15px}.game-ranking li{display:flex;gap:10px;justify-content:space-between;padding:5px 0;border-bottom:1px solid #cbd2b8;font-size:14px}.game-ranking li span{overflow-wrap:anywhere;text-align:left}.game-ranking li strong{white-space:nowrap}.game-ranking p{font-size:13px;margin:7px 0}.game-ranking[hidden],#game-ranking-retry[hidden]{display:none}.game-result-card .game-result-points{margin:12px 0}.game-hud #game-hearts{letter-spacing:1px;max-width:180px;font-size:20px;overflow-wrap:anywhere}.game-menu-card h3 br{display:none}.character-options{margin:9px 0}.balloon-preview{height:90px;width:90px}.game-menu-card h3{font-size:30px}.game-worlds{margin-top:8px;padding-top:7px}
