.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;-moz-user-select:none;-ms-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{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-custom-svgs{z-index:9}.cg-wrap .cg-custom-svgs 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=)}cg-board{background-color:#f0d9b5;background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4PSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIgogICAgIHZpZXdCb3g9IjAgMCA4IDgiIHNoYXBlLXJlbmRlcmluZz0iY3Jpc3BFZGdlcyI+CjxnIGlkPSJhIj4KICA8ZyBpZD0iYiI+CiAgICA8ZyBpZD0iYyI+CiAgICAgIDxnIGlkPSJkIj4KICAgICAgICA8cmVjdCB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBpZD0iZSIgb3BhY2l0eT0iMCIvPgogICAgICAgIDx1c2UgeD0iMSIgeT0iMSIgaHJlZj0iI2UiIHg6aHJlZj0iI2UiLz4KICAgICAgICA8cmVjdCB5PSIxIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBpZD0iZiIgb3BhY2l0eT0iMC4yIi8+CiAgICAgICAgPHVzZSB4PSIxIiB5PSItMSIgaHJlZj0iI2YiIHg6aHJlZj0iI2YiLz4KICAgICAgPC9nPgogICAgICA8dXNlIHg9IjIiIGhyZWY9IiNkIiB4OmhyZWY9IiNkIi8+CiAgICA8L2c+CiAgICA8dXNlIHg9IjQiIGhyZWY9IiNjIiB4OmhyZWY9IiNjIi8+CiAgPC9nPgogIDx1c2UgeT0iMiIgaHJlZj0iI2IiIHg6aHJlZj0iI2IiLz4KPC9nPgo8dXNlIHk9IjQiIGhyZWY9IiNhIiB4OmhyZWY9IiNhIi8+Cjwvc3ZnPg==)}cg-board square.move-dest{background:radial-gradient(#14551e80 22%,#208530 0,#0000004d 0,#0000 0)}cg-board square.premove-dest{background:radial-gradient(#141e5580 22%,#203085 0,#0000004d 0,#0000 0)}cg-board square.oc.move-dest{background:radial-gradient(#0000 0% 80%,#1455004d 80%)}cg-board square.oc.premove-dest{background:radial-gradient(#0000 0% 80%,#141e5533 80%)}cg-board square.move-dest:hover{background:#14551e4d}cg-board square.premove-dest:hover{background:#141e5533}cg-board square.last-move{background-color:#9bc70069}cg-board square.selected{background-color:#14551e80}cg-board square.check{background:radial-gradient(red 0%,#e70000 25%,#a9000000 89%,#9e000000 100%)}cg-board square.current-premove{background-color:#141e5580}.orientation-white .ranks :nth-child(odd),.orientation-white .files :nth-child(2n),.orientation-black .ranks :nth-child(2n),.orientation-black .files :nth-child(odd),coords.squares:nth-of-type(odd) :nth-child(2n),coords.squares:nth-of-type(2n) :nth-child(odd){color:#484848cc}.orientation-white .ranks :nth-child(2n),.orientation-white .files :nth-child(odd),.orientation-black .ranks :nth-child(odd),.orientation-black .files :nth-child(2n),coords.squares:nth-of-type(odd) :nth-child(odd),coords.squares:nth-of-type(2n) :nth-child(2n){color:#fffc}:root{--bg-primary:#161512;--bg-secondary:#262421;--bg-card:#302e2c;--bg-hover:#3c3934;--border-color:#403d39;--text-main:#f0f0f0;--text-muted:#bababa;--text-subtle:#7e7a75;--color-primary:#389438;--color-primary-hover:#43ab43;--color-accent:#3692e7;--color-danger:#ca3431;--badge-excelente:#15781b;--badge-bom:#5c8c2a;--badge-imprecisao:#e6a817;--badge-erro:#ca6a1f;--badge-erro-grave:#ca3431;--font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-full:9999px;--shadow-sm:0 2px 4px #0000004d;--shadow-md:0 4px 12px #0006;--shadow-lg:0 8px 24px #00000080}[data-board-theme=green] cg-board{background-color:#ffd;background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4PSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIgogICAgIHZpZXdCb3g9IjAgMCA4IDgiIHNoYXBlLXJlbmRlcmluZz0iY3Jpc3BFZGdlcyI+CjxnIGlkPSJhIj4KICA8ZyBpZD0iYiI+CiAgICA8ZyBpZD0iYyI+CiAgICAgIDxnIGlkPSJkIj4KICAgICAgICA8cmVjdCB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBpZD0iZSIgb3BhY2l0eT0iMCIvPgogICAgICAgIDx1c2UgeD0iMSIgeT0iMSIgaHJlZj0iI2UiIHg6aHJlZj0iI2UiLz4KICAgICAgICA8cmVjdCB5PSIxIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBpZD0iZiIgZmlsbD0iIzg2YTY2NiIvPgogICAgICAgIDx1c2UgeD0iMSIgeT0iLTEiIGhyZWY9IiNmIiB4OmhyZWY9IiNmIi8+CiAgICAgIDwvZz4KICAgICAgPHVzZSB4PSIyIiBocmVmPSIjZCIgeDpocmVmPSIjZCIvPgogICAgPC9nPgogICAgPHVzZSB4PSI0IiBocmVmPSIjYyIgeDpocmVmPSIjYyIvPgogIDwvZz4KICA8dXNlIHk9IjIiIGhyZWY9IiNiIiB4OmhyZWY9IiNiIi8+CjwvZz4KPHVzZSB5PSI0IiBocmVmPSIjYSIgeDpocmVmPSIjYSIvPgo8L3N2Zz4=)!important}[data-board-theme=blue] cg-board{background-color:#dee3e6;background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4PSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIgogICAgIHZpZXdCb3g9IjAgMCA4IDgiIHNoYXBlLXJlbmRlcmluZz0iY3Jpc3BFZGdlcyI+CjxnIGlkPSJhIj4KICA8ZyBpZD0iYiI+CiAgICA8ZyBpZD0iYyI+CiAgICAgIDxnIGlkPSJkIj4KICAgICAgICA8cmVjdCB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBpZD0iZSIgb3BhY2l0eT0iMCIvPgogICAgICAgIDx1c2UgeD0iMSIgeT0iMSIgaHJlZj0iI2UiIHg6aHJlZj0iI2UiLz4KICAgICAgICA8cmVjdCB5PSIxIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBpZD0iZiIgZmlsbD0iIzhjYTJhZCIvPgogICAgICAgIDx1c2UgeD0iMSIgeT0iLTEiIGhyZWY9IiNmIiB4OmhyZWY9IiNmIi8+CiAgICAgIDwvZz4KICAgICAgPHVzZSB4PSIyIiBocmVmPSIjZCIgeDpocmVmPSIjZCIvPgogICAgPC9nPgogICAgPHVzZSB4PSI0IiBocmVmPSIjYyIgeDpocmVmPSIjYyIvPgogIDwvZz4KICA8dXNlIHk9IjIiIGhyZWY9IiNiIiB4OmhyZWY9IiNiIi8+CjwvZz4KPHVzZSB5PSI0IiBocmVmPSIjYSIgeDpocmVmPSIjYSIvPgo8L3N2Zz4=)!important}[data-board-theme=wood] cg-board{background-color:#e2cfb4;background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4PSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIgogICAgIHZpZXdCb3g9IjAgMCA4IDgiIHNoYXBlLXJlbmRlcmluZz0iY3Jpc3BFZGdlcyI+CjxnIGlkPSJhIj4KICA8ZyBpZD0iYiI+CiAgICA8ZyBpZD0iYyI+CiAgICAgIDxnIGlkPSJkIj4KICAgICAgICA8cmVjdCB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBpZD0iZSIgb3BhY2l0eT0iMCIvPgogICAgICAgIDx1c2UgeD0iMSIgeT0iMSIgaHJlZj0iI2UiIHg6aHJlZj0iI2UiLz4KICAgICAgICA8cmVjdCB5PSIxIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBpZD0iZiIgZmlsbD0iI2EyNzc1MiIvPgogICAgICAgIDx1c2UgeD0iMSIgeT0iLTEiIGhyZWY9IiNmIiB4OmhyZWY9IiNmIi8+CiAgICAgIDwvZz4KICAgICAgPHVzZSB4PSIyIiBocmVmPSIjZCIgeDpocmVmPSIjZCIvPgogICAgPC9nPgogICAgPHVzZSB4PSI0IiBocmVmPSIjYyIgeDpocmVmPSIjYyIvPgogIDwvZz4KICA8dXNlIHk9IjIiIGhyZWY9IiNiIiB4OmhyZWY9IiNiIi8+CjwvZz4KPHVzZSB5PSI0IiBocmVmPSIjYSIgeDpocmVmPSIjYSIvPgo8L3N2Zz4=)!important}[data-board-theme=dark] cg-board{background-color:#8c96a3;background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4PSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIgogICAgIHZpZXdCb3g9IjAgMCA4IDgiIHNoYXBlLXJlbmRlcmluZz0iY3Jpc3BFZGdlcyI+CjxnIGlkPSJhIj4KICA8ZyBpZD0iYiI+CiAgICA8ZyBpZD0iYyI+CiAgICAgIDxnIGlkPSJkIj4KICAgICAgICA8cmVjdCB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBpZD0iZSIgb3BhY2l0eT0iMCIvPgogICAgICAgIDx1c2UgeD0iMSIgeT0iMSIgaHJlZj0iI2UiIHg6aHJlZj0iI2UiLz4KICAgICAgICA8cmVjdCB5PSIxIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBpZD0iZiIgZmlsbD0iIzRjNTU2MyIvPgogICAgICAgIDx1c2UgeD0iMSIgeT0iLTEiIGhyZWY9IiNmIiB4OmhyZWY9IiNmIi8+CiAgICAgIDwvZz4KICAgICAgPHVzZSB4PSIyIiBocmVmPSIjZCIgeDpocmVmPSIjZCIvPgogICAgPC9nPgogICAgPHVzZSB4PSI0IiBocmVmPSIjYyIgeDpocmVmPSIjYyIvPgogIDwvZz4KICA8dXNlIHk9IjIiIGhyZWY9IiNiIiB4OmhyZWY9IiNiIi8+CjwvZz4KPHVzZSB5PSI0IiBocmVmPSIjYSIgeDpocmVmPSIjYSIvPgo8L3N2Zz4=)!important}[data-board-theme=contrast] cg-board{background-color:#fff;background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4PSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIgogICAgIHZpZXdCb3g9IjAgMCA4IDgiIHNoYXBlLXJlbmRlcmluZz0iY3Jpc3BFZGdlcyI+CjxnIGlkPSJhIj4KICA8ZyBpZD0iYiI+CiAgICA8ZyBpZD0iYyI+CiAgICAgIDxnIGlkPSJkIj4KICAgICAgICA8cmVjdCB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBpZD0iZSIgb3BhY2l0eT0iMCIvPgogICAgICAgIDx1c2UgeD0iMSIgeT0iMSIgaHJlZj0iI2UiIHg6aHJlZj0iI2UiLz4KICAgICAgICA8cmVjdCB5PSIxIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBpZD0iZiIgZmlsbD0iIzMzMzMzMyIvPgogICAgICAgIDx1c2UgeD0iMSIgeT0iLTEiIGhyZWY9IiNmIiB4OmhyZWY9IiNmIi8+CiAgICAgIDwvZz4KICAgICAgPHVzZSB4PSIyIiBocmVmPSIjZCIgeDpocmVmPSIjZCIvPgogICAgPC9nPgogICAgPHVzZSB4PSI0IiBocmVmPSIjYyIgeDpocmVmPSIjYyIvPgogIDwvZz4KICA8dXNlIHk9IjIiIGhyZWY9IiNiIiB4OmhyZWY9IiNiIi8+CjwvZz4KPHVzZSB5PSI0IiBocmVmPSIjYSIgeDpocmVmPSIjYSIvPgo8L3N2Zz4=)!important}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background-color:var(--bg-primary);color:var(--text-main);-webkit-font-smoothing:antialiased;flex-direction:column;min-height:100vh;display:flex}#app{flex-direction:column;width:100%;min-height:100vh;display:flex}.screen-container{width:100%;animation:.2s cubic-bezier(.16,1,.3,1) screenFadeIn}@keyframes screenFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes badgeBounce{0%{opacity:0;transform:scale(.8)}60%{opacity:1;transform:scale(1.08)}to{opacity:1;transform:scale(1)}}.screen-container{flex-direction:column;flex:1;width:100%;display:flex}h1,h2,h3,h4{letter-spacing:-.02em;font-weight:700}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit;transition:all .15s}.card{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:1.25rem}.btn{border-radius:var(--radius-sm);touch-action:manipulation;-webkit-tap-highlight-color:transparent;justify-content:center;align-items:center;gap:.5rem;padding:.65rem 1.25rem;font-size:.95rem;font-weight:600;display:inline-flex}.btn-primary{background-color:var(--color-primary);color:#fff}.btn-primary:hover{background-color:var(--color-primary-hover);transform:translateY(-1px)}.btn-secondary{background-color:var(--bg-card);border:1px solid var(--border-color);color:var(--text-main)}.btn-secondary:hover{background-color:var(--bg-hover)}.btn-ghost{color:var(--text-muted);padding:.5rem .85rem}.btn-ghost:hover{color:var(--text-main);background-color:#ffffff0d}.btn-danger{color:#ff6e6b;background-color:#ca343126;border:1px solid #ca34314d}.btn-danger:hover{background-color:var(--color-danger);color:#fff}.btn-lg{padding:.85rem 1.75rem;font-size:1.05rem}.btn-xl{border-radius:var(--radius-md);flex-direction:column;padding:1.15rem 2rem;font-size:1.2rem}.btn-xl small{opacity:.85;font-size:.85rem;font-weight:400}.btn-icon{border-radius:var(--radius-full);padding:.5rem;font-size:1.25rem}.btn-icon:hover{background-color:var(--bg-card)}.app-header,.screen-header,.game-header{background-color:var(--bg-secondary);border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex}.logo-badge{border-radius:var(--radius-md);background:linear-gradient(135deg,#43ab43,#2a752a);justify-content:center;align-items:center;width:44px;height:44px;font-size:1.6rem;display:flex}.header-left{align-items:center;gap:1rem;display:flex}.tagline{color:var(--text-muted);font-size:.85rem}.pwa-install-banner{background-color:var(--bg-card);border:1px solid var(--border-color);border-left:4px solid var(--color-primary);border-radius:var(--radius-sm);color:var(--text-muted);align-items:center;gap:.75rem;margin-top:1.5rem;padding:.75rem 1rem;font-size:.85rem;display:flex}.install-tip-icon{flex-shrink:0;font-size:1.5rem}.install-tip-text{flex:1;line-height:1.4}.install-tip-text strong{color:var(--text-main)}.btn-dismiss-install{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:.25rem .5rem;font-size:1rem;line-height:1}@media (display-mode:standalone){.pwa-install-banner{display:none!important}}.app-footer{text-align:center;color:var(--text-subtle);margin-top:auto;padding:1.5rem;font-size:.85rem}.board-frame{aspect-ratio:1;border-radius:var(--radius-sm);width:min(100%,100vh - 130px,560px);max-width:min(100%,100vh - 130px,560px);height:auto;box-shadow:var(--shadow-lg);margin:0 auto;position:relative;overflow:hidden}.board-pane{flex:1;justify-content:center;align-items:center;min-width:0;min-height:0;padding:.5rem;display:flex}.board-column{justify-content:center;align-items:center;min-width:0;min-height:0;display:flex}.cg-board-wrapper,.cg-wrap{-webkit-user-select:none;user-select:none;display:block;position:relative;box-sizing:content-box!important;touch-action:none!important;-webkit-touch-callout:none!important}.cg-wrap cg-container{position:absolute;top:0;left:0;box-sizing:content-box!important;width:100%!important;height:100%!important}.cg-wrap cg-board{position:absolute;top:0;left:0;box-sizing:content-box!important;background-size:100% 100%!important;width:100%!important;height:100%!important}.cg-wrap piece{pointer-events:none;position:absolute;box-sizing:content-box!important;background-position:50%!important;background-repeat:no-repeat!important;background-size:contain!important;width:12.5%!important;height:12.5%!important}.home-screen{flex-direction:column;gap:2rem;width:100%;max-width:960px;margin:0 auto;padding:2rem 1.5rem;display:flex}.welcome-card{text-align:center;flex-direction:column;align-items:center;gap:1.5rem;padding:3rem 2rem;display:flex}.welcome-icon{font-size:3.5rem}.assessment-preview-list{text-align:left;flex-direction:column;gap:1rem;max-width:500px;margin:1rem 0;display:flex}.preview-item{background-color:var(--bg-card);border-radius:var(--radius-sm);align-items:center;gap:1rem;padding:.85rem 1.25rem;display:flex}.preview-num{background-color:var(--color-primary);border-radius:var(--radius-full);justify-content:center;align-items:center;width:28px;height:28px;font-weight:700;display:flex}.dashboard-grid{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}.profile-card{flex-direction:column;gap:1.25rem;display:flex}.section-badge{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:.8rem}.elo-display{flex-direction:column;gap:.25rem;display:flex}.elo-number{color:#fff;font-size:3.5rem;font-weight:800;line-height:1}.elo-band{color:var(--color-accent);font-size:1.1rem;font-weight:600}.profile-stats-row{flex-wrap:wrap;gap:.75rem;display:flex}.stat-pill{background-color:var(--bg-card);border-radius:var(--radius-sm);flex-direction:column;flex:1;gap:.25rem;padding:.75rem 1rem;display:flex}.stat-label{color:var(--text-muted);text-transform:uppercase;font-size:.75rem}.stat-value{font-size:1.35rem;font-weight:700}.elo-history-row{flex-direction:column;gap:.5rem;margin-top:.5rem;display:flex}.elo-sparkline{color:var(--text-muted);font-family:monospace;font-size:.9rem}.elo-chart-container{background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);margin-top:1rem;padding:.85rem 1rem .5rem}.chart-header{justify-content:space-between;align-items:center;margin-bottom:.35rem;display:flex}.elo-delta-badge{border-radius:var(--radius-full);padding:.2rem .55rem;font-size:.75rem;font-weight:700}.elo-delta-badge.positive{color:#66bb6a;background-color:#4caf502e}.elo-delta-badge.negative{color:#ef5350;background-color:#ef53502e}.elo-svg-chart{width:100%;height:80px;overflow:visible}.actions-card{flex-direction:column;justify-content:center;gap:1rem;display:flex}.badge-count{background-color:var(--badge-erro);color:#fff;border-radius:var(--radius-full);margin-left:.5rem;padding:.15rem .55rem;font-size:.8rem}.secondary-actions{justify-content:space-between;margin-top:.5rem;display:flex}.game-screen{flex-direction:column;flex:1;height:100vh;display:flex;overflow:hidden}.game-layout{flex:1;grid-template-columns:1fr 380px;gap:1.5rem;width:100%;max-width:1200px;min-height:0;margin:0 auto;padding:1rem 1.5rem;display:grid;overflow:hidden}.sidebar-pane{flex-direction:column;gap:1rem;min-width:0;min-height:0;max-height:calc(100vh - 80px);padding-right:.25rem;display:flex;overflow-y:auto}.moves-panel{flex-direction:column;flex:1;min-height:180px;max-height:260px;padding:.75rem 1rem;display:flex}.moves-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;margin-bottom:.5rem;padding-bottom:.5rem;display:flex}.moves-header h3{font-size:.95rem}.turn-text{color:var(--color-accent);font-size:.8rem;font-weight:600}.moves-scroll{flex:1;overflow-y:auto}.move-table{flex-direction:column;gap:.25rem;font-family:monospace;font-size:.95rem;display:flex}.move-row{border-radius:var(--radius-sm);grid-template-columns:40px 1fr 1fr;padding:.2rem .5rem;display:grid}.move-row:nth-child(2n){background-color:#ffffff05}.move-num{color:var(--text-subtle)}.move-cell{align-items:center;gap:.4rem;display:inline-flex}.move-badge-dot{border-radius:var(--radius-full);width:8px;height:8px;display:inline-block}.game-controls{gap:.5rem;padding:.75rem;display:flex}.game-controls .btn{flex:1;padding:.5rem .6rem;font-size:.85rem}.feedback-card{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);flex-direction:column;gap:.75rem;padding:1.1rem;transition:all .2s;display:flex;position:relative}.feedback-card.empty{text-align:center;color:var(--text-muted);align-items:center;padding:1.5rem}.feedback-card.empty .feedback-icon{opacity:.4;margin-bottom:.5rem;font-size:2rem}.feedback-card.analyzing{flex-direction:row;align-items:center;gap:1rem;padding:1.25rem;display:flex}.spinner{border:3px solid #ffffff1a;border-top-color:var(--color-accent);border-radius:50%;width:24px;height:24px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.analyzing-text{flex-direction:column;display:flex}.analyzing-text strong{font-size:.95rem}.analyzing-text span{color:var(--text-muted);font-size:.8rem}.feedback-card.active{border-left:5px solid var(--badge-color)}.feedback-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.badges-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.quality-badge{border-radius:var(--radius-full);text-transform:uppercase;color:#fff;letter-spacing:.03em;padding:.35rem .8rem;font-size:.85rem;font-weight:700;animation:.35s cubic-bezier(.175,.885,.32,1.275) badgeBounce}.category-badge{border-radius:var(--radius-full);letter-spacing:.02em;color:var(--text-main);background-color:#ffffff1a;border:1px solid #ffffff26;padding:.25rem .6rem;font-size:.75rem;font-weight:600}.category-badge.category-garfo,.category-badge.category-cravada,.category-badge.category-espeto{color:#ff8a80;background-color:#ca343133;border-color:#ca343166}.category-badge.category-peca_pendurada,.category-badge.category-troca_desfavoravel{color:#ffb74d;background-color:#ca6a1f33;border-color:#ca6a1f66}.category-badge.category-mate_perdido,.category-badge.category-mate_ameacado{color:#ff5252;background-color:#ca34314d;border-color:#ca3431;font-weight:700}.category-badge.category-captura_perdida{color:#ffd54f;background-color:#e6a81733;border-color:#e6a81766}.category-badge.category-desenvolvimento,.category-badge.category-seguranca_rei{color:#81c784;background-color:#38943833;border-color:#38943866}.player-move-tag{color:var(--text-muted);font-size:.9rem}.feedback-explanation{color:#fff;font-size:.95rem;line-height:1.45}.feedback-best-move{border-radius:var(--radius-sm);background-color:#0003;justify-content:space-between;align-items:center;padding:.6rem .85rem;font-size:.9rem;display:flex}.feedback-best-move .label{color:var(--text-muted)}.feedback-best-move .value{color:var(--color-primary-hover);font-family:monospace;font-size:1rem;font-weight:700}.feedback-legend{border-radius:var(--radius-sm);color:var(--text-muted);background-color:#0000004d;flex-wrap:wrap;gap:1rem;padding:.4rem .75rem;font-size:.78rem;display:flex}.legend-item{align-items:center;gap:.35rem;display:flex}.legend-dot{border-radius:50%;width:8px;height:8px;display:inline-block}.legend-dot.green{background-color:#15781b;box-shadow:0 0 4px #43ab43}.legend-dot.red{background-color:#ca3431;box-shadow:0 0 4px #ff5252}.feedback-refutation{border-left:3px solid var(--badge-erro);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background-color:#00000026;flex-direction:column;gap:.3rem;padding:.5rem .75rem;display:flex}.refutation-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.75rem;font-weight:600}.refutation-line{flex-wrap:wrap;gap:.5rem;display:flex}.refutation-step{border-radius:var(--radius-sm);color:#fff;background-color:#ffffff0f;padding:.15rem .4rem;font-family:monospace;font-size:.85rem}.refutation-step strong{color:var(--text-muted)}.btn-toggle-arrow{color:var(--color-accent);font-size:.8rem;text-decoration:underline}.btn-retry{background-color:var(--badge-erro);color:#fff;border-radius:var(--radius-sm);justify-content:center;align-items:center;gap:.5rem;width:100%;padding:.65rem;font-size:.9rem;font-weight:700;display:flex}.btn-retry:hover{filter:brightness(1.15)}.clock-display.study-mode{text-align:center;color:var(--text-subtle);padding:.4rem;font-size:.8rem}.clock-display.timed{gap:1rem;display:flex}.clock-box{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-sm);flex:1;justify-content:space-between;align-items:center;padding:.6rem 1rem;font-family:monospace;display:flex}.clock-box.active{border-color:var(--color-accent);background-color:#3692e71a}.clock-time{font-size:1.3rem;font-weight:700}.assessment-screen{flex-direction:column;flex:1;display:flex}.progress-container{flex:1;align-items:center;gap:1rem;max-width:400px;margin-left:2rem;display:flex}.progress-label{color:var(--text-muted);white-space:nowrap;font-size:.85rem}.progress-bar{background-color:var(--bg-card);border-radius:var(--radius-full);flex:1;height:8px;overflow:hidden}.progress-fill{background-color:var(--color-primary);height:100%;transition:width .3s}.assessment-main,.training-layout{flex:1;grid-template-columns:1fr 360px;align-items:start;gap:2rem;width:100%;max-width:1100px;margin:0 auto;padding:2rem;display:grid}.side-column{flex-direction:column;gap:1.5rem;display:flex}.turn-indicator{border-radius:var(--radius-full);color:var(--text-muted);background-color:#ffffff14;margin-bottom:.5rem;padding:.25rem .65rem;font-size:.8rem;display:inline-block}.puzzle-title{font-size:1.3rem;line-height:1.3}.puzzle-instruction{color:var(--text-muted);font-size:.95rem}.assessment-feedback{border-radius:var(--radius-sm);flex-direction:column;gap:.5rem;padding:1.25rem;display:flex}.assessment-feedback.empty{background-color:var(--bg-card);color:var(--text-subtle);text-align:center}.assessment-feedback.success{border:1px solid var(--badge-excelente);background-color:#15781b26}.assessment-feedback.mistake{border:1px solid var(--badge-erro-grave);background-color:#ca343126}.feedback-badge{font-size:1rem;font-weight:700}.feedback-badge.success{color:#43ab43}.feedback-badge.mistake{color:#ff6e6b}.summary-card{text-align:center;flex-direction:column;align-items:center;gap:1.5rem;max-width:600px;margin:3rem auto;padding:3rem 2rem;display:flex}.trophy-badge{font-size:4rem}.elo-result-box{border:1px solid var(--color-accent);border-radius:var(--radius-lg);background:linear-gradient(135deg,#3692e733,#43ab4333);flex-direction:column;align-items:center;gap:.5rem;padding:1.5rem 2.5rem;display:flex}.elo-result-number{font-size:4rem;font-weight:800}.elo-result-band{color:var(--color-accent);font-size:1.2rem;font-weight:600}.summary-stats-grid{gap:2rem;display:flex}.summary-stat{flex-direction:column;gap:.25rem;display:flex}.summary-stat .val{font-size:1.5rem;font-weight:700}.summary-stat .lbl{color:var(--text-muted);font-size:.8rem}.review-screen{flex-direction:column;gap:1.5rem;width:100%;max-width:1040px;margin:0 auto;padding:1.5rem;display:flex}.review-header{flex-direction:column;gap:.5rem;display:flex}.review-title-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.review-tabs{background-color:var(--bg-card);border-radius:var(--radius-sm);border:1px solid var(--border-color);gap:.25rem;padding:.25rem;display:flex}.tab-btn{border-radius:var(--radius-sm);color:var(--text-muted);padding:.45rem 1rem;font-size:.85rem;font-weight:600;transition:all .15s}.tab-btn.active{background-color:var(--color-primary);color:#fff;box-shadow:var(--shadow-sm)}.review-result-title{font-size:2rem;font-weight:800}.review-tab-content{flex-direction:column;gap:1.5rem;display:none}.review-tab-content.active{display:flex}.elo-adaptation-card{border-left:5px solid var(--color-accent);flex-direction:column;gap:.75rem;display:flex}.elo-adaptation-header{justify-content:space-between;align-items:center;display:flex}.coach-badge{color:var(--color-accent);text-transform:uppercase;letter-spacing:.05em;font-size:.85rem;font-weight:700}.elo-delta-tag{border-radius:var(--radius-full);padding:.25rem .65rem;font-size:.9rem;font-weight:800}.elo-delta-tag.elo-up{color:#43ab43;background-color:#15781b40;border:1px solid #43ab43}.elo-delta-tag.elo-down{color:#ef5350;background-color:#ca343140;border:1px solid #ef5350}.elo-adaptation-body{flex-wrap:wrap;align-items:center;gap:1.5rem;display:flex}.elo-big-number{flex-direction:column;display:flex}.elo-big-number .val{font-size:2.4rem;font-weight:800;line-height:1}.elo-big-number .band{color:var(--text-muted);font-size:.85rem}.elo-adaptation-desc{color:#e0e0e0;flex:1;min-width:260px;font-size:.95rem;line-height:1.4}.card-header-flex{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.actions-row{flex-wrap:wrap;justify-content:center;gap:1rem;width:100%;display:flex}.secondary-row{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.replay-layout{grid-template-columns:minmax(320px,500px) 1fr;align-items:start;gap:1.5rem;display:grid}.replay-board-pane{align-items:center;gap:.75rem;display:flex}.eval-bar-wrapper{aspect-ratio:auto;border:1px solid var(--border-color);border-radius:var(--radius-sm);background-color:#262421;flex-direction:column;justify-content:flex-end;width:24px;height:min(100%,100vh - 220px,500px);display:flex;position:relative;overflow:hidden}.eval-bar-fill{background-color:#f0f0f0;width:100%;transition:height .3s}.eval-score-text{text-align:center;color:#fff;text-shadow:0 0 3px #000;font-size:.65rem;font-weight:800;position:absolute;top:6px;left:0;right:0}.replay-board-pane .board-frame{flex:1;margin:0}.replay-details-pane{flex-direction:column;gap:1rem;display:flex}.replay-controls{justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.nav-buttons-group{gap:.4rem;display:flex}.replay-move-analysis{min-height:120px;padding:1rem}.analysis-empty,.analysis-engine-move{color:var(--text-muted);flex-direction:column;gap:.5rem;display:flex}.analysis-empty .icon{font-size:1.8rem}.analysis-card-content{flex-direction:column;gap:.65rem;display:flex}.move-info-header{justify-content:space-between;align-items:center;display:flex}.engine-tag{border-radius:var(--radius-sm);color:var(--text-muted);background-color:#ffffff1a;padding:.2rem .5rem;font-size:.75rem}.analysis-explanation-text{color:#fff;font-size:.95rem;line-height:1.4}.replay-moves-scroll{max-height:240px;padding:.75rem 1rem;overflow-y:auto}.keyboard-tip{color:var(--text-muted);font-size:.75rem}.moves-grid{flex-direction:column;gap:.35rem;margin-top:.5rem;display:flex}.replay-move-row{grid-template-columns:36px 1fr 1fr;align-items:center;gap:.5rem;display:grid}.move-row-num{color:var(--text-muted);font-family:monospace;font-size:.8rem}.replay-move-item{border-radius:var(--radius-sm);text-align:left;background-color:#ffffff0a;align-items:center;gap:.4rem;padding:.3rem .6rem;font-family:monospace;font-size:.85rem;display:flex}.replay-move-item:hover{background-color:#ffffff1a}.replay-move-item.active{background-color:var(--color-primary);color:#fff;font-weight:700}.dot-badge{border-radius:50%;width:7px;height:7px;display:inline-block}.dot-badge.excelente{background-color:#15781b}.dot-badge.bom{background-color:#5c8c2a}.dot-badge.imprecisao{background-color:#e6a817}.dot-badge.erro{background-color:#ca6a1f}.dot-badge.erro_grave{background-color:#ca3431}@media (width<=900px){.replay-layout{grid-template-columns:1fr}.eval-bar-wrapper{height:320px}}.stats-overview-grid{text-align:center;grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.overview-value{font-size:2rem;font-weight:800;display:block}.overview-label{color:var(--text-muted);font-size:.8rem}.quality-distribution-bar{border-top:1px solid var(--border-color);flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:1rem;padding-top:1rem;display:flex}.qd-item{border-radius:var(--radius-full);padding:.25rem .65rem;font-size:.85rem}.qd-item.exc{color:#43ab43;background-color:#15781b33}.qd-item.bom{color:#8bc34a;background-color:#5c8c2a33}.qd-item.imp{color:#ffca28;background-color:#e6a81733}.qd-item.err{color:#ffa726;background-color:#ca6a1f33}.qd-item.grav{color:#ef5350;background-color:#ca343133}.mistakes-list{flex-direction:column;gap:1rem;margin-top:1rem;display:flex}.mistake-item{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-sm);flex-direction:column;gap:.5rem;padding:1rem;display:flex}.mistake-header{align-items:center;gap:.75rem;display:flex}.mistake-num{color:var(--text-subtle);font-weight:700}.mistake-tag{border-radius:var(--radius-sm);text-transform:uppercase;padding:.2rem .5rem;font-size:.75rem;font-weight:700}.mistake-tag.erro_grave{background-color:var(--badge-erro-grave);color:#fff}.mistake-tag.erro{background-color:var(--badge-erro);color:#fff}.mistake-tag.imprecisao{background-color:var(--badge-imprecisao);color:#fff}.mistake-loss{color:var(--color-danger);margin-left:auto;font-size:.85rem;font-weight:600}.mistake-moves{gap:1.5rem;font-size:.95rem;display:flex}.mini-lesson-card{border-left:4px solid var(--color-accent)}.mini-lesson-header{align-items:center;gap:.75rem;margin-bottom:.5rem;display:flex}.mini-lesson-icon{font-size:1.5rem}.mini-lesson-text{color:#e0e0e0;font-size:.95rem;line-height:1.5}.review-actions{flex-direction:column;align-items:center;gap:.75rem;display:flex}.settings-screen{flex-direction:column;gap:1.5rem;width:100%;max-width:680px;margin:0 auto;padding:2rem 1.5rem;display:flex}.settings-card{flex-direction:column;gap:1.75rem;display:flex}.setting-group{border-bottom:1px solid var(--border-color);flex-direction:column;gap:.5rem;padding-bottom:1.5rem;display:flex}.setting-title{font-size:1.05rem;font-weight:700}.setting-desc{color:var(--text-muted);font-size:.85rem}.segmented-control{background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);margin-top:.5rem;display:flex;overflow:hidden}.segmented-control.themes-grid{background-color:#0000;border:none;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.5rem;display:grid;overflow:visible}.themes-grid .segment-btn{background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);cursor:pointer;padding:.75rem .5rem;transition:all .15s}.themes-grid .segment-btn.active{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff;box-shadow:var(--shadow-sm);transform:translateY(-1px)}.segment-btn{text-align:center;color:var(--text-muted);flex:1;padding:.65rem 1rem;font-size:.9rem;font-weight:600}.segment-btn.active{background-color:var(--color-primary);color:#fff}.slider-row{flex-direction:column;gap:.5rem;display:flex}.danger-zone{border-bottom:none}.danger-actions{gap:1rem;margin-top:.5rem;display:flex}.promotion-modal-overlay{backdrop-filter:blur(4px);z-index:100;background-color:#000000bf;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.promotion-modal-card{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);text-align:center;width:90%;max-width:400px;padding:2rem}.promotion-choices{grid-template-columns:repeat(4,1fr);gap:.75rem;margin-top:1.5rem;display:grid}.promo-btn{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);flex-direction:column;align-items:center;gap:.5rem;padding:1rem .5rem;transition:all .15s;display:flex}.promo-btn:hover{background-color:var(--color-primary);transform:translateY(-2px)}.promo-icon{font-size:2.5rem;line-height:1}.promo-name{font-size:.8rem;font-weight:600}@media (width<=900px){.game-layout,.assessment-main,.training-layout{grid-template-columns:1fr;gap:1rem;padding:1rem;overflow-y:auto}.sidebar-pane{max-height:none;overflow-y:visible}.board-frame{aspect-ratio:1;width:min(94vw,100vh - 280px,440px);max-width:min(94vw,100vh - 280px,440px);height:auto}.dashboard-grid{grid-template-columns:1fr}}.opening-badge,.review-opening-badge{border-radius:var(--radius-sm);color:var(--text-color);white-space:nowrap;text-overflow:ellipsis;background:#ffffff14;border:1px solid #ffffff26;align-items:center;gap:.4rem;max-width:280px;padding:.3rem .65rem;font-size:.82rem;font-weight:600;display:inline-flex;overflow:hidden}.board-wrapper{justify-content:center;align-items:stretch;gap:.75rem;display:flex}.live-eval-bar{border:1px solid var(--border-color);background-color:#2b2b29;border-radius:4px;flex-direction:column-reverse;width:22px;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 0 4px #0006}.live-eval-fill{background-color:#fff;width:100%;height:50%;transition:height .35s}.live-eval-text{color:#888;pointer-events:none;font-family:monospace;font-size:.65rem;font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-90deg)}.clock-box.low-time{background-color:#ca343126;border-color:#ca3431;animation:1s infinite alternate pulse-low-time}@keyframes pulse-low-time{0%{box-shadow:0 0 #ca343100}to{box-shadow:0 0 10px #ca343180}}.clock-grid{background-color:#0000;border:none;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.5rem;display:grid;overflow:visible}.clock-grid .segment-btn{background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);cursor:pointer;padding:.65rem .5rem;transition:all .15s}.clock-grid .segment-btn.active{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff;box-shadow:var(--shadow-sm)}.toggle-list{flex-direction:column;gap:.75rem;margin-top:.75rem;display:flex}.toggle-item{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-sm);cursor:pointer;justify-content:space-between;align-items:center;padding:.85rem 1rem;display:flex}.toggle-info{flex-direction:column;gap:.2rem;display:flex}.toggle-label{font-size:.95rem;font-weight:600}.toggle-subtext{color:var(--text-muted);font-size:.8rem}.switch-input{width:44px;height:24px;accent-color:var(--color-primary);cursor:pointer}.weakness-card{flex-direction:column;gap:.6rem;display:flex}.weakness-list{flex-direction:column;gap:.4rem;margin-top:.4rem;display:flex}.weakness-item{background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;padding:.5rem .75rem;display:flex}.weakness-name{font-size:.88rem;font-weight:600}.weakness-badge{background-color:var(--badge-erro);color:#fff;border-radius:var(--radius-sm);padding:.15rem .5rem;font-size:.75rem;font-weight:700}.weakness-empty{color:var(--text-muted);padding:1rem 0;font-size:.9rem}.weakness-empty small{color:var(--text-subtle);margin-top:.3rem;display:block}.promo-cancel-btn{width:100%;margin-top:1rem}:root{color-scheme:light;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px);--app-height:calc(100dvh - var(--safe-top));--bg-primary:#f5f4f0;--bg-secondary:#fffefa;--bg-card:#f0efe9;--bg-hover:#e8ebe5;--border-color:#dcded5;--text-main:#202b27;--text-muted:#59655f;--text-subtle:#66726b;--color-primary:#315c48;--color-primary-hover:#254a39;--color-accent:#315c48;--radius-sm:9px;--radius-md:18px;--radius-lg:24px;--shadow-sm:0 2px 6px #243b2c04;--shadow-md:0 8px 28px #243b2c08;--surface-tint:#e6eee5}:root[data-theme=dark]{color-scheme:dark;--bg-primary:#151c19;--bg-secondary:#1e2823;--bg-card:#27322b;--bg-hover:#303f35;--border-color:#39483e;--text-main:#edf1e9;--text-muted:#b1bfb3;--text-subtle:#a4b3a7;--color-primary:#99bf9c;--color-primary-hover:#b0d3b1;--surface-tint:#2d4031}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg-primary:#151c19;--bg-secondary:#1e2823;--bg-card:#27322b;--bg-hover:#303f35;--border-color:#39483e;--text-main:#edf1e9;--text-muted:#b1bfb3;--text-subtle:#a4b3a7;--color-primary:#99bf9c;--color-primary-hover:#b0d3b1;--surface-tint:#2d4031}}body{background:var(--bg-primary);line-height:1.5}#app{min-height:100dvh;padding-top:var(--safe-top);padding-left:var(--safe-left);padding-right:var(--safe-right)}h1{letter-spacing:-.045em;font-size:clamp(1.8rem,4.5vw,3rem);font-weight:650;line-height:1.12}h2{letter-spacing:-.025em;font-size:1.3rem;line-height:1.3}p{color:var(--text-muted)}button,select,input{font:inherit}button{touch-action:manipulation}button:disabled{opacity:.5;cursor:default;transform:none!important}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid var(--color-primary);outline-offset:3px}[hidden]{display:none!important}.card{background:var(--bg-secondary);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);padding:24px}.card h2{margin:6px 0 16px}.card p+p{margin-top:12px}.card .btn{margin-top:16px}.btn{letter-spacing:-.01em;min-height:44px;padding:10px 16px;font-size:14px;font-weight:600}.btn-primary{color:var(--bg-secondary);background:var(--color-primary)}.btn-primary:hover{transform:none}.btn-secondary{background:var(--bg-card);color:var(--text-main)}.btn-ghost{color:var(--text-muted)}.btn-ghost:hover{color:var(--text-main)}.btn-danger{color:#ae3932;background:#bc383612;border-color:#bc383630}.shell-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;width:min(1120px,100%);margin:auto;padding:20px 28px;display:flex}.brand{color:var(--text-main);align-items:center;gap:10px;font-size:24px;text-decoration:none;display:flex}.brand span{letter-spacing:-.03em;font-size:15px;font-weight:650}.main-nav{z-index:20;padding:10px 16px calc(10px + var(--safe-bottom));background:var(--bg-secondary);border-top:1px solid var(--border-color);justify-content:center;gap:6px;margin-top:auto;display:flex;position:sticky;bottom:0}.main-nav button{max-width:210px;min-height:44px;color:var(--text-muted);border-radius:10px;flex:1;font-size:14px;font-weight:600}.main-nav [aria-current]{background:var(--surface-tint);color:var(--text-main)}.home-screen,.progress-screen,.training-picker,.settings-screen,.review-screen,.assessment-screen{width:100%;max-width:1050px;margin:0 auto;padding:40px 28px 44px}.home-screen .dashboard-grid{grid-template-columns:1.3fr 1fr;gap:20px;max-width:none;margin:24px 0}.eyebrow{letter-spacing:.14em;color:var(--color-primary);margin-bottom:12px;font-size:10px;font-weight:750;display:block}.page-intro{max-width:560px;margin:16px 0 28px;font-size:15px}.metric-grid{grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:20px;margin:22px 0;display:grid}.metric-grid strong{letter-spacing:-.04em;font-size:32px;font-weight:550;line-height:1.2;display:block}.metric-grid span{color:var(--text-muted);margin-top:8px;font-size:12px;display:block}.mode-choice{border:1px solid var(--border-color);cursor:pointer;border-radius:12px;align-items:flex-start;gap:12px;margin:10px 0;padding:16px;display:flex}.mode-choice:has(:checked){border-color:var(--color-primary);background:var(--surface-tint)}.mode-choice input{accent-color:var(--color-primary);width:18px;height:18px;margin-top:5px}.mode-choice small,.history-row small{color:var(--text-muted);margin-top:4px;font-size:12px;display:block}.play-card>.btn{width:100%}.resume-card{background:var(--surface-tint);justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;display:flex}.resume-card h2{margin-bottom:8px}.resume-card .btn{white-space:nowrap;margin:0}.level-choices{flex-wrap:wrap;gap:8px;display:flex}.level-choices .btn{flex-direction:column;flex:1;gap:2px}.level-choices small{font-weight:400}.onboarding{margin:24px 0}.assessment-entry{justify-content:space-between;align-items:center;gap:16px;display:flex}.assessment-entry h2{margin-bottom:8px}.local-note{text-align:center;margin:24px 0 0;font-size:11px}.progress-screen>.card{margin-top:20px}.history-row,.weakness-link{text-align:left;border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;gap:12px;width:100%;padding:18px 0;font-size:13px;display:flex}.history-row:last-child,.weakness-link:last-child{border-bottom:0}.elo-history{gap:20px;margin-top:24px;display:flex;overflow:auto}.elo-history span{color:var(--text-muted);font-size:10px}.elo-history strong{color:var(--text-main);font-size:16px;display:block}.training-picker{max-width:740px}.training-picker label,.setting-title{margin:20px 0 8px;font-size:13px;font-weight:600;display:block}select{border:1px solid var(--border-color);background:var(--bg-primary);width:100%;min-height:46px;color:var(--text-main);border-radius:9px;padding:10px 12px;display:block}.settings-card{max-width:760px}.segment-btn{min-height:44px}.setting-desc{font-size:13px}.segmented-control{flex-wrap:wrap}.screen-header{gap:12px;margin-bottom:20px}.screen-header h1{font-size:22px}.in-game .shell-header{display:none}.compact-game{height:var(--app-height);max-height:var(--app-height);max-width:1280px;padding:0 20px var(--safe-bottom);flex-direction:column;width:100%;margin:auto;display:flex;overflow:hidden}.compact-game .game-header{border:0;flex:none;gap:8px;height:54px;padding:0}.game-mode-badge{color:var(--text-muted);background:0 0;padding:0;font-size:12px}.game-status{justify-content:space-between;align-items:center;gap:8px;min-height:28px;padding:0 4px;font-size:12px;display:flex}#save-status{color:var(--text-muted);text-align:right;font-size:10px}.compact-game .game-layout{flex:1;grid-template-columns:minmax(0,1.25fr) minmax(300px,.9fr);align-items:start;gap:28px;min-height:0;padding:0 0 16px;display:grid;overflow:hidden}.compact-game .board-pane{flex-direction:column;align-items:stretch;gap:10px;min-width:0;display:flex}.compact-game .board-wrapper{align-items:stretch;gap:8px;width:100%}.compact-game .board-frame{width:min(100%,calc(var(--app-height) - 215px - var(--safe-bottom)));aspect-ratio:1;max-width:none;height:auto;box-shadow:none;border-radius:3px;flex:none;margin:0}.compact-game .board-wrapper:has(.live-eval-bar) .board-frame{width:min(calc(100% - 24px),calc(var(--app-height) - 215px - var(--safe-bottom)))}.compact-game .live-eval-bar{border-radius:3px;flex:0 0 16px;width:16px;min-width:16px}.compact-game .live-eval-text{font-size:8px}.compact-game .game-controls{box-shadow:none;background:0 0;border:0;flex-shrink:0;gap:8px;padding:0;display:flex}.compact-game .game-controls>.btn{flex:1;margin:0;padding:10px 6px;font-size:12px}.compact-game .clock-display{gap:8px;margin:0}.compact-game .clock-box{background:var(--bg-secondary);border:1px solid var(--border-color);flex:1;justify-content:space-between;align-items:center;gap:8px;min-height:36px;padding:6px 12px;display:flex}.compact-game .clock-box.active{border-color:var(--color-primary);background:var(--surface-tint)}.compact-game .clock-time{font-size:20px}.compact-game .clock-name{font-size:10px}.compact-game .clock-display.study-mode{background:var(--surface-tint);border:0;min-height:26px;padding:4px 10px;font-size:11px}.compact-game .sidebar-pane{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:14px;flex-direction:column;gap:0;height:100%;min-height:0;max-height:none;display:flex;overflow:hidden}.panel-tabs{border-bottom:1px solid var(--border-color);flex-shrink:0;gap:6px;padding:4px 8px;display:flex}.panel-tabs button{min-height:40px;color:var(--text-muted);border-bottom:2px solid #0000;flex:1;font-size:12px}.panel-tabs [aria-selected=true]{color:var(--text-main);border-bottom-color:var(--color-primary)}.panel-scroll{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:1;min-height:0;padding:16px;overflow:auto}.panel-scroll p{margin:8px 0;font-size:13px;line-height:1.6}.panel-scroll [data-panel=details] .btn{margin-top:16px;display:block}.feedback-card{box-shadow:none;background:0 0;border:0;min-height:0;padding:0}.feedback-card.empty{padding:12px 0}.feedback-card .feedback-icon{display:none}.feedback-explanation{font-size:13px;line-height:1.6}.quality-badge{color:#fff;padding:4px 9px;font-size:11px}.feedback-header{flex-wrap:wrap;gap:10px}.category-badge{font-size:10px}.feedback-best-move{background:var(--bg-card);color:var(--text-main);flex-wrap:wrap;padding:10px}.feedback-best-move .value{color:var(--color-primary)}.feedback-refutation,.feedback-legend{background:var(--bg-card);color:var(--text-main)}.feedback-refutation span,.feedback-legend span{color:inherit}.hint-card{border-bottom:1px solid var(--border-color);margin-bottom:16px;padding-bottom:16px}.hint-card>small{color:var(--color-primary);text-transform:uppercase;letter-spacing:.1em;font-size:10px;font-weight:700}.demo-board{aspect-ratio:1;width:min(100%,280px);margin:12px auto;position:relative}.demo-nav{justify-content:space-between;align-items:center;gap:10px;font-size:12px;display:flex}.compact-training .training-layout{grid-template-columns:1fr 1fr;align-items:start;gap:24px;display:grid}.compact-training .board-frame{aspect-ratio:1;width:100%;max-width:none;height:auto}.compact-training .training-actions{gap:8px;margin-top:12px;display:flex}.compact-training .training-actions .btn{flex:1}.compact-training .side-column{min-width:0}#training-feedback p{margin:12px 0;font-size:13px}#training-help{border-left:3px solid var(--color-primary);margin-top:16px;padding-left:12px;font-size:13px}#training-help:empty{display:none}.review-screen .card,.review-screen .review-tabs{background:var(--bg-secondary)}.review-screen .stat-value{color:var(--text-main)}.review-screen .review-header h1{font-size:28px}.assessment-screen .assessment-main{gap:20px}.assessment-screen .board-frame{max-width:100%}@media (width<=760px){.shell-header{min-height:62px;padding:12px 20px}.shell-header .btn{padding:8px;font-size:12px}.home-screen,.progress-screen,.training-picker,.settings-screen,.review-screen,.assessment-screen{padding:28px 20px 32px}.home-screen .dashboard-grid{grid-template-columns:1fr;gap:16px;margin-top:20px}.card{padding:20px}.resume-card,.assessment-entry{flex-direction:column;align-items:stretch}.resume-card .btn{width:100%}.assessment-entry .btn{margin:0}.main-nav{padding-top:6px}.page-intro{margin-bottom:24px;font-size:14px}.compact-game{padding:0 12px var(--safe-bottom)}.compact-game .game-header{height:44px}.compact-game .game-header .btn{min-height:40px;padding:8px;font-size:12px}.game-status{min-height:24px}.compact-game .game-layout{grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr;align-items:stretch;gap:10px;padding-bottom:10px}.compact-game .board-pane{align-items:stretch;gap:8px}.compact-game .board-frame{width:min(100%,calc(var(--app-height) - 300px - var(--safe-bottom)));margin:auto}.compact-game .board-wrapper:has(.live-eval-bar) .board-frame{width:min(calc(100% - 24px),calc(var(--app-height) - 300px - var(--safe-bottom)))}.compact-game .board-wrapper{justify-content:center}.compact-game .sidebar-pane{border-radius:12px}.panel-tabs{padding:0 8px}.panel-tabs button{min-height:36px}.panel-scroll{padding:12px}.compact-game .game-controls{gap:6px}.compact-game .game-controls>.btn{min-height:44px}.compact-training{height:calc(var(--app-height) - 130px - var(--safe-bottom));flex-direction:column;padding-top:12px;padding-bottom:12px;display:flex;overflow:hidden}.compact-training .screen-header{flex:none;margin-bottom:8px;font-size:12px}.compact-training .training-layout{flex:1;grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr;gap:12px;min-height:0;padding:0}.compact-training .board-frame{width:min(100%,calc(var(--app-height) - 365px - var(--safe-bottom)));margin:auto}.compact-training .training-actions{margin-top:8px}.compact-training .side-column{min-height:0;padding:16px;overflow:auto}.compact-training .side-column h2{margin:4px 0 10px;font-size:18px}.metric-grid{gap:12px}.history-row{font-size:12px}}@media (height<=500px) and (orientation:landscape){.compact-game .game-header{height:40px}.compact-game .game-layout{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr) minmax(220px,1fr);gap:16px}.compact-game .board-pane{gap:4px;height:100%;position:relative}.compact-game .board-frame,.compact-game .board-wrapper:has(.live-eval-bar) .board-frame{width:min(100%,calc(var(--app-height) - 185px - var(--safe-bottom)))}.compact-game .clock-box{min-height:26px;padding:2px 8px}.compact-game .clock-time{font-size:16px}.compact-game .game-controls>.btn{min-height:40px}.compact-game .game-status{min-height:20px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.feedback-explanation,.analysis-explanation-text,.mini-lesson-text,.elo-adaptation-desc,.refutation-step{color:var(--text-main)}.tab-btn.active,.replay-move-item.active,.segment-btn.active,.themes-grid .segment-btn.active,.clock-grid .segment-btn.active{color:var(--bg-secondary)}.tab-btn:hover{color:var(--text-main)}.category-badge[class*=category-]{color:var(--text-main);background:var(--bg-card);border-color:var(--border-color)}.storage-warning{background:#b3483d14;border:1px solid #b3483d;border-radius:12px;padding:14px}.compact-game .feedback-card.active{padding-left:12px}.confirm-dialog{border:1px solid var(--border-color);background:var(--bg-secondary);width:min(90vw,420px);color:var(--text-main);border-radius:20px;margin:auto;padding:24px;position:fixed;inset:0;box-shadow:0 20px 80px #0004}.confirm-dialog::backdrop{backdrop-filter:blur(3px);background:#101c1966}.confirm-dialog p{margin:16px 0 24px;font-size:13px}.confirmation-actions{justify-content:flex-end;gap:10px;display:flex}.home-screen{display:block}.compact-training .board-column{flex-direction:column;justify-content:flex-start;align-items:stretch;display:flex}.compact-training .board-frame{flex-shrink:0}.compact-training .side-column{gap:10px}.compact-training .training-layout{padding:0}.compact-training .training-actions{flex-shrink:0;width:100%}.compact-training{width:100%;max-width:1050px;margin:0 auto;padding:24px}.compact-training .screen-header{background:0 0;border:0;min-height:44px;padding:0}@media (width<=760px){.compact-training{padding:12px 20px}}
