@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media (prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*),[data-astro-transition-scope]{animation:none!important}}@font-face{font-family:Fira Code Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_astro/fira-code-cyrillic-ext-wght-normal.DhYMMuQd.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Fira Code Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_astro/fira-code-cyrillic-wght-normal.Y3u8pIsh.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Fira Code Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_astro/fira-code-greek-ext-wght-normal.wWus70Ix.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Fira Code Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_astro/fira-code-greek-wght-normal.B2SviObF.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Fira Code Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_astro/fira-code-symbols2-wght-normal.CE6EOz_n.woff2)format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Fira Code Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_astro/fira-code-latin-ext-wght-normal.Dvfvaomy.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fira Code Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_astro/fira-code-latin-wght-normal.CHoedHDv.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--fg:#4cc3ff;--fg-rgb:76, 195, 255;--bg:#020e1c;--bg-hi:#06192e;--bg-lo:#010812;--hot:#d8f1ff;--dim:#3386c9;--faint:#174a73;--case:#080c12;--link:#7fd6ff;--syn-const:#44e7ef;--syn-str:#a7baff;--next-fg:#3f6;--neg:#ff4d58;--warn:#ffb000;--font:"Fira Code Variable", "Fira Code", ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, "Liberation Mono", monospace;--fs:17px;--lh:1.65;--bezel:10px;--radius:18px;--gutter:clamp(16px, 4vw, 48px);--bar-h:44px;--page:calc(var(--fs) * 52.8);--glow-body:0 0 1px rgba(var(--fg-rgb), .55), 0 0 5px rgba(var(--fg-rgb), .22);--glow-head:0 0 2px rgba(var(--fg-rgb), .8), 0 0 10px rgba(var(--fg-rgb), .45), 0 0 22px rgba(var(--fg-rgb), .2);color-scheme:dark}html[data-phosphor=green]{--fg:#3f6;--fg-rgb:51, 255, 102;--bg:#031a07;--bg-hi:#062a10;--bg-lo:#010c03;--hot:#d9ffe3;--dim:#22a844;--faint:#145c2a;--case:#0b0e0a;--link:#5cff85;--syn-const:#4dffd2;--syn-str:#cbf62e;--next-fg:#ffb000;--neg:#ff4d58;--warn:#ffb000}html[data-phosphor=orange]{--fg:#ffb000;--fg-rgb:255, 176, 0;--bg:#1a0f00;--bg-hi:#2a1903;--bg-lo:#0c0600;--hot:#fff1cc;--dim:#b17900;--faint:#5c3d00;--case:#0e0b07;--link:#ffc233;--syn-const:#ffe068;--syn-str:#fc8731;--next-fg:#ff4d58;--neg:#ff4d58;--warn:#fff04d}html[data-phosphor=white]{--fg:#e4ebf0;--fg-rgb:228, 235, 240;--bg:#0b0d10;--bg-hi:#161a20;--bg-lo:#050608;--hot:#fff;--dim:#9aa3ab;--faint:#3a4048;--case:#0a0b0d;--link:#fff;--syn-const:#acdcf5;--syn-str:#bbe8c3;--next-fg:#4cc3ff;--neg:#ff4d58;--warn:#ffb000}html[data-phosphor=red]{--fg:#ff4d58;--fg-rgb:255, 77, 88;--bg:#120102;--bg-hi:#200306;--bg-lo:#080001;--hot:#ffdde0;--dim:#f71a24;--faint:#8c101b;--case:#0e0607;--link:#ff8089;--syn-const:#fb63c2;--syn-str:#fda19e;--next-fg:#e4ebf0;--neg:#ffdde0;--warn:#ffd24d}html[data-fx=low]{--glow-body:0 0 4px rgba(var(--fg-rgb), .16);--glow-head:0 0 6px rgba(var(--fg-rgb), .32)}html[data-fx=off]{--glow-body:none;--glow-head:none}@media (width<=640px){:root{--fs:16px;--bezel:4px;--radius:10px;--bar-h:42px}}@media (prefers-contrast:more){:root,html[data-phosphor]{--glow-body:none;--glow-head:none}}html{background:var(--bg-lo);scroll-padding-top:calc(var(--shell-live,96px) + 16px);scroll-padding-bottom:48px}body{min-height:100vh;font-family:var(--font);font-size:var(--fs);line-height:var(--lh);color:var(--fg);background:radial-gradient(120% 90% at 50% 38%, var(--bg-hi), var(--bg) 55%, var(--bg-lo)) fixed var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-variant-ligatures:none;margin:0}::selection{background:var(--fg);color:var(--bg);text-shadow:none}a{color:var(--hot);text-underline-offset:3px;text-decoration-thickness:1px}a.ext:after{content:"↗";color:var(--dim);margin-left:.15em;font-size:.75em}:focus-visible{outline:2px solid var(--hot);outline-offset:2px}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip{z-index:60;background:var(--fg);color:var(--bg);padding:.4rem .8rem;position:fixed;top:-60px;left:12px}.skip:focus{top:12px}.dim{color:var(--dim)}kbd{font:inherit;border:1px solid rgba(var(--fg-rgb), .55);color:var(--hot);background:rgba(var(--fg-rgb), .08);white-space:nowrap;border-bottom-width:2px;border-radius:4px;padding:.05em .4em;font-size:.85em}.lisp{color:var(--dim);font-weight:400}.pres{font:inherit;color:inherit;cursor:pointer;outline-offset:1px;background:0 0;border:0;border-radius:2px;outline:1px solid #0000;margin:0 -.12em;padding:0 .12em;text-decoration:none}.pres:hover,.pres:focus-visible{outline:1px dashed rgba(var(--fg-rgb), .75);background:rgba(var(--fg-rgb), .1)}.pres.pending{opacity:.6;cursor:progress}:is(p,li,.prose,.tagline) a.pres{color:var(--hot);text-underline-offset:3px;text-decoration:underline 1px}:is(p,li) button.pres{color:var(--link);text-underline-offset:3px;font-weight:700;text-decoration:underline 1px dotted}.forms button.pres,.printed .pres{color:var(--link);font-weight:700}.top-shell{z-index:30;background:var(--bg);position:sticky;top:0}.cmdbar{background:var(--bg);padding:max(var(--bezel), env(safe-area-inset-top,0px)) var(--gutter) 0;border-bottom:1px solid rgba(var(--fg-rgb), .35)}.cmdbar nav{max-width:var(--page);height:var(--bar-h);align-items:center;gap:.5rem;margin-inline:auto;font-size:15px;display:flex}.cmdbar .cmds{scrollbar-width:none;flex:auto;align-items:center;gap:.15rem;min-width:0;display:flex;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 24px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 24px),#0000)}.cmdbar .cmds::-webkit-scrollbar{display:none}.cmdbar .ctls{flex:none;align-items:center;gap:.35rem;display:flex}.cmd{white-space:nowrap;color:var(--link);min-height:24px;text-shadow:var(--glow-body);padding:.3rem;font-weight:700;text-decoration:none}.cmd .p{color:inherit;opacity:.7}.cmd[aria-current=page]{background:var(--fg);color:var(--bg);text-shadow:none}.cmd[aria-current=page] .p{color:var(--bg);opacity:.7}.cmdbar nav>.home{align-items:baseline;gap:.45rem;margin-right:-.35rem;padding:0;display:inline-flex}.cmdbar .home .label{padding:.3rem}.cmdbar .home .lambda{color:var(--hot);text-shadow:var(--glow-head);font-weight:700}.cmd.home[aria-current=page]{color:var(--link);text-shadow:var(--glow-body);background:0 0}.cmd.home[aria-current=page] .label{background:var(--fg);color:var(--bg);text-shadow:none}.ctl{font:inherit;color:var(--fg);border:1px solid rgba(var(--fg-rgb), .5);cursor:pointer;white-space:nowrap;background:0 0;min-height:26px;padding:.15rem .5rem;font-size:13px}.ctl:hover{color:var(--hot);border-color:var(--fg)}.menu-btn{display:none}@media (width<=960px){.cmdbar nav{--row:32px;height:auto;line-height:var(--row);padding:2px 0 .3rem;display:block;position:relative}.cmdbar nav:before{content:"";float:right;width:48px;height:var(--row)}.cmdbar nav>.home{margin-right:.1rem}.cmdbar .home .label{padding:4px .45rem}.cmdbar .cmds{display:inline}.cmdbar .cmd{vertical-align:top;margin-right:.1rem;padding:4px .45rem;line-height:24px;display:inline-block}.menu-btn{width:42px;height:var(--row);color:var(--fg);border:1px solid rgba(var(--fg-rgb), .5);cursor:pointer;background:0 0;place-items:center;padding:0;display:grid;position:absolute;top:2px;right:0}.menu-btn[aria-expanded=true]{color:var(--hot);background:rgba(var(--fg-rgb), .15)}.burger,.burger:before,.burger:after{background:currentColor;width:18px;height:2px;display:block}.burger{position:relative}.burger:before,.burger:after{content:"";position:absolute;left:0}.burger:before{top:-6px}.burger:after{top:6px}.cmdbar .ctls{top:calc(var(--row) + 6px);z-index:31;background:var(--bg);border:1px solid rgba(var(--fg-rgb), .5);flex-direction:column;align-items:stretch;gap:.5rem;padding:.6rem;line-height:normal;display:none;position:absolute;right:0;box-shadow:0 10px 28px #0000008c}.cmdbar .ctls.open{display:flex}.cmdbar .ctls .ctl{min-height:40px;padding-inline:1rem;font-size:15px}}main#screen{max-width:var(--page);padding:1.4rem var(--gutter) 2.5rem;text-shadow:var(--glow-body);outline:none;margin-inline:auto;display:block}.site-footer{max-width:var(--page);padding:0 var(--gutter) calc(3.5rem + env(safe-area-inset-bottom,0px));color:var(--dim);text-shadow:var(--glow-body);margin-inline:auto;font-size:13px}.site-footer p{border-top:1px dashed rgba(var(--fg-rgb), .3);margin:0;padding-top:.8rem}main#screen{overflow-wrap:break-word}h1,h2,h3{color:var(--hot);text-shadow:var(--glow-head);text-wrap:balance;line-height:1.25}h1{letter-spacing:-.01em;margin:.3rem 0 1rem;font-size:clamp(1.5rem,1.1rem + 1.6vw,2.3rem);font-weight:700}h2{margin:2.2rem 0 .7rem;font-size:1.15rem;font-weight:600}h3{margin:1.6rem 0 .5rem;font-size:1rem;font-weight:600}#screen h1:focus{outline:none}.decay{animation:.18s ease-out decay}.decay:before{content:"";background:rgba(var(--fg-rgb), .55);height:2px;box-shadow:0 0 12px rgba(var(--fg-rgb), .6);pointer-events:none;z-index:41;animation:.18s linear forwards sweep;position:fixed;top:0;left:0;right:0}@keyframes decay{0%{opacity:.25}to{opacity:1}}::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none}@keyframes sweep{0%{transform:translateY(0)}to{transform:translateY(100vh)}}.ps{color:var(--dim)}.printed{color:var(--dim);margin:0 0 .4rem;font-size:15px}pre.edn{font:inherit;color:var(--fg);white-space:pre-wrap;margin:0 0 1.2rem;font-size:15px;line-height:1.55}pre.edn .e{padding-left:var(--hang,0ch);text-indent:calc(-1 * var(--hang,0ch));display:block}pre.edn .n,pre.edn .nb{text-indent:0;display:inline-block}pre.edn .v a{color:inherit;text-underline-offset:.2em;text-decoration:underline 1px}pre.edn .v a:hover,pre.edn .v a:focus-visible{color:var(--hot)}pre.edn .nb{overflow-wrap:anywhere}pre.edn .c{color:var(--dim);font-style:italic}.banner{color:var(--hot);text-shadow:var(--glow-head);flex-wrap:wrap;gap:1.05em 4ch;margin:.2rem 0 1rem;font-size:clamp(6.5px,1.45vw,13px);line-height:1.05;display:flex;overflow:hidden}.banner pre{font:inherit;white-space:pre;margin:0}.tagline{color:var(--fg);max-width:68ch;margin:0 0 1.4rem}.rows{grid-template-columns:minmax(0,1fr);gap:.1rem;margin:0 0 1rem;display:grid}.row{color:var(--fg);grid-template-columns:11ch minmax(0,1fr) auto;align-items:baseline;gap:0 1.5ch;margin:0 -.3rem;padding:.15rem .3rem;text-decoration:none;display:grid}.row time,.row .rt,.row .yrs{color:var(--dim);font-variant-numeric:tabular-nums;font-size:.9em}.year{color:var(--dim);margin:1.4rem 0 .3rem;font-size:15px}@media (width<=560px){.row{grid-template-columns:minmax(0,1fr) auto}.row time,.row>.yrs:first-child{grid-column:1/-1}}.featured{grid-template-columns:repeat(auto-fit,minmax(min(100%,30ch),1fr));gap:1rem;margin:.6rem 0 1.2rem;display:grid}.card{border:1px solid rgba(var(--fg-rgb), .4);padding:1rem 1.1rem}.card.headline{border-color:var(--fg);box-shadow:0 0 18px rgba(var(--fg-rgb), .12) inset;grid-column:1/-1}.card h3{margin:0 0 .3rem;font-size:1.1rem}.card.headline h3{font-size:clamp(1.4rem,1rem + 1.4vw,2rem)}.card p{margin:.2rem 0 .6rem}.card .links{flex-wrap:wrap;gap:.4rem 1.2rem;font-size:15px;display:flex}.card.hl{outline:2px solid var(--hot)}.archive .row{grid-template-columns:22ch 10ch minmax(0,1fr)}@media (width<=720px){.archive .row{grid-template-columns:minmax(0,1fr) auto}.archive .row .tl{color:var(--dim);grid-column:1/-1}}.prose{max-width:68ch}.prose p,.prose ul,.prose ol{margin:0 0 1em}.prose li{margin:.2em 0}.prose h2{font-size:1.2rem}.prose hr{border:0;border-top:1px dashed rgba(var(--fg-rgb), .4);margin:2rem 0}.table-wrap{margin:1.2rem 0;overflow-x:auto}.prose table{border-collapse:collapse;overflow-wrap:normal;font-variant-numeric:tabular-nums}.prose th,.prose td{border-bottom:1px solid rgba(var(--fg-rgb), .22);text-align:left;vertical-align:bottom;padding:.2rem .9rem .2rem 0}.prose thead th{color:var(--hot);border-bottom-color:rgba(var(--fg-rgb), .5);font-weight:600}.prose [data-align=right]{text-align:right}.prose [data-align=center]{text-align:center}.prose blockquote{border-left:2px solid rgba(var(--fg-rgb), .45);color:var(--fg);margin:1.2rem 0;padding-left:1.2rem}.essay-meta{color:var(--dim);margin:-.4rem 0 1.6rem;font-size:15px}.figure{margin:1.4rem 0}.prose :is(audio,video,iframe){max-width:100%}figure.essay-image .duo-btn img{image-rendering:auto;width:auto;max-height:min(60vh,440px)}.duo-btn{border:1px solid rgba(var(--fg-rgb), .45);cursor:zoom-in;background:0 0;max-width:100%;padding:0;line-height:0;display:inline-block}.duo-btn img{filter:url(#phosphor-duotone);max-width:100%;height:auto;display:block}.duo-btn img.matte{background:var(--matte);padding:.62em}@media (width>=760px){.duo-btn img[data-phos]{image-rendering:pixelated}}html[data-fx=off] .duo-btn img{filter:none;image-rendering:auto}.prose a>img{max-width:100%;height:auto}.prose a>img[data-phos]{filter:url(#phosphor-duotone)}html[data-fx=off] .prose a>img{filter:none}.figure figcaption{color:var(--dim);margin-top:.3rem;font-size:14px}.ext-media{border:1px dashed rgba(var(--fg-rgb), .45);min-height:5rem;color:var(--dim);text-align:center;justify-content:center;align-items:center;padding:1rem;font-size:14px;display:flex}.prevnext{border-top:1px dashed rgba(var(--fg-rgb), .4);flex-wrap:wrap;justify-content:space-between;gap:1rem;margin-top:3rem;padding-top:1rem;font-size:15px;display:flex}pre.code{background:rgba(var(--fg-rgb), .05);border-left:2px solid rgba(var(--fg-rgb), .45);font:inherit;font-variant-ligatures:contextual;text-shadow:none;margin:1.2rem 0;padding:.9rem 1rem;font-size:15px;line-height:1.5;position:relative;overflow-x:auto}.c-com{color:var(--dim);font-style:italic}.c-str{color:var(--syn-str)}.c-kw,.c-num,.c-lit,.c-tag{color:var(--syn-const)}.c-sp{color:var(--hot);font-weight:700}.c-sym,.c-p0{color:var(--fg)}.c-p1{color:var(--dim)}.c-p2{color:var(--link)}.eval-btn{margin:-.6rem 0 1.2rem;font-size:14px;display:inline-block}.snake{flex-wrap:wrap;align-items:flex-start;gap:1.2rem 2rem;display:flex}.tty{--cell:clamp(18px, 6vw, 30px);grid-template-columns:repeat(12, var(--cell));border:1px solid rgba(var(--fg-rgb), .45);text-shadow:none;gap:2px;padding:10px;display:grid}.tty span{width:var(--cell);height:var(--cell);font-size:calc(var(--cell) * .78);place-items:center;line-height:1;display:grid}.tty .e{color:var(--faint)}.tty .b{color:var(--fg)}.tty .h{color:var(--hot);text-shadow:var(--glow-head)}.tty .p{color:var(--hot);animation:1s step-end infinite blink}@keyframes blink{50%{opacity:.35}}.snake .side{flex:26ch;min-width:0}.score{color:var(--hot);margin:0 0 .6rem;font-size:1.1rem}.forms{flex-wrap:wrap;gap:.3rem .8rem;margin:0 0 .8rem;font-size:15px;display:flex}.touch{flex-wrap:wrap;gap:.6rem;margin:0 0 .8rem;display:flex}.touch .turn{flex:1 1 0}.touch .again{flex:100%;order:-1;font-weight:700;display:none}.touch.over .again{display:block}.snake-modes{border:0;margin:0 0 .8rem;padding:0;font-size:15px}.snake-modes legend{color:var(--dim);margin-bottom:.2rem;padding:0}.snake-modes label{cursor:pointer;align-items:baseline;gap:.5rem;display:flex}.snake-modes input{accent-color:var(--fg);margin:0}.touch .dir,.snake-keys .abs{display:none}#screen[data-snake-mode=absolute] .touch{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-areas:"left up right""left down right";display:grid}#screen[data-snake-mode=absolute] .touch.over{grid-template-areas:"again again again""left up right""left down right"}#screen[data-snake-mode=absolute] :is(.touch .turn,.snake-keys .rel){display:none}#screen[data-snake-mode=absolute] .touch .dir{display:block}#screen[data-snake-mode=absolute] .snake-keys .abs{display:inline}#screen[data-snake-mode=absolute] .touch .again{grid-area:again}.touch .dir[data-dir=up]{grid-area:up}.touch .dir[data-dir=down]{grid-area:down}.touch .dir[data-dir=left]{grid-area:left}.touch .dir[data-dir=right]{grid-area:right}.touch .play{flex:100%;font-size:1.6rem;font-weight:700;display:none}#screen .touch.paused .play{display:block}#screen .touch.paused :is(.turn,.dir){display:none}#screen[data-snake-mode=absolute] .touch .play{grid-area:1/1/-1/-1}#screen[data-snake-mode=absolute] .touch.paused .dir{visibility:hidden;display:block}.touch button{font:inherit;min-width:56px;min-height:48px;color:var(--hot);background:rgba(var(--fg-rgb), .08);border:1px solid rgba(var(--fg-rgb), .5);cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;margin:0;font-size:1.4rem}.touch button:active{background:rgba(var(--fg-rgb), .25)}.tty{cursor:pointer}.tty:focus-visible{outline-offset:3px}.hero{grid-template:"text game""who game"1fr/minmax(0,1fr) auto;align-items:start;gap:0 2rem;display:grid}.hero-text{grid-area:text}.hero .hero-games{grid-area:game}.hero-who{grid-area:who;min-width:0}.game-teaser{width:max-content;margin:.2rem 0 1.4rem}.game-teaser .title{margin:0 0 .35rem;font-size:14px}.mini-tty,.mini-board{--cell:clamp(14px, 1.45vw, 18px);text-decoration:none}.mini-tty{gap:1px;padding:8px}.mini-board{--sq:calc((12 * var(--cell) + 27px) / 8);grid-template-columns:repeat(8, var(--sq));border:1px solid rgba(var(--fg-rgb), .45);text-shadow:none;display:grid}.mini-board span{width:var(--sq);height:var(--sq);line-height:1;font-size:calc(var(--sq) * .8);font-variant-emoji:text;place-items:center;font-family:system-ui,Apple Symbols,Segoe UI Symbol,"Noto Sans Symbols 2",DejaVu Sans,sans-serif;display:grid}.mini-board .l{background:rgba(var(--fg-rgb), .07)}.mini-board .d{background:rgba(var(--fg-rgb), .2)}.mini-board .w{color:var(--hot)}.mini-board .b{color:var(--bg);-webkit-text-stroke:max(1px, calc(var(--sq) * .025)) var(--fg);paint-order:stroke fill}.mini-tty:hover,.mini-board:hover,.game-teaser:has(.play-game:hover,.play-game:focus-visible) :is(.mini-tty,.mini-board){border-color:var(--fg)}.play-game{min-height:44px;color:var(--hot);background:rgba(var(--fg-rgb), .08);border:1px solid rgba(var(--fg-rgb), .5);touch-action:manipulation;-webkit-tap-highlight-color:transparent;place-items:center;margin-top:8px;padding:0 .5rem;font-size:1.25rem;font-weight:700;text-decoration:none;display:grid}.play-game:hover,.play-game:focus-visible{background:rgba(var(--fg-rgb), .16);border-color:var(--fg)}.play-game:active{background:rgba(var(--fg-rgb), .25)}@media (width<=760px){.hero{grid-template-rows:none;grid-template-columns:minmax(0,1fr);grid-template-areas:"text""game""who"}.mini-tty,.mini-board{--cell:clamp(15px, 5.4vw, 24px)}.play-game{min-height:48px}}@media (width>=540px) and (width<=760px){.hero .hero-games{grid-template-columns:repeat(2,max-content);align-items:start;gap:0 1.5rem;display:grid}.mini-tty,.mini-board{--cell:clamp(14px, calc((100vw - 2 * var(--gutter) - 2 * var(--bezel) - 1.5rem - 58px) / 24), 24px)}}@media (width<=640px),(pointer:coarse){.touch{z-index:29;padding:6px calc(var(--bezel) + var(--gutter)) calc(6px + var(--bezel) + env(safe-area-inset-bottom,0px));background:var(--bg);border-top:1px solid rgba(var(--fg-rgb), .35);touch-action:manipulation;gap:6px;margin:0;position:fixed;bottom:0;left:0;right:0}.touch .turn{min-height:64px;font-size:1.2rem}.touch .play{min-height:64px;font-size:1.5rem}.touch .again{min-height:48px;font-size:1.1rem}.tty{scroll-margin-bottom:calc(var(--turns-h,80px) + 24px)}}pre.state{font:inherit;color:var(--fg);white-space:pre-wrap;word-break:break-all;max-height:18rem;margin:0;font-size:13px;line-height:1.45;overflow:auto}.gameover{color:var(--hot);font-size:1.1rem}.listener{padding:0 var(--gutter);border-bottom:1px solid rgba(var(--fg-rgb), .35);background:var(--bg)}.listener .inner{max-width:var(--page);flex-direction:column;margin-inline:auto;display:flex}.transcript{max-height:min(50vh, 460px, calc(var(--vvh,100vh) - 9rem));white-space:pre-wrap;word-break:break-word;text-shadow:var(--glow-body);border-bottom:1px dashed rgba(var(--fg-rgb), .3);box-sizing:border-box;padding:.6rem 0 .3rem;font-size:15px;line-height:1.5;overflow-y:auto}.transcript.resized{max-height:calc(var(--vvh,100vh) - 9rem)}.repl-grip{z-index:2;cursor:row-resize;touch-action:none;-webkit-user-select:none;user-select:none;order:1;height:12px;margin:-6px 0;position:relative}.repl-grip:after{content:"";background:rgba(var(--fg-rgb), .4);border-radius:2px;width:40px;height:3px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.repl-grip:hover:after,.repl-grip:focus-visible:after,.repl-grip.dragging:after{background:var(--fg)}.prompt-row{order:2}.entry{margin:0 0 .5rem}.entry .tag{color:var(--dim);font-style:italic}.entry .out{color:var(--fg)}.entry .err{color:var(--hot)}.entry .reuse{font:inherit;color:var(--hot);cursor:text;text-align:left;white-space:pre-wrap;background:0 0;border:0;padding:0}.prompt-row{align-items:flex-start;gap:1ch;padding:.45rem 0;font-size:16px;line-height:1.5;display:flex}.prompt-row label{color:var(--dim);white-space:nowrap;user-select:none}.prompt-wrap{cursor:text;flex:1;min-width:0;position:relative}.prompt-wrap textarea,.prompt-wrap .mirror,.prompt-wrap .last{font:inherit;letter-spacing:normal;white-space:pre-wrap;word-break:break-word;border:0;margin:0;padding:0;line-height:1.5}.prompt-wrap textarea{color:#0000;caret-color:#0000;resize:none;z-index:1;font-variant-ligatures:none;background:0 0;outline:none;width:100%;min-height:1.5em;display:block;position:relative;overflow:hidden}.prompt-wrap textarea::selection{background:rgba(var(--fg-rgb), .35);color:#0000}.prompt-wrap .mirror{color:var(--hot);pointer-events:none;text-shadow:var(--glow-body);font-variant-ligatures:none;position:absolute;inset:0}.prompt-wrap .mirror mark{background:rgba(var(--fg-rgb), .35);color:inherit;border-radius:2px}.prompt-wrap .mirror .cur{background:var(--fg);color:var(--bg);text-shadow:none;animation:1.06s step-end infinite cursor}@keyframes cursor{50%{color:inherit;background:0 0}}.prompt-wrap .last{color:var(--fg);white-space:nowrap;text-overflow:ellipsis;pointer-events:none;text-shadow:var(--glow-body);position:absolute;inset:0;overflow:hidden}.prompt-wrap .last .ps2{color:var(--dim)}.prompt-wrap .last .err{color:var(--hot)}.prompt-row .toggle{font:inherit;color:var(--fg);border:1px solid rgba(var(--fg-rgb), .5);cursor:pointer;white-space:nowrap;background:0 0;min-height:26px;padding:0 .5rem;font-size:13px}.prompt-row .toggle[aria-expanded=true]{background:rgba(var(--fg-rgb), .15)}.prompt-row .toggle kbd{margin-left:.15em;padding:0 .35em;font-size:.9em;line-height:1.3}.mousedoc{z-index:30;padding:.15rem calc(var(--gutter) + var(--bezel)) calc(.25rem + var(--bezel));color:var(--dim);white-space:nowrap;text-overflow:ellipsis;background:linear-gradient(transparent, var(--bg) 40%);pointer-events:none;min-height:1.4em;font-size:13px;position:fixed;bottom:0;left:0;right:0;overflow:hidden}.mousedoc b{color:var(--fg);font-weight:500}@media (pointer:coarse),(width<=640px){.mousedoc{display:none}}@media (prefers-reduced-motion:reduce){.prompt-wrap .mirror .cur{animation:none}}.eval-out{border-left:2px solid rgba(var(--fg-rgb), .45);color:var(--fg);font:inherit;white-space:pre-wrap;word-break:break-word;background:rgba(var(--fg-rgb), .03);margin:-.8rem 0 1.4rem;padding:.4rem .8rem;font-size:14px}@media (width<=640px){:root{--dock-b:max(var(--kb,0px), var(--turns-b,0px));--dock-h:calc(var(--listener-h,41px) + var(--cmds-h,72px))}html[data-snake-visible]{--turns-b:var(--turns-h,80px)}html:has(.chess-controls){--turns-b:var(--turns-h,58px)}html{scroll-padding-top:16px;scroll-padding-bottom:calc(var(--dock-h) + var(--turns-b,0px) + 16px)}.top-shell{position:static}.cmdbar nav{font-size:13px}.cmdbar .cmds{left:0;right:0;bottom:var(--dock-b);z-index:30;padding:4px var(--gutter) calc(4px + max(0px, env(safe-area-inset-bottom,0px) - var(--dock-b)));background:var(--bg);border-top:1px solid rgba(var(--fg-rgb), .35);flex-wrap:wrap;column-gap:.1rem;transition:bottom .2s;display:flex;position:fixed}.cmdbar .cmd{margin-right:0;padding-inline:3px}.listener{left:0;right:0;bottom:calc(var(--dock-b) + var(--cmds-h,72px));z-index:30;border-top:1px solid rgba(var(--fg-rgb), .35);border-bottom:0;transition:bottom .2s;position:fixed}.transcript{max-height:min(50vh, calc(var(--vvh,100vh) - var(--cmds-h,72px) - max(0px, var(--turns-b,0px) - var(--kb,0px)) - 6rem))}.transcript.resized{max-height:calc(var(--vvh,100vh) - var(--cmds-h,72px) - max(0px, var(--turns-b,0px) - var(--kb,0px)) - 6rem)}.repl-grip{order:-1;height:24px;margin:-12px 0}.tty{scroll-margin-bottom:0}.site-footer{padding-bottom:calc(var(--dock-h) + var(--turns-b,0px) + 1.5rem)}}canvas.matrix{z-index:29;background:var(--bg);cursor:pointer;touch-action:none;width:100%;height:100%;position:fixed;inset:0}.matrix-ctls{z-index:31;left:50%;bottom:calc(var(--bezel) + 36px);gap:.6rem;display:flex;position:fixed;transform:translate(-50%)}.matrix-ctls .pres{white-space:nowrap;color:var(--link);background:var(--bg);border:1px solid rgba(var(--fg-rgb), .6);box-shadow:0 0 28px rgba(var(--fg-rgb), .3);margin:0;padding:.25rem .65rem;font-weight:700}.matrix-ctls .pres:hover,.matrix-ctls .pres:focus-visible{background:var(--bg-hi)}@media (width<=640px){.matrix-ctls{left:var(--gutter);right:var(--gutter);bottom:calc(var(--dock-b,0px) + var(--dock-h,112px) + 12px);flex-wrap:wrap;justify-content:center;gap:.4rem;transform:none}.matrix-ctls .pres{padding:.25rem .5rem;font-size:14px}}canvas.backdrop{z-index:0;pointer-events:none;opacity:.5;width:100%;height:100%;position:fixed;inset:0}html[data-fx=off] canvas.backdrop{display:none}@media (prefers-contrast:more){canvas.backdrop{display:none}}.fx{pointer-events:none;z-index:40;position:fixed;inset:0}.fx>div{position:absolute;inset:0}.scan{background:repeating-linear-gradient(#0000 0 2px,#00000038 2px 3px)}.vignette{background:radial-gradient(80% 75%,#0000 58%,#00000042 80%,#00000094 100%);box-shadow:inset 0 0 70px 12px #00000080}.glass{background:radial-gradient(60% 40% at 18% 4%,#ffffff0e,#0000 70%),linear-gradient(168deg,#ffffff08,#0000 30%)}.flicker{opacity:0;background:#000;animation:6s step-end infinite flicker}@keyframes flicker{0%{opacity:.03}6%{opacity:0}41%{opacity:.02}44%{opacity:0}71%{opacity:.03}73%{opacity:0}}.roll{background:linear-gradient(180deg, transparent, rgba(var(--fg-rgb), .03) 60%, rgba(var(--fg-rgb), .055) 92%, transparent);height:16%;animation:9s linear infinite roll;bottom:auto}@keyframes roll{0%{transform:translateY(-100%)}to{transform:translateY(640%)}}.bezel{pointer-events:none;z-index:45;--case-spread:calc(2 * (var(--bezel) + var(--radius)));position:fixed;inset:0;overflow:hidden}.bezel:before{content:"";inset:var(--bezel);border-radius:var(--radius);box-shadow:0 0 0 var(--case-spread) var(--case), inset 0 0 0 1px #000000e6, inset 0 0 26px 4px #0000008c;position:absolute}html[data-fx=low] .flicker,html[data-fx=low] .roll{display:none}html[data-fx=low] .scan{opacity:.5}html[data-fx=off] .fx{display:none}html[data-fx=off] .bezel:before{box-shadow:0 0 0 var(--case-spread) var(--case)}@media (prefers-reduced-motion:reduce){.flicker,.roll{display:none}.decay,.decay:before,.tty .p{animation:none}}@media (prefers-contrast:more){.scan,.vignette,.glass,.flicker,.roll{display:none}}dialog#lightbox{border:1px solid var(--fg);background:var(--bg);color:var(--fg);max-width:min(92vw,1000px);padding:.8rem}dialog#lightbox::backdrop{background:#000000bf}dialog#lightbox img{max-width:100%;height:auto;max-height:80vh;display:block}dialog#lightbox button{font:inherit;color:var(--fg);border:1px solid rgba(var(--fg-rgb), .5);cursor:pointer;background:0 0;margin-top:.5rem}@media print{.top-shell,.cmdbar,.listener,.mousedoc,.fx,.bezel,.skip,dialog,.no-print,.eval-btn,canvas{display:none!important}html,body{background:#fff!important}*{color:#000!important;text-shadow:none!important;box-shadow:none!important}main#screen{max-width:none;padding:0;background:0 0!important}.duo-btn{background:0 0;border:0}.duo-btn img,.prose a>img{filter:none;mix-blend-mode:normal}a.ext:after{content:" (" attr(href) ")";font-size:.85em}.cv-role,.card,pre{break-inside:avoid}@page{margin:16mm}}.chess{--sq:clamp(40px, calc((100vw - 2 * var(--gutter) - 2 * var(--bezel) - 2px) / 8), 64px);--board-w:calc(8 * var(--sq) + 2px);flex-wrap:wrap;align-items:flex-start;gap:1.2rem 2rem;display:flex}.chess .board-col{width:var(--board-w);flex:none;max-width:100%}.chess .board-col>h1{margin-top:0}:is(.chess-lede,.chess-other,.chess-keys),:is(.chess-about,.chess-source,.chess-forms) .dim{color:color-mix(in srgb, var(--fg) 70%, var(--dim))}.chess .board-wrap{width:max-content;position:relative}.chess .side{flex-direction:column;flex:26ch;gap:.8rem;min-width:0;display:flex}@media (width>=900px){.chess{grid-template-columns:var(--board-w) minmax(0, 1fr);grid-template-areas:"board options""state moves";align-items:start;gap:1.2rem 2rem;display:grid}.chess .board-col{grid-area:board}.chess .side{display:contents}.chess .chess-options-home{grid-area:options}.chess .side .state{grid-area:state;height:26rem}.chess .side .movelist{contain:size;grid-area:moves;align-self:stretch;height:auto;min-height:7.5rem}}.chessboard{border:1px solid rgba(var(--fg-rgb), .5);width:max-content;text-shadow:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:manipulation;scroll-margin-bottom:0;display:grid}.chessboard:focus{outline:none}.chessboard:focus-visible{outline:2px solid var(--fg);outline-offset:3px}.chessboard .rank{grid-template-columns:repeat(8, var(--sq));display:grid}.chessboard .sq{width:var(--sq);height:var(--sq);touch-action:manipulation;place-items:center;display:grid;position:relative}.chessboard .sq.light{background-color:rgba(var(--fg-rgb), .07)}.chessboard .sq.dark{background-color:rgba(var(--fg-rgb), .2)}.chessboard .sq.white,.chessboard .sq.black{touch-action:none}.chessboard .sq.movable{cursor:grab}.chessboard .glyph,.chess-ghost,.promote button{font-family:system-ui,Apple Symbols,Segoe UI Symbol,"Noto Sans Symbols 2",DejaVu Sans,sans-serif;font-size:calc(var(--sq,48px) * .8);font-variant-emoji:text;line-height:1}.chessboard .white .glyph,.chess-ghost.white{color:var(--hot)}.chessboard .black .glyph,.chess-ghost.black{color:var(--bg);-webkit-text-stroke:max(1px, calc(var(--sq) * .025)) var(--fg);paint-order:stroke fill}.chessboard .lifted .glyph{opacity:.25}.chessboard .sq.last{background-color:rgba(var(--fg-rgb), .38)}.chessboard .sq.check{background:var(--neg)}.chessboard.mated .sq.light{background-color:color-mix(in srgb, var(--neg) 24%, transparent)}.chessboard.mated .sq.dark{background-color:color-mix(in srgb, var(--neg) 48%, transparent)}.chessboard.mated .sq{transition:background-color .6s ease-in}.chessboard .sq.check.white .glyph{color:var(--bg);-webkit-text-stroke:0}.chessboard .sq.check.black .glyph{color:var(--neg);-webkit-text-stroke:max(1px, calc(var(--sq) * .025)) var(--bg)}@keyframes chess-refused{50%{background-color:var(--neg)}}.chessboard .sq.refused{outline:3px solid var(--neg);outline-offset:-3px;animation:.35s ease-in-out 3 chess-refused}.chess .status.neg{color:var(--neg)}.chessboard .sq.picked{outline:3px solid var(--hot);outline-offset:-3px}.chessboard .sq.target{background-image:radial-gradient(circle, rgba(var(--fg-rgb), .75) 0 13%, transparent 14%)}.chessboard .sq.target.white,.chessboard .sq.target.black{background-image:radial-gradient(circle, transparent 0 62%, rgba(var(--fg-rgb), .75) 63% 70%, transparent 71%)}.chessboard:focus-visible .sq.cursor{outline:2px dashed var(--hot);outline-offset:-6px}.chessboard .sq.threat{box-shadow:inset 0 0 0 2px var(--warn), inset 0 0 calc(var(--sq) * .3) color-mix(in srgb, var(--warn) 35%, transparent)}.chess svg.thinking{pointer-events:none;width:calc(100% - 2px);height:calc(100% - 2px);position:absolute;top:1px;left:1px;overflow:visible}.chess svg.thinking[hidden]{display:none}.chess svg.thinking .box{fill:none;stroke-width:.05px}.chess svg.thinking .arrow{stroke-width:.09px;stroke-linecap:round;opacity:.9}.chess svg.thinking .pv0{stroke:var(--hot)}.chess svg.thinking .pv1{stroke:var(--fg);stroke-dasharray:.14 .09}.chess svg.thinking path.pv0,.chess svg.thinking path.pv1{stroke:none;stroke-dasharray:none}.chess svg.thinking path.pv0{fill:var(--hot)}.chess svg.thinking path.pv1{fill:var(--fg)}.chessboard .rank>.sq:first-child:before{content:attr(data-rank);color:var(--dim);font-size:11px;line-height:1.2;position:absolute;top:1px;left:3px}.chessboard .rank:last-child>.sq:after{content:attr(data-file);color:var(--dim);font-size:11px;line-height:1.2;position:absolute;bottom:1px;right:3px}.chess-ghost{z-index:2000;pointer-events:none;position:fixed;top:0;left:0}.promote{background:var(--bg-hi);border:1px solid var(--fg);z-index:5;gap:4px;padding:6px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.promote[hidden]{display:none}.promote button{--sq:48px;width:56px;height:56px;color:var(--hot);background:rgba(var(--fg-rgb), .08);border:1px solid rgba(var(--fg-rgb), .5);cursor:pointer;padding:0}.promote button:focus-visible{outline:2px solid var(--hot);outline-offset:2px}.chess-player{justify-content:space-between;align-items:center;gap:.6rem;min-height:32px;margin:0;font-size:15px;display:flex}.chess-player.top{margin-bottom:.3rem}.chess-player.bottom{margin-top:.3rem}.chess-player .who{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.chess-player .who:before{content:"▸";width:1.4ch;color:var(--hot);visibility:hidden;display:inline-block}.chess-player.to-move .who:before{visibility:visible}.chess-player .piece{font-variant-emoji:text;font-family:system-ui,Apple Symbols,Segoe UI Symbol,"Noto Sans Symbols 2",DejaVu Sans,sans-serif;font-size:1.2em;line-height:1}.chess-player .piece.white{color:var(--hot)}.chess-player .piece.black{color:var(--bg);-webkit-text-stroke:1px var(--fg);paint-order:stroke fill}.chess-player .name{font-weight:700}.chess-player.to-move .name{color:var(--hot)}.chess-player .about{color:color-mix(in srgb, var(--fg) 70%, var(--dim))}.chess-player .book-toggle{font:inherit;color:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline dotted}.chess-player .book-toggle.off{color:var(--hot);font-weight:700}.chess-player .book-toggle:focus-visible{outline:2px solid var(--hot);outline-offset:1px}.chess-player .clock{text-align:right;font-variant-numeric:tabular-nums;border:1px solid rgba(var(--fg-rgb), .35);flex:none;min-width:6ch;padding:.05rem .5rem}.chess-player .clock[hidden]{display:none}.chess-player .clock.running{color:var(--bg);background:var(--fg);border-color:var(--fg)}.chess-player .clock.low{color:var(--neg);border-color:var(--neg)}.chess-player .clock.running.low,.chess-player .clock.flagged{color:var(--bg);background:var(--neg);border-color:var(--neg)}.chess .status{height:calc(var(--lh) * 1em);white-space:nowrap;text-overflow:ellipsis;margin:.5rem 0 .1rem;overflow:hidden}.chess .stats{color:var(--fg);font-variant-numeric:tabular-nums;margin:0 0 .6rem;font-size:15px}.chess .stats :is(.verdict,.figs){height:calc(var(--lh) * 1em);white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.chess .stats .verdict{color:var(--hot);font-weight:700}.chess .stats abbr{text-decoration:none}.chess .stats .fig{white-space:nowrap}.chess-options{--opt-label:9.5rem;flex-direction:column;gap:.7rem;font-size:16px;display:flex}.chess-options :is(.opt-set,.opt-side){border:1px solid rgba(var(--fg-rgb), .35);border-radius:0;min-width:0;margin:0;padding:.45rem .6rem .6rem}.chess-options legend{color:var(--fg);padding:0 .35rem;font-weight:700}.chess-options .opt-radios{flex-wrap:wrap;align-items:center;gap:.3rem 1.2rem;display:flex}.chess-options .opt-radios label{cursor:pointer;align-items:center;gap:.45rem;display:inline-flex}.chess-options .opt-checks{flex-direction:column;align-items:flex-start;gap:.4rem;display:flex}.chess-options .opt-side{grid-template-columns:var(--opt-label) minmax(0, 1fr);align-items:center;gap:.45rem 1rem;display:grid}.chess-options .opt-label{color:var(--fg)}.chess-options .opt-field{flex-wrap:wrap;align-items:center;gap:.3rem 1.2rem;min-width:0;display:flex}.chess-options select{font:inherit;max-width:100%;min-height:34px;color:var(--fg);background:var(--bg-hi);border:1px solid rgba(var(--fg-rgb), .5);padding:.1rem .35rem}.chess-options input:is([type=radio],[type=checkbox]){width:18px;height:18px;accent-color:var(--fg);margin:0}.chess-options .opt-check{cursor:pointer;align-items:center;gap:.5rem;display:inline-flex}.chess-options .opt-side .opt-check{grid-column:1/-1;justify-self:start}dialog .chess-options{gap:.7rem;margin-bottom:1rem}.chess-options input[type=number]{box-sizing:border-box;width:12ch;font:inherit;min-height:34px;color:var(--fg);background:var(--bg-hi);border:1px solid rgba(var(--fg-rgb), .5);padding:.1rem .35rem}.chess-options input[type=number]::placeholder{color:var(--dim);opacity:1}.chess-options .opt-start{margin:0}.chess-options .opt-start[hidden]{display:none}.chess-options .opt-start .chess-btn{width:100%}@media (width<=899px){.chess-options-home .opt-start{display:none}}.chess-options :is(select,input):disabled{opacity:.45;cursor:default}html:has(.chess){overflow-y:scroll}.chess pre.state{box-sizing:border-box;scrollbar-gutter:stable;white-space:pre-wrap;overflow-wrap:anywhere;width:100%;min-width:0;height:22rem;max-height:none;font-size:15px;line-height:1.45;overflow:hidden scroll}.chess .movelist{scrollbar-gutter:stable;flex:none;height:7.5rem;margin:0;padding-left:4ch;font-size:15px;overflow-y:scroll}.chess-forms{margin:1.2rem 0 0;padding:0;font-size:15px;list-style:none}.chess-forms li{margin:.1rem 0}.chess.rom :is(.stats,.chess-controls,.movelist,.state,.chess-options),.chess.rom~.chess-forms{display:none}.chess-about{margin-top:1.6rem}.chess-about ul{margin:.4rem 0 .9rem;padding-left:2.4ch}.chess-about li{margin:.2rem 0}@media (prefers-reduced-motion:reduce){.chessboard .sq.refused{animation:none}}.chess-controls{flex-wrap:wrap;gap:.5rem;margin:0;font-size:15px;display:flex}.chess-btn{box-sizing:border-box;font:inherit;min-height:44px;color:var(--hot);background:rgba(var(--fg-rgb), .08);border:1px solid rgba(var(--fg-rgb), .5);cursor:pointer;white-space:nowrap;padding:.3rem .7rem}.chess-controls .new{min-width:calc(8ch + 1.4rem + 2px)}.chess-controls .settings{min-width:calc(18ch + 1.4rem + 2px)}.chess-controls .pause{min-width:calc(10ch + 1.4rem + 2px)}.chess-btn:hover{background:rgba(var(--fg-rgb), .16)}.chess-btn:focus-visible{outline:2px solid var(--hot);outline-offset:2px}.chess-btn:disabled{opacity:.4;cursor:default}.chess-btn.primary{color:var(--bg);background:var(--fg);border-color:var(--fg);font-weight:700}.chess-btn.primary:hover{background:var(--hot);border-color:var(--hot)}@media (width>=900px){.chess-controls .settings{display:none}}@media (width<=640px){.chess-controls{z-index:29;padding:6px calc(var(--bezel) + var(--gutter)) calc(6px + var(--bezel) + env(safe-area-inset-bottom,0px));background:var(--bg);border-top:1px solid rgba(var(--fg-rgb), .35);touch-action:manipulation;flex-wrap:nowrap;gap:5px;font-size:14px;display:flex;position:fixed;bottom:0;left:0;right:0}.chess-controls .chess-btn{white-space:normal;flex:1 1 0;min-width:0;padding:.2rem .25rem;font-size:13px;line-height:1.15}.chess-controls .settings{flex-grow:1.6}.chess-controls .undo .icon{display:none}.chess-controls .settings{order:1}.chess-controls .new{order:2}.chess-controls .pause{order:3}.chess-controls .undo{order:4}.chess .stats .figs{white-space:normal;height:auto}.chess-player{min-height:28px;font-size:14px}.chess-player.top{margin-bottom:.2rem}.chess-player.bottom{margin-top:.2rem}}@media (prefers-reduced-motion:reduce){.chessboard.mated .sq{transition:none}}dialog.chess-dialog{border:1px solid var(--fg);background:var(--bg);max-width:min(92vw,34rem);color:var(--fg);padding:.9rem 1.1rem}dialog.chess-dialog::backdrop{background:#000000b3}dialog.chess-dialog .question{margin:0 0 .8rem}dialog.chess-dialog .answers{flex-wrap:wrap;align-items:center;gap:.6rem;margin:0;display:flex}.chess-source details{margin:.35rem 0}.chess-source summary{cursor:pointer;color:var(--hot)}@media print{.chessboard .sq.light{background:#fff!important}.chessboard .sq.dark{background:#ccc!important}.chessboard .black .glyph{-webkit-text-stroke:1px #000;color:#fff!important}.chess-source details,.chess-source details>pre{display:block}}.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}
