:root{color-scheme:only light}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#eceeed;color:#17201a;font-family:system-ui,sans-serif}body{overscroll-behavior:none}main{max-width:480px;margin:auto;height:100svh;min-height:420px;display:flex;flex-direction:column;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom)}header{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:12px 16px;background:#fff;border-bottom:1px solid #d5dad7}h1{font-size:20px;letter-spacing:1px;margin:0}h1 span{display:block;font-size:13px;letter-spacing:0;font-weight:400;color:#526057}button{font:inherit;font-size:14px;min-height:44px;padding:8px 14px;border:1px solid #b7c3bb;background:white;border-radius:6px;color:inherit}button:focus-visible{outline:3px solid #15944a}#surface{position:relative;flex:1;min-height:200px;background:#f8faf9;touch-action:none;user-select:none;-webkit-user-select:none}canvas{display:block;width:100%;height:100%;touch-action:none}#message{position:absolute;top:14px;left:12px;right:12px;text-align:center;pointer-events:none;font-size:14px;color:#3c4b41}footer{background:#fff;border-top:1px solid #d5dad7;padding:8px 16px 10px;touch-action:none;user-select:none;-webkit-user-select:none}footer p{font-size:14px;margin:0 0 8px;text-align:center}.zones{display:flex;justify-content:space-around;color:#516056;font-size:14px;letter-spacing:1px}.zones span{width:50%;text-align:center;padding:8px}.zones span+span{border-left:1px solid #d5dad7}@media(min-width:600px){main{border-left:1px solid #d5dad7;border-right:1px solid #d5dad7}}
.controls{display:flex;align-items:center;justify-content:space-between;gap:16px}.controls button{width:64px;height:48px;font-size:25px;touch-action:manipulation;border:2px solid #56675c;background:#f8faf9}.controls button:active{background:#d8e9dd}.controls span{font-size:14px;color:#516056}

#game-over[hidden]{display:none}#game-over{position:absolute;inset:0;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:#e6e8dfd9;padding:12px;text-align:center}#game-over h2{margin:0;font:1000 clamp(30px,8vw,52px)/1 system-ui,sans-serif;letter-spacing:1px;color:#e34336;-webkit-text-stroke:4px #151c1c;paint-order:stroke fill;animation:shudder .3s linear}#game-over #dead-art{width:110px;height:103px;flex-shrink:0}#death-message{margin:0;max-width:95%;font-size:17px;font-weight:650}#death-restart{border:2px solid #172a35;font-weight:700;min-width:120px}@keyframes shudder{0%,100%{transform:rotate(0)}20%{transform:rotate(-3deg) translateX(-3px)}45%{transform:rotate(3deg) translateX(3px)}70%{transform:rotate(-1deg)}}@media(max-height:650px){#game-over{gap:4px}#game-over #dead-art{width:80px;height:75px}#game-over h2{font-size:30px}#death-message{font-size:14px}}


main{position:relative;--menu-hud-bottom:170px}
.menu-screen[hidden]{display:none}
.menu-screen{position:absolute;inset:0;z-index:20;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:24px;background:#222a1c;color:#f8f8ef;text-align:center}
#start-screen{padding:0;justify-content:flex-start}
.menu-content{position:absolute;inset:36px 22px calc(var(--menu-hud-bottom) + 48px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;overflow:auto;scrollbar-width:thin}
.menu-screen .title-art{margin:0;width:100%;max-width:360px;flex:0 1 210px;min-height:100px}
.title-art img{width:100%;height:100%;object-fit:contain;display:block}
.menu-actions{display:flex;gap:12px;width:100%;max-width:380px;flex-shrink:0}
.menu-actions button{flex:1;min-width:0;min-height:48px;padding:10px 6px;border:2px solid #8a8d7c;border-radius:10px;background:#191d1a;color:#fff;font-size:clamp(14px,3.7vw,18px);font-weight:850}
.menu-actions #play{background:#16883b}
.menu-actions button:active{transform:translateY(1px)}
.high-scores{width:100%;max-width:360px;border:2px solid #858976;border-radius:13px;padding:10px 12px;flex-shrink:0;background:#1c241a}
.high-scores h3{margin:0 0 6px;color:#ffe345;font-size:clamp(19px,5vw,25px);font-weight:950;letter-spacing:.5px}
.high-scores h3 span{font-size:.9em}
.high-scores table{width:100%;border-collapse:collapse;text-align:left;font-size:14px;line-height:1.35;font-variant-numeric:tabular-nums}
.high-scores thead{border-bottom:1px solid #727867;color:#bfc3b6}
.high-scores th,.high-scores td{padding:1px 5px}
.high-scores thead th{padding-bottom:5px}
.high-scores tbody th{font-weight:500;color:#bfc3b6;width:15%}
.high-scores td:nth-child(2){color:#9da591}
.high-scores td:last-child,.high-scores th:last-child{text-align:right}
.high-scores .scores-note{font-size:12px;color:#b5bca9;line-height:1.3;margin:7px 0 0}
.sound-icon{position:absolute;right:10px;top:8px;z-index:1;width:44px;height:44px;padding:7px;background:transparent;border:0;color:#f8f8ef}
.sound-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.sound-off{display:none}.sound-icon[aria-pressed="true"] .sound-off{display:initial}.sound-icon[aria-pressed="true"] .sound-waves{display:none}
.score-box{position:absolute;bottom:10px;z-index:2;padding:6px 9px;border:2px solid #909580;border-radius:9px;background:#20271eef;color:#fff;font-size:14px;font-weight:750;line-height:1.2;font-variant-numeric:tabular-nums;white-space:nowrap;pointer-events:none}
.height-box{left:12px}.best-box{right:12px}
#start-best{bottom:var(--menu-hud-bottom)}
#instructions{overflow:auto}
#instructions h2{font-size:28px;margin:0;letter-spacing:0;color:#ffe345}
#instructions img{width:170px;height:145px;object-fit:contain;animation:thumb-pop .3s ease-out}
#instructions p{margin:0;line-height:1.7;font-size:16px}
#instructions .instruction-tagline{font-weight:750;font-size:18px}
#got-it{min-width:190px;border:2px solid #8a8d7c;background:#16883b;color:white;font-weight:800;min-height:48px;border-radius:10px}
@keyframes thumb-pop{0%{transform:scale(.88)}65%{transform:scale(1.04)}100%{transform:scale(1)}}
@media(prefers-reduced-motion:reduce){#instructions img{animation:none}}
@media(max-height:700px){.menu-content{inset:34px 20px calc(var(--menu-hud-bottom) + 42px);justify-content:flex-start;gap:8px}.menu-screen .title-art{height:130px;flex:0 0 130px}.high-scores{padding:7px 10px}.menu-actions button{min-height:44px}#instructions{gap:10px;padding:16px}#instructions img{width:130px;height:110px}}
@media(max-width:350px){.score-box{padding:6px;font-size:13px}.height-box{left:8px}.best-box{right:8px}.menu-content{left:14px;right:14px}}

.test-start{display:flex;align-items:center;justify-content:center;gap:8px;margin:5px 0;font-size:12px}.test-start button{font-size:12px;padding:5px 12px;min-height:30px;border:1px solid #96a188;border-radius:6px;background:#303a2b;color:white}
/* Title menu only: preserve the existing logo asset and gameplay styling. */
#start-screen .menu-content{inset:24px 24px calc(var(--menu-hud-bottom) + 46px);gap:18px;justify-content:center}
#start-screen .title-art{width:100%;max-width:360px;flex:0 1 220px;min-height:110px}
.chunk-button{border:3px solid #10160f;border-radius:12px 10px 13px 9px;box-shadow:0 5px 0 #10160f,inset 0 2px 0 #ffffff28;background:#697b4c;color:#fff8dd;font-weight:900;transition:transform 90ms ease-out,box-shadow 90ms ease-out;touch-action:manipulation}
.chunk-button:active{transform:translateY(3px) scaleY(.97);box-shadow:0 2px 0 #10160f,inset 0 1px 0 #ffffff20}
.chunk-button:focus-visible{outline:3px solid #ffe345;outline-offset:4px}
#start-screen #play{background:#60a941;color:#fff4bf;font-size:clamp(28px,8vw,38px);letter-spacing:2px;min-height:65px;width:76%;max-width:300px;flex-shrink:0;text-shadow:2px 2px #233a17}
.menu-lower{width:100%;max-width:360px;display:grid;grid-template-columns:60px minmax(0,1fr);gap:24px;align-items:stretch;flex-shrink:0}
.menu-utilities{display:flex;flex-direction:column;gap:12px}.menu-utilities button{width:60px;height:54px;padding:0;font-size:26px;min-height:54px}.menu-utilities #menu-sound{font-size:17px}
.menu-utilities button[aria-pressed="false"]{color:#bbc0a6;background:#3a4431;text-decoration:line-through;text-decoration-thickness:2px}
#top-thumbs{display:flex;flex-direction:column;justify-content:space-between;gap:8px;background:#414d32;padding:12px 14px;text-align:left;min-width:0}
#top-thumbs strong{font-size:clamp(17px,4.8vw,23px);color:#ffe36b;white-space:nowrap}#top-thumbs small{font-size:12px;font-weight:600;text-align:center;color:#e1e4d4}
.mini-score{display:grid;grid-template-columns:25px 1fr 35px;gap:6px;font-size:16px}.mini-score> :last-child{text-align:right}.mini-score b{color:#f4d675}
#leaderboard{background:#28331f;color:#fff4da;border:3px solid #11180e;border-radius:16px;box-shadow:0 7px 0 #11180e;padding:22px;width:calc(100% - 36px);max-width:380px;max-height:85svh;overflow:auto;text-align:center}#leaderboard::backdrop{background:#0a100ad9}#leaderboard h2{margin:0 0 14px;color:#ffe36b;font-size:28px}#leaderboard table{width:100%;border-collapse:collapse;text-align:left;font-size:16px}#leaderboard th,#leaderboard td{padding:5px 8px;border-bottom:1px solid #566147}#leaderboard th:last-child,#leaderboard td:last-child{text-align:right}#leaderboard p{font-size:13px;color:#c1c9b3}#close-leaderboard{min-width:130px}#instructions #got-it{box-shadow:0 4px 0 #10160f}#instructions #got-it:active{transform:translateY(3px) scaleY(.97)}
@media(max-height:740px){#start-screen .menu-content{inset:12px 22px calc(var(--menu-hud-bottom) + 38px);gap:12px;justify-content:flex-start}#start-screen .title-art{height:130px;flex:0 0 130px}#start-screen #play{min-height:52px;font-size:29px}.menu-utilities button{height:44px;min-height:44px;width:52px}.menu-utilities{gap:9px}.menu-lower{grid-template-columns:52px minmax(0,1fr);gap:18px}#top-thumbs{gap:5px;padding:9px 12px}}
@media(prefers-reduced-motion:reduce){.chunk-button{transition:none}.chunk-button:active{transform:translateY(2px)}}
/* Full portrait title screen, independent of the gameplay surface. */
body:has(#start-screen:not([hidden])){overflow:hidden;background:#222a1c}
#start-screen{position:fixed;inset:0;width:100%;height:100svh;height:100dvh;overflow:hidden;padding:0;background:#222a1c}
#start-screen .menu-content{position:absolute;inset:calc(env(safe-area-inset-top) + 2%) max(6%,calc((100% - 460px)/2)) calc(env(safe-area-inset-bottom) + 16%);display:grid;grid-template-rows:minmax(0,38fr) minmax(0,15fr) minmax(0,37fr);row-gap:5%;justify-items:center;align-items:stretch;overflow:visible;margin:0}
#start-screen .title-art{width:100%;max-width:none;height:100%;min-height:0;margin:0;align-self:stretch}
#start-screen .title-art img{object-fit:contain;width:100%;height:100%}
#start-screen #play{width:65%;max-width:none;min-height:0;height:100%;padding:0;border:4px solid #070c06;border-radius:20% 15% 17% 12% / 24% 27% 20% 21%;background:#04b74d;box-shadow:0 7px 0 #07591e,inset 0 3px 0 #6ddd7d;color:#fff;font-size:clamp(28px,7vh,60px);font-weight:1000;letter-spacing:1px;-webkit-text-stroke:2px #10150d;paint-order:stroke fill;text-shadow:1px 2px #10150d}
#start-screen #play:active{transform:translateY(3px) scaleY(.97);box-shadow:0 3px 0 #07591e,inset 0 2px 0 #6ddd7d}
#start-screen .menu-lower{width:100%;max-width:none;min-height:0;display:grid;grid-template-columns:19% minmax(0,1fr);gap:9%;align-items:stretch}
#start-screen .menu-utilities{min-height:0;display:flex;flex-direction:column;justify-content:space-between;gap:8%;padding:3% 0}
#start-screen .menu-utilities button{width:100%;height:28%;min-height:0;padding:0;background:#ffe338;color:#0b1008;border:3px solid #090e07;border-radius:19% 15% 20% 12%;box-shadow:0 3px 0 #0b1008,inset 0 2px 0 #fff47a;font-size:clamp(26px,5vh,46px);font-weight:1000;line-height:1}
#start-screen .menu-utilities #menu-sound{font-size:clamp(17px,3.1vh,27px);letter-spacing:-1px}
#start-screen .menu-utilities button[aria-pressed="false"]{background:#e0c52f;color:#252910;text-decoration:line-through;text-decoration-thickness:2px}
#start-screen .menu-utilities button:active{transform:translateY(3px) scaleY(.97);box-shadow:0 1px 0 #0b1008}
#start-screen #top-thumbs{min-height:0;height:100%;padding:9px 10px 0;border:3px solid #b9cb96;border-radius:7% 5% 6% 4%;background:#1d291b;box-shadow:none;gap:0;display:grid;grid-template-rows:1.1fr 1fr 1fr 1fr 1.2fr}
#start-screen #top-thumbs strong{font-size:clamp(15px,4.5vw,23px);color:#ffe338;letter-spacing:0;font-weight:1000;-webkit-text-stroke:1px #090e07;paint-order:stroke fill;align-self:stretch;border-bottom:2px solid #b9cb96;text-align:center;display:flex;align-items:center;justify-content:center}
#start-screen .mini-score{grid-template-columns:23px 1fr 24px;font-size:clamp(16px,3vh,25px);align-items:center;line-height:1;padding:0 6px}
#start-screen .mini-score b{color:#fff;font-weight:700}#start-screen .mini-score> :last-child{visibility:hidden}
#start-screen #top-thumbs small{display:flex;align-items:center;justify-content:center;margin:4px -10px 0;padding:4px;border-top:2px solid #b9cb96;font-size:clamp(10px,2.9vw,14px);text-transform:uppercase;letter-spacing:.2px;color:#d7ddca;line-height:1.2}
#start-screen #top-thumbs:active{transform:translateY(2px) scaleY(.985)}
#start-screen #start-best{bottom:calc(env(safe-area-inset-bottom) + 7%);right:max(6%,calc((100% - 460px)/2));padding:8px 12px;border:3px solid #b9cb96;border-radius:15% 12% 17% 13%;background:#1d291b;font-size:clamp(17px,3vh,25px);font-weight:800}
#start-screen .test-start[hidden]{display:none}
@media(max-height:520px){#start-screen .menu-content{bottom:15%;row-gap:3%}#start-screen #play{font-size:28px}#start-screen #top-thumbs{padding-top:4px}#start-screen #top-thumbs strong{font-size:14px}#start-screen #top-thumbs small{font-size:10px}#start-screen #start-best{bottom:3%;font-size:15px;padding:5px 9px}}
/* Portrait gameplay keeps the width-based world scale and reveals more height. */
html,body{height:100%;overflow:hidden;background:#222a1c}
main{height:100svh;height:100dvh;min-height:0;padding:0;border:0}
main>header,main>footer{display:none}
#surface{height:100%;min-height:0;flex:1;border:0;overflow:hidden}
#game{width:100%;height:100%}
#surface #zone{display:none}
#dev-open{position:absolute;z-index:6;top:calc(env(safe-area-inset-top) + 9px);right:12px;min-height:32px;padding:4px 9px;font-size:12px;font-weight:750;letter-spacing:.5px;border:1px solid #a4b39988;background:#253322b8;color:#e4ebdd;border-radius:6px;touch-action:manipulation}
#surface .score-box{bottom:calc(env(safe-area-inset-bottom) + 7%);padding:8px 12px;border:3px solid #b9cb96;border-radius:15% 12% 17% 13%;background:#1d291b;font-size:clamp(17px,3vh,25px);font-weight:800;line-height:1.2}
#surface .best-box{right:6%}#surface .height-box{left:6%}
#message{top:calc(env(safe-area-inset-top) + 48px)}
#dev-panel{padding:20px;border:3px solid #b9cb96;border-radius:14px;background:#222e1d;color:#f5f5e9;text-align:center;max-width:calc(100% - 32px)}
#dev-panel::backdrop{background:#111a11bb}#dev-panel h2{font-size:21px;margin:0 0 16px}#dev-panel button{margin:4px;background:#dce6c9;color:#162012;border:2px solid #10170e;font-weight:750;min-width:80px}#dev-panel p{font-size:13px}
@media(max-height:520px){#surface .score-box{bottom:calc(env(safe-area-inset-bottom) + 3%);font-size:15px;padding:5px 9px}}
/* Compact gameplay HUD; title-screen personal best remains unchanged. */
#surface .score-box{top:calc(env(safe-area-inset-top) + 8px);bottom:auto;display:flex;align-items:center;gap:5px;padding:5px 8px;border:2px solid #b9cb96;border-radius:10px;background:#1d291bf2;font-size:20px;font-weight:900;line-height:24px;min-height:38px}
#surface .height-box{left:calc(env(safe-area-inset-left) + 8px)}#surface .best-box{right:calc(env(safe-area-inset-right) + 8px)}
#surface .score-box svg{width:22px;height:24px;fill:#ffe52c;stroke:#080d05;stroke-width:1.8;stroke-linejoin:round;flex:none}
#dev-open{top:calc(env(safe-area-inset-top) + 53px);right:calc(env(safe-area-inset-right) + 8px)}
#build-number{position:absolute;z-index:6;top:calc(env(safe-area-inset-top) + 88px);right:calc(env(safe-area-inset-right) + 8px);font-size:10px;line-height:1.2;letter-spacing:.4px;color:#c3cdb0aa;pointer-events:none;font-weight:600}

#game-best{pointer-events:auto;touch-action:manipulation;user-select:none;-webkit-user-select:none}
#dev-open[hidden],#build-number[hidden]{display:none!important}

#moon-end{position:absolute;inset:0;z-index:10;background:#0008;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:24px;text-align:center;color:#f2efd9}#moon-end[hidden]{display:none}#moon-end h2{font-size:clamp(23px,7vw,36px);line-height:1.2;margin:0;color:#ffe65e;text-shadow:2px 3px #111}#moon-end p{font-size:16px;letter-spacing:2px;margin:0 0 20px}#moon-end button{min-width:140px;min-height:44px;background:#263a24;color:#eee;border:2px solid #b9cb96;border-radius:10px}
/* Build 0.8: title and character panel. Gameplay styles above are unchanged. */
#start-screen{background-color:#222a1c;background-image:radial-gradient(circle at 8% 11%,#e6ecd4 0 1px,transparent 1.6px),radial-gradient(circle at 89% 6%,#dce5c9 0 1.4px,transparent 2px),radial-gradient(circle at 62% 19%,#dce5c9 0 1px,transparent 1.7px),radial-gradient(circle at 12% 55%,#bac6ac 0 1.2px,transparent 2px),radial-gradient(circle at 92% 72%,#dce5c9 0 1px,transparent 1.8px),radial-gradient(circle at 27% 94%,#dce5c9 0 1.3px,transparent 2px),radial-gradient(circle at 76% 90%,#dce5c9 0 1px,transparent 2px)}
#start-screen .menu-content{inset:calc(env(safe-area-inset-top) + 3.5%) max(5%,calc((100% - 450px)/2)) calc(env(safe-area-inset-bottom) + 11%);display:grid;grid-template-rows:minmax(0,21fr) minmax(0,43fr) minmax(0,20fr) minmax(0,16fr);gap:3%;width:auto}
.menu-top{width:100%;display:flex;justify-content:space-between;align-items:flex-start;gap:14px;min-height:0}
#start-screen #top-thumbs{width:53%;height:100%;padding:7px 10px;border:3px solid #ffe638;outline:3px solid #070a05;border-radius:18px 20px 17px 16px;background:#101712;display:grid;grid-template-rows:1.25fr repeat(3,1fr);gap:2px}
#start-screen #top-thumbs strong{border:0;justify-content:flex-start;gap:3px;font:1000 clamp(12px,3.4vw,17px)/1 'Arial Black',system-ui,sans-serif;letter-spacing:-.6px;text-align:left;-webkit-text-stroke:0;white-space:nowrap}
#top-thumbs strong svg{width:26px;height:28px;flex:none;fill:#ffe52d;stroke:#dbad18;stroke-width:2;stroke-linejoin:round}.cup-rays{fill:none;stroke:#ffe52d}
#start-screen .mini-score{grid-template-columns:19px minmax(0,1fr) 32px;gap:5px;padding:0;font-size:clamp(12px,2.6vh,17px);font-weight:850}
#start-screen .mini-score b{background:#ffe639;color:#090c06;border-radius:40%;text-align:center;font-size:14px}#start-screen .mini-score>:last-child{visibility:visible}
#start-screen #start-best{position:static;pointer-events:none;display:flex;flex-direction:column;align-items:center;gap:3px;min-width:88px;max-width:33%;padding:8px 10px;border:3px solid #ffe638;outline:3px solid #070a05;border-radius:18px 15px 19px 16px;background:#101712;font-size:16px;color:#ffe638;line-height:1}
#start-best>span{display:flex;align-items:center;gap:4px;font-weight:1000}#start-best svg{width:25px;height:25px;fill:#ffe638;stroke:#090c05;stroke-width:1.2}#start-best b{font-size:clamp(26px,5vh,40px);color:white;line-height:1}
#start-screen .title-art{height:100%;width:108%;max-width:108%;min-height:0;align-self:center;flex:none}#start-screen .title-art img{object-fit:contain}
.play-wrap{position:relative;width:83%;height:100%}
#start-screen #play{width:100%;height:100%;min-height:0;background:#20d43d;color:#050904;border:5px solid #050904;border-radius:20% 17% 19% 14% / 36% 35% 31% 34%;box-shadow:0 8px 0 #087925,0 12px 0 #050904;inset:auto;font-family:'Arial Black',system-ui,sans-serif;font-size:clamp(35px,8vh,65px);font-weight:1000;letter-spacing:-2px;line-height:1;text-shadow:none;-webkit-text-stroke:1px #050904}
.glossy{position:relative;overflow:visible}.glossy:before{content:'';position:absolute;left:9%;top:10%;width:14%;height:17%;border-top:5px solid #ffffff83;border-radius:65%;transform:rotate(-36deg);pointer-events:none}
#start-screen #play:active{transform:translateY(4px) scaleY(.97);box-shadow:0 3px 0 #087925,0 6px 0 #050904}
#start-screen .menu-utilities{display:flex;flex-direction:row;justify-content:center;align-items:center;gap:6%;padding:6px 0 0;width:86%;height:100%;min-height:0}
#start-screen .menu-utilities button{width:29%;height:90%;max-height:90px;min-height:44px;background:#ffe52a;color:#050904;border:4px solid #050904;border-radius:24% 20% 27% 19%;box-shadow:0 5px 0 #b98513,0 8px 0 #050904;font-size:clamp(29px,6vh,51px);font-weight:1000;line-height:1;text-decoration:none}
#start-screen .menu-utilities #menu-sound{font-size:inherit}#menu-sound svg{width:55%;height:60%;fill:#050904;stroke:#050904;stroke-linejoin:round;stroke-linecap:round;stroke-width:3}#menu-sound .speaker-waves{fill:none}
#start-screen .menu-utilities button[aria-pressed="false"]{background:#c7ab33;color:#514711}#start-screen .menu-utilities button[aria-pressed="false"]:after{content:'';position:absolute;inset:46% 15% auto;height:4px;background:#73281e;border:1px solid #ffe277;transform:rotate(-40deg)}
#start-screen .menu-utilities button:active{transform:translateY(3px) scaleY(.97);box-shadow:0 2px 0 #b98513,0 4px 0 #050904}
.play-rays{display:none;position:absolute;top:20%;left:-12%;font-size:24px;line-height:1.2;color:#ffe638;font-weight:1000}.play-rays.right{left:auto;right:-12%}.wiggle .play-rays{display:block}.wiggle{animation:play-wiggle .3s ease-in-out}@keyframes play-wiggle{0%,100%{transform:rotate(0)}25%{transform:rotate(-2deg)}55%{transform:rotate(2deg)}80%{transform:rotate(-1deg)}}
#who-panel{width:min(94vw,460px);height:min(92dvh,810px);max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 24px);padding:0;border:0;border-radius:26px;background:#0c1210;color:#fff;overflow:auto;box-shadow:0 0 0 4px #070a07}
#who-panel::backdrop{background:#101510f5}.who-frame{min-height:100%;border:3px solid #ffe637;border-radius:28px 24px 27px 22px;padding:65px 18px 26px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:12px;position:relative;background-image:radial-gradient(circle at 8% 40%,#a0aa91 0 1px,transparent 2px),radial-gradient(circle at 91% 63%,#a0aa91 0 1px,transparent 2px)}
#who-close{position:absolute;right:14px;top:14px;width:43px;height:43px;padding:0;min-height:0;font-size:35px;line-height:1}
.who-question{position:absolute;left:24px;top:15px;font-size:42px;font-weight:1000;color:#ffe638;transform:rotate(-10deg)}
#who-title{font:1000 clamp(32px,9vw,49px)/1.06 'Arial Black',system-ui,sans-serif;color:#ffe637;text-align:center;letter-spacing:-1.5px;margin:0;-webkit-text-stroke:2px #020403;paint-order:stroke fill;text-shadow:2px 4px #000;transform:rotate(-2deg)}
.who-daumen{width:68%;height:34%;min-height:130px;max-height:280px;object-fit:contain}.who-frame p{font-size:clamp(15px,4vw,19px);font-weight:750;line-height:1.5;text-align:center;margin:0}.who-frame mark{background:none;color:#ffe637}.who-links{display:flex;gap:16px;width:100%;margin-top:8px}.who-links a{display:flex;align-items:center;justify-content:center;flex:1;min-height:50px;padding:8px 5px;text-align:center;text-decoration:none;font-size:clamp(12px,3.7vw,17px);font-weight:1000}
#who-panel .chunk-button{background:#ffe52a;color:#070b04;border:3px solid #050904;border-radius:18px 15px 19px 14px;box-shadow:0 5px 0 #b98513,0 8px 0 #050904}#who-panel .chunk-button:active{transform:translateY(3px) scaleY(.97);box-shadow:0 2px 0 #b98513,0 4px 0 #050904}
#play-intro[hidden]{display:none}
#play-intro{position:absolute;top:18%;left:3%;right:3%;z-index:6;pointer-events:none;text-align:center;color:#ffe629}
#play-intro .intro-words{display:grid;gap:1px;justify-items:center;font:1000 clamp(24px,7.4vw,40px)/1.14 'Arial Black','DejaVu Sans',system-ui,sans-serif;letter-spacing:-1.4px}
#play-intro .intro-words>span{display:block;white-space:nowrap;transform-origin:center bottom;filter:drop-shadow(1px 0 #fff) drop-shadow(-1px 0 #fff) drop-shadow(0 1px #fff) drop-shadow(0 -1px #fff)}
#play-intro .intro-words i{display:inline-block;font-style:normal;-webkit-text-stroke:3.2px #080b08;paint-order:stroke fill;text-shadow:0 1px 0 #f7bb16;transform:rotate(-3deg) translateY(1px)}
#play-intro .intro-words i:nth-child(3n){transform:rotate(3deg) translateY(-1px)}
#play-intro .intro-words i:nth-child(4n){transform:rotate(-1deg) translateY(1px)}
#play-intro .intro-words i.space{width:.32em}
#play-intro.active .intro-words span:first-child{animation:game-intro .95s both,game-intro-out .34s 1.12s forwards}
#play-intro.active .intro-words span:last-child{animation:game-intro .95s .12s both,game-intro-out .34s 1.12s forwards}
@keyframes game-intro{0%{opacity:0;transform:translateY(11px) scale(.65) rotate(-5deg)}30%{opacity:1;transform:translateY(-4px) scale(1.13) rotate(3deg)}55%{transform:translateY(2px) scale(.96) rotate(-2deg)}80%,100%{opacity:1;transform:translateY(0) scale(1) rotate(0)}}
@keyframes game-intro-out{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:translateY(-12px) scale(.72)}}
@media(max-height:600px){.who-frame{padding-top:48px;gap:6px}.who-daumen{max-height:140px;min-height:80px}#who-title{font-size:29px}.who-frame p{font-size:14px}.who-links a{min-height:42px}#start-screen .mini-score{font-size:12px}#start-screen #top-thumbs strong{font-size:12px}#top-thumbs strong svg{width:19px;height:20px}#start-screen #start-best{font-size:13px}}
@media(prefers-reduced-motion:reduce){.wiggle{animation:none}#play-intro.active .intro-words span{animation:none}}
#movement-hint[hidden]{display:none}
#movement-hint{position:absolute;top:clamp(68px,13%,115px);left:50%;width:min(286px,calc(100% - 44px));z-index:4;pointer-events:none;text-align:center;padding:9px 11px 16px;color:#fff;background:#111915ed;border:2px solid #fff9df;border-radius:28px 18px 29px 20px;box-shadow:4px 5px 0 #060b09,7px 9px 16px #0007;font:1000 21px/1.07 'Arial Black','DejaVu Sans',system-ui,sans-serif;letter-spacing:-.65px;animation:hint-appear .28s ease-out both}
#movement-hint:before{content:'';position:absolute;inset:5px -6px -5px 6px;z-index:-1;background:#ffe629;border:2px solid #070c09;border-radius:21px 28px 20px 27px;transform:rotate(2deg)}
#movement-hint .hint-title{position:relative;display:inline-block;transform:rotate(-2deg);color:#ffe629;-webkit-text-stroke:1px #050805;paint-order:stroke fill;text-shadow:2px 2px 0 #050805}
#movement-hint .hint-action{display:flex;align-items:center;justify-content:center;gap:1px;margin:1px auto 0;padding:0 2px;min-height:65px}
#movement-hint .gesture{display:grid;justify-items:center;align-content:end;min-width:0;flex:1;gap:0;color:#fff}
#movement-hint .gesture svg{display:block;width:min(100%,98px);height:49px;overflow:visible;filter:drop-shadow(1px 2px 0 #050805)}
#movement-hint .gesture-arrow{fill:#ffe629;stroke:#060b09;stroke-width:2.5;stroke-linejoin:round}
#movement-hint .gesture-speed{fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round;opacity:.8}
#movement-hint .gesture-touch,#movement-hint .tap-point{fill:#fff;stroke:#111915;stroke-width:3}
#movement-hint[data-kind="steer"] .gesture.left .gesture-touch{animation:hint-swipe-left 1.55s ease-in-out 2}
#movement-hint[data-kind="steer"] .gesture.right .gesture-touch{animation:hint-swipe-right 1.55s ease-in-out 2}
#movement-hint .tap-pulse{fill:none;stroke:#ffe629;stroke-width:4;stroke-dasharray:9 6}
#movement-hint .tap-rays{fill:none;stroke:#ffe629;stroke-width:3;stroke-linecap:round}
#movement-hint[data-kind="shuffle"] .tap-pulse{animation:hint-tap .68s ease-out 2;transform-origin:52px 36px}
#movement-hint .gesture small,#movement-hint .hint-thumb small{font:1000 10px/1.15 'Arial Black',system-ui,sans-serif;letter-spacing:.35px;color:#fff;white-space:nowrap;text-shadow:1px 2px 0 #050805}
#movement-hint .hint-thumb{display:grid;justify-items:center;align-items:end;flex:0 0 48px;align-self:end;gap:2px}
#movement-hint .hint-thumb img{height:39px;width:36px;object-fit:contain;filter:drop-shadow(1px 2px 0 #000)}
#movement-hint .hint-dismiss{pointer-events:auto;cursor:pointer;position:absolute;bottom:-18px;left:50%;display:block;min-width:112px;min-height:45px;padding:7px 17px;border:3px solid #050805;border-radius:16px 12px 17px 13px;background:#ffe629;color:#101710;font:1000 16px/1.2 'Arial Black',system-ui,sans-serif;box-shadow:0 4px 0 #a57910,0 6px 0 #050805;animation:hint-attend 2.8s ease-in-out infinite}
#movement-hint .hint-dismiss:hover,#movement-hint .hint-dismiss:focus-visible{background:#fff18b;outline:2px solid #fff;outline-offset:2px}
@keyframes hint-appear{from{opacity:0;transform:translate(-50%,6px) scale(.94)}to{opacity:1;transform:translate(-50%,0) scale(1)}}
@keyframes hint-attend{0%,13%,83%,100%{transform:translateX(-50%) scale(1) rotate(0)}4%{transform:translateX(-50%) scale(1.07) rotate(-2deg)}8%{transform:translateX(-50%) scale(1.04) rotate(2deg)}89%{transform:translateX(-50%) scale(1.045)}94%{transform:translateX(-50%) scale(1)}}
@keyframes hint-swipe-left{50%{transform:translateX(-36px)}}@keyframes hint-swipe-right{50%{transform:translateX(36px)}}
@keyframes hint-tap{55%{transform:scale(.65);opacity:.5}}
@media(prefers-reduced-motion:reduce){#movement-hint .gesture-touch,#movement-hint .tap-pulse,#movement-hint .hint-dismiss{animation:none}#movement-hint .hint-dismiss{transform:translateX(-50%)}}

#who-space{position:absolute;inset:0;width:100%;height:100%;opacity:.22;pointer-events:none;border-radius:24px}.who-frame>:not(#who-space){position:relative;z-index:1}.who-frame #who-close,.who-frame .who-question{position:absolute}
/* Build 0.9: approved reference artwork used as UI sprites, never regenerated. */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
#start-screen #start-best{transform:scale(.64);transform-origin:top right}
#top-thumbs .trophy-art{display:inline-block;flex:none;width:27px;height:24px;background-image:url('home-approved.png');background-repeat:no-repeat;background-size:818.26% 1760%;background-position:7.87% 4.56%}
.play-rays{display:none!important}@keyframes play-wiggle{0%,100%{transform:translateX(0) rotate(0)}25%{transform:translateX(-1px) rotate(-.6deg)}60%{transform:translateX(1px) rotate(.6deg)}85%{transform:translateX(-.4px)}}
#who-panel{width:min(94vw,calc(90dvh * .6),480px);height:auto;aspect-ratio:840/1420;max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 20px);overflow:hidden;background:#0c1110;border-radius:7% 7% 6% 6%;padding:0}
#who-panel .who-frame{position:relative;display:block;width:100%;height:100%;min-height:100%;padding:0;border:3px solid #ffeb39;border-radius:7% 7% 6% 6%;background:#0c1110;overflow:hidden}
#who-panel .ref-art{background-image:url('who-approved.png');background-repeat:no-repeat;display:block}
#who-panel #who-title{position:absolute;left:10%;top:10%;width:80%;height:20%;margin:0;transform:none;background-size:142.5758% 597.1429%;background-position:51.6014% 17.8161%;text-shadow:none}
#who-panel .who-question{position:absolute;left:3.8%;top:3.4%;width:18%;height:9.6%;transform:none;background-size:588.125% 1045%;background-position:9.60% 3.5714%}
#who-panel .who-daumen{position:absolute;left:8.8%;top:26%;width:84%;height:43%;min-height:0;max-height:none;object-fit:contain;margin:0;pointer-events:none}
#who-panel .who-copy{position:absolute;left:5%;top:69.5%;width:90%;height:14%;background-size:125.4667% 836%;background-position:52.356% 73.7092%}
#who-panel .who-links{position:absolute;left:8%;top:86.2%;width:84%;height:10.3%;margin:0;display:flex;gap:6%;align-items:stretch;z-index:5}
#who-panel .who-links a{position:relative;display:block;min-height:0;flex:1;padding:0;border:0;border-radius:23%;box-shadow:none;touch-action:manipulation;pointer-events:auto;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform 90ms ease-out;isolation:isolate}
#who-panel #more-daumen{background-size:267.3295% 1145.2055%;background-position:21.0526% 86.5007%}
#who-panel #daumen-gallery{background-size:305.5195% 1145.2055%;background-position:81.5166% 86.5007%}
#who-panel .who-links a:active{transform:translateY(3px) scaleY(.97);box-shadow:none}
#who-panel #who-close{position:absolute;top:3.3%;right:4%;width:12%;height:7%;min-height:0;font-size:clamp(25px,6vw,38px);z-index:6}
#who-space{opacity:.13;pointer-events:none!important}
@media(prefers-reduced-motion:reduce){.wiggle{animation:none}}
#who-panel .who-question{background-size:553.5294% 1286.1538%;background-position:9.7276% 10.0519%}
#who-panel #more-daumen{flex:1.14}
#who-panel #who-space{opacity:.025}
/* Focused menu polish. No gameplay HUD selectors. */
#start-screen #start-best{gap:7px;justify-content:center;padding:10px 14px;min-width:84px}
#start-best>span{justify-content:center;width:100%}#start-best svg{width:29px;height:27px}
#leaderboard{width:min(92vw,410px);max-width:calc(100vw - 24px);height:min(88dvh,740px);max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 20px);padding:22px 22px 26px;background:#101712;color:#fff;border:4px solid #ffeb39;border-radius:9% 7% 8% 6% / 5% 6% 5% 7%;box-shadow:0 0 0 5px #080d08,3px 9px 0 5px #080d08;overflow:auto;font-family:'Comic Sans MS','Chalkboard SE',system-ui,sans-serif}
#leaderboard[open]{display:flex;flex-direction:column;gap:12px}
#leaderboard::backdrop{background:#0a100bea}
#leaderboard h2{height:64px;min-height:45px;margin:0;flex:none;display:flex;align-items:center;justify-content:center}
.board-heading-art{display:block;width:100%;max-width:330px;height:100%;background:url('home-approved.png') no-repeat;background-size:254.3243% 1607.6923%;background-position:12.2592% 4.6556%}
#leaderboard table{flex:1;width:100%;border-collapse:separate;border-spacing:0 5px;font-size:clamp(16px,2.5vh,21px);font-weight:800;table-layout:fixed}
#leaderboard th,#leaderboard td{border:0;padding:3px 7px;line-height:1.2}
#leaderboard thead th{font-size:13px;color:#c3ccb5;font-weight:700;padding-bottom:8px}
#leaderboard th:first-child{width:40px;text-align:center}#leaderboard th:last-child{width:88px}
#leaderboard tbody th{color:#ffe537;font-size:1.08em;text-shadow:1px 2px #000;transform:rotate(-3deg)}
#leaderboard tbody tr:nth-child(even) th{transform:rotate(3deg)}
#leaderboard tbody td{color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#leaderboard tbody td:last-child{font-variant-numeric:tabular-nums}
#close-leaderboard{flex:none;align-self:center;min-width:160px;min-height:49px;margin-top:6px;border:4px solid #050904;border-radius:22% 17% 20% 16% / 32% 28% 31% 26%;background:#ffe52b;color:#080c05;font:1000 23px/1 'Comic Sans MS','Chalkboard SE',system-ui,sans-serif;letter-spacing:1px;box-shadow:0 5px 0 #b98513,0 8px 0 #050904;transform:rotate(-1deg)}
#close-leaderboard:active{transform:translateY(3px) scaleY(.97);box-shadow:0 2px 0 #b98513,0 4px 0 #050904}
@media(max-height:620px){#leaderboard{padding:14px 16px 20px}#leaderboard[open]{gap:5px}#leaderboard h2{height:45px}#leaderboard table{border-spacing:0 2px;font-size:16px}#leaderboard th,#leaderboard td{padding:2px 6px}#close-leaderboard{min-height:43px;font-size:20px}}

/* Build 1.1: paired game badges, with an inert secret crown target. */
#surface .score-box{width:64px;min-width:64px;height:61px;padding:4px 7px;gap:1px;flex-direction:column;justify-content:center;border:3px solid #ffeb39;border-radius:20% 17% 22% 18% / 22% 25% 20% 23%;background:#101712;color:white;box-shadow:0 0 0 3px #080d08,1px 4px 0 3px #080d08;font-size:23px;line-height:25px;font-weight:1000}
#surface .score-box svg{width:22px;height:22px}
#game-best,#game-best:active,#game-best:focus,#game-best:focus-visible{outline:none;filter:none;transform:none;animation:none;transition:none;-webkit-tap-highlight-color:transparent;cursor:default}
#home-button{position:absolute;z-index:6;top:calc(env(safe-area-inset-top) + 10px);left:50%;transform:translateX(-50%);width:44px;height:44px;padding:6px;background:#101712;border:3px solid #ffeb39;border-radius:25% 20% 23% 19%;box-shadow:0 0 0 3px #080d08,1px 4px 0 3px #080d08;touch-action:manipulation}
#home-button svg{width:27px;height:27px;fill:#ffe52c;stroke:#080d05;stroke-width:1.7;stroke-linejoin:round}
#home-button:active{transform:translate(-50%,2px) scaleY(.96)}
#home-confirm{position:absolute;z-index:7;top:calc(env(safe-area-inset-top) + 64px);left:50%;transform:translateX(-50%);background:#101712;color:#ffe52c;border:2px solid #ffe52c;border-radius:8px;padding:5px 8px;font-size:12px;font-weight:900;text-align:center;pointer-events:none}
#home-confirm[hidden]{display:none}
#dev-open{top:calc(env(safe-area-inset-top) + 78px)}
#build-number{top:calc(env(safe-area-inset-top) + 113px)}
#leaderboard::backdrop{background:#0a100b}
body:has(#leaderboard[open]) #top-thumbs{visibility:hidden}
.board-heading-art{height:auto;aspect-ratio:370 / 78;background-size:254.3243% 2143.5897%;background-position:12.2592% 4.5797%}

/* Build 1.2 compact gameplay badges, retaining their corner positions. */
#surface .score-box{transform:scale(.77);transform-origin:top left}
#surface #game-best{transform:scale(.77);transform-origin:top right}
#home-button{transform:translateX(-50%) scale(.88);transform-origin:top center}
#home-button:active{transform:translate(-50%,2px) scale(.88,.85)}
#dev-open{top:calc(env(safe-area-inset-top) + 63px)}
#build-number{top:calc(env(safe-area-inset-top) + 98px)}

/* The frozen world remains visible while the character takes centre stage. */
#game-over{gap:7px;background:#e6e8dfd9}
#game-over h2{font-size:clamp(28px,7.2vw,45px);animation:game-over-punch .37s cubic-bezier(.22,1.4,.45,1) both}
#game-over #dead-art{width:min(188px,51vw);height:auto;aspect-ratio:220 / 190;flex-shrink:1}
#death-restart{min-width:156px;min-height:55px;margin-top:4px;padding:6px 22px;border:4px solid #090f0a;border-radius:19% 14% 17% 15% / 24% 20% 22% 26%;background:#ffdf31;color:#111811;font:1000 25px/1 'Arial Black',system-ui,sans-serif;letter-spacing:1px;box-shadow:0 5px 0 #0b110a,inset 0 2px 0 #fff083;touch-action:manipulation}
#death-restart:active{transform:translateY(3px) scaleY(.94);box-shadow:0 2px 0 #0b110a,inset 0 1px 0 #fff083}
@keyframes game-over-punch{0%{opacity:0;transform:scale(.67) rotate(-3deg)}52%{opacity:1;transform:scale(1.11) rotate(2deg)}75%{transform:scale(.96) rotate(-1deg)}100%{transform:scale(1) rotate(0)}}

/* Moon records and the post-completion run clock. */
#start-best[data-moon="true"]{min-width:124px;max-width:41%;padding-inline:8px}
#start-best[data-moon="true"] b{font-size:clamp(15px,3.8vw,21px);font-variant-numeric:tabular-nums;white-space:nowrap;letter-spacing:-.5px}
#surface #game-best[data-moon="true"]{width:111px;min-width:111px}
#game-best[data-moon="true"] #best-value{font-size:17px;line-height:19px;font-variant-numeric:tabular-nums;white-space:nowrap}
#start-best svg[hidden],#game-best svg[hidden]{display:none}
#run-time{position:absolute;z-index:6;top:calc(env(safe-area-inset-top) + 60px);left:50%;transform:translateX(-50%);pointer-events:none;padding:4px 10px;border:2px solid #ffe638;border-radius:11px 9px 12px 10px;background:#101712e8;color:white;font:1000 16px/1.1 'Arial Black',system-ui,sans-serif;font-variant-numeric:tabular-nums;letter-spacing:.5px;text-shadow:1px 1px #080d08;white-space:nowrap}
#run-time[hidden]{display:none}

/* Restart stays alongside Home; only the confirmation receives pointer input. */
#run-restart{position:absolute;z-index:6;top:calc(env(safe-area-inset-top) + 13px);left:calc(50% + 41px);width:39px;height:39px;min-height:39px;padding:6px;border:3px solid #ffeb39;border-radius:22% 18% 23% 19%;background:#101712;color:#ffe52c;box-shadow:0 0 0 3px #080d08,1px 4px 0 3px #080d08;touch-action:manipulation}
#run-restart svg{display:block;width:100%;height:100%}
#run-restart:active{transform:translateY(2px)}
#run-restart-confirm{position:absolute;z-index:12;top:calc(env(safe-area-inset-top) + 59px);left:50%;transform:translateX(-50%);width:min(248px,78%);padding:10px 12px 12px;border:3px solid #ffe638;border-radius:16px 13px 18px 14px;background:#101712f5;box-shadow:0 0 0 3px #080d08,2px 5px 0 3px #080d08;text-align:center;color:#ffe638;font:1000 17px/1 'Arial Black',system-ui,sans-serif;white-space:nowrap}
#run-restart-confirm[hidden]{display:none}
#run-restart-confirm>div{display:flex;gap:8px;margin-top:10px}
#run-restart-confirm button{flex:1;min-width:0;min-height:42px;padding:6px;border:2px solid #080d08;border-radius:11px 9px 12px 10px;background:#ffe638;color:#101712;font:1000 14px/1 system-ui,sans-serif;touch-action:manipulation}
#run-restart-confirm #run-restart-no{background:#f1f1df}
#moon-end #moon-result-time{margin:0;color:white;font:1000 clamp(18px,5vw,25px)/1.2 'Arial Black',system-ui,sans-serif;font-variant-numeric:tabular-nums;letter-spacing:.2px}
#moon-end #moon-result-best{margin:0 0 12px;color:#ffe638;font:900 17px/1.2 system-ui,sans-serif;letter-spacing:.3px}

/* The approved square Moon image is the result; controls sit outside its artwork. */
#moon-end{gap:9px;padding:12px 10px;background:#030407ed}
#moon-share-card{display:block;width:min(100%,calc(100svh - 275px));height:auto;aspect-ratio:1;max-width:520px;border:2px solid #111;box-shadow:0 3px 13px #0009}
#moon-share-card[hidden]{display:none}
#moon-end #moon-result-best{margin:0;color:#ffe638;font:1000 17px/1.1 'Arial Black',system-ui,sans-serif;letter-spacing:.4px;text-shadow:1px 2px #090909}
#moon-end #moon-result-best[hidden]{display:none}
.moon-result-buttons{display:flex;justify-content:center;gap:7px;width:min(100%,430px)}
#moon-end .moon-result-buttons button{flex:1;min-width:0;min-height:46px;margin:0;padding:5px 3px;border:3px solid #080a08;border-radius:11px 9px 12px 10px;background:#ffe433;color:#111;font:1000 clamp(12px,3.6vw,16px)/1 'Arial Black',system-ui,sans-serif;box-shadow:0 3px 0 #050505;touch-action:manipulation}
#moon-end .moon-result-buttons button:active{transform:translateY(2px);box-shadow:0 1px 0 #050505}
#moon-end .moon-result-buttons #moon-menu{background:#e6e6e1}
@media(max-height:650px){#game-over #dead-art{width:min(145px,38vw)}#game-over h2{font-size:30px}}
@media(prefers-reduced-motion:reduce){#game-over h2{animation:none}}

/* Moon arrival remains a live scene; the comic lettering sits over the sky. */
#moon-completion-text[hidden],#moon-dev-replay[hidden],#moon-completion-text [hidden]{display:none!important}
#moon-completion-text{position:absolute;z-index:8;top:25%;left:3%;width:94%;display:flex;flex-direction:column;align-items:center;gap:3px;pointer-events:none;text-align:center;font:1000 clamp(17px,5.3vw,27px)/1.13 'Arial Black','DejaVu Sans',system-ui,sans-serif;letter-spacing:-.6px;color:#fff;background:transparent;padding:22px 8px;box-sizing:border-box;color-scheme:only light;forced-color-adjust:none;filter:none}
#moon-completion-text::before{content:'';position:absolute;z-index:-1;pointer-events:none;left:-4%;right:-4%;top:31%;bottom:-24%;background:radial-gradient(ellipse at 50% 48%,rgba(0,0,0,.78) 0%,rgba(0,0,0,.62) 32%,rgba(0,0,0,.25) 57%,rgba(0,0,0,0) 74%);forced-color-adjust:none}
#moon-completion-text>*{color:#fff!important;-webkit-text-stroke:0;text-shadow:0 1px 2px #000,0 0 5px rgba(0,0,0,.8)}
#moon-congrats{font-size:clamp(25px,7.3vw,39px);letter-spacing:-1.3px;transform:rotate(-1.5deg);white-space:nowrap}
#moon-reached{color:#fff;font-size:.83em;transform:rotate(.8deg);white-space:nowrap}
#moon-completion-text .moon-time-label{margin-top:9px;font-size:.7em;color:#fff;letter-spacing:1px}
#moon-completion-time{font-size:1.36em;font-variant-numeric:tabular-nums;letter-spacing:.3px}
#moon-unlocked,#moon-new-best{margin-top:7px;font-size:.72em;color:#fff;letter-spacing:.25px;white-space:nowrap}
#moon-new-best{color:#ffe629;font-size:.95em}
body.moon-finale #surface :is(#height,#game-music,#home-button,#home-confirm,#run-restart,#run-time,#dev-open,#build-number,#movement-hint){display:none!important}
body.moon-finale-ready #surface #home-button{display:grid!important}
body.moon-finale-ready #surface #home-confirm:not([hidden]){display:block!important}
#moon-dev-replay{position:absolute;z-index:9;bottom:calc(env(safe-area-inset-bottom) + 17px);left:50%;transform:translateX(-50%);width:max-content;max-width:90%;min-height:44px;padding:5px 12px;background:#101712;color:#ffe638;border:3px solid #ffe638;border-radius:11px;font:1000 14px/1 'Arial Black',system-ui,sans-serif;box-shadow:0 3px 0 #080b08}

/* Private tester endpoint, shown only after the party's frozen hold. */
#tester-end[hidden]{display:none}
#tester-end{position:absolute;inset:0;z-index:11;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:24px 16px calc(24px + env(safe-area-inset-bottom));box-sizing:border-box;background:#050708c9;text-align:center;font-family:'Arial Black','DejaVu Sans',system-ui,sans-serif;font-weight:1000}
#tester-end h2,#tester-end p{margin:0;paint-order:stroke fill;-webkit-text-stroke:2.5px #080b08;text-shadow:2px 3px #080b08}
#tester-end h2{color:#ffe638;font-size:clamp(31px,9vw,48px);line-height:1.05;transform:rotate(-1deg)}
#tester-end p{color:#fff;font-size:clamp(17px,5.2vw,27px);line-height:1.15;max-width:340px}
#tester-end .tester-end-actions{display:flex;gap:10px;margin-top:23px;width:min(100%,330px)}
#tester-end button{flex:1;min-width:0;min-height:52px;border:3px solid #080b08;border-radius:12px 9px 13px 10px;background:#ffe638;color:#101712;font:1000 clamp(14px,4vw,18px)/1 'Arial Black',system-ui,sans-serif;box-shadow:0 4px 0 #060806;touch-action:manipulation}
#tester-end #tester-home{background:#eee}
#tester-end button:active{transform:translateY(3px);box-shadow:0 1px 0 #060806}

/* Home and Restart share the same forty-pixel outline and baseline. */
#home-button,#run-restart{top:calc(env(safe-area-inset-top) + 8px);width:40px;height:40px;min-width:40px;min-height:40px;padding:5px;border:3px solid #ffeb39;border-radius:22% 19% 23% 20%;display:grid;place-items:center;box-sizing:border-box}
#home-button{left:calc(50% - 18px);transform:translateX(-50%)}
#home-button:active{transform:translate(-50%,2px) scaleY(.96)}
#run-restart{left:calc(50% + 7px)}
#home-button svg,#run-restart svg{width:27px;height:27px;flex:none}
#surface #game-best,#surface #game-best[data-moon="true"]{top:calc(env(safe-area-inset-top) + 8px);height:40px;min-height:40px;flex-direction:row;gap:4px;padding:4px 5px;transform:none;box-sizing:border-box;border:3px solid #ffeb39;border-radius:22% 19% 23% 20%;font-size:18px;line-height:22px}
#surface #game-best svg{width:20px;height:20px}
#game-best[data-moon="true"] #best-value{font-size:15px}

#surface #game-music{position:absolute;right:calc(env(safe-area-inset-right) + 8px);top:calc(env(safe-area-inset-top) + 8px);width:52px;min-width:52px;height:40px;min-height:40px;padding:5px;display:grid;place-items:center;color:#ffe52c;transform:none;box-sizing:border-box;pointer-events:auto;touch-action:manipulation;cursor:pointer}
#surface #game-music svg{width:27px;height:27px}#game-music[aria-pressed="true"] .music-slash{display:none}#game-music[aria-pressed="false"] svg{opacity:.65}
#height{pointer-events:auto;touch-action:manipulation;-webkit-tap-highlight-color:transparent}#height:focus{outline:none}
/* Fixed cinematic tutorial palette, independent of browser theme colours. */
#play-intro{top:18%;left:7%;right:7%;color:#f5eed8;background:#191a18;border:1px solid #d9bd55;border-radius:12px;padding:13px 8px;box-shadow:0 6px 18px #0006;color-scheme:dark;forced-color-adjust:none}
#play-intro .intro-words{font:1000 clamp(22px,6.5vw,34px)/1.16 'Arial Black','DejaVu Sans',system-ui,sans-serif;letter-spacing:-.6px}
#play-intro .intro-words>span{filter:none;transform:none}
#play-intro .intro-words i,#play-intro .intro-words i:nth-child(n){color:#f5eed8;-webkit-text-stroke:0;text-shadow:0 1px 2px #000;transform:none}
#play-intro.active .intro-words span:first-child,#play-intro.active .intro-words span:last-child{animation:none}
#play-intro.active{animation:premium-intro .36s ease-out both}
@keyframes premium-intro{from{opacity:0;transform:scale(.97);filter:brightness(1.12)}to{opacity:1;transform:scale(1);filter:brightness(1)}}
#movement-hint{background:#191a18;color:#f5eed8;border:1px solid #d9bd55;border-radius:13px;box-shadow:0 7px 19px #0006;padding:13px 12px 19px;color-scheme:dark;forced-color-adjust:none;letter-spacing:.3px;font-size:19px}
#movement-hint:before{display:none}
#movement-hint .hint-title{transform:none;color:#f5eed8;-webkit-text-stroke:0;text-shadow:0 1px 2px #000}
#movement-hint .hint-action{display:block;margin-top:8px;min-height:98px}
#movement-hint .hint-action>small{display:block;margin-top:7px;font:700 10px/1.2 'Arial Black',system-ui,sans-serif;letter-spacing:.5px;color:#f5eed8}
#movement-hint .hint-dismiss{animation:none;transform:translateX(-50%);border:1px solid #d9bd55;border-radius:8px;background:#25261f;color:#f5eed8;box-shadow:0 3px 8px #0006;min-height:36px;font-size:12px;bottom:-16px}
.demo{height:78px;position:relative;margin:auto;width:220px;border-bottom:1px solid #8a8060}
.demo-daumen{position:absolute;width:33px;height:44px;object-fit:contain;left:calc(50% - 16.5px);bottom:3px;transform-origin:center bottom;filter:drop-shadow(0 2px 1px #0006)}
.demo-arrow{position:absolute;bottom:9px;font:900 33px/1 system-ui,sans-serif;color:#e8cb65;transform-origin:center}
.demo-arrow.left{left:17px;animation:demo-tap-left 3.2s infinite}
.demo-arrow.right{right:17px;animation:demo-tap-right 3.2s infinite}
.step-demo .demo-daumen{animation:demo-shuffle 3.2s infinite}
@keyframes demo-shuffle{0%,12%,100%{transform:translateX(-9px)}20%{transform:translateX(9px) scaleY(.95)}25%,62%{transform:translateX(9px)}70%{transform:translateX(-9px) scaleY(.95)}75%,99%{transform:translateX(-9px)}}
@keyframes demo-tap-right{0%,12%,25%,100%{transform:scale(1);color:#e8cb65}18%{transform:scale(.78);color:#fff6cf}}
@keyframes demo-tap-left{0%,62%,75%,100%{transform:scale(1);color:#e8cb65}68%{transform:scale(.78);color:#fff6cf}}
.air-demo .demo-daumen{animation:demo-jump 6s linear infinite}
.swipe-track{position:absolute;top:4px;left:50px;right:50px;height:14px;color:#e8cb65}
.swipe-track b{display:block;text-align:center;font:900 18px/1 system-ui,sans-serif;opacity:.45}
.swipe-track i{position:absolute;top:2px;left:calc(50% - 5px);width:10px;height:10px;background:#f5eed8;border:1px solid #d9bd55;border-radius:50%;animation:demo-air-swipe 6s linear infinite;opacity:0}
@keyframes demo-jump{0%,8%{transform:translate(-26px,0)}18%{transform:translate(-19px,-25px) rotate(-4deg)}25%{transform:translate(-12px,-38px)}34%{transform:translate(12px,-31px) rotate(5deg)}43%,50%,58%{transform:translate(26px,0)}68%{transform:translate(19px,-25px) rotate(4deg)}75%{transform:translate(12px,-38px)}84%{transform:translate(-12px,-31px) rotate(-5deg)}93%,100%{transform:translate(-26px,0)}}
@keyframes demo-air-swipe{0%,18%,38%,50%,68%,88%,100%{opacity:0;transform:translateX(0)}20%{opacity:1;transform:translateX(-24px)}34%{opacity:1;transform:translateX(24px)}70%{opacity:1;transform:translateX(24px)}84%{opacity:1;transform:translateX(-24px)}}
#run-time{left:calc(env(safe-area-inset-left) + 10px);top:calc(env(safe-area-inset-top) + 61px);transform:none;padding:3px 5px;border:0;border-radius:4px;background:#101712bd;color:#f5eed8;font:700 12px/1.15 'Arial Black',system-ui,sans-serif;letter-spacing:.2px;forced-color-adjust:none;color-scheme:dark}
@media(max-width:340px){.demo{width:190px}#movement-hint{width:calc(100% - 44px);font-size:17px}}
@media(prefers-reduced-motion:reduce){#play-intro.active{animation:none}}
/* Approved charcoal, cream and yellow reference treatment. */
#play-intro{left:5%;right:5%;background:#0e1513;color:#f4efdf;border:3px solid #ffdb45;border-radius:22px;padding:13px 10px 15px;box-shadow:0 5px 0 #050807,inset 0 0 0 1px #fff3a355}
#play-intro .intro-words{font:1000 clamp(26px,7.5vw,40px)/1.03 'Arial Black','DejaVu Sans',system-ui,sans-serif;letter-spacing:-1.1px;gap:3px}
#play-intro .intro-words i,#play-intro .intro-words i:nth-child(n){color:#f4efdf;text-shadow:1px 3px 0 #000;-webkit-text-stroke:.4px #f4efdf}
#play-intro .intro-words>span:last-child i{color:#ffdb45;-webkit-text-stroke:.4px #ffdb45}
#play-intro:before,#play-intro:after{content:'';position:absolute;top:48%;width:12px;height:4px;border-radius:3px;background:#ffdb45;box-shadow:0 -10px 0 #ffdb45,0 10px 0 #ffdb45}
#play-intro:before{left:9px;transform:rotate(17deg)}#play-intro:after{right:9px;transform:rotate(-17deg)}
#movement-hint{width:min(320px,calc(100% - 28px));padding:13px 9px 26px;border:3px solid #ffdb45;border-radius:23px;background:#0e1513;color:#f4efdf;box-shadow:0 5px 0 #050807,inset 0 0 0 1px #fff3a355;letter-spacing:-.7px;font-size:clamp(22px,6.2vw,29px)}
#movement-hint .hint-title{color:#f4efdf;text-shadow:1px 2px 0 #000}
#movement-hint .hint-action{margin-top:4px;min-height:139px}
#movement-hint .hint-description{margin:0 0 5px;color:#f4efdf;font:800 clamp(12px,3.5vw,15px)/1.3 'Arial Black',system-ui,sans-serif;letter-spacing:0;text-shadow:0 1px #000}
#movement-hint .hint-dismiss{bottom:-22px;min-height:44px;min-width:130px;background:#ffdb45;color:#080b08;border:3px solid #050807;border-radius:13px;box-shadow:0 4px 0 #ae8522,0 7px 0 #050807;font:1000 19px/1 'Arial Black',system-ui,sans-serif;letter-spacing:-.5px}
#movement-hint .hint-dismiss:hover,#movement-hint .hint-dismiss:focus-visible{background:#ffe56b;color:#080b08}
.demo{width:250px;max-width:100%;height:112px;border:0}
.demo-daumen{width:39px;height:53px;left:calc(50% - 19.5px);bottom:10px}
.demo-platform{position:absolute;bottom:5px;left:25%;right:25%;height:6px;border:1px solid #e6b942;border-radius:3px;background:#ffdb45;box-shadow:0 8px 0 #252e2b,0 12px 0 #141c19}
.demo-arrow{bottom:47px;width:42px;height:42px;color:#ffdb45;border:2px solid #b8922655;border-radius:50%;box-shadow:0 0 0 5px #ffdb4512,0 0 15px #ffdb4522}
.demo-arrow.left{left:9px}.demo-arrow.right{right:9px}
.tap-arrow-art{width:48px;height:36px;margin-top:1px;margin-left:-5px;overflow:visible;fill:#ffdb45;stroke:#040706;stroke-width:3;stroke-linejoin:round;filter:drop-shadow(0 2px 0 #000)}
@keyframes demo-tap-right{0%,12%,25%,100%{transform:scale(1);box-shadow:0 0 0 5px #ffdb4512,0 0 15px #ffdb4522}18%{transform:scale(.82);box-shadow:0 0 0 9px #ffdb4533,0 0 19px #ffdb4566}}
@keyframes demo-tap-left{0%,62%,75%,100%{transform:scale(1);box-shadow:0 0 0 5px #ffdb4512,0 0 15px #ffdb4522}68%{transform:scale(.82);box-shadow:0 0 0 9px #ffdb4533,0 0 19px #ffdb4566}}
.air-demo .demo-platform.first{left:8px;right:auto;width:65px}.air-demo .demo-platform.second{right:8px;left:auto;width:65px}
.jump-path{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:#f4efdf88;stroke-width:1.5;stroke-dasharray:5 5;pointer-events:none}
.swipe-track{top:22px;left:66px;right:66px;height:24px}
.swipe-track b{font-size:30px;line-height:24px;opacity:0;color:#ffdb45;text-shadow:0 0 5px #ffa841;animation:demo-swipe-arrow 6s linear infinite}
.swipe-track i{top:9px;width:8px;height:8px;background:#fff9e9;border:0;box-shadow:0 0 7px #ffbd45}
@keyframes demo-swipe-arrow{0%,18%,38%,50%,68%,88%,100%{opacity:0;transform:scaleX(1)}20%,34%{opacity:1;transform:scaleX(1)}70%,84%{opacity:1;transform:scaleX(-1)}}
@keyframes demo-jump{0%,8%{transform:translate(-80px,0)}18%{transform:translate(-55px,-33px) rotate(-5deg)}25%{transform:translate(-34px,-53px)}34%{transform:translate(34px,-40px) rotate(6deg)}43%,50%,58%{transform:translate(80px,0)}68%{transform:translate(55px,-33px) rotate(5deg)}75%{transform:translate(34px,-53px)}84%{transform:translate(-34px,-40px) rotate(-6deg)}93%,100%{transform:translate(-80px,0)}}
@media(max-height:520px){#movement-hint{top:65px;padding-top:9px}}
body.dev-tutorial-test #movement-hint{display:block!important}
.dev-tutorial-tools{margin-top:12px;border-top:1px solid #b9cb9655;padding-top:8px}.dev-tutorial-tools button{display:block;width:100%;margin:7px 0!important;font-size:13px}.dev-tutorial-tools p:empty{display:none}

/* Reference-matched Moonward prompt and single-character control lessons. */
#play-intro{left:5%;right:5%;top:18%;padding:18px 19px 19px;background:#101715;border:4px solid #ffda44;border-radius:25px;box-shadow:0 5px 0 #050706,0 9px 12px #0007,inset 0 0 0 2px #080d0b;box-sizing:border-box}
#play-intro .intro-words{gap:1px;font:1000 clamp(27px,8.25vw,44px)/.99 'Arial Black','DejaVu Sans',system-ui,sans-serif;letter-spacing:-1.5px}
#play-intro .intro-words i,#play-intro .intro-words i:nth-child(n){color:#faf3e4;text-shadow:0 3px 0 #020303,1px 4px 1px #000;-webkit-text-stroke:.6px #faf3e4}
#play-intro .intro-words>span:last-child i{color:#ffdc42;-webkit-text-stroke:.6px #ffdc42}
#play-intro:before,#play-intro:after{top:56%;width:12px;height:3px;box-shadow:0 -12px 0 #ffdc42,0 12px 0 #ffdc42}
#play-intro:before{left:11px}#play-intro:after{right:11px}
.step-demo .demo-daumen{animation:demo-five-steps 5.5s steps(1,end) infinite}
.step-demo .demo-arrow.left{animation:demo-five-left 5.5s linear infinite}
.step-demo .demo-arrow.right{animation:demo-five-right 5.5s linear infinite}
.air-demo .demo-daumen{animation:demo-two-corrections 8s linear infinite}
.air-demo .jump-path .path-short,.air-demo .jump-path .path-long{stroke:#f4efdf77;stroke-dasharray:4 5;stroke-width:1.5}
.air-demo .jump-path .path-short{animation:demo-case-a 8s linear infinite}
.air-demo .jump-path .path-long{animation:demo-case-b 8s linear infinite}
.air-demo .jump-path .path-correct{stroke:#ffdc42aa;stroke-dasharray:5 4;animation:demo-path-fade 8s linear infinite}
.air-demo .miss-mark{position:absolute;bottom:9px;width:9px;height:9px;border:2px dashed #f4efdf99;border-radius:50%}
.air-demo .miss-mark.short{left:130px;animation:demo-case-a 8s linear infinite}
.air-demo .miss-mark.long{left:231px;animation:demo-case-b 8s linear infinite}
.air-demo .demo-case{position:absolute;top:3px;font:900 9px/1 'Arial Black',system-ui,sans-serif;color:#f4efdf;letter-spacing:1px}
.air-demo .demo-case.short{left:6px;animation:demo-case-a 8s linear infinite}
.air-demo .demo-case.long{right:6px;animation:demo-case-b 8s linear infinite}
.air-demo .swipe-track{top:29px;left:20px;right:20px}
.air-demo .swipe-track b{width:140px;max-width:100%;margin:auto;height:24px;line-height:0}
.air-demo .swipe-track svg{display:block;width:100%;height:24px;fill:#ffdb45;filter:drop-shadow(0 0 4px #ffa841)}
.air-demo .demo-case small{display:block;margin-top:3px;font:700 8px/1.2 system-ui,sans-serif;letter-spacing:0}
.air-demo .swipe-track b{animation-duration:8s;transform-origin:center}
.air-demo .swipe-track b{animation-name:demo-correction-arrow}
@keyframes demo-case-a{0%,46%{opacity:1}50%,98%{opacity:0}100%{opacity:1}}
@keyframes demo-case-b{0%,48%{opacity:0}52%,96%{opacity:1}100%{opacity:0}}
@keyframes demo-path-fade{0%,10%,46%,50%,60%,96%,100%{opacity:.24}23%,35%,73%,85%{opacity:.85}}
@keyframes demo-two-corrections{0%,5%{transform:translate(-91px,0)}12%{transform:translate(-62px,-32px) rotate(-5deg)}20%{transform:translate(-25px,-54px)}33%{transform:translate(28px,-37px) rotate(4deg)}43%,49%{transform:translate(62px,0)}50%{transform:translate(-91px,0)}55%{transform:translate(-91px,0)}62%{transform:translate(-35px,-42px) rotate(-4deg)}70%{transform:translate(18px,-54px)}83%{transform:translate(59px,-35px) rotate(-4deg)}93%,100%{transform:translate(62px,0)}}
@keyframes demo-correction-arrow{0%,19.99%{opacity:0;transform:translateX(-18px) scaleX(.25)}20%{opacity:1;transform:translateX(-18px) scaleX(.25)}33%{opacity:1;transform:translateX(18px) scaleX(1)}37%{opacity:1;transform:translateX(18px) scaleX(1)}40%,69.99%{opacity:0;transform:translateX(18px) scaleX(1)}70%{opacity:1;transform:translateX(18px) scaleX(-.25)}83%{opacity:1;transform:translateX(-18px) scaleX(-1)}87%{opacity:1;transform:translateX(-18px) scaleX(-1)}90%,100%{opacity:0;transform:translateX(-18px) scaleX(-1)}}
#run-time{font-size:11px;padding:2px 4px}
@media(max-width:340px){#play-intro{padding:16px 13px}#play-intro .intro-words{font-size:clamp(24px,8.1vw,31px);letter-spacing:-1.4px}}
@media(prefers-reduced-motion:reduce){.step-demo .demo-daumen,.step-demo .demo-arrow,.air-demo .demo-daumen,.air-demo .jump-path path,.air-demo .miss-mark,.air-demo .demo-case,.air-demo .swipe-track b,.air-demo .swipe-track i{animation:none}}
@keyframes demo-five-steps{0%,7.99%{transform:translateX(0)}8%,15.99%{transform:translateX(calc(var(--shuffle-step) * -1))}16%,23.99%{transform:translateX(calc(var(--shuffle-step) * -2))}24%,31.99%{transform:translateX(calc(var(--shuffle-step) * -3))}32%,39.99%{transform:translateX(calc(var(--shuffle-step) * -4))}40%,55.99%{transform:translateX(calc(var(--shuffle-step) * -5))}56%,63.99%{transform:translateX(calc(var(--shuffle-step) * -4))}64%,71.99%{transform:translateX(calc(var(--shuffle-step) * -3))}72%,79.99%{transform:translateX(calc(var(--shuffle-step) * -2))}80%,87.99%{transform:translateX(calc(var(--shuffle-step) * -1))}88%,100%{transform:translateX(calc(var(--shuffle-step) * 0))}}
@keyframes demo-five-left{0%{transform:scale(1)}7.99%{transform:scale(1)}8%{transform:scale(.79);box-shadow:0 0 0 8px #ffdb4533,0 0 18px #ffdb4566}10.2%{transform:scale(1);box-shadow:0 0 0 5px #ffdb4512,0 0 15px #ffdb4522}15.99%{transform:scale(1)}16%{transform:scale(.79);box-shadow:0 0 0 8px #ffdb4533,0 0 18px #ffdb4566}18.2%{transform:scale(1);box-shadow:0 0 0 5px #ffdb4512,0 0 15px #ffdb4522}23.99%{transform:scale(1)}24%{transform:scale(.79);box-shadow:0 0 0 8px #ffdb4533,0 0 18px #ffdb4566}26.2%{transform:scale(1);box-shadow:0 0 0 5px #ffdb4512,0 0 15px #ffdb4522}31.99%{transform:scale(1)}32%{transform:scale(.79);box-shadow:0 0 0 8px #ffdb4533,0 0 18px #ffdb4566}34.2%{transform:scale(1);box-shadow:0 0 0 5px #ffdb4512,0 0 15px #ffdb4522}39.99%{transform:scale(1)}40%{transform:scale(.79);box-shadow:0 0 0 8px #ffdb4533,0 0 18px #ffdb4566}42.2%{transform:scale(1);box-shadow:0 0 0 5px #ffdb4512,0 0 15px #ffdb4522}100%{transform:scale(1)}}
@keyframes demo-five-right{0%{transform:scale(1)}55.99%{transform:scale(1)}56%{transform:scale(.79);box-shadow:0 0 0 8px #ffdb4533,0 0 18px #ffdb4566}58.2%{transform:scale(1);box-shadow:0 0 0 5px #ffdb4512,0 0 15px #ffdb4522}63.99%{transform:scale(1)}64%{transform:scale(.79);box-shadow:0 0 0 8px #ffdb4533,0 0 18px #ffdb4566}66.2%{transform:scale(1);box-shadow:0 0 0 5px #ffdb4512,0 0 15px #ffdb4522}71.99%{transform:scale(1)}72%{transform:scale(.79);box-shadow:0 0 0 8px #ffdb4533,0 0 18px #ffdb4566}74.2%{transform:scale(1);box-shadow:0 0 0 5px #ffdb4512,0 0 15px #ffdb4522}79.99%{transform:scale(1)}80%{transform:scale(.79);box-shadow:0 0 0 8px #ffdb4533,0 0 18px #ffdb4566}82.2%{transform:scale(1);box-shadow:0 0 0 5px #ffdb4512,0 0 15px #ffdb4522}87.99%{transform:scale(1)}88%{transform:scale(.79);box-shadow:0 0 0 8px #ffdb4533,0 0 18px #ffdb4566}90.2%{transform:scale(1);box-shadow:0 0 0 5px #ffdb4512,0 0 15px #ffdb4522}100%{transform:scale(1)}}

/* Cropped approved reference: compact, full-weight letterforms and deliberate rays. */
@font-face{font-family:'HOHER Tutorial';src:url('tutorial-lilita-one.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
#play-intro{left:5%;right:5%;top:18%;padding:0;border:3px solid #ffdc42;border-radius:clamp(18px,5vw,27px);background:#101715;box-shadow:0 4px 0 2px #030605,inset 0 0 0 2px #f5d25222;overflow:hidden}
#play-intro:before,#play-intro:after{display:none}
#play-intro .intro-words{display:block;width:100%;height:auto;gap:0;letter-spacing:0;filter:none;overflow:visible}
#play-intro .intro-words text{font:400 136px/1 'HOHER Tutorial','Arial Black',sans-serif;fill:#f6f0e0;filter:drop-shadow(0 8px 0 #000);paint-order:stroke fill;stroke:#f6f0e0;stroke-width:.7px}
#play-intro .intro-words .intro-yellow{font-size:122px;fill:#ffdc42;stroke:#ffdc42}
#movement-hint .hint-title{font-family:'HOHER Tutorial','Arial Black',sans-serif;font-weight:400;letter-spacing:.1px;-webkit-text-stroke:.3px currentColor;text-shadow:0 3px 0 #000}
#movement-hint .hint-description,#movement-hint .hint-dismiss,.air-demo .demo-case,.air-demo .demo-case small{font-family:'HOHER Tutorial','Arial Black',sans-serif;font-weight:400}
/* Modal input shield leaves every existing demonstration/timing rule intact. */
#tutorial-shield{position:absolute;inset:0;z-index:29;background:transparent;touch-action:none}
#tutorial-shield[hidden]{display:none}
#movement-hint{z-index:30}
body.tutorial-paused footer,body.tutorial-paused #surface>:is(button,#height,#run-restart-confirm){pointer-events:none}
.basic-jump-demo{height:190px}
.basic-jump-demo .demo-platform{left:8px;right:8px}
.basic-jump-demo .demo-daumen{animation:demo-basic-jump 10s linear infinite}
.basic-jump-demo .demo-case{position:absolute;top:0;left:0;right:0;color:#f4efdf;font:400 16px/1.05 'HOHER Tutorial','Arial Black',sans-serif;letter-spacing:.2px;text-shadow:0 2px #000}
.basic-jump-demo .demo-case small{display:block;margin-top:4px;font-size:12px}
.basic-jump-demo .demo-case.small{animation:jump-example-small 10s linear infinite}
.basic-jump-demo .demo-case.big{animation:jump-example-big 10s linear infinite}
.jump-swipe{position:absolute;width:16px;transform-origin:center bottom;rotate:22deg;filter:drop-shadow(0 2px 0 #000)}
.jump-swipe svg{display:block;width:100%;height:100%;fill:#ffdc42}
.jump-swipe.small{left:65px;top:124px;height:34px;animation:jump-swipe-small 10s linear infinite}
.jump-swipe.big{left:70px;top:72px;height:87px;animation:jump-swipe-big 10s linear infinite}
@keyframes demo-basic-jump{0%,12%{transform:translate(-90px,0)}21%{transform:translate(-75px,-34px)}30%{transform:translate(-52px,-23px)}39%,49%{transform:translate(-30px,0)}50%,62%{transform:translate(-90px,0)}72%{transform:translate(-16px,-86px)}84%{transform:translate(45px,-48px)}94%,100%{transform:translate(65px,0)}}
@keyframes jump-example-small{0%,46%{opacity:1}49%,99%{opacity:0}100%{opacity:1}}
@keyframes jump-example-big{0%,49%{opacity:0}52%,96%{opacity:1}99%,100%{opacity:0}}
@keyframes jump-swipe-small{0%,4.99%{opacity:0;transform:scaleY(.15)}5%{opacity:1;transform:scaleY(.15)}12%{opacity:1;transform:scaleY(1)}17%,100%{opacity:0;transform:scaleY(1)}}
@keyframes jump-swipe-big{0%,54.99%{opacity:0;transform:scaleY(.15)}55%{opacity:1;transform:scaleY(.15)}62%{opacity:1;transform:scaleY(1)}67%,100%{opacity:0;transform:scaleY(1)}}

/* Wording-only heading artwork; all original panel crop/layout rules remain. */
#who-panel #who-title{background-image:url("who-introduction.png")}
