@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.12tyk43_3sh9u.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.0jzbimsg8vl84.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/53b9e256198e5412-s.0-wfv7uh4i7h9.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.0nx0ww8fni_q3.woff2)format("woff2");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:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.09~u27dqhyhd6.woff2)format("woff2");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}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_a71539c9-module__T19VSG__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_a71539c9-module__T19VSG__variable{--font-geist-sans:"Geist", "Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5ce348bf30bf5439-s.0zgw-jeven.3w.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.0wkzw~je483f-.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/6306c77e7c8268e4-s.0rhz0arwfsn~5.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7d817b4c03b0c5f1-s.0l76wvqk9d84w.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.0k4k9394f2q-k.woff2)format("woff2");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:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.08e28id.o-okb.woff2)format("woff2");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}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_8d43a2aa-module__8Li5zG__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_8d43a2aa-module__8Li5zG__variable{--font-geist-mono:"Geist Mono", "Geist Mono Fallback"}
.cg-wrap{box-sizing:content-box;display:block;position:relative}cg-container{width:100%;height:100%;display:block;position:absolute;top:0}cg-board{-webkit-user-select:none;user-select:none;background-size:cover;width:100%;height:100%;line-height:0;position:absolute;top:0;left:0}.cg-wrap.manipulable cg-board{cursor:pointer}cg-board square{pointer-events:none;width:12.5%;height:12.5%;position:absolute;top:0;left:0}cg-board square.move-dest{pointer-events:auto}cg-board square.last-move{will-change:transform}.cg-wrap piece{z-index:2;will-change:transform;pointer-events:none;background-size:cover;width:12.5%;height:12.5%;position:absolute;top:0;left:0}cg-board piece.dragging{cursor:move;z-index:11!important}piece.anim{z-index:8}piece.fading{z-index:1;opacity:.5}.cg-wrap piece.ghost{opacity:.3}.cg-wrap piece svg{pointer-events:none;z-index:2;opacity:.6;width:100%;height:100%;position:relative;top:0;left:0;overflow:hidden}.cg-wrap cg-auto-pieces,.cg-wrap .cg-shapes,.cg-wrap .cg-custom-svgs,.cg-wrap .cg-shapes-below,.cg-wrap .cg-custom-below{pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0;overflow:visible}.cg-wrap cg-auto-pieces{z-index:2}.cg-wrap cg-auto-pieces piece{opacity:.3}.cg-wrap .cg-shapes{opacity:.6;z-index:2;overflow:hidden}.cg-wrap .cg-shapes-below{z-index:1;overflow:hidden}.cg-wrap .cg-custom-below{z-index:1}.cg-wrap .cg-custom-svgs{z-index:9}.cg-wrap .cg-custom-svgs svg,.cg-wrap .cg-custom-below svg{overflow:visible}.cg-wrap coords{pointer-events:none;opacity:.8;font-family:sans-serif;font-size:9px;display:flex;position:absolute}.cg-wrap coords.ranks{flex-flow:column-reverse;width:12px;height:100%;top:-20px;left:4px}.cg-wrap coords.ranks.black{flex-flow:column}.cg-wrap coords.ranks.left{align-items:flex-end;left:-15px}.cg-wrap coords.files{text-transform:uppercase;text-align:center;flex-flow:row;width:100%;height:16px;bottom:-4px;left:24px}.cg-wrap coords.files.black{flex-flow:row-reverse}.cg-wrap coords coord{flex:auto}.cg-wrap coords.ranks coord{transform:translateY(39%)}.cg-wrap coords.squares{text-transform:uppercase;text-align:right;flex-flow:column-reverse;width:12.5%;height:100%;bottom:0;left:0}.cg-wrap coords.squares.black{flex-flow:column}.cg-wrap coords.squares.left{text-align:left}.cg-wrap coords.squares coord{padding:6% 4%}.cg-wrap coords.squares.rank2{transform:translate(100%)}.cg-wrap coords.squares.rank3{transform:translate(200%)}.cg-wrap coords.squares.rank4{transform:translate(300%)}.cg-wrap coords.squares.rank5{transform:translate(400%)}.cg-wrap coords.squares.rank6{transform:translate(500%)}.cg-wrap coords.squares.rank7{transform:translate(600%)}.cg-wrap coords.squares.rank8{transform:translate(700%)}
.cg-wrap piece.pawn.white{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NSIgaGVpZ2h0PSI0NSI+PHBhdGggZD0iTTIyLjUgOWMtMi4yMSAwLTQgMS43OS00IDQgMCAuODkuMjkgMS43MS43OCAyLjM4QzE3LjMzIDE2LjUgMTYgMTguNTkgMTYgMjFjMCAyLjAzLjk0IDMuODQgMi40MSA1LjAzLTMgMS4wNi03LjQxIDUuNTUtNy40MSAxMy40N2gyM2MwLTcuOTItNC40MS0xMi40MS03LjQxLTEzLjQ3IDEuNDctMS4xOSAyLjQxLTMgMi40MS01LjAzIDAtMi40MS0xLjMzLTQuNS0zLjI4LTUuNjIuNDktLjY3Ljc4LTEuNDkuNzgtMi4zOCAwLTIuMjEtMS43OS00LTQtNHoiIGZpbGw9IiNmZmYiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPjwvc3ZnPg==)}.cg-wrap piece.bishop.white{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NSIgaGVpZ2h0PSI0NSI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxnIGZpbGw9IiNmZmYiIHN0cm9rZS1saW5lY2FwPSJidXR0Ij48cGF0aCBkPSJNOSAzNmMzLjM5LS45NyAxMC4xMS40MyAxMy41LTIgMy4zOSAyLjQzIDEwLjExIDEuMDMgMTMuNSAyIDAgMCAxLjY1LjU0IDMgMi0uNjguOTctMS42NS45OS0zIC41LTMuMzktLjk3LTEwLjExLjQ2LTEzLjUtMS0zLjM5IDEuNDYtMTAuMTEuMDMtMTMuNSAxLTEuMzU0LjQ5LTIuMzIzLjQ3LTMtLjUgMS4zNTQtMS45NCAzLTIgMy0yeiIvPjxwYXRoIGQ9Ik0xNSAzMmMyLjUgMi41IDEyLjUgMi41IDE1IDAgLjUtMS41IDAtMiAwLTIgMC0yLjUtMi41LTQtMi41LTQgNS41LTEuNSA2LTExLjUtNS0xNS41LTExIDQtMTAuNSAxNC01IDE1LjUgMCAwLTIuNSAxLjUtMi41IDQgMCAwLS41LjUgMCAyeiIvPjxwYXRoIGQ9Ik0yNSA4YTIuNSAyLjUgMCAxIDEtNSAwIDIuNSAyLjUgMCAxIDEgNSAweiIvPjwvZz48cGF0aCBkPSJNMTcuNSAyNmgxME0xNSAzMGgxNW0tNy41LTE0LjV2NU0yMCAxOGg1IiBzdHJva2UtbGluZWpvaW49Im1pdGVyIi8+PC9nPjwvc3ZnPg==)}.cg-wrap piece.knight.white{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NSIgaGVpZ2h0PSI0NSI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik0yMiAxMGMxMC41IDEgMTYuNSA4IDE2IDI5SDE1YzAtOSAxMC02LjUgOC0yMSIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Ik0yNCAxOGMuMzggMi45MS01LjU1IDcuMzctOCA5LTMgMi0yLjgyIDQuMzQtNSA0LTEuMDQyLS45NCAxLjQxLTMuMDQgMC0zLTEgMCAuMTkgMS4yMy0xIDItMSAwLTQuMDAzIDEtNC00IDAtMiA2LTEyIDYtMTJzMS44OS0xLjkgMi0zLjVjLS43My0uOTk0LS41LTItLjUtMyAxLTEgMyAyLjUgMyAyLjVoMnMuNzgtMS45OTIgMi41LTNjMSAwIDEgMyAxIDMiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJNOS41IDI1LjVhLjUuNSAwIDEgMS0xIDAgLjUuNSAwIDEgMSAxIDB6bTUuNDMzLTkuNzVhLjUgMS41IDMwIDEgMS0uODY2LS41LjUgMS41IDMwIDEgMSAuODY2LjV6IiBmaWxsPSIjMDAwIi8+PC9nPjwvc3ZnPg==)}.cg-wrap piece.rook.white{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NSIgaGVpZ2h0PSI0NSI+PGcgZmlsbD0iI2ZmZiIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik05IDM5aDI3di0zSDl2M3ptMy0zdi00aDIxdjRIMTJ6bS0xLTIyVjloNHYyaDVWOWg1djJoNVY5aDR2NSIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiLz48cGF0aCBkPSJNMzQgMTRsLTMgM0gxNGwtMy0zIi8+PHBhdGggZD0iTTMxIDE3djEyLjVIMTRWMTciIHN0cm9rZS1saW5lY2FwPSJidXR0IiBzdHJva2UtbGluZWpvaW49Im1pdGVyIi8+PHBhdGggZD0iTTMxIDI5LjVsMS41IDIuNWgtMjBsMS41LTIuNSIvPjxwYXRoIGQ9Ik0xMSAxNGgyMyIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVqb2luPSJtaXRlciIvPjwvZz48L3N2Zz4=)}.cg-wrap piece.queen.white{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NSIgaGVpZ2h0PSI0NSI+PGcgZmlsbD0iI2ZmZiIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik04IDEyYTIgMiAwIDEgMS00IDAgMiAyIDAgMSAxIDQgMHptMTYuNS00LjVhMiAyIDAgMSAxLTQgMCAyIDIgMCAxIDEgNCAwek00MSAxMmEyIDIgMCAxIDEtNCAwIDIgMiAwIDEgMSA0IDB6TTE2IDguNWEyIDIgMCAxIDEtNCAwIDIgMiAwIDEgMSA0IDB6TTMzIDlhMiAyIDAgMSAxLTQgMCAyIDIgMCAxIDEgNCAweiIvPjxwYXRoIGQ9Ik05IDI2YzguNS0xLjUgMjEtMS41IDI3IDBsMi0xMi03IDExVjExbC01LjUgMTMuNS0zLTE1LTMgMTUtNS41LTE0VjI1TDcgMTRsMiAxMnoiIHN0cm9rZS1saW5lY2FwPSJidXR0Ii8+PHBhdGggZD0iTTkgMjZjMCAyIDEuNSAyIDIuNSA0IDEgMS41IDEgMSAuNSAzLjUtMS41IDEtMS41IDIuNS0xLjUgMi41LTEuNSAxLjUuNSAyLjUuNSAyLjUgNi41IDEgMTYuNSAxIDIzIDAgMCAwIDEuNS0xIDAtMi41IDAgMCAuNS0xLjUtMS0yLjUtLjUtMi41LS41LTIgLjUtMy41IDEtMiAyLjUtMiAyLjUtNC04LjUtMS41LTE4LjUtMS41LTI3IDB6IiBzdHJva2UtbGluZWNhcD0iYnV0dCIvPjxwYXRoIGQ9Ik0xMS41IDMwYzMuNS0xIDE4LjUtMSAyMiAwTTEyIDMzLjVjNi0xIDE1LTEgMjEgMCIgZmlsbD0ibm9uZSIvPjwvZz48L3N2Zz4=)}.cg-wrap piece.king.white{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NSIgaGVpZ2h0PSI0NSI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik0yMi41IDExLjYzVjZNMjAgOGg1IiBzdHJva2UtbGluZWpvaW49Im1pdGVyIi8+PHBhdGggZD0iTTIyLjUgMjVzNC41LTcuNSAzLTEwLjVjMCAwLTEtMi41LTMtMi41cy0zIDIuNS0zIDIuNWMtMS41IDMgMyAxMC41IDMgMTAuNSIgZmlsbD0iI2ZmZiIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiIHN0cm9rZS1saW5lam9pbj0ibWl0ZXIiLz48cGF0aCBkPSJNMTEuNSAzN2M1LjUgMy41IDE1LjUgMy41IDIxIDB2LTdzOS00LjUgNi0xMC41Yy00LTYuNS0xMy41LTMuNS0xNiA0VjI3di0zLjVjLTMuNS03LjUtMTMtMTAuNS0xNi00LTMgNiA1IDEwIDUgMTBWMzd6IiBmaWxsPSIjZmZmIi8+PHBhdGggZD0iTTExLjUgMzBjNS41LTMgMTUuNS0zIDIxIDBtLTIxIDMuNWM1LjUtMyAxNS41LTMgMjEgMG0tMjEgMy41YzUuNS0zIDE1LjUtMyAyMSAwIi8+PC9nPjwvc3ZnPg==)}.cg-wrap piece.pawn.black{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NSIgaGVpZ2h0PSI0NSI+PHBhdGggZD0iTTIyLjUgOWMtMi4yMSAwLTQgMS43OS00IDQgMCAuODkuMjkgMS43MS43OCAyLjM4QzE3LjMzIDE2LjUgMTYgMTguNTkgMTYgMjFjMCAyLjAzLjk0IDMuODQgMi40MSA1LjAzLTMgMS4wNi03LjQxIDUuNTUtNy40MSAxMy40N2gyM2MwLTcuOTItNC40MS0xMi40MS03LjQxLTEzLjQ3IDEuNDctMS4xOSAyLjQxLTMgMi40MS01LjAzIDAtMi40MS0xLjMzLTQuNS0zLjI4LTUuNjIuNDktLjY3Ljc4LTEuNDkuNzgtMi4zOCAwLTIuMjEtMS43OS00LTQtNHoiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPjwvc3ZnPg==)}.cg-wrap piece.bishop.black{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NSIgaGVpZ2h0PSI0NSI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxnIGZpbGw9IiMwMDAiIHN0cm9rZS1saW5lY2FwPSJidXR0Ij48cGF0aCBkPSJNOSAzNmMzLjM5LS45NyAxMC4xMS40MyAxMy41LTIgMy4zOSAyLjQzIDEwLjExIDEuMDMgMTMuNSAyIDAgMCAxLjY1LjU0IDMgMi0uNjguOTctMS42NS45OS0zIC41LTMuMzktLjk3LTEwLjExLjQ2LTEzLjUtMS0zLjM5IDEuNDYtMTAuMTEuMDMtMTMuNSAxLTEuMzU0LjQ5LTIuMzIzLjQ3LTMtLjUgMS4zNTQtMS45NCAzLTIgMy0yeiIvPjxwYXRoIGQ9Ik0xNSAzMmMyLjUgMi41IDEyLjUgMi41IDE1IDAgLjUtMS41IDAtMiAwLTIgMC0yLjUtMi41LTQtMi41LTQgNS41LTEuNSA2LTExLjUtNS0xNS41LTExIDQtMTAuNSAxNC01IDE1LjUgMCAwLTIuNSAxLjUtMi41IDQgMCAwLS41LjUgMCAyeiIvPjxwYXRoIGQ9Ik0yNSA4YTIuNSAyLjUgMCAxIDEtNSAwIDIuNSAyLjUgMCAxIDEgNSAweiIvPjwvZz48cGF0aCBkPSJNMTcuNSAyNmgxME0xNSAzMGgxNW0tNy41LTE0LjV2NU0yMCAxOGg1IiBzdHJva2U9IiNlY2VjZWMiIHN0cm9rZS1saW5lam9pbj0ibWl0ZXIiLz48L2c+PC9zdmc+)}.cg-wrap piece.knight.black{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NSIgaGVpZ2h0PSI0NSI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik0yMiAxMGMxMC41IDEgMTYuNSA4IDE2IDI5SDE1YzAtOSAxMC02LjUgOC0yMSIgZmlsbD0iIzAwMCIvPjxwYXRoIGQ9Ik0yNCAxOGMuMzggMi45MS01LjU1IDcuMzctOCA5LTMgMi0yLjgyIDQuMzQtNSA0LTEuMDQyLS45NCAxLjQxLTMuMDQgMC0zLTEgMCAuMTkgMS4yMy0xIDItMSAwLTQuMDAzIDEtNC00IDAtMiA2LTEyIDYtMTJzMS44OS0xLjkgMi0zLjVjLS43My0uOTk0LS41LTItLjUtMyAxLTEgMyAyLjUgMyAyLjVoMnMuNzgtMS45OTIgMi41LTNjMSAwIDEgMyAxIDMiIGZpbGw9IiMwMDAiLz48cGF0aCBkPSJNOS41IDI1LjVhLjUuNSAwIDEgMS0xIDAgLjUuNSAwIDEgMSAxIDB6bTUuNDMzLTkuNzVhLjUgMS41IDMwIDEgMS0uODY2LS41LjUgMS41IDMwIDEgMSAuODY2LjV6IiBmaWxsPSIjZWNlY2VjIiBzdHJva2U9IiNlY2VjZWMiLz48cGF0aCBkPSJNMjQuNTUgMTAuNGwtLjQ1IDEuNDUuNS4xNWMzLjE1IDEgNS42NSAyLjQ5IDcuOSA2Ljc1UzM1Ljc1IDI5LjA2IDM1LjI1IDM5bC0uMDUuNWgyLjI1bC4wNS0uNWMuNS0xMC4wNi0uODgtMTYuODUtMy4yNS0yMS4zNC0yLjM3LTQuNDktNS43OS02LjY0LTkuMTktNy4xNmwtLjUxLS4xeiIgZmlsbD0iI2VjZWNlYyIgc3Ryb2tlPSJub25lIi8+PC9nPjwvc3ZnPg==)}.cg-wrap piece.rook.black{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NSIgaGVpZ2h0PSI0NSI+PGcgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik05IDM5aDI3di0zSDl2M3ptMy41LTdsMS41LTIuNWgxN2wxLjUgMi41aC0yMHptLS41IDR2LTRoMjF2NEgxMnoiIHN0cm9rZS1saW5lY2FwPSJidXR0Ii8+PHBhdGggZD0iTTE0IDI5LjV2LTEzaDE3djEzSDE0eiIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiIHN0cm9rZS1saW5lam9pbj0ibWl0ZXIiLz48cGF0aCBkPSJNMTQgMTYuNUwxMSAxNGgyM2wtMyAyLjVIMTR6TTExIDE0VjloNHYyaDVWOWg1djJoNVY5aDR2NUgxMXoiIHN0cm9rZS1saW5lY2FwPSJidXR0Ii8+PHBhdGggZD0iTTEyIDM1LjVoMjFtLTIwLTRoMTltLTE4LTJoMTdtLTE3LTEzaDE3TTExIDE0aDIzIiBmaWxsPSJub25lIiBzdHJva2U9IiNlY2VjZWMiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJtaXRlciIvPjwvZz48L3N2Zz4=)}.cg-wrap piece.queen.black{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NSIgaGVpZ2h0PSI0NSI+PGcgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxnIHN0cm9rZT0ibm9uZSI+PGNpcmNsZSBjeD0iNiIgY3k9IjEyIiByPSIyLjc1Ii8+PGNpcmNsZSBjeD0iMTQiIGN5PSI5IiByPSIyLjc1Ii8+PGNpcmNsZSBjeD0iMjIuNSIgY3k9IjgiIHI9IjIuNzUiLz48Y2lyY2xlIGN4PSIzMSIgY3k9IjkiIHI9IjIuNzUiLz48Y2lyY2xlIGN4PSIzOSIgY3k9IjEyIiByPSIyLjc1Ii8+PC9nPjxwYXRoIGQ9Ik05IDI2YzguNS0xLjUgMjEtMS41IDI3IDBsMi41LTEyLjVMMzEgMjVsLS4zLTE0LjEtNS4yIDEzLjYtMy0xNC41LTMgMTQuNS01LjItMTMuNkwxNCAyNSA2LjUgMTMuNSA5IDI2eiIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiLz48cGF0aCBkPSJNOSAyNmMwIDIgMS41IDIgMi41IDQgMSAxLjUgMSAxIC41IDMuNS0xLjUgMS0xLjUgMi41LTEuNSAyLjUtMS41IDEuNS41IDIuNS41IDIuNSA2LjUgMSAxNi41IDEgMjMgMCAwIDAgMS41LTEgMC0yLjUgMCAwIC41LTEuNS0xLTIuNS0uNS0yLjUtLjUtMiAuNS0zLjUgMS0yIDIuNS0yIDIuNS00LTguNS0xLjUtMTguNS0xLjUtMjcgMHoiIHN0cm9rZS1saW5lY2FwPSJidXR0Ii8+PHBhdGggZD0iTTExIDM4LjVhMzUgMzUgMSAwIDAgMjMgMCIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiLz48cGF0aCBkPSJNMTEgMjlhMzUgMzUgMSAwIDEgMjMgMG0tMjEuNSAyLjVoMjBtLTIxIDNhMzUgMzUgMSAwIDAgMjIgMG0tMjMgM2EzNSAzNSAxIDAgMCAyNCAwIiBmaWxsPSJub25lIiBzdHJva2U9IiNlY2VjZWMiLz48L2c+PC9zdmc+)}.cg-wrap piece.king.black{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NSIgaGVpZ2h0PSI0NSI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik0yMi41IDExLjYzVjYiIHN0cm9rZS1saW5lam9pbj0ibWl0ZXIiLz48cGF0aCBkPSJNMjIuNSAyNXM0LjUtNy41IDMtMTAuNWMwIDAtMS0yLjUtMy0yLjVzLTMgMi41LTMgMi41Yy0xLjUgMyAzIDEwLjUgMyAxMC41IiBmaWxsPSIjMDAwIiBzdHJva2UtbGluZWNhcD0iYnV0dCIgc3Ryb2tlLWxpbmVqb2luPSJtaXRlciIvPjxwYXRoIGQ9Ik0xMS41IDM3YzUuNSAzLjUgMTUuNSAzLjUgMjEgMHYtN3M5LTQuNSA2LTEwLjVjLTQtNi41LTEzLjUtMy41LTE2IDRWMjd2LTMuNWMtMy41LTcuNS0xMy0xMC41LTE2LTQtMyA2IDUgMTAgNSAxMFYzN3oiIGZpbGw9IiMwMDAiLz48cGF0aCBkPSJNMjAgOGg1IiBzdHJva2UtbGluZWpvaW49Im1pdGVyIi8+PHBhdGggZD0iTTMyIDI5LjVzOC41LTQgNi4wMy05LjY1QzM0LjE1IDE0IDI1IDE4IDIyLjUgMjQuNWwuMDEgMi4xLS4wMS0yLjFDMjAgMTggOS45MDYgMTQgNi45OTcgMTkuODVjLTIuNDk3IDUuNjUgNC44NTMgOSA0Ljg1MyA5IiBzdHJva2U9IiNlY2VjZWMiLz48cGF0aCBkPSJNMTEuNSAzMGM1LjUtMyAxNS41LTMgMjEgMG0tMjEgMy41YzUuNS0zIDE1LjUtMyAyMSAwbS0yMSAzLjVjNS41LTMgMTUuNS0zIDIxIDAiIHN0cm9rZT0iI2VjZWNlYyIvPjwvZz48L3N2Zz4=)}
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.hidden{display:none}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}}:root{--ink:#17221e;--green:#173f35;--green-deep:#0d2f28;--ivory:#f4f0e6;--paper:#faf7ef;--amber:#c9c0d1;--line:#173f352e;--blurple:#7553ff;--blurple-deep:#5827d6;--btn-bg:#fffdf8;--btn-line:#c9cfc3}*{box-sizing:border-box}html{background:var(--ivory);min-width:320px}body{background:radial-gradient(circle at 14% 5%, #ffffffc7, transparent 32rem), var(--ivory);color:var(--ink);font-family:var(--font-geist-sans), Arial, sans-serif;min-height:100vh;margin:0}button,input{font:inherit}button{color:inherit}.app-shell{flex-direction:column;min-height:100vh;display:flex}.topbar{border-bottom:2px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:20;background:#f4f0e6d6;grid-template-columns:1fr auto 1fr;align-items:center;height:80px;padding:0 clamp(22px,4vw,64px);display:grid;position:relative}.brand{color:var(--green);letter-spacing:.1em;align-items:center;gap:13px;font-size:15px;font-weight:750;text-decoration:none;display:flex}.brand em{color:var(--amber);font-family:Georgia,serif;font-size:1.25em}.brand-mark{border-right:1px solid var(--line);place-items:center;width:42px;height:44px;padding-right:12px;display:grid}.brand-mark img{object-fit:contain;width:30px;height:30px;transition:transform .22s cubic-bezier(.2,.9,.3,1.4)}.brand:hover .brand-mark img{transform:rotate(-10deg)scale(1.12)}.text-button{border:0;border-bottom:2px solid var(--green);cursor:pointer;text-transform:uppercase;letter-spacing:.09em;background:0 0;justify-self:end;padding:6px 0;font-size:12px;font-weight:700;transition:border-bottom-color .14s,color .14s}.text-button:hover{border-bottom-color:var(--amber)}.topbar-nav{align-items:center;gap:clamp(18px,3vw,34px);display:flex}.topbar-nav a{color:#5f6d66;text-transform:uppercase;letter-spacing:.09em;padding:6px 0;font-size:12px;font-weight:700;text-decoration:none;transition:color .14s;position:relative}.topbar-nav a:after{content:"";transform-origin:0;background:#173f3559;height:3px;transition:transform .2s;position:absolute;bottom:-3px;left:0;right:0;transform:scaleX(0)}.topbar-nav a:hover{color:var(--green)}.topbar-nav a:hover:after{transform:scaleX(1)}.topbar-nav a.is-current{color:var(--green)}.topbar-nav a.is-current:after{background:var(--amber);transform:scaleX(1)}.topbar-actions{grid-column:-2/-1;justify-self:end;align-items:center;gap:20px;display:flex}.mobile-nav-toggle{display:none}.topbar-actions .text-button{text-decoration:none}.topbar-cta{border:2px solid var(--btn-line);background:var(--btn-bg);cursor:pointer;color:var(--green);text-transform:uppercase;letter-spacing:.09em;box-shadow:0 3px 0 0 var(--btn-line);border-radius:10px;padding:11px 18px;font-size:11px;font-weight:700}.topbar-cta:hover{box-shadow:0 4px 0 0 var(--btn-line);transform:translateY(-1px)}.topbar-cta:active{box-shadow:none;transform:translateY(2px)}.user-menu{position:relative}.user-menu-trigger{cursor:pointer;color:var(--green);font:650 11px/1 var(--font-geist-mono), monospace;letter-spacing:.08em;text-transform:uppercase;background:0 0;border:0;align-items:center;gap:7px;padding:6px 0;display:inline-flex}.user-menu-trigger svg{color:#7b8781;transition:transform .14s}.user-menu-trigger[aria-expanded=true] svg{transform:rotate(180deg)}.user-menu-sheet{z-index:30;background:var(--paper);border:2px solid var(--line);border-top:3px solid var(--amber);transform-origin:100% 0;min-width:170px;animation:.16s both menu-pop;position:absolute;top:calc(100% + 12px);right:0;box-shadow:0 18px 44px #0926202e}@keyframes menu-pop{0%{opacity:0;transform:translateY(-6px)scale(.97)}}.user-menu-record{border-bottom:1px solid var(--line);color:#57655f;font:600 10.5px/1 var(--font-geist-mono), monospace;letter-spacing:.1em;padding:12px 14px}.user-menu-sheet button{cursor:pointer;text-align:left;width:100%;color:var(--green);text-transform:uppercase;letter-spacing:.09em;background:0 0;border:0;padding:11px 14px;font-size:11px;font-weight:700;display:block}.user-menu-sheet button:hover{background:#173f3512}.game-layout{flex:1;grid-template-columns:minmax(440px,min(900px,100vh - 255px)) minmax(300px,360px);justify-content:center;align-items:start;gap:clamp(28px,4vw,56px);width:min(1320px,100% - 44px);margin:clamp(16px,2vw,24px) auto 24px;display:grid}.game-layout--lobby{grid-template-columns:minmax(420px,min(720px,100vh - 220px)) minmax(320px,400px);align-items:center}.board-column{min-width:0}.eyebrow-row{color:#65736d;font:600 10.5px/1 var(--font-geist-mono), monospace;letter-spacing:.13em;justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.eyebrow-tools{align-items:center;gap:12px;display:flex}.sound-toggle{cursor:pointer;color:inherit;background:0 0;border:0;padding:0;display:inline-flex}.sound-toggle:hover{color:var(--green)}.connection{color:#8d908a}.connection.online{color:#367f61}.connection.connecting,.connection.offline{color:#7c6a8e}.player-card{border-top:1px solid var(--line);align-items:center;gap:12px;height:56px;display:flex}.player-card--bottom{border-top:0;border-bottom:1px solid var(--line)}.player-avatar{width:32px;height:32px;font:700 12px/1 var(--font-geist-mono), monospace;border:1px solid #173f3540;border-radius:50%;place-items:center;display:grid}.player-avatar--w{color:var(--green);background:#fffdf8}.player-avatar--b{background:var(--green);color:#fff}.player-identity{flex-direction:column;gap:4px;min-width:0;display:flex}.player-identity strong{white-space:nowrap;text-overflow:ellipsis;font-size:14px;overflow:hidden}.player-identity span{font:500 10.5px/1 var(--font-geist-mono), monospace;letter-spacing:.06em;color:#7d8883;text-transform:uppercase}.captured-tray.cg-wrap{box-sizing:border-box;flex-shrink:0;align-items:center;display:flex;position:static}.captured-tray piece{filter:drop-shadow(0 1px 1px #17221e59);background-size:cover;width:22px;height:22px;margin-right:-8px;display:inline-block;position:static}.captured-tray piece:last-of-type{margin-right:0}.captured-lead{font:650 11px/1 var(--font-geist-mono), monospace;color:#7d8883;text-shadow:none;margin-left:8px}.clock{min-width:90px;color:var(--green);text-align:right;font:650 18px/1 var(--font-geist-mono), monospace;font-variant-numeric:tabular-nums;background:#173f3512;margin-left:auto;padding:8px 11px}.clock--active{background:var(--green);color:var(--ivory);box-shadow:inset 4px 0 var(--amber)}.board-wrap{position:relative;box-shadow:0 22px 50px #172c2426,0 2px 8px #172c2429}.chessboard{--board-border:9px;aspect-ratio:1;box-sizing:border-box;background:var(--green-deep);width:100%;box-shadow:inset 0 0 0 var(--board-border) var(--green-deep);position:relative}.chessground-surface{inset:var(--board-border);position:absolute}.chessground-surface cg-container{top:50%;left:50%;transform:translate(-50%,-50%)}.chessboard cg-board{background-color:#e8dfc9;background-image:conic-gradient(#e8dfc9 25%, #638376 0 50%, #e8dfc9 0 75%, #638376 0);background-size:25% 25%}.chessboard cg-board square.move-dest{background:radial-gradient(#0c2f2878 22%,#0000 23%)}.chessboard cg-board square.move-dest:hover{background:#c9c0d16b}.chessboard cg-board square.oc.move-dest{background:radial-gradient(#0000 0 76%,#c9c0d1b3 77% 84%,#0000 85%)}.chessboard cg-board square.premove-dest{background:radial-gradient(#4b668294 22%,#0000 23%)}.chessboard cg-board square.oc.premove-dest{background:radial-gradient(#0000 0 76%,#4b6682c2 77% 84%,#0000 85%)}.chessboard cg-board square.current-premove{background-color:#4b66827a}.chessboard cg-board square.last-move{background-color:#c9c0d15c}.chessboard cg-board square.selected{background-color:#c9c0d19e}.chessboard cg-board square.check{background:radial-gradient(circle,#ae372bb8,#ae372b00 68%);animation:1.2s ease-in-out infinite check-pulse}.chessboard coords{z-index:3;font:700 9.5px/1 var(--font-geist-mono), monospace}.chessboard coords .coord-light{color:#173f35b8}.chessboard coords .coord-dark{color:#f6f0dfd1}@keyframes check-pulse{0%,to{opacity:.55}50%{opacity:1}}.piece{z-index:2;-webkit-user-select:none;user-select:none;font-family:Times New Roman,"Noto Sans Symbols 2",Georgia,serif;font-size:clamp(34px,6.3vw,69px);line-height:1;position:relative;transform:translateY(-2%)}.piece--w{color:#fffdf6;text-shadow:0 1px 1px #000000b8,0 2px 3px #00000061}.piece--b{color:#142c25;text-shadow:0 1px #ffffff4d,0 2px 2px #00000047}.chessboard cg-board square.king-badge:after{content:"";z-index:4;aspect-ratio:1;width:30%;font:700 clamp(10px, 1.7vw, 17px)/1 var(--font-geist-mono), monospace;color:#fff;pointer-events:none;border:2px solid #ffffffd9;border-radius:50%;place-items:center;animation:.24s cubic-bezier(.2,.9,.3,1.3) both badge-pop;display:grid;position:absolute;top:4%;right:4%;box-shadow:0 2px 6px #0006}@keyframes badge-pop{0%{opacity:0;transform:scale(.4)}}.chessboard cg-board square.king-badge--win:after{content:"✓";background:#3d8a52}.chessboard cg-board square.king-badge--draw:after{content:"½";background:#7d8883}.chessboard cg-board square.king-badge--mate:after{content:"#";background:#ae372b}.chessboard cg-board square.king-badge--time:after{content:"⌛︎";background:#ae372b}.chessboard cg-board square.king-badge--resign:after{content:"⚑";background:#ae372b}.lobby-card{background:var(--paper);border:2px solid var(--line);border-top:4px solid var(--amber);min-width:0;padding:clamp(24px,3vw,38px);box-shadow:0 22px 50px #172c2426,0 2px 8px #172c2429}.lobby-kicker,.panel-kicker{font:650 10.5px/1 var(--font-geist-mono), monospace;letter-spacing:.16em;color:#7c6a8e}.lobby-card h1{color:var(--green);letter-spacing:-.01em;margin:0 0 16px;font-size:26px;font-weight:650;line-height:1.1}.lobby-card>p{color:#5d6a64;max-width:32em;margin:0 0 22px;font-size:13px;line-height:1.6}.lobby-card label{display:block}.lobby-card label span{color:#57655f;font:600 10.5px/1 var(--font-geist-mono), monospace;text-transform:uppercase;letter-spacing:.1em;margin-bottom:7px;display:block}.lobby-card input{border:2px solid var(--line);width:100%;height:48px;color:var(--green);background:#fffdf8;outline:0;padding:0 13px}.lobby-card input:focus{border-color:var(--green);box-shadow:0 0 0 2px #173f3514}.time-control{border:0;margin:13px 0 0;padding:0}.time-control legend{color:#57655f;font:600 10.5px/1 var(--font-geist-mono), monospace;text-transform:uppercase;letter-spacing:.1em;margin-bottom:7px}.time-control>div{grid-template-columns:repeat(4,minmax(0,1fr)) minmax(0,1.2fr);gap:6px;display:grid}.game-mode-control>div{grid-template-columns:repeat(2,minmax(0,1fr))}.time-control button{border:2px solid var(--btn-line);background:var(--btn-bg);cursor:pointer;text-align:left;min-width:0;box-shadow:0 3px 0 0 var(--btn-line);border-radius:10px;flex-direction:column;gap:4px;padding:10px 8px;display:flex}.time-control button:hover{box-shadow:0 4px 0 0 var(--btn-line);transform:translateY(-1px)}.time-control button:active{box-shadow:none;transform:translateY(2px)}.time-control button.selected{border-color:var(--blurple-deep);background:var(--blurple);color:#fff;box-shadow:0 3px 0 0 var(--blurple-deep)}.time-control button.selected:hover{box-shadow:0 4px 0 0 var(--blurple-deep)}.time-control button.selected:active{box-shadow:none}.time-control strong{font:700 11px/1 var(--font-geist-mono), monospace;text-transform:uppercase;white-space:nowrap}.time-control small{color:#7d8983;font:600 8.5px/1 var(--font-geist-mono), monospace;text-transform:uppercase;text-overflow:ellipsis;overflow:hidden}.time-control button.selected small{color:#ffffffad}.primary-button{background:var(--blurple);color:#fff;cursor:pointer;text-transform:uppercase;letter-spacing:.08em;width:100%;height:54px;box-shadow:0 4px 0 0 var(--blurple-deep);border:0;border-radius:10px;justify-content:space-between;align-items:center;margin:10px 0 13px;padding:0 16px;font-size:12px;font-weight:700;display:flex}.primary-button:hover:not(:disabled){box-shadow:0 5px 0 0 var(--blurple-deep);transform:translateY(-1px)}.primary-button:active:not(:disabled){box-shadow:none;transform:translateY(3px)}.primary-button span{color:#fffc;font-size:20px;transition:transform .15s}.primary-button:hover:not(:disabled) span{transform:translate(4px)}.lobby-tabs{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;margin:16px 0 12px;display:grid}.lobby-tabs button{cursor:pointer;color:#7d8983;font:700 11px/1 var(--font-geist-mono), monospace;text-transform:uppercase;letter-spacing:.09em;background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:9px 4px}.lobby-tabs button:hover{color:var(--green)}.lobby-tabs button.selected{color:var(--green);border-bottom-color:var(--amber)}.join-row{grid-template-columns:1fr 96px;gap:8px;display:grid}.join-row input{font:650 13px/1 var(--font-geist-mono), monospace;letter-spacing:.12em;text-transform:uppercase}.join-row button{border:2px solid var(--btn-line);background:var(--btn-bg);cursor:pointer;text-transform:uppercase;letter-spacing:.08em;box-shadow:0 3px 0 0 var(--btn-line);border-radius:10px;font-size:11px;font-weight:700}.join-row button:hover:not(:disabled){box-shadow:0 4px 0 0 var(--btn-line);transform:translateY(-1px)}.join-row button:active:not(:disabled){box-shadow:none;transform:translateY(2px)}.join-row button:disabled{opacity:.5;cursor:default}.bot-row{margin-top:4px}.bot-cards{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:7px;display:grid}.coach-toggle{border:2px solid var(--btn-line);cursor:pointer;text-align:left;width:100%;box-shadow:0 3px 0 0 var(--btn-line);background:#fffdf8;align-items:center;gap:10px;margin-bottom:8px;padding:9px 11px;display:flex}.coach-toggle:hover{box-shadow:0 4px 0 0 var(--btn-line);background:#f2ecdd;transform:translateY(-1px)}.coach-toggle:active{box-shadow:none;transform:translateY(2px)}.coach-toggle--on{border-color:var(--amber);box-shadow:0 3px 0 0 var(--amber);background:#c9c0d117}.coach-toggle--on:hover{box-shadow:0 4px 0 0 var(--amber)}.coach-toggle--on:active{box-shadow:none}.coach-toggle-box{color:#fffdf8;width:16px;height:16px;font:700 12px/1 var(--font-geist-mono), monospace;border:1.5px solid #7c6a8e;border-radius:5px;flex:none;place-items:center;display:grid}.coach-toggle--on .coach-toggle-box{background:var(--amber);border-color:var(--amber)}.coach-toggle-copy{flex-direction:column;gap:2px;display:flex}.coach-toggle-copy strong{font:700 11.5px/1.2 var(--font-geist-mono), monospace;letter-spacing:.05em;text-transform:uppercase;color:var(--green)}.coach-toggle-copy small{color:#7d8983;font-size:11px;line-height:1.3}.live-coach{border:2px solid var(--amber);box-shadow:0 4px 0 0 var(--amber);background:linear-gradient(160deg,#c9c0d11f,#faf7ef99 55%);margin-bottom:16px;padding:13px 14px 14px}.live-coach-head{align-items:center;gap:8px;display:flex}.live-coach-title{color:var(--green);font:700 11px/1 var(--font-geist-mono), monospace;letter-spacing:.13em}.live-coach-dot{background:#2e9e5b;border-radius:50%;flex:none;width:8px;height:8px;animation:1.8s ease-in-out infinite live-coach-pulse;box-shadow:0 0 0 3px #2e9e5b2e}@keyframes live-coach-pulse{50%{opacity:.35}}.live-coach-hint{background:var(--amber);color:var(--green);font:700 11px/1 var(--font-geist-mono), monospace;letter-spacing:.08em;cursor:pointer;border:0;border-radius:10px;margin-left:auto;padding:7px 12px;box-shadow:0 2px #968ba0}.live-coach-hint:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 3px #968ba0}.live-coach-hint:active:not(:disabled){box-shadow:none;transform:translateY(2px)}.live-coach-hint:disabled{opacity:.5;cursor:default}.live-coach-hintbox{background:#fffdf8d9;border:1px dashed #173f3559;flex-wrap:wrap;align-items:center;gap:8px;margin-top:11px;padding:9px 11px;display:flex}.live-coach-hintbox strong{font:700 14px/1 var(--font-geist-mono), monospace;color:var(--green)}.live-coach-hintbox span{color:#5d6d66;font-size:12px}.live-coach-hintbox button{border:2px solid var(--btn-line);background:var(--btn-bg);color:var(--green);font:650 11px/1 var(--font-geist-mono), monospace;letter-spacing:.05em;cursor:pointer;box-shadow:0 3px 0 0 var(--btn-line);border-radius:8px;margin-left:auto;padding:5px 9px}.live-coach-hintbox button:hover{box-shadow:0 4px 0 0 var(--btn-line);transform:translateY(-1px)}.live-coach-hintbox button:active{box-shadow:none;transform:translateY(2px)}.live-coach-feed{flex-direction:column;gap:8px;max-height:clamp(120px,22vh,250px);margin-top:12px;display:flex;overflow-y:auto}.coach-bubble{border:2px solid var(--line);color:#3a463f;background:#fffdf8;border-radius:6px 14px 14px;padding:9px 11px 10px;font-size:12.5px;line-height:1.55}.coach-bubble p{margin:0}.coach-bubble--mistake{border-left:3px solid #b8433c}.coach-bubble--praise{border-left:3px solid #168c8a}.coach-bubble--opening{border-left:3px solid var(--green)}.coach-bubble--note{border-left:3px solid #71807a}.coach-bubble-top{align-items:center;gap:7px;margin-bottom:6px;display:flex}.coach-bubble-top strong{font:700 12px/1 var(--font-geist-mono), monospace;color:var(--green)}.coach-motif{color:var(--green);font:650 9px/1 var(--font-geist-mono), monospace;letter-spacing:.06em;text-transform:uppercase;background:#173f3514;border-radius:4px;padding:3px 5px}.coach-thinking{color:#71807a;font-style:italic}.live-coach-off{border:2px solid var(--btn-line);background:var(--btn-bg);color:#6b7772;font:700 11px/1 var(--font-geist-mono), monospace;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;border-radius:10px;margin-left:auto;padding:7px 12px}.live-coach-off:hover{color:#b8433c;border-color:#b8433c}.live-coach-off+.live-coach-hint{margin-left:0}.live-coach-restore{border:2px solid var(--btn-line);background:var(--btn-bg);color:#7d8983;font:650 11px/1 var(--font-geist-mono), monospace;letter-spacing:.1em;cursor:pointer;box-shadow:0 3px 0 0 var(--btn-line);border-radius:10px;align-self:flex-start;margin-bottom:16px;padding:7px 12px}.live-coach-restore:hover{box-shadow:0 4px 0 0 var(--btn-line);color:var(--green);transform:translateY(-1px)}.live-coach-restore:active{box-shadow:none;transform:translateY(2px)}.bot-card{border:2px solid var(--btn-line);background:var(--btn-bg);cursor:pointer;text-align:left;box-shadow:0 3px 0 0 var(--btn-line);border-radius:10px;flex-direction:column;gap:5px;padding:12px 11px 13px;display:flex}.bot-card:hover:not(:disabled){box-shadow:0 4px 0 0 var(--btn-line);transform:translateY(-1px)}.bot-card:active:not(:disabled){box-shadow:none;transform:translateY(2px)}.bot-card:disabled{opacity:.55;cursor:default}.bot-card strong{font:700 13px/1 var(--font-geist-mono), monospace;letter-spacing:.06em;text-transform:uppercase;color:var(--green)}.bot-card small{font:600 9.5px/1 var(--font-geist-mono), monospace;letter-spacing:.12em;color:#7d8983}.bot-card--levy{border-top-color:#7d8983}.bot-card--hikaru{border-top-color:var(--amber)}.bot-card--magnus{border-top-color:#ae372b}.bot-card--grandmaster{border-top-color:#5d427b}.game-over{z-index:9;background:#0d2f2880;place-items:center;animation:.22s ease-out both game-over-fade;display:grid;position:absolute;inset:0}@keyframes game-over-fade{0%{opacity:0}}.game-over-card{background:var(--paper);border-top:4px solid var(--amber);text-align:center;flex-direction:column;align-items:center;gap:12px;max-width:86%;padding:26px 34px;animation:.22s cubic-bezier(.2,.9,.3,1.2) both game-over-pop;display:flex;box-shadow:0 25px 65px #09262061}@keyframes game-over-pop{0%{opacity:0;transform:translateY(12px)scale(.95)}}.game-over-card>span{font:650 11px/1 var(--font-geist-mono), monospace;letter-spacing:.14em;color:#7c6a8e}.game-over-card strong{color:var(--green);letter-spacing:-.01em;font-size:22px;font-weight:650;line-height:1.25}.game-over-actions{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:4px;display:flex}.game-over-actions button{border:2px solid var(--btn-line);background:var(--btn-bg);cursor:pointer;text-transform:uppercase;letter-spacing:.08em;height:42px;box-shadow:0 3px 0 0 var(--btn-line);border-radius:10px;padding:0 16px;font-size:10px;font-weight:700}.game-over-actions button:hover{box-shadow:0 4px 0 0 var(--btn-line);transform:translateY(-1px)}.game-over-actions button:active{box-shadow:none;transform:translateY(2px)}.game-over-actions .game-over-rematch{background:var(--blurple);color:#fff;box-shadow:0 4px 0 0 var(--blurple-deep);border:0}.game-over-actions .game-over-rematch:hover{box-shadow:0 5px 0 0 var(--blurple-deep);transform:translateY(-1px)}.game-over-actions .game-over-rematch:active{box-shadow:none;transform:translateY(3px)}.promotion-picker{z-index:12;background:var(--paper);border-top:4px solid var(--amber);text-align:center;padding:24px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 25px 65px #09262061}.promotion-picker>span{font:650 11px/1 var(--font-geist-mono), monospace;letter-spacing:.11em;text-transform:uppercase}.promotion-picker>div{gap:7px;margin:16px 0 12px;display:flex}.promotion-picker>div button{border:2px solid var(--btn-line);cursor:pointer;width:62px;height:62px;box-shadow:0 3px 0 0 var(--btn-line);background:#fff;border-radius:10px;font:40px/1 Georgia,serif}.promotion-picker>div button:hover{box-shadow:0 4px 0 0 var(--btn-line);transform:translateY(-1px)}.promotion-picker>div button:active{box-shadow:none;transform:translateY(2px)}.promotion-cancel{cursor:pointer;color:#6e7b75;background:0 0;border:0;font-size:11px;text-decoration:underline}.match-panel{border-top:4px solid var(--green);flex-direction:column;padding-top:18px;display:flex}.match-panel--live{border-top:none;height:0;min-height:100%;padding-top:27px;overflow:hidden}.match-panel--live .moves-panel{min-height:0}.match-heading h2{color:var(--green);letter-spacing:-.01em;margin:12px 0 4px;font-size:26px;font-weight:650;line-height:1.1}.match-heading p{color:#718078;margin:0 0 18px;font-size:12px}.invite-card{border:2px solid var(--line);background:#ffffff3b;margin-bottom:22px;padding:16px 17px}.invite-card>span{font:650 10.5px/1 var(--font-geist-mono), monospace;letter-spacing:.12em;color:#7d8983}.invite-card>div{justify-content:space-between;align-items:center;margin-top:10px;display:flex}.invite-card strong{font:700 28px/1 var(--font-geist-mono), monospace;letter-spacing:.14em;color:var(--green)}.invite-card button{border:0;border-bottom:2px solid var(--green);cursor:pointer;text-transform:uppercase;letter-spacing:.08em;background:0 0;padding:4px 0;font-size:10px;font-weight:700}.invite-card p{color:#7a8680;margin:10px 0 0;font-size:11px}.replay-share-button{text-transform:uppercase;letter-spacing:.08em;border:2px solid var(--btn-line);background:var(--btn-bg);width:100%;color:var(--green);box-shadow:0 3px 0 0 var(--btn-line);border-radius:10px;margin-top:0;padding:9px 12px;font-size:10px;font-weight:700}.replay-share-button:hover{box-shadow:0 4px 0 0 var(--btn-line);transform:translateY(-1px)}.replay-share-button:active{box-shadow:none;transform:translateY(2px)}.moves-panel{border-top:1px solid var(--line);border-bottom:1px solid var(--line);flex-direction:column;max-height:50vh;display:flex}.moves-panel>:not(.moves-table){flex:none}.grades-toggle{border:2px solid var(--btn-line);background:var(--btn-bg);color:var(--green);font:700 10px/1 var(--font-geist-mono), monospace;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;border-radius:999px;padding:5px 11px}.grades-toggle:hover:not(:disabled){border-color:var(--green)}.grades-toggle.is-on{background:var(--green);border-color:var(--green);color:#fffdf8}.grades-toggle:disabled{opacity:.45;cursor:default}.moves-header{border-bottom:1px solid var(--line);color:#718078;height:42px;font:650 10.5px/1 var(--font-geist-mono), monospace;letter-spacing:.1em;justify-content:space-between;align-items:center;display:flex}.moves-table{scrollbar-width:thin;min-height:0;overflow:auto}.move-row{min-height:45px;font:600 13px/1 var(--font-geist-mono), monospace;border-bottom:1px solid #173f3517;grid-template-columns:40px 1fr 1fr;align-items:stretch;display:grid}.move-row span{color:#94a099;font-size:11px}.move-row>span{align-self:center}.move-cell{color:#354a42;align-items:center;gap:6px;min-width:0;padding:6px 12px;font-weight:600;display:flex}.move-cell>span{color:#354a42;text-overflow:ellipsis;font-size:13px;overflow:hidden}.move-grade{color:#fff;max-width:72px;font:700 8.5px/1 var(--font-geist-mono), monospace;letter-spacing:.025em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;border-radius:4px;padding:3px 4px;overflow:hidden}.move-grade--brilliant{background:#168c8a}.move-grade--great{background:#3884a5}.move-grade--best{background:#4f8d58}.move-grade--excellent{background:#70a066}.move-grade--good{background:#81947b}.move-grade--book{background:#7c6a8e}.move-grade--inaccuracy{color:var(--green);background:#c9c0d1}.move-grade--mistake{background:#d77d31}.move-grade--miss{background:#b76772}.move-grade--blunder{background:#b6473c}.empty-moves{text-align:center;color:#89938e;place-content:center;min-height:180px;display:grid}.empty-moves span{color:#a4afa9;opacity:.5;font:38px/1 Georgia,serif}.empty-moves p{font-size:11px;line-height:1.6}.takeback-bar{border:1px solid var(--amber);background:#c9c0d11f;justify-content:space-between;align-items:center;gap:10px;margin-top:12px;padding:9px 12px;font-size:12px;display:flex}.takeback-bar div{gap:6px;display:flex}.takeback-bar button{border:2px solid var(--btn-line);background:var(--btn-bg);cursor:pointer;text-transform:uppercase;letter-spacing:.08em;height:32px;box-shadow:0 3px 0 0 var(--btn-line);border-radius:8px;padding:0 12px;font-size:10px;font-weight:700}.takeback-bar button:first-child{background:var(--blurple);color:#fff;box-shadow:0 3px 0 0 var(--blurple-deep);border:0}.takeback-bar button:hover{box-shadow:0 4px 0 0 var(--btn-line);transform:translateY(-1px)}.takeback-bar button:first-child:hover{box-shadow:0 4px 0 0 var(--blurple-deep)}.takeback-bar button:active{box-shadow:none;transform:translateY(2px)}.match-actions{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px;display:grid}.match-actions button{border:2px solid var(--btn-line);background:var(--btn-bg);cursor:pointer;text-transform:uppercase;letter-spacing:.08em;height:44px;box-shadow:0 3px 0 0 var(--btn-line);border-radius:10px;font-size:10px;font-weight:700}.match-actions button:hover:not(:disabled){box-shadow:0 4px 0 0 var(--btn-line);transform:translateY(-1px)}.match-actions button:active:not(:disabled){box-shadow:none;transform:translateY(2px)}.match-actions button:disabled{opacity:.45;cursor:default}.match-actions button.is-on{background:var(--green);border-color:var(--green);color:#fffdf8;box-shadow:0 3px 0 0 var(--green)}.resign-wrap{position:relative}.resign-wrap>button{width:100%}.resign-confirm{z-index:8;background:var(--paper);border:2px solid var(--line);flex-direction:column;gap:9px;min-width:190px;padding:12px;display:flex;position:absolute;bottom:calc(100% + 9px);right:0;box-shadow:0 14px 34px #09262047}.resign-confirm:after{content:"";border:7px solid #0000;border-top-color:var(--paper);position:absolute;top:100%;right:22px}.resign-confirm>span{font:650 11px/1.4 var(--font-geist-mono), monospace;letter-spacing:.05em;text-transform:uppercase}.resign-confirm div{gap:6px;display:flex}.resign-confirm div button{border:2px solid var(--btn-line);background:var(--btn-bg);height:34px;box-shadow:0 3px 0 0 var(--btn-line);border-radius:8px;flex:1;padding:0}.resign-confirm div button:hover{box-shadow:0 4px 0 0 var(--btn-line);transform:translateY(-1px)}.resign-confirm div button:active{box-shadow:none;transform:translateY(2px)}.resign-confirm .resign-confirm-yes{color:#fff;background:#ae372b;border:0;box-shadow:0 2px #7e241b}.resign-confirm .resign-confirm-yes:hover{transform:translateY(-1px);box-shadow:0 3px #7e241b}.resign-confirm .resign-confirm-yes:active{box-shadow:none;transform:translateY(2px)}.notice{color:#625471;background:#e9e5eb;margin-top:12px;padding:10px;font-size:11px}.ai-coach{border:2px solid var(--btn-line);box-shadow:0 4px 0 0 var(--btn-line);background:#ffffff4d;border-radius:12px;margin-top:14px;margin-bottom:4px;padding:14px}.ai-coach-head{color:var(--green);font:700 10.5px/1 var(--font-geist-mono), monospace;letter-spacing:.1em;align-items:center;display:flex}.ai-coach>p{color:#5d6d66;margin:10px 0 0;font-size:12px;line-height:1.5}.ai-coach-moves{flex-wrap:wrap;gap:7px;margin-top:11px;display:flex}.ai-coach-moves button{border:2px solid var(--btn-line);background:var(--btn-bg);color:var(--green);cursor:pointer;box-shadow:0 3px 0 0 var(--btn-line);border-radius:8px;align-items:center;gap:7px;padding:7px 8px;display:flex}.ai-coach-moves button:hover{box-shadow:0 4px 0 0 var(--btn-line);transform:translateY(-1px)}.ai-coach-moves button:active{box-shadow:none;transform:translateY(2px)}.ai-coach-moves button:focus-visible{outline:2px solid var(--amber);outline-offset:2px}.ai-coach-moves strong{font:700 11px/1 var(--font-geist-mono), monospace}.move-explanation{border-top:2px solid var(--line);margin-top:14px;padding-top:14px}.move-explanation-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.move-explanation-head strong{color:var(--green);font:700 13px/1 var(--font-geist-mono), monospace}.move-explanation-head small{color:#718078;font:600 9.5px/1 var(--font-geist-mono), monospace;text-transform:uppercase;margin-left:auto}.move-explanation-copy{color:#354a42;margin:12px 0;font-size:13px;line-height:1.55}.move-explanation-loading{color:#718078;margin:12px 0 0;font-size:12px;line-height:1.45}.move-explanation-error{color:#9b3e34;margin:12px 0;font-size:12px;line-height:1.45}.move-explanation-error button{border:0;border-bottom:2px solid var(--green);color:var(--green);cursor:pointer;font:inherit;background:0 0;margin-left:7px;padding:0}.move-explanation-request{color:#89948f;font:600 9.5px/1 var(--font-geist-mono), monospace;text-transform:uppercase;margin:-5px 0 10px}.engine-line{border-left:2px solid #b6473c;gap:5px;margin-top:10px;padding-left:9px;display:grid}.engine-line--best{border-left-color:#4f8d58}.engine-line span{color:#7d8983;font:650 9.5px/1 var(--font-geist-mono), monospace;letter-spacing:.1em}.engine-line code{color:#354a42;font:600 11px/1.5 var(--font-geist-mono), monospace;white-space:normal}footer{border-top:2px solid var(--line);color:#7b8781;min-height:52px;font:600 9.5px/1 var(--font-geist-mono), monospace;letter-spacing:.11em;justify-content:space-between;align-items:center;margin-top:auto;padding:0 clamp(22px,4vw,64px);display:flex}@media (max-width:920px){.game-layout{grid-template-columns:minmax(0,700px);justify-content:center}.game-layout--lobby{align-items:start}.lobby-card{order:-1}.match-panel{min-height:auto}.match-panel--live{height:auto;padding-top:0;overflow:visible}.topbar{grid-template-columns:auto 1fr auto}.topbar-nav{justify-self:center;gap:16px}}@media (max-width:600px){.topbar{grid-template-columns:minmax(0,1fr) auto auto;column-gap:12px;height:62px;min-height:0;padding:0 16px}.brand{gap:8px;font-size:12px}.brand-mark{width:32px;padding-right:8px}.brand-mark img{width:24px;height:24px}.text-button{font-size:10px}.topbar-nav{border:2px solid var(--line);border-top:3px solid var(--amber);background:var(--paper);flex-direction:column;justify-self:auto;align-items:stretch;gap:0;width:min(260px,100vw - 32px);padding:8px;display:none;position:absolute;top:calc(100% + 10px);left:auto;right:12px;box-shadow:0 18px 44px #0926202e}.topbar-nav.is-open{display:flex}.topbar-nav a{padding:12px 13px;font-size:11px}.topbar-nav a:after{display:none}.topbar-nav a.is-current{box-shadow:inset 3px 0 var(--amber);background:#173f3512}.topbar-actions{grid-column:2;gap:12px;min-width:0}.mobile-nav-toggle{border:2px solid var(--btn-line);background:var(--btn-bg);cursor:pointer;width:34px;height:34px;box-shadow:0 2px 0 var(--btn-line);border-radius:8px;align-content:center;justify-items:center;gap:4px;display:grid}.mobile-nav-toggle span{background:var(--green);width:14px;height:2px;transition:transform .16s,opacity .16s}.mobile-nav-toggle[aria-expanded=true] span:first-child{transform:translateY(6px)rotate(45deg)}.mobile-nav-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.mobile-nav-toggle[aria-expanded=true] span:last-child{transform:translateY(-6px)rotate(-45deg)}.topbar-cta{padding:6px 9px;font-size:10px}.user-menu-trigger{max-width:130px;font-size:10px}.user-menu-trigger span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.game-layout{gap:28px;width:calc(100% - 28px);margin:16px auto 32px}.eyebrow-row,.player-card,.match-panel{margin-left:14px;margin-right:14px}.chessboard{--board-border:5px}.piece{font-size:10vw}.chessboard coords{font-size:6px}.clock{min-width:76px;font-size:17px}.lobby-card{margin:0 14px;padding:22px}.lobby-card h1{font-size:23px}.lobby-card>p{margin-bottom:15px;font-size:12px}.lobby-card input{height:44px}.primary-button{height:48px}footer{gap:16px;padding:13px 16px;line-height:1.4}footer span:last-child{text-align:right}}@media (max-width:480px){.topbar .brand>span:last-child{display:none}.topbar-actions{gap:8px}.topbar-actions .text-button{font-size:9px}.user-menu-trigger{max-width:105px}.time-control>div{grid-template-columns:repeat(3,minmax(0,1fr))}}.puzzle-page{flex:1;width:fit-content;max-width:min(1320px,100% - 44px);margin:clamp(14px,2vw,24px) auto 28px}.puzzle-title-row{justify-content:space-between;align-items:end;gap:32px;margin-bottom:16px;display:flex}.puzzle-title-row h1{color:var(--green);letter-spacing:-.01em;margin:6px 0 4px;font-size:32px;font-weight:650;line-height:1.1}.puzzle-title-row p{color:#718078;margin:0;font-size:13px}.puzzle-progress{color:var(--green);flex-direction:column;align-items:flex-end;gap:8px;display:flex}.puzzle-progress-count{align-items:baseline;gap:10px;display:flex}.puzzle-progress strong{font-size:32px;font-weight:650;line-height:1}.puzzle-progress span{color:#718078;font:650 10.5px/1 var(--font-geist-mono), monospace;letter-spacing:.09em;text-transform:uppercase}.puzzle-progress-track{background:var(--line);border-radius:2px;width:132px;height:3px;overflow:hidden}.puzzle-progress-track i{background:var(--blurple);height:100%;transition:width .3s;display:block}.puzzle-layout{grid-template-columns:minmax(440px,min(900px,100vh - 235px)) minmax(300px,360px);align-items:start;gap:clamp(32px,5vw,70px);display:grid}.puzzle-board-panel{min-width:0}.puzzle-board-meta{border-top:1px solid var(--line);color:#718078;min-height:36px;font:650 10.5px/1 var(--font-geist-mono), monospace;letter-spacing:.1em;text-transform:uppercase;justify-content:space-between;align-items:center;display:flex}.puzzle-board-meta strong{color:var(--green)}.puzzle-board-tools{align-items:center;gap:12px;display:inline-flex}.puzzle-board-wrap{position:relative;box-shadow:0 22px 50px #172c2426,0 2px 8px #172c2429}.puzzle-panel{border-top:4px solid var(--green)}.puzzle-heading{padding:24px 0 23px}.puzzle-heading h2{color:var(--green);letter-spacing:-.01em;margin:11px 0 8px;font-size:23px;font-weight:650;line-height:1.15}.puzzle-heading p{color:#65736d;margin:0;font-size:12px;line-height:1.55}.puzzle-feedback{border:2px solid var(--btn-line);min-height:112px;box-shadow:0 4px 0 0 var(--btn-line);background:#ffffff38;margin-bottom:4px;padding:18px 17px}.puzzle-feedback strong{color:var(--green);font:700 11px/1 var(--font-geist-mono), monospace;letter-spacing:.08em;text-transform:uppercase}.puzzle-feedback p{color:#5d6a64;margin:10px 0 0;font-size:12px;line-height:1.55}.puzzle-feedback small{color:#7d8983;font:650 9.5px/1 var(--font-geist-mono), monospace;text-transform:uppercase;margin-top:10px;display:block}.puzzle-solution{color:var(--green);font:650 11px/1.5 var(--font-geist-mono), monospace;margin-top:10px;display:block}.puzzle-feedback--solved{background:#3d8a5217;border-color:#3d8a52;box-shadow:0 4px #3d8a52}.puzzle-feedback--wrong{background:#ae372b12;border-color:#ae372b;box-shadow:0 4px #ae372b}.puzzle-hint{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;min-height:76px;padding:17px 0;display:flex}.puzzle-hint>div{min-width:0}.puzzle-hint span{color:#7c6a8e;font:700 9.5px/1 var(--font-geist-mono), monospace;letter-spacing:.12em;display:block}.puzzle-hint p{color:#5d6a64;margin:9px 0 0;font-size:11px;line-height:1.5}.puzzle-hint button{border:2px solid var(--btn-line);background:var(--btn-bg);cursor:pointer;color:var(--green);font:700 9.5px/1 var(--font-geist-mono), monospace;letter-spacing:.05em;text-transform:uppercase;box-shadow:0 3px 0 0 var(--btn-line);border-radius:10px;flex:none;padding:10px 14px}.puzzle-hint button:hover:not(:disabled){box-shadow:0 4px 0 0 var(--btn-line);transform:translateY(-1px)}.puzzle-hint button:active:not(:disabled){box-shadow:none;transform:translateY(2px)}.puzzle-hint button:disabled{cursor:default;opacity:.45}.puzzle-actions{grid-template-columns:1fr 1.5fr;gap:8px;padding:14px 0;display:grid}.puzzle-actions button{border:2px solid var(--btn-line);background:var(--btn-bg);cursor:pointer;height:46px;font:700 10.5px/1 var(--font-geist-mono), monospace;letter-spacing:.06em;text-transform:uppercase;box-shadow:0 3px 0 0 var(--btn-line);border-radius:10px}.puzzle-actions button:hover{box-shadow:0 4px 0 0 var(--btn-line);transform:translateY(-1px)}.puzzle-actions button:active{box-shadow:none;transform:translateY(2px)}.puzzle-actions .puzzle-next{background:var(--blurple);color:#fff;box-shadow:0 4px 0 0 var(--blurple-deep);border:0}.puzzle-actions .puzzle-next:hover{box-shadow:0 5px 0 0 var(--blurple-deep);transform:translateY(-1px)}.puzzle-actions .puzzle-next:active{box-shadow:none;transform:translateY(3px)}.puzzle-list{border-top:1px solid var(--line);max-height:372px;overflow-y:auto}.puzzle-list-label{color:#7c6a8e;font:700 9px/1 var(--font-geist-mono), monospace;letter-spacing:.12em;text-transform:uppercase;padding:12px 9px 6px;display:block}.puzzle-list button{cursor:pointer;text-align:left;background:0 0;border:0;border-bottom:1px solid #173f351a;grid-template-columns:30px 1fr auto;align-items:center;gap:8px;width:100%;min-height:44px;padding:0 9px;display:grid}.puzzle-list button:hover,.puzzle-list button.is-active{box-shadow:inset 3px 0 var(--amber);background:#173f3511}.puzzle-list span{color:#7c6a8e;font:650 9.5px/1 var(--font-geist-mono), monospace}.puzzle-list strong{color:#354a42;font:600 12px/1 var(--font-geist-mono), monospace}.puzzle-list small{color:#89948f;font:650 8.5px/1 var(--font-geist-mono), monospace;text-transform:uppercase}@media (max-width:880px){.puzzle-layout{grid-template-columns:minmax(0,680px);justify-content:center}.puzzle-panel{margin-top:6px}}@media (max-width:600px){.puzzle-page{width:calc(100% - 28px);max-width:none;margin-top:30px}.puzzle-title-row{align-items:start}.puzzle-title-row h1{font-size:27px}.puzzle-progress{display:none}.puzzle-layout{gap:26px}.puzzle-board-meta{min-height:32px}}.seer-widget{background:var(--paper);border:2px solid var(--line);font-family:var(--font-geist-sans), Arial, sans-serif;color:var(--ink);border-radius:12px;margin-top:18px;overflow:hidden;box-shadow:0 1px 2px #172c240d,0 3px 12px #172c2412}.seer-head{border-bottom:1px solid var(--line);background:#173f350d;align-items:center;gap:8px;padding:10px 12px;font-size:14px;font-weight:500;display:flex}.seer-head-spacer{flex:1}.seer-eye{color:var(--green);flex:none;place-items:center;display:grid}.seer-icon-btn{color:#5a6660;cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;width:26px;height:26px;display:grid}.seer-icon-btn:hover:not(:disabled){background:#173f3514}.seer-icon-btn:disabled{opacity:.4;cursor:default}.seer-icon-btn:focus-visible,.seer-cta:focus-visible{outline:2px solid var(--amber);outline-offset:1px}.seer-body{justify-items:start;gap:12px;padding:14px;display:grid}.seer-intro{color:#5a6660;margin:0;font-size:13.5px;line-height:1.45}.seer-cta{background:var(--blurple);color:#fff;cursor:pointer;box-shadow:0 4px 0 0 var(--blurple-deep);border:0;border-radius:10px;align-items:center;gap:7px;padding:8px 14px;font-family:inherit;font-size:13.5px;font-weight:500;display:inline-flex}.seer-cta:hover{box-shadow:0 5px 0 0 var(--blurple-deep);transform:translateY(-1px)}.seer-cta:active{box-shadow:none;transform:translateY(3px)}.seer-loading{gap:10px;display:grid}.seer-scan-row{color:#5a6660;align-items:center;gap:9px;font-size:13.5px;display:flex}.seer-scan-log{border-left:2px solid var(--line);align-content:end;gap:6px;min-height:72px;padding-left:10px;display:grid}.seer-scan-log div{color:#5a6660;opacity:0;font-size:12.5px;animation:.45s forwards seer-line-in;transform:translateY(3px)}@keyframes seer-line-in{to{opacity:1;transform:none}}.seer-step--current:after{content:"…"}.seer-scan-log .seer-step--current{color:var(--green);font-weight:650}.seer-draft{gap:6px;display:grid}.seer-draft-label{font:650 9.5px/1 var(--font-geist-mono), monospace;letter-spacing:.14em;color:#7c6a8e}.seer-draft .seer-md--preview{flex-direction:column;justify-content:flex-end;max-height:120px;display:flex}.seer-draft .seer-fade{background:linear-gradient(var(--paper), #faf7ef00);top:0;bottom:auto}.seer-chip{color:#625471;white-space:nowrap;background:#c9c0d12e;border-radius:20px;padding:2px 7px;font-size:11px;font-weight:500}.seer-md{justify-self:stretch;font-size:13.5px;line-height:1.55}.seer-preview{justify-self:stretch;display:grid}.seer-clip{position:relative}.seer-md--preview{max-height:150px;overflow:hidden}.seer-fade{background:linear-gradient(#faf7ef00, var(--paper));pointer-events:none;height:48px;position:absolute;bottom:0;left:0;right:0}.seer-more{cursor:pointer;color:var(--green);text-align:center;background:0 0;border:0;padding:6px 0 0;font-family:inherit;font-size:12.5px;font-weight:500}.seer-more:hover{text-decoration:underline}.seer-more:focus-visible{outline:2px solid var(--amber);outline-offset:1px}.seer-md>:first-child{margin-top:0}.seer-md>:last-child{margin-bottom:0}.seer-md h1,.seer-md h2{margin:14px 0 6px;font-size:15px;font-weight:600}.seer-md h3,.seer-md h4{margin:12px 0 5px;font-size:14px;font-weight:600}.seer-md p{margin:0 0 8px}.seer-md hr{border:0;border-top:1px solid var(--line);margin:12px 0}.seer-md ul,.seer-md ol{margin:0 0 8px;padding-left:18px}.seer-md li{margin-bottom:3px}.seer-md code{font-family:var(--font-geist-mono), monospace;background:#173f3512;border-radius:6px;padding:1px 4px;font-size:12px}.seer-md pre{background:#173f3512;border-radius:10px;margin:0 0 8px;padding:8px 10px;overflow-x:auto}.seer-md pre code{background:0 0;padding:0}.seer-md table{border-collapse:collapse;max-width:100%;margin:0 0 10px;display:block;overflow-x:auto}.seer-md th,.seer-md td{border:2px solid var(--line);text-align:left;padding:4px 9px;font-size:13px}.seer-md th{background:#173f350d;font-weight:600}.seer-md blockquote{border-left:2px solid var(--line);color:#5a6660;margin:0 0 8px;padding-left:10px}.seer-md a{color:var(--green)}.seer-error{color:#a3372b;margin:0;font-size:13.5px}.seer-retry{cursor:pointer;color:var(--green);font:inherit;background:0 0;border:0;padding:0;text-decoration:underline}@keyframes seer-pupil-orbit{0%{transform:rotate(0)translateY(-1px)rotate(0)}to{transform:rotate(360deg)translateY(-1px)rotate(-360deg)}}.seer-pupil-loading{transform-origin:8px 8px;transform-box:view-box;animation:1s linear infinite seer-pupil-orbit}.seer-drawer-scrim{z-index:60;background:#17221e47;border:0;padding:0;position:fixed;inset:0}.seer-drawer{z-index:61;background:var(--paper);border-left:1px solid var(--line);width:min(540px,94vw);font-family:var(--font-geist-sans), Arial, sans-serif;color:var(--ink);flex-direction:column;animation:.3s seer-drawer-in;display:flex;position:fixed;top:0;bottom:0;right:0;box-shadow:-16px 0 48px #09262047}@keyframes seer-drawer-in{0%{opacity:0;transform:translate(36px)}}.seer-drawer .seer-head{flex:none}.seer-drawer-body{padding:18px 18px 24px;overflow-y:auto}.seer-drawer-body .seer-md{font-size:14px}.seer-drawer-body .seer-md h1,.seer-drawer-body .seer-md h2{font-size:17px}.seer-drawer-body .seer-md h3,.seer-drawer-body .seer-md h4{font-size:15px}.mini-seer{z-index:40;background:var(--paper);border:2px solid var(--line);border-top:3px solid var(--amber);transform-origin:0 0;border-radius:12px;gap:8px;min-width:128px;padding:10px 11px;animation:.26s cubic-bezier(.2,1.4,.4,1) both mini-seer-pop;display:grid;position:fixed;top:84px;left:18px;box-shadow:0 14px 34px #09262038}@keyframes mini-seer-pop{0%{opacity:0;transform:scale(.4)translateY(-10px)}}.mini-seer-head{align-items:center;gap:7px;display:flex}.mini-seer-title{color:var(--green);font:700 11px/1 var(--font-geist-mono), monospace;letter-spacing:.13em}.mini-seer-close{color:#8a958f;cursor:pointer;background:0 0;border:0;margin-left:auto;padding:0 2px;font-size:17px;line-height:1}.mini-seer-close:hover{color:var(--green)}.mini-seer-cta{background:var(--amber);color:#2c1e07;font:700 11px/1 var(--font-geist-mono), monospace;letter-spacing:.08em;cursor:pointer;border:0;border-radius:10px;padding:7px 12px;box-shadow:0 2px #a8742c}.mini-seer-cta:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 3px #a8742c}.mini-seer-cta:active:not(:disabled){box-shadow:none;transform:translateY(2px)}.mini-seer-cta:disabled{opacity:.5;cursor:default}.mini-seer-hint{text-align:center;background:#fffdf8d9;border:1px dashed #173f3559;border-radius:10px;padding:7px 10px}.mini-seer-hint strong{font:700 14px/1 var(--font-geist-mono), monospace;color:var(--green)}@media (prefers-reduced-motion:reduce){.seer-pupil-loading{animation:none}.seer-scan-log div{opacity:1;animation:none;transform:none}.seer-drawer,.mini-seer{animation:none}}button.move-cell{text-align:left;cursor:pointer;background:0 0;border:0;width:100%}button.move-cell:hover,button.move-cell.is-current{color:var(--green);box-shadow:inset 2px 0 var(--amber);background:#173f3512}button.move-cell>span{color:inherit}.replay-controls{border-bottom:1px solid var(--line);grid-template-columns:38px 38px 1fr 38px 38px;align-items:center;gap:4px;min-height:42px;display:grid}.replay-controls button{border:2px solid var(--btn-line);background:var(--btn-bg);cursor:pointer;height:32px;box-shadow:0 3px 0 0 var(--btn-line);border-radius:8px;font-size:17px}.replay-controls button:hover:not(:disabled){box-shadow:0 4px 0 0 var(--btn-line);transform:translateY(-1px)}.replay-controls button:active:not(:disabled){box-shadow:none;transform:translateY(2px)}.replay-controls button:disabled{opacity:.35;cursor:default}.replay-controls span{text-align:center;color:#718078;font:650 10.5px/1 var(--font-geist-mono), monospace;letter-spacing:.04em;text-transform:uppercase}.archive-page{flex:1;width:min(1220px,100% - 44px);margin:clamp(36px,5vw,72px) auto 64px}.archive-title-row{justify-content:space-between;align-items:end;gap:32px;margin-bottom:30px;display:flex}.archive-title-row h1{color:var(--green);letter-spacing:-.01em;margin:10px 0 8px;font-size:32px;font-weight:650;line-height:1.1}.archive-title-row p{color:#718078;margin:0;font-size:13px}.archive-count{color:var(--green);align-items:baseline;gap:10px;display:flex}.archive-count strong{font-size:32px;font-weight:650;line-height:1}.archive-count span{color:#718078;font:650 10.5px/1 var(--font-geist-mono), monospace;letter-spacing:.09em;text-transform:uppercase}.archive-browser{border-top:4px solid var(--green);border-bottom:1px solid var(--line);grid-template-columns:minmax(300px,360px) minmax(0,1fr);min-height:660px;display:grid}.archive-index{border-right:2px solid var(--line);flex-direction:column;min-width:0;height:0;min-height:100%;display:flex}.archive-tools{border-bottom:1px solid var(--line);grid-template-columns:1fr auto;gap:10px;padding:18px 18px 18px 0;display:grid}.archive-tools label span{color:#718078;font:650 9.5px/1 var(--font-geist-mono), monospace;letter-spacing:.1em;margin-bottom:7px;display:block}.archive-tools input{border:2px solid var(--line);width:100%;height:44px;color:var(--green);background:#ffffff59;outline:none;padding:0 11px;font-size:12px}.archive-tools input:focus{border-color:var(--green)}.archive-tools button{border:2px solid var(--btn-line);background:var(--btn-bg);cursor:pointer;height:44px;font:700 9.5px/1 var(--font-geist-mono), monospace;text-transform:uppercase;box-shadow:0 3px 0 0 var(--btn-line);border-radius:10px;align-self:end;padding:0 12px}.archive-tools button:hover:not(:disabled){box-shadow:0 4px 0 0 var(--btn-line);transform:translateY(-1px)}.archive-tools button:active:not(:disabled){box-shadow:none;transform:translateY(2px)}.archive-tools button:disabled{opacity:.45}.game-record-list{scroll-snap-type:y mandatory;scrollbar-width:thin;flex:1;min-height:0;padding:16px 18px 10px 0;scroll-padding-top:12px;overflow:auto}.game-record-list>button{border:2px solid var(--btn-line);background:var(--btn-bg);cursor:pointer;scroll-snap-align:start;scroll-snap-stop:always;text-align:left;width:100%;height:114px;box-shadow:0 3px 0 0 var(--btn-line);border-radius:12px;gap:8px;margin-bottom:12px;padding:14px 16px;display:grid;position:relative}.game-record-list>button:hover{box-shadow:0 4px 0 0 var(--btn-line);transform:translateY(-1px)}.game-record-list>button.is-active{border-color:var(--green);box-shadow:0 3px 0 0 var(--green);background:#fffdf8}.game-record-list>button.is-active:hover{box-shadow:0 4px 0 0 var(--green)}.record-date{color:#85918b;font:600 9.5px/1 var(--font-geist-mono), monospace;letter-spacing:.07em;text-transform:uppercase}.game-record-list strong{color:var(--green);white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:650;line-height:1.35;overflow:hidden}.game-record-list strong i,.record-heading h2 i{color:#9aa49f;font-size:.7em;font-weight:400}.record-result{color:#52665e;white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.record-result b{color:var(--green);font-weight:700}.record-status-dot{background:#7d8883;border-radius:50%;width:9px;height:9px;position:absolute;top:17px;right:17px;box-shadow:0 0 0 2px #7d88832e}.record-status-dot--win{background:#3d8a52;box-shadow:0 0 0 2px #3d8a522e}.record-status-dot--loss{background:#ae372b;box-shadow:0 0 0 2px #ae372b2e}.record-meta{color:#89948f;justify-content:space-between;gap:14px;display:flex}.record-meta code{min-width:0;font:500 9.5px/1 var(--font-geist-mono), monospace;text-overflow:ellipsis;overflow:hidden}.record-meta small{font:650 9.5px/1 var(--font-geist-mono), monospace;text-transform:uppercase;flex:none}.archive-empty{color:#89938e;text-align:center;place-content:center;justify-items:center;min-height:220px;padding:30px;display:grid}.archive-empty span,.record-placeholder span{color:#a4afa9;opacity:.55;font:42px/1 Georgia,serif}.archive-empty p,.record-placeholder p{font-size:11px;line-height:1.6}.game-record-detail{background:#ffffff2e;min-width:0;padding:34px clamp(24px,4vw,54px) 42px}.shared-replay-page{width:min(980px,100% - 44px)}.shared-game-record{border-top:4px solid var(--green);border-bottom:1px solid var(--line)}.shared-game-record .record-placeholder h2{color:var(--green);letter-spacing:-.01em;margin:14px 0 4px;font-size:23px;font-weight:650;line-height:1.15}.shared-game-record .record-placeholder .text-button{margin-top:16px}.record-placeholder{color:#89938e;text-align:center;place-content:center;justify-items:center;min-height:500px;display:grid}.record-heading{justify-content:space-between;align-items:start;gap:24px;padding-bottom:27px;display:flex}.result-chip{background:var(--green);color:#fff;font:700 9.5px/1 var(--font-geist-mono), monospace;letter-spacing:.07em;text-transform:uppercase;padding:6px 8px;display:inline-block}.result-chip--draw{background:#7e7567}.record-heading h2{color:var(--green);letter-spacing:-.01em;margin:12px 0 7px;font-size:26px;font-weight:650;line-height:1.15}.record-heading p{color:#718078;margin:0;font-size:11px}.record-room{text-align:right;min-width:90px}.record-room span{color:#89948f;font:650 9.5px/1 var(--font-geist-mono), monospace;letter-spacing:.1em;display:block}.record-room strong{color:var(--green);font:700 16px/1 var(--font-geist-mono), monospace;letter-spacing:.1em;margin-top:8px;display:block}.record-facts{border:1px solid var(--line);border-radius:12px;margin:0 0 34px;overflow:hidden}.record-fact--id{border-bottom:1px solid var(--line);align-items:baseline;gap:11px;padding:13px 14px;display:flex}.record-fact--id span{color:#89948f;font:650 9.5px/1 var(--font-geist-mono), monospace;letter-spacing:.09em;text-transform:uppercase;white-space:nowrap}.record-fact--id code{min-width:0;font:550 11px/1.3 var(--font-geist-mono), monospace;overflow-wrap:anywhere}.record-fact--id button{border:0;border-bottom:2px solid var(--green);cursor:pointer;color:var(--green);font:700 9.5px/1 var(--font-geist-mono), monospace;text-transform:uppercase;white-space:nowrap;background:0 0;margin-left:auto;padding:2px 0}.record-facts p{color:#354a42;margin:0;padding:12px 14px;font-size:12px;line-height:1.6}.record-seer{border:2px solid var(--btn-line);box-shadow:0 4px 0 0 var(--btn-line);background:#ffffff4d;margin:0 0 34px}.record-seer-head{justify-content:space-between;align-items:center;gap:18px;min-height:66px;padding:12px 14px;display:flex}.record-seer-head>div{align-items:center;gap:11px;min-width:0;display:flex}.record-seer-head h3{color:var(--green);font:700 12px/1 var(--font-geist-mono), monospace;letter-spacing:.07em;text-transform:uppercase;margin:0 0 5px}.record-seer-head p{color:#718078;margin:0;font-size:11px}.record-seer-button{background:var(--blurple);color:#fff;cursor:pointer;min-height:42px;font:700 9.5px/1 var(--font-geist-mono), monospace;letter-spacing:.07em;text-transform:uppercase;box-shadow:0 4px 0 0 var(--blurple-deep);border:0;border-radius:10px;flex:none;justify-content:center;align-items:center;gap:7px;padding:0 13px;display:inline-flex}.record-seer-button:hover:not(:disabled){box-shadow:0 5px 0 0 var(--blurple-deep);transform:translateY(-1px)}.record-seer-button:active:not(:disabled){box-shadow:none;transform:translateY(3px)}.record-seer-button:disabled{cursor:default;opacity:.65}.record-seer-button:focus-visible{outline:2px solid var(--amber);outline-offset:2px}.record-seer-body{border-top:1px solid var(--line);padding:14px}.record-seer-body>p{color:#5d6d66;margin:0;font-size:12px;line-height:1.5}.record-seer-body .record-seer-progress{color:#718078}.record-seer-review{justify-items:start;gap:12px;display:grid}.record-seer-review .seer-md{scrollbar-width:thin;width:100%;max-height:360px;padding-right:8px;overflow:auto}.record-section-title{justify-content:space-between;align-items:baseline;margin-bottom:12px;display:flex}.record-section-title h3{color:var(--green);letter-spacing:-.01em;margin:0;font-size:18px;font-weight:650;line-height:1.1}.record-section-title span{color:#89948f;font:650 9.5px/1 var(--font-geist-mono), monospace;letter-spacing:.09em}.record-replay-layout{grid-template-columns:minmax(300px,1.05fr) minmax(260px,.95fr);align-items:start;gap:clamp(20px,3vw,38px);display:grid}.record-board-with-eval{align-items:stretch;gap:8px;display:flex}.record-board-with-eval .record-board{flex:1;min-width:0}.record-board{width:100%;box-shadow:0 14px 34px #172c2429,0 2px 6px #172c2424}.record-board .chessboard{--board-border:6px}.record-eval-bar{border:2px solid var(--green);background:#fdfbf4;border-radius:8px;flex-direction:column;flex:0 0 18px;width:18px;display:flex;overflow:hidden;box-shadow:0 3px #173f3547}.record-eval-bar-black{background:#23332d;flex:none;transition:height .22s}.record-eval-bar-white{background:#fdfbf4;flex:none;transition:height .22s}.record-eval-bar.is-loading{opacity:.58}.record-eval-label{color:#718078;font:650 9.5px/1 var(--font-geist-mono), monospace;letter-spacing:.07em;text-transform:uppercase;margin:10px 0 -1px}.record-replay-controls{grid-template-columns:42px 42px 1fr 42px 42px;gap:6px;margin-top:12px;display:grid}.record-replay-controls button{border:2px solid var(--btn-line);background:var(--btn-bg);cursor:pointer;height:42px;color:var(--green);box-shadow:0 3px 0 0 var(--btn-line);border-radius:10px;font-size:17px}.record-replay-controls button:hover:not(:disabled){box-shadow:0 4px 0 0 var(--btn-line);transform:translateY(-1px)}.record-replay-controls button:active:not(:disabled){box-shadow:none;transform:translateY(2px)}.record-replay-controls button:disabled{cursor:default;opacity:.35}.record-replay-controls .record-play-button{font:700 9.5px/1 var(--font-geist-mono), monospace;letter-spacing:.07em;text-transform:uppercase}.record-move-table{border-top:1px solid var(--line);scrollbar-width:thin;max-height:454px;overflow:auto}.record-move-head,.record-move-row{grid-template-columns:46px 1fr 1fr;display:grid}.record-move-head{border-bottom:1px solid var(--line);color:#89948f;min-height:32px;font:650 9.5px/1 var(--font-geist-mono), monospace;text-transform:uppercase;align-items:center}.record-move-row{border-bottom:1px solid #173f3517;min-height:52px}.record-move-row>span{color:#9aa49f;font:600 10.5px/1 var(--font-geist-mono), monospace;align-self:center}.record-move-row>div,.record-move-row>button{text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:10px;min-width:0;padding:8px 10px;display:flex}.record-move-row>:nth-child(3){border-left:1px solid #173f3514}.record-move-row>button{cursor:pointer}.record-move-row>button:hover,.record-move-row>button.is-current{box-shadow:inset 2px 0 var(--amber);background:#173f3512}.record-move-notation{gap:5px;min-width:0;display:grid}.record-move-row strong{color:#354a42;font:650 14px/1 var(--font-geist-mono), monospace}.record-move-row small{color:#89948f;font:500 9.5px/1 var(--font-geist-mono), monospace;white-space:nowrap}.record-move-row .move-grade{color:#fff;flex:none}.record-move-row .move-grade--inaccuracy{color:#302408}.record-move-row .empty-cell{color:#aeb6b2}@media (max-width:800px){.archive-browser{grid-template-columns:1fr}.archive-index{border-right:0;border-bottom:2px solid var(--line);height:auto;min-height:0;display:block}.archive-tools{padding-right:0}.game-record-list{max-height:264px;padding-right:0}.record-replay-layout{grid-template-columns:minmax(0,520px)}.record-move-table{max-height:320px}}@media (max-width:600px){.archive-page{width:calc(100% - 28px);margin-top:32px}.archive-title-row{align-items:start}.archive-title-row h1{font-size:27px}.archive-count{display:none}.game-record-detail{padding:28px 14px 34px}.record-heading{display:block}.record-room{text-align:left;margin-top:18px}.record-seer-head{flex-direction:column;align-items:stretch}.record-seer-button{align-self:start}.record-move-row>div,.record-move-row>button{flex-direction:column;justify-content:center;align-items:start;gap:4px}.record-move-row small{white-space:normal}}.lobby-signed-in{border:2px solid var(--line);color:#57655f;font:600 10.5px/1.5 var(--font-geist-mono), monospace;letter-spacing:.1em;background:#fffdf8;align-items:baseline;gap:8px;margin:0;padding:11px 13px;display:flex}.lobby-signed-in strong{color:var(--green)}.lobby-rating{white-space:nowrap}.modal-overlay{z-index:40;background:#17221e59;place-items:center;padding:20px;animation:.22s ease-out both game-over-fade;display:grid;position:fixed;inset:0}.auth-card{background:var(--paper);border-top:4px solid var(--amber);width:min(380px,100%);padding:26px 28px 20px;animation:.22s cubic-bezier(.2,.9,.3,1.2) both game-over-pop;box-shadow:0 25px 65px #09262061}.auth-card h2{color:var(--green);letter-spacing:-.01em;margin:10px 0;font-size:23px;font-weight:650;line-height:1.15}.auth-card>p{color:#5d6a64;margin:0 0 18px;font-size:12px;line-height:1.6}.auth-card label{margin-bottom:12px;display:block}.auth-card label span{color:#57655f;font:600 10.5px/1 var(--font-geist-mono), monospace;text-transform:uppercase;letter-spacing:.1em;margin-bottom:7px;display:block}.auth-card input{border:2px solid var(--line);width:100%;height:48px;color:var(--green);background:#fffdf8;outline:0;padding:0 13px}.auth-card input:focus{border-color:var(--green);box-shadow:0 0 0 2px #173f3514}.auth-error{color:#ae372b;margin:0 0 10px;font-size:12px}.auth-actions{grid-template-columns:1fr 1fr;align-items:stretch;gap:8px;display:grid}.auth-actions .primary-button{margin:0}.auth-actions button:not(.primary-button){border:2px solid var(--btn-line);background:var(--btn-bg);color:var(--green);cursor:pointer;text-transform:uppercase;letter-spacing:.08em;box-shadow:0 3px 0 0 var(--btn-line);border-radius:10px;font-size:12px;font-weight:700}.auth-actions button:not(.primary-button):hover:not(:disabled){box-shadow:0 4px 0 0 var(--btn-line);transform:translateY(-1px)}.auth-actions button:not(.primary-button):active:not(:disabled){box-shadow:none;transform:translateY(2px)}.auth-actions button:disabled{opacity:.55;cursor:default}.auth-cancel{cursor:pointer;color:#6e7b75;background:0 0;border:0;margin:14px auto 0;font-size:11px;text-decoration:underline;display:block}.leaderboard-page{flex:1;width:min(760px,100% - 44px);margin:clamp(36px,5vw,72px) auto 64px}.leaderboard-page h1{color:var(--green);letter-spacing:-.01em;margin:10px 0 8px;font-size:32px;font-weight:650;line-height:1.1}.leaderboard-page>p{color:#718078;margin:0 0 28px;font-size:13px}.leaderboard-table{border-collapse:separate;border-spacing:0;border:2px solid var(--line);background:#ffffff3b;border-radius:14px;width:100%;overflow:hidden}.leaderboard-table th{border-bottom:1px solid var(--line);text-align:right;color:#7d8983;font:650 10.5px/1 var(--font-geist-mono), monospace;letter-spacing:.12em;text-transform:uppercase;padding:13px 15px}.leaderboard-table td{border-bottom:1px solid var(--line);text-align:right;font:600 13px/1 var(--font-geist-mono), monospace;color:#5d6a64;font-variant-numeric:tabular-nums;padding:13px 15px}.leaderboard-table th:nth-child(-n+2),.leaderboard-table td:nth-child(-n+2){text-align:left}.leaderboard-table tbody tr:last-child td{border-bottom:0}.leaderboard-table tbody tr:first-child .leaderboard-rating{color:#7c6a8e}.leaderboard-rank{color:#a4afa9}.leaderboard-name{color:var(--green);font-weight:700}.leaderboard-rating{color:var(--green);font-size:15px;font-weight:700}.lobby-card,.game-over-card,.promotion-picker,.resign-confirm,.user-menu-sheet,.auth-card{border-radius:16px}.invite-card,.live-coach,.record-seer,.puzzle-feedback,.takeback-bar,.live-coach-hintbox{border-radius:12px}.lobby-signed-in,.notice,.coach-toggle,.clock,.lobby-card input,.auth-card input,.archive-tools input{border-radius:10px}.move-grade,.coach-motif,.result-chip{border-radius:6px}.board-wrap,.chessboard,.puzzle-board-wrap,.record-board{border-radius:12px}.topbar-cta,.time-control button,.primary-button,.join-row button,.bot-card,.live-coach-hint,.live-coach-off,.grades-toggle,.live-coach-hintbox button,.live-coach-restore,.game-over-actions button,.promotion-picker>div button,.takeback-bar button,.match-actions button,.puzzle-hint button,.puzzle-actions button,.archive-tools button,.replay-controls button,.record-replay-controls button,.record-seer-button,.seer-cta,.mini-seer-cta,.invite-card .replay-share-button,.auth-actions button:not(.primary-button),.resign-confirm div button,.ai-coach-moves button,.game-record-list>button{transition:transform .12s,box-shadow .12s,background-color .14s,border-color .14s,color .14s}.sound-toggle,.user-menu-trigger,.user-menu-sheet button,.lobby-tabs button,.coach-toggle,.seer-icon-btn,.mini-seer-close,.seer-more,.invite-card button,.promotion-cancel,.auth-cancel,.record-fact--id button{transition:color .14s,background-color .14s}.puzzle-list button,button.move-cell,.record-move-row>button{transition:background-color .14s,box-shadow .14s,color .14s}.lobby-card input,.auth-card input,.archive-tools input,.join-row input{transition:border-color .14s,box-shadow .14s}.leaderboard-table tbody tr{transition:background-color .14s}.leaderboard-table tbody tr:hover{background:#173f350d}.player-avatar{transition:transform .16s}.player-card:hover .player-avatar{transform:scale(1.1)}.game-layout,.puzzle-page,.archive-page,.leaderboard-page,.explore-page{animation:.32s both page-rise}@keyframes page-rise{0%{opacity:0;transform:translateY(10px)}}@media (prefers-reduced-motion:reduce){.game-layout,.puzzle-page,.archive-page,.leaderboard-page,.explore-page,.user-menu-sheet{animation:none}.brand:hover .brand-mark img,.player-card:hover .player-avatar,.primary-button:hover:not(:disabled) span{transform:none}}.puzzle-theme{color:#7a8680;margin:4px 0 0;font-size:12px}.puzzle-list button em{color:#7a8680;font-size:11px;font-style:normal}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}
