.cg-wrap{box-sizing:content-box;position:relative;display:block}cg-container{position:absolute;width:100%;height:100%;display:block;top:0}cg-board{position:absolute;top:0;left:0;width:100%;height:100%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;line-height:0;background-size:cover}.cg-wrap.manipulable cg-board{cursor:pointer}cg-board square{position:absolute;top:0;left:0;width:12.5%;height:12.5%;pointer-events:none}cg-board square.move-dest{pointer-events:auto}cg-board square.last-move{will-change:transform}.cg-wrap piece{position:absolute;top:0;left:0;width:12.5%;height:12.5%;background-size:cover;z-index:2;will-change:transform;pointer-events:none}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{overflow:hidden;position:relative;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:2;opacity:.6}.cg-wrap cg-auto-pieces,.cg-wrap .cg-shapes,.cg-wrap .cg-custom-svgs,.cg-wrap .cg-shapes-below,.cg-wrap .cg-custom-below{overflow:visible;position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.cg-wrap cg-auto-pieces{z-index:2}.cg-wrap cg-auto-pieces piece{opacity:.3}.cg-wrap .cg-shapes{overflow:hidden;opacity:.6;z-index:2}.cg-wrap .cg-shapes-below{overflow:hidden;z-index:1}.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{position:absolute;display:flex;pointer-events:none;opacity:.8;font-family:sans-serif;font-size:9px}.cg-wrap coords.ranks{left:4px;top:-20px;flex-flow:column-reverse;height:100%;width:12px}.cg-wrap coords.ranks.black{flex-flow:column}.cg-wrap coords.ranks.left{left:-15px;align-items:flex-end}.cg-wrap coords.files{bottom:-4px;left:24px;flex-flow:row;width:100%;height:16px;text-transform:uppercase;text-align:center}.cg-wrap coords.files.black{flex-flow:row-reverse}.cg-wrap coords coord{flex:1 1 auto}.cg-wrap coords.ranks coord{transform:translateY(39%)}.cg-wrap coords.squares{bottom:0;left:0;text-transform:uppercase;text-align:right;flex-flow:column-reverse;height:100%;width:12.5%}.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,.pc-wP{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NSIgaGVpZ2h0PSI0NSI+PHBhdGggZD0iTTIyLjUgOWMtMi4yMSAwLTQgMS43OS00IDQgMCAuODkuMjkgMS43MS43OCAyLjM4QzE3LjMzIDE2LjUgMTYgMTguNTkgMTYgMjFjMCAyLjAzLjk0IDMuODQgMi40MSA1LjAzLTMgMS4wNi03LjQxIDUuNTUtNy40MSAxMy40N2gyM2MwLTcuOTItNC40MS0xMi40MS03LjQxLTEzLjQ3IDEuNDctMS4xOSAyLjQxLTMgMi40MS01LjAzIDAtMi40MS0xLjMzLTQuNS0zLjI4LTUuNjIuNDktLjY3Ljc4LTEuNDkuNzgtMi4zOCAwLTIuMjEtMS43OS00LTQtNHoiIGZpbGw9IiNmZmYiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPjwvc3ZnPg==)}.cg-wrap piece.bishop.white,.pc-wB{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NSIgaGVpZ2h0PSI0NSI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxnIGZpbGw9IiNmZmYiIHN0cm9rZS1saW5lY2FwPSJidXR0Ij48cGF0aCBkPSJNOSAzNmMzLjM5LS45NyAxMC4xMS40MyAxMy41LTIgMy4zOSAyLjQzIDEwLjExIDEuMDMgMTMuNSAyIDAgMCAxLjY1LjU0IDMgMi0uNjguOTctMS42NS45OS0zIC41LTMuMzktLjk3LTEwLjExLjQ2LTEzLjUtMS0zLjM5IDEuNDYtMTAuMTEuMDMtMTMuNSAxLTEuMzU0LjQ5LTIuMzIzLjQ3LTMtLjUgMS4zNTQtMS45NCAzLTIgMy0yeiIvPjxwYXRoIGQ9Ik0xNSAzMmMyLjUgMi41IDEyLjUgMi41IDE1IDAgLjUtMS41IDAtMiAwLTIgMC0yLjUtMi41LTQtMi41LTQgNS41LTEuNSA2LTExLjUtNS0xNS41LTExIDQtMTAuNSAxNC01IDE1LjUgMCAwLTIuNSAxLjUtMi41IDQgMCAwLS41LjUgMCAyeiIvPjxwYXRoIGQ9Ik0yNSA4YTIuNSAyLjUgMCAxIDEtNSAwIDIuNSAyLjUgMCAxIDEgNSAweiIvPjwvZz48cGF0aCBkPSJNMTcuNSAyNmgxME0xNSAzMGgxNW0tNy41LTE0LjV2NU0yMCAxOGg1IiBzdHJva2UtbGluZWpvaW49Im1pdGVyIi8+PC9nPjwvc3ZnPg==)}.cg-wrap piece.knight.white,.pc-wN{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NSIgaGVpZ2h0PSI0NSI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik0yMiAxMGMxMC41IDEgMTYuNSA4IDE2IDI5SDE1YzAtOSAxMC02LjUgOC0yMSIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Ik0yNCAxOGMuMzggMi45MS01LjU1IDcuMzctOCA5LTMgMi0yLjgyIDQuMzQtNSA0LTEuMDQyLS45NCAxLjQxLTMuMDQgMC0zLTEgMCAuMTkgMS4yMy0xIDItMSAwLTQuMDAzIDEtNC00IDAtMiA2LTEyIDYtMTJzMS44OS0xLjkgMi0zLjVjLS43My0uOTk0LS41LTItLjUtMyAxLTEgMyAyLjUgMyAyLjVoMnMuNzgtMS45OTIgMi41LTNjMSAwIDEgMyAxIDMiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJNOS41IDI1LjVhLjUuNSAwIDEgMS0xIDAgLjUuNSAwIDEgMSAxIDB6bTUuNDMzLTkuNzVhLjUgMS41IDMwIDEgMS0uODY2LS41LjUgMS41IDMwIDEgMSAuODY2LjV6IiBmaWxsPSIjMDAwIi8+PC9nPjwvc3ZnPg==)}.cg-wrap piece.rook.white,.pc-wR{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NSIgaGVpZ2h0PSI0NSI+PGcgZmlsbD0iI2ZmZiIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik05IDM5aDI3di0zSDl2M3ptMy0zdi00aDIxdjRIMTJ6bS0xLTIyVjloNHYyaDVWOWg1djJoNVY5aDR2NSIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiLz48cGF0aCBkPSJNMzQgMTRsLTMgM0gxNGwtMy0zIi8+PHBhdGggZD0iTTMxIDE3djEyLjVIMTRWMTciIHN0cm9rZS1saW5lY2FwPSJidXR0IiBzdHJva2UtbGluZWpvaW49Im1pdGVyIi8+PHBhdGggZD0iTTMxIDI5LjVsMS41IDIuNWgtMjBsMS41LTIuNSIvPjxwYXRoIGQ9Ik0xMSAxNGgyMyIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVqb2luPSJtaXRlciIvPjwvZz48L3N2Zz4=)}.cg-wrap piece.queen.white,.pc-wQ{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NSIgaGVpZ2h0PSI0NSI+PGcgZmlsbD0iI2ZmZiIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik04IDEyYTIgMiAwIDEgMS00IDAgMiAyIDAgMSAxIDQgMHptMTYuNS00LjVhMiAyIDAgMSAxLTQgMCAyIDIgMCAxIDEgNCAwek00MSAxMmEyIDIgMCAxIDEtNCAwIDIgMiAwIDEgMSA0IDB6TTE2IDguNWEyIDIgMCAxIDEtNCAwIDIgMiAwIDEgMSA0IDB6TTMzIDlhMiAyIDAgMSAxLTQgMCAyIDIgMCAxIDEgNCAweiIvPjxwYXRoIGQ9Ik05IDI2YzguNS0xLjUgMjEtMS41IDI3IDBsMi0xMi03IDExVjExbC01LjUgMTMuNS0zLTE1LTMgMTUtNS41LTE0VjI1TDcgMTRsMiAxMnoiIHN0cm9rZS1saW5lY2FwPSJidXR0Ii8+PHBhdGggZD0iTTkgMjZjMCAyIDEuNSAyIDIuNSA0IDEgMS41IDEgMSAuNSAzLjUtMS41IDEtMS41IDIuNS0xLjUgMi41LTEuNSAxLjUuNSAyLjUuNSAyLjUgNi41IDEgMTYuNSAxIDIzIDAgMCAwIDEuNS0xIDAtMi41IDAgMCAuNS0xLjUtMS0yLjUtLjUtMi41LS41LTIgLjUtMy41IDEtMiAyLjUtMiAyLjUtNC04LjUtMS41LTE4LjUtMS41LTI3IDB6IiBzdHJva2UtbGluZWNhcD0iYnV0dCIvPjxwYXRoIGQ9Ik0xMS41IDMwYzMuNS0xIDE4LjUtMSAyMiAwTTEyIDMzLjVjNi0xIDE1LTEgMjEgMCIgZmlsbD0ibm9uZSIvPjwvZz48L3N2Zz4=)}.cg-wrap piece.king.white,.pc-wK{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NSIgaGVpZ2h0PSI0NSI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik0yMi41IDExLjYzVjZNMjAgOGg1IiBzdHJva2UtbGluZWpvaW49Im1pdGVyIi8+PHBhdGggZD0iTTIyLjUgMjVzNC41LTcuNSAzLTEwLjVjMCAwLTEtMi41LTMtMi41cy0zIDIuNS0zIDIuNWMtMS41IDMgMyAxMC41IDMgMTAuNSIgZmlsbD0iI2ZmZiIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiIHN0cm9rZS1saW5lam9pbj0ibWl0ZXIiLz48cGF0aCBkPSJNMTEuNSAzN2M1LjUgMy41IDE1LjUgMy41IDIxIDB2LTdzOS00LjUgNi0xMC41Yy00LTYuNS0xMy41LTMuNS0xNiA0VjI3di0zLjVjLTMuNS03LjUtMTMtMTAuNS0xNi00LTMgNiA1IDEwIDUgMTBWMzd6IiBmaWxsPSIjZmZmIi8+PHBhdGggZD0iTTExLjUgMzBjNS41LTMgMTUuNS0zIDIxIDBtLTIxIDMuNWM1LjUtMyAxNS41LTMgMjEgMG0tMjEgMy41YzUuNS0zIDE1LjUtMyAyMSAwIi8+PC9nPjwvc3ZnPg==)}.cg-wrap piece.pawn.black,.pc-bP{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NSIgaGVpZ2h0PSI0NSI+PHBhdGggZD0iTTIyLjUgOWMtMi4yMSAwLTQgMS43OS00IDQgMCAuODkuMjkgMS43MS43OCAyLjM4QzE3LjMzIDE2LjUgMTYgMTguNTkgMTYgMjFjMCAyLjAzLjk0IDMuODQgMi40MSA1LjAzLTMgMS4wNi03LjQxIDUuNTUtNy40MSAxMy40N2gyM2MwLTcuOTItNC40MS0xMi40MS03LjQxLTEzLjQ3IDEuNDctMS4xOSAyLjQxLTMgMi40MS01LjAzIDAtMi40MS0xLjMzLTQuNS0zLjI4LTUuNjIuNDktLjY3Ljc4LTEuNDkuNzgtMi4zOCAwLTIuMjEtMS43OS00LTQtNHoiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPjwvc3ZnPg==)}.cg-wrap piece.bishop.black,.pc-bB{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NSIgaGVpZ2h0PSI0NSI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxnIGZpbGw9IiMwMDAiIHN0cm9rZS1saW5lY2FwPSJidXR0Ij48cGF0aCBkPSJNOSAzNmMzLjM5LS45NyAxMC4xMS40MyAxMy41LTIgMy4zOSAyLjQzIDEwLjExIDEuMDMgMTMuNSAyIDAgMCAxLjY1LjU0IDMgMi0uNjguOTctMS42NS45OS0zIC41LTMuMzktLjk3LTEwLjExLjQ2LTEzLjUtMS0zLjM5IDEuNDYtMTAuMTEuMDMtMTMuNSAxLTEuMzU0LjQ5LTIuMzIzLjQ3LTMtLjUgMS4zNTQtMS45NCAzLTIgMy0yeiIvPjxwYXRoIGQ9Ik0xNSAzMmMyLjUgMi41IDEyLjUgMi41IDE1IDAgLjUtMS41IDAtMiAwLTIgMC0yLjUtMi41LTQtMi41LTQgNS41LTEuNSA2LTExLjUtNS0xNS41LTExIDQtMTAuNSAxNC01IDE1LjUgMCAwLTIuNSAxLjUtMi41IDQgMCAwLS41LjUgMCAyeiIvPjxwYXRoIGQ9Ik0yNSA4YTIuNSAyLjUgMCAxIDEtNSAwIDIuNSAyLjUgMCAxIDEgNSAweiIvPjwvZz48cGF0aCBkPSJNMTcuNSAyNmgxME0xNSAzMGgxNW0tNy41LTE0LjV2NU0yMCAxOGg1IiBzdHJva2U9IiNlY2VjZWMiIHN0cm9rZS1saW5lam9pbj0ibWl0ZXIiLz48L2c+PC9zdmc+)}.cg-wrap piece.knight.black,.pc-bN{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NSIgaGVpZ2h0PSI0NSI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik0yMiAxMGMxMC41IDEgMTYuNSA4IDE2IDI5SDE1YzAtOSAxMC02LjUgOC0yMSIgZmlsbD0iIzAwMCIvPjxwYXRoIGQ9Ik0yNCAxOGMuMzggMi45MS01LjU1IDcuMzctOCA5LTMgMi0yLjgyIDQuMzQtNSA0LTEuMDQyLS45NCAxLjQxLTMuMDQgMC0zLTEgMCAuMTkgMS4yMy0xIDItMSAwLTQuMDAzIDEtNC00IDAtMiA2LTEyIDYtMTJzMS44OS0xLjkgMi0zLjVjLS43My0uOTk0LS41LTItLjUtMyAxLTEgMyAyLjUgMyAyLjVoMnMuNzgtMS45OTIgMi41LTNjMSAwIDEgMyAxIDMiIGZpbGw9IiMwMDAiLz48cGF0aCBkPSJNOS41IDI1LjVhLjUuNSAwIDEgMS0xIDAgLjUuNSAwIDEgMSAxIDB6bTUuNDMzLTkuNzVhLjUgMS41IDMwIDEgMS0uODY2LS41LjUgMS41IDMwIDEgMSAuODY2LjV6IiBmaWxsPSIjZWNlY2VjIiBzdHJva2U9IiNlY2VjZWMiLz48cGF0aCBkPSJNMjQuNTUgMTAuNGwtLjQ1IDEuNDUuNS4xNWMzLjE1IDEgNS42NSAyLjQ5IDcuOSA2Ljc1UzM1Ljc1IDI5LjA2IDM1LjI1IDM5bC0uMDUuNWgyLjI1bC4wNS0uNWMuNS0xMC4wNi0uODgtMTYuODUtMy4yNS0yMS4zNC0yLjM3LTQuNDktNS43OS02LjY0LTkuMTktNy4xNmwtLjUxLS4xeiIgZmlsbD0iI2VjZWNlYyIgc3Ryb2tlPSJub25lIi8+PC9nPjwvc3ZnPg==)}.cg-wrap piece.rook.black,.pc-bR{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NSIgaGVpZ2h0PSI0NSI+PGcgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik05IDM5aDI3di0zSDl2M3ptMy41LTdsMS41LTIuNWgxN2wxLjUgMi41aC0yMHptLS41IDR2LTRoMjF2NEgxMnoiIHN0cm9rZS1saW5lY2FwPSJidXR0Ii8+PHBhdGggZD0iTTE0IDI5LjV2LTEzaDE3djEzSDE0eiIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiIHN0cm9rZS1saW5lam9pbj0ibWl0ZXIiLz48cGF0aCBkPSJNMTQgMTYuNUwxMSAxNGgyM2wtMyAyLjVIMTR6TTExIDE0VjloNHYyaDVWOWg1djJoNVY5aDR2NUgxMXoiIHN0cm9rZS1saW5lY2FwPSJidXR0Ii8+PHBhdGggZD0iTTEyIDM1LjVoMjFtLTIwLTRoMTltLTE4LTJoMTdtLTE3LTEzaDE3TTExIDE0aDIzIiBmaWxsPSJub25lIiBzdHJva2U9IiNlY2VjZWMiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJtaXRlciIvPjwvZz48L3N2Zz4=)}.cg-wrap piece.queen.black,.pc-bQ{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NSIgaGVpZ2h0PSI0NSI+PGcgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxnIHN0cm9rZT0ibm9uZSI+PGNpcmNsZSBjeD0iNiIgY3k9IjEyIiByPSIyLjc1Ii8+PGNpcmNsZSBjeD0iMTQiIGN5PSI5IiByPSIyLjc1Ii8+PGNpcmNsZSBjeD0iMjIuNSIgY3k9IjgiIHI9IjIuNzUiLz48Y2lyY2xlIGN4PSIzMSIgY3k9IjkiIHI9IjIuNzUiLz48Y2lyY2xlIGN4PSIzOSIgY3k9IjEyIiByPSIyLjc1Ii8+PC9nPjxwYXRoIGQ9Ik05IDI2YzguNS0xLjUgMjEtMS41IDI3IDBsMi41LTEyLjVMMzEgMjVsLS4zLTE0LjEtNS4yIDEzLjYtMy0xNC41LTMgMTQuNS01LjItMTMuNkwxNCAyNSA2LjUgMTMuNSA5IDI2eiIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiLz48cGF0aCBkPSJNOSAyNmMwIDIgMS41IDIgMi41IDQgMSAxLjUgMSAxIC41IDMuNS0xLjUgMS0xLjUgMi41LTEuNSAyLjUtMS41IDEuNS41IDIuNS41IDIuNSA2LjUgMSAxNi41IDEgMjMgMCAwIDAgMS41LTEgMC0yLjUgMCAwIC41LTEuNS0xLTIuNS0uNS0yLjUtLjUtMiAuNS0zLjUgMS0yIDIuNS0yIDIuNS00LTguNS0xLjUtMTguNS0xLjUtMjcgMHoiIHN0cm9rZS1saW5lY2FwPSJidXR0Ii8+PHBhdGggZD0iTTExIDM4LjVhMzUgMzUgMSAwIDAgMjMgMCIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiLz48cGF0aCBkPSJNMTEgMjlhMzUgMzUgMSAwIDEgMjMgMG0tMjEuNSAyLjVoMjBtLTIxIDNhMzUgMzUgMSAwIDAgMjIgMG0tMjMgM2EzNSAzNSAxIDAgMCAyNCAwIiBmaWxsPSJub25lIiBzdHJva2U9IiNlY2VjZWMiLz48L2c+PC9zdmc+)}.cg-wrap piece.king.black,.pc-bK{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NSIgaGVpZ2h0PSI0NSI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik0yMi41IDExLjYzVjYiIHN0cm9rZS1saW5lam9pbj0ibWl0ZXIiLz48cGF0aCBkPSJNMjIuNSAyNXM0LjUtNy41IDMtMTAuNWMwIDAtMS0yLjUtMy0yLjVzLTMgMi41LTMgMi41Yy0xLjUgMyAzIDEwLjUgMyAxMC41IiBmaWxsPSIjMDAwIiBzdHJva2UtbGluZWNhcD0iYnV0dCIgc3Ryb2tlLWxpbmVqb2luPSJtaXRlciIvPjxwYXRoIGQ9Ik0xMS41IDM3YzUuNSAzLjUgMTUuNSAzLjUgMjEgMHYtN3M5LTQuNSA2LTEwLjVjLTQtNi41LTEzLjUtMy41LTE2IDRWMjd2LTMuNWMtMy41LTcuNS0xMy0xMC41LTE2LTQtMyA2IDUgMTAgNSAxMFYzN3oiIGZpbGw9IiMwMDAiLz48cGF0aCBkPSJNMjAgOGg1IiBzdHJva2UtbGluZWpvaW49Im1pdGVyIi8+PHBhdGggZD0iTTMyIDI5LjVzOC41LTQgNi4wMy05LjY1QzM0LjE1IDE0IDI1IDE4IDIyLjUgMjQuNWwuMDEgMi4xLS4wMS0yLjFDMjAgMTggOS45MDYgMTQgNi45OTcgMTkuODVjLTIuNDk3IDUuNjUgNC44NTMgOSA0Ljg1MyA5IiBzdHJva2U9IiNlY2VjZWMiLz48cGF0aCBkPSJNMTEuNSAzMGM1LjUtMyAxNS41LTMgMjEgMG0tMjEgMy41YzUuNS0zIDE1LjUtMyAyMSAwbS0yMSAzLjVjNS41LTMgMTUuNS0zIDIxIDAiIHN0cm9rZT0iI2VjZWNlYyIvPjwvZz48L3N2Zz4=)}.pc{background-size:cover;background-repeat:no-repeat}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-display:swap;src:url(/fonts/bricolage-grotesque-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:light;--font-sans: "Bricolage Grotesque", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-code: ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--text-xs: .8125rem;--text-sm: .875rem;--text-md: 1rem;--text-lg: 1.25rem;--text-xl: 1.5625rem;--text-2xl: clamp(1.9rem, 1.4rem + 2.4vw, 3rem);--text-display: clamp(2.4rem, 1.6rem + 4vw, 4.25rem);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-12: 3rem;--space-16: 4rem;--radius-sm: 6px;--radius: 10px;--radius-lg: 16px;--radius-pill: 999px;--tap: 2.75rem;--content-width: 78rem;--page-width: clamp(var(--content-width), var(--content-width) + (100vw - 90rem) * .75, 100rem);--ease-out: cubic-bezier(.23, 1, .32, 1);--duration-fast: .12s;--duration: .2s;--color-bg: #f3f5f6;--color-surface: #ffffff;--color-surface-hover: #e7ecef;--color-border: #cad4da;--color-control: #7a8d99;--color-text: #13222d;--color-text-muted: #4a5c68;--color-accent: #f4c542;--color-accent-hover: #e8b42a;--color-on-accent: #13222d;--color-accent-text: #865a00;--color-accent-soft: rgb(244 197 66 / 22%);--color-danger: #b3261e;--color-danger-soft: rgb(179 38 30 / 10%);--color-focus: #1f5bc4;--color-overlay: rgb(19 34 45 / 62%);--color-ink: #13222d;--color-on-ink: #ffffff;--color-on-ink-muted: #b5c4ce;--color-square-light: #ffffff;--color-on-square-light: #13222d;--color-on-square-light-muted: #4a5c68;--color-square-dark: #13222d;--color-on-square-dark: #ffffff;--color-on-square-dark-muted: #b5c4ce;--shadow-board: 0 1px 0 rgb(19 34 45 / 8%), 0 18px 40px -24px rgb(19 34 45 / 45%);--board-light: #e3e9ed;--board-dark: #8aa1b1;--board-coord: #13222d;--board-edge: #13222d;--board-last-move: rgb(244 197 66 / 72%);--board-selected: rgb(244 197 66 / 90%);--board-dest: rgb(19 34 45 / 38%);--board-dest-hover: rgb(244 197 66 / 55%);--board-check: 214 40 40;--board-wrong: rgb(179 38 30 / 55%);--board-arrow: #15781b;--pip-progress: rgb(244 197 66 / 45%);--color-promotion-bg: #e3e9ed;--color-promotion-bg-hover: #f4c542;--color-piece-white: #ffffff;--color-piece-black: #111111}@media(prefers-color-scheme:dark){:root{color-scheme:dark;--color-bg: #0e1b23;--color-surface: #162832;--color-surface-hover: #1e3542;--color-border: #2e4856;--color-control: #7d95a3;--color-text: #e8eef1;--color-text-muted: #a7b8c2;--color-accent-hover: #ffd566;--color-accent-text: #f4c542;--color-accent-soft: rgb(244 197 66 / 14%);--color-danger: #ff8b7e;--color-danger-soft: rgb(255 139 126 / 12%);--color-focus: #f4c542;--color-overlay: rgb(5 12 16 / 72%);--color-ink: #0a151c;--color-on-ink-muted: #a7b8c2;--color-square-light: #e8eef1;--color-on-square-light-muted: #44545f;--color-square-dark: #0a151c;--color-on-square-dark-muted: #a7b8c2;--shadow-board: 0 18px 44px -22px rgb(0 0 0 / 70%);--board-light: #cfd8de;--board-dark: #7f97a7;--board-edge: #2e4856;--board-wrong: rgb(255 110 95 / 60%);--board-arrow: #1d9a25;--pip-progress: rgb(244 197 66 / 40%);--color-promotion-bg: #cfd8de}}*,*:before,*:after{box-sizing:border-box}html{scrollbar-gutter:stable}body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-md);font-optical-sizing:auto;line-height:1.5;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.15;text-wrap:balance}h1{font-size:var(--text-2xl);font-weight:800;letter-spacing:-.025em}h2{font-size:var(--text-lg);font-weight:700;letter-spacing:-.01em}a{color:inherit}:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}[hidden]{display:none!important}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-delay:0ms!important;animation-iteration-count:1!important}}.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--tap);padding:var(--space-2) var(--space-4);border:1px solid var(--color-control);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text);font:inherit;font-weight:600;line-height:1.2;cursor:pointer;transition:background-color var(--duration-fast) ease,transform var(--duration-fast) var(--ease-out);text-decoration:none;white-space:nowrap;touch-action:manipulation}.button:hover:not(:disabled,[aria-disabled=true]){background:var(--color-surface-hover)}.button:active:not(:disabled,[aria-disabled=true]){transform:scale(.97)}.button:disabled,.button[aria-disabled=true]{opacity:.45;cursor:not-allowed}.button:disabled:active{transform:none}.button svg{width:1.1rem;height:1.1rem;flex:none}.button.primary{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-on-accent)}.button.primary:hover:not(:disabled){border-color:var(--color-accent-hover);background:var(--color-accent-hover)}.button.danger{border-color:var(--color-danger);background:var(--color-danger);color:#fff}@media(prefers-color-scheme:dark){.button.danger{color:#13222d}}.button.icon{min-width:var(--tap);padding:0 0 .2rem;font-size:2rem;font-weight:500;line-height:1}.button.quiet{border-color:transparent;background:transparent}.text-button{min-height:var(--tap);padding:0 var(--space-1);border:0;background:none;color:inherit;font:inherit;font-weight:600;text-decoration:underline;text-decoration-color:var(--color-accent);text-decoration-thickness:2px;text-underline-offset:3px;cursor:pointer}.back-link{display:inline-flex;align-items:center;gap:var(--space-1);min-height:var(--tap);color:var(--color-text-muted);font-weight:600;text-decoration:none}.back-link:hover{color:var(--color-text)}.select,.textarea{min-height:var(--tap);padding:var(--space-2) var(--space-3);border:1px solid var(--color-control);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text);font:inherit;font-size:1rem}.textarea{width:100%;font:1rem/1.4 ui-monospace,SF Mono,Menlo,monospace;resize:vertical}input[type=checkbox],input[type=radio]{width:1.25rem;height:1.25rem;margin:0;accent-color:var(--color-text);cursor:pointer}.segmented{display:inline-flex;flex-wrap:wrap;gap:2px;padding:2px;border:1px solid var(--color-control);border-radius:var(--radius);justify-self:start;max-width:100%}.segmented label{position:relative;display:inline-flex}.segmented input{position:absolute;inset:0;width:100%;height:100%;opacity:0;margin:0;cursor:pointer}.segmented span{display:inline-flex;align-items:center;gap:var(--space-2);min-height:calc(var(--tap) - 6px);padding:0 var(--space-3);border-radius:calc(var(--radius) - 3px);font-size:var(--text-sm);font-weight:600;white-space:nowrap;transition:background-color var(--duration-fast) ease}.segmented label:hover span{background:var(--color-surface-hover)}.segmented input:checked+span{background:var(--color-accent);color:var(--color-on-accent)}.segmented input:focus-visible+span{outline:3px solid var(--color-focus);outline-offset:1px}.chip{position:relative;overflow:hidden;min-height:var(--tap);padding:var(--space-2) var(--space-3);border:1px solid transparent;border-radius:var(--radius-pill);background:transparent;color:var(--color-text);font:inherit;font-size:var(--text-sm);font-weight:600;white-space:nowrap;cursor:pointer;transition:background-color var(--duration-fast) ease}.chip:hover{background:var(--color-surface-hover)}.chip[aria-pressed=true]{background:var(--color-text);color:var(--color-bg)}.chip[aria-pressed=true]:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--color-accent);transform:scaleX(var(--p, 0));transform-origin:left;transition:transform .36s var(--ease-out)}.tab-cluster{display:flex;align-items:center;gap:var(--space-1);flex:none;scroll-snap-align:start}.tab-cluster+.tab-cluster{padding-left:var(--space-4);border-left:1px solid var(--color-border)}.tab{display:inline-flex;align-items:center;gap:var(--space-2);flex:none;min-height:var(--tap);padding:var(--space-2) var(--space-3);border:1px solid transparent;border-radius:var(--radius-pill);background:transparent;color:var(--color-text);font:inherit;font-size:var(--text-sm);font-weight:600;white-space:nowrap;cursor:pointer;transition:background-color var(--duration-fast) ease,border-color var(--duration-fast) ease}.tab:hover{background:var(--color-surface-hover)}.tab.move{font-weight:800;font-variant-numeric:tabular-nums}.tab[aria-pressed=true]{background:var(--color-text);color:var(--color-bg)}.tab .n{color:var(--color-text-muted);font-weight:700;font-variant-numeric:tabular-nums}.tab[aria-pressed=true] .n{color:inherit;opacity:.75}.switch{display:inline-flex;align-items:center;gap:var(--space-3);min-height:var(--tap);font-weight:700;cursor:pointer}.switch input{appearance:none;position:relative;width:2.75rem;height:1.6rem;margin:0;border-radius:var(--radius-pill);border:1px solid var(--color-control);background:var(--color-surface-hover);cursor:pointer;transition:background-color var(--duration) ease}.switch input:after{content:"";position:absolute;top:2px;left:2px;width:calc(1.6rem - 6px);height:calc(1.6rem - 6px);border-radius:50%;background:var(--color-control);transition:transform var(--duration) var(--ease-out),background-color var(--duration) ease}.switch input:checked{background:var(--color-accent);border-color:var(--color-accent)}.switch input:checked:after{transform:translate(1.15rem);background:var(--color-on-accent)}.king{width:1.35rem;height:1.35rem;display:inline-block;flex:none;vertical-align:-.3em;background-repeat:no-repeat;background-size:cover}.notice{display:grid;justify-items:start;gap:var(--space-3);max-width:36rem;padding:var(--space-5);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text-muted)}.notice p:first-child{color:var(--color-text);font-weight:700}dialog{width:min(28rem,calc(100vw - 2rem));padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);color:var(--color-text)}dialog::backdrop{background:var(--color-overlay)}dialog h2{margin-bottom:var(--space-2)}dialog .dialog-actions{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-5)}.toast{position:fixed;left:50%;bottom:var(--space-5);z-index:50;max-width:calc(100vw - 2rem);padding:var(--space-3) var(--space-4);border-radius:var(--radius);background:var(--color-ink);color:var(--color-on-ink);font-size:var(--text-sm);font-weight:600;box-shadow:0 10px 30px -10px #0000007f;transform:translate(-50%,1rem);opacity:0;pointer-events:none;transition:opacity var(--duration) ease,transform var(--duration) var(--ease-out)}.toast.show{opacity:1;transform:translate(-50%)}.catalog .filters{display:grid;gap:var(--space-4);margin-top:var(--space-8);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);min-width:0}.catalog .filter-group{display:grid;gap:var(--space-2);min-width:0;border:0;margin:0;padding:0}.catalog .filter-label{font-size:var(--text-sm);font-weight:700;color:var(--color-text-muted);padding:0}.catalog .family-tabs{display:flex;gap:var(--space-4);overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;padding:0 0 var(--space-2);margin:0;list-style:none;scroll-snap-type:x proximity}.catalog .filter-row{display:grid;gap:var(--space-4)}.catalog .filter-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2)}.catalog .result-count{font-weight:700}.catalog .filters-toggle{margin-top:var(--space-6)}.catalog .filters-toggle .count-badge{display:inline-grid;place-items:center;min-width:1.4rem;height:1.4rem;padding:0 .3rem;border-radius:var(--radius-pill);background:var(--color-accent);color:var(--color-on-accent);font-size:var(--text-xs);font-weight:800}.catalog .filters-toggle svg{transition:transform var(--duration) var(--ease-out)}.catalog .filters-toggle[aria-expanded=true] svg{transform:rotate(180deg)}@media(min-width:48rem){.catalog .filter-row{grid-template-columns:auto auto;justify-content:start;column-gap:var(--space-8)}.catalog .filters-toggle{display:none}}.catalog .family,.catalog .group{display:grid;gap:var(--space-3);min-width:0}.catalog .family-head,.catalog .group-head{display:flex;align-items:baseline;gap:var(--space-3);flex-wrap:wrap}.catalog .family-head .count,.catalog .group-head .count{color:var(--color-text-muted);font-size:var(--text-sm);font-weight:600}.catalog .shelf{display:grid;grid-auto-flow:column;grid-auto-columns:var(--shelf-col, min(84%, 20rem));gap:var(--space-3);overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:0;margin:0;padding:0 0 var(--space-3);list-style:none;min-width:0}.catalog .shelf>li{scroll-snap-align:start;min-width:0}.catalog .shelf.single{grid-auto-flow:row;grid-auto-columns:auto;overflow:visible}@media(min-width:45rem){.catalog .shelf,.catalog .shelf.single{grid-auto-flow:row;grid-auto-columns:auto;grid-template-columns:repeat(auto-fill,minmax(var(--shelf-min, 17.5rem),1fr));gap:var(--space-5);overflow:visible;scroll-snap-type:none;padding-bottom:0}}@media(min-width:90.0625rem){.catalog .shelf,.catalog .shelf.single{grid-template-columns:repeat(auto-fill,minmax(var(--shelf-min, 17.5rem),var(--shelf-max, 18rem)))}.catalog .family,.catalog .group{flex:0 1 calc(var(--n, 99) * var(--shelf-max, 18rem) + (var(--n, 99) - 1) * var(--space-5))}}.catalog .card{display:grid;align-content:start;gap:var(--space-3);height:100%;padding:var(--space-3) var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);transition:border-color var(--duration-fast) ease}.catalog .card:hover,.catalog .card:focus-within{border-color:var(--color-text)}.catalog .card-body{display:grid;gap:var(--space-2);padding:0 var(--space-1)}.catalog .card-title{font-size:var(--text-lg);font-weight:800;letter-spacing:-.015em;line-height:1.2}.catalog .card-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1) var(--space-3);color:var(--color-text-muted);font-size:var(--text-sm);font-weight:600}.catalog .card-meta>span{display:inline-flex;align-items:center;gap:var(--space-1)}.catalog .card-desc{color:var(--color-text-muted);font-size:var(--text-sm);line-height:1.45}.catalog .eco{color:var(--color-text-muted);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.catalog .actions{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2);margin-top:var(--space-1)}.catalog .card-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:0 var(--space-1)}.catalog .board-wrap{position:relative}.catalog .replay{position:absolute;right:var(--space-2);bottom:var(--space-2);display:inline-grid;place-items:center;width:var(--tap);height:var(--tap);border:0;border-radius:50%;background:var(--color-ink);color:var(--color-accent);box-shadow:0 4px 14px -4px #13222d99;cursor:pointer;transition:transform var(--duration-fast) var(--ease-out),background-color var(--duration-fast) ease}.catalog .replay:active{transform:scale(.94)}.catalog .replay svg{width:1.1rem;height:1.1rem}@media(hover:hover)and (pointer:fine){.catalog .replay{opacity:0;transform:scale(.9);transition:opacity var(--duration) ease,transform var(--duration) var(--ease-out)}.catalog .card:hover .replay,.catalog .card:focus-within .replay,.catalog .replay[aria-pressed=true]{opacity:1;transform:none}}.catalog .moves{display:flex;flex-wrap:wrap;gap:0 .4em;min-height:1.5em;padding:0 var(--space-1);font-size:var(--text-sm);font-weight:600;font-variant-numeric:tabular-nums;color:var(--color-text-muted)}.catalog .moves .mv{transition:color var(--duration-fast) ease}.catalog .moves .num{color:var(--color-text-muted);font-weight:500}.catalog .moves .mv.now{color:var(--color-text);box-shadow:inset 0 -3px 0 var(--color-accent)}.catalog .moves .mv.future{opacity:.45}.catalog .progress{display:grid;gap:var(--space-1);padding:var(--space-2) var(--space-1) 0;border-top:1px solid var(--color-border)}.catalog .progress-row{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:var(--space-2);font-size:var(--text-sm)}.catalog .progress-row .who{display:inline-flex;align-items:center;gap:var(--space-1);font-weight:700}.catalog .progress-row .king{width:1.2rem;height:1.2rem}.catalog .progress-row .what{color:var(--color-text-muted);justify-self:end;text-align:right}.catalog .pips{grid-column:1 / -1;display:flex;gap:3px}.catalog .pip{flex:1;height:.5rem;max-width:2.5rem;border-radius:2px;border:1.5px solid var(--color-control);background:transparent}.catalog .pip.p{background:var(--pip-progress);border-color:var(--color-accent-text)}.catalog .pip.m{background:var(--color-accent);border-color:var(--color-accent)}.catalog .progress-none{color:var(--color-text-muted);font-size:var(--text-sm);padding:var(--space-2) var(--space-1) 0;border-top:1px solid var(--color-border)}.catalog .progress-done{color:var(--color-accent-text);font-weight:700}.catalog .privacy{display:grid;gap:var(--space-2);justify-items:start;margin-top:var(--space-12);padding-top:var(--space-5);border-top:1px solid var(--color-border);max-width:44rem;color:var(--color-text-muted);font-size:var(--text-sm)}.catalog .privacy .actions-inline{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4)}.catalog .status-msg{min-height:1.5em;font-weight:600;color:var(--color-text)}@media(min-width:90.0625rem){.catalog .intro:has(dl){max-width:none;grid-template-columns:minmax(0,40rem) minmax(0,40rem);justify-content:space-between;align-content:start}.catalog .intro:has(dl)>dl{grid-column:2;grid-row:1 / span 2;align-self:start}}.button-row{display:flex;flex-wrap:wrap;gap:var(--space-2)}.button-row .button{flex:1 1 auto}.state-message{display:grid;justify-items:start;gap:var(--space-3);max-width:36rem;padding:var(--space-4) var(--space-5);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text-muted)}.state-message[role=alert]{border-left:4px solid var(--color-danger);color:var(--color-text)}.surface{display:grid;gap:var(--space-2);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}.muted{color:var(--color-text-muted)}.small{font-size:var(--text-sm)}.tag{display:inline-flex;align-items:center;padding:.125rem var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-pill);color:var(--color-text-muted);font-size:var(--text-xs);font-weight:600}:root{--header-h: calc(2 * var(--tap) + var(--space-3) + var(--space-2) + 1px);--play-panel-min: 21rem;--play-panel-max: 32rem}@media(min-width:48rem){:root{--header-h: calc(4rem + 1px) }}.main--play>:not(router-outlet){display:flex;flex-direction:column;min-height:0}.play-stage{--board-extra-v: 0px;--board-extra-h: 0px;--play-gap: var(--space-4);--board: round( down, min( 100cqi - var(--board-extra-h), 100dvh - var(--header-h) - var(--space-8) - var(--board-extra-v) ), 8px );container-type:inline-size;display:grid;grid-template-columns:minmax(0,1fr);gap:var(--play-gap);min-width:0}.play-board{display:grid;align-content:start;gap:var(--space-2);width:calc(var(--board) + var(--board-extra-h));min-width:0;justify-self:center}.play-panel{display:contents}.play-lead{order:-1}.play-panel>*,.play-board{min-width:0}@media(max-width:29.99rem){.play-stage{margin-inline:calc(var(--space-2) - var(--space-4))}.play-panel>*,.play-stage>:not(.play-board,.play-panel){margin-inline:calc(var(--space-4) - var(--space-2))}}@media(min-width:60rem)and (orientation:landscape){.main--play>:not(router-outlet){flex:1 1 0}.play-stage{--play-gap: var(--space-6);--board: round( down, min( 100cqh - var(--board-extra-v), 100cqw - var(--play-panel-min) - var(--play-gap) - var(--board-extra-h) ), 8px );flex:1 1 0;container-type:size;grid-template-columns:auto minmax(var(--play-panel-min),var(--play-panel-max));justify-content:center;align-content:start;min-height:0}.play-board{grid-column:1;grid-row:1}.play-panel{grid-column:2;grid-row:1;display:grid;align-content:start;gap:var(--space-4);height:calc(var(--board) + var(--board-extra-v));overflow-y:auto;overscroll-behavior:contain;padding:3px var(--space-2) var(--space-4) 3px;scrollbar-width:thin}.play-lead{order:0}}cg-board{background-color:var(--board-light);background-image:repeating-conic-gradient(var(--board-dark) 0 25%,var(--board-light) 0 50%);background-size:25% 25%}.cg-wrap{border-radius:var(--radius-sm);box-shadow:0 0 0 1px var(--board-edge),var(--shadow-board);transition:box-shadow var(--duration) ease}cg-board{border-radius:var(--radius-sm)}app-board.ring-accent .cg-wrap{box-shadow:0 0 0 1px var(--board-edge),0 0 0 4px var(--color-accent),var(--shadow-board)}app-board.ring-danger .cg-wrap{box-shadow:0 0 0 1px var(--board-edge),0 0 0 4px var(--color-danger),var(--shadow-board)}cg-board square.last-move{background-color:var(--board-last-move)}cg-board square.selected{background-color:var(--board-selected)}cg-board square.move-dest{background:radial-gradient(var(--board-dest) 21%,transparent 23%)}cg-board square.oc.move-dest{background:radial-gradient(transparent 78%,var(--board-dest) 80%)}cg-board square.move-dest:hover,cg-board square.move-dest.hover{background:var(--board-dest-hover)}cg-board square.check{background:radial-gradient(ellipse at center,rgb(var(--board-check) / 100%),rgb(var(--board-check) / 85%) 30%,rgb(var(--board-check) / 0%) 85%)}.cg-wrap coords{font-family:var(--font-sans);font-size:clamp(.55rem,1.6vw,.72rem);font-weight:700;line-height:1;opacity:1}.cg-wrap coords coord.coord-light{color:var(--board-dark)}.cg-wrap coords coord.coord-dark{color:var(--board-light)}.cg-wrap coords.ranks,.cg-wrap coords.ranks.left{top:0;left:0;right:auto;width:12.5%;height:100%;align-items:flex-start}.cg-wrap coords.ranks coord{padding:3px 0 0 3px;transform:none}.cg-wrap coords.files{top:auto;bottom:0;left:0;width:100%;height:auto;align-items:flex-end;text-align:right;text-transform:none}.cg-wrap coords.files coord{padding:0 4px 3px 0}cg-board square.mark-wrong{background:var(--board-wrong)}cg-board square.mark-help{box-shadow:inset 0 0 0 4px var(--board-arrow);border-radius:2px}cg-board square.mark-hint{box-shadow:inset 0 0 0 4px var(--color-accent);background:#f4c5424d}@media(prefers-reduced-motion:no-preference){cg-board square.mark-hint{animation:mark-ping .9s ease-in-out 2}@keyframes mark-ping{50%{box-shadow:inset 0 0 0 7px var(--color-accent)}}}.cg-wrap svg.cg-shapes{opacity:1}.cg-wrap svg.cg-shapes line[stroke="#15781b"]{stroke:var(--board-arrow)}.cg-wrap svg.cg-shapes marker path[fill="#15781b"]{fill:var(--board-arrow)}
