:root{color-scheme:dark;--cream:#fff4d8;--gold:#ffce57;--purple:#332041}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body{margin:0;background:#180f20;font-family:ui-rounded,'Trebuchet MS',sans-serif;color:var(--cream);overscroll-behavior:none}button,a{touch-action:manipulation}button{font:inherit;cursor:pointer;border:0;color:inherit}button:focus-visible,a:focus-visible{outline:4px solid #65edd6;outline-offset:4px}button:disabled{opacity:.6;cursor:wait}#app{height:100svh;min-height:570px;max-width:500px;margin:auto;position:relative;isolation:isolate;overflow:hidden;background:#34213f;box-shadow:0 0 100px #0007}canvas,.shade{position:absolute;inset:0;width:100%;height:100%}canvas{touch-action:none}.shade{pointer-events:none;background:linear-gradient(#190c27d0 0%,transparent 34%,transparent 60%,#190c27d9 100%)}header{height:88px;padding:max(16px,env(safe-area-inset-top)) 20px 5px;position:relative;z-index:5;display:flex;justify-content:space-between;align-items:flex-start}#home{background:none;padding:0;flex:none;text-align:left;width:150px}.logo-clean{display:block;width:148px;height:36px;position:relative;overflow:hidden}.logo-clean img{position:absolute;width:146.9%;max-width:none;left:-23.45%;top:-198.88%}#home small{display:block;font-size:7px;letter-spacing:1.1px;margin-top:6px;color:#fff5e6;text-shadow:0 1px 3px #000}header .header-actions{display:flex;gap:7px}.round{border:1px solid #ffffff40;background:#24152b90;backdrop-filter:blur(8px);width:43px;height:43px;border-radius:15px;font-size:23px;box-shadow:0 3px 0 #0002}.round:active{transform:translateY(2px)}#home-panel{position:absolute;top:92px;left:20px;right:20px;z-index:3;text-align:center;display:flex;flex-direction:column;align-items:center;pointer-events:none}#home-panel button{pointer-events:auto}.logo-party{position:relative;overflow:hidden;width:172px;aspect-ratio:2005/1920}.logo-party img{position:absolute;width:134.66%;max-width:none;left:-20.3%;top:-8.23%}h1{font-size:28px;margin:0 0 7px;font-weight:1000;letter-spacing:-1px;text-shadow:0 3px #321b40}p{font-size:14px;line-height:1.5;color:#fff1de;margin:7px 0 14px}.universe{font-size:11px;line-height:1.4;margin:0 0 13px;text-shadow:0 2px 3px #000}.difficulty{display:grid;grid-template-columns:1fr 1fr 1fr;gap:4px;padding:4px;border-radius:16px;background:#21132bd9;border:1px solid #f7d99a55;max-width:306px;width:100%;margin-bottom:13px}.difficulty button{font-size:11px;font-weight:900;min-height:32px;border-radius:11px;background:none;padding:7px 8px;color:#e4d4e5}.difficulty button.selected{background:#ffe09b;color:#3d2d48;box-shadow:0 2px #b48144}.mode-buttons{display:grid;gap:10px;width:264px}.primary,.secondary{font-weight:900;border-radius:18px;min-height:48px;padding:13px 19px;font-size:17px;box-shadow:0 5px #b57c3b;color:#402347;background:linear-gradient(#ffe7a3,#ffcf60);border:1px solid #ffeabd}.secondary{color:#fff3e1;background:linear-gradient(#664281,#50326c);border-color:#a886b6;box-shadow:0 4px #2e1e3b;font-size:14px}.primary:active,.secondary:active{transform:translateY(2px);box-shadow:0 2px #a9783f}.home-help{font-size:9px;margin:12px 0 0;color:#fff0ce}#instagram{position:absolute;bottom:27px;left:16px;right:16px;z-index:4;text-align:center;color:#ead8e4;text-decoration:none;font-size:10px}#instagram span{display:block;color:#ffe29a;font-weight:900;font-size:12px;margin-top:3px}#credits{position:absolute;bottom:7px;left:0;right:0;text-align:center;z-index:4;font-size:8px;color:#fff0d49a;text-decoration:none}#app:not(.home) #instagram,#app:not(.home) #credits{display:none}#app.home .shade{background:linear-gradient(#1c112891,#291432a8 30%,#29143275 54%,transparent 77%,#1c1128ed)}#hud{position:relative;z-index:2;padding:0 20px;pointer-events:none}.stage-meta{display:grid;grid-template-columns:auto 1fr;column-gap:9px;align-items:center;text-shadow:0 2px 3px #000;min-height:38px}#level-number{font-size:9px;letter-spacing:1px;border-right:1px solid #fff6;padding-right:9px;grid-row:span 2;white-space:nowrap}#level{font-size:16px;font-weight:1000;line-height:1.1}#city{font-size:8px;letter-spacing:1.8px;margin-top:4px}.stats{height:42px;display:flex;align-items:center;justify-content:space-between;font-weight:900;margin-top:5px}#hearts{color:#ffb4b8;letter-spacing:1px;font-size:17px;text-shadow:0 2px #793542;white-space:nowrap}#counter{background:#fff4d8;color:#48314e;box-shadow:0 3px #b99771;border-radius:13px;display:flex;align-items:center;justify-content:center;width:79px;height:32px;font-size:15px;font-variant-numeric:tabular-nums}.journey{background:#20122c80;border:1px solid #ffffff50;height:6px;border-radius:6px;overflow:hidden;margin-top:4px}.journey i{display:block;width:0;height:100%;background:linear-gradient(90deg,#71e2c2,#ffdf71);transition:width .2s}#overlay{position:absolute;top:25%;left:20px;right:20px;z-index:4;text-align:center;pointer-events:none}#card{padding:22px 17px;border-radius:25px;background:linear-gradient(#2e193ef5,#301c3edc);border:1px solid #ffe4a940;backdrop-filter:blur(9px);display:flex;flex-direction:column;align-items:center}#card button{pointer-events:auto;width:100%}#eyebrow{font-size:9px;font-weight:900;letter-spacing:2px;color:#ffdf91}#title{font-size:38px;line-height:1;letter-spacing:-1.3px;margin:15px 0 12px;color:#fff1d7}#title em{font-style:normal;color:#ffce60}#message{font-size:12px;margin:0 0 18px}#secondary{margin-top:12px}#audio-status{font-size:10px;max-width:270px;margin:5px 0 0}#audio-status:empty{display:none}#controls{position:absolute;bottom:0;left:0;right:0;z-index:4;height:155px;padding:0 17px max(9px,env(safe-area-inset-bottom));pointer-events:none;display:flex;flex-direction:column;align-items:stretch;gap:9px}.status-dock{display:grid;grid-template-columns:1fr 1fr;gap:8px;flex:0 0 40px;min-height:40px;max-height:40px}#cue,#remaining{width:100%;height:40px;min-width:0;padding:5px 7px;border:1px solid #ffffff65;background:#301c47e8;border-radius:14px;font-size:11px;line-height:14px;font-weight:900;color:#fff1bf;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;contain:size layout}#remaining{background:#fff0cfe8;color:#46324c;border-color:#ffeac1}.button-dock{display:grid;grid-template-columns:1fr 1fr;gap:10px;flex:0 0 58px}#controls button{pointer-events:auto;border-radius:18px;box-shadow:0 5px #281a3d;touch-action:none;font-weight:1000;font-size:15px;letter-spacing:.2px;display:flex;flex-direction:column;align-items:center;justify-content:center;height:58px}#duck{background:linear-gradient(#abefe1,#64cbb9);border:1px solid #ccfff0;color:#253e49}#jump{background:linear-gradient(#ffe6a3,#ffcf5b);border:1px solid #fff2c9;color:#43294c}#jump small{font-size:9px;letter-spacing:1px;margin-top:3px;color:#78566b}#controls button:active,#duck[aria-pressed="true"]{transform:translateY(3px);box-shadow:0 2px #281a3d}#hint{height:13px;margin:0;font-size:9px;line-height:13px;text-align:center;white-space:nowrap;color:#f2dfe8}#tour{position:absolute;top:93px;bottom:8px;left:17px;right:17px;z-index:3;overflow:auto;text-align:center;scrollbar-width:thin}.tour-title small{font-size:8px;color:#ffdf91;letter-spacing:1.8px}.tour-title h2{font-size:26px;margin:8px 0 2px;letter-spacing:-1px}.tour-title p{font-size:11px;margin:2px 0 13px}.compact{margin:0 auto 10px}.practice{padding:9px 15px;border-radius:13px;border:1px solid #ffffff40;background:#332045b3;color:#fff1d5;font-size:11px;margin-bottom:14px}.practice[aria-pressed="true"]{background:#79dfbd;color:#2b3142;font-weight:900}#destinations{display:grid;grid-template-columns:1fr 1fr;gap:11px;padding-bottom:15px}.destination{text-align:left;border-radius:17px;overflow:hidden;position:relative;background:#33233c;aspect-ratio:1.25;border:1px solid #ffe5a75c;box-shadow:0 4px 0 #150e23;padding:0}.destination img{inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center 40%;position:absolute}.destination .veil{position:absolute;inset:0;background:linear-gradient(transparent 25%,#1d1128ed 100%)}.destination .caption{position:absolute;bottom:10px;left:10px;right:7px;font-size:12px;line-height:1.12;font-weight:1000}.caption small{display:block;font-size:8px;letter-spacing:1px;color:#fbe3a9;margin-top:4px}.destination .number{position:absolute;top:7px;left:8px;border-radius:8px;font-size:9px;font-weight:900;padding:4px 6px;background:#251830bb}.destination .done{position:absolute;right:8px;top:7px;color:#523e43;background:#a0f0d0;border-radius:50%;padding:3px 6px;font-size:10px}#app.tour .shade{background:#1d1128a6}#app.result #overlay{top:21%}#app.result #card{padding:13px 13px}#app.result #title{font-size:30px;margin:10px 0 12px}#app.result #message{font-size:11px;margin-bottom:12px}#app.final-result #message{display:none}#app.final-result #title{font-size:28px}#app.final-result .primary{min-height:40px;padding:9px;font-size:15px}#app.final-result .secondary{min-height:35px;padding:7px;font-size:12px}#app.final-result #secondary{margin-top:9px}#loading{position:absolute;inset:0;background:#2b1b36;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;z-index:10;text-align:center}#loading strong{font-size:20px}#loading small{font-size:11px;color:#d8c4dc}.spinner{width:40px;height:40px;border:4px solid #ffffff20;border-top-color:#ffd976;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}[hidden]{display:none!important}@media(max-height:720px){#home-panel{top:80px}.logo-party{width:130px}h1{font-size:24px;margin-bottom:4px}.universe{font-size:9px;margin-bottom:10px}.difficulty{margin-bottom:9px}.difficulty button{min-height:29px;padding:6px}.mode-buttons{gap:8px;width:242px}.primary,.secondary{min-height:43px;padding:10px;font-size:15px}.home-help{font-size:8px;margin-top:9px}header{height:82px;padding-top:max(12px,env(safe-area-inset-top))}.logo-clean{width:132px;height:32px}#home{width:137px}#home small{font-size:6px}.round{width:40px;height:40px}#tour{top:86px}.tour-title h2{font-size:23px}.destination{aspect-ratio:1.42}#app.result #title{font-size:26px}#app.result #overlay{top:22%}#card{padding:18px 14px}#title{font-size:32px}#message{font-size:11px}#controls{height:145px;gap:7px}.status-dock{height:37px;min-height:37px;max-height:37px;flex-basis:37px}#cue,#remaining{height:37px;font-size:10px}.button-dock{flex-basis:54px}#controls button{height:54px;font-size:13px}}
@media(prefers-reduced-motion:reduce){.spinner{animation:none}*{transition:none!important}}

/* V4: grounded controls and an illustrated invitation. */
#home-panel{top:84px}.universe{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:3px 6px;max-width:285px;font-size:11px;margin-bottom:2px}.inline-logo{width:87px;height:21px}.game-title{width:270px;height:125px;object-fit:contain;display:block}h1{margin:0}.danger-guide{font-size:10px;margin:0 0 8px;text-shadow:0 2px 3px #231226}.danger-guide>div{height:42px;display:flex;align-items:center;justify-content:center;gap:14px}.danger-icon{width:43px;height:43px;display:inline-block;background-image:url('assets/props.webp');background-size:200% 200%}.danger-icon.bomb{background-position:left bottom}.danger-icon.balloon{background-position:right bottom}.guide-arrow{font-size:19px;color:#ffe4a0}#controls{height:145px;gap:8px}.button-dock{order:0}.status-dock{order:1}#hint{order:2}#jump[aria-pressed="true"]{transform:translateY(3px);box-shadow:0 2px #281a3d}#jump,#duck{transition:transform .1s,box-shadow .1s}#app.celebrating .shade{opacity:.5}@media(max-height:720px){#home-panel{top:77px}.game-title{height:105px;width:245px}.universe{font-size:9px;margin-bottom:0}.danger-guide{font-size:9px;margin-bottom:5px}.danger-guide>div{height:35px}.danger-icon{width:35px;height:35px}#controls{height:138px;gap:7px}}

/* V5 home: one large brand statement and two clear links. */
#app.home header #home{visibility:hidden}#home-panel{top:75px}.universe{max-width:335px;font-size:14px;gap:5px 8px;margin-bottom:1px}.inline-logo{width:129px;height:31px}.game-title{width:342px;max-width:90vw;height:155px}.danger-guide{font-size:11px}.danger-guide>div{height:44px}#instagram{bottom:83px;font-size:10px;left:22px;right:22px}#website{position:absolute;bottom:31px;left:20px;right:20px;z-index:4;color:#ead8e4;text-align:center;text-decoration:none;font-size:10px}#website span{display:block;color:#ffe29a;font-size:12px;font-weight:900;margin-top:3px}#app:not(.home) #website{display:none}#credits{bottom:9px}#app.home .home-help{margin-top:11px}@media(max-height:720px){#home-panel{top:58px}.universe{font-size:11px;max-width:320px;gap:2px 6px}.inline-logo{width:106px;height:26px}.game-title{height:119px;width:318px}.danger-guide{font-size:10px;margin-bottom:4px}.danger-guide>div{height:34px}.difficulty{margin-bottom:9px}.mode-buttons{gap:8px}.home-help{margin-top:9px!important}#instagram{bottom:74px;font-size:9px}#website{bottom:30px;font-size:9px}#website span,#instagram span{font-size:11px}}

/* V6: touch-safe playfield and visual instructions. */
html,body{height:100%;overflow:hidden}#app{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:none}#app img{-webkit-user-drag:none;pointer-events:none}#tour{touch-action:pan-y}#tour button{touch-action:pan-y}#tutorial{position:absolute;inset:72px 16px 12px;z-index:7;display:flex;align-items:center;justify-content:center;overflow:auto;touch-action:pan-y}.lesson-card{width:100%;padding:18px 16px;background:#2b193ff5;border:1px solid #ffe1a966;border-radius:25px;text-align:center;box-shadow:0 12px 40px #0005}.lesson-card>small{font-size:10px;color:#ffdb8b;letter-spacing:2px}.lesson-card h2{font-size:24px;line-height:1.1;margin:10px 0 15px}.lesson-moves{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.lesson-moves>div{background:#ffffff0c;border-radius:12px;padding:8px 2px}.lesson-moves b,.lesson-moves small{display:block;font-size:11px}.lesson-moves small{font-size:9px;margin-top:4px;color:#e3cbeb}.move-figure{height:56px;display:flex;align-items:center;justify-content:center;font-size:33px;font-weight:1000;color:#ffe090}.leap{animation:lessonJump 1.8s infinite}.double{animation:lessonDouble 1.8s infinite}.duck{animation:lessonDuck 1.8s infinite;color:#84e9d0}.lesson-row{margin:14px 0 10px}.lesson-row strong{font-size:13px}.lesson-row>small{display:block;font-size:10px}.lesson-icons{display:flex;align-items:center;justify-content:center;gap:10px;height:57px}.prize-icon{width:45px;height:45px;display:inline-block;background-image:url('assets/collectibles-v3.webp');background-size:400% 300%}#lesson-return{display:flex;align-items:center;justify-content:center;height:63px;gap:15px}#lesson-return>span:first-child{font-size:35px;color:#85e5c9;animation:lessonReturn 1s infinite}#lesson-return b{font-size:12px;color:#ffdc8a}#lesson-boss{width:65px;height:65px;background-size:200% 200%;background-position:0 0}#lesson-projectile{display:none;width:48px;height:48px;background-image:url('assets/boss-projectiles-v4.webp');background-size:300% 100%}#lesson-go{width:100%;margin-top:6px}#app.tutorial .shade{background:#1a0e2877}#app.intro #hud{display:none}#app.intro .shade{opacity:.2}
@keyframes lessonJump{50%{transform:translateY(-9px)}}@keyframes lessonDouble{30%{transform:translateY(-6px)}55%{transform:translateY(-17px)}}@keyframes lessonDuck{45%,70%{transform:translateY(10px)}}@keyframes lessonReturn{60%{transform:translate(9px,-5px)}}
@media(max-height:720px){#tutorial{inset:65px 14px 7px}.lesson-card{padding:12px}.lesson-card h2{font-size:21px;margin:7px 0 10px}.lesson-row{margin:9px 0 7px}.lesson-icons{height:48px}.move-figure{height:43px}#lesson-return{height:51px}#lesson-boss{width:51px;height:51px}.lesson-moves>div{padding:5px 2px}}

.move-figure{position:relative;font-size:19px;justify-content:flex-end;padding-right:8px}.move-figure::before{content:"";position:absolute;width:44px;height:59px;left:5px;bottom:0;background-image:url('assets/morocho-actions-v3.webp');background-size:400% 200%;background-position:0 100%}.move-figure.double::before{background-position:33.333% 100%}.move-figure.duck::before{background-position:66.667% 0}.lesson-moves>div{padding-top:13px}@media(max-height:720px){.move-figure::before{width:35px;height:47px}.lesson-moves>div{padding-top:10px}}

/* The final controls leave the moving cast visible. */
#app.final-result #overlay{top:78px}#app.final-result #hud{visibility:hidden}#app.final-result #card{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px}#app.final-result #eyebrow{display:none}#app.final-result #title{grid-column:1/-1;font-size:23px;margin:0 0 3px;line-height:1.05}#app.final-result #title br{display:none}#app.final-result #title em::before{content:" "}#app.final-result #secondary{margin:0}#app.final-result #play,#app.final-result #secondary{min-height:37px;font-size:12px;padding:7px}

/* Keep the stage below the complete logo, including mobile safe areas. */
header{height:auto;min-height:88px;padding-bottom:20px}#hud{padding-top:10px}
