:root{--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-left:env(safe-area-inset-left,0px);color:#3b3b3b;--paper-fold:linear-gradient(135deg, #fffdf8 0 52%, #eee9de 52%);--paper-shadow:0 4px 0 #3c321e2e, 0 8px 18px #1e28142e;--forest:radial-gradient(circle at 18% 30%, #cdeba047 0 34px, transparent 36px), radial-gradient(circle at 80% 22%, #fff0b44d 0 48px, transparent 50px), radial-gradient(circle at 62% 68%, #cdeba02e 0 26px, transparent 28px), radial-gradient(circle at 34% 78%, #fff0b429 0 40px, transparent 42px), radial-gradient(ellipse at 72% 28%, #fff4c480, transparent 60%), linear-gradient(#2f5236, #5d8048 55%, #a7a46a);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}html,body{-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;background:#3f6a3e;height:100%;margin:0;overflow:hidden}#game{touch-action:none;width:100%;height:100%;display:block;position:fixed;inset:0}#hud{pointer-events:none;position:fixed;inset:0}.hud-top{z-index:4;padding:calc(10px + var(--safe-top)) calc(12px + var(--safe-right)) 0 calc(12px + var(--safe-left));justify-content:space-between;align-items:center;display:flex;position:relative}.hud-title{background:#ffffffbf;border-radius:999px;padding:6px 14px;font-size:18px;font-weight:700}.hud-btn{pointer-events:auto;color:#3b3b3b;cursor:pointer;background:#fff;border:none;border-radius:50%;width:56px;height:56px;font-size:28px;line-height:1;box-shadow:0 3px #00000026}.hud-btn:active{transform:translateY(2px);box-shadow:0 1px #00000026}.hud-btn.primary{color:#fff;background:#ffb347}.hud-btn[hidden],.hud-win[hidden]{display:none}.hud-win{z-index:10;pointer-events:auto;background:#28321e59;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.win-card{background:var(--paper-fold);text-align:center;box-shadow:var(--paper-shadow);border-radius:28px;padding:14px 32px 20px;animation:.35s cubic-bezier(.2,1.6,.4,1) pop}.win-art{object-fit:contain;width:220px;height:117px;margin:0 auto 4px;display:block}.win-actions{justify-content:center;gap:16px;margin-top:14px;display:flex}.win-actions .hud-btn{box-shadow:0 3px #3c321e33}.win-actions .hud-btn.primary{background:#ff8a1c}@keyframes pop{0%{opacity:0;transform:scale(.6)}}#rotate{z-index:50;background:var(--forest);color:#fff;flex-direction:column;justify-content:center;align-items:center;font-size:22px;font-weight:700;display:none;position:fixed;inset:0}#rotate .rotate-icon{width:72px;height:72px}@media (orientation:portrait) and (pointer:coarse){.landscape-only #rotate{display:flex}}.lil-gui.lil-root,.lil-gui.root{top:calc(76px + var(--safe-top))!important}.hud-left{align-items:center;gap:10px;display:flex}.level-select{z-index:5;pointer-events:auto;background:#3f6a3e;position:fixed;inset:0}.level-select[hidden]{display:none}.ls-pages{scroll-snap-type:x mandatory;scrollbar-width:none;touch-action:pan-x;display:flex;position:absolute;inset:0;overflow:auto hidden}.ls-pages::-webkit-scrollbar{display:none}.ls-page{scroll-snap-align:start;padding:calc(64px + var(--safe-top)) calc(64px + var(--safe-right)) 40px calc(64px + var(--safe-left));box-sizing:border-box;flex-direction:column;flex:0 0 100%;justify-content:center;align-items:center;gap:16px;display:flex;position:relative;overflow:hidden}.ls-bg{filter:blur(3px)saturate(1.05);z-index:-1;background:50%/cover no-repeat;position:absolute;inset:-12px}.ls-page.locked .ls-bg{filter:blur(4px)grayscale(.45)brightness(.85)}.ls-head{background:#f7f5f0d9;border-radius:999px;align-items:center;gap:6px;padding:4px 16px 4px 6px;display:flex;box-shadow:0 3px #3c321e26}.ls-chapter-num{color:#fff;text-align:center;background:#ff8a1c;border-radius:50%;width:40px;height:40px;font:800 24px/40px system-ui,sans-serif}.ls-chapter-icon{width:40px;height:40px}.ls-lock{width:120px;height:120px;box-shadow:var(--paper-shadow);background:#f7f5f099;border-radius:36px;place-items:center;display:grid}.ls-lock-icon{width:72px;height:72px}.ls-grid{flex-wrap:wrap;justify-content:center;gap:26px 14px;max-width:640px;display:flex}.ls-level{background:var(--paper-fold);color:#3b3b3b;width:74px;height:74px;box-shadow:var(--paper-shadow);cursor:pointer;border:none;border-radius:22px;font:800 32px/1 system-ui,sans-serif;position:relative}.ls-level:active:not(:disabled){transform:translateY(2px);box-shadow:0 2px #3c321e2e}.ls-level:disabled{box-shadow:none;cursor:default;background:#f7f5f08c}.ls-level-lock{opacity:.8;width:34px;height:34px}.ls-tick{color:#fff;background:#5aa83a;border-radius:50%;width:28px;height:28px;font:800 16px/28px system-ui,sans-serif;position:absolute;top:-8px;right:-8px;box-shadow:0 2px #00000026}.ls-stars{justify-content:center;display:flex;position:absolute;bottom:-13px;left:0;right:0}.ls-star{width:22px;height:22px}.ls-star.off{filter:grayscale()opacity(.35)}.ls-top{top:calc(6px + var(--safe-top));left:calc(12px + var(--safe-left));right:calc(76px + var(--safe-right));pointer-events:none;align-items:center;gap:4px;display:flex;position:absolute}.ls-me{background:var(--paper-fold);min-width:0;min-height:52px;box-shadow:var(--paper-shadow);color:#3b3b3b;cursor:pointer;pointer-events:auto;border:none;border-radius:999px;align-items:center;gap:2px;margin-left:10px;padding:0 12px 0 2px;font:800 20px/1 system-ui,sans-serif;display:flex}.ls-me:active{transform:translateY(2px)}.ls-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ls-pencil,.ls-robin{flex:none}.ls-pencil{width:24px;height:24px;margin-left:6px}.ls-robin{width:52px;height:52px}.ls-title{letter-spacing:1px;color:#fff;text-shadow:0 2px #0000002e,0 0 12px #00000026;pointer-events:auto;margin:0;font:800 30px/1 system-ui,sans-serif}.ls-fullscreen{top:calc(8px + var(--safe-top));right:calc(12px + var(--safe-right));color:#3b3b3b;cursor:pointer;background:#f7f5f0e6;border:none;border-radius:50%;width:52px;height:52px;padding:12px;position:absolute;box-shadow:0 3px #3c321e2e}.ls-fullscreen svg{width:100%;height:100%;display:block}.ls-fullscreen:active{transform:translateY(2px);box-shadow:0 1px #3c321e2e}.ls-arrow{color:#3b3b3b;cursor:pointer;background:#f7f5f0e6;border:none;border-radius:50%;width:52px;height:52px;margin-top:-26px;font:800 36px/48px system-ui,sans-serif;position:absolute;top:50%;box-shadow:0 3px #3c321e2e}.ls-arrow.prev{left:calc(8px + var(--safe-left))}.ls-arrow.next{right:calc(8px + var(--safe-right))}.ls-arrow[hidden]{display:none}.ls-dots{bottom:calc(8px + env(safe-area-inset-bottom,0px));pointer-events:none;justify-content:center;gap:4px;display:flex;position:absolute;left:0;right:0}.ls-dot{pointer-events:none;background:radial-gradient(circle,#ffffff8c 5px,#0000 6px);width:20px;height:20px}.ls-dot.on{background:radial-gradient(circle,#fff 7px,#0000 8px)}.perf-overlay{top:calc(var(--safe-top) + 4px);color:#fff;white-space:nowrap;pointer-events:auto;z-index:20;background:#00000073;border:0;border-radius:6px;padding:2px 8px;font:12px/1.4 ui-monospace,monospace;position:fixed;left:50%;transform:translate(-50%)}.bench-report{inset:16px calc(var(--safe-right) + 16px) 16px calc(var(--safe-left) + 16px);pointer-events:auto;z-index:30;background:#fffffff5;border-radius:12px;flex-direction:column;gap:8px;padding:12px;display:flex;position:fixed}.bench-report pre{-webkit-user-select:text;user-select:text;flex:1;margin:0;font:11px/1.35 ui-monospace,monospace;overflow:auto}.bench-actions{justify-content:flex-end;gap:12px;display:flex}.bench-actions button{background:#ffd84d;border:0;border-radius:10px;min-width:96px;min-height:48px;font-size:18px}.carrot-palette{left:calc(12px + var(--safe-left));bottom:calc(12px + env(safe-area-inset-bottom,0px));gap:12px;display:flex;position:fixed}.carrot-palette[hidden]{display:none}.palette-btn{pointer-events:auto;background:var(--mode-color);cursor:pointer;touch-action:none;border:4px solid #ffffffe6;border-radius:50%;width:64px;height:64px;padding:0;transition:transform 80ms;position:relative;box-shadow:0 3px #0000002e}.palette-btn img{pointer-events:none;width:40px;height:40px;margin-top:2px}.palette-btn.selected{border-color:#2b2b2b;transform:scale(1.12)}.palette-ring{pointer-events:none;background:conic-gradient(#2b2b2b calc(var(--left,1) * 360deg), transparent 0);opacity:0;border-radius:50%;position:absolute;inset:-9px;-webkit-mask:radial-gradient(farthest-side,#0000 calc(100% - 5px),#000 calc(100% - 4px));mask:radial-gradient(farthest-side,#0000 calc(100% - 5px),#000 calc(100% - 4px))}.palette-btn.selected .palette-ring{opacity:1}.palette-count{color:#2b2b2b;pointer-events:none;background:#fff;border-radius:12px;min-width:24px;height:24px;font:700 16px/24px system-ui,sans-serif;position:absolute;top:-8px;right:-8px;box-shadow:0 1px 2px #00000040}.palette-count:empty{display:none}.palette-btn:disabled{opacity:.4;cursor:default}.palette-btn.new{animation:1s ease-in-out infinite palette-pulse}@keyframes palette-pulse{50%{transform:scale(1.18);box-shadow:0 0 0 8px #fff9}}.win-stars{justify-content:center;gap:4px;display:flex}.win-stars img{filter:grayscale()opacity(.3);width:48px;height:48px}.win-stars img.earned{filter:drop-shadow(0 2px #96640059);animation:.35s ease-out both star-pop}@keyframes star-pop{0%{transform:scale(0)}70%{transform:scale(1.3)}}.story{z-index:3;pointer-events:auto;cursor:pointer;position:fixed;inset:0}.story[hidden]{display:none}.bubble{--tail:50%;background:var(--paper-fold);box-shadow:var(--paper-shadow);white-space:nowrap;border-radius:24px;align-items:center;gap:6px;padding:8px 14px;display:flex;position:absolute;transform:translate(-50%,calc(-100% - 16px))}.bubble:after{content:"";left:var(--tail);background:#f6f2ea;border-radius:0 0 5px;width:20px;height:20px;margin-left:-10px;position:absolute;bottom:-9px;transform:rotate(45deg);box-shadow:4px 4px #3c321e1f}.bubble.pop{animation:.35s cubic-bezier(.2,1.6,.4,1) bubble-pop,1.6s ease-in-out 1.2s infinite bubble-wait}.bubble-emoji{text-align:center;width:46px;height:46px;font-size:38px;line-height:46px}.bubble-portrait{width:auto;height:64px}@keyframes bubble-pop{0%{opacity:0;transform:translate(-50%,calc(-100% - 16px))scale(.5)}}@keyframes bubble-wait{50%{transform:translate(-50%,calc(-100% - 20px))scale(1.04)}}.name-screen{z-index:8;pointer-events:auto;background:#28321e73;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.name-screen[hidden]{display:none}.name-card{background:var(--paper-fold);box-shadow:var(--paper-shadow);border-radius:28px;align-items:center;gap:14px;padding:14px 20px;animation:.35s cubic-bezier(.2,1.6,.4,1) pop;display:flex}.name-robin{width:110px;height:110px}.name-input{color:#3b3b3b;text-align:center;-webkit-user-select:text;user-select:text;background:#fff;border:3px solid #e2d9c6;border-radius:18px;width:9em;min-height:56px;padding:0 16px;font:800 28px/1 system-ui,sans-serif}.name-input:focus{border-color:#ffb347;outline:none}.name-ok{background:#fff;justify-content:center;align-items:center;width:64px;height:64px;display:flex}.name-ok-icon{width:42px;height:42px}@media (orientation:portrait){.name-card{flex-direction:column}}
