@font-face{font-family:Lilita;src:url('LilitaOne-Regular.ttf') format('truetype');font-display:swap}*{box-sizing:border-box}html{color-scheme:dark;background:#151d2c}body{margin:0;background:radial-gradient(ellipse at 50% 22%,#273044 0,#1b2435 40%,#151d2c 78%);color:#f5f0d9;min-height:100svh;font-family:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}.arcade{max-width:1180px;padding:26px 32px 22px;margin:0 auto}.masthead{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 18px}.brand{color:#f5f0d9;display:flex;align-items:baseline;gap:16px;text-decoration:none;font-family:Lilita,Impact,'Arial Black',sans-serif;font-size:25px;letter-spacing:.025em}.brand-dot{color:#bde978}.brand-sub{font-family:ui-monospace,'Courier New',monospace;color:#b9cbd1;font-weight:800;font-size:13px;letter-spacing:.2em}.prototype{font-family:ui-monospace,'Courier New',monospace;font-size:12px;letter-spacing:.1em;color:#b9c5d4;display:flex;gap:12px;align-items:center}.version{border:1px solid #536078;color:#dfedaf;font-weight:700;padding:4px 6px}.cabinet{border:2px solid #516474;border-radius:17px;overflow:hidden;box-shadow:0 10px 0 #0f1622,0 13px 0 #39475a,0 30px 70px #080e2040;background:#1c2637}.scoreboard{min-height:85px;display:flex;gap:24px;align-items:center;padding:14px 24px;background:#1d2939;border-bottom:2px solid #101d2b}.stat{display:flex;flex-direction:column;gap:3px;min-width:97px}.primary-stat{min-width:123px}.stat-label{color:#afc7c8;font-size:11px;font-family:ui-monospace,'Courier New',monospace;letter-spacing:.12em;font-weight:700}.stat-number{font-family:Lilita,Impact,'Arial Black',sans-serif;font-size:29px;letter-spacing:.025em;line-height:1.15;font-variant-numeric:tabular-nums}.primary-stat .stat-number{color:#d8f897}.stat-number small{font-family:ui-monospace,'Courier New',monospace;font-size:14px;color:#b6c7c8;letter-spacing:0}.best-stat{margin-left:auto}.best-stat .stat-number{color:#e7c5fa}.icon-button{width:42px;min-width:42px;height:42px;border:1px solid #597281;border-radius:8px;color:#e4ebcf;background:#2c3c50;font:800 23px system-ui;cursor:pointer;transition:background .15s}.icon-button:hover:not(:disabled){background:#3d5366}.icon-button:disabled{opacity:.35;cursor:default}.playfield{position:relative;aspect-ratio:16/9;max-height:625px;background:#29575b;isolation:isolate}canvas{display:block;width:100%;height:100%;image-rendering:pixelated;image-rendering:crisp-edges;touch-action:manipulation;outline:none}.overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:15px;z-index:2;pointer-events:auto}.overlay[hidden],[hidden]{display:none!important}#titleScreen{background:linear-gradient(90deg,#10272f08,#10232fc2 24%,#152433c7 76%,#10272f08)}.title-card{text-align:center;padding:5px 22px;color:#fff8d9;max-width:540px}.tiny-title{font:700 11px ui-monospace,'Courier New',monospace;letter-spacing:.16em;color:#bbd4d4}.title-card h1{font-family:Lilita,Impact,'Arial Black',sans-serif;font-size:clamp(47px,6.4vw,83px);line-height:.86;letter-spacing:.015em;margin:15px 0 7px;transform:rotate(-3deg);text-shadow:3px 4px 0 #4b486c,5px 7px 0 #142d36}.title-card h1 span{color:#d4f38b}.game-name{display:block;color:#e5c2fa;font:700 15px ui-monospace,'Courier New',monospace;letter-spacing:.4em;padding-left:.4em;margin-top:16px}.intro{font-size:16px;line-height:1.45;margin:17px 0 19px;color:#e6eeea}.button{font:400 18px Lilita,Impact,'Arial Black',sans-serif;letter-spacing:.05em;display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:51px;border:2px solid #142b2c;border-radius:8px;padding:11px 24px;cursor:pointer;touch-action:manipulation;user-select:none;-webkit-user-select:none;box-shadow:0 4px 0 #10292b;transition:transform .1s,background .1s}.button:active{transform:translateY(3px);box-shadow:0 1px 0 #10292b}.button span{font-family:system-ui,sans-serif;font-size:17px;font-weight:800}.primary{background:#d3f188;color:#233536;min-width:246px}.primary:hover{background:#e5ffa0}.one-rule{font-size:12px;line-height:1.4;color:#bdd0ca;margin:14px 0 0}.shade{background:#152435bb;backdrop-filter:blur(3px)}.panel{width:min(420px,100%);text-align:center;background:#202e3d;border:2px solid #60747c;border-radius:14px;padding:30px;box-shadow:0 8px 0 #10242e}.panel h2{font-family:Lilita,Impact,'Arial Black',sans-serif;font-size:39px;line-height:1;margin:12px 0 14px;color:#f8edca;letter-spacing:.02em}.panel p{font-size:16px;color:#bfcecd;margin:0 0 24px}.text-button{display:block;background:none;border:0;color:#c9d9d8;font:14px system-ui;cursor:pointer;text-decoration:underline;text-underline-offset:4px;padding:16px 12px 0;margin:auto}.results{padding:24px 28px}.danger{color:#ffc4ad}.results h2{font-size:41px;margin-bottom:12px}.result-label{font:700 11px ui-monospace,'Courier New',monospace;letter-spacing:.17em;color:#b8cecc;display:block}.final-score{font:400 70px Lilita,Impact,'Arial Black',sans-serif;color:#d5f39a;line-height:1.1;display:block}.results .score-breakdown{font-size:13px;color:#c0d2cf;margin:3px 0 13px}.separator{color:#879caa;padding:0 5px}.results .record{font:12px ui-monospace,'Courier New',monospace;letter-spacing:.05em;color:#d7bbe8;margin:0 0 19px}.record strong{font-size:16px;margin-left:7px}.campaign-link{font-size:13px;color:#c7d6c9;display:block;margin-top:20px;text-underline-offset:4px;line-height:1.4}.campaign-link:hover{color:#def7a7}.new-best{font:700 11px ui-monospace,'Courier New',monospace;color:#233638;background:#d8f394;display:inline-block;padding:5px 9px;margin:-1px 0 10px;letter-spacing:.06em}.cue{position:absolute;left:50%;top:12%;transform:translateX(-50%);font:700 14px ui-monospace,'Courier New',monospace;letter-spacing:.06em;color:#172e37;border:2px solid #29413d;background:#f7e6be;padding:9px 13px;white-space:nowrap;border-radius:6px;box-shadow:0 3px 0 #18383a;pointer-events:none}.controls{min-height:84px;display:flex;align-items:center;justify-content:space-between;padding:14px 22px;gap:14px;background:#1d2939;border-top:2px solid #102330}.control-hint{font-size:13px;color:#beccce;line-height:1.8}kbd{font-family:ui-monospace,'Courier New',monospace;font-size:11px;letter-spacing:.04em;background:#2a3b4c;border:1px solid #547080;border-bottom-width:2px;padding:4px 6px;border-radius:4px;color:#e8f1d4}.hint-divider{margin:0 7px;color:#758f98}.action-buttons{display:flex;gap:10px}.action-buttons .button{min-width:112px;padding:10px 18px;min-height:47px;font-size:16px}.duck{background:#d3c4e5;color:#31314d;border-color:#162f3c}.duck:hover{background:#e1d2f2}.jump{background:#d3f188;color:#233536}.jump:hover{background:#e5ffa0}.duck.is-active{background:#a699bf;transform:translateY(3px);box-shadow:0 1px 0 #10292b}.game-footer{display:flex;justify-content:space-between;gap:18px;color:#a8b9c3;font-size:12px;margin-top:27px;line-height:1.5}.storage-note{text-align:center;color:#879eac;font-size:11px;margin:13px 0 0}.touch-hint{display:none}.sr-only{position:absolute;overflow:hidden;width:1px;height:1px;clip:rect(0,0,0,0);white-space:nowrap}:focus-visible{outline:3px solid #ffcca7;outline-offset:5px}button:disabled{cursor:default}@media(max-width:760px){.arcade{padding:18px 18px 22px}.masthead{margin-bottom:14px}.brand{font-size:21px;gap:11px}.brand-sub{font-size:11px;letter-spacing:.1em}.prototype{font-size:10px;gap:7px;letter-spacing:.06em}.scoreboard{gap:14px;padding:12px 16px;min-height:77px}.stat{min-width:70px}.primary-stat{min-width:100px}.stat-number{font-size:25px}.stat-label{font-size:9px;letter-spacing:.07em}.best-stat{min-width:76px}.icon-button{min-width:34px;width:34px;height:37px;font-size:20px}.control-hint{font-size:12px}.controls{padding:13px 16px}.action-buttons .button{min-width:89px;padding:10px 12px}.title-card h1{font-size:62px}.title-card .tiny-title{font-size:10px}.intro{font-size:14px;margin:13px 0 15px}.title-card h1{margin-top:12px}.game-name{font-size:13px;margin-top:12px}.one-rule{font-size:11px;margin-top:12px}.title-card .primary{min-height:45px}.game-footer{font-size:11px;gap:14px}.panel{padding:24px}.results{padding:19px 25px}.results h2{font-size:34px}.final-score{font-size:56px}.results .record{margin-bottom:13px}.campaign-link{margin-top:15px}.playfield{max-height:none}}@media(max-width:540px){.arcade{padding:max(14px,env(safe-area-inset-top)) 10px max(16px,env(safe-area-inset-bottom))}.masthead{padding:0 5px;margin-bottom:12px}.brand{display:block;line-height:1;font-size:23px}.brand-sub{display:block;font-size:10px;margin-top:6px;letter-spacing:.17em}.prototype{font-size:9px;letter-spacing:.02em}.version{padding:4px}.cabinet{border-radius:12px}.scoreboard{gap:10px;padding:12px 12px;min-height:72px}.stat{min-width:0;flex:1;gap:4px}.primary-stat{min-width:68px;flex:1.15}.stat-number{font-size:24px}.stat-label{font-size:10px;letter-spacing:0;white-space:nowrap}.stat-number small{font-size:11px}.best-stat{display:none}.icon-button{min-width:32px;width:32px;height:34px}.playfield{aspect-ratio:4/5}.title-card{padding:12px 0}.title-card h1{font-size:72px;line-height:.88}.title-card .tiny-title{font-size:9px}.game-name{font-size:14px;margin-top:16px}.intro{font-size:15px;line-height:1.5;margin:19px 0}.title-card .primary{min-height:52px;min-width:236px}.one-rule{font-size:11px;margin-top:17px}.controls{flex-direction:column-reverse;padding:13px 12px 10px;gap:8px}.action-buttons{width:100%;gap:12px}.action-buttons .button{width:50%;min-height:51px;font-size:19px;justify-content:space-between;padding:9px 21px}.keyboard-hint{display:none}.touch-hint{display:inline}.control-hint{font-size:12px;line-height:1.5;text-align:center}.game-footer{display:block;text-align:center;margin-top:24px;font-size:10px}.game-footer span{display:block;margin-top:3px}.storage-note{font-size:10px;margin-top:10px}.panel{padding:25px 20px;width:100%}.panel h2{font-size:36px}.results h2{font-size:39px}.final-score{font-size:64px}.results .score-breakdown{font-size:12px}.campaign-link{font-size:12px}.cue{font-size:11px;top:10%}}@media(max-width:360px){.prototype{font-size:8px}.version{display:none}.title-card h1{font-size:60px}.title-card .tiny-title{font-size:8px}.intro{font-size:14px}.title-card .primary{min-width:220px}.stat-number{font-size:22px}.stat-label{font-size:9px}.scoreboard{padding:11px 9px}.results h2{font-size:34px}}@media(max-height:620px) and (min-width:541px){.arcade{max-width:840px;padding:12px 20px}.masthead{margin-bottom:10px}.playfield{aspect-ratio:16/8}.scoreboard{min-height:61px;padding:9px 18px}.stat-number{font-size:24px}.controls{min-height:61px;padding:9px 18px}.game-footer{margin-top:22px}.storage-note{display:none}.title-card h1{font-size:48px}.title-card .tiny-title{display:none}.game-name{font-size:11px;margin-top:10px}.intro{font-size:13px;margin:10px 0}.title-card .primary{min-height:40px;font-size:16px}.one-rule{font-size:10px;margin-top:10px}.results{padding:15px 25px}.results h2{font-size:28px;margin:7px 0}.final-score{font-size:42px}.results .record{margin-bottom:11px}.results .score-breakdown{margin:3px 0 7px}.results .primary{min-height:42px;font-size:16px}.campaign-link{margin-top:10px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto;transition:none!important}.title-card h1{transform:none}.shade{backdrop-filter:none}}

/* Supplied menu artwork stays crisp and leaves the start button visible. */
.menu-art{display:block;width:238px;height:120px;object-fit:contain;image-rendering:pixelated;margin:13px auto 0}.title-card .intro{margin-top:12px}.button:disabled{opacity:.55;cursor:wait}.title-card h1{font-size:clamp(47px,5.6vw,72px)}@media(max-width:760px){.menu-art{width:175px;height:88px;margin-top:9px}.title-card h1{font-size:52px}.title-card .intro{margin:9px 0 13px}.one-rule{margin-top:10px}}@media(max-width:540px){.menu-art{width:214px;height:108px;margin-top:10px}.title-card h1{font-size:58px;margin:10px 0 5px}.title-card{padding:5px 0}.game-name{margin-top:10px}.title-card .intro{margin:10px 0 14px;font-size:14px}.one-rule{margin-top:12px}}@media(max-width:360px){.menu-art{width:175px;height:88px}.title-card h1{font-size:52px}.title-card .intro{font-size:13px}}@media(max-height:620px) and (min-width:541px){.menu-art{width:130px;height:66px;margin-top:7px}.title-card h1{font-size:40px}.title-card .intro{font-size:12px;margin:6px 0 8px}.game-name{margin-top:7px}.one-rule{margin-top:7px}}
/* Keep the complete menu inside the playfield on narrow landscape screens. */
.title-card .one-rule{display:none}.menu-art{width:220px;height:110px}@media(min-width:541px) and (max-width:760px){.title-card h1{font-size:42px}.menu-art{width:132px;height:66px}}@media(max-width:540px){.menu-art{width:214px;height:108px}}@media(max-width:360px){.menu-art{width:175px;height:88px}}@media(max-height:620px) and (min-width:541px){.title-card h1{font-size:36px}.menu-art{width:108px;height:54px}}

/* Supplied logos and complete transparent action illustration. */
.header-logo{display:block;width:104px;height:auto}.title-card{display:grid;grid-template-columns:minmax(0,280px) minmax(0,390px);gap:25px;align-items:center;width:min(820px,100%);max-width:820px;padding:12px}.menu-copy{min-width:0}.title-card h1{margin:0;transform:none;text-shadow:none;line-height:1}.game-logo{display:block;width:238px;max-width:100%;height:auto;margin:auto}.publisher-logo{display:block;width:100px;height:auto;margin:13px auto 0}.title-card .game-name{margin-top:12px;font-size:13px}.title-card .intro{font-size:14px;line-height:1.45;margin:17px 0}.menu-art{width:100%;height:auto;max-height:280px;object-fit:contain;object-position:center;margin:0}.title-card .primary{min-width:218px}.title-card #assetError{display:block;font-size:12px}.brand{align-items:center}
@media(min-width:541px) and (max-width:760px){.title-card{grid-template-columns:minmax(0,220px) minmax(0,1fr);gap:10px;padding:2px}.game-logo{width:166px}.publisher-logo{width:80px;margin-top:8px}.title-card .game-name{font-size:11px;margin-top:8px}.title-card .intro{font-size:12px;margin:11px 0}.title-card .primary{min-width:190px;min-height:42px;font-size:16px}.menu-art{width:100%;height:auto;max-height:230px}}
@media(max-width:540px){.header-logo{width:88px}.brand{display:flex;gap:10px;align-items:center}.brand-sub{margin:0;font-size:9px}.title-card{display:flex;flex-direction:column;gap:0;padding:5px 0}.menu-copy{display:contents}.title-card h1{order:0;margin:0}.game-logo{width:178px}.title-card .game-name{order:1;margin-top:8px;font-size:12px}.publisher-logo{order:2;width:88px;margin-top:9px}.menu-art{order:3;width:258px;height:auto;max-height:155px;margin:9px auto 0}.title-card .intro{order:4;font-size:13px;line-height:1.4;margin:9px 0 12px}.title-card .primary{order:5;min-height:48px;min-width:226px}.title-card #assetError{order:6}.prototype{font-size:8px}.version{display:none}}
@media(max-width:360px){.game-logo{width:142px}.publisher-logo{width:70px;margin-top:6px}.menu-art{width:213px;height:auto;margin-top:6px}.title-card .game-name{font-size:10px;margin-top:6px}.title-card .intro{font-size:12px;margin:7px 0 10px}.title-card .primary{min-height:43px;font-size:16px;min-width:205px}.header-logo{width:75px}.brand-sub{font-size:8px}}
@media(max-height:620px) and (min-width:761px){.game-logo{width:148px}.publisher-logo{width:74px;margin-top:6px}.title-card .game-name{font-size:10px;margin-top:7px}.title-card .intro{font-size:12px;margin:9px 0}.title-card .primary{min-height:40px;font-size:16px}.menu-art{width:100%;height:auto;max-height:210px}.title-card{grid-template-columns:230px minmax(0,330px);gap:20px}}

.boost-hud{position:absolute;right:12px;top:12px;z-index:1;display:flex;align-items:center;gap:9px;padding:9px 11px;background:#25203ee8;border:2px solid #baa1ed;border-radius:8px;box-shadow:0 3px 0 #1c203a;pointer-events:none;min-width:186px}.boost-hud img{image-rendering:pixelated;filter:drop-shadow(0 0 4px #bd93ec)}.boost-info{flex:1}.boost-line{display:flex;align-items:center;gap:12px}.boost-line strong{font:700 11px ui-monospace,'Courier New',monospace;letter-spacing:.04em;color:#e7d6ff}.boost-line span{font:700 16px ui-monospace,'Courier New',monospace;color:#fff8da;min-width:46px}.boost-track{height:4px;background:#544773;margin-top:6px;border-radius:2px;overflow:hidden}#boostMeter{height:100%;width:100%;background:#d3b6ff}.has-boost .cue{top:80px}@media(max-width:540px){.boost-hud{top:9px;right:9px;padding:7px 9px;min-width:177px;gap:7px}.boost-line{gap:8px}.boost-line strong{font-size:10px}.boost-line span{font-size:15px}.has-boost .cue{top:72px}}

.boost-caption{font:700 10px ui-monospace,monospace;letter-spacing:.015em;color:#cdbbe8;margin-top:4px}.has-boost .cue{top:96px}@media(max-width:540px){.has-boost .cue{top:90px}.boost-caption{font-size:9px}}

.audio-toggle{border:1px solid #71868d;background:#2c3c50;color:#eef5d8;border-radius:7px;font:700 11px ui-monospace,monospace;min-height:36px;min-width:70px;padding:6px;cursor:pointer}.audio-toggle:hover{background:#3d5366}.audio-settings{display:flex;justify-content:center;align-items:center;gap:18px;margin:18px 4px 0;color:#b9ccd0;font-size:12px}.audio-settings label{display:flex;gap:8px;align-items:center}.audio-settings input{width:80px;accent-color:#d3f188;cursor:pointer}.audio-settings span{font-size:11px}@media(max-width:540px){.scoreboard{gap:7px;padding:12px 8px}.audio-toggle{min-width:53px;width:53px;font-size:9px;min-height:34px}.audio-settings{flex-wrap:wrap;gap:8px 20px;margin-top:17px}.audio-settings span{flex-basis:100%;text-align:center}.audio-settings input{width:85px}.stat-number{font-size:22px}.stat-label{font-size:9px}}

.boost-water{font:700 8px ui-monospace,monospace;letter-spacing:.04em;color:#d8e8f0;margin-top:4px}.has-boost .cue{top:111px}@media(max-width:540px){.has-boost .cue{top:105px}}

/* Centered title, action image, Play, then publisher credit at every size. */
.title-card{display:flex;flex-direction:column;justify-content:center;gap:0;width:100%;max-width:620px;padding:8px 0}.menu-copy{display:contents}.title-card h1{order:0;margin:0}.game-logo{width:190px;height:auto}.title-card .game-name{order:1;font-size:12px;margin-top:9px}.menu-art{order:2;width:285px;height:auto;max-height:none;object-fit:contain;margin:11px auto 0}.title-card .intro{order:3;margin:10px 0 13px;font-size:14px;line-height:1.4}.title-card .primary{order:4;min-height:47px}.publisher-credit{order:5;display:flex;align-items:center;gap:9px;margin-top:15px;color:#bbcfd1;font:700 9px ui-monospace,monospace;letter-spacing:.1em}.publisher-credit .publisher-logo{width:91px;height:auto;margin:0}.title-card #assetError{order:6}
@media(max-width:540px){.game-logo{width:156px}.menu-art{width:242px;margin-top:9px}.title-card .intro{font-size:13px;margin:9px 0 12px}.title-card .game-name{font-size:11px;margin-top:8px}.publisher-credit{margin-top:13px}.publisher-credit .publisher-logo{width:80px}.title-card .primary{min-height:47px}}
@media(max-width:360px){.game-logo{width:127px}.menu-art{width:196px;margin-top:7px}.title-card .game-name{font-size:10px;margin-top:6px}.title-card .intro{font-size:12px;margin:7px 0 10px}.title-card .primary{min-height:42px}.publisher-credit{margin-top:10px;font-size:8px}.publisher-credit .publisher-logo{width:66px}}
@media(min-width:541px) and (max-width:760px){.title-card{padding:0}.game-logo{width:103px}.menu-art{width:146px;margin-top:5px}.title-card .game-name{font-size:9px;margin-top:5px}.title-card .intro{font-size:11px;line-height:1.3;margin:6px 0 8px}.title-card .primary{min-height:37px;padding:6px 19px;font-size:15px}.publisher-credit{margin-top:8px;font-size:8px}.publisher-credit .publisher-logo{width:58px}}
@media(max-height:620px) and (min-width:761px){.game-logo{width:110px}.menu-art{width:167px;margin-top:5px}.title-card .game-name{font-size:9px;margin-top:5px}.title-card .intro{font-size:11px;margin:6px 0 8px}.title-card .primary{min-height:37px;padding:6px 19px}.publisher-credit{margin-top:8px;font-size:8px}.publisher-credit .publisher-logo{width:60px}}

/* Lilita One is the locally hosted, naturally heavy display face. */
.title-card .game-name{font:400 25px/1.1 Lilita,Impact,'Arial Black',sans-serif;letter-spacing:.10em;padding-left:.10em;color:#e7c4ff;text-shadow:1px 2px 0 #322d50}.brand-sub{font-family:Lilita,Impact,'Arial Black',sans-serif;font-weight:400;font-size:14px;letter-spacing:.08em}
@media(max-width:540px){.title-card .game-name{font-size:22px}.brand-sub{font-size:12px}}
@media(max-width:360px){.title-card .game-name{font-size:19px}.brand-sub{font-size:11px}}
@media(min-width:541px) and (max-width:760px){.title-card .game-name{font-size:16px}}
@media(max-height:620px) and (min-width:761px){.title-card .game-name{font-size:17px}}
@media(min-width:541px) and (max-width:600px){.game-logo{width:92px}.menu-art{width:122px}.publisher-credit{margin-top:6px}.publisher-credit .publisher-logo{width:56px}}

/* During a run, keep the pond and both touch controls in the viewport. */
.arcade.is-playing{padding:8px;max-width:1180px}.is-playing .masthead,.is-playing .audio-settings,.is-playing .game-footer,.is-playing .storage-note{display:none}.cabinet{margin-inline:auto}.is-playing .playfield{max-height:none}.is-playing .scoreboard{min-height:54px;padding:6px 9px;gap:8px}.is-playing .stat{min-width:0;flex:1}.is-playing .best-stat{display:none}.is-playing .stat-number{font-size:24px}.is-playing .stat-label{font-size:9px;letter-spacing:0}.is-playing .audio-toggle{min-width:55px;width:55px;min-height:38px;font-size:9px}.is-playing .icon-button{min-width:38px;width:38px;height:38px}.is-playing .controls{min-height:64px;padding:8px 10px;display:flex;flex-direction:row;justify-content:center}.is-playing .control-hint{display:none}.is-playing .action-buttons{width:100%;gap:12px}.is-playing .action-buttons .button{flex:1;width:50%;min-width:0;min-height:46px;font-size:18px;padding:8px 14px}.is-playing .overlay.shade,.guide-overlay{position:fixed;inset:0;z-index:30;padding:12px;overflow:auto}.panel{max-height:calc(100svh - 24px);overflow:auto}.button.secondary{background:#cdbfe1;color:#2a2940;min-height:42px;font-size:16px;margin-top:14px}.panel>.secondary{display:flex;width:100%}.panel-links{display:flex;justify-content:center;gap:12px}.panel-links .text-button{margin:0;padding:13px 2px 0}.guide-overlay{z-index:40}.guide-panel{max-width:440px}.guide-list{text-align:left;list-style:none;padding:0;margin:18px 0 22px;font-size:15px;line-height:1.45;color:#d4e0db}.guide-list li+li{margin-top:14px}.guide-list strong{color:#e5f4ba}.guide-panel .primary{min-width:210px}.load-status{order:3;font-size:12px;color:#cfddd8;margin-top:5px}.load-status.is-ready{display:none}#loadProgress{order:3;width:160px;height:7px;margin:7px auto 10px;accent-color:#d3f188}.title-card .menu-help{order:5;padding-top:10px;font-size:12px}.title-card .publisher-credit{order:6}.title-card #assetError{order:7}.title-card #retryAssets{order:8}.title-card .intro{margin-bottom:10px}.title-card .load-status[hidden]{display:none}
@media(max-height:450px){.is-playing .scoreboard{min-height:50px;padding:4px 8px}.is-playing .controls{min-height:58px;padding:5px 8px}.is-playing .stat-number{font-size:22px}.panel{padding:16px 20px}.panel h2{font-size:28px;margin:6px 0 10px}.panel p{font-size:13px;margin-bottom:14px}.results .final-score{font-size:40px}.results .record{margin-bottom:10px}.results .campaign-link{margin-top:12px}.guide-list{font-size:14px;margin:12px 0 15px}.guide-list li+li{margin-top:9px}.button.secondary{margin-top:10px}.guide-panel .text-button{padding-top:10px}}
/* The title contributes real document height, so its Play/retry controls can scroll. */
.arcade:not(.is-playing) .playfield{height:auto;aspect-ratio:auto!important;min-height:420px;max-height:none}.arcade:not(.is-playing) #pond{position:absolute;inset:0}.arcade:not(.is-playing) #titleScreen{position:relative;inset:auto;min-height:420px;padding:24px 16px}.is-playing .audio-toggle,.is-playing .icon-button{min-height:44px;height:44px}.is-playing .icon-button{width:44px;min-width:44px}.title-card #assetError{font-size:13px;line-height:1.4;max-width:290px}.title-card .publisher-credit{margin-top:12px}

.title-card .reload-link{order:9;padding-top:10px;font-size:12px}.is-playing .stat-number small{font-size:10px}

.is-playing .is-narrow .primary-stat{flex:1.7}.is-playing .is-narrow .stat-number{font-size:20px}.is-playing .is-narrow .fly-stat small{display:none}.is-playing .is-narrow .stat-label{font-size:8px}

html:has(.guide-overlay:not([hidden])),html:has(.is-playing .overlay.shade:not([hidden])){overflow:hidden}

/* Beta feedback and sharing stay inside the existing scrollable menu/results. */
.prototype .version{display:inline-block;font-size:12px;white-space:nowrap}.beta-meta{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px 15px;font-size:13px;color:#c4d6dd;line-height:1.4}.beta-meta a{color:#dcf39f;text-underline-offset:4px;display:inline-flex;align-items:center;min-height:44px}.title-card .beta-meta{order:7;margin-top:4px}.results .beta-meta{margin-top:4px}.result-actions{display:flex;gap:10px}.result-actions .button{flex:1;min-width:0;min-height:44px;padding:10px 8px;font-size:15px}.results .share-status{font-size:14px;line-height:1.4;margin:14px 0 4px;color:#ddedbc}.results .share-status:empty{display:none}.share-fallback{margin-top:12px;text-align:left}.share-fallback label{display:block;font-size:14px;line-height:1.4;color:#d3e0db;margin-bottom:8px}.share-fallback textarea{display:block;box-sizing:border-box;width:100%;min-width:0;min-height:112px;resize:vertical;border:1px solid #789098;border-radius:6px;background:#142532;color:#edf2de;padding:10px;font:14px/1.4 system-ui;overflow-wrap:anywhere}.share-fallback .text-button{padding:12px 4px;min-height:44px}.results .campaign-link{margin-top:6px}.title-card .beta-meta a{font-size:14px}
@media(max-width:360px){.result-actions{flex-wrap:wrap}.result-actions .button{flex-basis:100%;margin-top:10px}.prototype .version{font-size:12px}}

/* Only the active pond and its hold controls suppress touch scrolling/zoom. */
.is-playing #pond,.is-playing #duck,.is-playing #jump{touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}

.share-tools{display:flex;justify-content:center;flex-wrap:wrap;gap:4px 16px;margin-top:8px}.share-tools .text-button{margin:0;padding:8px 2px;min-height:44px}.share-fallback textarea{user-select:text;-webkit-user-select:text;touch-action:auto}.share-tools+.share-status{margin-top:6px}

/* The two supplied top-row bird heads explain the existing controls. */
.guide-panel{position:relative;max-width:440px;padding:0;overflow:hidden}
.guide-scroll{max-height:calc(100svh - 64px);overflow:auto;overscroll-behavior:contain;border-radius:12px;padding:20px 24px 24px}
.guide-heading{display:flex;align-items:center;gap:12px;text-align:left;min-height:72px}
.guide-bird{display:block;flex:0 0 72px;width:72px;height:72px;background:url('./assets/tutorial-bird-heads.png') 0 0/200% 100% no-repeat;image-rendering:pixelated;animation:tutorial-talk 1.8s steps(1,end) infinite}
.guide-panel h2{color:#f8edca;font-size:34px;line-height:1.05;margin:0;min-width:0}
.guide-panel .guide-list{font-size:16px;line-height:1.5;color:#d4e0db;margin:15px 0 22px}
.guide-panel .guide-list strong{color:#e5f4ba}.guide-panel .text-button{color:#c9d9d8;min-height:44px;padding:12px 6px 0}
.guide-panel .primary{min-width:0;width:min(240px,100%)}
#guideScreen[hidden] .guide-bird{animation:none}
#guideScreen.presenter-paused .guide-bird{animation-play-state:paused}
@keyframes tutorial-talk{0%,22%,48%,76%,100%{background-position:0 0}10%,35%,62%{background-position:100% 0}}
@media(max-width:360px){.guide-scroll{padding:16px}.guide-bird{width:60px;height:60px;flex-basis:60px}.guide-heading{min-height:60px;gap:8px}.guide-panel h2{font-size:29px}.guide-panel .guide-list{font-size:15px}}
@media(max-height:450px){.guide-scroll{padding:14px 20px 18px}.guide-bird{width:56px;height:56px;flex-basis:56px}.guide-heading{min-height:56px}.guide-panel h2{font-size:29px}.guide-panel .guide-list{font-size:14px;line-height:1.45;margin:10px 0 14px}.guide-panel .guide-list li+li{margin-top:10px}}
@media(prefers-reduced-motion:reduce){.guide-bird{animation:none;background-position:0 0}}

.is-playing .is-narrow .cue{font-size:11px;letter-spacing:.02em}

.guide-bird{border:0;padding:0;cursor:pointer;touch-action:manipulation;appearance:none}.secret-panel{text-align:center}.secret-panel h2{margin:10px 0 16px}.secret-panel p{font-size:15px;line-height:1.5;margin:0 0 18px}.secret-panel .secret-note{font-size:12px;color:#bfcecd;margin:18px 0}.shark-switch{background:#d3c4e5;color:#263c46;width:min(270px,100%);gap:18px}.shark-switch[aria-checked="true"]{background:#a9e1e0}.shark-switch span{font:700 13px ui-monospace,monospace;background:#263c46;color:#fff8da;border-radius:5px;padding:5px 8px}#modeLabel{color:#9ddfe5;font-weight:700}.secret-panel .guide-scroll{max-height:calc(100svh - 48px)}
