:root{--bg:#fde9d3;--ink:#5a2e1a;--accent:#f28b82;color:var(--ink);font-family:ui-rounded,SF Pro Rounded,system-ui,sans-serif}*{box-sizing:border-box}html,body,#root{background:var(--bg);overscroll-behavior:none;height:100%;margin:0}.game{height:100%;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);flex-direction:column;display:flex}.hud{flex-wrap:wrap;align-items:center;gap:8px 16px;padding:12px 16px;font-weight:600;display:flex}.hud h1{flex:1;margin:0;font-size:1.25rem}.stage{flex:1;min-height:0;position:relative;overflow:hidden}.stage canvas{position:absolute;inset:0}button,select{font:inherit;color:var(--ink);border:2px solid var(--ink);background:#fff;border-radius:999px;padding:6px 14px}.result{z-index:1;isolation:isolate;text-align:center;background:#fde9d3d9;place-content:center;justify-items:center;gap:12px;display:grid;position:fixed;inset:0}.result h2{margin:0;font-size:2rem}.result button{padding:10px 24px;font-size:1.2rem}.timer{font-variant-numeric:tabular-nums}.sprite{background-repeat:no-repeat;flex:none;display:inline-block}.icon-button{cursor:pointer;background:0 0;border:0;place-items:center;padding:4px;display:grid}.icon-button:active,.big-button:active,.map-node button:active{transform:scale(.94)}.screen{height:100%;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);flex-direction:column;display:flex;position:relative}.home{background:url(/assets/bg-home-C5c4vKaz.webp) center bottom / cover no-repeat var(--bg);align-items:center}.home .corner{top:calc(env(safe-area-inset-top) + 8px);right:calc(env(safe-area-inset-right) + 8px);position:absolute}.home .logo{margin:12vh 16px 0}.home .logo img{width:min(80vw,420px);height:auto;display:block}.big-button{background:var(--accent);box-shadow:0 4px 0 var(--ink);cursor:pointer;align-items:center;gap:10px;margin-top:3vh;padding:12px 36px;font-size:1.6rem;font-weight:700;display:flex}.top-bar{align-items:center;gap:8px;padding:8px 12px;display:flex}.top-bar h1{flex:1;margin:0;font-size:1.4rem}.map-scroll{flex:1;min-height:0;overflow-y:auto}.map-track{margin:0 auto;position:relative}.map-path{transform-origin:0;background-repeat:repeat-x;background-size:auto 100%;height:28px;position:absolute}.map-nodes{margin:0;padding:0;list-style:none}.map-node{flex-direction:column;align-items:center;display:flex;position:absolute;translate:-50% -42px}.map-node button{cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid;position:relative}.map-node button:disabled{cursor:default}.map-node .current{animation:1.2s ease-in-out infinite alternate bob}.map-number{color:#fff;text-shadow:0 2px #00000040;font-size:1.8rem;font-weight:800;position:absolute}.map-stars{margin-top:-14px;display:flex}@keyframes bob{to{transform:translateY(-6px)}}.settings-list{width:min(100%,480px);margin:8px auto;padding:0 16px;list-style:none}.settings-list li{border-bottom:2px dashed #5a2e1a33;align-items:center;gap:12px;padding:12px 0;font-size:1.15rem;font-weight:600;display:flex}.settings-list li>:nth-child(2){flex:1}.settings-list li.off .sprite{opacity:.5}.switch{cursor:pointer;background:#e3d3c0;width:56px;height:32px;padding:0;position:relative}.switch:after{content:"";border:2px solid var(--ink);background:#fff;border-radius:50%;width:24px;height:24px;transition:translate .15s;position:absolute;top:2px;left:2px}.switch[aria-checked=true]{background:#8fd3b0}.switch[aria-checked=true]:after{translate:24px}.hud-stats{flex-wrap:wrap;flex-basis:100%;align-items:center;gap:4px 16px;display:flex}.lives{gap:2px;display:flex}.result-hero{justify-items:center;gap:12px;padding:110px 0;display:grid;position:relative}.result-art{z-index:-1;animation:24s linear infinite spin;position:absolute;top:50%;left:50%;translate:-50% -50%}.result .stars{align-items:end;gap:4px;margin:0;display:flex}.result-actions{gap:12px;display:flex}.result-actions button{background:#fff}.result-actions .primary{background:var(--accent)}@keyframes spin{to{rotate:1turn}}@media (prefers-reduced-motion:reduce){.map-node .current,.result-art{animation:none}}.game[hidden]{display:none}
