:root{--ww-bg: #1b1b1f;--ww-panel: rgba(0, 0, 0, .45);--ww-surface: rgba(255, 255, 255, .04);--ww-surface-hover: rgba(255, 255, 255, .08);--ww-border: rgba(255, 255, 255, .15);--ww-border-strong: rgba(255, 255, 255, .25);--ww-text: #cfcfd6;--ww-text-dim: #8a8a93;--ww-text-bright: #ffffff;--ww-accent: #5fd0ff;--ww-accent-soft: rgba(95, 208, 255, .22);--ww-danger: #e5484d;--ww-radius: 6px;--ww-font: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;font-family:var(--ww-font);line-height:1.6;font-weight:400;color-scheme:dark;color:var(--ww-text);background-color:var(--ww-bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:400;color:var(--ww-accent);text-decoration:none}a:hover{color:var(--ww-text-bright)}body{margin:0;min-width:320px;min-height:100vh;background-color:var(--ww-bg)}h1,h2,h3{font-weight:500;letter-spacing:.5px;color:var(--ww-text-bright)}h1{font-size:2em;line-height:1.2}button{border-radius:var(--ww-radius);border:1px solid var(--ww-border);padding:.4em .9em;font-size:1em;font-weight:400;font-family:inherit;background-color:#ffffff14;color:var(--ww-text);cursor:pointer;transition:border-color .15s ease,color .15s ease}button:hover{border-color:var(--ww-accent);color:var(--ww-text-bright)}button:focus,button:focus-visible{outline:none;border-color:var(--ww-accent)}.navigation{background:var(--ww-panel);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--ww-border);position:fixed;top:0;left:0;right:0;z-index:1000}.nav-container{max-width:1200px;margin:0 auto;padding:0 1.5rem;display:flex;justify-content:space-between;align-items:center;height:3.25rem}.nav-brand{font-size:1rem;font-weight:600;color:var(--ww-text-bright);text-decoration:none;letter-spacing:1px}.nav-brand:before{content:"> ";color:var(--ww-accent)}.nav-brand:hover{color:var(--ww-accent)}.nav-links{display:flex;list-style:none;margin:0;padding:0;gap:.5rem}.nav-link{color:var(--ww-text-dim);text-decoration:none;padding:.35rem .7rem;border-radius:var(--ww-radius);border:1px solid transparent;transition:color .15s ease,border-color .15s ease,background-color .15s ease;font-weight:400}.nav-link:hover{color:var(--ww-text-bright);background-color:var(--ww-surface)}.nav-link.active{color:var(--ww-text-bright);border-color:var(--ww-border);background-color:var(--ww-surface)}@media (max-width: 768px){.nav-container{padding:0 1rem;height:3rem}.nav-brand{font-size:.95rem}.nav-links{gap:.25rem}.nav-link{padding:.3rem .55rem;font-size:.85rem}}@media (max-width: 480px){.nav-home{display:none}.nav-container{padding:0 .6rem}.nav-links{gap:.1rem}.nav-link{padding:.25rem .32rem;font-size:.7rem}.nav-brand{font-size:.8rem;white-space:nowrap}}.content-section-subsection{margin-top:1.5rem;padding:1.25rem;background:var(--ww-surface);border-radius:var(--ww-radius);border:1px solid var(--ww-border);text-align:left}.content-section-content-section{margin:2rem 0;padding:1.5rem 0}.content-section-content-section:not(:last-child){border-bottom:1px solid var(--ww-border)}.content-section-card{background:var(--ww-surface);border-radius:var(--ww-radius);padding:1.5rem;border:1px solid var(--ww-border);transition:background-color .15s ease,border-color .15s ease;text-align:left}.content-section-card:hover{background:var(--ww-surface-hover);border-color:var(--ww-accent)}.content-section-subsection h3{color:var(--ww-accent);margin-bottom:.75rem;font-size:1.1rem}.content-section-content-section h3{font-size:1.4rem;margin:0 0 1rem;font-weight:500;color:var(--ww-text-bright)}.content-section-card h3{margin-bottom:.75rem;font-size:1.15rem;font-weight:500}.content-section-subsection p,.content-section-content-section p,.content-section-card p{margin:.85rem 0;font-size:.92rem;line-height:1.7;color:var(--ww-text)}.content-section-content-section p{font-size:1rem;color:var(--ww-text)}.content-section-card p{color:var(--ww-text-dim);margin:0}.content-section-content-section ul{margin:1rem 0;padding-left:1.5rem}.content-section-content-section li{margin:.4rem 0;line-height:1.6}.content-section-content-section li::marker{color:var(--ww-accent)}.section-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin-top:1.5rem}.section-link-item{background:var(--ww-surface);border-radius:var(--ww-radius);padding:1.5rem;border:1px solid var(--ww-border);transition:background-color .15s ease,border-color .15s ease}.section-link-item:hover{background:var(--ww-surface-hover);border-color:var(--ww-accent)}.game-icon{flex:none;display:block}.article-title{display:flex;align-items:center;gap:.9rem}.article-title .game-icon{width:3.25rem;height:3.25rem}.content-card-item.has-icon{display:grid;grid-template-columns:auto 1fr;column-gap:1rem;align-items:start;align-content:start}.content-card-item.has-icon .game-icon{width:3.5rem;height:3.5rem;grid-row:1 / span 2}.content-card-item.has-icon h2,.content-card-item.has-icon p{grid-column:2}.content-page{padding-top:4.5rem;min-height:100vh;display:flex;justify-content:center;align-items:flex-start}.endgame-example{margin-top:2rem}.endgame-example h2{color:var(--ww-accent);margin-bottom:1rem;font-size:1.4rem;font-weight:500}.position-info{margin-top:2rem;padding:1.25rem;background:var(--ww-surface);border-radius:var(--ww-radius);border:1px solid var(--ww-border);text-align:left;max-width:500px;margin-left:auto;margin-right:auto}.position-info h3{color:var(--ww-accent);margin-bottom:1rem;font-size:1.1rem}.position-info p{margin:.5rem 0;font-size:.9rem;line-height:1.6}.position-info strong{color:var(--ww-text-bright);font-weight:600}.content-page-home{min-height:calc(100vh - 3.25rem);align-items:center}.content-page-wrapper{max-width:820px;width:100%;padding:2rem;text-align:left}.content-page-home .content-page-wrapper{background:var(--ww-panel);border:1px solid var(--ww-border);color:var(--ww-text);padding:2.5rem 2rem;border-radius:var(--ww-radius);box-shadow:0 10px 40px #00000059;width:90%;text-align:left}.content-page h1{color:var(--ww-text-bright);margin-bottom:1.25rem;font-size:1.9rem;font-weight:500;letter-spacing:.5px}.content-page h1:before{content:"// ";color:var(--ww-accent);font-weight:400}.content-page-home h1{font-size:2.4rem;margin:0 0 1rem;font-weight:500;letter-spacing:1px;text-align:left;color:var(--ww-text-bright)}.content-page-description{font-size:1rem;line-height:1.7;margin-bottom:2rem;color:var(--ww-text);max-width:640px}.content-page-home .content-page-description{font-size:1.05rem;text-align:left;margin-bottom:2rem;line-height:1.7;color:var(--ww-text);max-width:none}.content-card-sections{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin-top:2.5rem}.content-card-item{background:var(--ww-surface);border-radius:var(--ww-radius);padding:1.5rem;border:1px solid var(--ww-border);transition:background-color .15s ease,border-color .15s ease;text-align:left}.content-card-item:hover{background:var(--ww-surface-hover);border-color:var(--ww-accent)}.content-card-item h2{margin-bottom:.75rem;font-size:1.15rem;font-weight:500}.content-card-item p{font-size:.9rem;line-height:1.65;color:var(--ww-text-dim);margin:0}.section-link{color:var(--ww-accent);text-decoration:none;transition:color .15s ease}.section-link:hover{color:var(--ww-text-bright);text-decoration:none}.content-page-wrapper a{color:var(--ww-accent);text-decoration:none;border-bottom:1px solid transparent;transition:border-bottom-color .15s ease,color .15s ease}.content-page-wrapper a:hover{color:var(--ww-text-bright);border-bottom-color:var(--ww-accent)}.content-page-home .content-page-wrapper a{color:var(--ww-accent);text-decoration:none;border-bottom:1px solid transparent;transition:border-bottom-color .15s ease,color .15s ease}.content-page-home .content-page-wrapper a:hover{color:var(--ww-text-bright);border-bottom-color:var(--ww-accent)}@media (max-width: 768px){.content-page{padding-top:4rem}.content-page-wrapper{padding:1rem}.content-page-home .content-page-wrapper{padding:1.75rem 1.25rem;margin:1rem}.content-page h1{font-size:1.6rem}.content-page-home h1{font-size:1.9rem}.content-page-description{font-size:.95rem}.content-card-sections{grid-template-columns:1fr;gap:1rem;margin-top:2rem}.content-card-item{padding:1.25rem}}.chessboard-container{display:flex;justify-content:center;align-items:center;padding:2rem}.chessboard{max-width:400px;max-height:400px;width:100%;height:auto;border:1px solid var(--ww-border-strong);box-shadow:0 4px 24px #00000073;border-radius:var(--ww-radius);display:block}.chessboard-error{padding:2rem;text-align:center;color:var(--ww-danger);background:#e5484d1a;border:1px solid rgba(229,72,77,.6);border-radius:var(--ww-radius)}@media (max-width: 768px){.chessboard-container{padding:1rem}.chessboard{max-width:320px;max-height:320px}}@media (max-width: 480px){.chessboard{max-width:280px;max-height:280px}}.article h2{margin-top:2.5rem;font-size:1.25rem;color:var(--ww-accent)}.article p,.article li{line-height:1.75}.article ul,.article ol{padding-left:1.4rem}.article li{margin:.35rem 0}.article strong{color:var(--ww-text-bright);font-weight:600}.article-crumb{margin:0 0 .25rem;font-size:.8rem}.article-crumb a:before{content:"< "}.article table{border-collapse:collapse;margin:1.5rem 0;font-size:.85rem;width:100%}.article th,.article td{border:1px solid var(--ww-border);padding:.45rem .6rem;text-align:left;vertical-align:top}.article th{color:var(--ww-text-bright);font-weight:600}.article-table-scroll{overflow-x:auto}@font-face{font-family:Montserrat;src:url(/assets/Montserrat-BB6x-mlj.ttf);font-weight:100 900;font-display:swap}.game-embed{margin:2rem auto;width:100%;max-width:340px}.game-embed-bar{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.5rem}.game-embed-bar button{font-size:.8rem;padding:.3em .7em;cursor:pointer}.game-embed-bar button.active{border-color:var(--ww-accent);color:var(--ww-text-bright);background:var(--ww-accent-soft)}.game-embed-canvas{display:block;width:100%;height:auto;aspect-ratio:9 / 16;border:1px solid var(--ww-border);border-radius:var(--ww-radius);background:#000}.game-embed-play{touch-action:none;cursor:pointer}.game-embed figcaption,.game-embed-error{margin-top:.5rem;font-size:.8rem;color:var(--ww-text-dim)}.diagram{margin:1.75rem 0;padding:1.25rem 1rem 1rem;background:var(--ww-surface);border:1px solid var(--ww-border);border-radius:var(--ww-radius)}.diagram-row{display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:center;align-items:flex-start}.diagram-item{display:flex;flex-direction:column;align-items:center;max-width:100%}.diagram-item svg{max-width:100%;height:auto}.diagram-label{margin-top:.5rem;font-size:.75rem;color:var(--ww-text-dim);text-align:center;max-width:16rem}.diagram figcaption{margin-top:1rem;font-size:.8rem;color:var(--ww-text-dim);text-align:center}.explorer-controls{display:flex;gap:1rem;margin-bottom:.75rem;font-size:.8rem}.explorer-controls select{font:inherit;color:var(--ww-text);background:var(--ww-bg);border:1px solid var(--ww-border);border-radius:var(--ww-radius);padding:.1em .3em}.clickable{cursor:pointer}.chomp-square{fill:#b5713a}.chomp-poison{fill:#7b3fc4}.chomp-slot{fill:none;stroke:var(--ww-border);stroke-dasharray:3 3}.chomp-bitten{fill:#b5713a38}.chomp-skull line{stroke:#b7ff6a;stroke-width:3;stroke-linecap:round}.chomp-bite{fill:none;stroke:var(--ww-accent);stroke-width:3}.light-on{fill:#f4b93a}.light-off{fill:#23263a;stroke:var(--ww-border)}.light-cross{stroke:var(--ww-accent);stroke-width:2}.light-tap{fill:none;stroke:var(--ww-text-bright);stroke-width:2.5}.light-number{font-size:11px;font-weight:700;pointer-events:none}.light-number.odd{fill:#ff7ab8}.light-number.even{fill:#7f8499}.board-light{fill:#d9dcc6}.board-dark{fill:#6f8f55}.pawn{fill:#1d1d22;stroke:#fff;stroke-width:1.5}.pawn.taken{fill:#f4b93a;stroke:#1d1d22}.pawn.stranded{fill:var(--ww-danger);stroke:#fff}.pawn-order{font-size:11px;font-weight:700;fill:#1d1d22}.knight-start{fill:#fff;stroke:#1d1d22;stroke-width:1.5}.knight-letter{font-size:14px;font-weight:700;fill:#1d1d22}.knight-path{fill:none;stroke:#2a6cff;stroke-width:2.5;stroke-linejoin:round;opacity:.85}.knight-path.stuck{stroke:var(--ww-danger)}.hex-empty{fill:#23263a;stroke:var(--ww-border)}.hex-you{fill:#ff9a3a}.hex-cpu{fill:#3aa8ff}.hex-mark{fill:none;stroke:var(--ww-text-bright);stroke-width:2.5}.dish-bg{fill:#04141a;stroke:var(--ww-border);stroke-width:.004}.dish-link line{stroke:#ffffff38;stroke-width:.004}.rule-attract{fill:#5dff8f33;stroke:#5dff8f;stroke-width:1}.rule-repel{fill:#ff5a6a38;stroke:#ff5a6a;stroke-width:1}.rule-ignore{fill:#ffffff0a;stroke:var(--ww-border)}.rule-glyph{font-size:20px;font-weight:800;fill:var(--ww-text-bright)}.stats-table{width:100%;border-collapse:collapse;font-size:.8rem;margin:1.25rem 0}.stats-table th,.stats-table td{padding:.35rem .5rem;border-bottom:1px solid var(--ww-border);text-align:left;vertical-align:top}.stats-table td.num,.stats-table th.num{text-align:right;font-variant-numeric:tabular-nums}.ice-sq{fill:#cfe8f5;stroke:#b3d4e6;stroke-width:.5}.ice-rock{fill:#4a5568;stroke:#2d3748;stroke-width:1.5}.ice-fish{fill:#f4b93a;stroke:#1d1d22;stroke-width:1.25}.ice-goal-ring{fill:none;stroke:#1d1d22;stroke-width:1.5;stroke-dasharray:3 2}.ice-penguin{fill:#1d1d22;stroke:#fff;stroke-width:1.5}.ice-belly{fill:#fff}.ice-path{fill:none;stroke:#2a6cff;stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round;opacity:.85}.ice-step{fill:#2a6cff;stroke:#fff;stroke-width:1}.ice-step-n{font-size:9px;font-weight:700;fill:#fff}.ice-stop{fill:#2a6cff;opacity:.9}.ice-stop-n{font-size:9px;font-weight:700;fill:#fff}.ice-over{fill:none;stroke:var(--ww-danger);stroke-width:2;stroke-dasharray:4 3;stroke-linecap:round}.ice-over-end{fill:var(--ww-danger)}.sky-cell{fill:#23263a;stroke:var(--ww-border)}.sky-tower{fill:#5a7fd6}.sky-tower.seen{fill:#f4b93a}.sky-height{font-size:15px;font-weight:700;fill:#fff}.sky-height.seen{fill:#1d1d22}.sky-clue{font-size:13px;font-weight:700;fill:var(--ww-text-bright)}.sky-clue.hit{fill:var(--ww-accent)}.sky-cand{font-size:9px;fill:var(--ww-text-dim)}.sky-cand.only{font-size:16px;font-weight:700;fill:#5dff8f}.sky-line{fill:var(--ww-accent-soft);stroke:var(--ww-accent);stroke-width:2}:root{--pair-1: #e69f00;--pair-2: #56b4e9;--pair-3: #009e73;--pair-4: #cc79a7;--pair-5: #3b5bdb}.pair-cell{fill:#23263a;stroke:var(--ww-border)}.pair-ground{opacity:.55}.pair-ground.bare{opacity:.8}.pair-given{fill:none;stroke:#ffffffbf;stroke-width:1.5}.pair-height{font-size:15px;font-weight:700;fill:#fff;paint-order:stroke;stroke:#080c1ce6;stroke-width:3px}.pair-letter{font-size:8px;font-weight:800;fill:#101426}.pair-letter.light{fill:#fff}.pair-clue{font-size:13px;font-weight:700;fill:var(--ww-text-bright)}.pair-cand{font-size:9px;fill:#fff}.pair-cand.struck{fill:#ff8a8a;text-decoration:line-through}.pair-cand.only{font-size:16px;font-weight:700;fill:#5dff8f}.pair-candbox{fill:#0c1022d1}.pair-ring,.pair-hot{fill:none;stroke:var(--ww-accent);stroke-width:3}.pair-table-label{font-size:10px;font-weight:700;fill:var(--ww-text-dim)}.pair-table-num{font-size:12px;font-weight:800;fill:#101426}.pair-table-num.light{fill:#fff}.pair-table-empty{fill:#ffffff14}.pair-count{font-size:11px;font-weight:700;fill:var(--ww-text-dim)}.gridlock-floor{fill:var(--ww-bg);stroke:var(--ww-border)}.gridlock-grid{stroke:var(--ww-border);stroke-width:.5;opacity:.6}.gridlock-exit{fill:var(--ww-accent)}.gridlock-car{stroke:#00000073;stroke-width:1}.gridlock-moved{stroke:var(--ww-text-bright);stroke-width:2}.gridlock-badge{fill:#081030;stroke:#4fe3ff;stroke-width:1.5}.gridlock-badge-text{fill:#4fe3ff;font-size:11px;font-weight:700;text-anchor:middle;pointer-events:none}.gridlock-letter{fill:#10131f;font-size:11px;font-weight:700;text-anchor:middle;pointer-events:none}.gridlock-axis{fill:var(--ww-text-dim);font-size:10px}.gridlock-row-line{stroke:var(--ww-border);stroke-width:.5}.dom-cell{fill:#1c2033;stroke:var(--ww-border);stroke-width:1}.dom-v{fill:#3a9fe0;stroke:#0d1b2a;stroke-width:1.5}.dom-h{fill:#f08a3a;stroke:#2a1608;stroke-width:1.5}.dom-new{stroke:#fff;stroke-width:2.5}.dom-spare-v{fill:#3a9fe038;stroke:#3a9fe0;stroke-width:1.5;stroke-dasharray:4 3}.dom-spare-h{fill:#f08a3a38;stroke:#f08a3a;stroke-width:1.5;stroke-dasharray:4 3}.dom-badge circle{fill:#fff;stroke:#0d1b2a;stroke-width:1.5}.dom-badge text{font-size:11px;font-weight:800;fill:#0d1b2a;text-anchor:middle;pointer-events:none}.dom-badge.pick{cursor:pointer}.dom-badge.pick:hover circle,.dom-badge.pick:focus circle{fill:#ffe27a}.dom-badge.chosen circle{fill:#ffe27a;stroke:#fff;stroke-width:2.5}.dom-badge.win circle{stroke:#5dff8f;stroke-width:3}.dom-badge:focus{outline:none}.dom-key{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center;font-size:.75rem;color:var(--ww-text-dim);margin-bottom:.75rem}.dom-key span:before{content:"";display:inline-block;width:.8em;height:.8em;border-radius:3px;margin-right:.35em;vertical-align:-.05em;background:var(--swatch)}.dom-explorer-picks{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:center;margin-top:.75rem}.dom-explorer-picks button{font:inherit;font-size:.8rem;min-width:2.2rem;padding:.2em .6em;color:var(--ww-text);background:var(--ww-bg);border:1px solid var(--ww-border);border-radius:var(--ww-radius);cursor:pointer}.dom-explorer-picks button[aria-pressed=true]{background:#ffe27a;color:#0d1b2a;border-color:#ffe27a}.dom-verdict{margin-top:.75rem;max-width:24rem;text-align:center;font-size:.85rem;min-height:3.6em}.beam-cell{fill:#1c2030;stroke:#343a52;stroke-width:1}.beam-cell.beam-empty.clickable:hover{fill:#2a3050}.beam-wall{fill:#6b6f80;stroke:#343a52}.beam-exit-ring{fill:none;stroke:#5dff8f;stroke-width:3}.beam-exit-label{font-size:10px;font-weight:700;fill:#5dff8f}.beam-laser{fill:#ff5a6a;stroke:#fff;stroke-width:1.5}.beam-ray{fill:none;stroke:#ff5a6a;stroke-width:3;stroke-linejoin:round;stroke-linecap:round;opacity:.9}.beam-ray.lost{stroke-dasharray:1 0}.beam-crystal{fill:#23263a;stroke:#7f8499;stroke-width:2}.beam-crystal.lit{fill:#f4b93a;stroke:#fff}.beam-mirror{stroke:#8fd3ff;stroke-width:5;stroke-linecap:round}.beam-mirror.untouched{stroke:#5b6784;stroke-dasharray:2 6}.beam-focus{fill:none;stroke:var(--ww-accent);stroke-width:2}.beam-cell.clickable:focus{outline:none}.beam-cell.clickable:focus-visible{stroke:var(--ww-accent);stroke-width:2.5}.beam-explorer-status{font-size:.85rem;margin:.5rem 0 0;text-align:center}.beam-explorer-status.win{color:#5dff8f;font-weight:700}.beam-explorer-buttons{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-top:.6rem}.beam-explorer-buttons button{font:inherit;font-size:.8rem;color:var(--ww-text);background:var(--ww-bg);border:1px solid var(--ww-border);border-radius:var(--ww-radius);padding:.25em .8em;cursor:pointer}#root{width:100%;min-height:100vh}.App,.main-content{min-height:100vh;width:100%}
