*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden}body{color:#294e43;background:#e7eee2;font-family:Trebuchet MS,system-ui,sans-serif}button,input,select{font:inherit}button,select{cursor:pointer}button{color:#294e43;background:#fff8e7;border:1px solid #31594d26;border-radius:14px;min-height:46px;padding:12px 18px;font-weight:700;transition:background .15s,transform .15s}button:hover{background:#efd9a8;transform:translateY(-1px)}button:focus-visible,input:focus-visible,select:focus-visible{outline-offset:4px;outline:3px solid #dc8f4d}button.primary{color:#fff4d9;background:#315b4e;border-color:#0000}button.primary:hover{background:#24463b}button.flat{background:0 0}button small{opacity:.65;margin-top:4px;display:block}canvas{touch-action:none;width:100%;height:100%;display:block}#overlay{pointer-events:none;background:linear-gradient(90deg,#e9eddeee 0%,#e9eddebb 33%,#0000 75%);align-items:center;padding:4vw 7vw;display:flex;position:absolute;inset:0}#overlay:empty{display:none}.panel{pointer-events:auto;scrollbar-width:thin;width:min(470px,100%);max-height:88vh;overflow:auto}.panel.wide{background:#f9f3e5f5;border:1px solid #bec9b5;border-radius:28px;width:min(840px,100%);padding:28px;box-shadow:0 20px 60px #28493b18}.eyebrow{letter-spacing:3px;text-transform:uppercase;color:#5e7d68;margin:0 0 18px;font-size:11px;font-weight:800}h1{letter-spacing:-5px;margin:0 0 24px;font-family:Georgia,serif;font-size:clamp(56px,7.3vw,100px);font-weight:500;line-height:.92}h1 em{color:#bb704b;font-weight:400}h2{margin:5px 0 18px;font-family:Georgia,serif;font-size:36px;font-weight:500}h3{margin:26px 0 12px;font-size:15px}.lede{color:#526d5e;max-width:360px;margin-bottom:26px;font-size:18px;line-height:1.6}.menu-buttons{flex-wrap:wrap;gap:10px;display:flex}.menu-buttons .primary{min-width:210px}.secondary-nav{flex-wrap:wrap;gap:7px;margin:14px 0;display:flex}.tiny{color:#718575;font-size:12px;line-height:1.7}.motif{border:1px solid #779381;border-radius:50%;place-items:center;width:45px;height:45px;margin-bottom:22px;font-size:28px;display:grid}.level-grid{grid-template-columns:repeat(5,1fr);gap:9px;display:grid}.level-grid button{text-align:left;min-height:100px;padding:12px;font-size:12px}.level-grid b{color:#a26f4b;margin-bottom:7px;font-family:Georgia,serif;font-size:28px;display:block}.level-grid button.done{background:#dce6d4}.region-label{letter-spacing:2px;text-transform:uppercase;grid-column:1/-1;margin-top:12px;font-size:11px;font-weight:700}.settings{grid-template-columns:1fr 1fr;gap:12px 24px;display:grid}.settings label{flex-direction:column;gap:8px;font-size:13px;display:flex}.settings select{color:#294e43;background:#fff9eb;border:1px solid #c2cab4;border-radius:10px;padding:10px}.settings input{accent-color:#446f60}.settings .check{flex-direction:row;align-items:center}.settings .check input{width:20px;height:20px}.bindings{flex-wrap:wrap;gap:7px;margin:12px 0;display:flex}.bindings button{padding:8px 11px;font-size:12px}.cosmetics{grid-template-columns:repeat(4,1fr);gap:12px;margin:24px 0;display:grid}.cosmetics button{min-height:120px}.cosmetics i{margin-bottom:14px;font-size:42px;font-style:normal;display:block}.selected{box-shadow:inset 0 0 0 3px #b9864e}#hud{inset:max(16px,env(safe-area-inset-top)) 22px auto;pointer-events:none;justify-content:space-between;align-items:center;gap:10px;display:flex;position:absolute}.chapter{background:#fff8e8e8;border-radius:18px;padding:12px 18px;box-shadow:0 3px 12px #3352400b}.chapter small{text-transform:uppercase;letter-spacing:2px;margin-bottom:4px;font-size:9px;display:block}.chapter strong{font-size:15px}.hud-actions{align-items:center;gap:10px;display:flex}.hud-actions span{background:#fff8e8e8;border-radius:16px;padding:12px;font-size:13px;font-weight:700}.hud-actions button{pointer-events:auto;font-size:20px}#hint{text-align:center;pointer-events:none;background:#fff8e8eb;border-radius:18px;max-width:90%;padding:10px 20px;font-size:14px;position:absolute;bottom:110px;left:50%;transform:translate(-50%);box-shadow:0 3px 12px #3352400c}#touch{bottom:max(32px,env(safe-area-inset-bottom));pointer-events:none;justify-content:space-between;display:flex;position:absolute;left:24px;right:24px}#touch button{pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none;width:var(--touch-size,64px);height:var(--touch-size,64px);background:#fff8e5dd;border:2px solid #4b6c5e44;border-radius:50%;padding:0;font-size:27px}#touch .movement,#touch .abilities{gap:12px;display:flex}#touch #jump{color:#fff5de;width:calc(var(--touch-size,64px) + 10px);height:calc(var(--touch-size,64px) + 10px);background:#345d51;margin-top:-10px}#touch #ability{color:#f9f0d4;background:#a56c45}#notices{pointer-events:none;color:#466052;align-items:center;gap:12px;font-size:10px;display:flex;position:absolute;bottom:8px;left:22px;right:22px}#notices button{pointer-events:auto;background:#fff8e5b8;border-radius:8px;min-height:22px;padding:4px 9px;font-size:10px}#update{margin-left:auto;background:#f4d99c!important}#offline{background:#fff8e578;border-radius:5px;padding:3px 8px}body.playing #notices{bottom:5px}[hidden]{display:none!important}.stats{gap:12px;margin:22px 0;display:flex}.stats div{background:#e5e9d8;border-radius:16px;flex:1;padding:16px}.stats strong{font-size:28px;display:block}.stats small{font-size:11px}.demo{letter-spacing:12px;background:#e7eadb;border-radius:18px;margin:15px 0;padding:20px;font-size:38px}.footer-actions{flex-wrap:wrap;gap:10px;margin-top:22px;display:flex}@media (max-width:700px){#overlay{background:linear-gradient(90deg,#e9eddeee,#e9edde9c);align-items:center;padding:25px}h1{font-size:68px}.panel.wide{max-height:86vh;padding:20px}h2{font-size:29px}.level-grid{grid-template-columns:repeat(3,1fr)}.settings{grid-template-columns:1fr 1fr;gap:12px}.cosmetics{grid-template-columns:repeat(2,1fr)}#hud{left:12px;right:12px}.chapter{max-width:48%;padding:9px 11px}.chapter strong{font-size:12px}.hud-actions{gap:5px}.hud-actions span{padding:10px;font-size:11px}.chapter small{font-size:8px}.lede{font-size:16px}#touch{left:16px;right:16px}#hint{width:max-content;max-width:88%;font-size:12px;bottom:123px}}@media (max-height:500px){#overlay{padding:18px 6vw}h1{margin-bottom:12px;font-size:58px}.motif{display:none}.eyebrow{margin-bottom:12px}.lede{margin:10px 0 16px}.secondary-nav{margin:9px 0}.panel{max-height:90vh}#touch{bottom:27px}#touch button{width:54px;height:54px}#touch #jump{width:62px;height:62px}#hint{bottom:85px}.chapter{padding:8px 12px}.tiny{font-size:10px}}.route-map{background:linear-gradient(#d5e2d6,#f0e8ce);border-radius:10px;width:100%;height:70px;margin:6px 0;display:block}.level-grid .signature{opacity:1;color:#416451;min-height:28px;font-size:10px;line-height:1.4}.level-grid button{min-height:190px;transition:background .15s,transform .15s}.medals{flex-wrap:wrap;gap:7px;margin:18px 0;display:flex}.medals span{background:#f3e5bd;border:1px solid #cfb678;border-radius:20px;padding:8px 11px;font-size:12px;font-weight:700}.replay-challenge{background:#e3ead9;border-left:3px solid #ad8351;border-radius:10px;padding:12px 16px;font-size:14px;line-height:1.5}.stats{flex-wrap:wrap}.stats div{min-width:90px}.level-grid small{line-height:1.5}@media (max-width:700px){.level-grid{grid-template-columns:repeat(2,1fr)}.hud-actions span{padding:8px;font-size:10px}.chapter{max-width:42%}}
