:root,.pp-theme-light{color-scheme:light;--pp-bg: #fbf5ea;--pp-bg-alt: #f3e9d6;--pp-surface: #fffdf8;--pp-surface-2: #f8efdf;--pp-line: #e6d8c0;--pp-line-strong: #cdb99a;--pp-scrim: rgba(59, 47, 57, .42);--pp-ink: #3b2f39;--pp-ink-soft: #62505c;--pp-ink-faint: #7a6773;--pp-accent: #4a7a5b;--pp-accent-strong: #3c6649;--pp-accent-soft: #dcead4;--pp-on-accent: #ffffff;--pp-accent-2: #5f4ca8;--pp-accent-2-soft: #e6dff6;--pp-warm: #9d4c19;--pp-warm-soft: #fde3cc;--pp-rose: #9c4058;--pp-rose-soft: #f9dde3;--pp-ok: #2f6f47;--pp-ok-soft: #dcefe0;--pp-warn: #8f5e0b;--pp-warn-soft: #fbecc8;--pp-danger: #a63d35;--pp-danger-soft: #f9dcd8;--pp-info: #2f6c94;--pp-info-soft: #dcebf6;--pp-focus: #3b2a9e;--pp-focus-halo: #fffdf8;--pp-region-0: #b0cfa2;--pp-region-1: #c4b2e5;--pp-region-2: #fcc794;--pp-region-3: #efadbb;--pp-region-4: #f1ea9e;--pp-region-5: #94c9e6;--pp-region-6: #ee8c7e;--pp-region-7: #a1e6d6;--pp-region-8: #c6ae93;--pp-region-9: #bb82b0;--pp-region-10: #9bb05e;--pp-board-frame: #4a3a46;--pp-frame-ring: transparent;--pp-edge: #4a3a46;--pp-cell-line: rgba(74, 58, 70, .2);--pp-hover: rgba(255, 255, 255, .28);--pp-pattern-ink: rgba(74, 58, 70, .22);--pp-gutter-ink: #7d6a76;--pp-gutter-done: #4a7a5b;--pp-gutter-done-ink: #ffffff;--pp-region-done: #4a7a5b;--pp-region-done-ink: #ffffff;--pp-x-ink: #46343f;--pp-cat-line: #3f3038;--pp-cat-shadow: rgba(63, 48, 56, .22);--pp-cat-blush: #f08a96;--pp-clue-ring: #d9a63a;--pp-clue-glow: rgba(255, 228, 150, .95);--pp-clue-badge-bg: #5b4a8c;--pp-clue-badge-ink: #fffaf0;--pp-conflict: #e0665c;--pp-hint-focus: #6a55d6;--pp-hint-eliminate: #c8581f;--pp-hint-place: #2c8f58;--pp-hint-mistake: #d9453d;--pp-dim: rgba(251, 245, 234, .5);--pp-celebrate: #f3c34f;--pp-shadow-sm: 0 1px 2px rgba(74, 58, 70, .1), 0 1px 1px rgba(74, 58, 70, .06);--pp-shadow-md: 0 6px 16px -4px rgba(74, 58, 70, .18), 0 2px 4px rgba(74, 58, 70, .08);--pp-shadow-lg: 0 18px 40px -12px rgba(74, 58, 70, .28), 0 6px 12px rgba(74, 58, 70, .1);--pp-shadow-board: 0 14px 30px -10px rgba(74, 58, 70, .38), 0 3px 8px rgba(74, 58, 70, .14)}:root[data-theme=dusk],.pp-theme-dusk{color-scheme:dark;--pp-bg: #1f1b2c;--pp-bg-alt: #181522;--pp-surface: #2a2539;--pp-surface-2: #342e46;--pp-line: #403957;--pp-line-strong: #5b5179;--pp-scrim: rgba(10, 8, 20, .62);--pp-ink: #f3eadf;--pp-ink-soft: #d3c7d6;--pp-ink-faint: #aa9eb7;--pp-accent: #8cc79c;--pp-accent-strong: #a6d9b4;--pp-accent-soft: #2f4538;--pp-on-accent: #12241a;--pp-accent-2: #b9a8f2;--pp-accent-2-soft: #3a3358;--pp-warm: #f0a66f;--pp-warm-soft: #4a3526;--pp-rose: #eba0b2;--pp-rose-soft: #4a2c37;--pp-ok: #8fd0a0;--pp-ok-soft: #29402f;--pp-warn: #efc66a;--pp-warn-soft: #473a1b;--pp-danger: #f19a92;--pp-danger-soft: #4a2a2a;--pp-info: #8cc4ea;--pp-info-soft: #243a4c;--pp-focus: #efe9ff;--pp-focus-halo: #1f1b2c;--pp-region-0: #4e7452;--pp-region-1: #6b5d8e;--pp-region-2: #a77038;--pp-region-3: #a9656f;--pp-region-4: #918a44;--pp-region-5: #427b9f;--pp-region-6: #a84a42;--pp-region-7: #418c7c;--pp-region-8: #7b6042;--pp-region-9: #925a8e;--pp-region-10: #6a7a22;--pp-board-frame: #0d0a15;--pp-frame-ring: rgba(255, 255, 255, .14);--pp-edge: #0d0a15;--pp-cell-line: rgba(13, 10, 21, .32);--pp-hover: rgba(255, 255, 255, .14);--pp-pattern-ink: rgba(255, 245, 232, .2);--pp-gutter-ink: #aa9eb7;--pp-gutter-done: #8cc79c;--pp-gutter-done-ink: #12241a;--pp-region-done: #8cc79c;--pp-region-done-ink: #12241a;--pp-x-ink: #fffaf2;--pp-cat-line: #2a1f29;--pp-cat-shadow: rgba(8, 5, 14, .4);--pp-cat-blush: #ee8b9a;--pp-clue-ring: #f0c15a;--pp-clue-glow: rgba(255, 214, 120, .55);--pp-clue-badge-bg: #efe3c9;--pp-clue-badge-ink: #3c2f5a;--pp-conflict: #ff8a7e;--pp-hint-focus: #c2b4ff;--pp-hint-eliminate: #ffa66b;--pp-hint-place: #8fe0a8;--pp-hint-mistake: #ff8a7e;--pp-dim: rgba(20, 16, 32, .5);--pp-celebrate: #ffd36a;--pp-shadow-sm: 0 1px 2px rgba(0, 0, 0, .35);--pp-shadow-md: 0 8px 20px -6px rgba(0, 0, 0, .5), 0 2px 4px rgba(0, 0, 0, .3);--pp-shadow-lg: 0 22px 48px -14px rgba(0, 0, 0, .6), 0 6px 12px rgba(0, 0, 0, .35);--pp-shadow-board: 0 16px 34px -10px rgba(0, 0, 0, .6), 0 3px 8px rgba(0, 0, 0, .4)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]):not([data-theme=dusk]){color-scheme:dark;--pp-bg: #1f1b2c;--pp-bg-alt: #181522;--pp-surface: #2a2539;--pp-surface-2: #342e46;--pp-line: #403957;--pp-line-strong: #5b5179;--pp-scrim: rgba(10, 8, 20, .62);--pp-ink: #f3eadf;--pp-ink-soft: #d3c7d6;--pp-ink-faint: #aa9eb7;--pp-accent: #8cc79c;--pp-accent-strong: #a6d9b4;--pp-accent-soft: #2f4538;--pp-on-accent: #12241a;--pp-accent-2: #b9a8f2;--pp-accent-2-soft: #3a3358;--pp-warm: #f0a66f;--pp-warm-soft: #4a3526;--pp-rose: #eba0b2;--pp-rose-soft: #4a2c37;--pp-ok: #8fd0a0;--pp-ok-soft: #29402f;--pp-warn: #efc66a;--pp-warn-soft: #473a1b;--pp-danger: #f19a92;--pp-danger-soft: #4a2a2a;--pp-info: #8cc4ea;--pp-info-soft: #243a4c;--pp-focus: #efe9ff;--pp-focus-halo: #1f1b2c;--pp-region-0: #4e7452;--pp-region-1: #6b5d8e;--pp-region-2: #a77038;--pp-region-3: #a9656f;--pp-region-4: #918a44;--pp-region-5: #427b9f;--pp-region-6: #a84a42;--pp-region-7: #418c7c;--pp-region-8: #7b6042;--pp-region-9: #925a8e;--pp-region-10: #6a7a22;--pp-board-frame: #0d0a15;--pp-frame-ring: rgba(255, 255, 255, .14);--pp-edge: #0d0a15;--pp-cell-line: rgba(13, 10, 21, .32);--pp-hover: rgba(255, 255, 255, .14);--pp-pattern-ink: rgba(255, 245, 232, .2);--pp-gutter-ink: #aa9eb7;--pp-gutter-done: #8cc79c;--pp-gutter-done-ink: #12241a;--pp-region-done: #8cc79c;--pp-region-done-ink: #12241a;--pp-x-ink: #fffaf2;--pp-cat-line: #2a1f29;--pp-cat-shadow: rgba(8, 5, 14, .4);--pp-cat-blush: #ee8b9a;--pp-clue-ring: #f0c15a;--pp-clue-glow: rgba(255, 214, 120, .55);--pp-clue-badge-bg: #efe3c9;--pp-clue-badge-ink: #3c2f5a;--pp-conflict: #ff8a7e;--pp-hint-focus: #c2b4ff;--pp-hint-eliminate: #ffa66b;--pp-hint-place: #8fe0a8;--pp-hint-mistake: #ff8a7e;--pp-dim: rgba(20, 16, 32, .5);--pp-celebrate: #ffd36a;--pp-shadow-sm: 0 1px 2px rgba(0, 0, 0, .35);--pp-shadow-md: 0 8px 20px -6px rgba(0, 0, 0, .5), 0 2px 4px rgba(0, 0, 0, .3);--pp-shadow-lg: 0 22px 48px -14px rgba(0, 0, 0, .6), 0 6px 12px rgba(0, 0, 0, .35);--pp-shadow-board: 0 16px 34px -10px rgba(0, 0, 0, .6), 0 3px 8px rgba(0, 0, 0, .4)}}:root[data-contrast=high],:root[data-contrast=high] .pp-theme-light{--pp-ink: #1a1218;--pp-ink-soft: #3b2f39;--pp-ink-faint: #54434e;--pp-line: #b9a47f;--pp-line-strong: #5a4856;--pp-board-frame: #1a1218;--pp-edge: #1a1218;--pp-cell-line: rgba(26, 18, 24, .42);--pp-x-ink: #2d1f2a;--pp-cat-line: #1a1218;--pp-pattern-ink: rgba(26, 18, 24, .4);--pp-focus: #3a22b5;--pp-gutter-ink: #3b2f39}:root[data-contrast=high][data-theme=dusk],:root[data-contrast=high] .pp-theme-dusk{--pp-ink: #ffffff;--pp-ink-soft: #f3eadf;--pp-ink-faint: #d3c7d6;--pp-line: #6d6390;--pp-line-strong: #b9aed6;--pp-board-frame: #000000;--pp-edge: #000000;--pp-cell-line: rgba(0, 0, 0, .5);--pp-x-ink: #ffffff;--pp-cat-line: #000000;--pp-pattern-ink: rgba(255, 255, 255, .4);--pp-focus: #e2d9ff;--pp-gutter-ink: #f3eadf}@media(prefers-color-scheme:dark){:root[data-contrast=high]:not([data-theme=light]):not([data-theme=dusk]){--pp-ink: #ffffff;--pp-ink-soft: #f3eadf;--pp-ink-faint: #d3c7d6;--pp-line: #6d6390;--pp-line-strong: #b9aed6;--pp-board-frame: #000000;--pp-edge: #000000;--pp-cell-line: rgba(0, 0, 0, .5);--pp-x-ink: #ffffff;--pp-cat-line: #000000;--pp-pattern-ink: rgba(255, 255, 255, .4);--pp-focus: #e2d9ff;--pp-gutter-ink: #f3eadf}}:root{--pp-font-body: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;--pp-font-display: "Fredoka", ui-rounded, "SF Pro Rounded", "Nunito", system-ui, sans-serif;--pp-text-xs: .75rem;--pp-text-sm: .875rem;--pp-text-base: 1rem;--pp-text-md: 1.125rem;--pp-text-lg: 1.25rem;--pp-text-xl: 1.5rem;--pp-text-2xl: 2rem;--pp-text-3xl: 2.75rem;--pp-leading-tight: 1.15;--pp-leading-base: 1.5;--pp-space-1: 4px;--pp-space-2: 8px;--pp-space-3: 12px;--pp-space-4: 16px;--pp-space-5: 20px;--pp-space-6: 24px;--pp-space-8: 32px;--pp-space-10: 40px;--pp-space-12: 48px;--pp-space-16: 64px;--pp-radius-xs: 6px;--pp-radius-sm: 10px;--pp-radius-md: 14px;--pp-radius-lg: 20px;--pp-radius-xl: 28px;--pp-radius-pill: 999px;--pp-z-board: 1;--pp-z-hud: 10;--pp-z-sticky: 20;--pp-z-dropdown: 50;--pp-z-overlay: 100;--pp-z-modal: 200;--pp-z-toast: 300;--pp-touch: 44px;--pp-touch-lg: 52px;--pp-focus-width: 3px;--pp-dur-fast: .12s;--pp-dur: .2s;--pp-dur-slow: .36s;--pp-ease-out: cubic-bezier(.22, 1, .36, 1);--pp-ease-in-out: cubic-bezier(.65, 0, .35, 1);--pp-ease-bounce: cubic-bezier(.34, 1.56, .64, 1);--pp-vh: 1vh;--pp-safe-top: env(safe-area-inset-top, 0px);--pp-safe-right: env(safe-area-inset-right, 0px);--pp-safe-bottom: env(safe-area-inset-bottom, 0px);--pp-safe-left: env(safe-area-inset-left, 0px);--pp-page-pad: clamp(8px, 2.4vw, 24px);--pp-board-reserve: 250px;--pp-board-min: 240px;--pp-board-max: 640px}@supports (height: 100dvh){:root{--pp-vh: 1dvh}}:root[data-contrast=high]{--pp-focus-width: 4px}@font-face{font-family:Fredoka;src:url("./fredoka-latin-wght-normal-OX6WISTR.woff2") format("woff2-variations");font-weight:300 700;font-display:swap}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body,h1,h2,h3,h4,h5,h6,p,figure,blockquote,dl,dd,ul,ol{margin:0}ul,ol{padding:0;list-style:none}img,svg,video,canvas{max-width:100%}button,input,select,textarea{font:inherit;color:inherit}button{background:none;border:0;padding:0;cursor:pointer;touch-action:manipulation}button:disabled{cursor:not-allowed}a{color:var(--pp-accent-strong);text-underline-offset:.18em;touch-action:manipulation}[hidden]{display:none!important}html,body{min-height:100%}body{font-family:var(--pp-font-body);font-size:var(--pp-text-base);line-height:var(--pp-leading-base);color:var(--pp-ink);background-color:var(--pp-bg);background-image:radial-gradient(900px 520px at 50% -8%,var(--pp-surface),transparent);background-repeat:no-repeat;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}.pp-theme-light,.pp-theme-dusk{color:var(--pp-ink);background-color:var(--pp-bg)}::selection{background:var(--pp-accent-soft);color:var(--pp-ink)}h1,h2,h3,h4,.pp-display{font-family:var(--pp-font-display);font-weight:600;line-height:var(--pp-leading-tight);letter-spacing:.005em}h1{font-size:var(--pp-text-2xl)}h2{font-size:var(--pp-text-xl)}h3{font-size:var(--pp-text-lg)}h4{font-size:var(--pp-text-md)}.pp-num{font-family:var(--pp-font-display);font-weight:600;font-variant-numeric:tabular-nums}.pp-muted{color:var(--pp-ink-soft)}:focus{outline:var(--pp-focus-width) solid var(--pp-focus);outline-offset:2px}:focus:not(:focus-visible){outline:none}.pp-sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}.pp-touch{min-width:var(--pp-touch);min-height:var(--pp-touch)}.pp-icon{display:inline-block;flex:none;vertical-align:-.125em}@media(prefers-reduced-motion:reduce){:root:not([data-motion=full]) *,:root:not([data-motion=full]) *:before,:root:not([data-motion=full]) *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}:root[data-motion=reduce] *,:root[data-motion=reduce] *:before,:root[data-motion=reduce] *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}@media(forced-colors:active){:focus-visible{outline-color:Highlight}}.pp-board-wrap{--pp-size: var( --pp-board-size, max(var(--pp-board-min), min(calc(100vw - 2 * var(--pp-page-pad)), calc(100 * var(--pp-vh) - var(--pp-board-reserve)), var(--pp-board-max))) );--pp-gutter: clamp(13px, calc(var(--pp-size) * .04), 24px);--pp-frame: clamp(4px, calc(var(--pp-size) * .014), 9px);--pp-cell: calc((var(--pp-size) - var(--pp-gutter) - 2 * var(--pp-frame)) / var(--pp-n, 6));--pp-edge-w: clamp(1.5px, calc(var(--pp-cell) * .045), 3px);--pp-edge-w-hl: calc(var(--pp-edge-w) * 1.7);--pp-board-radius: clamp(10px, calc(var(--pp-size) * .045), 24px);--pp-hl: var(--pp-hint-focus);position:relative;display:grid;grid-template-columns:var(--pp-gutter) minmax(0,1fr);grid-template-rows:var(--pp-gutter) minmax(0,1fr);width:var(--pp-size);height:var(--pp-size);margin-left:auto;margin-right:auto;color:var(--pp-ink)}:root[data-contrast=high] .pp-board-wrap{--pp-edge-w: clamp(2.5px, calc(var(--pp-cell) * .075), 5px)}.pp-board-wrap[data-hl=focus]{--pp-hl: var(--pp-hint-focus)}.pp-board-wrap[data-hl=eliminate]{--pp-hl: var(--pp-hint-eliminate)}.pp-board-wrap[data-hl=place]{--pp-hl: var(--pp-hint-place)}.pp-board-wrap[data-hl=mistake]{--pp-hl: var(--pp-hint-mistake)}.pp-gutter{display:grid;pointer-events:none;user-select:none;-webkit-user-select:none}.pp-gutter--cols{grid-column:2;grid-row:1;grid-template-columns:repeat(var(--pp-n, 6),minmax(0,1fr));padding-left:var(--pp-frame);padding-right:var(--pp-frame)}.pp-gutter--rows{grid-column:1;grid-row:2;grid-template-rows:repeat(var(--pp-n, 6),minmax(0,1fr));padding-top:var(--pp-frame);padding-bottom:var(--pp-frame)}.pp-gm{--pp-gm: min(calc(var(--pp-gutter) - 3px), calc(var(--pp-cell) * .7));position:relative;display:grid;place-items:center;width:var(--pp-gm);height:var(--pp-gm);margin:auto;border-radius:50%;font-size:clamp(9px,calc(var(--pp-gm) * .62),14px);line-height:1;color:var(--pp-gutter-ink)}.pp-gm:after{content:"";position:absolute;left:50%;top:48%;width:26%;height:50%;border:solid var(--pp-gutter-done-ink);border-width:0 max(1.5px,.14em) max(1.5px,.14em) 0;opacity:0;transform:translate(-50%,-58%) rotate(45deg) scale(.4);transition:opacity var(--pp-dur-fast),transform var(--pp-dur) var(--pp-ease-bounce)}.pp-gm.is-done{background:var(--pp-gutter-done);color:transparent}.pp-gm.is-done:after{opacity:1;transform:translate(-50%,-58%) rotate(45deg) scale(1)}.pp-gm.is-hl:not(.is-done){background:var(--pp-hl);color:var(--pp-bg)}.pp-frame{grid-column:2;grid-row:2;position:relative;padding:var(--pp-frame);background:var(--pp-board-frame);border-radius:var(--pp-board-radius);box-shadow:var(--pp-shadow-board),0 0 0 1px var(--pp-frame-ring)}.pp-board{position:relative;display:grid;grid-template-columns:repeat(var(--pp-n, 6),minmax(0,1fr));grid-auto-rows:minmax(0,1fr);width:calc(var(--pp-cell) * var(--pp-n, 6));height:calc(var(--pp-cell) * var(--pp-n, 6));border-radius:max(4px,calc(var(--pp-board-radius) - var(--pp-frame)));overflow:hidden;contain:layout paint;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;background:var(--pp-board-frame)}.pp-row{display:contents}.pp-cell{position:relative;display:grid;place-items:center;min-width:0;min-height:0;background-color:var(--pp-cell-bg, var(--pp-region-0));cursor:pointer;outline:none;-webkit-tap-highlight-color:transparent;box-shadow:var(--e-t, 0 0 #0000),var(--e-r, 0 0 #0000),var(--e-b, 0 0 #0000),var(--e-l, 0 0 #0000),inset 0 0 0 .5px var(--pp-cell-line);--pp-edge-color: var(--pp-edge)}.pp-bt{--e-t: inset 0 var(--pp-edge-w) 0 0 var(--pp-edge-color)}.pp-br{--e-r: inset calc(var(--pp-edge-w) * -1) 0 0 0 var(--pp-edge-color)}.pp-bb{--e-b: inset 0 calc(var(--pp-edge-w) * -1) 0 0 var(--pp-edge-color)}.pp-bl{--e-l: inset var(--pp-edge-w) 0 0 0 var(--pp-edge-color)}.pp-cell[data-color="0"]{--pp-cell-bg: var(--pp-region-0);--pp-pat: radial-gradient(circle at 50% 50%, var(--pp-pattern-ink) 0 15%, transparent 17%);--pp-pat-size: calc(var(--pp-cell) / 3)}.pp-cell[data-color="1"]{--pp-cell-bg: var(--pp-region-1);--pp-pat: repeating-linear-gradient(45deg, var(--pp-pattern-ink) 0 2px, transparent 2px 7px);--pp-pat-size: auto}.pp-cell[data-color="2"]{--pp-cell-bg: var(--pp-region-2);--pp-pat: repeating-linear-gradient(0deg, var(--pp-pattern-ink) 0 2px, transparent 2px 7px);--pp-pat-size: auto}.pp-cell[data-color="3"]{--pp-cell-bg: var(--pp-region-3);--pp-pat: conic-gradient(var(--pp-pattern-ink) 0 25%, transparent 0 50%, var(--pp-pattern-ink) 0 75%, transparent 0);--pp-pat-size: calc(var(--pp-cell) / 4)}.pp-cell[data-color="4"]{--pp-cell-bg: var(--pp-region-4);--pp-pat: repeating-linear-gradient(90deg, var(--pp-pattern-ink) 0 2px, transparent 2px 7px);--pp-pat-size: auto}.pp-cell[data-color="5"]{--pp-cell-bg: var(--pp-region-5);--pp-pat: linear-gradient(var(--pp-pattern-ink) 1.5px, transparent 1.5px), linear-gradient(90deg, var(--pp-pattern-ink) 1.5px, transparent 1.5px);--pp-pat-size: calc(var(--pp-cell) / 4)}.pp-cell[data-color="6"]{--pp-cell-bg: var(--pp-region-6);--pp-pat: repeating-linear-gradient(-45deg, var(--pp-pattern-ink) 0 2px, transparent 2px 7px);--pp-pat-size: auto}.pp-cell[data-color="7"]{--pp-cell-bg: var(--pp-region-7);--pp-pat: radial-gradient(circle at 50% 50%, transparent 0 26%, var(--pp-pattern-ink) 28% 42%, transparent 44%);--pp-pat-size: calc(var(--pp-cell) / 3)}.pp-cell[data-color="8"]{--pp-cell-bg: var(--pp-region-8);--pp-pat: radial-gradient(circle at 25% 25%, var(--pp-pattern-ink) 0 11%, transparent 13%), radial-gradient(circle at 75% 75%, var(--pp-pattern-ink) 0 11%, transparent 13%);--pp-pat-size: calc(var(--pp-cell) / 2)}.pp-cell[data-color="9"]{--pp-cell-bg: var(--pp-region-9);--pp-pat: repeating-linear-gradient(45deg, var(--pp-pattern-ink) 0 1.5px, transparent 1.5px 7px), repeating-linear-gradient(-45deg, var(--pp-pattern-ink) 0 1.5px, transparent 1.5px 7px);--pp-pat-size: auto}.pp-cell[data-color="10"]{--pp-cell-bg: var(--pp-region-10);--pp-pat: radial-gradient(circle at 50% 50%, var(--pp-pattern-ink) 0 9%, transparent 11%);--pp-pat-size: calc(var(--pp-cell) / 5)}:root[data-patterns=on] .pp-board-wrap:not([data-patterns=off]) .pp-cell,.pp-board-wrap[data-patterns=on] .pp-cell{background-image:var(--pp-pat);background-size:var(--pp-pat-size)}@media(hover:hover){.pp-cell:not(.is-clue):hover:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--pp-hover);pointer-events:none}}.pp-board-wrap[data-tool=x] .pp-cell:not(.is-clue){cursor:crosshair}.pp-cell:focus{z-index:4;outline:var(--pp-focus-width) solid var(--pp-focus);outline-offset:calc(var(--pp-focus-width) * -1)}.pp-cell:focus:not(:focus-visible){outline:none}.pp-cat,.pp-x{grid-area:1 / 1;display:block;pointer-events:none}.pp-cat{width:88%;height:88%;overflow:visible;transform-origin:50% 90%}.pp-x{width:58%;height:58%;color:var(--pp-x-ink);opacity:.94}.pp-cell:not(.is-cat)>.pp-cat,.pp-cell:not(.is-x):not(.is-auto)>.pp-x{display:none}.pp-cell.is-auto>.pp-x{opacity:.28}.pp-cell.is-clue{cursor:default}.pp-cell.is-clue:before{content:"";position:absolute;top:4%;right:4%;bottom:4%;left:4%;border-radius:50%;background:radial-gradient(circle at 50% 56%,var(--pp-clue-glow),transparent 68%);pointer-events:none}.pp-cell.is-clue:after{content:"";position:absolute;top:max(2px,4%);right:max(2px,4%);bottom:max(2px,4%);left:max(2px,4%);border:max(1.5px,calc(var(--pp-cell) * .035)) solid var(--pp-clue-ring);border-radius:20%;opacity:.9;pointer-events:none}.pp-badge{--pp-badge: clamp(11px, calc(var(--pp-cell) * .3), 26px);position:absolute;top:5%;right:5%;display:grid;place-items:center;width:var(--pp-badge);height:var(--pp-badge);border-radius:50%;background:var(--pp-clue-badge-bg);color:var(--pp-clue-badge-ink);box-shadow:0 0 0 max(1px,calc(var(--pp-cell) * .025)) var(--pp-clue-ring),0 1px 2px #0000004d;pointer-events:none}.pp-badge>svg{width:64%;height:64%}.pp-rd{--pp-rd: clamp(9px, calc(var(--pp-cell) * .22), 17px);position:absolute;left:4%;bottom:4%;width:var(--pp-rd);height:var(--pp-rd);border-radius:50%;background:var(--pp-region-done);box-shadow:0 0 0 max(1px,calc(var(--pp-cell) * .02)) var(--pp-edge);opacity:0;transform:scale(.4);pointer-events:none;transition:opacity var(--pp-dur-fast),transform var(--pp-dur) var(--pp-ease-bounce)}.pp-rd:after{content:"";position:absolute;left:50%;top:47%;width:26%;height:50%;border:solid var(--pp-region-done-ink);border-width:0 max(1.5px,.1em) max(1.5px,.1em) 0;transform:translate(-50%,-58%) rotate(45deg)}.pp-rd.is-on{opacity:.95;transform:scale(1)}.pp-cell.is-conflict:after,.pp-cell.hl:after,.pp-cell[data-fx]:after{content:"";position:absolute;top:max(2px,3%);right:max(2px,3%);bottom:max(2px,3%);left:max(2px,3%);border-style:solid;border-width:max(2.5px,calc(var(--pp-cell) * .06));border-radius:18%;box-shadow:0 0 0 1.5px var(--pp-edge),inset 0 0 0 1.5px #fff9;pointer-events:none}.pp-cell.is-conflict:after{border-color:var(--pp-conflict);opacity:.85}.pp-cell.hl{z-index:2}.pp-cell.hl:after{border-color:var(--pp-hl);opacity:.95}.pp-cell.hl-region{--pp-edge-color: var(--pp-hl);--pp-edge-w: var(--pp-edge-w-hl)}.pp-cell.hl-region:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--pp-hl);opacity:.16;pointer-events:none}.pp-board-wrap[data-hl=place] .pp-cell.hl:not(.is-cat)>.pp-cat{display:block;opacity:.5}.pp-board-wrap[data-hl=eliminate] .pp-cell.hl:not(.is-x):not(.is-cat)>.pp-x{display:block;color:var(--pp-hl);opacity:.55}.pp-band{position:absolute;top:0;left:0;z-index:3;border:max(2.5px,calc(var(--pp-cell) * .05)) solid var(--pp-hl);border-radius:10px;box-sizing:border-box;background:transparent;pointer-events:none}.pp-band:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--pp-hl);opacity:.12}.pp-band--row{width:100%;height:calc(100% / var(--pp-n, 6));transform:translateY(calc(var(--i, 0) * 100%))}.pp-band--col{width:calc(100% / var(--pp-n, 6));height:100%;transform:translate(calc(var(--i, 0) * 100%))}.pp-cell[data-fx]:after{border-color:var(--pp-hint-mistake);opacity:.9}.pp-board-wrap.is-solved .pp-cell{cursor:default}.pp-board-wrap.is-celebrating .pp-cat{--pp-eyes-open: 0;--pp-eyes-happy: 1}.pp-board-wrap.is-celebrating .pp-frame{box-shadow:var(--pp-shadow-board),0 0 0 1px var(--pp-frame-ring),0 0 0 3px var(--pp-celebrate),0 0 28px 6px var(--pp-celebrate)}.pp-fx{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;pointer-events:none}.pp-petal{position:absolute;left:50%;top:50%;width:13px;height:18px;margin:-9px 0 0 -6px;border-radius:70% 0;background:var(--c, var(--pp-celebrate));box-shadow:0 0 0 1px #ffffff8c;opacity:0;pointer-events:none}.pp-cat-svg{display:block;width:100%;height:100%;overflow:visible}.pp-cat-preview{display:inline-block;overflow:visible}.pp-cat-svg--locked,.pp-cat-preview--locked{filter:grayscale(1) brightness(.55);opacity:.55}.pp-x-svg{display:block;width:100%;height:100%;color:var(--pp-x-ink)}.pp-paw-svg{display:block;width:100%;height:100%}@media(forced-colors:active){.pp-frame{padding:calc(var(--pp-frame) - 3px);border:3px solid CanvasText}.pp-cell{border:1px solid CanvasText}.pp-bt{border-top:3px solid CanvasText}.pp-br{border-right:3px solid CanvasText}.pp-bb{border-bottom:3px solid CanvasText}.pp-bl{border-left:3px solid CanvasText}.pp-x{color:CanvasText}.pp-cell:focus{outline-offset:calc(-5px - var(--pp-focus-width))}}@keyframes pp-pop{0%{transform:scale(.55);opacity:0}60%{transform:scale(1.08);opacity:1}}@keyframes pp-x-in{0%{transform:scale(.5) rotate(-14deg);opacity:0}}@keyframes pp-fade-in{0%{opacity:0}}@keyframes pp-rise{0%{transform:translateY(10px);opacity:0}}@keyframes pp-soft-pulse{0%,to{opacity:.35}50%{opacity:.95}}@keyframes pp-hint-pulse{0%,to{opacity:.95}50%{opacity:.4}}@keyframes pp-ghost-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-5%)}}@keyframes pp-wobble{0%,to{transform:rotate(0)}25%{transform:rotate(-5deg)}75%{transform:rotate(5deg)}}@keyframes pp-shake-a{20%{transform:translate(-7%)}40%{transform:translate(6%)}60%{transform:translate(-4%)}80%{transform:translate(2%)}}@keyframes pp-shake-b{20%{transform:translate(-7%)}40%{transform:translate(6%)}60%{transform:translate(-4%)}80%{transform:translate(2%)}}@keyframes pp-ring-a{0%{opacity:1}to{opacity:0}}@keyframes pp-ring-b{0%{opacity:1}to{opacity:0}}@keyframes pp-cheer{18%{transform:scale(1.1,.86)}42%{transform:scale(.94,1.08) rotate(-4deg)}65%{transform:scale(1.06,.92) rotate(3deg)}85%{transform:scale(.99,1.02)}}@keyframes pp-petal{0%{opacity:0;transform:translate(0) rotate(0) scale(.4)}12%{opacity:1}68%{opacity:1}to{opacity:0;transform:translate(calc(var(--dx, 0) * var(--pp-size)),calc(var(--dy, 0) * var(--pp-size) + 48px)) rotate(var(--rot, 180deg)) scale(1)}}@keyframes pp-spin{to{transform:rotate(360deg)}}.pp-cell.is-cat>.pp-cat{animation:pp-pop .28s var(--pp-ease-bounce)}.pp-cell.is-x>.pp-x{animation:pp-x-in .18s var(--pp-ease-out)}.pp-cell.is-auto>.pp-x{animation:pp-fade-in .2s var(--pp-ease-out)}.pp-cell.is-conflict:after{animation:pp-soft-pulse 1.8s ease-in-out infinite}.pp-cell.hl:after,.pp-band{animation:pp-hint-pulse 1.4s ease-in-out infinite}.pp-board-wrap[data-hl=place] .pp-cell.hl:not(.is-cat)>.pp-cat{animation:pp-ghost-bob 1.4s ease-in-out infinite}.pp-board-wrap[data-hl=mistake] .pp-cell.hl>.pp-cat{animation:pp-wobble .7s ease-in-out 2}.pp-cell[data-fx=a]>.pp-cat,.pp-cell[data-fx=a]>.pp-badge{animation:pp-shake-a .42s ease-out}.pp-cell[data-fx=b]>.pp-cat,.pp-cell[data-fx=b]>.pp-badge{animation:pp-shake-b .42s ease-out}.pp-cell[data-fx=a]:after{animation:pp-ring-a .56s ease-out forwards}.pp-cell[data-fx=b]:after{animation:pp-ring-b .56s ease-out forwards}.pp-board-wrap.is-celebrating .pp-cell.is-cat>.pp-cat{animation:pp-cheer .7s var(--pp-ease-out) calc(var(--k, 0) * 90ms)}.pp-board-wrap.is-celebrating .pp-petal{animation:pp-petal 1.4s var(--pp-ease-out) var(--delay, 0ms) both}.pp-board-wrap.is-mounting .pp-cat,.pp-board-wrap.is-mounting .pp-x{animation:none}.pp-board-wrap[data-motion=reduce],.pp-board-wrap[data-motion=reduce] *,.pp-board-wrap[data-motion=reduce] *:before,.pp-board-wrap[data-motion=reduce] *:after{animation:none!important;transition:none!important}.pp-anim-fade{animation:pp-fade-in var(--pp-dur) var(--pp-ease-out)}.pp-anim-rise{animation:pp-rise var(--pp-dur-slow) var(--pp-ease-out)}.pp-anim-pop{animation:pp-pop var(--pp-dur-slow) var(--pp-ease-bounce)}.pp-anim-spin{animation:pp-spin 1s linear infinite}.pp-btn{--btn-bg: var(--pp-surface);--btn-ink: var(--pp-ink);--btn-line: var(--pp-line-strong);--btn-depth: var(--pp-line);position:relative;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:var(--pp-touch);min-height:var(--pp-touch);padding:4px 6px;border:1px solid var(--btn-line);border-radius:var(--pp-radius-md);background:var(--btn-bg);color:var(--btn-ink);box-shadow:0 2px 0 var(--btn-depth),0 8px 12px -8px #4a3a4659;font-size:var(--pp-text-xs);font-weight:700;line-height:1.1;transition:transform var(--pp-dur-fast) var(--pp-ease-out),box-shadow var(--pp-dur-fast) var(--pp-ease-out),background-color var(--pp-dur-fast)}.pp-btn:active:not(:disabled){transform:translateY(2px);box-shadow:0 0 0 var(--btn-depth),0 4px 8px -6px #4a3a4659}.pp-btn:disabled{opacity:.42;box-shadow:none}@media(hover:hover){.pp-btn:hover:not(:disabled){--btn-bg: var(--pp-surface-2)}}.pp-btn-label{display:block;white-space:nowrap}.pp-btn.is-armed{--btn-bg: var(--pp-danger-soft);--btn-ink: var(--pp-danger);--btn-line: var(--pp-danger);--btn-depth: var(--pp-danger)}.pp-btn--primary{--btn-bg: var(--pp-accent);--btn-ink: var(--pp-on-accent);--btn-line: var(--pp-accent-strong);--btn-depth: var(--pp-accent-strong);flex-direction:row;gap:8px;min-height:var(--pp-touch-lg);padding:0 22px;font-family:var(--pp-font-display);font-size:var(--pp-text-md);font-weight:600}@media(hover:hover){.pp-btn--primary:hover:not(:disabled){--btn-bg: var(--pp-accent-strong)}}.pp-btn--primary.is-busy{opacity:.75}.pp-btn--ghost{flex-direction:row;gap:6px;min-height:var(--pp-touch-lg);padding:0 16px;font-size:var(--pp-text-sm)}.pp-icon-btn{display:inline-grid;flex:none;place-items:center;width:var(--pp-touch);height:var(--pp-touch);border:1px solid var(--pp-line);border-radius:var(--pp-radius-md);background:var(--pp-surface);color:var(--pp-ink);box-shadow:var(--pp-shadow-sm);transition:transform var(--pp-dur-fast) var(--pp-ease-out),background-color var(--pp-dur-fast)}.pp-icon-btn:active{transform:scale(.95)}@media(hover:hover){.pp-icon-btn:hover{background:var(--pp-surface-2)}}.pp-icon-btn[aria-expanded=true]{background:var(--pp-accent-soft);border-color:var(--pp-accent)}.pp-toggle{display:grid;grid-template-columns:1fr 1fr;gap:2px;padding:3px;border:1px solid var(--pp-line-strong);border-radius:var(--pp-radius-md);background:var(--pp-surface-2);box-shadow:inset 0 2px 3px #4a3a4624}.pp-toggle-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:var(--pp-touch);min-height:var(--pp-touch);border-radius:calc(var(--pp-radius-md) - 3px);color:var(--pp-ink-soft);font-size:var(--pp-text-xs);font-weight:700;line-height:1.1;transition:background-color var(--pp-dur-fast),color var(--pp-dur-fast),transform var(--pp-dur-fast) var(--pp-ease-out)}.pp-toggle-btn[aria-pressed=true]{background:var(--pp-accent);color:var(--pp-on-accent);box-shadow:0 2px 0 var(--pp-accent-strong),var(--pp-shadow-sm)}.pp-toggle-btn:active:not(:disabled){transform:scale(.96)}.pp-toggle-btn:disabled{opacity:.5}@media(min-aspect-ratio:6/5){.pp-controls>.pp-btn{flex-direction:row;gap:8px;font-size:var(--pp-text-sm)}.pp-toggle-btn{flex-direction:row;gap:8px;font-size:var(--pp-text-sm)}}.pp-tip{--tip-bg: var(--pp-surface-2);--tip-ink: var(--pp-ink-soft);display:flex;align-items:center;gap:8px;min-width:0;padding:2px 6px 2px 12px;border-radius:var(--pp-radius-md);background:var(--tip-bg);color:var(--tip-ink);font-size:13.5px;line-height:1.25}.pp-tip[data-empty=true]{background:transparent}.pp-tip[data-kind=hint]{--tip-bg: var(--pp-accent-2-soft);--tip-ink: var(--pp-ink)}.pp-tip[data-kind=warn]{--tip-bg: var(--pp-warn-soft);--tip-ink: var(--pp-ink)}.pp-tip[data-kind=busy]{--tip-bg: var(--pp-info-soft);--tip-ink: var(--pp-ink)}.pp-tip[data-kind=busy]:before{content:"";flex:none;width:14px;height:14px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:pp-spin .9s linear infinite}.pp-tip-text{display:-webkit-box;flex:1 1 auto;min-width:0;overflow:hidden;-webkit-box-orient:vertical}.pp-tip-btn{display:inline-grid;flex:none;place-items:center;min-width:var(--pp-touch);min-height:var(--pp-touch);margin-block:-4px;padding:0 10px;border-radius:var(--pp-radius-sm);color:var(--pp-accent-strong);font-size:var(--pp-text-sm);font-weight:700}.pp-tip-btn-icon{display:none}.pp-tip-text{-webkit-line-clamp:3;line-clamp:3}@media(min-width:600px)and (max-aspect-ratio:6/5){.pp-tip-text{-webkit-line-clamp:2;line-clamp:2}}@media(min-aspect-ratio:6/5){.pp-tip{line-height:1.2}.pp-tip-text{-webkit-line-clamp:4;line-clamp:4}.pp-tip-btn{width:var(--pp-touch);padding:0;border-radius:50%;background:var(--pp-surface);box-shadow:var(--pp-shadow-sm)}.pp-tip-btn-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.pp-tip-btn-icon{display:grid}}.pp-shell[data-guide=guided] .pp-cell.hl:after{animation:none;opacity:.75}.pp-sheet{display:flex;flex-direction:column;grid-column:1;grid-row:1 / span 2;justify-content:center;gap:8px;min-width:0;padding:8px 10px;border:1px solid var(--pp-line);border-radius:var(--pp-radius-lg);background:var(--pp-surface);box-shadow:var(--pp-shadow-md);animation:pp-rise var(--pp-dur-slow) var(--pp-ease-out)}.pp-sheet[hidden]{display:none}.pp-sheet-top{display:flex;align-items:center;gap:12px;min-width:0}.pp-stars{display:flex;flex:none;gap:2px}.pp-star{display:grid;color:var(--pp-line-strong)}.pp-star .pp-icon{fill:transparent}.pp-star.is-earned{color:var(--pp-warm);animation:pp-pop .48s var(--pp-ease-bounce) calc(var(--i, 0) * .14s + .12s) backwards}.pp-star.is-earned .pp-icon{fill:var(--pp-celebrate)}.pp-sheet-msg{display:grid;min-width:0;line-height:1.2}.pp-sheet-title{overflow:hidden;font-family:var(--pp-font-display);font-size:var(--pp-text-md);font-weight:600;text-overflow:ellipsis;white-space:nowrap}.pp-sheet-meta{color:var(--pp-ink-soft);font-size:var(--pp-text-sm);font-variant-numeric:tabular-nums}.pp-sheet-actions{display:flex;gap:8px}.pp-sheet-actions .pp-btn--primary{flex:1 1 auto;justify-content:center}@media(min-aspect-ratio:6/5){.pp-sheet{gap:14px;padding:14px}.pp-sheet-top{flex-direction:column;align-items:flex-start;gap:6px}.pp-sheet-actions{flex-direction:column-reverse}.pp-sheet-actions .pp-btn--ghost{justify-content:center}}.pp-toast{display:inline-flex;align-items:center;gap:8px;max-width:100%;padding:6px 16px 6px 10px;border:1px solid var(--pp-line-strong);border-radius:var(--pp-radius-pill);background:var(--pp-surface);color:var(--pp-ink);box-shadow:var(--pp-shadow-lg);font-size:var(--pp-text-sm);font-weight:700;animation:pp-rise var(--pp-dur-slow) var(--pp-ease-out)}.pp-toast.is-leaving{opacity:0;transform:translateY(-6px);transition:opacity .2s,transform .2s}.pp-toast-lead{display:grid;flex:none}.pp-menu{position:absolute;top:calc(100% + 4px);left:0;z-index:var(--pp-z-dropdown);display:grid;gap:2px;min-width:224px;max-height:calc(var(--pp-app-h) - 80px);padding:6px;overflow-y:auto;border:1px solid var(--pp-line-strong);border-radius:var(--pp-radius-lg);background:var(--pp-surface);box-shadow:var(--pp-shadow-lg);animation:pp-fade-in var(--pp-dur) var(--pp-ease-out)}.pp-menu-item{display:flex;align-items:center;gap:12px;min-height:46px;padding:0 14px;border-radius:var(--pp-radius-sm);color:var(--pp-ink);font-size:var(--pp-text-base);font-weight:600;text-align:left}.pp-menu-item .pp-icon{color:var(--pp-accent)}@media(hover:hover){.pp-menu-item:hover{background:var(--pp-surface-2)}}.pp-menu-item:focus{background:var(--pp-surface-2)}@media(min-aspect-ratio:6/5)and (max-height:480px){.pp-menu{right:0;left:auto;grid-template-columns:repeat(2,1fr);width:max-content;min-width:0;max-width:calc(100vw - var(--pp-safe-left) - var(--pp-safe-right) - 16px)}}.pp-drawer-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--pp-z-overlay);display:flex;align-items:flex-end;justify-content:center}.pp-drawer-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--pp-scrim);opacity:0;transition:opacity var(--pp-dur) var(--pp-ease-out)}.pp-drawer{position:relative;display:flex;flex-direction:column;width:min(100%,640px);max-height:calc(var(--pp-app-h) - 28px - var(--pp-safe-top));padding-bottom:var(--pp-safe-bottom);border-radius:var(--pp-radius-xl) var(--pp-radius-xl) 0 0;background:var(--pp-surface);color:var(--pp-ink);box-shadow:var(--pp-shadow-lg);outline:none;transform:translateY(104%);transition:transform var(--pp-dur-slow) var(--pp-ease-out)}.pp-drawer:before{content:"";align-self:center;width:40px;height:4px;margin-top:8px;border-radius:2px;background:var(--pp-line-strong);opacity:.7}.pp-drawer-root.is-open .pp-drawer-backdrop{opacity:1}.pp-drawer-root.is-open .pp-drawer{transform:none}.pp-drawer-head{display:flex;flex:none;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px 8px 22px}.pp-drawer-title{margin:0;font-size:var(--pp-text-xl)}.pp-drawer-body{flex:1 1 auto;min-height:0;padding:4px 22px 22px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;-webkit-user-select:text;user-select:text}@media(min-aspect-ratio:6/5)and (min-width:640px){.pp-drawer-root{align-items:stretch;justify-content:flex-end}.pp-drawer{width:min(440px,92vw);max-height:none;height:100%;padding-top:var(--pp-safe-top);padding-right:var(--pp-safe-right);border-radius:var(--pp-radius-xl) 0 0 var(--pp-radius-xl);transform:translate(104%)}.pp-drawer:before{display:none}}@media(forced-colors:active){.pp-btn,.pp-icon-btn,.pp-toggle,.pp-sheet,.pp-toast,.pp-menu,.pp-drawer{border:1px solid CanvasText}.pp-toggle-btn[aria-pressed=true]{outline:2px solid Highlight}}:root{--pp-app-h: 100vh}@supports (height: 100dvh){:root{--pp-app-h: 100dvh}}html,body{height:100%;margin:0;overflow:hidden;overscroll-behavior:none}#app{height:100%}.pp-shell{--hud-pad-x: clamp(6px, 2.2vw, 20px);--hud-pad-y: clamp(6px, 2.2vh, 20px);--hud-gap: 6px;--hud-header: 48px;--hud-tip: 56px;--hud-bar: 62px;--hud-board-cap: 840px;--hud-side: clamp(236px, 26vw, 320px);--hud-col-gap: clamp(16px, 2.4vw, 32px);--hud-w: calc(100vw - var(--pp-safe-left) - var(--pp-safe-right) - 2 * var(--hud-pad-x));--hud-h: calc(var(--pp-app-h) - var(--pp-safe-top) - var(--pp-safe-bottom) - 2 * var(--hud-pad-y));--hud-chrome: calc(var(--hud-header) + var(--hud-tip) + var(--hud-bar) + 3 * var(--hud-gap));--pp-board-size: max(150px, min(var(--hud-w), calc(var(--hud-h) - var(--hud-chrome)), var(--hud-board-cap)));--hud-col: max(var(--pp-board-size), min(var(--hud-w), 340px));--hud-dock: min(var(--hud-col), 560px);position:relative;display:flex;flex-direction:column;align-items:center;gap:var(--hud-gap);width:100%;height:var(--pp-app-h);padding:calc(var(--pp-safe-top) + var(--hud-pad-y)) calc(var(--pp-safe-right) + var(--hud-pad-x)) calc(var(--pp-safe-bottom) + var(--hud-pad-y)) calc(var(--pp-safe-left) + var(--hud-pad-x));overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-user-select:none;user-select:none;touch-action:manipulation}.pp-menu-anchor{position:relative;flex:none}.pp-header{position:relative;z-index:var(--pp-z-hud);display:flex;flex:none;align-items:center;gap:6px;width:var(--hud-col);height:var(--hud-header)}.pp-brand{display:flex;align-items:center;gap:6px;min-width:0}.pp-brand-mark{display:grid;color:var(--pp-accent)}.pp-wordmark{margin:0;font-size:22px;line-height:1;letter-spacing:.01em;color:var(--pp-ink)}.pp-status{display:inline-flex;align-items:center;gap:8px;margin-left:auto;padding:5px 12px;border-radius:var(--pp-radius-pill);background:var(--pp-surface);border:1px solid var(--pp-line);box-shadow:var(--pp-shadow-sm);white-space:nowrap}.pp-level{font-size:16px;line-height:1.2;color:var(--pp-ink)}.pp-size{font-size:var(--pp-text-xs);font-weight:700;color:var(--pp-ink-soft)}.pp-size:before,.pp-timer:before{content:"\b7";margin-right:8px;color:var(--pp-ink-faint)}.pp-timer{font-size:14px;color:var(--pp-ink-soft)}.pp-subtitle{display:none}.pp-main{display:grid;flex:none;place-items:center;width:var(--pp-board-size);height:var(--pp-board-size);margin-top:auto}.pp-board-ph{width:100%;height:100%;border-radius:clamp(10px,calc(var(--pp-board-size) * .045),24px);background:var(--pp-surface-2);border:1px solid var(--pp-line)}.pp-dock{position:relative;display:grid;flex:none;grid-template-columns:minmax(0,1fr);grid-template-rows:var(--hud-tip) var(--hud-bar);gap:var(--hud-gap);width:var(--hud-dock);margin-bottom:auto}.pp-dock.is-solved .pp-tip,.pp-dock.is-solved .pp-controls{visibility:hidden}.pp-tip{grid-area:1 / 1}.pp-controls{grid-area:2 / 1}.pp-controls{display:grid;grid-template-columns:1fr 1fr 1.9fr 1fr 1fr;gap:4px;align-items:stretch}.pp-toasts{position:absolute;top:calc(var(--pp-safe-top) + var(--hud-pad-y));left:50%;z-index:var(--pp-z-toast);display:grid;gap:6px;justify-items:center;width:max-content;max-width:calc(100% - 24px);transform:translate(-50%);pointer-events:none}@media(min-width:600px){.pp-shell{--hud-tip: 48px;--hud-bar: 70px;--hud-gap: 8px}.pp-controls{gap:6px}.pp-controls .pp-icon{width:26px;height:26px}.pp-controls .pp-btn,.pp-controls .pp-toggle-btn,.pp-tip{font-size:var(--pp-text-sm)}}@media(min-aspect-ratio:6/5){.pp-shell{--hud-bar: 156px;--hud-tip: 68px;--pp-board-size: max(150px, min(var(--hud-h), calc(var(--hud-w) - var(--hud-side) - var(--hud-col-gap)), var(--hud-board-cap)));display:grid;grid-template-columns:var(--pp-board-size) minmax(0,var(--hud-side));grid-template-rows:auto auto auto;grid-template-areas:"main header" "main ." "main dock";column-gap:var(--hud-col-gap);row-gap:0;justify-content:center;align-content:center;align-items:start}.pp-main{grid-area:main;margin-top:0}.pp-header{display:grid;grid-area:header;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"menu brand" "status status";gap:8px 6px;width:auto;height:auto}.pp-menu-anchor{grid-area:menu}.pp-brand{grid-area:brand}.pp-status{display:grid;grid-area:status;grid-template-columns:auto auto 1fr;grid-template-areas:"level size timer" "sub sub sub";column-gap:8px;row-gap:0;margin-left:0;padding:8px 14px;border-radius:var(--pp-radius-md);white-space:normal}.pp-level{grid-area:level}.pp-size{grid-area:size;align-self:center}.pp-timer{grid-area:timer;justify-self:end}.pp-subtitle{display:block;grid-area:sub;font-size:var(--pp-text-xs);color:var(--pp-ink-soft)}.pp-dock{grid-area:dock;grid-template-rows:var(--hud-tip) var(--hud-bar);align-self:end;width:auto;margin-bottom:0}.pp-controls{grid-template-columns:1fr 1fr;grid-template-rows:repeat(3,1fr);gap:6px}.pp-controls>.pp-toggle{grid-column:1 / -1;grid-row:2}.pp-toasts{left:auto;right:calc(var(--pp-safe-right) + var(--hud-pad-x));transform:none;justify-items:end}}@media(min-aspect-ratio:6/5)and (min-height:800px){.pp-shell{--hud-side: clamp(280px, 24vw, 340px);--hud-tip: 84px;--hud-bar: 190px;--hud-gap: 8px}.pp-wordmark{font-size:26px}.pp-level{font-size:18px}.pp-controls{gap:8px}.pp-controls .pp-icon{width:28px;height:28px}.pp-controls .pp-btn,.pp-controls .pp-toggle-btn,.pp-tip{font-size:15px}}@media(min-aspect-ratio:6/5)and (max-height:345px){.pp-shell{--hud-tip: 62px;--hud-bar: 146px;--hud-gap: 4px}.pp-header{gap:4px 6px}.pp-status{padding:4px 12px}.pp-subtitle{display:none}.pp-controls{gap:4px}.pp-tip{font-size:12.5px;line-height:1.2}}@media(min-aspect-ratio:6/5)and (max-width:599px){.pp-shell{--hud-side: 204px;--hud-col-gap: 12px}}@media(max-width:379px){.pp-brand-mark{display:none}}.pp-howto{display:grid;gap:var(--pp-space-5);color:var(--pp-ink)}.pp-howto-section{display:grid;gap:var(--pp-space-3);padding:var(--pp-space-5);background:var(--pp-surface);border:1px solid var(--pp-line);border-radius:var(--pp-radius-lg);box-shadow:var(--pp-shadow-sm)}.pp-howto-heading{font-size:var(--pp-text-lg)}.pp-howto p{color:var(--pp-ink-soft)}.pp-howto-list{display:grid;gap:var(--pp-space-2)}.pp-howto-list>li{position:relative;padding-left:1.4rem}.pp-howto-list>li:before{content:"";position:absolute;left:.15rem;top:.6em;width:.55rem;height:.55rem;border-radius:var(--pp-radius-pill);background:var(--pp-accent)}.pp-howto-keys{display:grid;gap:var(--pp-space-2);margin:var(--pp-space-2) 0 0}.pp-howto-key{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--pp-space-1) var(--pp-space-4);padding:var(--pp-space-2) var(--pp-space-3);background:var(--pp-surface-2);border-radius:var(--pp-radius-sm)}.pp-howto-key dt{flex:0 1 11rem;min-width:8rem}.pp-howto-combo{white-space:nowrap}.pp-howto-key dd{flex:1 1 12rem;margin:0;color:var(--pp-ink-soft)}.pp-howto kbd{display:inline-block;min-width:1.9em;padding:.1em .5em;border:1px solid var(--pp-line-strong);border-bottom-width:2px;border-radius:var(--pp-radius-xs);background:var(--pp-surface);color:var(--pp-ink);font:600 .875em/1.45 var(--pp-font-display);text-align:center}.pp-pn{--pp-pn-card: var(--pp-bg);display:flex;flex-direction:column;gap:var(--pp-space-6);min-width:0;padding-block:var(--pp-space-1) var(--pp-space-4);color:var(--pp-ink);font-size:var(--pp-text-base);line-height:var(--pp-leading-base);overflow-wrap:break-word}.pp-pn *,.pp-pn *:before,.pp-pn *:after{min-width:0}.pp-pn-sec{display:flex;flex-direction:column;gap:var(--pp-space-3)}.pp-pn-sec-title{font-size:var(--pp-text-md);color:var(--pp-ink)}.pp-pn-sec-body{display:flex;flex-direction:column;gap:var(--pp-space-3)}.pp-pn-intro,.pp-pn-help,.pp-pn-prose{color:var(--pp-ink-soft);font-size:var(--pp-text-sm)}.pp-pn-prose{font-size:var(--pp-text-base)}.pp-pn-card{display:flex;flex-direction:column;overflow:hidden;background:var(--pp-pn-card);border:1px solid var(--pp-line);border-radius:var(--pp-radius-md);box-shadow:var(--pp-shadow-sm)}.pp-pn-card-rows>*+*{border-top:1px solid var(--pp-line)}.pp-pn-pad{padding:var(--pp-space-3) var(--pp-space-4)}.pp-pn-actions{display:flex;flex-wrap:wrap;gap:var(--pp-space-2)}.pp-pn-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--pp-space-2);min-height:var(--pp-touch);padding:10px var(--pp-space-5);border:2px solid transparent;border-radius:var(--pp-radius-pill);font-weight:600;line-height:1.2;text-align:center;text-decoration:none;transition:background-color var(--pp-dur-fast) ease,transform var(--pp-dur-fast) ease}.pp-pn-btn:active:not(:disabled){transform:translateY(1px)}.pp-pn-btn:disabled{opacity:.5}.pp-pn-btn-primary{background:var(--pp-accent);border-color:var(--pp-accent);color:var(--pp-on-accent);box-shadow:var(--pp-shadow-sm)}@media(hover:hover){.pp-pn-btn-primary:hover:not(:disabled){background:var(--pp-accent-strong);border-color:var(--pp-accent-strong)}}.pp-pn-btn-secondary{background:var(--pp-surface);border-color:var(--pp-line-strong);color:var(--pp-ink)}@media(hover:hover){.pp-pn-btn-secondary:hover:not(:disabled){background:var(--pp-surface-2)}}.pp-pn-btn-quiet{background:transparent;color:var(--pp-accent-strong);text-decoration:underline;text-underline-offset:.2em}.pp-pn-btn-danger{background:var(--pp-danger-soft);border-color:var(--pp-danger);color:var(--pp-danger)}.pp-pn-btn-block{width:100%}.pp-pn-textlink{display:inline-flex;align-items:center;min-height:var(--pp-touch);font-weight:600}.pp-pn-note{padding:var(--pp-space-3) var(--pp-space-4);border:1px solid var(--pp-line);border-radius:var(--pp-radius-sm);background:var(--pp-surface-2);color:var(--pp-ink);font-size:var(--pp-text-sm)}.pp-pn-note-ok{background:var(--pp-ok-soft);border-color:var(--pp-ok);color:var(--pp-ok)}.pp-pn-note-warn{background:var(--pp-warn-soft);border-color:var(--pp-warn);color:var(--pp-warn)}.pp-pn-note-error{background:var(--pp-danger-soft);border-color:var(--pp-danger);color:var(--pp-danger)}.pp-pn-note-info{background:var(--pp-info-soft);border-color:var(--pp-info);color:var(--pp-info)}.pp-pn-msg:empty{display:none}.pp-pn-switch{display:flex;align-items:center;justify-content:space-between;gap:var(--pp-space-4);width:100%;min-height:56px;padding:var(--pp-space-3) var(--pp-space-4);text-align:left;color:var(--pp-ink)}@media(hover:hover){.pp-pn-switch:hover{background:var(--pp-surface-2)}}.pp-pn-switch:focus-visible{outline-offset:-4px}.pp-pn-switch-text{display:flex;flex-direction:column;gap:2px}.pp-pn-switch-label{font-weight:600}.pp-pn-switch-help{color:var(--pp-ink-soft);font-size:var(--pp-text-sm);line-height:1.35}.pp-pn-switch-track{position:relative;flex:none;width:50px;height:30px;border:2px solid var(--pp-ink-faint);border-radius:var(--pp-radius-pill);background:transparent;transition:background-color var(--pp-dur) ease,border-color var(--pp-dur) ease}.pp-pn-switch-thumb{position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:var(--pp-ink-faint);transition:transform var(--pp-dur) var(--pp-ease-out),background-color var(--pp-dur) ease}.pp-pn-switch[aria-checked=true] .pp-pn-switch-track{background:var(--pp-accent);border-color:var(--pp-accent)}.pp-pn-switch[aria-checked=true] .pp-pn-switch-thumb{background:var(--pp-on-accent);transform:translate(20px)}.pp-pn-switch[aria-checked=true] .pp-pn-switch-thumb:after{content:"";position:absolute;left:7px;top:3px;width:5px;height:10px;border:solid var(--pp-accent-strong);border-width:0 2px 2px 0;transform:rotate(45deg)}.pp-pn-choice{display:flex;flex-direction:column;gap:var(--pp-space-2);margin:0;padding:0;border:0}.pp-pn-choice-legend{display:block;width:100%;margin:0;padding:0;font-weight:600}.pp-pn-choice-list{display:flex;flex-wrap:wrap;gap:var(--pp-space-2)}.pp-pn-chip{position:relative;display:inline-flex}.pp-pn-chip-input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.pp-pn-chip-input:disabled{cursor:not-allowed}.pp-pn-chip-face{display:inline-flex;align-items:center;justify-content:center;gap:var(--pp-space-2);min-width:var(--pp-touch);min-height:var(--pp-touch);padding:8px var(--pp-space-4);border:2px solid var(--pp-line-strong);border-radius:var(--pp-radius-pill);background:var(--pp-surface);color:var(--pp-ink);font-weight:600;line-height:1.2;transition:background-color var(--pp-dur-fast) ease,border-color var(--pp-dur-fast) ease}@media(hover:hover){.pp-pn-chip:hover .pp-pn-chip-input:not(:checked):not(:disabled)+.pp-pn-chip-face{background:var(--pp-surface-2)}}.pp-pn-chip-input:checked+.pp-pn-chip-face{background:var(--pp-accent);border-color:var(--pp-accent);color:var(--pp-on-accent)}.pp-pn-chip-input:checked+.pp-pn-chip-face .pp-pn-chip-title:before{content:"";display:inline-block;width:5px;height:10px;margin:0 8px 2px 1px;border:solid currentColor;border-width:0 2.5px 2.5px 0;transform:rotate(45deg)}.pp-pn-chip-input:focus-visible+.pp-pn-chip-face{outline:var(--pp-focus-width) solid var(--pp-focus);outline-offset:2px}.pp-pn-chip-input:disabled+.pp-pn-chip-face{opacity:.55}.pp-pn-choice-cards .pp-pn-choice-list{display:grid;grid-template-columns:minmax(0,1fr)}.pp-pn-choice-cards .pp-pn-chip{display:block}.pp-pn-choice-cards .pp-pn-chip-face{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;padding-left:48px;border-radius:var(--pp-radius-md);text-align:left}.pp-pn-choice-cards .pp-pn-chip-face:before{content:"";position:absolute;top:50%;left:14px;width:22px;height:22px;border:2px solid var(--pp-ink-faint);border-radius:50%;background:var(--pp-surface);transform:translateY(-50%)}.pp-pn-choice-cards .pp-pn-chip-face:after{content:"";position:absolute;top:50%;left:22px;width:5px;height:10px;border:solid var(--pp-on-accent);border-width:0 2.5px 2.5px 0;opacity:0;transform:translateY(-62%) rotate(45deg)}.pp-pn-choice-cards .pp-pn-chip-input:checked+.pp-pn-chip-face{background:var(--pp-accent-soft);border-color:var(--pp-accent);color:var(--pp-ink)}.pp-pn-choice-cards .pp-pn-chip-input:checked+.pp-pn-chip-face:before{background:var(--pp-accent);border-color:var(--pp-accent)}.pp-pn-choice-cards .pp-pn-chip-input:checked+.pp-pn-chip-face:after{opacity:1}.pp-pn-choice-cards .pp-pn-chip-input:checked+.pp-pn-chip-face .pp-pn-chip-title:before{display:none}.pp-pn-chip-desc{color:var(--pp-ink-soft);font-size:var(--pp-text-sm);font-weight:400}.pp-pn-brand{display:flex;flex-direction:column;align-items:center;gap:var(--pp-space-2);padding:var(--pp-space-5) var(--pp-space-4);background:var(--pp-pn-card);border:1px solid var(--pp-line);border-radius:var(--pp-radius-lg);box-shadow:var(--pp-shadow-sm);text-align:center}.pp-pn-wordmark{display:inline-flex;align-items:center;gap:var(--pp-space-2);color:var(--pp-accent-strong);font-family:var(--pp-font-display);font-size:var(--pp-text-3xl);font-weight:600;line-height:1}.pp-pn-tagline{max-width:34ch;color:var(--pp-ink-soft)}.pp-pn-credit{font-weight:600}.pp-pn-credit a{display:inline-flex;align-items:center;min-height:var(--pp-touch)}.pp-pn-build{color:var(--pp-ink-faint);font-size:var(--pp-text-sm);font-variant-numeric:tabular-nums}.pp-pn-statement{padding:var(--pp-space-4);background:var(--pp-accent-soft);border:1px solid var(--pp-accent);border-radius:var(--pp-radius-md);font-weight:600}.pp-pn-details-summary{display:flex;align-items:center;min-height:var(--pp-touch);color:var(--pp-accent-strong);font-weight:600;cursor:pointer}.pp-pn-licence{max-height:16rem;margin:0;padding:var(--pp-space-3);overflow:auto;background:var(--pp-pn-card);border:1px solid var(--pp-line);border-radius:var(--pp-radius-sm);font-size:var(--pp-text-xs);white-space:pre-wrap}.pp-pn-lead{font-size:var(--pp-text-md);color:var(--pp-ink)}.pp-pn-pagelink{align-self:flex-start}.pp-pn-ill{display:flex;flex-direction:column;align-items:center;gap:var(--pp-space-3);margin:0;padding:var(--pp-space-4);background:var(--pp-pn-card);border:1px solid var(--pp-line);border-radius:var(--pp-radius-lg);box-shadow:var(--pp-shadow-sm)}.pp-pn-ill-svg{width:min(100%,176px);height:auto}.pp-pn-ill-caption{max-width:40ch;color:var(--pp-ink-soft);font-size:var(--pp-text-sm);text-align:center}.pp-pn-ill-r0{fill:var(--pp-region-0)}.pp-pn-ill-r1{fill:var(--pp-region-1)}.pp-pn-ill-r2{fill:var(--pp-region-2)}.pp-pn-ill-r3{fill:var(--pp-region-3)}.pp-pn-ill-grid path{fill:none;stroke:var(--pp-cell-line);stroke-width:1}.pp-pn-ill-edge{fill:none;stroke:var(--pp-edge);stroke-width:2.5;stroke-linecap:round}.pp-pn-ill-frame{fill:none;stroke:var(--pp-board-frame);stroke-width:3.5}.pp-pn-ill-x{fill:none;stroke:var(--pp-x-ink);stroke-width:2.2;stroke-linecap:round;opacity:.6}.pp-pn-ill-cat path{fill:#fff7ea;stroke:var(--pp-cat-line);stroke-width:1.8;stroke-linejoin:round}.pp-pn-ill-cat circle{fill:var(--pp-cat-line)}.pp-pn-ill-cat .pp-pn-ill-mouth{fill:none;stroke-width:1.4;stroke-linecap:round}.pp-drawer .pp-pn-howto .pp-howto{gap:var(--pp-space-6)}.pp-drawer .pp-pn-howto .pp-howto-section{padding:0;background:transparent;border:0;border-radius:0;box-shadow:none}.pp-drawer .pp-pn-howto .pp-howto-heading{font-size:var(--pp-text-md)}.pp-pn-cat-group{gap:0}.pp-pn-cat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--pp-space-3)}.pp-pn-cat{position:relative;display:flex}.pp-pn-cat-input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.pp-pn-cat-input:disabled{cursor:not-allowed}.pp-pn-cat-card{display:flex;flex:1;flex-direction:column;align-items:center;gap:var(--pp-space-1);padding:var(--pp-space-3) var(--pp-space-2) var(--pp-space-3);background:var(--pp-pn-card);border:2px solid var(--pp-line);border-radius:var(--pp-radius-md);text-align:center;transition:background-color var(--pp-dur-fast) ease,border-color var(--pp-dur-fast) ease}@media(hover:hover){.pp-pn-cat[data-state=unlocked]:hover .pp-pn-cat-card{background:var(--pp-surface-2);border-color:var(--pp-line-strong)}}.pp-pn-cat[data-state=selected] .pp-pn-cat-card{background:var(--pp-accent-soft);border-color:var(--pp-accent);box-shadow:0 0 0 2px var(--pp-accent)}.pp-pn-cat-input:focus-visible+.pp-pn-cat-card{outline:var(--pp-focus-width) solid var(--pp-focus);outline-offset:2px}.pp-pn-cat-art{display:grid;place-items:center;width:72px;height:72px}.pp-pn-cat[data-state=locked] .pp-pn-cat-art{filter:grayscale(1) contrast(.85);opacity:.5}.pp-pn-cat-name{font-weight:600;line-height:1.2}.pp-pn-cat-blurb{color:var(--pp-ink-soft);font-size:var(--pp-text-xs);line-height:1.3}.pp-pn-cat-status{display:flex;flex-direction:column;align-items:center;margin-top:var(--pp-space-1);color:var(--pp-ink-soft);font-size:var(--pp-text-xs);font-weight:600;line-height:1.3}.pp-pn-cat-lock{display:inline-flex;align-items:center;gap:4px}.pp-pn-cat-req{font-weight:400}.pp-pn-cat[data-state=selected] .pp-pn-cat-status{color:var(--pp-accent-strong)}.pp-pn-stats-body{display:flex;flex-direction:column;gap:var(--pp-space-6)}.pp-pn-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--pp-space-3);margin:0}.pp-pn-tile{display:flex;flex-direction:column;gap:var(--pp-space-1);padding:var(--pp-space-3) var(--pp-space-4);background:var(--pp-pn-card);border:1px solid var(--pp-line);border-radius:var(--pp-radius-md);box-shadow:var(--pp-shadow-sm)}.pp-pn-tile-label{color:var(--pp-ink-soft);font-size:var(--pp-text-sm)}.pp-pn-tile-value{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--pp-space-1) var(--pp-space-2);margin:0}.pp-pn-tile-num{font-size:var(--pp-text-xl);line-height:1.1}.pp-pn-tile-of{color:var(--pp-ink-faint);font-size:var(--pp-text-sm)}.pp-pn-times{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--pp-space-2)}.pp-pn-time{display:flex;align-items:baseline;justify-content:space-between;gap:var(--pp-space-2);padding:var(--pp-space-2) var(--pp-space-3);background:var(--pp-pn-card);border:1px solid var(--pp-line);border-radius:var(--pp-radius-sm)}.pp-pn-time-size{font-weight:600}.pp-pn-time-value{font-size:var(--pp-text-md)}.pp-pn-time.is-empty{background:transparent;color:var(--pp-ink-faint)}@media(min-width:420px){.pp-pn-times{grid-template-columns:repeat(4,minmax(0,1fr))}.pp-pn-time{flex-direction:column;align-items:flex-start;gap:0}}.pp-pn-block{display:flex;flex-direction:column;align-items:flex-start;gap:var(--pp-space-3);padding:var(--pp-space-4);background:var(--pp-pn-card);border:1px solid var(--pp-line);border-radius:var(--pp-radius-md);box-shadow:var(--pp-shadow-sm)}.pp-pn-block>.pp-pn-msg,.pp-pn-block>.pp-pn-codebox,.pp-pn-block>.pp-pn-confirm,.pp-pn-block>.pp-pn-help{align-self:stretch}.pp-pn-block-title{font-size:var(--pp-text-base)}.pp-pn-bullets{display:flex;flex-direction:column;gap:var(--pp-space-2);margin:var(--pp-space-2) 0 0;padding-left:1.25rem;list-style:disc;color:var(--pp-ink-soft);font-size:var(--pp-text-sm)}.pp-pn-codebox{display:flex;flex-direction:column;align-items:flex-start;gap:var(--pp-space-2)}.pp-pn-code{width:100%;min-height:5.5rem;padding:10px 12px;background:var(--pp-bg);border:2px solid var(--pp-line-strong);border-radius:var(--pp-radius-sm);color:var(--pp-ink);font:1rem/1.4 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;resize:vertical}.pp-pn-confirm{display:flex;flex-direction:column;gap:var(--pp-space-3);padding:var(--pp-space-3) var(--pp-space-4);background:var(--pp-danger-soft);border:1px solid var(--pp-danger);border-radius:var(--pp-radius-sm)}.pp-pn-status{display:flex;align-items:flex-start;gap:var(--pp-space-3);padding:var(--pp-space-3) var(--pp-space-4);background:var(--pp-surface-2);border:1px solid var(--pp-line-strong);border-radius:var(--pp-radius-md);font-weight:600}.pp-pn-status:before{content:"";flex:none;width:12px;height:12px;margin-top:.45em;border-radius:50%;background:var(--pp-ink-faint)}.pp-pn-status[data-state=ready],.pp-pn-status[data-state=file]{background:var(--pp-ok-soft);border-color:var(--pp-ok);color:var(--pp-ok)}.pp-pn-status[data-state=ready]:before,.pp-pn-status[data-state=file]:before{background:var(--pp-ok)}.pp-pn-status[data-state=pending]{background:var(--pp-warn-soft);border-color:var(--pp-warn);color:var(--pp-warn)}.pp-pn-status[data-state=pending]:before{background:var(--pp-warn)}.pp-pn-download{align-self:flex-start;flex-wrap:wrap}.pp-pn-size{font-weight:400;opacity:.9}.pp-pn-install-body{display:flex;flex-direction:column;align-items:flex-start;gap:var(--pp-space-3)}.pp-pn-install-body:focus{outline:none}.pp-pn-steps{display:flex;flex-direction:column;gap:var(--pp-space-2);align-self:stretch}.pp-pn-step{padding:var(--pp-space-3) var(--pp-space-4);background:var(--pp-pn-card);border:1px solid var(--pp-line);border-radius:var(--pp-radius-sm);color:var(--pp-ink-soft);font-size:var(--pp-text-sm)}.pp-pn-step[data-match=true]{border-color:var(--pp-accent);box-shadow:inset 4px 0 0 var(--pp-accent);color:var(--pp-ink);font-weight:600}.pp-pn-continue{display:flex;flex-direction:column;gap:var(--pp-space-2);padding:var(--pp-space-4);background:var(--pp-accent-soft);border:1px solid var(--pp-accent);border-radius:var(--pp-radius-lg)}.pp-pn-kicker{color:var(--pp-ink-soft);font-size:var(--pp-text-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase}.pp-pn-continue-btn{width:100%;min-height:var(--pp-touch-lg);font-size:var(--pp-text-md)}.pp-pn-continue-detail{font-weight:600;text-align:center}.pp-pn-summary{color:var(--pp-ink-soft);font-size:var(--pp-text-sm);text-align:center}.pp-pn-skip{display:flex;flex-direction:column;align-items:flex-start;gap:var(--pp-space-3);padding:var(--pp-space-3) var(--pp-space-4);background:var(--pp-pn-card);border:1px solid var(--pp-line);border-radius:var(--pp-radius-md)}.pp-pn-skip .pp-pn-prose{font-size:var(--pp-text-sm)}.pp-pn-jump{display:flex;flex-wrap:wrap;gap:var(--pp-space-2)}.pp-pn-jump-btn{flex:1 1 auto;padding-inline:var(--pp-space-3);white-space:nowrap}.pp-pn-lvmap{display:flex;flex-direction:column;gap:var(--pp-space-6)}.pp-pn-band{display:flex;flex-direction:column;gap:var(--pp-space-3)}.pp-pn-band-head{display:flex;flex-direction:column;gap:2px}.pp-pn-band-title{font-size:var(--pp-text-md)}.pp-pn-band-meta{color:var(--pp-ink-soft);font-size:var(--pp-text-sm);font-weight:600}.pp-pn-band-blurb{color:var(--pp-ink-faint);font-size:var(--pp-text-sm)}.pp-pn-lvgrid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--pp-space-2)}.pp-pn-lvl{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-height:64px;padding:6px 2px;background:var(--pp-surface);border:2px solid var(--pp-line-strong);border-radius:var(--pp-radius-md);color:var(--pp-ink);transition:background-color var(--pp-dur-fast) ease,transform var(--pp-dur-fast) ease}.pp-pn-lvl:active:not(:disabled){transform:scale(.97)}@media(hover:hover){.pp-pn-lvl:hover:not(:disabled){background:var(--pp-surface-2)}}.pp-pn-lvl-num{font-size:var(--pp-text-lg);line-height:1.1}.pp-pn-lvl-mark{display:flex;align-items:center;justify-content:center;gap:1px;min-height:15px;color:var(--pp-ink-faint)}.pp-pn-lvl-size{color:var(--pp-ink-soft);font-size:var(--pp-text-xs);line-height:1}.pp-pn-lvl[data-state=solved]{background:var(--pp-accent-soft);border-color:var(--pp-accent)}.pp-pn-lvl[data-state=current]{border-color:var(--pp-accent-strong);box-shadow:0 0 0 3px var(--pp-accent-soft),0 0 0 5px var(--pp-accent)}.pp-pn-lvl[data-state=current] .pp-pn-lvl-mark{color:var(--pp-accent-strong)}.pp-pn-lvl[data-state=locked]{background:transparent;border-style:dashed;border-color:var(--pp-line-strong);color:var(--pp-ink-faint)}.pp-pn-lvl[data-state=locked] .pp-pn-lvl-size,.pp-pn-star{color:var(--pp-ink-faint)}.pp-pn-star.is-on{color:var(--pp-warm);fill:currentColor}.pp-pn-endless-status{color:var(--pp-ink-soft);font-weight:600}.pp-pn-endless .pp-pn-btn-primary,.pp-pn-quick .pp-pn-btn-primary{align-self:stretch}.pp-pn-field{display:flex;flex-direction:column;gap:6px}.pp-pn-field-label{font-weight:600}.pp-pn-select-wrap{position:relative;display:block}.pp-pn-select-wrap:after{content:"";position:absolute;top:50%;right:18px;width:8px;height:8px;border:solid var(--pp-ink-soft);border-width:0 2.5px 2.5px 0;transform:translateY(-70%) rotate(45deg);pointer-events:none}.pp-pn-select{width:100%;min-height:var(--pp-touch);padding:8px 44px 8px var(--pp-space-4);appearance:none;-webkit-appearance:none;background:var(--pp-surface);border:2px solid var(--pp-line-strong);border-radius:var(--pp-radius-md);color:var(--pp-ink);font-weight:600}:root[data-contrast=high] .pp-pn-card,:root[data-contrast=high] .pp-pn-note,:root[data-contrast=high] .pp-pn-brand,:root[data-contrast=high] .pp-pn-statement{border-width:2px;border-color:var(--pp-ink)}:root[data-contrast=high] .pp-pn-chip-face,:root[data-contrast=high] .pp-pn-btn{border-color:var(--pp-ink)}@media(forced-colors:active){.pp-pn-switch-track{border-color:CanvasText}.pp-pn-switch[aria-checked=true] .pp-pn-switch-track{background:Highlight;border-color:Highlight}.pp-pn-switch-thumb{background:CanvasText}.pp-pn-switch[aria-checked=true] .pp-pn-switch-thumb{background:HighlightText}.pp-pn-chip-input:checked+.pp-pn-chip-face{background:Highlight;border-color:Highlight;color:HighlightText}}
