:root{font-family:ui-rounded,'Trebuchet MS',system-ui,sans-serif;color:#26333d;background:#F4F8F8;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button{font:inherit;cursor:pointer;color:inherit;border:1.5px solid #26333d;background:#fff;border-radius:14px;min-height:46px}button:focus-visible,canvas:focus-visible{outline:3px solid #925076;outline-offset:4px}button:disabled{cursor:wait;opacity:.55}.shell{width:94vw;margin:0 auto}header{height:106px;display:flex;align-items:center;justify-content:space-between}.eyebrow{font-size:12px;font-weight:800;letter-spacing:2.2px;color:#586d76}h1{font-size:clamp(24px,3vw,36px);letter-spacing:-1.3px;margin:5px 0;font-weight:800}h1 span{color:#d26b8b}.top-actions{display:flex;gap:10px}.top-actions button{width:48px;background:transparent;font-size:23px}.game{position:relative;width:100%;height:min(69vh,690px);min-height:430px;overflow:hidden;border:2px solid #354853;border-radius:25px;background:#e5f4f5;isolation:isolate}canvas{width:100%;height:100%;display:block}.hud{position:absolute;top:20px;left:25px;right:25px;display:flex;gap:28px;pointer-events:none;padding:12px 18px;border:1px solid #ffffffa0;border-radius:16px;background:#ffffffdb;box-shadow:0 3px 0 #5265740c;width:fit-content;max-width:calc(100% - 50px)}.hud div{display:flex;flex-direction:column;gap:3px}.hud span{font-size:10px;letter-spacing:1.5px;font-weight:800;color:#5d7177}.hud strong{font-size:19px;white-space:nowrap}.hud #lives{color:#a63d61}.hud .combo strong{color:#965478}#notice{position:absolute;left:50%;top:108px;transform:translateX(-50%);padding:9px 18px;background:#fffdf5e8;border-radius:30px;color:#394a56;font-size:14px;font-weight:bold;opacity:0;transition:opacity .2s;pointer-events:none;text-align:center;max-width:85%}#notice.show{opacity:1}.overlay{position:absolute;inset:0;display:grid;place-items:center;background:#e5f2f3ac;backdrop-filter:blur(5px);z-index:3}.overlay[hidden]{display:none}.panel{text-align:center;width:min(440px,88%);padding:26px 30px;background:#fffdf8f5;border:1.5px solid #697b79;border-radius:26px;box-shadow:0 10px 0 #566e6c12}.panel #hero{width:100px;height:125px;object-fit:contain;display:block;margin:8px auto 0}.panel h2{font-size:32px;letter-spacing:-1px;margin:2px 0 14px}.panel p{font-size:16px;line-height:1.5;color:#51616a;margin:12px 0 22px}.primary{border-color:#943f60;background:#f1b8bf;padding:13px 30px;font-weight:800;min-width:185px;box-shadow:0 4px 0 #943f6022}.primary:hover{background:#f4c5cf}.panel .key-guide{font-size:13px;margin:20px 0 0}kbd{font:inherit;border:1px solid #a2a9a8;background:white;padding:3px 6px;border-radius:5px;margin-right:3px}.touch{display:none;position:absolute;left:18px;right:18px;bottom:18px;justify-content:space-between;pointer-events:none;z-index:2}.touch>div{display:flex;gap:10px}.touch button{pointer-events:auto;touch-action:none;user-select:none;-webkit-user-select:none;width:66px;height:61px;font-size:24px;background:#fffdf8eb;box-shadow:0 4px 0 #34465130}.touch button.active{background:#b0e0e6;transform:translateY(3px);box-shadow:none}.touch .jump{font-size:14px;font-weight:800;width:88px;background:#f1b8bfe8}footer{display:flex;justify-content:space-between;padding:18px 3px;color:#63777b;font-size:13px}.mobile-help{display:none}#results{margin:0 0 18px}#results .stars{font-size:36px;letter-spacing:9px;color:#a76e16;margin-bottom:14px}#results .stats{display:flex;justify-content:center;gap:24px}#results .stats span{display:block;font-size:11px;letter-spacing:1px;margin-bottom:4px}#results .stats strong{font-size:19px}@media(pointer:coarse){.touch{display:flex}.key-guide,.desktop-help{display:none}.mobile-help{display:inline}}@media(max-width:600px){.shell{width:100%;padding:0 10px}header{height:83px}h1{font-size:25px}.eyebrow{font-size:10px;letter-spacing:1.6px}.top-actions{gap:6px}.top-actions button{width:42px;min-height:42px}.game{height:calc(100svh - 135px);min-height:400px;max-height:850px;border-radius:19px}.hud{top:12px;left:12px;right:12px;gap:0;justify-content:space-between;padding:10px 12px;width:auto;max-width:none}.hud strong{font-size:16px}.hud span{font-size:9px;letter-spacing:.8px}.hud .timer{display:none}.hud #lives{font-size:15px}.desktop-help{font-size:10px}.key-guide{display:none}.mobile-help{display:none}footer{font-size:12px;padding:12px 3px}.panel{padding:22px 20px}.panel h2{font-size:28px}#notice{top:84px}.panel #hero{height:110px;width:88px}}@media(max-height:550px) and (orientation:landscape){header{height:66px}.game{height:calc(100svh - 82px);min-height:250px}footer{display:none}.panel{padding:14px 24px}.panel #hero{height:66px;width:53px}.panel h2{font-size:25px}.panel p{margin:8px 0;font-size:14px}.panel .key-guide{display:none}.hud{top:10px;padding:8px 14px}}

#powerup-status{position:absolute;top:92px;left:26px;color:#65466f;font-size:13px;font-weight:700;pointer-events:none}.top-actions button#sound{font-size:20px}.panel #hero{width:128px;height:150px}@media(max-width:600px){h1{font-size:23px}.top-actions{gap:5px}.top-actions button{width:38px;min-height:40px}.brand .eyebrow{font-size:8px;letter-spacing:1px}.panel #hero{width:112px;height:130px}#powerup-status{left:15px;top:77px}}

.shell{position:relative}.top-actions button#audio-controls{width:auto;padding:0 12px;font-size:13px;font-weight:700}.audio-settings{position:absolute;right:0;top:86px;z-index:5;display:grid;grid-template-columns:70px minmax(110px,180px) 42px;gap:14px 12px;align-items:center;background:#fffdf8;border:1.5px solid #526773;border-radius:18px;padding:20px;box-shadow:0 6px 0 #34465116;font-size:14px}.audio-settings[hidden]{display:none}.audio-settings input{width:100%;accent-color:#aa5478;height:28px}.audio-settings output{font-size:12px;color:#586d76;text-align:right}@media(max-width:600px){.audio-settings{top:72px;right:12px;padding:16px;grid-template-columns:62px minmax(100px,150px) 36px}.top-actions button#audio-controls{padding:0 8px;font-size:11px}.top-actions button{width:35px;min-height:38px}.brand .eyebrow{font-size:8px}}

/* Audit: retain page structure; enlarge desktop game and restore usable controls. */
.top-actions{flex-shrink:0}.top-actions button:not(#audio-controls){width:44px;min-width:44px;min-height:44px;display:grid;place-items:center}.top-actions svg{width:24px;height:24px}.mute-line{display:none;stroke:#c26382;stroke-width:2.6}#sound[aria-pressed="true"] .mute-line{display:block}
.panel{max-height:calc(100% - 24px);overflow-y:auto}.panel .key-guide{line-height:1.8}
@media(max-width:380px){.brand h1{font-size:20px}.brand .eyebrow{font-size:7px;letter-spacing:.5px}.top-actions{gap:3px}.top-actions button#audio-controls{padding:0 6px;min-height:44px}.hud{padding:10px 8px}.hud strong{font-size:14px}}
@media(max-height:550px) and (orientation:landscape){.panel #hero{width:53px;height:66px}}
@media(prefers-reduced-motion:reduce){#notice{transition:none}.primary:active,.touch button.active{transform:none}}

.top-actions button#audio-controls{min-height:44px}

.ladder-touch{display:none!important}.has-ladders .mobile-help{font-size:0}.has-ladders .mobile-help::after{content:'Usa ▲ e ▼ per le scale. SALTA per lasciarle.';font-size:12px}
.art-kit-view .game{aspect-ratio:3/2;height:auto;min-height:0;max-height:none}
@media(pointer:coarse){.has-ladders .touch{gap:10px}.has-ladders .ladder-touch{display:flex!important;gap:7px;margin-left:auto;margin-right:10px}.has-ladders .ladder-touch button{width:54px}.has-ladders .touch>div:first-child button{width:58px}}
@media(max-width:430px){.has-ladders .touch{left:10px;right:10px;gap:4px}.has-ladders .ladder-touch{gap:4px;margin:0}.has-ladders .ladder-touch button{width:44px}.has-ladders .touch>div:first-child{gap:4px}.has-ladders .touch>div:first-child button{width:46px}.has-ladders .touch .jump{width:64px}}

.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.level-picker{display:block;margin-top:5px}
.level-picker select{max-width:100%;min-height:44px;padding:4px 35px 4px 0;border:0;border-bottom:1.5px solid #91a3a6;border-radius:0;background:transparent;color:#26333d;font:800 clamp(23px,3vw,34px)/1.1 ui-rounded,'Trebuchet MS',system-ui,sans-serif;letter-spacing:-1.1px;cursor:pointer}
.level-picker select:hover{border-bottom-color:#925076}
.level-picker select:focus-visible{outline:3px solid #925076;outline-offset:4px;border-radius:4px}
.level-picker select:disabled{cursor:wait;opacity:.55}
@media(max-width:600px){.level-picker{margin-top:3px}.level-picker select{min-height:44px;font-size:22px;padding-right:28px;letter-spacing:-.7px}}
@media(max-width:380px){.level-picker select{font-size:19px;padding-right:22px}}

/* Responsive gameplay controls and compact overlays. */
.game,.game *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}
.game canvas,.touch,.joystick,.touch button{touch-action:none}
.overlay{padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}
.panel{max-height:100%;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}

@media(pointer:coarse){
 .touch{left:max(18px,env(safe-area-inset-left));right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));align-items:end}
 .touch>.dpad{display:grid;grid-template-columns:repeat(3,58px);grid-template-rows:repeat(3,54px);gap:4px}
 .dpad button{width:58px;height:54px;min-height:54px}
 .dpad-up{grid-column:2;grid-row:1}.dpad-left{grid-column:1;grid-row:2}.dpad-right{grid-column:3;grid-row:2}.dpad-down{grid-column:2;grid-row:3}
 .touch .jump{width:88px;height:70px;min-height:70px}
}

@media(pointer:coarse) and (max-height:900px){
 .panel{padding:clamp(12px,2.5vh,22px) 20px}
 .panel #hero{width:clamp(64px,12vh,100px);height:clamp(78px,15vh,125px);margin-top:4px}
 .panel h2{font-size:clamp(24px,4vh,30px);margin:0 0 8px}
 .panel p{font-size:14px;margin:6px 0 10px}
 #results{margin-bottom:10px}
 #results .stars{font-size:30px;margin-bottom:6px}
 #results .stats{gap:18px}
 .primary{min-height:48px}
}

@media(pointer:coarse) and (max-width:430px){
 .touch{left:max(10px,env(safe-area-inset-left));right:max(10px,env(safe-area-inset-right));bottom:max(10px,env(safe-area-inset-bottom))}
 .touch>.dpad{grid-template-columns:repeat(3,48px);grid-template-rows:repeat(3,48px);gap:3px}
 .dpad button,.has-ladders .touch>.dpad button{width:48px;height:48px;min-height:48px}
 .touch .jump,.has-ladders .touch .jump{width:70px;height:64px;min-height:64px}
 .hud span{font-size:10px;letter-spacing:.7px}
}

@media(pointer:coarse) and (max-height:550px) and (orientation:landscape){
 .panel{padding:10px 18px}
 .panel #hero{width:50px;height:62px;margin-top:1px}
 .panel h2{font-size:23px;margin-bottom:4px}
 .panel p{font-size:13px;line-height:1.35;margin:3px 0 6px}
 #results{margin-bottom:6px}
 #results .stars{font-size:25px;line-height:1;margin-bottom:3px}
 #results .stats{gap:14px}
 #results .stats span{font-size:9px;margin-bottom:1px}
 #results .stats strong{font-size:16px}
}

/* Site identity and touch controls outside the playable canvas. */
:root,body{background:#fff}
body{font-family:"Avenir Next",Avenir,"Century Gothic",system-ui,sans-serif}
.game,.game button,.touch,.touch button{font-family:ui-rounded,'Trebuchet MS',system-ui,sans-serif}
.brand{display:flex;align-items:center;gap:clamp(14px,2vw,26px);min-width:0}


.level-picker{margin-top:0}
.level-picker select{font-family:"Avenir Next",Avenir,"Century Gothic",system-ui,sans-serif}
.top-actions button:not(#audio-controls){padding:0;line-height:0}
.top-actions svg{display:block;margin:auto}

@media(pointer:coarse){
 .game{height:min(58svh,620px)}
 .touch{position:relative;left:auto;right:auto;bottom:auto;width:100%;min-height:184px;padding:10px max(18px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));align-items:center;background:#fff;z-index:auto}
}

@media(max-width:600px){
 header{height:auto;min-height:96px;padding:8px 0;align-items:flex-start}
 .brand{flex-direction:column;align-items:flex-start;gap:2px}


 .level-picker select{font-size:19px;min-height:38px;padding-block:1px}
 .audio-settings{top:96px}
}

@media(pointer:coarse) and (max-width:600px){
 .game{min-height:320px}
 .touch{min-height:164px;padding-left:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right))}
}

@media(max-width:380px){

}

@media(pointer:coarse) and (max-height:550px) and (orientation:landscape){
 .game{height:calc(100svh - 210px);min-height:180px}
 .touch{min-height:132px;padding-top:4px;padding-bottom:max(4px,env(safe-area-inset-bottom))}
 .touch>.dpad{grid-template-columns:repeat(3,44px);grid-template-rows:repeat(3,42px);gap:2px}
 .dpad button,.has-ladders .touch>.dpad button{width:44px;height:42px;min-height:42px}
 .touch .jump,.has-ladders .touch .jump{width:76px;height:58px;min-height:58px}
}

/* Compact in-game touch controls and maximum useful play area. */
.shell{width:100%;max-width:none;padding-inline:clamp(8px,1.2vw,18px)}
.game{height:calc(100dvh - 166px);max-height:none}
.joystick{display:none}

/* Public level title and desktop controls; keep diagnostic loading available. */
.level-picker[hidden]{display:none}
@media(pointer:fine){
 footer{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}
 footer .desktop-help{order:-1;max-width:100%;font-size:16px;line-height:1.5;text-wrap:balance}
 .game{height:calc(100dvh - 198px)}
}
@media(pointer:fine) and (max-width:1000px){footer .desktop-help{font-size:14px}}

@media(pointer:coarse), (any-pointer:coarse) and (min-width:601px) and (max-width:1400px){
 body{overflow:hidden}
 .shell{height:100dvh;overflow:hidden}
 .game{height:calc(100dvh - 116px);min-height:0;max-height:none}
 .touch{display:flex;position:absolute;left:max(14px,env(safe-area-inset-left));right:max(14px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom));width:auto;min-height:0;padding:0;align-items:flex-end;background:transparent;z-index:2}
 .joystick{display:block;position:relative;width:clamp(104px,14vmin,128px);height:clamp(104px,14vmin,128px);border:2px solid rgba(38,51,61,.58);border-radius:50%;background:rgba(255,255,255,.68);opacity:.24;pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;transition:opacity .12s ease}
 .joystick.active{opacity:.52}
 .joystick-knob{position:absolute;left:31%;top:31%;width:38%;height:38%;border:2px solid rgba(38,51,61,.72);border-radius:50%;background:rgba(241,184,191,.92);pointer-events:none;will-change:transform}
 .touch .jump,.has-ladders .touch .jump{width:104px;height:104px;min-height:0;border-radius:50%;background:rgba(241,184,191,.88);opacity:.26;box-shadow:none;transition:opacity .12s ease,transform .08s ease}
 .touch .jump.active{opacity:.55;transform:scale(.96)}
 footer{display:none}
}

@media(pointer:coarse) and (max-width:600px){
 .game{height:calc(100dvh - 104px);min-height:0}
 .touch .jump,.has-ladders .touch .jump{width:92px;height:92px}
}

@media(pointer:coarse) and (max-height:550px) and (orientation:landscape), (any-pointer:coarse) and (min-width:601px) and (max-width:1400px) and (max-height:550px) and (orientation:landscape){
 header{height:66px;min-height:66px;padding:4px 0;align-items:center}
 .brand{flex-direction:row;align-items:center;gap:8px}

 .game{height:calc(100dvh - 70px);min-height:0}
 .joystick{width:92px;height:92px}
 .touch .jump,.has-ladders .touch .jump{width:92px;height:92px}
}

@media(prefers-reduced-motion:reduce){.joystick,.touch .jump{transition:none}}

/* Game controls only: retain keyboard focus, suppress browser selection feedback. */
.shell button,.audio-settings input[type="range"]{-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}
.top-actions button#audio-controls{width:44px;min-width:44px;padding:0;display:grid;place-items:center;line-height:0}
.audio-settings input[type="range"]{-webkit-appearance:none;appearance:none;background:transparent;accent-color:#A63D61;cursor:pointer}
.audio-settings input[type="range"]:focus-visible{outline:3px solid #925076;outline-offset:3px;border-radius:4px}
.audio-settings input[type="range"]::-webkit-slider-runnable-track{height:6px;border-radius:4px;background:linear-gradient(to right,#A63D61 0 var(--volume-fill),#d8dddf var(--volume-fill) 100%)}
.audio-settings input[type="range"]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;margin-top:-5px;border:1px solid #A63D61;border-radius:50%;background:#A63D61}
.audio-settings input[type="range"]::-moz-range-track{height:6px;border-radius:4px;background:#d8dddf}
.audio-settings input[type="range"]::-moz-range-progress{height:6px;border-radius:4px;background:#A63D61}
.audio-settings input[type="range"]::-moz-range-thumb{width:14px;height:14px;border:1px solid #A63D61;border-radius:50%;background:#A63D61}

/* Keep native vector HUD and text legible without mobile text inflation. */
.hud,.audio-settings{-webkit-text-size-adjust:100%;text-size-adjust:100%}
@media(max-width:600px){.hud .timer{display:flex}}

/* MOELUME header identity; existing controls and game geometry preserved. */
header{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center}
header>.brand{grid-column:1;grid-row:1;min-width:0}
header>.top-actions{grid-column:3;grid-row:1;justify-self:end}
.moelume-header-link{position:static;grid-column:2;grid-row:1;justify-self:center;align-self:center;transform:none;width:240px;line-height:0}
.moelume-header-logo{display:block;width:100%;height:auto;object-fit:contain;pointer-events:none}
.moelume-header-link:focus-visible{outline:3px solid #925076;outline-offset:3px;border-radius:4px}
@media(min-width:601px) and (max-width:1000px){.moelume-header-link{width:200px}}
@media(min-width:1001px) and (max-width:1300px){.moelume-header-link{width:220px}}
@media(min-width:601px) and (max-width:759px) and (min-height:551px){.moelume-header-link{width:min(200px,calc(100% - 436px))}}

@media(max-width:600px){
 header{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:44px auto;row-gap:2px;align-items:center}
 .brand{display:contents}

 header>.top-actions{grid-column:2;grid-row:1}
 .moelume-header-link{position:relative;grid-column:1;grid-row:1 / 3;align-self:center;width:min(200px,calc(100% - 15px));left:auto;top:auto;transform:none}
 header>.brand{display:contents}
 .brand h1{grid-column:2;grid-row:2;justify-self:end;position:static;transform:none;text-align:right;white-space:nowrap}
}
@media(min-width:601px) and (max-height:550px) and (orientation:landscape){.moelume-header-link{display:block;position:static;width:140px;transform:none}}

/* Font-independent life indicators; typography and game state stay unchanged. */
.hud #lives{display:inline-flex;flex-direction:row;align-items:center;gap:5px;min-height:1.2em}
.life-heart{display:block;width:12px;height:12px;flex:0 0 auto}
@media(pointer:coarse), (any-pointer:coarse) and (min-width:601px) and (max-width:1400px){
 .hud{padding:10px 14px;gap:22px}
 .hud span{font-size:10px;letter-spacing:1.5px}
 .hud strong{font-size:17px}
}
@media(max-width:600px){
 .hud{left:12px;right:12px;width:auto;max-width:none;padding:8px 10px;gap:10px;display:grid;grid-template-columns:repeat(5,max-content);justify-content:space-between}
 .hud span{font-size:10px;letter-spacing:.7px}
 .hud strong,.hud #lives{font-size:16px}
 .hud #lives{gap:3px}
 .life-heart{width:11px;height:11px}
}
@media(pointer:coarse) and (min-width:601px) and (max-height:550px) and (orientation:landscape), (any-pointer:coarse) and (min-width:601px) and (max-width:1400px) and (max-height:550px) and (orientation:landscape){
 .hud{padding:8px 12px;gap:18px}
 .hud strong{font-size:16px}
}
@media(pointer:coarse) and (min-width:601px) and (min-height:551px), (any-pointer:coarse) and (min-width:601px) and (max-width:1400px) and (min-height:551px){
 header{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center}
 .brand{grid-column:1;min-width:0}

 .brand h1{font-size:30px;white-space:nowrap}
 .moelume-header-link{display:block;grid-column:2;grid-row:1}
 .top-actions{grid-column:3;grid-row:1;justify-self:end}
}

/* Local progress control; outside the Canvas and touch controls. */
