.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=)}:root{--bg:#f5f6f8;--bg-elev:#fff;--bg-sunk:#eceef2;--bg-hover:#e5e8ee;--text:#15171c;--text-dim:#474c57;--text-faint:#5d6370;--border:#dde1e8;--accent:#2f5bd3;--accent-strong:#2449b0;--accent-soft:#e4eafb;--accent-text:#fff;--gold:#d29a2a;--gold-text:#8a5d00;--gold-soft:#fbf1dc;--side:#16181d;--side-ink:#d9dce3;--side-dim:#9aa1ad;--side-hover:#22252c;--side-on:#2c3240;--side-line:#343944;--side-strong:#fff;--side-accent:#6e8ef0;--side-accent-ink:#0b1020;--side-edge:transparent;--goal-bg:#16181d;--danger:#b6403a;--danger-soft:#f6dedb;--warn:#c98a12;--good:#4f8a3b;--shadow:0 1px 2px #0f14230f, 0 4px 16px #0f14230f;--radius:12px;--radius-sm:8px;--font:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--sq-light:#eeeed2;--sq-dark:#769656;--sq-last:#ffd64073;--sq-selected:#ffd64099;--sq-dot:#141e1438;--coord-light:#eeeed2;--coord-dark:#769656;--eval-white:#f5f5f0;--eval-black:#3a3a38;--cls-book:#8d5a13;--cls-brilliant:#25a1a6;--cls-great:#2262e2;--cls-best:#487b0c;--cls-good:#37c593;--cls-inaccuracy:#e2aa04;--cls-mistake:#ce5a04;--cls-miss:#a005a7;--cls-blunder:#b71d1e;--cls-book-ink:#fff;--cls-brilliant-ink:#111411;--cls-great-ink:#fff;--cls-best-ink:#fff;--cls-good-ink:#111411;--cls-inaccuracy-ink:#111411;--cls-mistake-ink:#111411;--cls-miss-ink:#fff;--cls-blunder-ink:#fff;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-board=wood]{--sq-light:#ecd7b2;--sq-dark:#b2814f;--coord-light:#ecd7b2;--coord-dark:#b2814f}:root[data-board=blue]{--sq-light:#dee3e6;--sq-dark:#8ca2ad;--coord-light:#dee3e6;--coord-dark:#788f9a}:root[data-board=slate]{--sq-light:#c9ccd1;--sq-dark:#6b7280;--coord-light:#c9ccd1;--coord-dark:#6b7280}:root[data-board=contrast]{--sq-light:#f2f2ee;--sq-dark:#4d6a8f;--coord-light:#f2f2ee;--coord-dark:#4d6a8f;--sq-last:#ff8c0080;--sq-selected:#ff8c00b3;--sq-dot:#0a142861}:root[data-theme=dark]{--bg:#0f1115;--bg-elev:#171a20;--bg-sunk:#0c0e11;--bg-hover:#20242c;--text:#e9ebf0;--text-dim:#b6bbc6;--text-faint:#9097a4;--gold:#e3ad4b;--gold-text:#e3ad4b;--gold-soft:#33280f;--side:#0b0c0f;--side-hover:#171a20;--side-on:#222838;--side-line:#2a2e37;--side-edge:#22262e;--goal-bg:#1f2430;--cls-book:#865908;--cls-brilliant:#009db7;--cls-great:#1660c1;--cls-best:#3a7705;--cls-good:#16a97b;--cls-inaccuracy:#b38c04;--cls-mistake:#b84d02;--cls-miss:#be3c9e;--cls-blunder:#b90525;--cls-mistake-ink:#fff;--border:#2a2e37;--accent:#7b9cf5;--accent-strong:#a3baf9;--accent-soft:#1c2540;--accent-text:#0b1020;--danger:#e0716a;--danger-soft:#3a2220;--warn:#e3ac3d;--good:#79b862;--shadow:0 1px 2px #0000004d, 0 6px 20px #00000040;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;accent-color:var(--accent);margin:0;font-size:15px;line-height:1.45}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--accent)}h1,h2,h3,h4{margin:0;line-height:1.2}h1{font-size:1.5rem;font-weight:700}h2{font-size:1.15rem;font-weight:650}h3{font-size:1rem;font-weight:650}.shell{grid-template-columns:220px 1fr;min-height:100%;display:grid}.main{min-width:0;padding:24px 28px 40px}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.page-head p{color:var(--text-dim);margin:4px 0 0}.board-layout{grid-template-columns:minmax(0,auto) minmax(300px,400px);justify-content:center;align-items:start;gap:22px;display:grid}.board-col{gap:10px;min-width:0;display:flex}.board-stack{flex-direction:column;gap:8px;width:min(100vh - 150px,100vw - 732px,760px);min-width:280px;display:flex}.board-wrap{aspect-ratio:1;width:100%;position:relative}.side-panel{flex-direction:column;gap:14px;min-width:0;display:flex}@media (width>=1101px){.board-layout.fit{align-items:stretch}.board-layout.fit>.side-panel{contain:size;overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-width:thin;min-height:460px;margin:-2px -6px 0 -2px;padding:2px 6px 0 2px;overflow-y:auto}.board-layout.fit .pane-nav{z-index:2;background:var(--bg);box-shadow:0 -10px 12px -6px var(--bg);margin-top:auto;padding:10px 0 2px;position:sticky;bottom:0}}.pane-nav{padding-bottom:2px}.cg-wrap svg.cg-custom-svgs svg{overflow:visible}.cg-wrap{width:100%;height:100%;box-shadow:var(--shadow);border-radius:4px;overflow:hidden}cg-board{background-color:var(--sq-light);background-image:repeating-conic-gradient(var(--sq-dark) 0 25%, var(--sq-light) 0 50%);background-size:25% 25%}cg-board square.last-move{background-color:var(--sq-last)}cg-board square.selected{background-color:var(--sq-selected)}cg-board square.move-dest{background:radial-gradient(var(--sq-dot) 19%, transparent 20%)}cg-board square.move-dest:hover{background:#141e141f}cg-board square.oc.move-dest{background:radial-gradient(transparent 0%, transparent 79%, var(--sq-dot) 80%)}cg-board square.premove-dest{background:radial-gradient(#28468c59 19%,#0000 20%)}cg-board square.current-premove{background-color:#28468c59}cg-board square.check{background:radial-gradient(red 0%,#e70000 25%,#a9000000 89%,#9e000000 100%)}cg-board square.hint-from,cg-board square.hint-to{box-shadow:inset 0 0 0 4px #2f6f5ed9}cg-board square.wrong{background-color:#c9323073}cg-board square.right{background-color:#4fa05a80}.cg-wrap coords{font-family:var(--font);opacity:1;font-size:clamp(8px,1.4vw,12px);font-weight:700}.cg-wrap coords.ranks{height:100%;top:2px;left:2px}.cg-wrap coords.ranks coord{padding-top:2px;transform:none}.cg-wrap coords.files{text-transform:lowercase;text-align:right;height:auto;bottom:2px;left:0}.cg-wrap coords.files coord{padding-right:4px}.cg-wrap coords coord:nth-child(odd){color:var(--coord-light)}.cg-wrap coords coord:nth-child(2n),.cg-wrap coords.black coord:nth-child(odd){color:var(--coord-dark)}.cg-wrap coords.black coord:nth-child(2n){color:var(--coord-light)}.promo-overlay{z-index:20;background:#00000059;position:absolute;inset:0}.promo-col{background:var(--bg-elev);border-radius:6px;flex-direction:column;width:12.5%;display:flex;position:absolute;overflow:hidden;box-shadow:0 6px 24px #00000059}.promo-col button{aspect-ratio:1;cursor:pointer;background:0 0;border:0;padding:6%}.promo-col button:hover{background:var(--accent-soft)}.promo-col .piece-img{background-size:cover;width:100%;height:100%}.eval-bar{background:var(--eval-black);width:22px;box-shadow:var(--shadow), inset 0 0 0 1px #00000026;border:1px solid var(--border);border-radius:4px;flex:none;position:relative;overflow:hidden}.eval-bar .fill{background:var(--eval-white);transition:height .35s;position:absolute;bottom:0;left:0;right:0}.eval-bar.flipped .fill{top:0;bottom:auto}.eval-bar .label{text-align:center;z-index:1;font-size:10px;font-weight:700;font-family:var(--mono);letter-spacing:-.06em;white-space:nowrap;font-size:9px;position:absolute;left:0;right:0;overflow:hidden}.eval-bar .label.bottom{color:#333;bottom:3px}.eval-bar .label.top{color:#eee;top:3px}.player{align-items:center;gap:10px;min-height:40px;display:flex}.avatar{color:#fff;border-radius:8px;flex:none;place-items:center;width:36px;height:36px;font-weight:800;display:grid}.avatar.lg{border-radius:12px;width:52px;height:52px;font-size:1.4rem}.player-name{font-weight:650}.player-sub{color:var(--text-dim);align-items:center;gap:4px;min-height:1.2em;font-size:.82rem;display:flex}.captured{align-items:center;display:inline-flex}.captured .cp{background-size:cover;width:18px;height:18px;margin-right:-6px}.captured .adv{color:var(--text-dim);margin-left:10px;font-size:.78rem}.clock{font-family:var(--mono);border-radius:var(--radius-sm);background:var(--bg-sunk);color:var(--text-dim);text-align:right;font-variant-numeric:tabular-nums;min-width:96px;margin-left:auto;padding:4px 12px;font-size:1.35rem;font-weight:650}.clock.running{background:var(--text);color:var(--bg)}.clock.low{background:var(--danger);color:#fff}.card{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px}.card.flush{padding:0;overflow:hidden}.card-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.muted{color:var(--text-dim)}.faint{color:var(--text-faint)}.small{font-size:.85rem}.btn{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-elev);cursor:pointer;color:var(--text);white-space:nowrap;justify-content:center;align-items:center;gap:8px;padding:9px 16px;font-weight:600;text-decoration:none;transition:background .12s,border-color .12s,transform 50ms;display:inline-flex}.btn:hover:not(:disabled){background:var(--bg-hover)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.btn.primary:hover:not(:disabled){background:var(--accent-strong)}.btn.danger{color:var(--danger)}.btn.ghost{background:0 0;border-color:#0000}.btn.ghost:hover:not(:disabled){background:var(--bg-hover)}.btn.sm{padding:5px 10px;font-size:.85rem}.btn.lg{padding:12px 22px;font-size:1.05rem}.btn.icon{padding:8px}.btn svg{width:18px;height:18px}.btn-row{flex-wrap:wrap;gap:8px;display:flex}.btn-row.fill>.btn{flex:1}.seg{background:var(--bg-sunk);border-radius:var(--radius-sm);flex-wrap:wrap;gap:2px;padding:3px;display:inline-flex}.seg button{cursor:pointer;color:var(--text-dim);background:0 0;border:0;border-radius:6px;padding:6px 12px;font-weight:600}.seg button.on{background:var(--bg-elev);color:var(--text);box-shadow:0 1px 2px #0000001f}.chip{background:var(--bg-sunk);color:var(--text-dim);cursor:default;white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:.8rem;font-weight:600;display:inline-flex}button.chip{cursor:pointer}button.chip:hover{border-color:var(--border)}.chip.on{background:var(--accent-soft);color:var(--accent-strong)}.toggle{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:12px;display:flex}.toggle input{appearance:none;background:var(--border);cursor:pointer;border-radius:999px;flex:none;width:38px;height:22px;transition:background .15s;position:relative}.toggle input:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .15s;position:absolute;top:3px;left:3px}.toggle input:checked{background:var(--accent)}.toggle input:checked:after{transform:translate(16px)}.field{flex-direction:column;gap:6px;display:flex}.field label{color:var(--text-dim);font-size:.85rem;font-weight:600}.input,textarea.input,select.input{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-elev);width:100%;padding:9px 12px}textarea.input{font-family:var(--mono);resize:vertical;font-size:.85rem}.input:focus,.btn:focus-visible,.seg button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.grid{gap:14px;display:grid}.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.auto{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.stack{flex-direction:column;gap:10px;display:flex}.row{align-items:center;gap:10px;display:flex}.row.wrap{flex-wrap:wrap}.spacer{flex:1}.divider{background:var(--border);height:1px;margin:4px 0}.bot-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;display:grid}.bot-tile{border-radius:var(--radius-sm);background:var(--bg-sunk);cursor:pointer;text-align:left;border:2px solid #0000;align-items:center;gap:10px;padding:8px;display:flex}.bot-tile:hover{border-color:var(--border)}.bot-tile.on{border-color:var(--accent);background:var(--accent-soft)}.bot-tile .elo{color:var(--text-dim);font-size:.78rem}.moves{grid-template-columns:42px 1fr 1fr;align-content:start;max-height:320px;font-size:.92rem;display:grid;position:relative;overflow-y:auto}.moves .no{color:var(--text-faint);background:var(--bg-sunk);text-align:right;font-variant-numeric:tabular-nums;padding:4px 8px}.moves .mv{cursor:pointer;border-radius:4px;align-items:center;gap:6px;min-height:28px;padding:4px 8px;font-weight:550;display:flex}.moves .mv:hover{background:var(--bg-hover)}.moves .mv.cur{background:var(--accent-soft);color:var(--accent-strong)}.moves .mv.empty{cursor:default}.cls-dot{color:#fff;border-radius:50%;flex:none;place-items:center;width:18px;height:18px;font-size:10px;font-weight:800;display:inline-grid;box-shadow:0 0 0 1px #0000002e}.nav-bar{justify-content:center;gap:6px;display:flex}.nav-bar .btn{flex:1}.banner{border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--accent-strong);padding:12px 14px;font-weight:600}.banner.warn{color:#7a5506;background:#fbefd3}.banner.err{background:var(--danger-soft);color:var(--danger)}:root[data-theme=dark] .banner.warn{color:#f0c66b;background:#3a2f17}.modal-back{z-index:50;background:#00000073;place-items:center;padding:16px;animation:.15s fade;display:grid;position:fixed;inset:0}.modal{background:var(--bg-elev);border-radius:16px;width:min(420px,100%);padding:24px;animation:.18s pop;box-shadow:0 20px 60px #00000059}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{opacity:0;transform:scale(.96)}}.progress{background:var(--bg-sunk);border-radius:999px;height:8px;overflow:hidden}.progress>div{background:var(--accent);height:100%;transition:width .2s}.stat{flex-direction:column;gap:2px;display:flex}.stat .v{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:1.6rem;font-weight:750}.stat .k{color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;font-size:.8rem;font-weight:600}.engine-lines{flex-direction:column;gap:4px;font-size:.86rem;display:flex}.engine-line{align-items:baseline;gap:8px;display:flex}.engine-line .sc{font-family:var(--mono);background:var(--bg-sunk);text-align:center;border-radius:4px;flex:none;min-width:52px;padding:1px 6px;font-weight:700}.engine-line .sc.pos{color:#222;background:#f1f1ec}.engine-line .sc.neg{color:#eee;background:#3a3a38}.engine-line .pv{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.list-item{border-bottom:1px solid var(--border);cursor:pointer;color:inherit;align-items:center;gap:12px;padding:10px 14px;text-decoration:none;display:flex}.list-item:last-child{border-bottom:0}.list-item:hover{background:var(--bg-hover)}.result-pill{background:var(--bg-sunk);font-variant-numeric:tabular-nums;border-radius:6px;padding:2px 8px;font-size:.8rem;font-weight:700}.result-pill.win{color:#2f6b1f;background:#dcefd5}.result-pill.loss{background:var(--danger-soft);color:var(--danger)}:root[data-theme=dark] .result-pill.win{color:#8fd17a;background:#23361d}.empty-state{text-align:center;color:var(--text-dim);padding:36px 16px}.tag-flash{animation:.6s flash}@keyframes flash{0%{opacity:0;transform:scale(.9)}60%{transform:scale(1.04)}}@media (width<=1100px){.board-layout{grid-template-columns:minmax(0,1fr)}.board-stack{width:min(100vw - 326px,100vh - 140px,640px)}.board-col{justify-content:center}}@media (width<=760px){.shell{grid-template-rows:auto 1fr;grid-template-columns:1fr;align-content:start}.main{padding:14px 12px 32px}.board-stack{width:calc(100vw - 54px);min-width:0}.eval-bar{width:16px}.grid.cols-2,.grid.cols-3{grid-template-columns:1fr}.clock{min-width:80px;font-size:1.1rem}}.cg-wrap.piece-icon{box-shadow:none;vertical-align:middle;border-radius:0;flex:none;display:inline-block;position:relative;overflow:visible}.cg-wrap.piece-icon piece{width:100%;height:100%;position:absolute;inset:0}.promo-col.cg-wrap{border-radius:6px;height:auto}.banner svg,.chip svg{flex:none;width:18px;height:18px}.banner.row{gap:8px}.chart-tip{background:var(--bg-elev);border:1px solid var(--border);box-shadow:var(--shadow);pointer-events:none;white-space:nowrap;color:var(--text);border-radius:8px;flex-direction:column;padding:4px 10px;font-size:.8rem;display:flex;position:absolute;transform:translate(-50%)}.chart-tip span{color:var(--text-dim)}.bar-list{grid-template-columns:minmax(110px,160px) 1fr 44px auto;align-items:center;gap:8px 10px;display:grid}.bar-row{display:contents}.bar-label{text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;overflow:hidden}.bar-track{background:var(--bg-sunk);border-radius:4px;height:10px;overflow:hidden}.bar-fill{background:var(--accent);border-radius:0 4px 4px 0;height:100%;display:block}.bar-value{text-align:right;font-variant-numeric:tabular-nums;font-size:.85rem;font-weight:700}.home-card{color:inherit;align-items:flex-start;gap:14px;text-decoration:none;transition:transform .1s,border-color .1s;display:flex}.home-card:hover{border-color:var(--accent);transform:translateY(-1px)}.home-card.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.home-card.primary .muted{color:inherit;opacity:.85}.home-icon{background:var(--accent-soft);width:40px;height:40px;color:var(--accent-strong);border-radius:10px;flex:none;place-items:center;display:grid}.home-card.primary .home-icon{color:inherit;background:#ffffff2e}.home-icon svg{width:22px;height:22px}.board-swatch{cursor:pointer;background:0 0;border:2px solid #0000;border-radius:10px;flex-direction:column;align-items:center;gap:4px;padding:4px;font-size:.8rem;font-weight:600;display:inline-flex}.board-swatch span{border-radius:6px;width:48px;height:48px}.board-swatch.on{border-color:var(--accent)}.table{border-collapse:collapse;width:100%;font-size:.9rem}.table th,.table td{text-align:left;border-bottom:1px solid var(--border);padding:8px 16px}.table th{color:var(--text-dim);font-size:.8rem;font-weight:600}.table tr:last-child td{border-bottom:0}.split{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:start;gap:14px;display:grid}@media (width<=900px){.split{grid-template-columns:minmax(0,1fr)}}@media (width<=760px){.chip-row{scrollbar-width:none;flex-wrap:nowrap;padding-bottom:2px;overflow-x:auto}}.table.compact th,.table.compact td{padding:4px 8px}.legend-key{align-items:center;gap:4px;display:inline-flex}.legend-key i{border:1px solid var(--border);border-radius:2px;width:10px;height:10px;display:inline-block}@media (width<=760px){.eval-bar .label{letter-spacing:-.08em;font-size:7.5px}}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.board-wrap:focus-visible{outline-offset:4px;border-radius:4px}cg-board square.kbd-cursor{box-shadow:inset 0 0 0 4px var(--accent-strong), inset 0 0 0 7px #ffffffd9}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (pointer:coarse){.btn,.btn.sm,.seg button,.nav-link,.chip,select.input,input.input,.moves .mv,.tm,.nag-btn{min-height:44px}.btn.sm,.nav-btn,.tm{min-width:44px}.toggle input[type=checkbox]{min-width:44px;min-height:28px}}.game-rating-head{background:var(--accent-soft);border-radius:10px;grid-template-columns:auto 1fr;align-items:baseline;gap:0 12px;padding:10px 12px;display:grid}.game-rating-head .k{text-transform:uppercase;letter-spacing:.04em;color:var(--accent-strong);grid-column:1/-1;font-size:.8rem;font-weight:700}.game-rating-head .v{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:1.8rem;font-weight:800}.game-rating-head .delta{font-size:.85rem;font-weight:600}.game-rating-head .delta.up{color:var(--text)}.game-rating-head .delta.down{color:var(--text-dim)}.table.players{table-layout:fixed}.table.players th:first-child{width:34%}.table.players thead th{vertical-align:bottom}.table.players thead th>span{display:block}.player-name{text-overflow:ellipsis;white-space:nowrap;color:var(--text);font-weight:700;overflow:hidden}.table.players td{font-variant-numeric:tabular-nums;font-size:1.15rem;font-weight:750}.table.players .you{background:var(--accent-soft)}.kbd-entry{flex-direction:column;gap:6px;display:flex}.kbd-input{font-family:var(--mono)}.kbd-suggest{flex-wrap:wrap;gap:6px;display:flex}.kbd-suggest .chip{cursor:pointer;border:1px solid var(--border);min-height:32px}.kbd-error{color:var(--danger)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.mode-card{text-align:left;cursor:pointer;border-width:2px;flex-direction:column;gap:6px;display:flex}.mode-card.on{border-color:var(--accent);background:var(--accent-soft)}.mode-best{color:var(--text-dim);margin-top:auto;font-size:.85rem}.run-clock{font-family:var(--mono);text-align:center;font-variant-numeric:tabular-nums;border-radius:var(--radius-sm);background:var(--bg-sunk);padding:6px 0;font-size:2.4rem;font-weight:700}.run-clock.low{background:var(--danger);color:#fff}.strikes{gap:4px;padding-top:6px;display:inline-flex}.strikes span{background:var(--bg-sunk);width:24px;height:24px;color:var(--text-faint);border-radius:6px;place-items:center;display:grid}.strikes span.used{background:var(--danger);color:#fff}.strikes svg{width:16px;height:16px}.run-board{border-radius:6px;transition:box-shadow .15s}.run-board.ok{box-shadow:0 0 0 4px var(--good)}.run-board.bad{box-shadow:0 0 0 4px var(--danger)}.run-score{font-variant-numeric:tabular-nums;font-size:4rem;font-weight:800;line-height:1}.run-results{flex-wrap:wrap;gap:6px;display:flex}.run-chip{font-variant-numeric:tabular-nums;border-radius:6px;align-items:center;gap:4px;padding:3px 8px;font-size:.8rem;font-weight:700;text-decoration:none;display:inline-flex}.run-chip svg{width:14px;height:14px}.run-chip.ok{color:#2f6b1f;background:#dcefd5}.run-chip.bad{background:var(--danger-soft);color:var(--danger)}:root[data-theme=dark] .run-chip.ok{color:#8fd17a;background:#23361d}.daily-streak{align-items:center;gap:6px;font-weight:700;display:inline-flex}.daily-streak svg{color:#e0702a;width:20px;height:20px}.ach-h{margin:0;font-size:1.05rem}.ach-top{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:stretch;gap:18px;display:grid}.level-card{background:var(--goal-bg);color:var(--side-strong);border-radius:var(--radius);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:18px;padding:18px 20px;display:grid}.level-card .eyebrow{color:var(--gold)}.level-text{gap:6px;min-width:0;display:grid}.level-title{font-size:1.35rem;font-weight:750;line-height:1.15}.level-note{color:var(--side-dim);font-size:.85rem}.level-note .mono{font-family:var(--mono);color:var(--side-ink)}.level-ring{width:92px;height:92px}.level-ring circle{fill:none;stroke-width:6px}.ring-track{stroke:var(--side-line)}.ring-fill{stroke:var(--gold);stroke-linecap:round;transition:stroke-dashoffset .6s}.level-ring text{fill:var(--side-strong);font-size:22px;font-weight:800;font-family:var(--font)}.level-card.compact{grid-template-columns:auto minmax(0,1fr) auto;gap:14px;padding:12px 16px}.level-card.compact .level-ring{width:56px;height:56px}.level-card.compact .level-title{font-size:1.05rem}a.level-card{text-decoration:none;transition:background .15s}a.level-card:hover{background:var(--side-hover)}.level-go{color:var(--side-dim);display:grid}.level-go svg{width:20px;height:20px}.level-recent{border-top:1px solid var(--side-line);gap:8px;margin-top:10px;padding-top:12px;display:grid}.level-recent ul{flex-wrap:wrap;gap:8px 16px;margin:0;padding:0;list-style:none;display:flex}.level-recent li{color:var(--side-ink);align-items:center;gap:8px;font-size:.86rem;display:flex}.level-recent .ach-badge{width:30px;height:30px;color:var(--gold);background:0 0}.level-recent .ach-badge svg{width:16px;height:16px}.level-card:focus-visible,.level-card :focus-visible{outline-color:var(--side-accent)}.ach-badge{background:var(--bg-sunk);width:44px;height:44px;color:var(--text-faint);border:1px dashed var(--border);border-radius:50%;flex:none;place-items:center;display:grid}.ach-badge svg{width:22px;height:22px}.ach-badge.on{background:var(--gold-soft);color:var(--gold-text);border:2px solid var(--gold)}.ach-group-head{justify-content:space-between;align-items:baseline;display:flex}.ach-grid,.ach-next{gap:10px;margin:0;padding:0;list-style:none;display:grid}.ach-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.ach-tile{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elev);align-items:flex-start;gap:12px;padding:12px 14px;display:flex;position:relative}.ach-tile.on{border-color:var(--gold)}.ach-tile-text,.ach-next-text{flex:1;gap:3px;min-width:0;padding-right:52px;display:grid}.ach-next-text{padding-right:0}.ach-next li{align-items:flex-start;gap:12px;display:flex}.ach-xp{font-family:var(--mono);color:var(--text-faint);font-size:.75rem;position:absolute;top:12px;right:12px}.ach-tile.on .ach-xp{color:var(--gold-text);font-weight:700}.ach-meta{color:var(--gold-text);align-items:center;gap:4px;font-size:.8rem;font-weight:600;display:inline-flex}.ach-meta svg{width:14px;height:14px}.ach-progress{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;margin-top:2px;display:grid}.ach-bar{background:var(--bg-sunk);border-radius:99px;height:6px;overflow:hidden}.ach-bar i{background:var(--gold);border-radius:99px;height:100%;display:block}@media (width<=760px){.ach-top{grid-template-columns:minmax(0,1fr)}.level-card{padding:14px 16px}.level-ring{width:72px;height:72px}}.toasts{z-index:90;pointer-events:none;gap:8px;width:min(360px,100vw - 32px);display:grid;position:fixed;bottom:16px;right:16px}.toast{pointer-events:auto;background:var(--goal-bg);color:var(--side-strong);border-radius:var(--radius);border-left:4px solid var(--gold);align-items:flex-start;animation:.25s ease-out toast-in;display:flex;box-shadow:0 8px 28px #0a0e1847}.toast-body{color:inherit;flex:1;align-items:center;gap:12px;min-width:0;padding:12px 4px 12px 14px;text-decoration:none;display:flex}.toast-icon{background:var(--gold);width:36px;height:36px;color:var(--goal-bg);border-radius:50%;flex:none;place-items:center;display:grid}.toast-icon svg{width:20px;height:20px}.toast-text{gap:2px;min-width:0;display:grid}.toast-text b{font-size:.92rem}.toast-text span{color:var(--side-ink);font-size:.82rem}.toast-close{color:var(--side-dim);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:0;flex:none;padding:10px}.toast-close:hover{color:var(--side-strong)}.toast-close svg{width:16px;height:16px}.toast :focus-visible{outline:2px solid var(--side-accent);outline-offset:-2px}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)}}@media (prefers-reduced-motion:reduce){.toast{animation:none}.ring-fill{transition:none}}@media (width<=760px){.toasts{bottom:calc(68px + env(safe-area-inset-bottom,0px));right:16px}}.stat-link{color:inherit;border-color:var(--gold);text-decoration:none}.stat-link:hover{background:var(--gold-soft)}.today{gap:18px;display:grid}.today h2{font-size:1.05rem}.today-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 20px;display:flex}.today-head h1{letter-spacing:-.01em;font-size:1.7rem}.streak{color:var(--text-dim);font-size:.92rem}.streak b{color:var(--gold-text);font-family:var(--mono)}.today-cols{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:start;gap:18px;display:grid}.eyebrow{letter-spacing:.1em;text-transform:uppercase;color:var(--accent-strong);font-size:.72rem;font-weight:700}.muted-eyebrow{color:var(--text-faint)}.mono-note{font-family:var(--mono);color:var(--text-faint);font-size:.8rem}.goal-card{background:var(--goal-bg);border-color:var(--goal-bg);color:var(--side-strong);gap:10px;display:grid}.goal-card .eyebrow{color:var(--gold)}.goal-card h3{margin:0;font-size:1.3rem;font-weight:750}.goal-card p{color:var(--side-ink);margin:0;font-size:.93rem}.goal-card .goal-note{color:var(--side-dim);font-size:.85rem}.goal-top{justify-content:space-between;align-items:center;display:flex}.goal-card .btn.ghost{color:var(--side-ink)}.goal-card .btn.ghost:hover{background:var(--side-hover);color:var(--side-strong)}.goal-card :focus-visible{outline-color:var(--side-accent)}.goal-bar{background:var(--side-line);border-radius:99px;height:10px;margin-top:4px;overflow:hidden}.goal-bar i{background:var(--gold);border-radius:99px;height:100%;display:block}.goal-scale{font-family:var(--mono);color:var(--side-dim);justify-content:space-between;font-size:.78rem;display:flex}.plan-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.tasks,.weak-list,.recent-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.task{border:1px solid var(--border);background:var(--bg-elev);border-radius:10px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:8px 12px 8px 8px;display:grid}.task:hover{border-color:var(--accent)}.task-check{cursor:pointer;color:#0000;background:0 0;border:0;border-radius:50%;place-items:center;width:36px;height:36px;display:grid;position:relative}.task-check:before{content:"";border:2px solid var(--text-faint);border-radius:50%;position:absolute;inset:7px}.task-check svg{width:14px;height:14px;position:relative}.task-check[aria-pressed=true]{color:var(--accent-text)}.task-check[aria-pressed=true]:before{background:var(--accent);border-color:var(--accent)}.task-check[aria-disabled=true]{cursor:default}.task-main{color:inherit;gap:1px;min-width:0;text-decoration:none;display:grid}.task-title{font-weight:650}.task-main:hover .task-title{color:var(--accent-strong);text-decoration:underline}.task-why{color:var(--text-faint);font-size:.84rem;line-height:1.35}.task.done .task-title{color:var(--text-faint);text-decoration:line-through}.task-min{font-family:var(--mono);color:var(--text-dim);background:var(--bg-sunk);white-space:nowrap;border-radius:6px;padding:2px 8px;font-size:.78rem}.continue-row{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;display:grid}.mini-board{aspect-ratio:1;pointer-events:none;width:84px;max-width:100%}.mini-board .board-wrap{width:100%}.mini-board coords{display:none}.weak-list a{color:inherit;gap:4px;padding:4px 0;text-decoration:none;display:grid}.weak-row{justify-content:space-between;gap:10px;font-size:.92rem;display:flex}.weak-list a:hover .weak-row>span:first-child{color:var(--accent-strong);text-decoration:underline}.weak-meter{background:var(--bg-sunk);border-radius:99px;height:7px;overflow:hidden}.weak-meter i{background:var(--danger);border-radius:99px;height:100%;display:block}.recent-list a{color:inherit;grid-template-columns:minmax(24px,auto) minmax(0,1fr) auto;align-items:center;gap:10px;font-size:.92rem;text-decoration:none;display:grid}.recent-list a:hover .recent-opp{color:var(--accent-strong);text-decoration:underline}.res{color:#fff;border-radius:6px;place-items:center;min-width:24px;height:24px;padding:0 4px;font-size:.78rem;font-weight:750;display:grid}.res.w{background:#27773f}.res.l{background:#b6403a}.res.d{background:#5d6370}.recent-opp{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.today .goal-q{margin-top:4px;font-size:1.45rem}.goal-options{grid-template-columns:repeat(auto-fit,minmax(136px,1fr));gap:10px;display:grid}.goal-option{text-align:left;border:1.5px solid var(--border);background:var(--bg-elev);color:var(--text);font:inherit;cursor:pointer;border-radius:10px;align-content:start;gap:3px;padding:12px 14px;display:grid}.goal-option span{color:var(--text-faint);font-size:.84rem;line-height:1.35}.goal-option[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft)}.goal-option[aria-pressed=true] b{color:var(--accent-strong)}.stepper{align-items:center;gap:6px}.target-value{text-align:center;min-width:64px;font-family:var(--mono);font-size:1.1rem;font-weight:700}@media (width<=900px){.today-cols{grid-template-columns:1fr}}.pv-wrap{flex-wrap:wrap}.start-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.start-num{width:88px}.start-preview{align-items:center;gap:14px;display:flex}.start-board{flex:none;width:168px}.start-board .board-wrap{pointer-events:none}.start-board coords{display:none}.play-mode{margin-bottom:16px}.play-badge{font-size:.75rem}@media (width<=420px){.start-preview{flex-direction:column;align-items:flex-start}}.sq-badge{z-index:3;pointer-events:none;filter:drop-shadow(0 2px 3px #00000059);animation:.25s ease-out badge-pop;position:absolute;transform:translate(-62%,-38%)}.sq-badge .cls-dot{box-shadow:0 0 0 2px #fff}@keyframes badge-pop{0%{opacity:0;transform:translate(-62%,-38%)scale(.4)}}.helper-toggles{flex-wrap:wrap;gap:6px;display:flex}.helper-toggles .chip{border:1px solid var(--border);cursor:pointer;font:inherit;font-size:.82rem;font-weight:600}.helper-toggles .chip.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-strong)}.strip-wrap{position:relative}.bot-bubble{z-index:4;background:var(--bg-elev);border:1px solid var(--border);width:max-content;max-width:calc(100% - 246px);box-shadow:var(--shadow);-webkit-line-clamp:2;border-radius:12px 12px 12px 4px;-webkit-box-orient:vertical;padding:6px 12px;font-size:.86rem;line-height:1.3;animation:.2s ease-out bubble-in;display:-webkit-box;position:absolute;top:50%;left:150px;right:96px;overflow:hidden;transform:translateY(-50%)}@media (width<=760px){.bot-bubble{max-width:calc(100% - 200px);font-size:.8rem;left:120px;right:80px}}@keyframes bubble-in{0%{opacity:0;transform:translateY(-40%)}}.coach-card{background:var(--accent-soft);border:1px solid var(--accent-soft);border-radius:10px;grid-template-columns:34px minmax(0,1fr);align-items:start;gap:10px;padding:10px 12px;display:grid}.coach-card.threat,.coach-card.check{background:var(--danger-soft);border-color:var(--danger)}.coach-avatar{background:var(--accent);width:34px;height:34px;color:var(--accent-text);border-radius:50%;place-items:center;display:grid}.coach-card.threat .coach-avatar,.coach-card.check .coach-avatar{background:var(--danger);color:#fff}.coach-avatar svg{width:18px;height:18px}.coach-text{gap:2px;min-width:0;font-size:.9rem;display:grid}.coach-cls{color:var(--text-dim);font-weight:500}.coach-last{color:var(--text-dim);font-size:.85rem}.coach-last .cls-dot{vertical-align:-3px}.coach-now{font-weight:550}.coach-card.chance{background:var(--gold-soft);border-color:var(--gold)}.coach-card.chance .coach-avatar{background:var(--gold);color:#1b1305}.steps{gap:6px;margin:0;padding:0;list-style:none;display:flex}.steps button{border:1.5px solid var(--border);background:var(--bg-elev);width:32px;height:32px;color:var(--text-dim);font:inherit;cursor:pointer;border-radius:50%;font-weight:700}.steps .done button{background:var(--accent-soft);border-color:var(--accent-soft);color:var(--accent-strong)}.steps .on button{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.guided-wrong,.guided-right{color:var(--text);font-weight:650}.coach-card.quiet{background:var(--bg-sunk);border-color:var(--border)}.coach-card.quiet .coach-avatar{background:var(--text-dim);color:var(--bg-elev)}.coach-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:start;gap:18px;display:grid}.coach-page h2{margin:0;font-size:1.05rem}.coach-hero-top{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:14px;display:grid}.coach-hero-top p{margin:4px 0 0}.coach-avatar.lg{width:48px;height:48px}.coach-avatar.lg svg{width:24px;height:24px}.coach-switches{border:0;border-top:1px solid var(--border);gap:12px;margin:4px 0 0;padding:12px 0 0;display:grid}.coach-switches legend{text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);margin-bottom:4px;padding:0;font-size:.78rem;font-weight:700}.coach-switches .toggle>span{gap:2px;display:grid}.coach-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.coach-list a{border:1px solid var(--border);color:inherit;border-radius:10px;gap:2px;padding:10px 12px;text-decoration:none;display:grid}.coach-list a:hover{background:var(--bg-hover)}.setup-helpers .chip{font-size:.85rem}@media (width<=900px){.coach-grid{grid-template-columns:minmax(0,1fr)}}.coach-page .card>p{margin:0}.fx-host{position:relative}.board-fx{aspect-ratio:1;pointer-events:none;z-index:4;border-radius:4px;width:100%;position:absolute;top:0;left:0;overflow:hidden}.fx-burst{width:0;height:0;position:absolute}.fx-burst i{background:#fff6d8;border-radius:50%;width:6px;height:6px;animation:.6s cubic-bezier(.2,.7,.3,1) forwards fx-fly;position:absolute;top:-3px;left:-3px;box-shadow:0 0 6px #ffdc8ce6}.fx-burst.dark i{background:#ffcf7a;box-shadow:0 0 6px #ffaa3ce6}.fx-ring{border:3px solid #ffe6a0e6;border-radius:50%;width:44px;height:44px;animation:.55s ease-out forwards fx-ring;position:absolute;top:-22px;left:-22px}@keyframes fx-fly{0%{transform:rotate(var(--a)) translateX(4px) scale(1);opacity:1}to{transform:rotate(var(--a)) translateX(var(--d)) scale(.3);opacity:0}}@keyframes fx-ring{0%{opacity:.95;transform:scale(.3)}to{opacity:0;transform:scale(1.6)}}.fx-check{aspect-ratio:1;border-radius:50%;width:12.5%;animation:.75s ease-in-out 2 both fx-check;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 3px #ff463cd9,0 0 24px 6px #ff32288c}@keyframes fx-check{0%,to{opacity:0;transform:translate(-50%,-50%)scale(.8)}45%{opacity:1;transform:translate(-50%,-50%)scale(1.05)}}.fx-confetti i{opacity:.95;border-radius:2px;width:8px;height:13px;animation-name:fx-fall;animation-timing-function:cubic-bezier(.3,.6,.6,1);animation-fill-mode:forwards;position:absolute;top:-12px}@keyframes fx-fall{0%{opacity:1;transform:translate(0)rotate(0)}to{transform:translate(var(--drift), 110cqw) rotate(calc(var(--rot) + 540deg));opacity:0}}.board-fx{container-type:inline-size}.fx-dusk{background:radial-gradient(circle,#14182800 30%,#14182873 100%);animation:1.6s forwards fx-fade;position:absolute;inset:0}.fx-shimmer{background:linear-gradient(115deg,#fff0 30%,#ffffff73 50%,#fff0 70%) 0 0/250% 100%;animation:1.4s forwards fx-sweep;position:absolute;inset:0}@keyframes fx-fade{0%{opacity:0}30%{opacity:1}to{opacity:0}}@keyframes fx-sweep{0%{background-position:120% 0}to{background-position:-40% 0}}.player{position:relative}.speech{z-index:6;background:var(--bg-elev);max-width:min(78%,340px);color:var(--text);border:1px solid var(--border);pointer-events:none;border-radius:14px;padding:9px 13px;font-size:.92rem;line-height:1.35;animation:.28s cubic-bezier(.2,.9,.3,1.3) both speech-in;position:absolute;left:2px;box-shadow:0 8px 24px #0003}.speech.below{top:calc(100% + 8px)}.speech.above{bottom:calc(100% + 8px)}.speech:before{content:"";background:inherit;border:inherit;border-bottom:0;border-right:0;width:12px;height:12px;position:absolute;left:16px}.speech.below:before{top:-7px;transform:rotate(45deg)}.speech.above:before{bottom:-7px;transform:rotate(225deg)}.speech b{margin-right:4px;font-weight:650}@keyframes speech-in{0%{opacity:0;transform:translateY(-6px)scale(.92)}}.speech.above{animation-name:speech-in-up}@keyframes speech-in-up{0%{opacity:0;transform:translateY(6px)scale(.92)}}.bot-avatar{border-radius:50%;flex:none}.player .bot-avatar{box-shadow:0 0 0 2px var(--bg-elev)}.bot-avatar.mood-thinking .think-dots circle{animation:1.2s ease-in-out infinite think}.bot-avatar.mood-thinking .think-dots circle:last-child{animation-delay:.2s}@keyframes think{0%,to{opacity:.4}50%{opacity:1}}.bot-avatar.mood-shocked{animation:.4s jolt}@keyframes jolt{25%{transform:translate(-2px)rotate(-3deg)}75%{transform:translate(2px)rotate(3deg)}}.bot-hero-face{animation:.35s cubic-bezier(.2,.9,.3,1.4) hero-pop;box-shadow:0 6px 18px #0000002e}@keyframes hero-pop{0%{opacity:.4;transform:scale(.85)}}.bot-quote{background:var(--accent-soft);color:var(--text);border-radius:14px;padding:10px 14px;font-style:italic}.bot-tile .bot-avatar{transition:transform .2s}.bot-tile:hover .bot-avatar,.bot-tile.on .bot-avatar{transform:scale(1.08)rotate(-3deg)}:root:not([data-fx=off]) cg-board square.check{animation:1.6s ease-in-out infinite check-breathe}@keyframes check-breathe{50%{opacity:.65}}.more-opts{border-top:1px dashed var(--border);padding-top:10px}.more-toggle{color:var(--text-dim);font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:4px 2px;font-weight:600;display:inline-flex}.more-toggle:hover{color:var(--text)}.more-toggle svg{width:16px;height:16px;transition:transform .2s;transform:rotate(-90deg)}.more-opts.open .more-toggle svg{transform:none}.more-body{gap:14px;margin-top:10px}@media (prefers-reduced-motion:reduce){.speech,.bot-avatar,.bot-hero-face,.bot-avatar .think-dots circle,cg-board square.check{animation:none!important}}.move-tree{max-height:340px;font-size:.92rem;line-height:1.9;position:relative;overflow-y:auto}.tm-wrap{display:inline}.tm{cursor:pointer;color:var(--text);background:0 0;border:0;border-radius:4px;align-items:center;gap:4px;padding:1px 4px;font-weight:600;display:inline-flex}.tm:hover{background:var(--bg-hover)}.tm.cur{background:var(--accent-soft);color:var(--accent-strong)}.tm .cls-dot{width:14px!important;height:14px!important;font-size:8px!important}.tn{color:var(--text-faint);font-weight:500}.tg{color:var(--accent-strong);font-weight:800}.tc{color:var(--text-dim);margin:0 4px;font-size:.85rem;font-style:italic}.tv-block{border-left:2px solid var(--border);background:var(--bg-sunk);border-radius:0 6px 6px 0;margin:2px 0 4px 6px;padding:2px 8px;font-size:.86rem}.tv-line{display:block}.tv-line .tm,.tv-inline .tm{font-weight:500}.tv-inline{color:var(--text-dim)}.nag-btn{min-width:36px;font-weight:800}.nag-btn.on{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.lesson-placement{margin-bottom:12px}.lesson-tabs{flex-wrap:wrap;margin-bottom:14px}.lesson-tabs button{align-items:center;gap:6px;display:inline-flex}.lesson-tabs svg{width:14px;height:14px}.lesson-dot{background:var(--accent);border-radius:50%;width:8px;height:8px}.lesson-chapter{color:var(--text-dim)}.lesson-card{color:inherit;gap:8px;text-decoration:none}.lesson-card.locked{box-shadow:none;background:0 0;border-style:dashed}@media (width<=520px){.lesson-tabs{grid-template-columns:repeat(3,1fr);width:100%;display:grid}.lesson-tabs button{flex-wrap:wrap;justify-content:center;row-gap:2px;padding:6px 4px}.lesson-tabs button .small{text-align:center;flex-basis:100%;order:1}}.rep-tabs{margin-bottom:16px}.rep-badge{background:var(--accent);min-width:20px;height:20px;color:var(--accent-text);border-radius:10px;place-items:center;margin-left:6px;padding:0 6px;font-size:.75rem;font-weight:700;display:inline-grid}.rep-card-head{flex-wrap:wrap;gap:8px;padding:12px 14px 4px}.rep-new{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.rep-row{gap:8px}.rep-move{min-height:36px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex:1;align-items:center;gap:8px;padding:0;display:flex}.rep-main{padding:1px 6px;font-size:.7rem}.rep-pct{text-align:right;min-width:36px}.rep-lines{max-height:260px;overflow-y:auto}.rep-line,.rep-dev,.pop-row{border:0;border-bottom:1px solid var(--border);width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0}.rep-line{color:var(--text-dim);font-size:.85rem}.rep-mono{font-family:var(--mono);font-size:.85rem}.rep-note{background:var(--bg-sunk);border-radius:var(--radius-sm);padding:8px 10px}.rep-seg-sm button{padding:4px 10px;font-size:.8rem}.rep-table-scroll{overflow-x:auto}.rep-drill-head .stat .v.small{padding-top:6px;font-size:1rem}.rep-dev{align-items:flex-start}.rep-dev-dot{background:var(--text-faint);border-radius:50%;flex:none;width:10px;height:10px;margin-top:5px}.rep-dev-dot.you{background:var(--danger)}.rep-dev-dot.opponent{background:var(--warn)}.rep-dev-dot.end,.rep-dev-dot.complete{background:var(--good)}.pop-row{grid-template-columns:minmax(56px,auto) 44px 1fr;align-items:center;gap:10px;min-height:40px;display:grid}.pop-san{align-items:center;gap:4px;display:inline-flex}.pop-san svg{width:14px;height:14px;color:var(--accent)}.pop-share{font-variant-numeric:tabular-nums;color:var(--text-dim);text-align:right;font-size:.85rem}.pop-wdl{border:1px solid var(--border);background:var(--bg-sunk);border-radius:6px;height:12px;display:flex;overflow:hidden}.pop-wdl .w{background:var(--eval-white)}.pop-wdl .d{background:#a3a3a0}.pop-wdl .b{background:var(--eval-black)}.pop-legend{justify-content:flex-end;gap:14px;padding:8px 14px 10px;display:flex}.pop-legend span{align-items:center;gap:5px;display:inline-flex}.pop-legend i{border:1px solid var(--border);border-radius:2px;width:10px;height:10px}.pop-legend .w{background:var(--eval-white)}.pop-legend .d{background:#a3a3a0}.pop-legend .b{background:var(--eval-black)}textarea.input.rep-text{font-family:var(--font)}.tb-build{border-radius:var(--radius-sm);background:var(--bg-sunk);flex-direction:column;gap:6px;padding:10px 12px;display:flex}.tb-build .progress{background:var(--bg-elev);border:1px solid var(--border)}.inline-icon{vertical-align:-3px;color:var(--accent-strong);display:inline-flex}.inline-icon svg{width:16px;height:16px}.bench-table td:not(:first-child),.bench-table th{white-space:nowrap}.looks{flex-direction:column;gap:18px;max-width:1180px;display:flex}.looks h2{font-size:1.1rem}.look-grid{grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:12px;display:grid}.look-card{border:1px solid var(--border);border-radius:var(--radius);background:rgb(var(--elev-rgb) / .6);color:var(--text);text-align:left;font:inherit;cursor:pointer;flex-direction:column;gap:4px;padding:6px 6px 10px;transition:transform .15s,box-shadow .15s,border-color .15s;display:flex}.look-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.look-card.on{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.look-art{border-radius:calc(var(--radius) - 4px);place-items:center;height:92px;display:grid;position:relative;overflow:hidden}.look-panel{background:#ffffff8c;border-radius:10px;align-items:center;gap:8px;padding:8px;display:flex;box-shadow:0 4px 14px #0000002e}.look-card.glass .look-panel{-webkit-backdrop-filter:blur(8px);background:#ffffff47;border:1px solid #ffffff8c;box-shadow:inset 0 1px #fff9,0 6px 18px #0003}.look-board{border-radius:4px;width:40px;height:40px}.look-dot{border-radius:50%;width:18px;height:18px;box-shadow:0 0 0 2px #ffffffd9}.look-name{margin:4px 4px 0;font-weight:650}.look-blurb{color:var(--text-dim);margin:0 4px;font-size:.8rem;line-height:1.3}.looks-split{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:18px;display:grid}.looks-preview{position:sticky;top:18px}.looks-preview .board-wrap{width:100%}.looks-sec{gap:14px}.style-pick{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.style-opt{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;flex-direction:column;align-items:flex-start;gap:3px;padding:10px;display:flex}.style-opt.on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.style-art{background:linear-gradient(135deg,#f0f2f6,#dfe4ee);border-radius:8px;width:100%;height:58px;margin-bottom:6px;position:relative;overflow:hidden}.style-art i{background:#fff;border-radius:7px;height:34px;position:absolute;top:12px;box-shadow:0 2px 6px #0000001f}.style-art i:first-child{background:#16181d;width:22%;left:10px}.style-art i:last-child{left:32%;right:10px}.style-opt.glass .style-art i{-webkit-backdrop-filter:blur(6px);background:#ffffff38;border:1px solid #ffffff8c;box-shadow:inset 0 1px #fff9}.swatches{flex-wrap:wrap;gap:10px;display:flex}.swatch{cursor:pointer;border:0;border-radius:50%;place-items:center;width:36px;height:36px;display:grid;position:relative;box-shadow:inset 0 0 0 1px #0000001f}.swatch.on{box-shadow:0 0 0 2px var(--bg-elev), 0 0 0 4px var(--text)}.swatch.custom{color:#fff;background:conic-gradient(#f44,#fd4,#4d6,#4cf,#64f,#f4c,#f44)}.swatch.custom svg{filter:drop-shadow(0 1px 1px #00000080);width:18px;height:18px}.swatch.custom input{opacity:0;cursor:pointer;position:absolute;inset:0}.bg-grid{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:10px;display:grid}.bg-opt{border-radius:var(--radius-sm);color:var(--text-dim);font:inherit;cursor:pointer;background:0 0;border:2px solid #0000;flex-direction:column;gap:5px;padding:4px;font-size:.8rem;font-weight:600;display:flex}.bg-opt.on{border-color:var(--accent);color:var(--text)}.bg-thumb{aspect-ratio:16/10;background:var(--bg-sunk) center / cover;border-radius:6px;place-items:center;display:grid;box-shadow:inset 0 0 0 1px #00000014}.bg-opt.none .bg-thumb{background:repeating-linear-gradient(45deg, var(--bg-sunk) 0 8px, var(--bg-hover) 8px 16px)}.bg-opt.add .bg-thumb{border:2px dashed var(--border);color:var(--text-dim);background:0 0}.bg-opt.add svg{width:22px;height:22px}.slider{flex-direction:column;gap:4px;display:flex}.slider.off input{opacity:.45}.slider-head{justify-content:space-between;gap:10px;font-size:.9rem;font-weight:600;display:flex}.slider-head output{font-variant-numeric:tabular-nums;color:var(--text-dim)}.slider input[type=range]{width:100%;accent-color:var(--accent)}.slider-pair{grid-template-columns:1fr 1fr;gap:16px;display:grid}.board-pick{grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:6px;display:grid}.board-pick .board-swatch{color:var(--text-dim)}.board-pick .board-swatch.on{color:var(--text)}.piece-pick{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;display:grid}.piece-opt{border-radius:var(--radius-sm);color:var(--text-dim);font:inherit;cursor:pointer;background:0 0;border:2px solid #0000;flex-direction:column;align-items:center;gap:4px;padding:6px 4px;font-size:.8rem;font-weight:600;display:flex}.piece-opt.on{border-color:var(--accent);color:var(--text)}.piece-prev{background:linear-gradient(90deg, var(--sq-light) 50%, var(--sq-dark) 50%);border-radius:6px;width:84px;height:42px;display:flex;overflow:hidden}.piece-prev img{width:42px;height:42px}.piece-prev.tint{justify-content:center;align-items:center;gap:8px}.piece-prev.tint i{border-radius:50%;width:22px;height:22px;box-shadow:0 0 0 1px #00000059}.piece-prev.upload{border:2px dashed var(--border);color:var(--text-dim);background:0 0;place-items:center;display:grid}.piece-prev.upload svg{width:20px;height:20px}.custom-pieces{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;max-width:420px;display:grid}.cp-slot{aspect-ratio:1;background:var(--sq-light);cursor:pointer;border-radius:6px;place-items:center;display:grid;position:relative;box-shadow:inset 0 0 0 1px #0000001a}.cp-slot:nth-child(-n+6):nth-child(2n),.cp-slot:nth-child(n+7):nth-child(odd){background:var(--sq-dark)}.cp-slot img{object-fit:contain;width:90%;height:90%}.cp-slot img.ghost{opacity:.28}.cp-slot input{opacity:0;cursor:pointer;position:absolute;inset:0}.cp-slot:focus-within{outline:2px solid var(--accent);outline-offset:2px}.colour-input{cursor:pointer;align-items:center;gap:8px;font-size:.88rem;font-weight:600;display:inline-flex}.colour-input input{border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:6px;width:38px;height:30px;padding:0}.block{display:block}@media (width<=1100px){.looks-split{grid-template-columns:minmax(0,1fr) 280px}}@media (width<=900px){.looks-split{grid-template-columns:1fr}.looks-preview{order:-1;position:static}.looks-preview .board-wrap{max-width:280px;margin:0 auto}}@media (width<=520px){.look-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.slider-pair,.style-pick{grid-template-columns:1fr}}.looks-link{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);align-items:center;gap:12px;padding:10px 12px;text-decoration:none;display:flex}.looks-link:hover{background:var(--bg-hover)}.looks-link>span:nth-child(2){flex:1;display:grid}.looks-link>svg{width:18px;height:18px;color:var(--text-dim)}.looks-link-art{color:#fff;background:conic-gradient(from 200deg,#7c4dff,#2b9be0,#1f9d55,#d08a00,#f0644b,#7c4dff);border-radius:12px;place-items:center;width:40px;height:40px;display:grid}.looks-link-art svg{filter:drop-shadow(0 1px 1px #0006);width:22px;height:22px}.vision-tabs{margin-bottom:16px}.vision-coords coords{display:none}.vision-prompt{text-align:center;padding:10px 0;font-size:1.4rem}.vision-prompt b{font-family:var(--mono);color:var(--accent);font-size:2.6rem;display:block}.vision-clock{flex:1}.vision-pick{grid-template-columns:repeat(8,1fr);gap:4px;display:grid}.vision-pick .btn{min-height:44px;font-family:var(--mono);padding:0;font-size:1rem}cg-board square.vision-target{background:radial-gradient(circle,#2f6f5ebf 0 32%,#2f6f5e40 33%)}cg-board square.vision-danger{background:repeating-linear-gradient(45deg,#b6403a47 0 6px,#0000 6px 12px)}.board-wrap.hide-pieces cg-board piece{visibility:hidden}.import-privacy{border-radius:var(--radius-sm);background:var(--bg-sunk);color:var(--text-dim);gap:10px;padding:10px 12px;display:flex}.import-privacy svg{flex:none;width:18px;height:18px;margin-top:2px}.code-box{align-items:flex-start;gap:8px;display:flex}.code-box textarea{flex:1}.mono{word-break:break-all;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.78rem}.block{margin-top:2px;display:block}.link-chip{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.link-chip .dot{background:var(--text-faint);border-radius:50%;width:8px;height:8px}.link-chip.on .dot{background:var(--accent)}.link-chip.off .dot{background:#c8553d}.menu{--m-panel:rgb(var(--elev-rgb) / .62);--m-edge:var(--glass-edge);--m-ink:var(--text);min-height:100dvh;color:var(--m-ink);flex-direction:column;display:flex;position:relative}.menu .app-bg .app-bg-img{animation:60s ease-in-out infinite alternate menu-drift}@keyframes menu-drift{0%{transform:scale(1.04)translate(0)}to{transform:scale(1.12)translate(-1.5%,-1%)}}.menu-top{padding:max(14px, env(safe-area-inset-top,0px)) max(20px, env(safe-area-inset-right,0px)) 0 max(20px, env(safe-area-inset-left,0px));justify-content:space-between;align-items:center;gap:12px;display:flex}.menu-brand{background:var(--m-panel);border:1px solid var(--m-edge);-webkit-backdrop-filter:blur(16px)saturate(1.5);border-radius:999px;align-items:center;gap:10px;padding:6px 12px 6px 8px;display:flex}.menu-brand .wordmark i{color:var(--accent)}.menu-tools{background:var(--m-panel);border:1px solid var(--m-edge);-webkit-backdrop-filter:blur(16px)saturate(1.5);border-radius:999px;align-items:center;gap:6px;padding:5px;display:flex}.menu-tool{height:36px;color:var(--text);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;align-items:center;gap:7px;padding:0 12px;font-size:.88rem;font-weight:600;text-decoration:none;display:inline-flex}.menu-tool.icon{justify-content:center;width:36px;padding:0}.menu-tool svg{width:18px;height:18px}.menu-tool:hover{background:rgb(var(--elev-rgb) / .7)}.menu-tool.on{background:var(--accent);color:var(--accent-text)}.menu-main{flex-direction:column;flex:1;gap:22px;width:min(980px,100%);margin:0 auto;padding:6vh 20px 40px;display:flex}.menu-main:focus{outline:none}.menu-hello{text-align:center;animation:.7s both menu-in}.menu-hello h1{letter-spacing:-.02em;text-shadow:0 2px 24px rgb(var(--veil-rgb) / .9);font-size:clamp(2rem,5vw,3.2rem);font-weight:750}.menu-hello p{background:var(--m-panel);-webkit-backdrop-filter:blur(12px);color:var(--text-dim);border-radius:999px;margin:10px 0 0;padding:6px 14px;font-size:1.02rem;display:inline-block}.menu-stats{flex-wrap:wrap;justify-content:center;gap:10px;animation:.7s 80ms both menu-in;display:flex}.menu-stat{background:var(--m-panel);border:1px solid var(--m-edge);-webkit-backdrop-filter:blur(18px)saturate(1.5);min-width:132px;box-shadow:inset 0 1px 0 var(--glass-shine);text-align:center;border-radius:16px;padding:10px 16px;display:grid}.menu-stat-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);font-size:.75rem;font-weight:650}.menu-stat-value{font-variant-numeric:tabular-nums;justify-content:center;align-items:center;gap:6px;font-size:1.6rem;font-weight:750;display:inline-flex}.menu-stat-value svg{width:20px;height:20px}.menu-stat.gold .menu-stat-value{color:var(--gold-text)}.menu-stat-sub{color:var(--text-dim);font-size:.78rem}.menu-tiles{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.menu-tile{background:linear-gradient(150deg, var(--glass-tint), #fff0 45%), rgb(var(--elev-rgb) / .68);border:1px solid var(--m-edge);-webkit-backdrop-filter:blur(22px)saturate(1.6);box-shadow:inset 0 1px 0 var(--glass-shine), 0 14px 40px #0a0f1e2e;border-radius:24px;flex-direction:column;transition:transform .2s,box-shadow .2s;animation:.7s both menu-in;display:flex;overflow:hidden}.menu-tile:first-child{animation-delay:.14s}.menu-tile:nth-child(2){animation-delay:.2s}.menu-tile:nth-child(3){animation-delay:.26s}.menu-tile:hover{box-shadow:inset 0 1px 0 var(--glass-shine), 0 20px 50px #0a0f1e42;transform:translateY(-3px)}.menu-tile-main{color:var(--text);flex:1;align-content:start;gap:6px;padding:22px 22px 18px;text-decoration:none;display:grid}.menu-tile-icon{background:var(--accent);width:48px;height:48px;color:var(--accent-text);box-shadow:inset 0 1px 0 #fff6, 0 6px 16px color-mix(in srgb, var(--accent) 40%, transparent);border-radius:16px;place-items:center;margin-bottom:8px;display:grid}.menu-tile-icon svg{width:26px;height:26px}.menu-tile-title{font-size:1.4rem;font-weight:750}.menu-tile-line{color:var(--text-dim);font-size:.92rem;line-height:1.35}.tile-links{flex-wrap:wrap;gap:6px;padding:0 18px 16px;display:flex}.tile-links a{background:rgb(var(--elev-rgb) / .7);border:1px solid var(--m-edge);color:var(--text);border-radius:999px;padding:4px 10px;font-size:.8rem;font-weight:600;text-decoration:none}.tile-links a:hover{background:var(--accent-soft);color:var(--accent-strong)}.menu-cards{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;animation:.7s .32s both menu-in;display:grid}.menu-card{background:var(--m-panel);border:1px solid var(--m-edge);-webkit-backdrop-filter:blur(18px)saturate(1.5);color:var(--text);border-radius:16px;align-items:center;gap:12px;padding:12px 14px;text-decoration:none;display:flex}.menu-card:hover{background:rgb(var(--elev-rgb) / .8)}.menu-card>span:nth-child(2){flex:1;min-width:0;display:grid}.menu-card>span:nth-child(2)>span{color:var(--text-dim);white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;overflow:hidden}.menu-card>svg:last-child{width:18px;height:18px;color:var(--text-dim);flex:none}.menu-card-icon{background:var(--accent-soft);width:40px;height:40px;color:var(--accent-strong);border-radius:12px;flex:none;place-items:center;display:grid}.menu-card-icon.done{background:color-mix(in srgb, var(--good) 22%, transparent);color:var(--good)}.menu-card-icon svg{width:20px;height:20px}.menu-card .bot-avatar{flex:none}.menu-more{align-self:center;width:100%;animation:.7s .38s both menu-in}.menu-more summary{background:var(--m-panel);border:1px solid var(--m-edge);-webkit-backdrop-filter:blur(14px);width:max-content;color:var(--text-dim);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:6px;margin:0 auto;padding:8px 16px;font-weight:600;list-style:none;display:flex}.menu-more summary::-webkit-details-marker{display:none}.menu-more summary svg{width:16px;height:16px;transition:transform .2s}.menu-more[open] summary svg{transform:rotate(180deg)}.menu-more-grid{background:rgb(var(--elev-rgb) / .78);border:1px solid var(--m-edge);-webkit-backdrop-filter:blur(20px);border-radius:20px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:16px;margin-top:12px;padding:16px;display:grid}.menu-more-grid h2{text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);margin-bottom:6px;font-size:.78rem}.menu-more-grid a{color:var(--text);border-radius:8px;align-items:center;gap:8px;padding:5px 6px;font-size:.92rem;text-decoration:none;display:flex}.menu-more-grid a:hover{background:var(--accent-soft)}.menu-more-grid svg{width:17px;height:17px;color:var(--text-dim)}@keyframes menu-in{0%{opacity:0;transform:translateY(10px)}}@media (prefers-reduced-motion:reduce){.menu *,.menu .app-bg .app-bg-img{animation:none!important}}@media (width<=760px){.menu-tool:not(.icon) span{display:none}.menu-tool:not(.icon){justify-content:center;width:36px;padding:0}.menu-main{gap:18px;padding:4vh 16px 32px}.menu-tiles{grid-template-columns:1fr;gap:10px}.menu-tile-main{grid-template-columns:auto 1fr;align-items:center;column-gap:14px;padding:16px}.menu-tile-icon{grid-row:span 2;margin:0}.menu-tile-title{font-size:1.2rem}.tile-links{padding:0 16px 14px}.menu-stat{flex:1;min-width:0;padding:8px 10px}.menu-stat-value{font-size:1.3rem}}@media (width<=420px){.menu-tools .menu-tool:nth-child(4){display:none}.menu-brand .wordmark{font-size:1.15rem}}.shell{grid-template-columns:236px minmax(0,1fr)}.skip-link{z-index:100;border-radius:var(--radius-sm);background:var(--accent);color:var(--accent-text);padding:10px 14px;font-weight:600;text-decoration:none;position:absolute;top:-60px;left:12px}.skip-link:focus{top:12px}.main:focus{outline:none}.wordmark{letter-spacing:-.03em;font-size:1.3rem;font-weight:800}.wordmark i{color:var(--side-accent);font-style:normal}.sidebar{background:var(--side);height:100vh;color:var(--side-ink);border-right:1px solid var(--side-edge);flex-direction:column;gap:6px;padding:18px 12px 14px;display:flex;position:sticky;top:0}.sidebar .brand,.mobile-top .brand{color:var(--side-strong);align-items:center;gap:10px;padding:0 8px 8px;text-decoration:none;display:flex}.brand-mark{border-radius:8px;width:30px;height:30px}.goto-btn{border:1px solid var(--side-line);border-radius:var(--radius-sm);background:var(--side-hover);color:var(--side-dim);font:inherit;cursor:pointer;align-items:center;gap:8px;margin:0 2px 8px;padding:8px 10px;font-size:.88rem;display:flex}.goto-btn:hover{color:var(--side-ink)}.goto-btn svg{width:16px;height:16px}.goto-btn kbd,.goto-input kbd{font-family:var(--mono);border:1px solid var(--side-line);border-radius:4px;margin-left:auto;padding:0 5px;font-size:.7rem}.nav-sections{scrollbar-width:thin;flex-direction:column;gap:2px;display:flex;overflow-y:auto}.sidebar .nav-link,.nav-sec-head{border-radius:var(--radius-sm);width:100%;color:var(--side-ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:11px;padding:7px 10px;font-size:.93rem;text-decoration:none;display:flex}.sidebar .nav-link svg,.nav-sec-head svg{flex:none;width:19px;height:19px}.sidebar .nav-link:hover,.nav-sec-head:hover{background:var(--side-hover);color:var(--side-strong)}.sidebar .nav-link.active{background:var(--side-on);color:var(--side-strong);box-shadow:inset 3px 0 0 var(--side-accent);font-weight:600}.nav-sec-head{color:var(--side-strong);margin-top:4px;font-weight:650}.nav-sec-head .chev{color:var(--side-dim);margin-left:auto;transition:transform .18s;display:grid}.nav-sec-head .chev svg{width:16px;height:16px}.nav-sec-head[aria-expanded=false] .chev{transform:rotate(-90deg)}.nav-sec-head .nav-dot{margin-left:auto}.nav-sec-head .nav-dot+.chev{margin-left:8px}.nav-sec-items{border-left:1px solid var(--side-line);flex-direction:column;gap:1px;margin-left:9px;padding-left:14px;display:flex}.nav-sec-items[hidden]{display:none}.nav-sec-items .nav-link{padding:6px 10px}.nav-sec-items .nav-link svg{opacity:.85;width:17px;height:17px}.nav-text{flex:1;min-width:0}.nav-badge{background:var(--side-accent);color:var(--side-accent-ink);border-radius:99px;padding:0 7px;font-size:.72rem;font-weight:700;line-height:1.6}.nav-dot{background:var(--side-accent);border-radius:50%;flex:none;width:8px;height:8px;display:inline-block}.sidebar-foot{border-top:1px solid var(--side-line);gap:6px;margin-top:auto;padding:8px 4px 0;display:flex}.sidebar .sidebar-foot .btn.ghost{color:var(--side-dim)}.sidebar .sidebar-foot .btn.ghost:hover{color:var(--side-strong);background:var(--side-hover)}.sidebar :focus-visible{outline-color:var(--side-accent)}.hub-tabs{border-bottom:1px solid var(--border);scrollbar-width:none;gap:4px;margin-bottom:18px;display:flex;overflow-x:auto}.hub-tabs a{color:var(--text-dim);white-space:nowrap;border-bottom:2px solid #0000;align-items:center;gap:7px;margin-bottom:-1px;padding:9px 14px;font-weight:600;text-decoration:none;display:inline-flex}.hub-tabs a:hover{color:var(--text)}.hub-tabs a.on{color:var(--accent-strong);border-bottom-color:var(--accent)}.hub-tabs .nav-dot{background:var(--accent)}.goto-back{align-items:flex-start;padding-top:12vh}.goto{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);width:min(560px,100vw - 32px);overflow:hidden;box-shadow:0 24px 60px #0000004d}.goto-input{border-bottom:1px solid var(--border);color:var(--text-faint);align-items:center;gap:10px;padding:10px 14px;display:flex}.goto-input svg{flex:none;width:18px;height:18px}.goto-input .input{box-shadow:none;background:0 0;border:0;padding:6px 0;font-size:1rem}.goto-input .input:focus{outline:none}.goto-input kbd{border-color:var(--border)}.goto-list{max-height:50vh;margin:0;padding:6px;list-style:none;overflow-y:auto}.goto-list li[role=option]{border-radius:var(--radius-sm);cursor:pointer;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:12px;padding:9px 10px;display:grid}.goto-list li svg{width:18px;height:18px;color:var(--text-dim)}.goto-list li.on{background:var(--accent-soft)}.goto-list li.on .goto-title{color:var(--accent-strong)}.goto-title{font-weight:600}.goto-where{color:var(--text-faint);font-size:.8rem}.goto-empty{padding:12px}.mobile-top,.tabbar{display:none}@media (width<=760px){.shell{grid-template-columns:1fr}.sidebar{display:none}.mobile-top{z-index:30;padding:6px max(10px, env(safe-area-inset-right,0px)) 6px max(10px, env(safe-area-inset-left,0px));background:var(--side);color:var(--side-ink);align-items:center;gap:4px;display:flex;position:sticky;top:0}.mobile-top .brand{margin-right:auto;padding:0}.mobile-top .brand-mark{width:26px;height:26px}.mobile-top .wordmark{font-size:1.15rem}.mobile-top .btn.ghost{color:var(--side-dim)}.mobile-top .sidebar-foot{border:0;margin:0;padding:0}.mobile-top :focus-visible{outline-color:var(--side-accent)}.main{padding-bottom:calc(84px + env(safe-area-inset-bottom,0px))}.tabbar{z-index:40;padding:0 env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px);background:var(--bg-elev);border-top:1px solid var(--border);grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.tabbar a,.tabbar button{min-height:56px;color:var(--text-faint);font:inherit;cursor:pointer;background:0 0;border:0;align-content:center;justify-items:center;gap:2px;font-size:.72rem;font-weight:600;text-decoration:none;display:grid}.tabbar .on{color:var(--accent-strong)}.tab-icon{display:grid;position:relative}.tab-icon svg{width:22px;height:22px}.tab-icon .nav-dot{background:var(--accent);box-shadow:0 0 0 2px var(--bg-elev);position:absolute;top:-1px;right:-5px}.sheet-back{z-index:35;background:#05080f73;position:fixed;inset:0}.sheet{left:0;right:0;bottom:calc(57px + env(safe-area-inset-bottom,0px));padding:10px max(12px, env(safe-area-inset-right,0px)) 12px max(12px, env(safe-area-inset-left,0px));background:var(--bg-elev);border-radius:16px 16px 0 0;flex-direction:column;gap:2px;display:flex;position:fixed;box-shadow:0 -14px 34px #00000038}.sheet-head{justify-content:space-between;align-items:center;padding:2px 4px 6px;display:flex}.sheet .nav-link{border-radius:var(--radius-sm);min-height:48px;color:var(--text);align-items:center;gap:12px;padding:8px 10px;font-weight:600;text-decoration:none;display:flex}.sheet .nav-link svg{width:20px;height:20px;color:var(--text-dim)}.sheet .nav-link.active{background:var(--accent-soft);color:var(--accent-strong)}.sheet .nav-badge{background:var(--accent);color:var(--accent-text)}.sheet .nav-dot{background:var(--accent)}}.nav-more{border-radius:var(--radius-sm);width:100%;color:var(--side-dim);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:11px;padding:6px 10px;font-size:.86rem;display:flex}.nav-more:hover:not(:disabled){background:var(--side-hover);color:var(--side-ink)}.nav-more:disabled{cursor:default}.nav-more-dots{flex:none;justify-content:center;gap:3px;width:19px;display:inline-flex}.nav-more-dots i{background:currentColor;border-radius:50%;width:3.5px;height:3.5px}.nav-more-items{flex-direction:column;gap:2px;display:flex}.nav-more-items[hidden]{display:none}.sheet-more{text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);margin:8px 10px 2px;font-size:.75rem;font-weight:650}:root{--elev-rgb:255 255 255;--sunk-rgb:236 238 242;--side-rgb:22 24 29;--veil-rgb:245 246 248;--glass-edge:#ffffff8c;--glass-shine:#ffffff80;--glass-tint:#ffffff47}:root[data-theme=dark]{--elev-rgb:23 26 32;--sunk-rgb:12 14 17;--side-rgb:11 12 15;--veil-rgb:8 10 14;--glass-edge:#ffffff24;--glass-shine:#ffffff29;--glass-tint:#ffffff0d}:root[data-corners=sharp]{--radius:4px;--radius-sm:3px}:root[data-corners=round]{--radius:20px;--radius-sm:12px}:root[data-font=rounded]{--font:ui-rounded, "SF Pro Rounded", "Nunito", "Quicksand", "Varela Round", system-ui, -apple-system, sans-serif}:root[data-font=serif]{--font:ui-serif, "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, "Times New Roman", serif}:root[data-font=mono]{--font:ui-monospace, "SF Mono", "JetBrains Mono", "Cascadia Code", Menlo, Consolas, monospace}html[data-text=small]{font-size:15px}html[data-text=small] body{font-size:14px}html[data-text=large]{font-size:17.5px}html[data-text=large] body{font-size:16.5px}:root[data-board=brown]{--sq-light:#f0d9b5;--sq-dark:#b58863;--coord-light:#f0d9b5;--coord-dark:#b58863}:root[data-board=ice]{--sq-light:#e8f1f8;--sq-dark:#9fb8cf;--coord-light:#e8f1f8;--coord-dark:#7f9bb5}:root[data-board=purple]{--sq-light:#e7dcf3;--sq-dark:#8e6fb3;--coord-light:#e7dcf3;--coord-dark:#8e6fb3}:root[data-board=coral]{--sq-light:#f6e3d7;--sq-dark:#d98068;--coord-light:#f6e3d7;--coord-dark:#c96a52}:root[data-board=olive]{--sq-light:#e9e7cf;--sq-dark:#8a9a5b;--coord-light:#e9e7cf;--coord-dark:#7a8a4d}:root[data-board=midnight]{--sq-light:#a9b3c9;--sq-dark:#3b4a6b;--coord-light:#a9b3c9;--coord-dark:#3b4a6b}:root[data-board=sand]{--sq-light:#f2e6cf;--sq-dark:#c9a77c;--coord-light:#f2e6cf;--coord-dark:#b08d60}:root[data-board=glass]{--sq-light:#ffffff9e;--sq-dark:#34486880;--coord-light:#f4f7fb;--coord-dark:#34486a}:root[data-board=glass] cg-board{-webkit-backdrop-filter:blur(14px)saturate(1.5)}:root[data-board=glass] .cg-wrap{box-shadow:inset 0 0 0 1px var(--glass-edge), 0 12px 40px #00000047}.app-bg{z-index:-1;background:var(--bg);pointer-events:none;position:fixed;inset:0;overflow:hidden}.app-bg .app-bg-img{filter:blur(var(--bg-blur,0px));background-position:50%;background-size:cover;transition:opacity .4s;position:absolute;inset:0;transform:scale(1.04)}.app-bg:after{content:"";background:rgb(var(--veil-rgb) / var(--bg-dim,.2));position:absolute;inset:0}:root[data-bg=image] body{background:0 0}:root .sidebar{background:rgb(var(--side-rgb) / var(--menu-alpha,1))}@media (width<=760px){:root .mobile-top{background:rgb(var(--side-rgb) / var(--menu-alpha,1))}:root .tabbar{background:rgb(var(--elev-rgb) / var(--menu-alpha,1))}}:root[data-surface=see-through] .sidebar,:root[data-surface=see-through] .mobile-top,:root[data-surface=see-through] .tabbar{-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(1.6)}:root[data-surface=see-through] .card,:root[data-surface=see-through] .modal,:root[data-surface=see-through] .goto,:root[data-surface=see-through] .sheet{background-color:rgb(var(--elev-rgb) / var(--panel-alpha,1));-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(1.4)}:root[data-surface=see-through] .card .card{background-color:rgb(var(--elev-rgb) / .55);-webkit-backdrop-filter:none}:root[data-surface=see-through] .hub-tabs{background:rgb(var(--elev-rgb) / calc(var(--panel-alpha,1) * .8));-webkit-backdrop-filter:blur(var(--glass-blur));border-radius:var(--radius-sm);border-bottom-color:#0000;padding:0 4px}:root[data-surface=see-through] .page-head{border-radius:var(--radius);background:rgb(var(--veil-rgb) / calc(var(--panel-alpha,1) * .55));-webkit-backdrop-filter:blur(calc(var(--glass-blur) * .6));margin-left:-14px;margin-right:-14px;padding:10px 14px}:root[data-style=glass]{--shadow:0 1px 0 #ffffff40 inset, 0 10px 34px #0f142329}:root[data-style=glass][data-theme=dark]{--shadow:0 1px 0 #ffffff14 inset, 0 12px 40px #0000006b}:root[data-style=glass][data-theme=light]{--side-rgb:250 251 253;--side-ink:#1b1e25;--side-dim:#4a505c;--side-hover:#141e3212;--side-on:#ffffffd9;--side-line:#141e321f;--side-strong:#0d0f13;--side-accent:var(--accent);--side-accent-ink:var(--accent-text);--side-edge:#fff9}:root[data-style=glass][data-theme=dark]{--side-rgb:18 20 26;--side-hover:#ffffff12;--side-on:#ffffff1f;--side-line:#ffffff1a;--side-edge:#ffffff14}@media (width>=761px){:root[data-style=glass] .sidebar{border-radius:calc(var(--radius) + 4px);border:1px solid var(--glass-edge);height:calc(100vh - 20px);box-shadow:inset 0 1px 0 var(--glass-shine), 0 16px 48px #0a0f1e38;margin:10px 0 10px 10px;top:10px}:root[data-style=glass] .shell{grid-template-columns:246px minmax(0,1fr)}}:root[data-style=glass] .card,:root[data-style=glass] .modal,:root[data-style=glass] .goto,:root[data-style=glass] .sheet{border:1px solid var(--glass-edge);background-image:linear-gradient(140deg, var(--glass-tint) 0%, #fff0 42%), linear-gradient(320deg, var(--glass-tint) 0%, #fff0 30%);box-shadow:inset 0 1px 0 var(--glass-shine), inset 0 -1px 0 #ffffff0f, 0 10px 36px #0a0f1e29}:root[data-style=glass][data-theme=dark] .card,:root[data-style=glass][data-theme=dark] .modal{box-shadow:inset 0 1px 0 var(--glass-shine), 0 14px 44px #0006}:root[data-style=glass] .btn{background:rgb(var(--elev-rgb) / .42);border-color:var(--glass-edge);box-shadow:inset 0 1px 0 var(--glass-shine)}:root[data-style=glass] .btn:hover:not(:disabled){background:rgb(var(--elev-rgb) / .68)}:root[data-style=glass] .btn.ghost{box-shadow:none;background:0 0;border-color:#0000}:root[data-style=glass] .btn.primary{background:linear-gradient(180deg, #ffffff38, #fff0 55%), var(--accent);box-shadow:inset 0 1px 0 #ffffff73, 0 6px 18px color-mix(in srgb, var(--accent) 38%, transparent);border-color:#0000}:root[data-style=glass] .btn.primary:hover:not(:disabled){background:linear-gradient(180deg, #ffffff4d, #fff0 55%), var(--accent-strong)}:root[data-style=glass] .seg{background:rgb(var(--sunk-rgb) / .5);box-shadow:inset 0 1px 2px #00000014}:root[data-style=glass] .seg button.on{background:rgb(var(--elev-rgb) / .9);box-shadow:inset 0 1px 0 var(--glass-shine), 0 2px 8px #00000024}:root[data-style=glass] input[type=text],:root[data-style=glass] input[type=search],:root[data-style=glass] input:not([type]),:root[data-style=glass] textarea,:root[data-style=glass] select{background-color:rgb(var(--elev-rgb) / .55);border-color:var(--glass-edge)}:root[data-style=glass] .chip{background:rgb(var(--elev-rgb) / .5)}:root[data-style=glass] .cg-wrap{border-radius:10px}:root[data-style=glass] .modal-back{-webkit-backdrop-filter:blur(4px)}:root[data-style=glass] .mobile-top{border-bottom:1px solid var(--glass-edge)}:root[data-style=glass] .tabbar{border-top-color:var(--glass-edge)}@media (prefers-reduced-transparency:reduce){:root[data-surface=see-through] .card,:root[data-surface=see-through] .modal,:root[data-surface=see-through] .sidebar,:root[data-surface=see-through] .mobile-top,:root[data-surface=see-through] .tabbar{background-color:rgb(var(--elev-rgb) / .96)}}
