.pgc{--color-bg:#f3f2f2;--color-surface:#eae9e9;--color-text:#201e1d;--color-accent:#ae1800;--color-divider:color-mix(in srgb,#201e1d 40%,transparent);--color-muted:#605d5d;--color-neutral-200:#eae7e7;--color-neutral-300:#d7d3d3;--color-accent-100:#fff2ef;--color-accent-200:#ffe0d9;--color-accent-600:#dd2b0f;--color-accent-700:#ae1800;--color-accent-800:#7c1405;--color-good:#2f6b1f;--font:"Archivo",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--sq-l:#eeeed2;--sq-d:#769656;--sq-last:rgba(246,246,105,.75);--ink:#201e1d}:root[data-board=wood] .pgc{--sq-l:#f0d9b5;--sq-d:#b58863;--sq-last:rgba(205,210,106,.8)}:root[data-board=grey] .pgc{--sq-l:#f8f4f4;--sq-d:#bab6b6;--sq-last:#e7ce8a}:root[data-theme=dark] .pgc{color-scheme:dark;--color-bg:#161514;--color-accent:#ff563c;--color-surface:#211f1e;--color-text:#ecebea;--color-divider:color-mix(in srgb,#ecebea 30%,transparent);--color-muted:#a9a5a4;--color-neutral-200:#262423;--color-neutral-300:#34312f;--color-accent-100:#3a1711;--color-accent-200:#4c1d14;--color-accent-600:#ff7c66;--color-accent-700:#ff8f7b;--color-accent-800:#ffb6a7;--color-good:#9fd18a}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .pgc{color-scheme:dark;--color-bg:#161514;--color-accent:#ff563c;--color-surface:#211f1e;--color-text:#ecebea;--color-divider:color-mix(in srgb,#ecebea 30%,transparent);--color-muted:#a9a5a4;--color-neutral-200:#262423;--color-neutral-300:#34312f;--color-accent-100:#3a1711;--color-accent-200:#4c1d14;--color-accent-600:#ff7c66;--color-accent-700:#ff8f7b;--color-accent-800:#ffb6a7;--color-good:#9fd18a}}.pgc *,.pgc :after,.pgc :before{box-sizing:border-box}.pgc{margin:0;background:var(--color-bg);color:var(--color-text);font:400 16px/1.55 var(--font);-webkit-font-smoothing:antialiased}.pgc a{color:var(--color-accent-700);text-underline-offset:3px}.pgc a:hover{color:var(--color-accent)}.pgc button,.pgc input,.pgc select,.pgc textarea{font:inherit;color:inherit}.pgc h1,.pgc h2,.pgc h3,.pgc h4{font-family:var(--font);font-weight:800;line-height:1.12;letter-spacing:-.025em;margin-top:0}.pgc p{margin:0 0 16px}.pgc :focus{outline:none}.pgc :focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.pgc code{font:600 .9em ui-monospace,SFMono-Regular,Menlo,monospace;background:var(--color-surface);padding:1px 5px}.pgc .x-eyebrow{font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent-700);margin:0 0 12px}.pgc .small{font-size:14px;color:var(--color-muted)}.pgc .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}html.js .pgc .no-js-only,html:not(.js) .pgc .needs-js{display:none!important}.pgc .progress{position:fixed;inset:0 0 auto 0;height:3px;z-index:30;pointer-events:none}.pgc .progress span{display:block;height:100%;width:0;background:var(--color-accent)}.pgc .x-article-page{padding:24px 24px 0}.pgc .x-breadcrumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:13px;margin-bottom:clamp(20px,3vw,40px)}.pgc .x-breadcrumbs a{color:var(--color-text);text-decoration:none}.pgc .x-breadcrumbs span:last-child{color:var(--color-muted)}.pgc .hero{padding-bottom:28px}.pgc .hero h1{font-size:clamp(34px,4.4vw,62px);line-height:.95;letter-spacing:-.035em;margin:0 0 22px;max-width:15em;text-wrap:balance}.pgc .answer{font-size:19px;line-height:1.55;max-width:44em;margin:0 0 18px}.pgc .byline{display:flex;flex-wrap:wrap;gap:6px 18px;max-width:44em;padding-top:12px;border-top:1px solid var(--color-divider);font-size:13px;color:var(--color-muted)}.pgc .byline b{color:var(--color-text)}.pgc .quicklinks{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:14px;margin-top:16px}.pgc .quicklinks span{color:var(--color-muted)}.pgc .quicklinks a{color:var(--color-text);font-weight:600;text-decoration:none;border-bottom:1px solid var(--color-divider)}.pgc .quicklinks a:hover{color:var(--color-accent-700);border-color:currentColor}.pgc .x-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 16px;border:1px solid transparent;border-radius:0;background:transparent;color:var(--color-text);font:800 14px/1.2 var(--font);text-decoration:none;cursor:pointer}.pgc .x-btn-primary{background:var(--color-accent);color:var(--color-bg)}.pgc .x-btn-primary:hover{background:var(--color-accent-600);color:var(--color-bg)}.pgc .x-btn-secondary{border-color:var(--color-divider)}.pgc .x-btn-secondary:hover{background:color-mix(in srgb,var(--color-text) 7%,transparent);color:var(--color-text)}.pgc .x-btn-ghost{color:var(--color-accent-700);padding-inline:8px}.pgc .x-btn-ghost:hover{background:color-mix(in srgb,var(--color-accent) 8%,transparent)}.pgc .x-btn-invert{background:var(--color-bg);color:var(--color-text);min-width:220px}.pgc .x-btn-invert:hover{background:var(--color-surface);color:var(--color-text)}.pgc .x-btn:disabled{opacity:.4;cursor:not-allowed}.pgc .x-btn-lg{min-height:56px;font-size:17px;padding:14px 22px}.pgc .solver{border:2px solid var(--color-text);margin:0 0 8px;display:grid;grid-template-columns:minmax(0,560px) minmax(0,1fr);background:var(--color-bg)}.pgc .sv-board-col{padding:18px;border-right:2px solid var(--color-text);min-width:0}.pgc .sv-side{display:flex;flex-direction:column;min-width:0}.pgc .sv-block{padding:16px 18px;border-bottom:1px solid var(--color-divider)}.pgc .sv-block:last-child{border-bottom:0}.pgc .sv-label{display:block;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--color-muted);margin:0 0 10px}.pgc .sv-step{display:inline-grid;place-items:center;width:20px;height:20px;margin-right:6px;background:var(--color-text);color:var(--color-bg);font-size:11px;letter-spacing:0}.pgc .board-wrap{position:relative;touch-action:none}.pgc .edboard{display:grid;grid-template-columns:repeat(8,1fr);grid-template-rows:repeat(8,1fr);aspect-ratio:1;width:100%;border:2px solid var(--ink);-moz-user-select:none;user-select:none;-webkit-user-select:none}:root[data-theme=dark] .pgc .edboard{border-color:#4a4645}.pgc .sq{position:relative;border:0;margin:0;padding:0;min-width:0;min-height:0;cursor:pointer;display:block;background:var(--sq-l)}.pgc .sq.d{background:var(--sq-d)}.pgc .sq svg{position:absolute;inset:3%;width:94%;height:94%;pointer-events:none;overflow:visible}.pgc .sq:focus-visible{outline:3px solid var(--color-accent);outline-offset:-3px;z-index:2}.pgc .sq.hint-from:after,.pgc .sq.hint-to:after{content:"";position:absolute;inset:0;background:var(--sq-last)}.pgc .sq.hint-to:after{box-shadow:inset 0 0 0 4px rgba(174,24,0,.75)}.pgc .sq.drag-src svg{opacity:.25}.pgc .sq.drag-over{box-shadow:inset 0 0 0 4px var(--color-accent)}.pgc .sq .co{position:absolute;font:700 10px/1 var(--font);pointer-events:none;z-index:1}.pgc .sq .co-r{left:3px;top:3px}.pgc .sq .co-f{right:3px;bottom:3px}.pgc .sq.l .co{color:var(--sq-d)}.pgc .sq.d .co{color:var(--sq-l)}.pgc .pw{--pf:#fbfaf8;--ps:#201e1d;--pd:#201e1d}.pgc .pb{--pf:#2b2827;--ps:#100f0e;--pd:#eae6e3}.pgc .arrow-ov{position:absolute;inset:2px;pointer-events:none;z-index:3}.pgc .arrow-ov line{stroke:rgba(174,24,0,.82);stroke-width:2.2;stroke-linecap:round}.pgc .arrow-ov polygon{fill:rgba(174,24,0,.9)}.pgc .board-tools{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.pgc .board-tools .x-btn{flex:1 1 auto}.pgc .palette{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.pgc .pal{position:relative;height:50px;border:1px solid var(--color-divider);background:var(--color-surface);cursor:pointer;padding:0}.pgc .pal svg{position:absolute;left:50%;top:50%;width:42px;height:42px;transform:translate(-50%,-50%)}.pgc .pal[aria-pressed=true]{background:var(--color-text);border-color:var(--color-text)}.pgc .pal[aria-pressed=true].pal-w{background:var(--color-accent);border-color:var(--color-accent)}.pgc .pal-x{font-weight:800;font-size:12px}.pgc .pal-x span{display:block;font-size:22px;line-height:1}.pgc .pal-x[aria-pressed=true]{color:var(--color-bg)}.pgc .pal-hint{font-size:13px;color:var(--color-muted);margin:8px 0 0}.pgc .x-seg{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--color-text)}.pgc .x-seg button{min-height:46px;border:0;background:transparent;font-weight:800;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px}.pgc .x-seg button+button{border-left:1px solid var(--color-text)}.pgc .x-seg button[aria-pressed=true]{background:var(--color-text);color:var(--color-bg)}.pgc .x-seg .dotk{width:12px;height:12px;border-radius:50%;border:2px solid}.pgc .x-seg .dotk.wk{background:#fbfaf8}.pgc .x-seg .dotk.bk{background:#2b2827}.pgc .seg-note{font-size:13px;color:var(--color-muted);margin:8px 0 0}.pgc .x-fen-row{display:flex;gap:6px}.pgc .x-fen-row input{flex:1;min-width:0;min-height:44px;padding:8px 10px;border:1px solid var(--color-divider);background:var(--color-bg);font:600 13px ui-monospace,SFMono-Regular,Menlo,monospace}.pgc .x-fen-row input:focus-visible{outline:2px solid var(--color-accent);outline-offset:0}.pgc details.more summary{cursor:pointer;font-weight:800;font-size:14px;padding:4px 0}.pgc details.more[open] summary{margin-bottom:10px}.pgc .sv-go{padding:16px 18px;border-bottom:1px solid var(--color-divider);background:var(--color-surface)}.pgc .sv-go .x-btn{width:100%}.pgc .sv-msg{font-size:14px;margin:10px 0 0;min-height:1.4em}.pgc .sv-msg.err{color:var(--color-accent-700);font-weight:700}.pgc .result{padding:18px;border-top:2px solid var(--color-text);display:none}.pgc .result.is-on{display:block}.pgc .res-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 20px}.pgc .res-move{font:800 clamp(44px,6vw,72px)/1 var(--font);letter-spacing:-.02em;margin:4px 0 0;word-break:break-all}.pgc .res-copy{min-width:150px}.pgc .res-plain{font-size:17px;margin:12px 0 4px}.pgc .res-eval{font-size:14px;color:var(--color-muted);margin:0}.pgc .res-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--color-divider);border-left:1px solid var(--color-divider);margin:16px 0 0}.pgc .res-grid div{padding:12px 14px;border-right:1px solid var(--color-divider);border-bottom:1px solid var(--color-divider)}.pgc .res-grid dt{font-size:11px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--color-muted)}.pgc .res-grid dd{margin:4px 0 0;font-size:15px;font-weight:700;line-height:1.35}.pgc .res-grid dd small{display:block;font-size:12.5px;font-weight:500;color:var(--color-muted);margin-top:2px}.pgc .res-warn{margin:14px 0 0;padding:12px 14px;border-left:4px solid var(--color-accent);background:var(--color-accent-100);font-size:15px}.pgc .res-warn:empty{display:none}.pgc .res-ok{margin:14px 0 0;padding:12px 14px;border-left:4px solid var(--color-good);background:var(--color-surface);font-size:15px}.pgc .res-ok:empty{display:none}.pgc .res-links{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:14px;font-size:14px;font-weight:700}.pgc .thinking{display:inline-flex;align-items:center;gap:8px}.pgc .spin{width:14px;height:14px;border:2px solid;border-right:2px solid transparent;border-radius:50%;animation:pgc-spin .7s linear infinite}@keyframes pgc-spin{to{transform:rotate(1turn)}}.pgc .layout{display:grid;grid-template-columns:minmax(200px,260px) minmax(0,1fr);gap:0 clamp(24px,4vw,56px);border-top:2px solid var(--color-divider);border-bottom:2px solid var(--color-divider);margin-top:40px}.pgc .toc{border-right:2px solid var(--color-divider);padding:28px 24px 28px 0}.pgc .toc details{position:sticky;top:20px}.pgc .toc summary{list-style:none;cursor:default;color:var(--color-muted)}.pgc .toc summary::-webkit-details-marker{display:none}.pgc .toc ol{list-style:none;margin:0;padding:0;counter-reset:t}.pgc .toc li{counter-increment:t}.pgc .toc a{display:flex;gap:10px;padding:8px 0;border-top:1px solid var(--color-divider);font-size:14px;color:var(--color-text);text-decoration:none;line-height:1.3}.pgc .toc a:before{content:counter(t,decimal-leading-zero);font-size:11px;font-weight:700;color:var(--color-muted);padding-top:2px;min-width:18px}.pgc .toc a.is-active,.pgc .toc a:hover{color:var(--color-accent-700)}.pgc .toc a.is-active{font-weight:700}.pgc .toc a.is-active:before{color:var(--color-accent-700)}.pgc .x-prose{padding:8px 0 48px;font-size:17px;line-height:1.7;max-width:820px;min-width:0}.pgc .x-prose section{padding-top:36px}.pgc .x-prose h2{font-size:clamp(28px,3.2vw,38px);line-height:1.05;margin:0 0 14px;letter-spacing:-.03em}.pgc .x-prose h3{font-size:22px;margin:28px 0 10px}.pgc .x-prose ol,.pgc .x-prose ul{padding-left:24px;margin:0 0 18px}.pgc .x-prose li{margin:6px 0;padding-left:4px}.pgc .x-lead{font-size:19px;line-height:1.55}.pgc .callout{border-left:4px solid var(--color-text);padding:14px 18px;background:var(--color-surface);font-weight:600}.pgc .x-steps-grid{display:grid;grid-template-columns:1fr 1fr;border-top:2px solid var(--color-text);border-left:1px solid var(--color-divider);margin:18px 0;counter-reset:s}.pgc .step-card{padding:16px 18px;border-right:1px solid var(--color-divider);border-bottom:1px solid var(--color-divider);counter-increment:s}.pgc .step-card h3{margin:0 0 6px!important;font-size:19px!important;display:flex;gap:10px;align-items:baseline}.pgc .step-card h3:before{content:counter(s);font-size:13px;font-weight:800;color:var(--color-bg);background:var(--color-accent);min-width:22px;height:22px;display:inline-grid;place-items:center;flex:none;transform:translateY(-2px)}.pgc .step-card p{margin:0;font-size:16px}.pgc .glance{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:2px solid var(--color-text);border-left:1px solid var(--color-divider);margin:22px 0}.pgc .glance div{padding:16px 18px;border-right:1px solid var(--color-divider);border-bottom:1px solid var(--color-divider)}.pgc .glance dt{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--color-muted)}.pgc .glance dd{margin:6px 0 0;font-size:30px;font-weight:800;letter-spacing:-.03em;line-height:1.05}.pgc .glance dd small{display:block;font-size:13px;font-weight:500;letter-spacing:0;color:var(--color-muted);margin-top:6px;line-height:1.4}.pgc .glance div:first-child dd{color:var(--color-accent-700)}.pgc .table-wrap{overflow-x:auto;margin:14px 0 18px;-webkit-overflow-scrolling:touch}.pgc .ref{width:100%;border-collapse:collapse;font-size:15px;line-height:1.45}.pgc .ref td,.pgc .ref th{text-align:left;vertical-align:top;padding:10px 12px;border-bottom:1px solid var(--color-divider)}.pgc .ref thead th{font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--color-muted);border-bottom:2px solid var(--color-divider)}.pgc .ref tbody th{font-weight:800}.pgc .ref td.num,.pgc .ref th.num{text-align:right;font-variant-numeric:tabular-nums}.pgc .ref tr.hot td,.pgc .ref tr.hot th{background:var(--color-accent-100)}.pgc .bar{display:inline-block;height:8px;background:var(--color-text);vertical-align:middle;margin-right:6px}.pgc .nota{display:grid;grid-template-columns:repeat(3,1fr);border-top:2px solid var(--color-text);margin:14px 0 16px}.pgc .nota div{padding:14px 16px;border-bottom:1px solid var(--color-divider);border-right:1px solid var(--color-divider);display:flex;flex-direction:column;gap:4px}.pgc .nota div:nth-child(3n){border-right:0}.pgc .nota .big{font-size:28px;background:none;padding:0;font-weight:800;letter-spacing:.01em}.pgc .nota span{font-size:14px;color:var(--color-muted);line-height:1.45}.pgc .note{border:2px solid var(--color-text);padding:16px 18px;margin:18px 0}.pgc .note h3{margin-top:0!important;font-size:19px!important}.pgc .note p:last-child{margin:0}.pgc .consensus{border:2px solid var(--color-text);border-left:8px solid var(--color-accent);padding:20px 22px}.pgc .consensus h2{margin-bottom:10px}.pgc .checklist{list-style:none;padding:0!important;margin:0 0 10px}.pgc .checklist li{display:grid;grid-template-columns:28px 1fr;gap:8px;padding:10px 0;border-top:1px solid var(--color-divider);margin:0}.pgc .checklist li:before{content:"✓";font-weight:800;color:var(--color-good)}.pgc .checklist.x li:before{content:"✗";color:var(--color-accent-700)}.pgc sup{font-size:.66em;line-height:0;font-weight:700}.pgc sup a{text-decoration:none}.pgc .x-faq-list{border-top:2px solid var(--color-divider)}.pgc .x-faq-list details{border-bottom:1px solid var(--color-divider)}.pgc .x-faq-list summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 0}.pgc .x-faq-list summary::-webkit-details-marker{display:none}.pgc .x-faq-list summary h3{font-size:18px;margin:0;letter-spacing:-.015em}.pgc .x-faq-list summary span{color:var(--color-accent);font-size:24px;font-weight:700;flex:none;transition:transform .2s}.pgc .x-faq-list details[open] summary span{transform:rotate(45deg)}.pgc .x-faq-list details p{margin:0 30px 16px 0;font-size:16px}.pgc .refs-plain{padding-left:20px!important;font-size:15px}.pgc .sources p{font-size:15px;color:var(--color-muted)}.pgc .x-article-poster{margin:0 -24px;padding:clamp(40px,6vw,80px) 24px;background:var(--color-accent);color:var(--color-bg);display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap}.pgc .x-article-poster .x-eyebrow{color:var(--color-bg)}.pgc .x-article-poster h2{font-size:clamp(36px,5vw,64px);line-height:.95;letter-spacing:-.035em;margin:0}.pgc .x-article-poster p{font-size:17px;margin:12px 0 0}@media (max-width:1100px){.pgc .res-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:960px){.pgc .solver{grid-template-columns:1fr}.pgc .sv-board-col{border-right:0;border-bottom:2px solid var(--color-text)}.pgc .layout{grid-template-columns:1fr}.pgc .toc{border-right:0;border-bottom:2px solid var(--color-divider);padding:12px 0}.pgc .toc details{position:static}.pgc .toc summary{cursor:pointer;display:flex;justify-content:space-between;margin:0;padding:6px 0}.pgc .toc summary:after{content:"+";font-size:20px;color:var(--color-accent)}.pgc .toc details[open] summary:after{content:"–"}.pgc .solver{display:flex;flex-direction:column}.pgc .sv-side{display:contents}.pgc .sv-pal{order:-1;position:sticky;top:0;z-index:5;background:var(--color-bg);border-bottom:2px solid var(--color-text)}.pgc .sv-pal .pal-hint{display:none}.pgc .sv-board-col{border-bottom:1px solid var(--color-divider)}}@media (max-width:720px){.pgc .x-article-page{padding:16px 16px 0}.pgc .sv-pal{padding:8px 10px}.pgc .sv-pal .sv-label{margin-bottom:6px}.pgc .pal{height:42px}.pgc .pal svg{width:36px;height:36px}.pgc .x-article-poster{margin:0 -16px;padding:40px 16px}.pgc .answer,.pgc .x-lead{font-size:17px}.pgc .x-prose{font-size:16px}.pgc .sv-board-col{padding:10px}.pgc .result,.pgc .sv-block,.pgc .sv-go{padding:14px 12px}.pgc .nota,.pgc .x-steps-grid{grid-template-columns:1fr}.pgc .nota div{border-right:0}.pgc .glance{grid-template-columns:repeat(2,minmax(0,1fr))}.pgc .glance dd{font-size:24px}.pgc .stack table,.pgc .stack tbody,.pgc .stack td,.pgc .stack th,.pgc .stack tr{display:block;width:100%}.pgc .stack thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.pgc .stack tr{border-top:2px solid var(--color-divider);padding:6px 0}.pgc .stack td,.pgc .stack th{border:0;padding:4px 0}.pgc .stack td:before{content:attr(data-label);display:block;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--color-muted)}.pgc .stack tbody th{font-size:17px}}@media (max-width:420px){.pgc .res-grid{grid-template-columns:1fr}.pgc .palette{gap:3px}.pgc .sq .co{font-size:8px}}@media (prefers-reduced-motion:reduce){.pgc *,.pgc :after,.pgc :before{transition:none!important;animation:none!important}}@media print{.pgc .progress,.pgc .solver,.pgc .toc,.pgc .x-no-print{display:none!important}.pgc .layout{display:block;border:0}.pgc .x-prose{max-width:none}.pgc a{color:#000}}.pgc-ghost{position:fixed;z-index:60;width:64px;height:64px;pointer-events:none;transform:translate(-50%,-50%)}.pgc-ghost svg{width:100%;height:100%}.pgc-ghost .pw{--pf:#fbfaf8;--ps:#201e1d;--pd:#201e1d}.pgc-ghost .pb{--pf:#2b2827;--ps:#100f0e;--pd:#eae6e3}