:root{--font-display:'neue-haas-grotesk-display', 'Helvetica Neue', Arial, sans-serif;--font-body:'neue-haas-grotesk-text', 'Helvetica Neue', Arial, sans-serif;--font-mono:'source-code-pro', ui-monospace, Menlo, monospace;--brand-yellow:#FED538;--brand-yellow-fg:#1A1A1A;--brand-void:#0B0E14;--footer-fg:#F7F7F5;--footer-fg-muted:#8A8F98;--surface:#F7F7F5;--surface-card:#FFFFFF;--surface-muted:#F0EEE8;--text-primary:#1A1A1A;--text-secondary:#6B6B6B;--text-disabled:#C4C4BE;--border:#EBEBEB;--border-strong:#D0CEC8;--teal:#169AB6;--error:#B3261E;--page-max:1280px;--gutter:48px;--radius:8px}.dark{--surface:#0B0E14;--surface-card:#12151C;--surface-muted:#1F2330;--text-primary:#F2F2F0;--text-secondary:#9CA0A8;--text-disabled:#5B5F68;--border:#23262E;--border-strong:#3A3D46;--teal:#2DBFDD;--error:#FF6B5E}*,*::before,*::after{box-sizing:border-box}html{color-scheme:light}html.dark{color-scheme:dark}body{margin:0;min-height:100vh;display:flex;flex-direction:column;background:var(--surface);color:var(--text-primary);font-family:var(--font-body);font-weight:400;-webkit-font-smoothing:antialiased}main{flex:1}h1,h2,h3{font-family:var(--font-display);font-weight:700;margin:0}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.pp-wrap{width:100%;max-width:var(--page-max);margin:0 auto;padding-left:var(--gutter);padding-right:var(--gutter)}.pp-cta{display:inline-flex;align-items:center;gap:6px;background:var(--brand-yellow);color:var(--brand-yellow-fg);font-family:var(--font-display);font-weight:700;font-size:.9rem;padding:9px 18px;border-radius:var(--radius);white-space:nowrap;transition:opacity .15s}.pp-cta:hover{opacity:.88}.pp-cta-lg{font-size:1rem;padding:12px 22px}.pp-text-link{font-size:.9rem;color:var(--text-secondary);text-decoration:underline;text-underline-offset:3px;transition:color .15s}.pp-text-link:hover{color:var(--text-primary)}.pp-eyebrow{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--teal);margin-bottom:10px}.pp-nav{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:28px;padding-bottom:28px}.pp-logo{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-display);font-weight:700;font-size:1.3rem;letter-spacing:-.01em}.pp-logo svg{width:26px;height:26px;flex-shrink:0}.pp-logo .pp-logo-accent{color:var(--brand-yellow)}.pp-nav-links{display:flex;align-items:center;gap:4px;list-style:none;margin:0;padding:0}.pp-nav-links a{display:block;font-size:.9rem;color:var(--text-secondary);padding:6px 12px;border-radius:var(--radius);transition:color .15s,background .15s}.pp-nav-links a:hover,.pp-nav-links a[aria-current=page]{color:var(--text-primary);background:var(--surface-muted)}.pp-nav-right{display:flex;align-items:center;gap:16px}.pp-theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:none;border-radius:var(--radius);background:0 0;color:var(--text-secondary);cursor:pointer;transition:color .15s,background .15s}.pp-theme-toggle:hover{color:var(--text-primary);background:var(--surface-muted)}.pp-theme-toggle svg{width:16px;height:16px}.pp-theme-toggle .moon{display:none}.dark .pp-theme-toggle .sun{display:none}.dark .pp-theme-toggle .moon{display:block}.pp-strip{background:var(--brand-void);color:rgba(255,255,255,.65);font-size:.78rem}.pp-strip-inner{display:flex;align-items:center;justify-content:center;gap:1.5rem;padding-top:.5rem;padding-bottom:.5rem;overflow:hidden;white-space:nowrap}.pp-strip-item{display:inline-flex;align-items:center;gap:.4rem}.pp-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;background:var(--brand-yellow)}.pp-hero{padding-top:88px;padding-bottom:64px}.pp-headline{font-size:56px;line-height:1.05;letter-spacing:-.02em;max-width:680px;margin-bottom:20px}.pp-lede{font-weight:300;font-size:1.1rem;line-height:1.6;color:var(--text-secondary);max-width:520px;margin:0 0 32px}.pp-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.pp-section{padding-top:56px;padding-bottom:56px;border-top:1px solid var(--border)}.pp-stats{display:flex;flex-direction:column;gap:20px;max-width:520px}.pp-stat{display:grid;grid-template-columns:110px 1fr;align-items:baseline;gap:24px}.pp-stat-num{font-family:var(--font-mono);font-size:2rem;font-weight:600;text-align:right;font-variant-numeric:tabular-nums}.pp-stat-label{font-weight:300;font-size:.95rem;color:var(--text-secondary)}.pp-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:28px}.pp-section-title{font-size:2rem;letter-spacing:-.01em;line-height:1.15}.pp-page-head{padding-top:56px;padding-bottom:8px}.pp-page-head .pp-section-title{font-size:2.5rem}.pp-page-head p{font-weight:300;color:var(--text-secondary);margin:12px 0 0}.pp-games-group+.pp-games-group{margin-top:48px}.pp-games-group-head{margin-bottom:18px}.pp-games-group-title{font-size:1.4rem;letter-spacing:-.01em;line-height:1.2}.pp-games-group-head p{font-weight:300;color:var(--text-secondary);margin:6px 0 0}.pp-games-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.pp-card{display:flex;flex-direction:column;background:var(--surface-card);border:1px solid var(--border);border-radius:var(--radius);padding:20px;transition:border-color .15s}a.pp-card:hover{border-color:var(--border-strong)}.pp-card.soon{opacity:.6}.pp-card-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:16px}.pp-card-icon{width:56px;height:56px;border-radius:13px;display:block}.pp-card-shot{position:relative;margin:-20px -20px 16px;aspect-ratio:3/2;overflow:hidden;border-radius:var(--radius)var(--radius)0 0;border-bottom:1px solid var(--border);background:var(--surface-muted)}.pp-card-shot img{display:block;width:100%;height:100%;object-fit:cover}.pp-card-shot .pp-shot-dark{display:none}.dark .pp-card-shot .pp-shot-light{display:none}.dark .pp-card-shot .pp-shot-dark{display:block}.pp-card-shot .pp-tag{position:absolute;top:10px;right:10px;background:var(--brand-yellow);color:var(--brand-yellow-fg,#1a1a1a)}.pp-tag{font-family:var(--font-display);font-size:.72rem;font-weight:700;padding:3px 9px;border-radius:999px;background:color-mix(in srgb,var(--brand-yellow) 30%,transparent);color:var(--text-primary)}.pp-card-name{font-family:var(--font-display);font-weight:700;font-size:1.15rem;margin-bottom:6px;text-transform:capitalize}.pp-card-desc{flex:1;font-size:.9rem;line-height:1.55;color:var(--text-secondary);margin:0 0 18px}.pp-card-meta{display:flex;align-items:center;justify-content:space-between;padding-top:14px;border-top:1px solid var(--border)}.pp-mode{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary)}.pp-card-go{font-size:.85rem;font-weight:500;color:var(--text-secondary);transition:color .15s}a.pp-card:hover .pp-card-go{color:var(--text-primary)}.pp-page{padding-bottom:64px}.pp-prose{max-width:640px;font-size:1.05rem;line-height:1.7}.pp-prose p{margin:0 0 1.1em}.pp-prose a{text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--teal)}.pp-prose a:hover{color:var(--teal)}.pp-article{max-width:760px;padding-top:24px;padding-bottom:64px}.pp-breadcrumbs ol{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0 0 20px;padding:0;font-size:.8rem;color:var(--text-secondary)}.pp-breadcrumbs li+li::before{content:'/';margin-right:6px;color:var(--text-disabled)}.pp-breadcrumbs a:hover{color:var(--text-primary)}.pp-article-title{font-size:2.5rem;line-height:1.1;letter-spacing:-.02em;margin-bottom:20px}.pp-article-body{max-width:none}.pp-article-body>p:first-child{font-size:1.15rem;color:var(--text-primary)}.pp-article-body h2{font-size:1.6rem;letter-spacing:-.01em;margin:2.2em 0 .6em}.pp-article-body h3{font-size:1.15rem;margin:1.6em 0 .4em}.pp-article-body ul,.pp-article-body ol{padding-left:1.3em;margin:0 0 1.1em}.pp-article-body li{margin-bottom:.35em}.pp-article-body strong{font-weight:700}.pp-article-body table{width:100%;border-collapse:collapse;margin:0 0 1.4em;font-size:.95rem}.pp-article-body th,.pp-article-body td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--border)}.pp-article-body th{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);font-weight:700}.pp-article-body td code{font-family:var(--font-mono);font-size:.9em}.pp-puzzle-embed{margin:28px 0 32px}.pp-puzzle-embed iframe{display:block;width:100%;height:min(640px,85vh);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.pp-puzzle-embed figcaption,.pp-diagram figcaption{margin-top:10px;font-size:.85rem;line-height:1.5;color:var(--text-secondary)}.pp-puzzle-embed figcaption a{color:var(--text-primary);text-decoration:underline;text-underline-offset:3px}.pp-diagram{margin:24px 0 28px}.pp-diagram svg{display:block;max-width:100%;height:auto}.pp-diagram .d-board{fill:var(--surface-card)}.pp-diagram .d-hl{fill:color-mix(in srgb,var(--brand-yellow) 38%,transparent)}.pp-diagram .d-shade{fill:var(--text-primary)}.pp-diagram .d-cross{stroke:var(--text-disabled);stroke-width:2;stroke-linecap:round;fill:none}.pp-diagram .d-line{stroke:var(--border-strong);stroke-width:1;fill:none}.pp-diagram .d-frame{stroke:var(--text-secondary);stroke-width:1.5;fill:none}.pp-diagram .d-weight{font-family:var(--font-mono);font-size:12px;font-weight:700;fill:var(--text-secondary);text-anchor:middle}.pp-diagram .d-target{font-family:var(--font-display);font-size:18px;font-weight:700;fill:var(--text-primary);text-anchor:middle}.pp-diagram .d-bad{fill:var(--error)}.pp-diagram .d-note{font-family:var(--font-mono);font-size:13px;font-weight:700;fill:var(--teal)}.pp-diagram .d-focus{fill:color-mix(in srgb,var(--brand-yellow) 60%,transparent)}.pp-diagram .d-box{stroke:var(--text-secondary);stroke-width:2;fill:none}.pp-diagram .d-digit{font-family:var(--font-display);font-weight:700;fill:var(--text-primary);text-anchor:middle}.pp-diagram .d-entry{fill:var(--text-secondary);font-weight:500}.pp-diagram .d-placed{fill:var(--teal)}.pp-diagram .d-ring{stroke:var(--teal);stroke-width:2;fill:none}.pp-diagram .d-pencil{font-family:var(--font-mono);font-weight:500;fill:var(--text-secondary);text-anchor:middle}.pp-diagram .d-pencil.d-key{fill:var(--teal);font-weight:700}.pp-diagram .d-pencil.d-gone{fill:var(--error);font-weight:700}.pp-diagram .d-pencil.d-missing{fill:var(--error);font-weight:700;text-decoration:underline}.pp-diagram .d-ghost{fill:color-mix(in srgb,var(--teal) 18%,transparent);stroke:var(--teal);stroke-width:2;stroke-dasharray:5 3}.pp-diagram .d-hidden{fill:var(--surface-muted);stroke:var(--border-strong);stroke-width:1}.pp-diagram .d-flag{fill:var(--brand-yellow);stroke:var(--text-primary);stroke-width:1.2;stroke-linejoin:round}.pp-diagram .d-pole{stroke:var(--text-primary);stroke-width:2.5;fill:none}.pp-diagram .d-mine{fill:var(--text-primary)}.pp-diagram .d-safe{fill:var(--teal)}.pp-diagram .d-n1{fill:#169ab6}.pp-diagram .d-n2{fill:#2e8b57}.pp-diagram .d-n3{fill:var(--error)}.pp-diagram .d-n4{fill:#5b4bb7}.pp-diagram .d-n5{fill:sienna}.pp-diagram .d-n6{fill:#0e7c86}.pp-diagram .d-n7{fill:var(--text-primary)}.pp-diagram .d-n8{fill:var(--text-secondary)}.dark .pp-diagram .d-n1{fill:#2dbfdd}.dark .pp-diagram .d-n2{fill:#6fdc8c}.dark .pp-diagram .d-n4{fill:#b9a6ff}.dark .pp-diagram .d-n5{fill:#f0a35e}.dark .pp-diagram .d-n6{fill:#4fd1c5}.pp-diagram .d-strike{stroke:var(--error);stroke-width:1.5;stroke-linecap:round}.pp-diagram .d-label{font-family:var(--font-mono);font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;fill:var(--text-secondary);text-anchor:middle}.pp-diagram .d-faint{fill:var(--text-disabled)}.pp-diagram .d-shaded{fill:var(--text-primary)}.pp-diagram .d-zero{fill:#fed538}.pp-diagram .d-zero-mark{fill:#7a6410}.pp-diagram .d-one{fill:#169ab6}.pp-diagram .d-one-mark{stroke:#fff;stroke-width:2.5;fill:none}.pp-diagram .d-given{fill:var(--surface-muted)}.pp-diagram .d-bad-ring{stroke:var(--error);stroke-width:3;fill:none}.dark .pp-diagram .d-one{fill:#2bb5d4}.dark .pp-diagram .d-one-mark{stroke:#0b0e14}.pp-diagram .d-cell{fill:var(--surface-card);stroke:var(--border-strong);stroke-width:1}.pp-diagram .d-sign{stroke:var(--text-secondary);stroke-width:2.2;fill:none;stroke-linecap:round;stroke-linejoin:round}.pp-diagram .d-sign-key{stroke:var(--teal);stroke-width:2.8}.pp-diagram .d-sign-bad{stroke:var(--error);stroke-width:2.8}.pp-diagram .d-water{fill:#8fd3e3}.pp-diagram .d-water-top{fill:var(--teal)}.pp-diagram .d-dry{stroke:var(--text-disabled);stroke-width:2.5;stroke-linecap:round;fill:none}.pp-diagram .d-wall{stroke:var(--text-primary);stroke-width:2.5;fill:none;stroke-linecap:square}.pp-diagram .d-count{font-family:var(--font-mono);font-size:14px;font-weight:700;fill:var(--text-primary);text-anchor:middle}.pp-diagram .d-count-bad{fill:var(--error)}.dark .pp-diagram .d-water{fill:#1f6d80}.pp-diagram .d-star{fill:#fed538;stroke:#7a6410;stroke-width:1.2;stroke-linejoin:round}.pp-diagram .d-dot{fill:var(--text-disabled)}.pp-diagram .d-region{font-family:var(--font-mono);font-size:9px;fill:var(--text-secondary)}.pp-diagram .d-tree{fill:#2e8b57}.pp-diagram .d-trunk{fill:#7a5230}.pp-diagram .d-tent{fill:#fed538;stroke:#7a6410;stroke-width:1.2;stroke-linejoin:round}.pp-diagram .d-door{fill:#7a6410}.pp-diagram .d-grass{stroke:#7fbf7f;stroke-width:2.5;stroke-linecap:round}.dark .pp-diagram .d-tree{fill:#4fbf7f}.pp-diagram .d-black{fill:var(--text-primary)}.pp-diagram .d-black-num{font-family:var(--font-display);font-size:18px;font-weight:700;fill:var(--surface-card);text-anchor:middle}.pp-diagram .d-lit{fill:#fff1b8}.pp-diagram .d-bulb{fill:#fed538;stroke:#7a6410;stroke-width:1.2}.pp-diagram .d-glow{fill:#fed538;opacity:.3}.pp-diagram .d-look{fill:color-mix(in srgb,var(--teal) 26%,transparent)}.pp-diagram .d-ruled{fill:var(--text-disabled);opacity:.55}.dark .pp-diagram .d-lit{fill:#3a3418}.pp-diagram .d-tube{stroke:#dcd8cf;fill:none;stroke-linecap:round;stroke-linejoin:round}.pp-diagram .d-tube-bulb{fill:#dcd8cf}.pp-diagram .d-mercury{stroke:var(--teal);fill:none;stroke-linecap:round;stroke-linejoin:round}.pp-diagram .d-mercury-bulb{fill:var(--teal)}.dark .pp-diagram .d-tube{stroke:#343944}.dark .pp-diagram .d-tube-bulb{fill:#343944}.pp-diagram .d-rect{stroke:var(--text-primary);stroke-width:2.5}.pp-diagram .d-tint-0{fill:color-mix(in srgb,#fed538 45%,transparent)}.pp-diagram .d-tint-1{fill:color-mix(in srgb,#8fd3e3 55%,transparent)}.pp-diagram .d-tint-2{fill:color-mix(in srgb,#b6e2b6 60%,transparent)}.pp-diagram .d-tint-3{fill:color-mix(in srgb,#f5b8a8 55%,transparent)}.pp-diagram .d-tint-4{fill:color-mix(in srgb,#cdb8f0 55%,transparent)}.pp-diagram .d-tint-5{fill:color-mix(in srgb,#f7d9a0 60%,transparent)}.pp-diagram .d-option{fill:none;stroke:var(--teal);stroke-width:2;stroke-dasharray:5 3}.pp-answer{margin:-8px 0 28px;padding:12px 16px;background:var(--surface-card);border:1px solid var(--border);border-radius:var(--radius)}.pp-answer summary{cursor:pointer;font-weight:700;color:var(--teal)}.pp-answer[open] summary{margin-bottom:4px}.pp-answer .pp-diagram{margin:16px 0}.pp-answer p:last-child{margin-bottom:0}.pp-next,.pp-faq,.pp-related{margin-top:48px;padding-top:32px;border-top:1px solid var(--border)}.pp-next h2,.pp-faq h2,.pp-related h2{font-size:1.4rem;margin-bottom:16px}.pp-next ul,.pp-related ul{list-style:none;margin:0;padding:0}.pp-next li{margin-bottom:12px;color:var(--text-secondary)}.pp-next li a:not(.pp-cta),.pp-related a{color:var(--text-primary);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--teal)}.pp-related li{margin-bottom:8px}.pp-faq h3{font-size:1.05rem;margin:20px 0 6px}.pp-faq p{margin:0;line-height:1.65;color:var(--text-secondary)}.pp-hub-heading{font-size:1.4rem;margin:36px 0 12px}.pp-hub-list{list-style:none;margin:0;padding:0}.pp-hub-list li{padding:14px 0;border-bottom:1px solid var(--border)}.pp-hub-list a{font-family:var(--font-display);font-weight:700;font-size:1.1rem}.pp-hub-list a:hover{color:var(--teal)}.pp-hub-list span{display:block;margin-top:4px;font-size:.9rem;color:var(--text-secondary)}.pp-stub{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;min-height:60vh;padding:4rem 2rem;text-align:center}.pp-stub-title{font-size:2rem}.pp-stub-desc{font-weight:300;font-size:.95rem;line-height:1.6;color:var(--text-secondary);max-width:420px;margin:0 0 .75rem}.pp-footer{background:var(--brand-void);margin-top:24px;padding-top:48px;padding-bottom:48px}.pp-footer-inner{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:24px}.pp-footer-logo{font-family:var(--font-display);font-weight:700;font-size:1rem;color:var(--footer-fg)}.pp-footer-tagline{font-size:.8rem;margin-top:8px;color:var(--footer-fg-muted)}.pp-footer-links{display:flex;gap:20px;font-size:.85rem}.pp-footer-links a{color:var(--footer-fg-muted)}.pp-footer-links a:hover{color:var(--footer-fg)}@media(max-width:768px){:root{--gutter:20px}.pp-nav{padding-top:16px;padding-bottom:16px}.pp-nav-links{display:none}.pp-strip-item+.pp-strip-item{display:none}.pp-hero{padding-top:48px;padding-bottom:48px}.pp-headline{font-size:38px}.pp-section{padding-top:40px;padding-bottom:40px}.pp-stat{grid-template-columns:88px 1fr;gap:16px}.pp-stat-num{font-size:1.5rem}.pp-page-head .pp-section-title{font-size:2rem}.pp-footer-inner{flex-direction:column}.pp-article-title{font-size:2rem}}