.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{font-family:Inter,Noto Sans TC,system-ui,sans-serif;color:#17233b;background:#f4f8fc;font-synthesis:none;--surface: #fff;--surface-2: #edf4fb;--line: #d7e3f0;--muted: #62738b;--navy: #17385e;--blue: #1684c7;--shadow: 0 14px 36px rgba(37, 67, 105, .09)}:root[data-theme=dark]{color:#e8effa;background:#0f1828;--surface: #17243a;--surface-2: #22334c;--line: #30445f;--muted: #aabbd1;--navy: #dceaff;--blue: #5ec7ff;--shadow: 0 14px 40px rgba(0,0,0,.22)}*{box-sizing:border-box}body{margin:0;min-width:320px;background:radial-gradient(circle at 8% 0%,#d9f3ff 0,transparent 28rem),#f4f8fc}[data-theme=dark] body{background:radial-gradient(circle at 8% 0%,#193a55 0,transparent 30rem),#0f1828}button,input,select{font:inherit}button{cursor:pointer;color:inherit}button:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid #f5a524;outline-offset:3px}main{max-width:1500px;min-height:100vh;margin:0 auto;padding:28px clamp(16px,3vw,48px) 56px}h1,h2,h3,p{margin-top:0}h1{margin-bottom:8px;font-size:clamp(2rem,4vw,3.25rem);letter-spacing:-.055em}h2{margin-bottom:8px;font-size:clamp(1.5rem,3vw,2.1rem);letter-spacing:-.035em}.loading{display:grid;min-height:100vh;place-items:center}.eyebrow{margin:0 0 6px;color:#39739e;font-size:.72rem;font-weight:850;letter-spacing:.13em;text-transform:uppercase}[data-theme=dark] .eyebrow{color:#86c7ee}.hero{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;padding:18px 4px 24px}.hero>div>p:last-child{margin:0;color:var(--muted)}.theme-button,.clear-button{border:1px solid var(--line);border-radius:11px;padding:9px 12px;background:var(--surface);box-shadow:0 4px 14px #28466e0d}.lens-tabs{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.lens-tabs button{display:grid;grid-template-columns:38px auto;grid-template-rows:auto auto;column-gap:8px;min-height:70px;padding:13px 16px;text-align:left;border:1px solid var(--line);border-radius:15px;background:color-mix(in srgb,var(--surface) 90%,transparent)}.lens-tabs button>span{grid-row:1 / 3;align-self:center;color:#63b9df;font-size:1.8rem}.lens-tabs b{font-size:.96rem}.lens-tabs small{color:var(--muted)}.lens-tabs button.active{color:#fff;border-color:#17385e;background:#17385e;box-shadow:0 10px 24px #17385e33}.lens-tabs button.active small{color:#c7d9eb}.compact-toolbar{display:flex;flex-wrap:wrap;align-items:end;gap:9px;padding:10px;border:1px solid var(--line);border-radius:15px;background:color-mix(in srgb,var(--surface) 88%,transparent)}.search{display:flex;flex:1 1 300px;align-items:center;gap:8px;min-height:41px;padding:0 11px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.search input{width:100%;border:0;outline:0;color:inherit;background:transparent}.filter{display:grid;gap:3px;color:var(--muted);font-size:.7rem;font-weight:750}.filter select{min-width:105px;padding:7px 9px;color:inherit;border:1px solid var(--line);border-radius:9px;background:var(--surface)}.workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,390px);gap:16px;align-items:start;margin-top:16px}.workspace.focused{grid-template-columns:minmax(290px,.56fr) minmax(540px,1.44fr)}.workspace.single{grid-template-columns:1fr}.explorer-panel,.detail,.search-results{border:1px solid var(--line);border-radius:20px;background:color-mix(in srgb,var(--surface) 92%,transparent);box-shadow:var(--shadow)}.explorer-panel{min-height:530px;padding:clamp(18px,3vw,32px)}.workspace.focused .explorer-panel{padding:18px}.level-heading{display:flex;justify-content:space-between;gap:20px;margin-bottom:24px}.level-heading p:last-child,.family-header p{max-width:64ch;margin-bottom:0;color:var(--muted);line-height:1.55}.side-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:940px;margin:38px auto 0}.side-card{display:grid;grid-template-columns:100px 1fr auto;align-items:center;gap:18px;min-height:180px;padding:24px;text-align:left;border:1px solid #c9def0;border-radius:20px;background:linear-gradient(145deg,#fdfefe,#e8f5ff);box-shadow:0 12px 28px #2e5a8217}.side-card.black{color:#eef5ff;border-color:#263d5b;background:linear-gradient(145deg,#243c5c,#13243c)}.side-card:hover{transform:translateY(-2px);box-shadow:0 18px 36px #2e5a8224}.side-piece{font-size:5rem;line-height:1;text-align:center}.side-card b{display:block;font-size:1.35rem}.side-card small{display:block;margin:4px 0 16px;color:#3980aa;font-weight:750}.side-card.black small{color:#8ed3fa}.side-card em{display:block;color:var(--muted);font-size:.82rem;font-style:normal}.side-card.black em{color:#b8cbe0}.side-card i{font-size:1.4rem;font-style:normal}.breadcrumb{display:flex;flex-wrap:wrap;gap:7px;align-items:center;margin:-6px 0 22px;color:var(--muted);font-size:.82rem}.breadcrumb span{display:flex;gap:7px;align-items:center}.breadcrumb i{font-style:normal}.breadcrumb button{padding:0;color:#277ba9;border:0;background:transparent}.breadcrumb b{color:var(--navy)}.route-grid,.family-grid,.style-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(205px,1fr));gap:13px}.route-card,.family-card,.style-card{position:relative;min-height:150px;padding:18px;text-align:left;border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:0 7px 20px #314e6e0d}.route-card:hover,.family-card:hover:not(:disabled),.style-card:hover{border-color:#78bce2;transform:translateY(-2px)}.route-card.active{border-color:#1786c3;box-shadow:inset 0 0 0 2px #1786c3}.move-badge{display:grid;width:52px;height:52px;place-items:center;margin-bottom:12px;color:#fff;border-radius:14px;background:#1f80ba;font-family:ui-monospace,monospace;font-size:1.15rem;font-weight:850}.route-card b,.family-card>b,.style-card b{display:block;font-size:1.03rem}.route-card small{display:block;margin:4px 0 12px;color:var(--muted)}.route-card i,.family-card i{color:#2280b4;font-size:.78rem;font-style:normal;font-weight:750}.family-card{min-height:185px}.family-card:disabled{cursor:not-allowed;opacity:.48}.family-count{position:absolute;top:14px;right:14px;min-width:30px;padding:4px 8px;text-align:center;color:#176d9e;border-radius:999px;background:#e2f4ff;font-size:.76rem;font-weight:850}.family-card ul{min-height:54px;margin:10px 0 13px;padding-left:18px;color:var(--muted);font-size:.78rem;line-height:1.55}.family-directory{margin-top:46px;padding-top:34px;border-top:1px solid var(--line)}.directory-heading{margin-bottom:26px}.directory-heading>p:last-child{max-width:66ch;margin-bottom:0;color:var(--muted);line-height:1.55}.family-section{scroll-margin-top:22px;margin-top:34px;padding-top:8px}.family-section+.family-section{padding-top:34px;border-top:1px dashed var(--line)}.family-section-title{display:flex;align-items:center;gap:12px;margin-bottom:14px}.family-section-title>span{display:grid;width:48px;height:48px;place-items:center;color:#fff;border-radius:13px;background:#1f80ba;font-family:ui-monospace,monospace;font-weight:900}.family-section-title h3,.family-section-title p{margin:0}.family-section-title h3{font-size:1.08rem}.family-section-title p{margin-top:3px;color:var(--muted);font-size:.74rem}.family-header{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:18px}.family-header button{flex:0 0 auto;padding:8px 10px;color:#277ba9;border:1px solid var(--line);border-radius:9px;background:var(--surface)}.family-map-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:16px;background:var(--surface-2);scrollbar-gutter:stable}.family-map{display:block;max-width:none}.eco-lane{fill:color-mix(in srgb,var(--surface) 78%,transparent);stroke:var(--line)}.eco-heading{fill:#54728e;font-size:12px;font-weight:850;letter-spacing:.04em}.active-links line{stroke:#f3a21d;stroke-width:3;stroke-linecap:round;opacity:.85}.map-card{cursor:pointer;transition:opacity .15s}.map-card circle{fill:#66bde6;stroke:var(--surface);stroke-width:4}.map-card:hover circle,.map-card.selected circle{fill:#f4a31f;stroke:#17385e;stroke-width:4}.map-card.quiet{opacity:.22}.map-card-name{fill:var(--navy);font-size:9.5px;font-weight:800;text-anchor:middle}.map-card-meta{fill:#fff;font-size:8.5px;font-weight:850;text-anchor:middle}.workspace.focused .family-header p{font-size:.78rem}.workspace.focused .family-map-scroll{max-height:calc(100vh - 245px)}.style-grid{grid-template-columns:repeat(5,minmax(150px,1fr))}.style-card{min-height:205px;overflow:hidden}.style-card>span{display:grid;width:48px;height:48px;place-items:center;margin-bottom:18px;color:#fff;border-radius:15px;background:#4b96c0;font-size:1.3rem}.style-card p{min-height:42px;margin:8px 0 14px;color:var(--muted);font-size:.78rem;line-height:1.45}.style-card small{color:#277da9;font-weight:800}.style-1>span{background:#e88634}.style-2>span{background:#d35f7d}.style-3>span{background:#5b7fc7}.style-4>span{background:#43a183}.style-results{display:grid;gap:26px}.style-results section>h3{display:flex;gap:9px;align-items:center;margin-bottom:10px;font-size:1rem}.style-results h3>span{padding:5px 8px;color:#fff;border-radius:7px;background:#1f80ba;font-family:ui-monospace,monospace}.style-results h3 small{margin-left:auto;color:var(--muted);font-weight:500}.opening-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:9px}.opening-card{display:grid;gap:3px;min-height:105px;padding:12px;text-align:left;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.opening-card:hover,.opening-card.selected{border-color:#3e9ece;background:color-mix(in srgb,var(--surface) 84%,#d6f1ff)}.opening-card>span{color:#2781af;font-family:ui-monospace,monospace;font-size:.72rem;font-weight:850}.opening-card small{overflow:hidden;color:var(--muted);font-size:.72rem;text-overflow:ellipsis;white-space:nowrap}.opening-card em{margin-top:6px;color:#76879a;font-size:.68rem;font-style:normal}.search-results{margin-top:16px;padding:28px}.empty{display:grid;min-height:250px;place-items:center;color:var(--muted)}.detail{position:sticky;top:16px;max-height:calc(100vh - 32px);overflow-y:auto}.detail-content{position:relative;padding:clamp(22px,3vw,36px)}.detail-close{position:absolute;z-index:2;top:12px;right:12px;width:32px;height:32px;padding:0;border:1px solid var(--line);border-radius:50%;background:var(--surface-2);font-size:1.25rem}.detail-title{display:flex;justify-content:space-between;gap:10px;padding-right:30px}.detail h2{margin:0 0 3px;font-size:1.7rem}.detail-title>div>p:last-child{margin:0;color:var(--muted)}.category{height:fit-content;padding:5px 9px;color:#0873a9;border-radius:999px;background:#dff5ff;font-size:.72rem;font-weight:850}.category.fun{color:#9d5a00;background:#fff0cf}.tags{display:flex;flex-wrap:wrap;gap:6px;margin:15px 0}.tags span{padding:4px 8px;color:#506b8b;border-radius:999px;background:var(--surface-2);font-size:.7rem;font-weight:750}.detail section{margin-top:22px}.detail h3{margin-bottom:8px;font-size:.92rem}.detail p{color:var(--muted);font-size:.87rem;line-height:1.62}.section-heading{display:flex;justify-content:space-between;align-items:center}.section-heading button,.neighbours button{border:0;border-radius:8px;background:var(--surface-2)}.section-heading button{padding:5px 8px;color:#1979ac;font-size:.72rem}.mainline,.move-line{padding:10px;color:#385775!important;border-radius:10px;background:#eef5fc;font-family:ui-monospace,monospace;font-size:.74rem!important;line-height:1.5!important}[data-theme=dark] .mainline,[data-theme=dark] .move-line{color:#cee3f6!important;background:#20334d}.active-line-heading{display:flex;align-items:center;gap:10px;max-width:480px;margin:18px auto 10px}.active-line-heading>span{display:grid;width:40px;height:40px;flex:0 0 auto;place-items:center;color:#fff;border-radius:50%;background:#f0a11d;font-weight:900}.active-line-heading small,.active-line-heading b{display:block}.active-line-heading small{color:var(--muted);font-size:.68rem}.active-line-heading b{max-width:52ch;overflow:hidden;font-size:.82rem;text-overflow:ellipsis;white-space:nowrap}.board{display:grid;grid-template-columns:repeat(8,1fr);width:min(100%,460px);margin:0 auto;border:6px solid #17385e;box-shadow:0 10px 28px #1e304b38}.board-frame{display:grid;grid-template-columns:15px minmax(0,1fr);grid-template-rows:minmax(0,1fr) 15px;width:min(100%,475px);margin:0 auto}.board-frame .board{grid-column:2;grid-row:1;width:100%;margin:0}.rank-coordinates{display:grid;grid-column:1;grid-row:1;grid-template-rows:repeat(8,1fr);padding-block:6px}.file-coordinates{display:grid;grid-column:2;grid-row:2;grid-template-columns:repeat(8,1fr);padding-inline:6px}.rank-coordinates span,.file-coordinates span{display:grid;place-items:center;color:var(--muted);font-family:ui-monospace,monospace;font-size:.55rem;font-weight:850;text-transform:lowercase}.square{display:grid;aspect-ratio:1;place-items:center}.square.light{background:#f0d9b5}.square.dark{background:#ae7d56}.board.cg-wrap piece{position:static;display:block;width:92%;height:92%;background-position:center;background-repeat:no-repeat;background-size:contain;filter:drop-shadow(0 2px 1px rgba(50,32,20,.22));pointer-events:none}.board-controls{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:12px}.board-controls button{width:36px;height:32px;padding:0;color:#294b6d;border:0;border-radius:8px;background:#e8f1fb}.board-controls button:disabled{cursor:not-allowed;opacity:.36}.board-controls button.sound-toggle{margin-left:8px}.board-controls button.sound-toggle.on{box-shadow:inset 0 0 0 2px #5bb9e2}.board-controls span{min-width:48px;color:var(--muted);text-align:center;font-size:.76rem}.move-line{min-height:40px;max-width:600px;margin:10px auto 0}.line-choices>p{margin-bottom:10px;font-size:.76rem}.line-choices>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.line-choices button{display:grid;grid-template-columns:36px 1fr;grid-template-rows:auto auto;gap:2px 8px;align-items:center;min-height:64px;padding:8px;text-align:left;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.line-choices button>span{display:grid;grid-row:1 / 3;width:34px;height:34px;place-items:center;color:#267ca9;border:3px solid #67bce4;border-radius:50%;font-weight:900}.line-choices button b{overflow:hidden;font-size:.72rem;text-overflow:ellipsis;white-space:nowrap}.line-choices button small{color:var(--muted);font-size:.64rem}.line-choices button.active{border-color:#ee9d16;background:#fff7e6}.line-choices button.active>span{color:#fff;border-color:#ee9d16;background:#ee9d16}[data-theme=dark] .line-choices button.active{background:#44351f}.variation-note{padding:9px 11px;border-left:3px solid #f0a11d;background:var(--surface-2)}.neighbours{display:grid;gap:7px}.neighbours button{display:grid;gap:3px;width:100%;padding:9px;text-align:left}.neighbours span{color:var(--muted);font-size:.7rem}.modal-detail{position:fixed;z-index:20;inset:3vh max(16px,calc((100vw - 760px)/2));max-height:94vh;box-shadow:0 24px 80px #00000057}@media(max-width:1050px){.style-grid{grid-template-columns:repeat(3,1fr)}.workspace.focused{grid-template-columns:minmax(270px,.7fr) minmax(460px,1.3fr)}}@media(max-width:820px){.workspace{grid-template-columns:1fr}.detail{position:fixed;z-index:30;inset:auto 0 0;max-height:86vh;border-radius:22px 22px 0 0;box-shadow:0 -18px 50px #00000047}.detail:before{content:"";display:block;width:44px;height:4px;margin:8px auto -2px;border-radius:999px;background:#a6b5c5}.side-grid{grid-template-columns:1fr}.style-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){main{padding:14px 11px 32px}.hero{padding-top:8px}.theme-button{padding:7px;font-size:.74rem}.lens-tabs button{grid-template-columns:28px auto;padding:10px}.lens-tabs button>span{font-size:1.35rem}.lens-tabs small{display:none}.explorer-panel,.search-results{padding:17px}.side-card{grid-template-columns:65px 1fr auto;min-height:145px;padding:17px}.side-piece{font-size:3.6rem}.route-grid,.family-grid{grid-template-columns:1fr}.style-grid{grid-template-columns:1fr 1fr}.style-card{min-height:175px;padding:14px}.style-card>span{margin-bottom:10px}.style-card p{min-height:58px}.family-header{display:block}.family-header button{margin-top:12px}.opening-card-grid{grid-template-columns:1fr 1fr}.line-choices>div{grid-template-columns:1fr 1fr}.modal-detail{inset:auto 0 0}.detail-content{padding:18px}}.atlas-trunk,.tree-stem,.zone-connector,.family-branch:before,.opening-tree-node:before,.variation-rail,.variation-leaves>span:before{width:2px;border:0;background:repeating-linear-gradient(180deg,#8f9da7 0 7px,transparent 7px 13px);background-size:2px 26px;animation:branch-flow-y .9s linear infinite}.subgroup-branch-list:before,.family-branch-list:before,.opening-tree-grid:before,.variation-leaves:before{height:2px;border:0;background:repeating-linear-gradient(90deg,#8f9da7 0 7px,transparent 7px 13px);background-size:26px 2px;animation:branch-flow-x .9s linear infinite}.taxonomy-zone .zone-connector,.taxonomy-zone .family-branch:before{background-image:repeating-linear-gradient(180deg,color-mix(in srgb,var(--zone) 58%,#84929b) 0 7px,transparent 7px 13px)}.taxonomy-zone .subgroup-branch-list:before,.taxonomy-zone .family-branch-list:before{background-image:repeating-linear-gradient(90deg,color-mix(in srgb,var(--zone) 58%,#84929b) 0 7px,transparent 7px 13px)}.taxonomy-zone.active .zone-connector,.taxonomy-zone.active .subgroup-branch:before,.taxonomy-zone.active .subgroup-branch-list:before,.taxonomy-zone.active .family-branch:before,.taxonomy-zone.active .family-branch-list:before{animation-duration:.58s;filter:drop-shadow(0 0 2px color-mix(in srgb,var(--zone) 45%,transparent))}.opening-tree-node.selected:before{background-image:repeating-linear-gradient(180deg,#ef9918 0 7px,transparent 7px 13px);animation-duration:.55s;filter:drop-shadow(0 0 2px rgba(239,153,24,.5))}.variation-tree .variation-rail,.variation-tree .variation-leaves>span:before{background-image:repeating-linear-gradient(180deg,#a025b8 0 7px,transparent 7px 13px)}.variation-tree .variation-leaves:before{background-image:repeating-linear-gradient(90deg,#a025b8 0 7px,transparent 7px 13px)}@keyframes branch-flow-y{to{background-position:0 26px}}@keyframes branch-flow-x{to{background-position:26px 0}}.classification-atlas{overflow:hidden}.taxonomy-with-board{display:grid;grid-template-columns:minmax(0,1fr) 286px;gap:20px;align-items:start}.map-board-preview{position:sticky;top:16px;display:grid;justify-items:center;padding:18px 14px;border:1px solid var(--line);border-radius:18px;background:color-mix(in srgb,var(--surface) 92%,transparent);box-shadow:0 12px 28px #1f3e5c1f}.map-board-preview .eyebrow{justify-self:start;width:100%}.map-board-preview h3{justify-self:start;width:100%;margin-bottom:2px;font-size:.78rem;color:var(--muted)}.map-board-preview>b{justify-self:start;width:100%;margin-bottom:14px;font-size:1rem}.map-board-preview .board-section,.map-board-preview .board{width:100%}.map-board-preview .board{border-width:4px}.map-board-preview .map-preview-line{width:100%;min-height:34px;margin:12px 0 7px;padding:8px;color:#2d6387;border-radius:8px;background:var(--surface-2);font-family:ui-monospace,monospace;font-size:.72rem;font-weight:800}.map-board-preview>small{width:100%;overflow:hidden;color:var(--muted);font-size:.64rem;text-overflow:ellipsis;white-space:nowrap}.board.autoplay .square.arrived piece{animation:piece-arrive .34s cubic-bezier(.2,.8,.25,1) both}.board.autoplay .square.arrived{box-shadow:inset 0 0 0 3px #f5b03594}@keyframes piece-arrive{0%{opacity:.45;transform:translateY(-18%) scale(.86)}to{opacity:1;transform:translateY(0) scale(1)}}.atlas-root,.family-tree-root{display:flex;width:fit-content;align-items:center;gap:11px;margin:0 auto;padding:10px 15px;border:1px solid #b9cad9;border-radius:15px;background:#e7edf1;box-shadow:0 8px 20px #2a445b14}.atlas-root>span,.family-tree-root>span{display:grid;width:46px;height:46px;place-items:center;color:#fff;border-radius:50%;background:#607f8e;font-size:1.65rem}.atlas-root b,.atlas-root small,.family-tree-root b,.family-tree-root small{display:block}.atlas-root small,.family-tree-root small{margin-top:2px;color:#64788b;font-size:.69rem}.atlas-trunk,.tree-stem{width:0;height:30px;margin:0 auto;border-left:2px dashed #9ca9b2}.taxonomy-zones{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.taxonomy-zone{--zone: #42ad55;--zone-soft: #eaf7ec;position:relative;min-width:0;padding:18px 15px 20px;overflow:hidden;border:1px solid color-mix(in srgb,var(--zone) 22%,var(--line));border-radius:18px;background:var(--zone-soft);transition:transform .2s ease,box-shadow .2s ease}.taxonomy-zone:nth-child(2){--zone: #268fe0;--zone-soft: #e9f3fd}.taxonomy-zone:nth-child(3){--zone: #f39812;--zone-soft: #fff4e5}.taxonomy-zone:nth-child(4){--zone: #a025b8;--zone-soft: #f8ebfa}.taxonomy-zone:nth-child(5){--zone: #d74e7d;--zone-soft: #fcecf2;grid-column:1 / -1}.taxonomy-zone.active{box-shadow:inset 0 0 0 2px var(--zone),0 12px 28px color-mix(in srgb,var(--zone) 16%,transparent);animation:frame-pulse 1.9s ease-in-out infinite}.move-hub{display:grid;width:fit-content;min-width:122px;margin:0 auto;justify-items:center;border:0;background:transparent}.move-symbol,.subgroup-symbol,.family-symbol{position:relative;display:grid;width:fit-content;place-items:center}.move-circle{display:flex;width:72px;height:72px;align-items:center;justify-content:center;gap:2px;color:#fff;border:5px solid #fff;border-radius:50%;background:var(--zone);box-shadow:0 7px 16px color-mix(in srgb,var(--zone) 24%,transparent);font-family:ui-monospace,monospace;font-size:.82rem;font-weight:900;transition:transform .18s ease}.move-hub:hover .move-circle{transform:scale(1.08)}.mover-black .move-circle,.mover-black .subgroup-symbol>span,.subgroup-symbol.mover-black>span,.family-symbol.mover-black .branch-node{border-color:#111827}.mover-white .move-circle,.subgroup-symbol.mover-white>span,.family-symbol.mover-white .branch-node{border-color:#fff}.move-circle i,.subgroup-symbol i,.branch-node i{font-style:normal}.map-piece-icon{position:static;display:block;width:27px;height:27px;flex:0 0 auto;filter:drop-shadow(0 1px 1px rgba(25,35,45,.2));pointer-events:none}.map-piece-icon piece{position:static;display:block;width:100%;height:100%;background-position:center;background-repeat:no-repeat;background-size:contain}.subgroup-symbol .map-piece-icon,.family-symbol .map-piece-icon{width:24px;height:24px}.move-hub b{margin-top:6px;font-size:.82rem}.move-hub small{color:var(--zone);font-size:.68rem;font-weight:800}.zone-connector{width:0;height:22px;margin:3px auto 0;border-left:2px dashed #9fa9ad}.subgroup-branch-list{position:relative;display:grid;grid-template-columns:repeat(auto-fit,minmax(108px,1fr));gap:15px 8px;padding-top:18px}.subgroup-branch-list:before{content:"";position:absolute;top:0;left:8%;right:8%}.subgroup-branch{position:relative;display:grid;min-width:0;justify-items:center;padding:0 4px;text-align:center;border:0;background:transparent}.subgroup-branch:before{content:"";position:absolute;top:-18px;width:2px;height:18px;background:repeating-linear-gradient(180deg,color-mix(in srgb,var(--zone) 58%,#84929b) 0 7px,transparent 7px 13px);background-size:2px 26px;animation:branch-flow-y .9s linear infinite}.subgroup-symbol>span{display:flex;width:64px;height:64px;align-items:center;justify-content:center;gap:1px;color:#fff;border:4px solid #fff;border-radius:50%;background:color-mix(in srgb,var(--zone) 82%,#566a77);font-family:ui-monospace,monospace;font-size:.62rem;font-weight:900;transition:transform .18s ease,box-shadow .18s ease}.subgroup-branch:hover .subgroup-symbol>span{transform:scale(1.09);box-shadow:0 0 0 5px color-mix(in srgb,var(--zone) 18%,transparent)}.subgroup-branch.expanded .subgroup-symbol>span{transform:scale(1.2);box-shadow:0 0 0 8px color-mix(in srgb,var(--zone) 22%,transparent),0 8px 20px color-mix(in srgb,var(--zone) 30%,transparent)}.subgroup-branch.expanded>b{color:var(--zone);transform:translateY(5px)}.subgroup-branch.expanded>small{transform:translateY(5px)}.subgroup-branch>b{margin-top:6px;font-size:.7rem}.subgroup-branch>small{margin-top:2px;color:var(--zone);font-size:.61rem;font-weight:800}.subgroup-family-panel{margin-top:20px;padding:14px 12px 16px;border:1px solid color-mix(in srgb,var(--zone) 35%,var(--line));border-radius:14px;background:color-mix(in srgb,var(--surface) 72%,transparent);animation:panel-open .42s cubic-bezier(.2,.8,.25,1) both}.subgroup-heading{display:flex;justify-content:center;align-items:baseline;gap:8px;margin-bottom:2px;text-align:center}.subgroup-heading b{font-size:.76rem}.subgroup-heading small{color:var(--muted);font-size:.61rem}.family-branch-list{position:relative;display:grid;grid-template-columns:repeat(auto-fit,minmax(112px,1fr));gap:17px 8px;padding-top:18px}.family-branch-list:before{content:"";position:absolute;top:0;left:7%;right:7%;border-top:2px dashed #a7afb3}.family-branch{position:relative;display:grid;min-width:0;justify-items:center;padding:0 4px;text-align:center;border:0;background:transparent}.family-branch-wrap{position:relative;display:grid;min-width:0;justify-items:center;align-content:start}.family-branch-wrap.selected .branch-node{transform:scale(1.08);box-shadow:0 0 0 5px color-mix(in srgb,var(--zone) 18%,transparent)}.family-enter{margin-top:7px;padding:5px 8px;color:#fff;border:0;border-radius:999px;background:var(--zone);font-size:.6rem;font-weight:850;animation:card-in .2s both}.family-branch:before{content:"";position:absolute;top:-18px;height:18px;border-left:2px dashed #a7afb3}.branch-node{display:flex;width:64px;height:64px;align-items:center;justify-content:center;gap:1px;color:#fff;border:4px solid #fff;border-radius:50%;background:var(--zone);font-family:ui-monospace,monospace;font-size:.6rem;font-weight:900;transition:transform .18s ease,box-shadow .18s ease}.family-branch:hover .branch-node{transform:scale(1.09);box-shadow:0 0 0 5px color-mix(in srgb,var(--zone) 16%,transparent)}.family-branch>b{max-width:120px;margin-top:6px;font-size:.7rem;line-height:1.25}.family-branch>small{margin-top:3px;color:var(--zone);font-size:.62rem;font-weight:800}.family-branch>em{max-width:120px;margin-top:4px;overflow:hidden;color:var(--muted);font-size:.58rem;font-style:normal;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.subgroup-family-panel .family-branch-list{display:flex;flex-wrap:wrap;justify-content:center;gap:22px 10px;padding-top:12px}.subgroup-family-panel .family-branch-list:before,.subgroup-family-panel .family-branch:before{display:none}.subgroup-family-panel .family-branch-wrap{width:calc(25% - 10px);min-width:112px;max-width:145px}.family-symbol{margin:0 auto}.family-opening-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));align-items:start;gap:12px;margin-top:12px}.family-opening-groups.compact-families.family-count-2{grid-template-columns:repeat(2,minmax(0,1fr))}.family-opening-groups.compact-families.family-count-3{grid-template-columns:repeat(3,minmax(0,1fr))}.family-opening-groups.compact-families.family-count-4{grid-template-columns:repeat(4,minmax(0,1fr))}.inline-family-openings{min-width:0;padding:14px 10px 10px;border:1px solid color-mix(in srgb,var(--zone) 30%,var(--line));border-radius:13px;background:color-mix(in srgb,var(--zone) 5%,var(--surface));transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.inline-family-openings.wide-family{grid-column:1 / -1}.flat-subgroup-openings{margin-top:12px;padding:10px 4px 2px}.inline-family-heading{display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:7px;margin-bottom:12px;text-align:center}.inline-family-heading b{font-size:.76rem}.inline-family-heading small{color:var(--muted);font-size:.61rem}.inline-opening-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:14px 9px;width:100%}.inline-opening-grid button{display:grid;flex:0 0 calc((100% - 27px)/4);min-width:0;justify-items:center;align-content:start;padding:0 4px 8px;text-align:center;border:0;border-radius:12px;background:transparent}.inline-opening-grid button>span{display:grid;width:57px;height:57px;place-items:center;color:#fff;border:4px solid #8ccbed;border-radius:50%;background:#278cc6;font-family:ui-monospace,monospace;font-size:.67rem;font-weight:900;transition:transform .18s ease,box-shadow .18s ease}.inline-opening-grid button:hover>span,.inline-opening-grid button.selected>span{transform:scale(1.08);border-color:#ffc65f;background:#ee9a18;box-shadow:0 0 0 5px #ee9a1824}.inline-opening-grid button>b{width:100%;max-width:140px;margin-top:5px;font-size:.65rem;line-height:1.3}.inline-opening-grid button>small{width:100%;max-width:140px;margin-top:3px;overflow:hidden;color:var(--muted);font-size:.54rem;line-height:1.3}.inline-opening-grid button>b span,.inline-opening-grid button>b em,.inline-opening-grid button>small span,.inline-opening-grid button>small em{display:block;overflow:hidden;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.inline-opening-grid button>b em{margin-top:1px}.deeper-branch-level{min-width:0;padding-top:2px}.deeper-heading{display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:7px;margin-bottom:11px;text-align:center}.deeper-heading b{font-size:.72rem}.deeper-heading small{color:var(--muted);font-size:.58rem}.deeper-branch-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));align-items:start;gap:10px}.deeper-group-frame{min-width:0;padding:10px 8px;border:1px solid color-mix(in srgb,var(--zone) 34%,var(--line));border-radius:13px;background:color-mix(in srgb,var(--surface) 88%,var(--zone-soft))}.deeper-group-frame.large{grid-column:1 / -1}.deeper-group-frame>button{display:grid;min-width:82px;margin:0 auto;justify-items:center;gap:4px;padding:7px 9px;border:0;border-radius:12px;background:transparent;transition:transform .18s ease,box-shadow .18s ease}.deeper-group-frame>button:hover{transform:translateY(-2px)}.deeper-group-frame>button.selected{box-shadow:0 0 0 3px #ee9a182e}.deeper-group-frame>button>span{display:flex;width:54px;height:54px;align-items:center;justify-content:center;gap:1px;color:#fff;border:4px solid #fff;border-radius:50%;background:var(--zone);font-family:ui-monospace,monospace;font-size:.61rem;font-weight:900}.deeper-group-frame>button>span.mover-black{border-color:#111827}.deeper-group-frame>button i{font-style:normal}.deeper-group-frame>button b{color:var(--zone);font-size:.58rem}.deeper-results{margin-top:9px;padding-top:10px;border-top:1px dashed color-mix(in srgb,var(--zone) 42%,var(--line));animation:panel-open .3s both}.workspace.focused .taxonomy-with-board{grid-template-columns:1fr}.workspace.focused .map-board-preview,.workspace.focused .taxonomy-zone:not(.active){display:none}.workspace.focused .taxonomy-zones{grid-template-columns:1fr}.workspace.focused .taxonomy-zone.active{grid-column:auto}@keyframes frame-pulse{0%,to{box-shadow:inset 0 0 0 2px var(--zone),0 10px 24px color-mix(in srgb,var(--zone) 12%,transparent)}50%{box-shadow:inset 0 0 0 3px var(--zone),0 16px 34px color-mix(in srgb,var(--zone) 25%,transparent)}}@keyframes panel-open{0%{opacity:0;transform:translateY(-8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.family-opening-tree{padding:20px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,#eef7fb,color-mix(in srgb,var(--surface) 88%,transparent))}[data-theme=dark] .family-opening-tree{background:linear-gradient(145deg,#1b3449,#17243a)}.family-tree-root>span{background:#258bc7;font-family:ui-monospace,monospace;font-size:.75rem;font-weight:900}.opening-tree-grid{position:relative;display:grid;grid-template-columns:repeat(auto-fit,minmax(106px,1fr));gap:22px 9px;padding-top:20px}.opening-tree-grid:before{content:"";position:absolute;top:0;left:4%;right:4%;border-top:2px dashed #99a9b3}.opening-tree-node{position:relative;display:grid;min-width:0;justify-items:center;padding:0 4px;text-align:center;border:0;background:transparent}.opening-tree-node:before{content:"";position:absolute;top:-20px;height:20px;border-left:2px dashed #99a9b3}.opening-tree-node>span{display:grid;width:57px;height:57px;place-items:center;color:#fff;border:4px solid #80c7ea;border-radius:50%;background:#288fc9;font-family:ui-monospace,monospace;font-size:.72rem;font-weight:900;transition:transform .18s ease,background .18s ease,box-shadow .18s ease}.opening-tree-node:hover>span,.opening-tree-node.selected>span{transform:scale(1.1);border-color:#ffc25d;background:#ef9918;box-shadow:0 0 0 5px #ef991826}.opening-tree-node>b{max-width:112px;margin-top:6px;font-size:.68rem;line-height:1.3}.opening-tree-node>small{max-width:112px;margin-top:3px;overflow:hidden;color:var(--muted);font-size:.56rem;text-overflow:ellipsis;white-space:nowrap}.variation-tree{margin-top:28px;padding:18px;border:1px solid #e7c8ec;border-radius:16px;background:#f9edfb;animation:card-in .3s both}[data-theme=dark] .variation-tree{border-color:#62436a;background:#38253d}.variation-origin{display:flex;width:fit-content;align-items:center;gap:8px;margin:0 auto}.variation-origin>span{display:grid;width:42px;height:42px;place-items:center;color:#fff;border-radius:50%;background:#9d2bb6;font-family:ui-monospace,monospace;font-size:.65rem;font-weight:900}.variation-origin b{font-size:.76rem}.variation-rail{width:0;height:22px;margin:0 auto;border-left:2px dashed #a6a1aa}.variation-leaves{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding-top:18px}.variation-leaves:before{content:"";position:absolute;top:0;left:10%;right:10%;border-top:2px dashed #a6a1aa}.variation-leaves>span{position:relative;display:grid;justify-items:center;text-align:center}.variation-leaves>span:before{content:"";position:absolute;top:-18px;height:18px;border-left:2px dashed #a6a1aa}.variation-leaves i{display:grid;width:43px;height:43px;place-items:center;color:#fff;border-radius:50%;background:#a025b8;font-style:normal;font-weight:900}.variation-leaves b{max-width:130px;margin-top:5px;font-size:.64rem;line-height:1.3}.variation-tree>p{margin:14px 0 0;color:#77507e;text-align:center;font-size:.67rem}[data-theme=dark] .variation-tree>p{color:#d6b9dc}@media(max-width:1050px){.taxonomy-with-board{grid-template-columns:minmax(0,1fr) 240px;gap:12px}.map-board-preview{padding:12px}}@media(max-width:820px){.taxonomy-with-board{grid-template-columns:1fr}.map-board-preview{position:relative;top:auto;grid-row:1;width:min(100%,360px);margin:0 auto}.taxonomy-zones{grid-template-columns:1fr}.taxonomy-zone:nth-child(5){grid-column:auto}}@media(max-width:560px){.classification-atlas{overflow-x:auto}.taxonomy-zones{min-width:560px}.family-opening-tree{padding:15px 10px}.opening-tree-grid{grid-template-columns:repeat(3,minmax(92px,1fr))}.variation-leaves{grid-template-columns:repeat(2,1fr);row-gap:25px}.variation-leaves:before,.variation-leaves>span:before{display:none}}@media(max-width:680px){.directory-heading.with-summary{display:grid}.map-summary{width:100%;justify-content:center}.family-opening-groups,.family-opening-groups.compact-families{grid-template-columns:1fr}.inline-opening-grid button{flex-basis:calc((100% - 9px)/2)}}.explorer-panel.split-overview{min-height:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.selection-frame,.family-directory.detached{padding:clamp(18px,3vw,32px);border:1px solid var(--line);border-radius:20px;background:color-mix(in srgb,var(--surface) 92%,transparent);box-shadow:var(--shadow)}.side-switcher{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-bottom:14px}.side-switcher button{display:grid;grid-template-columns:45px auto;grid-template-rows:auto auto;align-items:center;column-gap:10px;min-height:74px;padding:11px 17px;text-align:left;border:1px solid var(--line);border-radius:15px;background:color-mix(in srgb,var(--surface) 86%,#dfe7ee);box-shadow:0 6px 18px #26435e0f;transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease}.side-switcher button>span{display:grid;grid-row:1 / 3;width:42px;height:42px;place-items:center;color:#24415f;border:1px solid #c7d9e7;border-radius:50%;background:#f8fbfd;font-size:1.7rem}.side-switcher button b{align-self:end;font-size:.95rem}.side-switcher button small{align-self:start;color:var(--muted);font-size:.68rem}.side-switcher button:hover{transform:translateY(-2px);border-color:#75b9df;box-shadow:0 10px 23px #265b7f1f}.side-switcher button.active.white-side{color:#fff;border-color:#268fc9;background:linear-gradient(135deg,#207eb6,#43a9d8);box-shadow:0 10px 24px #207eb638}.side-switcher button.active.black-side{color:#fff;border-color:#132842;background:linear-gradient(135deg,#294867,#13243c);box-shadow:0 10px 24px #13243c40}.side-switcher button.active>span{color:#193451;border-color:#ffffffb3;background:#fff}.side-switcher button.active small{color:#e2f4ff}.selection-frame .breadcrumb{margin-bottom:14px}.back-button{margin:0 0 24px;padding:8px 11px;color:#277ba9;border:1px solid var(--line);border-radius:10px;background:var(--surface);font-size:.82rem;font-weight:750}.family-directory.detached{margin-top:22px;padding-top:clamp(18px,3vw,32px);border-top:1px solid var(--line)}.directory-heading.with-summary{display:flex;justify-content:space-between;align-items:center;gap:24px}.directory-heading.with-summary>div{min-width:0}.directory-heading.with-summary>div>p:last-child{max-width:62ch;margin-bottom:0;color:var(--muted);line-height:1.55}.map-summary{display:flex;flex:0 0 auto;align-items:center;gap:15px;padding:13px 17px;border:1px solid var(--line);border-radius:15px;background:var(--surface-2);box-shadow:0 7px 18px #24496912}.map-summary span{display:grid;min-width:66px;justify-items:center}.map-summary b{color:#217eae;font-family:ui-monospace,monospace;font-size:1.35rem}.map-summary small{margin-top:2px;color:var(--muted);font-size:.64rem;font-weight:800}.map-summary i{width:1px;height:36px;background:var(--line)}.first-move-preview{display:grid;grid-template-columns:minmax(210px,1fr) minmax(240px,320px);align-items:center;gap:clamp(22px,5vw,72px);margin-top:28px;padding:24px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,color-mix(in srgb,var(--surface-2) 70%,transparent),var(--surface))}.preview-copy h3{margin-bottom:10px;font-size:1.35rem}.preview-copy p{max-width:48ch;color:var(--muted);line-height:1.65}.preview-copy small{color:#277ba9;font-weight:750}.route-card,.family-card,.style-card{transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;animation:card-in .32s both}.route-card:nth-child(2),.family-card:nth-child(2){animation-delay:35ms}.route-card:nth-child(3),.family-card:nth-child(3){animation-delay:.07s}.route-card:nth-child(4),.family-card:nth-child(4){animation-delay:.105s}.route-card:nth-child(5),.family-card:nth-child(5){animation-delay:.14s}.route-card:hover,.family-card:hover:not(:disabled),.style-card:hover{transform:translateY(-3px) scale(1.008);box-shadow:0 14px 28px #245b821f}.route-card:active,.family-card:active:not(:disabled),.style-card:active{transform:translateY(0) scale(.985)}.route-card.active{box-shadow:inset 0 0 0 2px #1786c3,0 12px 26px #1786c324}@keyframes card-in{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}.board.manual{box-shadow:0 0 0 3px #5bb9e2,0 10px 28px #1e304b38}.square{position:relative;min-width:0;padding:0;overflow:hidden;border:0;border-radius:0}.square:disabled{cursor:default;opacity:1}.square.selected-square{box-shadow:inset 0 0 0 4px #f2a31c}.square.legal-target:after{content:"";position:absolute;width:24%;aspect-ratio:1;border-radius:50%;background:#163f5c7a}.square.legal-target:has(.piece):after{width:82%;border:4px solid rgba(240,157,18,.82);background:transparent}.piece{position:relative;z-index:1}.board-section.compact .board{width:min(100%,290px);border-width:5px}.board-section.compact .piece{font-size:clamp(18px,3vw,30px)}.board-controls{flex-wrap:wrap}.board-controls button.manual-toggle{width:auto;padding:0 11px;color:#fff;background:#277ba9;font-size:.72rem;font-weight:800}.board-controls button.manual-toggle.on{background:#e08d11}.stockfish-panel{max-width:600px;margin:12px auto 0;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}.engine-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}.engine-heading b,.engine-heading small{display:block}.engine-heading small{margin-top:2px;color:var(--muted);font-size:.67rem}.engine-heading>strong{font-family:ui-monospace,monospace;font-size:1.15rem}.eval-bar{height:7px;margin:9px 0 7px;overflow:hidden;border-radius:999px;background:#26364a}.eval-bar span{display:block;height:100%;background:#f7f3e8;transition:width .25s ease}.stockfish-panel p{margin:0 0 3px;color:var(--navy);font-family:ui-monospace,monospace;font-size:.74rem}.stockfish-panel>small{color:var(--muted);font-size:.62rem}.stockfish-panel a{margin-left:4px;color:#1f7eaf}@media(max-width:820px){.first-move-preview{grid-template-columns:1fr}.preview-copy{text-align:center}.preview-copy p{margin-inline:auto}.directory-heading.with-summary{align-items:flex-start}.map-summary{padding:10px 12px}}@media(max-width:680px){.directory-heading.with-summary{display:grid}.map-summary{width:100%;justify-content:center}}@media(max-width:560px){.selection-frame,.family-directory.detached{padding:17px}.explorer-panel.split-overview{padding:0}.first-move-preview{padding:16px}.side-switcher{position:sticky;z-index:8;top:6px;gap:7px}.side-switcher button{grid-template-columns:32px auto;min-height:60px;padding:8px 10px}.side-switcher button>span{width:30px;height:30px;font-size:1.25rem}.side-switcher button b{font-size:.8rem}}.family-opening-groups,.deeper-branch-grid{align-items:stretch}.inline-family-openings{container:family-card / inline-size;height:100%}.deeper-group-frame{container:branch-frame / inline-size;height:100%}.inline-opening-grid button{overflow:visible}.inline-opening-grid button>b,.inline-opening-grid button>small{max-width:100%;overflow:visible;overflow-wrap:anywhere}.inline-opening-grid button>b span,.inline-opening-grid button>b em,.inline-opening-grid button>small span,.inline-opening-grid button>small em{overflow:visible;text-overflow:clip;white-space:normal}@container family-card (max-width: 360px){.inline-opening-grid button{flex-basis:calc((100% - 9px)/2)}}@container branch-frame (max-width: 360px){.inline-opening-grid button{flex-basis:calc((100% - 9px)/2)}}.move-line{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.move-token{display:inline-grid;min-width:34px;min-height:28px;padding:4px 7px;place-items:center;border-radius:8px;font-weight:900;line-height:1}.move-token.white-move{color:#16253a;border:1px solid #aebed0;background:#fff;box-shadow:0 2px 6px #1e375217}.move-token.black-move{color:#fff;border:1px solid #0b1523;background:#17263a;box-shadow:0 2px 6px #0000002e}.manual-label{margin-right:2px;color:var(--muted);font-family:inherit;font-size:.66rem}.board-section.compact .board-frame{width:min(100%,305px)}.board-section.compact .board{width:100%}.board.cg-wrap piece{position:relative;z-index:1}.square.changed-piece:before{content:"";position:absolute;z-index:0;top:1px;right:1px;bottom:1px;left:1px;pointer-events:none;border:2px solid #20a8f2;border-radius:2px;box-shadow:inset 0 0 0 1px #ffffff94,0 0 7px #27a9f29e;animation:changed-piece-pulse 1.55s ease-in-out infinite}@keyframes changed-piece-pulse{0%,to{opacity:.62;box-shadow:inset 0 0 0 1px #ffffff80,0 0 4px #27a9f261}50%{opacity:1;box-shadow:inset 0 0 0 1px #ffffffbf,0 0 10px #27a9f2cc}}.memory-card{padding:15px 16px;border:1px solid #f0cf83;border-radius:14px;background:color-mix(in srgb,var(--surface) 82%,#fff0bd)}.memory-card .eyebrow,.famous-games .eyebrow{margin-bottom:3px}.memory-card h3{margin-top:0}.memory-card p:last-child{margin-bottom:0;color:var(--navy)}.famous-games .section-heading>div{min-width:0}.famous-games .section-heading h3{margin:0}.famous-games .section-heading>small{color:var(--muted);font-size:.68rem}.famous-game-list{display:grid;gap:8px;margin-top:10px}.famous-game-list article{overflow:hidden;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.famous-game-list article>button{display:grid;grid-template-columns:50px minmax(0,1fr) auto;width:100%;align-items:center;gap:10px;padding:11px;text-align:left;border:0;background:transparent}.famous-game-list article>button>span{display:grid;height:38px;place-items:center;color:#fff;border-radius:9px;background:#277eae;font-family:ui-monospace,monospace;font-size:.68rem;font-weight:900}.famous-game-list article>button div{display:grid;min-width:0;gap:3px}.famous-game-list article>button b{font-size:.76rem;line-height:1.35}.famous-game-list article>button small{color:var(--muted);font-size:.62rem;line-height:1.35}.famous-game-list article>button i{color:#247dac;font-size:.64rem;font-style:normal;font-weight:850}.famous-game-line{padding:12px;border-top:1px solid var(--line);background:var(--surface-2);animation:panel-open .25s both}.famous-game-line .board-frame{width:min(100%,390px)}.famous-game-line .stockfish-panel{display:none}.famous-game-line .mainline{margin-bottom:0;overflow-wrap:anywhere}.empty-games{margin:8px 0 0;padding:12px;border-radius:10px;background:var(--surface-2)}.move-line{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));align-items:stretch;gap:6px}.move-token{width:100%;min-width:0}.subgroup-family-panel{padding-top:24px}.family-opening-groups{margin-top:0}.inline-family-openings{padding-top:18px}.deeper-branch-level{padding-top:28px}.deeper-branch-grid{gap:34px 12px}.deeper-group-frame{position:relative;padding:39px 9px 12px}.deeper-group-frame>button{position:absolute;z-index:2;top:0;left:50%;min-width:0;margin:0;padding:0;border-radius:50%;transform:translate(-50%,-50%)}.deeper-group-frame>button:hover{transform:translate(-50%,-50%) scale(1.08)}.deeper-group-frame>button.selected{transform:translate(-50%,-50%) scale(1.1);box-shadow:0 0 0 7px color-mix(in srgb,var(--zone) 18%,transparent)}.deeper-results{margin-top:0;padding-top:0;border-top:0}.family-opening-groups>.inline-family-openings:only-child{grid-column:1 / -1}.deeper-branch-grid.depth-0{grid-template-columns:repeat(6,minmax(0,1fr))}.deeper-group-frame.depth-0.major{grid-column:1 / -1}.deeper-group-frame.depth-0.minor{grid-column:span 2}.deeper-group-frame.depth-0.minor[data-move=f4],.deeper-group-frame.depth-0.minor[data-move=Nc3]{grid-column:span 3}.deeper-group-frame.depth-0>.deeper-results>.deeper-branch-level>.deeper-branch-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.board-controls button.pause-toggle{color:#fff;background:#e29419;font-size:.72rem;font-weight:900}.family-opening-groups{justify-content:center;justify-items:stretch;gap:42px 16px}.inline-family-openings{position:relative;width:100%;margin:30px auto 0;padding-top:43px}.family-frame-move{position:absolute;z-index:3;top:0;left:50%;margin:0;padding:0;border:0;border-radius:50%;background:transparent;transform:translate(-50%,-50%);transition:transform .18s ease}.family-frame-move:hover{transform:translate(-50%,-50%) scale(1.08)}.family-frame-move>span{display:flex;width:64px;height:64px;align-items:center;justify-content:center;gap:2px;color:#fff;border:4px solid #fff;border-radius:50%;background:var(--zone);box-shadow:0 0 0 5px color-mix(in srgb,var(--surface) 82%,transparent);font-family:ui-monospace,monospace;font-size:.65rem;font-weight:900}.family-frame-move>span.mover-black{border-color:#111827}.family-frame-move i{font-style:normal}.family-frame-move .map-piece-icon{width:25px;height:25px}.family-opening-groups>.inline-family-openings{grid-column:1 / -1}.mover-black i,.mover-black .move-circle i,.subgroup-symbol.mover-black i,.family-frame-move>span.mover-black i,.deeper-group-frame>button>span.mover-black i{color:#111827}.mover-white i,.mover-white .move-circle i,.subgroup-symbol.mover-white i,.family-frame-move>span.mover-white i,.deeper-group-frame>button>span.mover-white i{color:#fff}.family-frame-move>span.mover-white{box-shadow:0 0 0 1px #111827,0 0 0 5px color-mix(in srgb,var(--surface) 82%,transparent)}.deeper-group-frame>button>span.mover-white,.subgroup-symbol.mover-white>span,.mover-white .move-circle{box-shadow:0 0 0 1px #111827}.line-choices button{align-content:center}.line-choices button b{overflow:visible;overflow-wrap:anywhere;text-overflow:clip;white-space:normal;line-height:1.35}.subgroup-symbol>span{width:76px;height:76px;padding:5px}.subgroup-symbol i{display:grid;gap:0;min-width:24px;justify-items:center;font-size:.62rem;line-height:1.15}.subgroup-symbol i>span{display:block}.subgroup-symbol i.multiple-moves{max-width:32px;font-size:.62rem;line-height:1.08;white-space:normal}.subgroup-branch.engine-best .subgroup-symbol>span{box-shadow:0 0 0 5px #ffc63e33,0 0 22px #ffb8006b}.subgroup-symbol i>span.engine-best-move{color:#ffd45a!important;text-shadow:0 0 2px #5c3a00,0 0 8px #ffbf00,0 0 16px #fff0a8;animation:engine-gold 1.15s ease-in-out infinite}.deeper-group-frame>button.engine-best>span{border-color:#ffd45a;box-shadow:0 0 0 5px #ffc63e33,0 0 22px #ffb80075}.deeper-group-frame>button.engine-best i{color:#ffd45a!important;text-shadow:0 0 2px #5c3a00,0 0 8px #ffbf00,0 0 16px #fff0a8;animation:engine-gold 1.15s ease-in-out infinite}@keyframes engine-gold{0%,to{filter:brightness(.92);transform:scale(1)}50%{filter:brightness(1.45);transform:scale(1.12)}}.inline-family-openings.route-hidden{margin-top:10px;padding-top:18px}.family-opening-groups,.family-opening-groups.compact-families.family-count-2,.family-opening-groups.compact-families.family-count-3,.family-opening-groups.compact-families.family-count-4{grid-template-columns:repeat(4,minmax(0,1fr))}.family-opening-groups>.inline-family-openings{grid-column:span 4}.family-opening-groups>.inline-family-openings.family-capacity-1{grid-column:span 1}.family-opening-groups>.inline-family-openings.family-capacity-2{grid-column:span 2}.family-opening-groups>.inline-family-openings.family-capacity-3{grid-column:span 3}.family-opening-groups>.inline-family-openings.family-capacity-4,.family-opening-groups>.inline-family-openings.wide-family{grid-column:span 4}.subgroup-branch>b,.subgroup-branch>small,.move-hub b,.move-hub small{line-height:1.3}.taxonomy-with-board{display:block}.classification-atlas{width:100%}.map-board-preview{position:fixed;z-index:60;width:430px;min-width:300px;max-width:calc(100vw - 16px);min-height:350px;max-height:calc(100vh - 16px);overflow:auto;resize:both;padding:12px;border-color:#75b7dc;transform:none;box-shadow:0 18px 54px #10274047}.floating-board-header{display:flex;width:100%;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px;padding:3px 4px 7px;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;border-bottom:1px dashed var(--line)}.map-board-preview.dragging .floating-board-header{cursor:grabbing}.floating-board-header>div{display:grid;min-width:0}.floating-board-header>span{flex:0 0 auto;color:#277ba9;font-size:.62rem;font-weight:850}.map-board-preview .eyebrow{margin-bottom:2px;font-size:.62rem}.map-board-preview h3{margin:0;font-size:.7rem}.floating-board-header b{overflow-wrap:anywhere;font-size:.82rem;line-height:1.3;white-space:normal}.map-board-preview .board-frame{width:min(100%,760px)}.map-board-preview .board-controls{margin-top:7px;gap:4px}.map-board-preview .board-controls button{width:30px;height:28px}.map-board-preview .board-controls{flex-wrap:wrap}.map-board-preview .board-controls button.manual-toggle{width:auto;min-width:78px;padding-inline:10px;white-space:nowrap}.map-board-preview .move-line{display:none}.map-board-preview .stockfish-panel{display:block;width:min(100%,760px);margin-top:9px;padding:9px 11px}.map-board-preview .stockfish-panel .engine-heading{margin-bottom:5px}.map-board-preview .stockfish-panel>small{display:none}.map-board-preview>small{margin-top:6px;text-align:center}.resize-hint{position:sticky;display:block;bottom:0;width:fit-content;margin:-12px -7px -9px auto;color:#2786b7;font-size:1rem;font-weight:900;pointer-events:none}.workspace.focused .map-board-preview{display:grid}.floating-board-header>.floating-board-actions{display:flex;flex:0 0 auto;align-items:center;gap:7px}.floating-board-actions>span{color:#277ba9;font-size:.62rem;font-weight:850}.floating-board-actions>button{display:grid;width:26px;height:26px;place-items:center;padding:0;color:#277ba9;border:1px solid #8fc7e6;border-radius:7px;background:var(--surface-2);font-size:.9rem;font-weight:900}.map-board-preview.minimized{width:300px!important;min-width:240px;min-height:0;height:auto!important;overflow:hidden;resize:none}.map-board-preview.minimized .floating-board-header{margin-bottom:0;padding-bottom:3px;border-bottom:0}.family-opening-groups{display:flex;flex-wrap:wrap;justify-content:center;align-items:stretch}.family-opening-groups>.inline-family-openings{width:auto;flex:0 1 100%}.family-opening-groups>.inline-family-openings.family-capacity-1{flex-basis:calc(25% - 12px)}.family-opening-groups>.inline-family-openings.family-capacity-2{flex-basis:calc(50% - 8px)}.family-opening-groups>.inline-family-openings.family-capacity-3{flex-basis:calc(75% - 4px)}.family-opening-groups>.inline-family-openings.family-capacity-4,.family-opening-groups>.inline-family-openings.wide-family{flex-basis:100%}.taxonomy-zones{padding-top:34px;row-gap:62px}.taxonomy-zone{overflow:visible;padding-top:48px}.move-hub{position:absolute;z-index:4;top:0;left:50%;display:flex;width:max-content;max-width:calc(100% - 24px);min-width:0;align-items:center;gap:9px;margin:0;padding:0 10px;color:var(--navy);border:0;background:var(--zone-soft);transform:translate(-50%,-50%)}.move-hub:hover{transform:translate(-50%,-50%)}.move-hub .move-circle{width:58px;height:58px;flex:0 0 auto;border-width:4px;font-size:.72rem}.move-hub .map-piece-icon{width:23px;height:23px}.move-hub b{flex:0 0 auto;margin:0;font-size:.82rem;white-space:nowrap}.move-hub small{flex:0 1 auto;margin:0;font-size:.68rem;white-space:nowrap}.zone-fold{display:grid;width:24px;height:24px;flex:0 0 auto;place-items:center;color:var(--zone);border:1px solid color-mix(in srgb,var(--zone) 38%,var(--line));border-radius:50%;background:var(--surface);font-size:.78rem;font-style:normal;font-weight:900}.zone-connector,.subgroup-branch-list:before,.subgroup-branch:before{display:none}.subgroup-branch-list{padding-top:0}.taxonomy-zone.collapsed{min-height:62px;padding-block:30px 12px}@media(max-width:820px){.taxonomy-with-board{display:block}.map-board-preview{position:fixed;width:min(88vw,390px);min-width:250px;min-height:310px;margin:0;padding:9px;transform:none}.map-board-preview .board-frame{width:100%}.taxonomy-zones{grid-template-columns:repeat(2,minmax(0,1fr))}.taxonomy-zone:nth-child(5){grid-column:1 / -1}}@media(max-width:680px){.family-opening-groups{grid-template-columns:repeat(2,minmax(0,1fr))}.family-opening-groups>.inline-family-openings{grid-column:span 2!important}.family-opening-groups>.inline-family-openings.family-capacity-1{grid-column:span 1!important}}@media(max-width:560px){.map-board-preview{width:min(90vw,340px);min-width:220px;max-height:calc(100vh - 16px)}.map-board-preview .board-frame{width:100%}.floating-board-header>span{font-size:.55rem}}@media(max-width:680px){.taxonomy-zones{padding-top:30px;row-gap:54px}.move-hub{gap:5px;padding-inline:6px}.move-hub .move-circle{width:48px;height:48px}.move-hub b{font-size:.7rem}.move-hub small{font-size:.58rem}}@media(max-width:680px){.family-opening-groups>.inline-family-openings.family-capacity-1{flex-basis:calc(50% - 8px)}.family-opening-groups>.inline-family-openings.family-capacity-2,.family-opening-groups>.inline-family-openings.family-capacity-3,.family-opening-groups>.inline-family-openings.family-capacity-4{flex-basis:100%}}@media(max-width:560px){.move-line{grid-template-columns:repeat(6,minmax(0,1fr));gap:4px}.move-token{padding-inline:3px;font-size:.66rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
