body.maze.pp{overscroll-behavior:none}html.maze:has(body.pp){overscroll-behavior:none}body.maze{--z-floor:#f6efe2;--z-wall:#6b5634;--z-route:#e0603a;--z-route-lip:#b4471f;--z-exit:#2f9e57;--z-start:#b3a58c}.pp-stage.z-stage{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;flex:auto;align-items:center;min-height:0;padding:16px;container-type:size}@media (width>=631px){.pp-stage.z-stage{--stage-fit:min(880px, 100vw + 164px)}}.pp-card.z-card{--card-pad:22px;--gap:14px;--hud-h:52px;--tools-h:48px;--tip-h:20px;--chrome:calc(var(--hud-h) + var(--tools-h) + var(--tip-h) + 3 * var(--gap));--board:min(var(--board-max,640px), 100cqw - 2 * var(--card-pad), 100cqh - 2 * var(--card-pad) - var(--chrome));box-sizing:border-box;width:min(100cqw, max(var(--board) + 2 * var(--card-pad), 480px));padding:var(--card-pad);gap:var(--gap);align-items:center}@container (width<=599px){.pp-card.z-card{--card-pad:0px;--gap:12px;background:0 0;border:none;border-radius:0;width:100%;height:100%}.z-board{margin-block:auto}}@container (width<=599px) and (height<=520px){.pp-card.z-card{--chrome:calc(var(--hud-h) + var(--tools-h) + 2 * var(--gap))}.z-tip{display:none}}.z-hud{height:var(--hud-h);flex:none;grid-template-columns:repeat(4,minmax(0,1fr)) auto;align-self:stretch;gap:8px;display:grid}.pp-stat.z-stat{flex-direction:column;justify-content:center;min-width:0;padding:0 6px;display:flex;container-type:inline-size}.z-stat .pp-stat-label{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.z-stat .pp-stat-value{font-size:min(22px, 100cqi / (var(--chars,1) * .62));white-space:nowrap;line-height:24px}.pp-newgame.z-levels{white-space:nowrap;touch-action:manipulation;justify-content:center;align-items:center;gap:8px;padding:0 18px;display:flex}.z-levels-icon{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linejoin:round;display:none}.z-board{width:var(--board);height:var(--board);outline:none;flex:none;position:relative}.z-svg{width:100%;height:100%;display:block;overflow:visible}.z-floor{fill:var(--z-floor)}.z-walls{fill:none;stroke:var(--z-wall);stroke-width:.18px;stroke-linecap:round;stroke-linejoin:round}.z-exit-cell{fill:var(--z-exit);fill-opacity:.2}.z-arrow{fill:none;stroke-width:.16px;stroke-linecap:round;stroke-linejoin:round}.z-arrow-start{stroke:var(--z-start)}.z-arrow-exit{stroke:var(--z-exit)}.z-explored,.z-route,.z-glow,.z-hint{fill:none;stroke-linecap:round;stroke-linejoin:round}.z-explored{stroke:var(--z-route);stroke-opacity:.26;stroke-width:.14px}.z-route{stroke:var(--z-route);stroke-width:.2px}.z-fresh{stroke-dasharray:1 1}.z-glow{stroke:#fff6c9;stroke-width:.12px;stroke-dasharray:.22 2;stroke-dashoffset:.22px}.z-hint{stroke:var(--z-exit);stroke-width:.16px;stroke-dasharray:.01 .32;opacity:0}.z-hint.is-showing{opacity:1;animation:.7s linear infinite z-march,.2s ease-out z-hint-in}@keyframes z-march{to{stroke-dashoffset:-.33px}}@keyframes z-hint-in{0%{opacity:0}}.z-player-dot{fill:var(--z-route)}.z-player-shadow{fill:var(--z-route-lip)}.z-player-body{transform-box:fill-box;transform-origin:50%}.z-board.is-won .z-route{stroke:var(--z-exit)}.z-board.is-won .z-explored{stroke-opacity:.16}.z-board.is-won .z-exit-cell{fill-opacity:.32}.z-board.is-entering .z-svg{animation:.26s cubic-bezier(.2,.8,.3,1) z-enter}@keyframes z-enter{0%{opacity:0;transform:scale(.97)}}@media (prefers-reduced-motion:reduce){.z-board.is-entering .z-svg,.z-hint.is-showing{animation:none}}.z-tools{height:var(--tools-h);flex:none;grid-template-columns:repeat(3,minmax(0,1fr));align-self:stretch;gap:8px;display:grid}.z-tool,.z-tool:hover{min-width:0;box-shadow:none;color:#3d352c;cursor:pointer;touch-action:manipulation;background:#f2ebdd;border:none;border-radius:12px;justify-content:center;align-items:center;gap:6px;padding:0 4px;font-family:Instrument Sans,system-ui,sans-serif;font-size:15px;font-weight:600;transition:none;display:flex}.z-tool[hidden]{display:none}@media (hover:hover) and (pointer:fine){.z-tool:hover:not(:disabled){background:#eae0cd}.z-tool.z-next:hover{background:var(--accent);filter:brightness(.94)}}.z-tool:active:not(:disabled){background:#e6dbc6}.z-tool svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none}.z-tool:disabled,.z-tool:disabled:hover{color:#b9ae9d;cursor:default}.z-tool.z-next,.z-tool.z-next:hover{background:var(--accent);color:var(--game-accent-ink,#fff)}.z-tool.z-next svg{stroke-width:2.4px}.z-sound-off,.z-tool.is-off .z-sound-on{display:none}.z-tool.is-off .z-sound-off{display:block}.z-tool:focus-visible,.pp-newgame.z-levels:focus-visible{outline-offset:2px;outline:3px solid #241f1a}.z-tip{height:var(--tip-h);font-size:14px;line-height:var(--tip-h);text-align:center;color:#6f6557;white-space:nowrap;text-overflow:ellipsis;flex:none;align-self:stretch;margin:0;overflow:hidden}.z-sr-only,.z-sprites{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.z-picker{box-sizing:border-box;color:#241f1a;overscroll-behavior:contain;background:#fff;border:1px solid #eadfce;border-radius:22px;width:min(440px,100vw - 32px);max-height:min(600px,100dvh - 48px);padding:0;box-shadow:0 30px 80px -30px #241f1a80}.z-picker[open]{display:flex}.z-picker::backdrop{background:#241f1a73}.z-picker-panel{flex-direction:column;flex:auto;min-height:0;padding:18px 18px 20px;display:flex}.z-picker-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.z-picker-title{letter-spacing:-.01em;color:#241f1a;margin:0;font-family:Bricolage Grotesque,sans-serif;font-size:22px;font-weight:800}.z-picker-close,.z-picker-close:hover{width:44px;height:44px;box-shadow:none;color:#3d352c;cursor:pointer;touch-action:manipulation;background:#f2ebdd;border:none;border-radius:12px;flex:none;justify-content:center;align-items:center;padding:0;transition:none;display:flex}.z-picker-close svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round}.z-tabs{background:#f2ebdd;border-radius:14px;flex:none;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin-top:14px;padding:4px;display:grid}.z-tab,.z-tab:hover{min-width:0;height:48px;box-shadow:none;color:#5c5246;cursor:pointer;touch-action:manipulation;background:0 0;border:none;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:1px;padding:0 4px;transition:none;display:flex}.z-tab.is-selected,.z-tab.is-selected:hover{color:#241f1a;background:#fff;box-shadow:0 1px 2px #241f1a1f}.z-tab-name{font-family:Instrument Sans,system-ui,sans-serif;font-size:15px;font-weight:600;line-height:1.2}.z-tab-count{color:#6f6557;font-variant-numeric:tabular-nums;font-size:12px;font-weight:600;line-height:1.2}.z-picker-note{color:#6f6557;margin:12px 0 14px;font-size:14px;line-height:1.45}.z-picker-grid{flex:auto;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:8px;min-height:0;margin:-4px;padding:4px;display:grid;overflow-y:auto}.z-level,.z-level:hover{height:56px;box-shadow:none;color:#241f1a;cursor:pointer;touch-action:manipulation;background:#f2ebdd;border:2px solid #0000;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:0;transition:none;display:flex}.z-level-number{font-variant-numeric:tabular-nums;font-family:Bricolage Grotesque,sans-serif;font-size:19px;font-weight:800;line-height:1}.z-level-time{color:#2c6e48;font-variant-numeric:tabular-nums;font-size:11px;font-weight:600;line-height:1.2}.z-level.is-solved,.z-level.is-solved:hover{background:#e0f0e4}.z-level.is-current,.z-level.is-current:hover{border-color:var(--accent)}.z-level.is-locked,.z-level.is-locked:hover{color:#b9ae9d;cursor:default;background:#f7f3ec}@media (hover:hover) and (pointer:fine){.z-level:hover:not(:disabled){background:#eae0cd}.z-level.is-solved:hover{background:#cfe7d6}.z-picker-close:hover,.z-tab:not(.is-selected):hover{background:#eae0cd}}.z-level:focus-visible,.z-tab:focus-visible,.z-picker-close:focus-visible{outline-offset:2px;outline:3px solid #241f1a}.celebration-icon:has(.z-go){background:0 0}.z-go{width:56px;height:56px;margin:0 auto;position:relative}.z-go-exit{background:color-mix(in srgb, var(--z-exit) 32%, var(--z-floor));box-shadow:inset 0 0 0 3px color-mix(in srgb, var(--z-exit) 45%, transparent);border-radius:12px;position:absolute;inset:0}.z-go-dot{background:var(--z-route);width:30px;height:30px;box-shadow:inset 0 -4px 0 var(--z-route-lip);border-radius:50%;position:absolute;top:50%;left:50%;translate:-50% -50%}@container (width<=459px){.z-hud{grid-template-columns:repeat(4, minmax(0, 1fr)) var(--hud-h);gap:6px}.pp-newgame.z-levels{padding:0}.z-levels-icon{display:block}.z-levels-label{display:none}}@container (width<=359px){.pp-stat.z-stat{padding:0 3px}.z-stat .pp-stat-label{letter-spacing:.06em;font-size:10px}}@container (aspect-ratio>=4/3) and (height<=500px){.pp-card.z-card{--card-pad:0px;--gap:10px;--side:220px;--side-gap:20px;--hud-h:48px;--tools-h:44px;--board:min(100cqw - var(--side) - var(--side-gap), 100cqh);grid-template-columns:var(--board) var(--side);column-gap:var(--side-gap);background:0 0;border:none;border-radius:0;grid-template-rows:auto auto 1fr;grid-template-areas:"board hud""board tools""board tip";align-content:center;align-items:start;width:auto;height:auto;display:grid}.z-board{grid-area:board;align-self:center;margin-block:0}.z-hud{grid-area:hud;grid-template-columns:1fr 1fr;grid-auto-rows:var(--hud-h);height:auto}.pp-newgame.z-levels{grid-column:1/-1;padding:0 8px}.z-levels-icon{display:none}.z-levels-label{display:inline}.z-tools{grid-area:tools;grid-auto-rows:var(--tools-h);height:auto}.z-tool-label{display:none}.z-tip{white-space:normal;text-align:left;grid-area:tip;height:auto;line-height:1.4}}@container (aspect-ratio>=4/3) and (height<=360px){.z-tip{display:none}}@media (height<=500px){body.maze .pp-stage.z-stage{padding-top:8px;padding-bottom:8px}}@media (width<=599px){.pp-stage.z-stage{padding:12px}}body.pp.immersive .pp-stage.z-stage{padding:72px 16px 24px}body.pp.immersive .pp-card.z-card{--card-pad:16px;--board-max:900px;width:min(100cqw, max(var(--board) + 2 * var(--card-pad), 480px));background:#fff;border:1px solid #eadfce;border-radius:22px;height:auto}body.pp.immersive .pp-card.z-card .z-board{margin-block:0}@media (orientation:landscape) and (height<=500px){body.pp.immersive .pp-stage.z-stage{padding:12px 136px 12px 16px}body.pp.immersive .pp-card.z-card{--card-pad:10px;--board:min(100cqw - 2 * var(--card-pad) - var(--side) - var(--side-gap), 100cqh - 2 * var(--card-pad));width:auto}}
