@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700;800;900&display=swap');
*{box-sizing:border-box}body{margin:0;color:#eeeaff;background:#15132c;font-family:Nunito,system-ui,sans-serif;background-image:radial-gradient(ellipse at 20% 0,#3e2763 0,transparent 45%),radial-gradient(ellipse at 90% 45%,#123d55 0,transparent 45%)}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #ffdd6b;outline-offset:4px}a{color:inherit;text-decoration:none}[hidden]{display:none!important}.gameheader{display:flex;justify-content:space-between;align-items:center;padding:20px 5%;border-bottom:1px solid #ffffff14;gap:20px;font-size:12px}.gameheader strong{font-size:15px;letter-spacing:1px}.gameheader strong span{font-size:11px;color:#a8a0ce}.gameheader button{background:#ffffff0d;border:1px solid #ffffff25;color:#c6bfe8;border-radius:20px;padding:9px 14px;font-size:11px}main{max-width:1100px;margin:auto;padding:30px 25px}.intro{text-align:center}.tag{color:#e7c96f;font-size:10px;letter-spacing:2px;font-weight:900}h1{font-size:43px;letter-spacing:-1.5px;line-height:1.12;margin:18px 0}h1 em{font-style:normal;color:#efc96c}.intro p{font-size:14px;color:#a9a0c7;line-height:1.7;max-width:540px;margin:15px auto 25px}.characters{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.character{position:relative;border:2px solid #61519e;border-radius:20px;background:linear-gradient(#332955,#1b1c39);color:white;padding:15px 5px 12px;transition:transform .15s}.character:hover{transform:translateY(-5px)}.character.selected{border-color:#ffdb71;box-shadow:0 0 24px #e6b75628;background:linear-gradient(#5c4170,#2b2343)}.character img{width:100%;height:135px;object-fit:contain;filter:drop-shadow(0 8px 8px #0005)}.character strong{font-size:15px;display:block;color:#93e4ff}.character.selected strong{color:#ffdd80}.character small{font-size:9px;color:#aaa0c7;display:block;margin-top:4px}.choicebar{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:20px 25px;border:1px solid #645285;border-radius:18px;margin:20px 0 32px;background:#30254277}.choicebar h2{margin:0;font-size:20px}.choicebar p{font-size:12px;color:#c8bddd;margin:5px 0}.primary{border:0;border-radius:14px;padding:15px 30px;background:linear-gradient(#ffe892,#ffce4d);color:#352048;font-weight:900;font-size:16px;box-shadow:0 5px 0 #ba8529}.secondary{border:1px solid #8d77b5;background:#39274f;color:white;border-radius:14px;padding:15px 25px;font-weight:800}.maphead{display:flex;align-items:center;justify-content:space-between}.maphead h2{font-size:18px}.maphead span{font-size:11px;color:#ac9fca}.levels{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.level{position:relative;min-height:105px;border:1px solid #8270a0;border-radius:15px;overflow:hidden;color:white;text-align:left;padding:14px;background-size:cover;background-position:center}.level:before{content:'';position:absolute;inset:0;background:linear-gradient(transparent,#14152aeb)}.level>*{position:relative}.level strong{display:block;font-size:12px;margin-top:28px}.level small{font-size:10px}.level.selected{outline:3px solid #ffdb70;outline-offset:2px}.level.locked{filter:grayscale(.8);opacity:.55;cursor:not-allowed}.hint{text-align:center;color:#998db8;font-size:11px;line-height:1.9;margin:25px 0 0}.hud{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:#25203f;border:1px solid #67539b;border-radius:18px 18px 0 0;gap:20px}.hud small{display:block;color:#a994d6;font-size:9px;letter-spacing:1px}.hud strong{font-size:18px}.metrics{display:flex;align-items:center;gap:20px;font-size:14px}.metrics #hearts{font-size:25px;color:#ff709d;letter-spacing:2px;white-space:nowrap}.metrics b{color:#ffe07e}.hud button{border:0;background:#483569;color:white;padding:8px 14px;border-radius:10px;font-size:18px}.stage{position:relative;border-left:1px solid #67539b;border-right:1px solid #67539b;background:#151327;overflow:hidden}canvas{display:block;width:100%;aspect-ratio:2/1;touch-action:none}.overlay{position:absolute;inset:0;background:#120f2bd9;display:flex;align-items:center;justify-content:center;text-align:center;padding:25px;backdrop-filter:blur(6px)}.overlay>div{max-width:460px}.overlay h2{font-size:32px;margin:10px 0}.overlay p{font-size:14px;line-height:1.7;color:#c1b5d9}.overlay #overicon{font-size:45px;color:#ffd667}.overbuttons{display:flex;justify-content:center;gap:15px;margin-top:22px;flex-wrap:wrap}#toast{position:absolute;top:15px;left:50%;transform:translateX(-50%);background:#221539df;color:#ffe196;padding:10px 20px;border:1px solid #94739b;border-radius:20px;font-size:12px;pointer-events:none;opacity:0;transition:opacity .2s;max-width:90%;text-align:center}#toast.visible{opacity:1}.controls{display:flex;align-items:center;justify-content:space-between;padding:15px 20px;background:#25203f;border:1px solid #67539b;border-radius:0 0 18px 18px;gap:12px}.direction,.actions{display:flex;gap:12px}.controls button{touch-action:none;user-select:none;-webkit-user-select:none;width:64px;height:58px;background:linear-gradient(#4b3873,#292247);border:2px solid #a8a2ff;border-radius:17px;color:white;font-size:30px;box-shadow:0 4px 0 #0b081e}.actions button{border-color:#65daf7;color:#8eeaff}.actions #jump{width:75px;font-size:35px;border-color:#e4ce7c;color:#ffe59c}.abilityinfo{text-align:center}.abilityinfo strong{font-size:12px;display:block;color:#d4b6ff}.abilityinfo span{font-size:10px;display:block;color:#9e94be;margin-top:4px}.missionhint{text-align:center;font-size:12px;color:#9c91bd;min-height:20px}footer{text-align:center;padding:20px;font-size:10px;color:#786c97}body.in-game main{max-width:1100px}body.in-game .gameheader{padding:12px 5%}@media(max-width:700px){main{padding:20px 12px}.gameheader{padding:15px;flex-wrap:wrap;gap:10px}.gameheader strong{font-size:12px}.gameheader strong span{display:none}.gameheader a{font-size:11px}h1{font-size:33px}.characters{grid-template-columns:repeat(3,1fr);gap:10px}.character img{height:115px}.character{padding:10px 5px}.levels{grid-template-columns:repeat(2,1fr)}.choicebar{padding:15px}.primary{padding:13px 22px;font-size:14px}.choicebar p{font-size:11px}.hud{padding:12px;gap:10px}.hud strong{font-size:13px}.metrics{gap:8px;font-size:11px}.metrics #hearts{font-size:17px;letter-spacing:0}.hud button{padding:6px 10px}.controls{padding:12px 10px}.controls button{width:50px;height:52px;font-size:26px}.actions #jump{width:56px}.direction,.actions{gap:8px}.abilityinfo strong{font-size:10px}.abilityinfo span{font-size:9px}.overlay h2{font-size:24px}.overlay p{font-size:11px;margin:8px 0}.overlay #overicon{font-size:26px}.overbuttons{gap:10px;margin-top:12px}.overbuttons button{padding:9px 15px;font-size:12px}.in-game main{padding:12px 6px}.missionhint{font-size:10px}.stage #toast{font-size:10px;padding:6px 12px;top:8px}}@media(max-height:550px) and (orientation:landscape){.in-game .gameheader{padding:6px 15px}.in-game main{padding:5px 10px;max-width:830px}.hud{padding:6px 15px}.controls{padding:7px 15px}.controls button{height:40px}.in-game footer,.in-game .missionhint{display:none}}

.controls{touch-action:none;user-select:none;-webkit-user-select:none}.controls button{-webkit-touch-callout:none}

.leaderboard{max-width:1120px;margin:32px auto;padding:28px}.leaderboard p{color:#c3b9d6;font-size:14px}#scorelist{list-style:none;margin:18px 0 0;padding:0}#scorelist li{display:flex;justify-content:space-between;gap:18px;padding:14px 10px;border-bottom:1px solid #76649155}#scorelist strong{color:#ffdc78}#scorelist span{font-size:14px}#scorestatus{font-size:14px;color:#c3b9d6}#scoremodal{color:#fff;background:#282044;border:1px solid #796796;border-radius:24px;max-width:450px;width:calc(100% - 32px);padding:28px}#scoremodal::backdrop{background:#0d0825bd}#scoreform label{display:block;margin:20px 0 8px}#initials{font:900 28px Nunito,system-ui;text-transform:uppercase;letter-spacing:8px;width:100%;padding:14px;background:#fff;color:#241b44;border:2px solid #bca0fa;border-radius:12px}#savestatus{font-size:14px;min-height:22px}.leaderboard .maphead{flex-wrap:wrap}button:disabled{opacity:.5}@media(max-width:600px){.leaderboard{margin:24px 12px;padding:20px}#scorelist li{align-items:flex-start;flex-direction:column;gap:5px}#scoremodal .overbuttons{flex-wrap:wrap}}
