:root{--paper:#f4f2ee;--card:#fff;--ink:#1d1d1b;--body:#4d4b47;--soft:#85817a;--rule:#d9d4ca;--pink:#ff48b0;--blue:#3255a4;--yellow:#ffe800;--on-yellow:#1d1d1b;--win:#2e9e62;--loss:#e23d5a;--draw:#85817a;--light-sq:#ece3cf;--dark-sq:#9c7a57;--serif:"Crimson Pro", "Minion Pro", Georgia, serif;--sans:"Jost", "Futura PT", Futura, "Century Gothic", "Helvetica Neue", Arial, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--paper:#18171b;--card:#211f25;--ink:#f1ede6;--body:#d9d4cb;--soft:#aaa398;--rule:#38353c;--pink:#ff5cbb;--blue:#8ea8ff;--win:#4fc482;--loss:#ff6b84;--draw:#aaa398;--light-sq:#d9cdb3;--dark-sq:#8a6847}}*{box-sizing:border-box}body{background:var(--paper);color:var(--body);font:400 15px/1.5 var(--sans);margin:0}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}code{color:var(--soft);font:500 .85em ui-monospace,Consolas,monospace}h1,h2{font-family:var(--serif);color:var(--ink);letter-spacing:-.01em;font-weight:600}h1{flex-wrap:wrap;align-items:center;gap:.6rem;margin:.4rem 0;font-size:2rem;display:flex}h2{margin:2rem 0 .6rem;font-size:1.35rem}h2 a{font:500 .8rem/1 var(--sans);color:var(--soft);text-transform:uppercase;letter-spacing:.08em;margin-left:.6rem}h3{font:600 .72rem/1 var(--sans);text-transform:uppercase;letter-spacing:.12em;color:var(--soft);margin:0 0 .5rem}.muted{color:var(--soft)}.notice{background:var(--card);border-left:4px solid var(--yellow);color:var(--ink);padding:.8rem 1rem}header.top{border-bottom:1px solid var(--rule);background:var(--paper);z-index:2;gap:1.5rem;padding:.8rem 16px;display:flex;position:sticky;top:0}header.top a{color:var(--soft);letter-spacing:.02em;font-weight:600}header.top a.home{font:italic 500 1.25rem/1 var(--serif);letter-spacing:-.01em;margin-right:auto}.riso{color:var(--blue);text-shadow:.045em .03em #ff48b0cc}header.top a.home.riso:hover{text-shadow:.07em .05em #ff48b0e6;text-decoration:none}header.top a.active{color:var(--ink);box-shadow:inset 0 -3px 0 var(--yellow)}main{max-width:1100px;margin:0 auto;padding:1rem 16px 4rem}.tabs{flex-wrap:wrap;gap:.4rem;margin:.4rem 0 1.2rem;display:flex}.tabs button{border:1px solid var(--rule);background:var(--card);color:var(--body);border-radius:999px;padding:.35rem .9rem;font-weight:500}.tabs button.on{background:var(--yellow);color:var(--on-yellow);border-color:var(--yellow);font-weight:600}.hero{align-items:center;gap:1rem;display:flex}.avatars{display:flex}.avatars img{border:3px solid var(--paper);background:var(--card);border-radius:50%;margin-right:-14px}.intro{color:var(--ink);max-width:60ch}.record{background:var(--card);border:1px solid var(--rule);border-radius:12px;margin-top:1.5rem;padding:1rem 1.2rem}.record h2{margin:0}.record-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.6rem;display:flex}.wld .bar{background:var(--rule);border-radius:999px;height:8px;display:flex;overflow:hidden}.wld.big .bar{height:14px}.wld .bar i{display:block}.wld .bar .w,.wld .counts .w,.w{color:var(--win)}.wld .bar .w{background:var(--win)}.wld .bar .l,.wld .counts .l,.l{color:var(--loss)}.wld .bar .l{background:var(--loss)}.wld .bar .d,.wld .counts .d,.d{color:var(--draw)}.wld .bar .d{background:var(--draw)}.wld .counts{gap:1rem;margin-top:.4rem;font-size:.85rem;display:flex}.wld.big .counts{gap:1.6rem;font-size:1rem}.wld .counts b{font-size:1.15em}.wld.big .counts b{font-size:1.6em}.wld .counts small{color:var(--soft);margin-left:.25rem}.cards{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:.8rem;margin-top:1rem;display:grid}.card{background:var(--card);border:1px solid var(--rule);border-radius:12px;flex-direction:column;gap:.6rem;padding:.9rem 1rem;display:flex}.ratings{flex-direction:column;gap:.3rem;display:flex}.rating-line strong{color:var(--ink);font-size:1.9rem;font-weight:600;line-height:1.1}.rating-line small{color:var(--soft);display:block}.chart{margin:0}.chart>svg{background:var(--card);border:1px solid var(--rule);border-radius:12px;width:100%;height:auto}.chart .grid{stroke:var(--rule)}.chart .tick{fill:var(--soft);font-size:11px;font-family:var(--sans)}.legend{color:var(--soft);flex-wrap:wrap;align-items:center;gap:1.2rem;margin-top:.5rem;font-size:.85rem;display:flex}.legend svg{vertical-align:middle}.legend i{vertical-align:middle;border-radius:2px;width:10px;height:10px;display:inline-block}.two{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}table{border-collapse:collapse;background:var(--card);border:1px solid var(--rule);border-radius:12px;width:100%;overflow:hidden}th,td{text-align:left;border-bottom:1px solid var(--rule);padding:.45rem .7rem}tbody tr:last-child td{border-bottom:none}th{color:var(--soft);text-transform:uppercase;letter-spacing:.1em;font-size:.72rem;font-weight:600}td:not(:first-child),th:not(:first-child){text-align:right;font-variant-numeric:tabular-nums}td.w,td.l{font-weight:600}.games{background:var(--card);border:1px solid var(--rule);border-radius:12px;margin:0;padding:0;list-style:none;overflow:hidden}.game{border-bottom:1px solid var(--rule);grid-template-columns:1fr auto;align-items:center;display:grid}.game:last-child{border-bottom:none}.game:hover{background:color-mix(in srgb, var(--yellow) 12%, var(--card))}.game a.main{color:var(--body);grid-template-rows:auto auto;grid-template-columns:2rem 1rem 1fr auto;align-items:center;gap:0 .7rem;padding:.55rem .8rem;display:grid}.game a:hover{text-decoration:none}.game a.live{border:1px solid var(--rule);color:var(--ink);white-space:nowrap;border-radius:999px;margin:0 .8rem;padding:.3rem .7rem;font-size:.8rem;font-weight:600}.game a.live:hover{background:var(--yellow);color:var(--on-yellow);border-color:var(--yellow)}.game .chip,.game .pawn{grid-row:1/span 2}.game .who{grid-area:1/3}.game .meta{grid-area:2/3}.game .rating{grid-area:1/4/span 2}.chip{min-width:2rem;height:2rem;font:700 .85rem/1 var(--sans);color:#fff;text-transform:uppercase;border-radius:8px;justify-content:center;align-items:center;padding:0 .5rem;display:inline-flex}.game.win .chip,.chip.win{background:var(--win)}.game.loss .chip,.chip.loss{background:var(--loss)}.game.draw .chip,.chip.draw{background:var(--draw)}h1 .chip{height:1.8rem;font-size:.8rem}.pawn{border:2px solid var(--ink);vertical-align:middle;border-radius:50%;width:12px;height:12px;display:inline-block}.pawn.white{background:#fff}.pawn.black{background:#1d1d1b}.game .who{color:var(--ink)}.game .who b{font-weight:600}.me{text-decoration:underline;-webkit-text-decoration-color:var(--yellow);text-decoration-color:var(--yellow);text-underline-offset:.14em;text-decoration-thickness:.12em}.vs{color:var(--soft);margin:0 .2em;font-weight:400}.pair{white-space:nowrap}.title h1 .chip{height:1.8rem;font-size:.8rem}.clock.won small:after{content:" · won";color:var(--win);font-weight:700}.acct{color:var(--soft);text-transform:uppercase;letter-spacing:.06em;margin-left:.6rem;font-size:.72rem}.game .meta{color:var(--soft);font-size:.85rem}.game .rating{font-variant-numeric:tabular-nums;color:var(--soft)}.filters{flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:1rem;display:flex}select,input[type=search],button{background:var(--card);color:var(--ink);border:1px solid var(--rule);font:inherit;border-radius:8px;padding:.4rem .7rem}button{cursor:pointer}.tags span{background:var(--card);border:1px solid var(--rule);border-radius:999px;margin-right:.4rem;padding:.1rem .7rem;font-size:.85rem;display:inline-block}.replay{grid-template-columns:minmax(280px,520px) 1fr;align-items:start;gap:1.5rem;display:grid}.board{aspect-ratio:1;border:3px solid var(--ink);border-radius:4px;grid-template-rows:repeat(8,1fr);grid-template-columns:repeat(8,1fr);display:grid;overflow:hidden}.sq{aspect-ratio:1;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;min-height:0;display:flex;overflow:hidden}.sq.light{background:var(--light-sq)}.sq.dark{background:var(--dark-sq)}.sq.hl{box-shadow:inset 0 0 0 4px var(--yellow)}.pc{paint-order:stroke fill;filter:drop-shadow(0 2px 1px #00000059);font-family:Segoe UI Symbol,"Noto Sans Symbols 2",DejaVu Sans,sans-serif;font-size:clamp(22px,5.5vw,46px);line-height:1}.pc.w{color:#fbf7ef;-webkit-text-stroke:1.6px #1d1d1b}.pc.b{color:#1d1d1b;-webkit-text-stroke:1px #000}.controls{align-items:center;gap:.4rem;margin-top:.6rem;display:flex}.controls input[type=range]{accent-color:var(--pink);flex:1}.moves{columns:2;background:var(--card);border:1px solid var(--rule);border-radius:12px;column-gap:1rem;max-height:70vh;margin:0;padding:.4rem .6rem;list-style:none;overflow:auto}.moves li{break-inside:avoid}.moves .n{color:var(--soft);font-variant-numeric:tabular-nums;width:2.4rem;display:inline-block}.mv{color:var(--ink);background:0 0;border:none;padding:.1rem .4rem;font-family:ui-monospace,Consolas,monospace}.mv.on{background:var(--yellow);color:var(--on-yellow);border-radius:4px}.mv.noted{-webkit-text-decoration:underline dotted var(--pink);text-decoration:underline dotted var(--pink)}.annotation{background:var(--card);border-left:4px solid var(--pink);margin-top:1rem;padding:.6rem 1rem}.annotation h3{color:var(--ink);text-transform:none;letter-spacing:0;font:600 1rem var(--serif)}.blocks p{margin:.4rem 0}@media (width<=760px){.two,.replay{grid-template-columns:1fr}.moves{columns:1;max-height:none}.game a.main{grid-template-columns:2rem 1rem 1fr}.game .rating{display:none}.game a.live{padding:.3rem .5rem;font-size:0}.game a.live:before{content:"▶ 3D";font-size:.8rem}}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.sr-only:focus{clip:auto;background:var(--yellow);width:auto;height:auto;color:var(--on-yellow);z-index:10;border-radius:8px;padding:.5rem 1rem;position:fixed;top:8px;left:8px}header.top.over{background:0 0;border-bottom:none;width:100%;position:fixed}main.full{max-width:none;padding:0}.splash{height:100vh;min-height:560px;position:relative;overflow:hidden}.stage{position:absolute;inset:0}.stage canvas{display:block}.overlay{pointer-events:none;justify-content:space-between;align-items:flex-start;gap:1rem;padding:0 24px;display:flex;position:absolute;left:0;right:0}.overlay>*{pointer-events:auto}.overlay.top{top:56px}.overlay.bottom{align-items:flex-end;bottom:20px}.title h1{margin:0;font-size:clamp(1.4rem,3vw,2.4rem)}.title p{color:var(--body);max-width:60ch;margin:.2rem 0}.title .hint{color:var(--soft);font-size:.85rem}.title b.win{color:var(--win)}.title b.loss{color:var(--loss)}.title b.draw{color:var(--draw)}.cta{flex-wrap:wrap;justify-content:flex-end;gap:.6rem;display:flex}.cta .btn.fav{white-space:nowrap}.splash.garden .cta .btn.fav,.splash.night .cta .btn.fav{box-shadow:0 6px 18px #00000040}.btn{background:var(--card);color:var(--ink);border:1px solid var(--rule);border-radius:999px;padding:.6rem 1.1rem;font-weight:600;display:inline-block}.btn:hover{border-color:var(--ink);text-decoration:none}.btn.yellow{background:var(--yellow);color:var(--on-yellow);border-color:var(--yellow)}.btn.pink{background:var(--pink);color:#fff;border-color:var(--pink);font:inherit;cursor:pointer;font-weight:600}.btn.pink:disabled{opacity:.6;cursor:wait}.btn.small{padding:.35rem .8rem;font-size:.85rem}.star{font:inherit;background:var(--card);color:var(--soft);border:1px dashed var(--rule);cursor:pointer;border-radius:999px;padding:.3rem .7rem}.star.on{color:var(--on-yellow);background:var(--yellow);border-style:solid;border-color:var(--yellow)}.games .star{vertical-align:1px;margin-right:.4rem;padding:0 .4rem;font-size:.85rem;line-height:1.4;display:inline-block}.owner{border:1px dashed var(--pink);background:color-mix(in srgb, var(--card) 85%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:3;border-radius:999px;flex-wrap:wrap;justify-content:center;align-items:center;gap:.6rem;padding:.4rem .7rem;font-size:.82rem;display:flex;position:absolute;bottom:5.4rem;left:50%;transform:translate(-50%)}.owner b{color:var(--pink);letter-spacing:.12em;text-transform:uppercase;font-size:.7rem}.owner button{font:inherit;cursor:pointer;border:1px solid var(--rule);background:var(--card);color:var(--ink);border-radius:999px;padding:.3rem .7rem}.owner button.on,.owner .seg button.on{background:var(--yellow);color:var(--on-yellow);border-color:var(--yellow)}.owner small{color:var(--soft)}.clock{background:var(--card);border:1px solid var(--rule);border-radius:12px;min-width:150px;padding:.5rem .9rem}.clock small{color:var(--soft);text-transform:uppercase;letter-spacing:.1em;font-size:.72rem;display:block}.clock b{font:600 2rem/1.1 var(--sans);font-variant-numeric:tabular-nums;color:var(--ink)}.clock.live{border-color:var(--pink);box-shadow:0 0 0 2px color-mix(in srgb, var(--pink) 40%, transparent)}.clock.live b{color:var(--pink)}.controls .move{color:var(--soft);min-width:7rem;font-family:ui-monospace,Consolas,monospace}.splash .controls{background:var(--card);border:1px solid var(--rule);border-radius:999px;flex-wrap:wrap;justify-content:center;margin:0;padding:.35rem .5rem}.seg{border:1px solid var(--rule);vertical-align:middle;border-radius:999px;margin-left:.6rem;display:inline-flex;overflow:hidden}.seg button{font:500 .8rem var(--sans);border:none;border-radius:0;padding:.3rem .7rem}.seg button.on{background:var(--yellow);color:var(--on-yellow)}h2 .seg{font-weight:400}.bubbles{background:var(--card);border:1px solid var(--rule);border-radius:12px;width:100%;height:auto}.bub{cursor:pointer}.bub circle{opacity:.85;transform-origin:0 0;animation:.9s cubic-bezier(.2,.8,.2,1) both grow}@keyframes grow{0%{transform:scale(0)}to{transform:scale(1)}}@media (prefers-reduced-motion:reduce){.bub circle{animation:none}}.bub:hover circle,.bub:focus circle{opacity:1;stroke:var(--ink);stroke-width:2px}.bub:focus{outline:none}.bub.good circle{fill:var(--win)}.bub.bad circle{fill:var(--loss)}.bub.even circle{fill:var(--soft)}.bub text{fill:#fff;font-family:var(--sans);pointer-events:none;font-weight:600}.bub text.count{opacity:.9;font-weight:400}.chips{flex-wrap:wrap;gap:.4rem;margin:-.4rem 0 1rem;display:flex}.chipx{background:var(--yellow);color:var(--on-yellow);border-color:var(--yellow);border-radius:999px;font-size:.85rem;font-weight:600}.chipx.clear{color:var(--soft);border-color:var(--rule);background:0 0;font-weight:500}.pager{justify-content:space-between;align-items:center;gap:1rem;display:flex}.pager span{align-items:center;gap:.4rem;display:flex}.pager button:disabled{opacity:.4;cursor:default}@media (width<=760px){.overlay.top{flex-direction:column;top:50px}.cta{justify-content:flex-start}.cta .btn.fav{padding:.4rem .85rem;font-size:.85rem}.overlay.bottom{flex-wrap:wrap;justify-content:center}.clock{min-width:120px}.clock b{font-size:1.4rem}}.ask-mode{margin:0 0 1rem}.ask{background:var(--card);border:1px solid var(--rule);border-radius:12px;gap:.4rem;margin-bottom:1rem;padding:1rem;display:grid}.ask label{font:600 .72rem/1 var(--sans);text-transform:uppercase;letter-spacing:.12em;color:var(--soft)}.ask textarea{background:var(--paper);width:100%;color:var(--ink);border:1px solid var(--rule);resize:vertical;border-radius:8px;padding:.6rem .7rem;font:400 .9rem/1.5 ui-monospace,Consolas,monospace}.ask #question{font-family:var(--sans);font-size:1rem}.ask .row{flex-wrap:wrap;align-items:center;gap:.8rem;margin-top:.4rem;display:flex}.ask .examples{flex-wrap:wrap;gap:.4rem;display:flex}.ask .explain{color:var(--ink);border-left:3px solid var(--pink);margin:.4rem 0 0;padding-left:.8rem}.json{background:var(--card);border:1px solid var(--rule);border-radius:12px;max-height:70vh;padding:1rem;font-size:.85rem;overflow:auto}.result-table{max-height:70vh;overflow:auto}.result-table td,.result-table th{text-align:left;white-space:nowrap}.explainer{font-size:.9rem}.explainer summary{cursor:pointer;color:var(--soft);font-weight:600}.explainer dl{gap:.3rem;margin:.4rem 0 0;display:grid}.explainer dl>div{grid-template-columns:minmax(10rem,16rem) 1fr;align-items:baseline;gap:.8rem;display:grid}.explainer dt code{color:var(--ink);background:var(--paper);border-radius:4px;padding:.1rem .4rem}.explainer dd{color:var(--body);margin:0}@media (width<=760px){.explainer dl>div{grid-template-columns:1fr;gap:.1rem}}.splash.night .title,.splash.garden .title{background:color-mix(in srgb, var(--paper) 70%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:14px;max-width:min(60ch,46vw);padding:.6rem .9rem}.splash.night .title h1,.splash.garden .title h1{font-size:clamp(1.1rem,1.9vw,1.5rem)}.splash.night .title p,.splash.garden .title p{font-size:.9rem}.splash.garden~* header.top,header.top.over.garden{background:0 0}.splash.night .clock,.splash.night .controls,.splash.garden .clock,.splash.garden .controls{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:color-mix(in srgb, var(--card) 80%, transparent)}.daynight{font:500 .8rem var(--sans);white-space:nowrap;border-radius:999px;padding:.3rem .7rem;line-height:1.4}.daynight.day{background:var(--yellow);color:var(--on-yellow);border-color:var(--yellow)}.daynight.night{color:#ffe9a8;background:#1d2440;border-color:#3a4470}.splash.clean .overlay,.splash.clean .sr-only,header.top[hidden]{display:none}.seg.steps button{font-weight:600}.seg.steps button:disabled{opacity:.45;cursor:default}.nextgame{white-space:nowrap;font-size:.8rem}
