@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./fraunces-vietnamese-opsz-normal-Czevyj-6.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./fraunces-latin-ext-opsz-normal-CJcjJNj7.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./fraunces-latin-opsz-normal-DihXLNYH.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(./fraunces-vietnamese-opsz-italic-DxWqP7Ku.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(./fraunces-latin-ext-opsz-italic-CGbN9UgK.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(./fraunces-latin-opsz-italic-lSdLDfvT.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.cg-wrap{box-sizing:content-box;display:block;position:relative}cg-container{width:100%;height:100%;display:block;position:absolute;top:0}cg-board{-webkit-user-select:none;user-select:none;background-size:cover;width:100%;height:100%;line-height:0;position:absolute;top:0;left:0}.cg-wrap.manipulable cg-board{cursor:pointer}cg-board square{pointer-events:none;width:12.5%;height:12.5%;position:absolute;top:0;left:0}cg-board square.move-dest{pointer-events:auto}cg-board square.last-move{will-change:transform}.cg-wrap piece{z-index:2;will-change:transform;pointer-events:none;background-size:cover;width:12.5%;height:12.5%;position:absolute;top:0;left:0}cg-board piece.dragging{cursor:move;z-index:11!important}piece.anim{z-index:8}piece.fading{z-index:1;opacity:.5}.cg-wrap piece.ghost{opacity:.3}.cg-wrap piece svg{pointer-events:none;z-index:2;opacity:.6;width:100%;height:100%;position:relative;top:0;left:0;overflow:hidden}.cg-wrap cg-auto-pieces,.cg-wrap .cg-shapes,.cg-wrap .cg-custom-svgs,.cg-wrap .cg-shapes-below,.cg-wrap .cg-custom-below{pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0;overflow:visible}.cg-wrap cg-auto-pieces{z-index:2}.cg-wrap cg-auto-pieces piece{opacity:.3}.cg-wrap .cg-shapes{opacity:.6;z-index:2;overflow:hidden}.cg-wrap .cg-shapes-below{z-index:1;overflow:hidden}.cg-wrap .cg-custom-below{z-index:1}.cg-wrap .cg-custom-svgs{z-index:9}.cg-wrap .cg-custom-svgs svg,.cg-wrap .cg-custom-below svg{overflow:visible}.cg-wrap coords{pointer-events:none;opacity:.8;font-family:sans-serif;font-size:9px;display:flex;position:absolute}.cg-wrap coords.ranks{flex-flow:column-reverse;width:12px;height:100%;top:-20px;left:4px}.cg-wrap coords.ranks.black{flex-flow:column}.cg-wrap coords.ranks.left{align-items:flex-end;left:-15px}.cg-wrap coords.files{text-transform:uppercase;text-align:center;flex-flow:row;width:100%;height:16px;bottom:-4px;left:24px}.cg-wrap coords.files.black{flex-flow:row-reverse}.cg-wrap coords coord{flex:auto}.cg-wrap coords.squares{text-transform:uppercase;text-align:right;flex-flow:column-reverse;width:12.5%;height:100%;bottom:0;left:0}.cg-wrap coords.squares.black{flex-flow:column}.cg-wrap coords.squares.left{text-align:left}.cg-wrap coords.squares coord{padding:6% 4%}.cg-wrap coords.squares.rank2{transform:translate(100%)}.cg-wrap coords.squares.rank3{transform:translate(200%)}.cg-wrap coords.squares.rank4{transform:translate(300%)}.cg-wrap coords.squares.rank5{transform:translate(400%)}.cg-wrap coords.squares.rank6{transform:translate(500%)}.cg-wrap coords.squares.rank7{transform:translate(600%)}.cg-wrap coords.squares.rank8{transform:translate(700%)}.cg-wrap piece.pawn.white{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NSIgaGVpZ2h0PSI0NSI+PHBhdGggZD0iTTIyLjUgOWMtMi4yMSAwLTQgMS43OS00IDQgMCAuODkuMjkgMS43MS43OCAyLjM4QzE3LjMzIDE2LjUgMTYgMTguNTkgMTYgMjFjMCAyLjAzLjk0IDMuODQgMi40MSA1LjAzLTMgMS4wNi03LjQxIDUuNTUtNy40MSAxMy40N2gyM2MwLTcuOTItNC40MS0xMi40MS03LjQxLTEzLjQ3IDEuNDctMS4xOSAyLjQxLTMgMi40MS01LjAzIDAtMi40MS0xLjMzLTQuNS0zLjI4LTUuNjIuNDktLjY3Ljc4LTEuNDkuNzgtMi4zOCAwLTIuMjEtMS43OS00LTQtNHoiIGZpbGw9IiNmZmYiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPjwvc3ZnPg==)}.cg-wrap piece.bishop.white{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NSIgaGVpZ2h0PSI0NSI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxnIGZpbGw9IiNmZmYiIHN0cm9rZS1saW5lY2FwPSJidXR0Ij48cGF0aCBkPSJNOSAzNmMzLjM5LS45NyAxMC4xMS40MyAxMy41LTIgMy4zOSAyLjQzIDEwLjExIDEuMDMgMTMuNSAyIDAgMCAxLjY1LjU0IDMgMi0uNjguOTctMS42NS45OS0zIC41LTMuMzktLjk3LTEwLjExLjQ2LTEzLjUtMS0zLjM5IDEuNDYtMTAuMTEuMDMtMTMuNSAxLTEuMzU0LjQ5LTIuMzIzLjQ3LTMtLjUgMS4zNTQtMS45NCAzLTIgMy0yeiIvPjxwYXRoIGQ9Ik0xNSAzMmMyLjUgMi41IDEyLjUgMi41IDE1IDAgLjUtMS41IDAtMiAwLTIgMC0yLjUtMi41LTQtMi41LTQgNS41LTEuNSA2LTExLjUtNS0xNS41LTExIDQtMTAuNSAxNC01IDE1LjUgMCAwLTIuNSAxLjUtMi41IDQgMCAwLS41LjUgMCAyeiIvPjxwYXRoIGQ9Ik0yNSA4YTIuNSAyLjUgMCAxIDEtNSAwIDIuNSAyLjUgMCAxIDEgNSAweiIvPjwvZz48cGF0aCBkPSJNMTcuNSAyNmgxME0xNSAzMGgxNW0tNy41LTE0LjV2NU0yMCAxOGg1IiBzdHJva2UtbGluZWpvaW49Im1pdGVyIi8+PC9nPjwvc3ZnPg==)}.cg-wrap piece.knight.white{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NSIgaGVpZ2h0PSI0NSI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik0yMiAxMGMxMC41IDEgMTYuNSA4IDE2IDI5SDE1YzAtOSAxMC02LjUgOC0yMSIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Ik0yNCAxOGMuMzggMi45MS01LjU1IDcuMzctOCA5LTMgMi0yLjgyIDQuMzQtNSA0LTEuMDQyLS45NCAxLjQxLTMuMDQgMC0zLTEgMCAuMTkgMS4yMy0xIDItMSAwLTQuMDAzIDEtNC00IDAtMiA2LTEyIDYtMTJzMS44OS0xLjkgMi0zLjVjLS43My0uOTk0LS41LTItLjUtMyAxLTEgMyAyLjUgMyAyLjVoMnMuNzgtMS45OTIgMi41LTNjMSAwIDEgMyAxIDMiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJNOS41IDI1LjVhLjUuNSAwIDEgMS0xIDAgLjUuNSAwIDEgMSAxIDB6bTUuNDMzLTkuNzVhLjUgMS41IDMwIDEgMS0uODY2LS41LjUgMS41IDMwIDEgMSAuODY2LjV6IiBmaWxsPSIjMDAwIi8+PC9nPjwvc3ZnPg==)}.cg-wrap piece.rook.white{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NSIgaGVpZ2h0PSI0NSI+PGcgZmlsbD0iI2ZmZiIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik05IDM5aDI3di0zSDl2M3ptMy0zdi00aDIxdjRIMTJ6bS0xLTIyVjloNHYyaDVWOWg1djJoNVY5aDR2NSIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiLz48cGF0aCBkPSJNMzQgMTRsLTMgM0gxNGwtMy0zIi8+PHBhdGggZD0iTTMxIDE3djEyLjVIMTRWMTciIHN0cm9rZS1saW5lY2FwPSJidXR0IiBzdHJva2UtbGluZWpvaW49Im1pdGVyIi8+PHBhdGggZD0iTTMxIDI5LjVsMS41IDIuNWgtMjBsMS41LTIuNSIvPjxwYXRoIGQ9Ik0xMSAxNGgyMyIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVqb2luPSJtaXRlciIvPjwvZz48L3N2Zz4=)}.cg-wrap piece.queen.white{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NSIgaGVpZ2h0PSI0NSI+PGcgZmlsbD0iI2ZmZiIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik04IDEyYTIgMiAwIDEgMS00IDAgMiAyIDAgMSAxIDQgMHptMTYuNS00LjVhMiAyIDAgMSAxLTQgMCAyIDIgMCAxIDEgNCAwek00MSAxMmEyIDIgMCAxIDEtNCAwIDIgMiAwIDEgMSA0IDB6TTE2IDguNWEyIDIgMCAxIDEtNCAwIDIgMiAwIDEgMSA0IDB6TTMzIDlhMiAyIDAgMSAxLTQgMCAyIDIgMCAxIDEgNCAweiIvPjxwYXRoIGQ9Ik05IDI2YzguNS0xLjUgMjEtMS41IDI3IDBsMi0xMi03IDExVjExbC01LjUgMTMuNS0zLTE1LTMgMTUtNS41LTE0VjI1TDcgMTRsMiAxMnoiIHN0cm9rZS1saW5lY2FwPSJidXR0Ii8+PHBhdGggZD0iTTkgMjZjMCAyIDEuNSAyIDIuNSA0IDEgMS41IDEgMSAuNSAzLjUtMS41IDEtMS41IDIuNS0xLjUgMi41LTEuNSAxLjUuNSAyLjUuNSAyLjUgNi41IDEgMTYuNSAxIDIzIDAgMCAwIDEuNS0xIDAtMi41IDAgMCAuNS0xLjUtMS0yLjUtLjUtMi41LS41LTIgLjUtMy41IDEtMiAyLjUtMiAyLjUtNC04LjUtMS41LTE4LjUtMS41LTI3IDB6IiBzdHJva2UtbGluZWNhcD0iYnV0dCIvPjxwYXRoIGQ9Ik0xMS41IDMwYzMuNS0xIDE4LjUtMSAyMiAwTTEyIDMzLjVjNi0xIDE1LTEgMjEgMCIgZmlsbD0ibm9uZSIvPjwvZz48L3N2Zz4=)}.cg-wrap piece.king.white{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NSIgaGVpZ2h0PSI0NSI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik0yMi41IDExLjYzVjZNMjAgOGg1IiBzdHJva2UtbGluZWpvaW49Im1pdGVyIi8+PHBhdGggZD0iTTIyLjUgMjVzNC41LTcuNSAzLTEwLjVjMCAwLTEtMi41LTMtMi41cy0zIDIuNS0zIDIuNWMtMS41IDMgMyAxMC41IDMgMTAuNSIgZmlsbD0iI2ZmZiIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiIHN0cm9rZS1saW5lam9pbj0ibWl0ZXIiLz48cGF0aCBkPSJNMTEuNSAzN2M1LjUgMy41IDE1LjUgMy41IDIxIDB2LTdzOS00LjUgNi0xMC41Yy00LTYuNS0xMy41LTMuNS0xNiA0VjI3di0zLjVjLTMuNS03LjUtMTMtMTAuNS0xNi00LTMgNiA1IDEwIDUgMTBWMzd6IiBmaWxsPSIjZmZmIi8+PHBhdGggZD0iTTExLjUgMzBjNS41LTMgMTUuNS0zIDIxIDBtLTIxIDMuNWM1LjUtMyAxNS41LTMgMjEgMG0tMjEgMy41YzUuNS0zIDE1LjUtMyAyMSAwIi8+PC9nPjwvc3ZnPg==)}.cg-wrap piece.pawn.black{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NSIgaGVpZ2h0PSI0NSI+PHBhdGggZD0iTTIyLjUgOWMtMi4yMSAwLTQgMS43OS00IDQgMCAuODkuMjkgMS43MS43OCAyLjM4QzE3LjMzIDE2LjUgMTYgMTguNTkgMTYgMjFjMCAyLjAzLjk0IDMuODQgMi40MSA1LjAzLTMgMS4wNi03LjQxIDUuNTUtNy40MSAxMy40N2gyM2MwLTcuOTItNC40MS0xMi40MS03LjQxLTEzLjQ3IDEuNDctMS4xOSAyLjQxLTMgMi40MS01LjAzIDAtMi40MS0xLjMzLTQuNS0zLjI4LTUuNjIuNDktLjY3Ljc4LTEuNDkuNzgtMi4zOCAwLTIuMjEtMS43OS00LTQtNHoiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPjwvc3ZnPg==)}.cg-wrap piece.bishop.black{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NSIgaGVpZ2h0PSI0NSI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxnIGZpbGw9IiMwMDAiIHN0cm9rZS1saW5lY2FwPSJidXR0Ij48cGF0aCBkPSJNOSAzNmMzLjM5LS45NyAxMC4xMS40MyAxMy41LTIgMy4zOSAyLjQzIDEwLjExIDEuMDMgMTMuNSAyIDAgMCAxLjY1LjU0IDMgMi0uNjguOTctMS42NS45OS0zIC41LTMuMzktLjk3LTEwLjExLjQ2LTEzLjUtMS0zLjM5IDEuNDYtMTAuMTEuMDMtMTMuNSAxLTEuMzU0LjQ5LTIuMzIzLjQ3LTMtLjUgMS4zNTQtMS45NCAzLTIgMy0yeiIvPjxwYXRoIGQ9Ik0xNSAzMmMyLjUgMi41IDEyLjUgMi41IDE1IDAgLjUtMS41IDAtMiAwLTIgMC0yLjUtMi41LTQtMi41LTQgNS41LTEuNSA2LTExLjUtNS0xNS41LTExIDQtMTAuNSAxNC01IDE1LjUgMCAwLTIuNSAxLjUtMi41IDQgMCAwLS41LjUgMCAyeiIvPjxwYXRoIGQ9Ik0yNSA4YTIuNSAyLjUgMCAxIDEtNSAwIDIuNSAyLjUgMCAxIDEgNSAweiIvPjwvZz48cGF0aCBkPSJNMTcuNSAyNmgxME0xNSAzMGgxNW0tNy41LTE0LjV2NU0yMCAxOGg1IiBzdHJva2U9IiNlY2VjZWMiIHN0cm9rZS1saW5lam9pbj0ibWl0ZXIiLz48L2c+PC9zdmc+)}.cg-wrap piece.knight.black{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NSIgaGVpZ2h0PSI0NSI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik0yMiAxMGMxMC41IDEgMTYuNSA4IDE2IDI5SDE1YzAtOSAxMC02LjUgOC0yMSIgZmlsbD0iIzAwMCIvPjxwYXRoIGQ9Ik0yNCAxOGMuMzggMi45MS01LjU1IDcuMzctOCA5LTMgMi0yLjgyIDQuMzQtNSA0LTEuMDQyLS45NCAxLjQxLTMuMDQgMC0zLTEgMCAuMTkgMS4yMy0xIDItMSAwLTQuMDAzIDEtNC00IDAtMiA2LTEyIDYtMTJzMS44OS0xLjkgMi0zLjVjLS43My0uOTk0LS41LTItLjUtMyAxLTEgMyAyLjUgMyAyLjVoMnMuNzgtMS45OTIgMi41LTNjMSAwIDEgMyAxIDMiIGZpbGw9IiMwMDAiLz48cGF0aCBkPSJNOS41IDI1LjVhLjUuNSAwIDEgMS0xIDAgLjUuNSAwIDEgMSAxIDB6bTUuNDMzLTkuNzVhLjUgMS41IDMwIDEgMS0uODY2LS41LjUgMS41IDMwIDEgMSAuODY2LjV6IiBmaWxsPSIjZWNlY2VjIiBzdHJva2U9IiNlY2VjZWMiLz48cGF0aCBkPSJNMjQuNTUgMTAuNGwtLjQ1IDEuNDUuNS4xNWMzLjE1IDEgNS42NSAyLjQ5IDcuOSA2Ljc1UzM1Ljc1IDI5LjA2IDM1LjI1IDM5bC0uMDUuNWgyLjI1bC4wNS0uNWMuNS0xMC4wNi0uODgtMTYuODUtMy4yNS0yMS4zNC0yLjM3LTQuNDktNS43OS02LjY0LTkuMTktNy4xNmwtLjUxLS4xeiIgZmlsbD0iI2VjZWNlYyIgc3Ryb2tlPSJub25lIi8+PC9nPjwvc3ZnPg==)}.cg-wrap piece.rook.black{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NSIgaGVpZ2h0PSI0NSI+PGcgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik05IDM5aDI3di0zSDl2M3ptMy41LTdsMS41LTIuNWgxN2wxLjUgMi41aC0yMHptLS41IDR2LTRoMjF2NEgxMnoiIHN0cm9rZS1saW5lY2FwPSJidXR0Ii8+PHBhdGggZD0iTTE0IDI5LjV2LTEzaDE3djEzSDE0eiIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiIHN0cm9rZS1saW5lam9pbj0ibWl0ZXIiLz48cGF0aCBkPSJNMTQgMTYuNUwxMSAxNGgyM2wtMyAyLjVIMTR6TTExIDE0VjloNHYyaDVWOWg1djJoNVY5aDR2NUgxMXoiIHN0cm9rZS1saW5lY2FwPSJidXR0Ii8+PHBhdGggZD0iTTEyIDM1LjVoMjFtLTIwLTRoMTltLTE4LTJoMTdtLTE3LTEzaDE3TTExIDE0aDIzIiBmaWxsPSJub25lIiBzdHJva2U9IiNlY2VjZWMiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJtaXRlciIvPjwvZz48L3N2Zz4=)}.cg-wrap piece.queen.black{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NSIgaGVpZ2h0PSI0NSI+PGcgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxnIHN0cm9rZT0ibm9uZSI+PGNpcmNsZSBjeD0iNiIgY3k9IjEyIiByPSIyLjc1Ii8+PGNpcmNsZSBjeD0iMTQiIGN5PSI5IiByPSIyLjc1Ii8+PGNpcmNsZSBjeD0iMjIuNSIgY3k9IjgiIHI9IjIuNzUiLz48Y2lyY2xlIGN4PSIzMSIgY3k9IjkiIHI9IjIuNzUiLz48Y2lyY2xlIGN4PSIzOSIgY3k9IjEyIiByPSIyLjc1Ii8+PC9nPjxwYXRoIGQ9Ik05IDI2YzguNS0xLjUgMjEtMS41IDI3IDBsMi41LTEyLjVMMzEgMjVsLS4zLTE0LjEtNS4yIDEzLjYtMy0xNC41LTMgMTQuNS01LjItMTMuNkwxNCAyNSA2LjUgMTMuNSA5IDI2eiIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiLz48cGF0aCBkPSJNOSAyNmMwIDIgMS41IDIgMi41IDQgMSAxLjUgMSAxIC41IDMuNS0xLjUgMS0xLjUgMi41LTEuNSAyLjUtMS41IDEuNS41IDIuNS41IDIuNSA2LjUgMSAxNi41IDEgMjMgMCAwIDAgMS41LTEgMC0yLjUgMCAwIC41LTEuNS0xLTIuNS0uNS0yLjUtLjUtMiAuNS0zLjUgMS0yIDIuNS0yIDIuNS00LTguNS0xLjUtMTguNS0xLjUtMjcgMHoiIHN0cm9rZS1saW5lY2FwPSJidXR0Ii8+PHBhdGggZD0iTTExIDM4LjVhMzUgMzUgMSAwIDAgMjMgMCIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiLz48cGF0aCBkPSJNMTEgMjlhMzUgMzUgMSAwIDEgMjMgMG0tMjEuNSAyLjVoMjBtLTIxIDNhMzUgMzUgMSAwIDAgMjIgMG0tMjMgM2EzNSAzNSAxIDAgMCAyNCAwIiBmaWxsPSJub25lIiBzdHJva2U9IiNlY2VjZWMiLz48L2c+PC9zdmc+)}.cg-wrap piece.king.black{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NSIgaGVpZ2h0PSI0NSI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik0yMi41IDExLjYzVjYiIHN0cm9rZS1saW5lam9pbj0ibWl0ZXIiLz48cGF0aCBkPSJNMjIuNSAyNXM0LjUtNy41IDMtMTAuNWMwIDAtMS0yLjUtMy0yLjVzLTMgMi41LTMgMi41Yy0xLjUgMyAzIDEwLjUgMyAxMC41IiBmaWxsPSIjMDAwIiBzdHJva2UtbGluZWNhcD0iYnV0dCIgc3Ryb2tlLWxpbmVqb2luPSJtaXRlciIvPjxwYXRoIGQ9Ik0xMS41IDM3YzUuNSAzLjUgMTUuNSAzLjUgMjEgMHYtN3M5LTQuNSA2LTEwLjVjLTQtNi41LTEzLjUtMy41LTE2IDRWMjd2LTMuNWMtMy41LTcuNS0xMy0xMC41LTE2LTQtMyA2IDUgMTAgNSAxMFYzN3oiIGZpbGw9IiMwMDAiLz48cGF0aCBkPSJNMjAgOGg1IiBzdHJva2UtbGluZWpvaW49Im1pdGVyIi8+PHBhdGggZD0iTTMyIDI5LjVzOC41LTQgNi4wMy05LjY1QzM0LjE1IDE0IDI1IDE4IDIyLjUgMjQuNWwuMDEgMi4xLS4wMS0yLjFDMjAgMTggOS45MDYgMTQgNi45OTcgMTkuODVjLTIuNDk3IDUuNjUgNC44NTMgOSA0Ljg1MyA5IiBzdHJva2U9IiNlY2VjZWMiLz48cGF0aCBkPSJNMTEuNSAzMGM1LjUtMyAxNS41LTMgMjEgMG0tMjEgMy41YzUuNS0zIDE1LjUtMyAyMSAwbS0yMSAzLjVjNS41LTMgMTUuNS0zIDIxIDAiIHN0cm9rZT0iI2VjZWNlYyIvPjwvZz48L3N2Zz4=)}:root{--font-ui:"Inter Variable", ui-sans-serif, system-ui, -apple-system, sans-serif;--font-serif:"Fraunces Variable", "Iowan Old Style", Georgia, serif;--paper:#fafbf8;--paper-2:#eef1e9;--card:#fff;--ink:#203d35;--ink-2:#4f6159;--muted:#65736c;--line:#d4ddd4;--line-2:#e4e9e1;--accent:#2c5946;--accent-ink:#f7f3e8;--accent-soft:#e8eee2;--good:#2e7d4f;--good-soft:#e1efe1;--bad:#b84b35;--bad-soft:#f6e3dc;--hint:#a87b12;--hint-soft:#f5ebcd;--info-soft:#e6ebef;--r-board:5px;--r-card:10px;--r-btn:7px;--shadow-card:0 3px 14px -10px #19352729;--shadow-board:0 8px 28px -16px #1e281940;--ease:cubic-bezier(.2, .7, .2, 1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#131713;--paper-2:#1b211c;--card:#1a1f1b;--ink:#ece6d8;--ink-2:#c3c0b2;--muted:#8d948a;--line:#2d342e;--line-2:#252b26;--accent:#8fbf9b;--accent-ink:#102015;--accent-soft:#233328;--good:#7cc794;--good-soft:#1e3324;--bad:#e8876f;--bad-soft:#3a221c;--hint:#e4bb55;--hint-soft:#3a3019;--info-soft:#20272b;--shadow-card:0 1px 0 #ffffff08 inset, 0 10px 30px -14px #0009;--shadow-board:0 2px 4px #0000004d, 0 26px 50px -20px #000000b3;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--paper:#131713;--paper-2:#1b211c;--card:#1a1f1b;--ink:#ece6d8;--ink-2:#c3c0b2;--muted:#8d948a;--line:#2d342e;--line-2:#252b26;--accent:#8fbf9b;--accent-ink:#102015;--accent-soft:#233328;--good:#7cc794;--good-soft:#1e3324;--bad:#e8876f;--bad-soft:#3a221c;--hint:#e4bb55;--hint-soft:#3a3019;--info-soft:#20272b;--shadow-card:0 1px 0 #ffffff08 inset, 0 10px 30px -14px #0009;--shadow-board:0 2px 4px #0000004d, 0 26px 50px -20px #000000b3;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font:400 15px/1.55 var(--font-ui);font-feature-settings:"cv11", "ss01";-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}a{color:inherit;text-underline-offset:4px;text-decoration:none}::selection{background:var(--accent-soft);color:var(--ink)}html{scrollbar-color:var(--line) var(--paper)}input{caret-color:var(--accent)}.icon{flex-shrink:0}main:focus{outline:none}button{font:inherit;color:inherit}h1,h2,h3{margin:0;font-weight:500}p{margin:0}kbd{font:600 12px var(--font-ui);border:1px solid var(--line);background:var(--card);border-bottom-width:2px;border-radius:5px;padding:1px 6px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}.muted{color:var(--muted)}.small{font-size:13px}.eyebrow{font:600 11px/1.2 var(--font-ui);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);display:inline-block}.display{font-family:var(--font-serif);font-optical-sizing:auto;letter-spacing:-.022em;text-wrap:balance;font-size:clamp(36px,3.8vw,52px);font-weight:460;line-height:1.08}.sub{color:var(--ink-2);text-wrap:pretty;font-size:16px}.serif-italic{font-family:var(--font-serif);color:var(--ink-2);font-style:italic}.app{min-height:100dvh}.sidebar{z-index:50;background:var(--paper);border-right:1px solid var(--line-2);flex-direction:column;width:224px;padding:34px 18px 22px;display:flex;position:fixed;inset:0 auto 0 0}.brand{align-items:center;gap:9px;display:flex}.brand-mark{background:#294e3e;border-radius:7px;flex-shrink:0;width:35px;height:40px;position:relative}.brand-mark piece{background-position:50%;background-repeat:no-repeat;background-size:contain;width:29px;height:34px;position:absolute;inset:3px}.brand-name{font:540 24px/1 var(--font-serif);letter-spacing:-.04em}.brand-dot{color:var(--accent)}.brand-note{color:var(--muted);margin:15px 0 43px 4px;font-size:10px}.nav{flex-direction:column;gap:5px;display:flex}.nav a,.sidebar-settings{color:var(--ink-2);border-radius:7px;align-items:center;gap:13px;padding:13px 14px;font-size:14px;font-weight:500;transition:background .16s,color .16s;display:flex}.nav a:hover,.sidebar-settings:hover{background:var(--paper-2);color:var(--ink)}.nav a.active,.sidebar-settings.active{background:var(--accent-soft);color:var(--accent);font-weight:650}.nav a.active .icon{stroke-width:2px}.badge{min-width:21px;height:21px;color:var(--accent-ink);background:var(--accent);border-radius:50%;place-items:center;margin-left:auto;padding:0 5px;font-size:11px;display:grid}.sidebar-bottom{margin-top:auto;padding-top:45px}.sidebar-note{font:400 22px/1.45 var(--font-serif);color:var(--muted);margin:0 14px 30px}.sidebar-note em{color:var(--ink);font-size:17px}.sidebar-settings{border-top:1px solid var(--line-2);border-radius:0;padding-top:20px}.sidebar .mobile-menu,.nav .mobile-settings{display:none}.workspace{flex-direction:column;min-height:100dvh;margin-left:224px;display:flex}.workspace-bar{justify-content:space-between;align-items:center;gap:16px;min-height:78px;padding:0 clamp(24px,4vw,64px);display:flex}.breadcrumb{color:var(--muted);align-items:center;gap:12px;font-size:12px;display:flex}.breadcrumb strong{color:var(--ink-2);font-weight:500}.level-pill{color:var(--ink-2);border:1px solid var(--line);border-radius:6px;align-items:center;gap:5px;padding:7px 11px;font-size:12px;display:inline-flex}.level-dot{background:var(--accent);border-radius:50%;width:6px;height:6px;margin-right:4px}.icon-btn{width:40px;height:40px;color:var(--ink-2);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;place-items:center;transition:background .15s;display:inline-grid}.icon-btn:hover,.icon-btn.active{background:var(--paper-2);color:var(--ink)}.icon-btn.on{color:var(--accent);background:var(--accent-soft)}.main{flex:1;width:100%}.page{max-width:1300px;margin:0 auto;padding:24px clamp(24px,4vw,64px) 64px}.page-head{gap:16px;max-width:680px;margin:8px 0 38px;display:grid}.display em{color:var(--accent);font-weight:420}.page-head .sub{max-width:58ch}.footer{border-top:1px solid var(--line-2);color:var(--muted);justify-content:space-between;align-items:center;gap:20px;padding:22px clamp(24px,4vw,64px);font-size:12px;display:flex}.footer a{align-items:center;gap:8px;display:flex}.footer .serif-italic{font-size:15px}.skip-link{z-index:100;background:var(--accent);color:var(--accent-ink);padding:12px 18px;position:fixed;top:-70px;left:15px}.skip-link:focus{top:10px}.home-heading{margin:6px 0 34px}.home-heading .display{letter-spacing:-.035em;font-size:clamp(42px,4.6vw,65px);line-height:1.06}.home-heading .sub{margin-top:20px;font-size:16px}.welcome-lesson{border:1px solid var(--line);border-radius:12px;grid-template-columns:1.06fr 1fr;display:grid;overflow:hidden}.welcome-copy{color:#fbfaf2;background:#254b3d;flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(28px,3.3vw,48px);display:flex}.welcome-copy>.icon{color:#c8d8bc;margin-bottom:22px}.welcome-copy h2{font:430 clamp(33px, 3.1vw, 45px)/1.06 var(--font-serif);letter-spacing:-.025em}.welcome-copy p{color:#d7e4d1;margin:20px 0 26px;font-size:15px;line-height:1.6}.welcome-copy .btn-light{color:#254b3d;background:#f5f6eb;border-color:#f5f6eb;padding:0 16px;font-size:13px}.welcome-copy .btn-light:hover{background:#e5eddb}.welcome-note{color:#c6d7bf;margin-top:18px;font-size:10px}.welcome-board{background:var(--paper-2);flex-direction:column;justify-content:center;gap:15px;padding:24px 32px 19px;display:flex}.welcome-board .mini-board{border-radius:3px;align-self:center;max-width:330px}.preview-label{color:var(--ink-2);flex-wrap:wrap;justify-content:space-between;gap:5px;font-size:10px;display:flex}.preview-label .turn-pill{font-size:11px}.preview-label .dot{width:10px;height:10px}.preview-link{justify-content:center;align-items:center;gap:9px;min-height:30px;font-size:12px;font-weight:600;display:inline-flex}.preview-link:hover{text-decoration:underline}.resume-bar{background:var(--accent-soft);border-radius:8px;align-items:center;gap:15px;margin-bottom:20px;padding:15px 20px;font-size:14px;display:flex}.resume-bar>.icon:last-child{margin-left:auto}.resume-bar small{color:var(--ink-2);margin-top:2px;display:block}.practice-choices{grid-template-columns:repeat(3,minmax(0,1fr));margin:32px 0 48px;display:grid}.practice-choice{border-right:1px solid var(--line);grid-template-rows:auto auto 1fr auto;align-content:start;padding:8px 25px;display:grid}.practice-choice:first-child{padding-left:0}.practice-choice:last-child{border:0;padding-right:0}.practice-choice>.icon{color:var(--accent);margin-bottom:15px}.practice-choice h2{font:480 23px/1.2 var(--font-serif);margin-bottom:10px}.practice-choice p{color:var(--ink-2);max-width:28ch;font-size:13px}.practice-choice>span{color:var(--accent);align-items:center;gap:10px;margin-top:22px;font-size:12px;font-weight:600;display:flex}.practice-choice:hover>span{text-decoration:underline}.practice-choice>span .icon{transition:transform .2s var(--ease)}.practice-choice:hover>span .icon{transform:translate(4px)}.first-ideas{border-top:1px solid var(--line);padding-top:32px}.idea-list{display:grid}.idea-list>a{border-bottom:1px solid var(--line-2);align-items:center;gap:18px;padding:18px 0;display:flex}.idea-list>a>.icon{color:var(--muted);margin-left:auto}.idea-icon{background:var(--accent-soft);width:46px;height:46px;color:var(--accent);border-radius:8px;flex-shrink:0;place-items:center;display:grid}.idea-list h3{margin-bottom:2px;font-size:15px;font-weight:550}.idea-list p{color:var(--muted);font-size:13px}.idea-list>a:hover h3{color:var(--accent);text-decoration:underline}.btn{border-radius:var(--r-btn);border:1px solid var(--line);background:var(--card);min-height:42px;color:var(--ink);cursor:pointer;transition:transform .12s var(--ease), background .15s, border-color .15s, box-shadow .15s;white-space:nowrap;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-size:14.5px;font-weight:560;display:inline-flex}.btn:hover:not(:disabled){border-color:color-mix(in srgb, var(--ink) 25%, var(--line))}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:default}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);box-shadow:none}.btn-primary:hover:not(:disabled){border-color:var(--accent);filter:brightness(1.06)}.btn-quiet{background:var(--card)}.btn-ghost{color:var(--ink-2);background:0 0;border-color:#0000}.btn-ghost:hover:not(:disabled){background:var(--paper-2);border-color:#0000}.btn-lg{min-height:50px;padding:0 22px;font-size:15.5px}.btn.danger{color:var(--bad)}.link-btn{color:var(--ink-2);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:4px 0;font-size:13.5px;font-weight:500;display:inline-flex}.link-btn:hover{color:var(--accent)}.chip{background:var(--accent-soft);color:var(--accent);border-radius:5px;align-items:center;gap:6px;padding:5px 11px;font-size:12.5px;font-weight:600;display:inline-flex}.chip-link:hover{filter:brightness(.97)}.seg{background:var(--paper-2);border:1px solid var(--line-2);border-radius:12px;gap:2px;padding:3px;display:inline-flex}.seg button{color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:9px;padding:7px 14px;font-size:13.5px;font-weight:560}.seg button.on{background:var(--card);color:var(--ink);box-shadow:0 1px 3px #0000001a}.switch{background:var(--line);cursor:pointer;border:0;border-radius:99px;width:46px;height:28px;padding:3px;transition:background .2s}.switch i{width:22px;height:22px;transition:transform .2s var(--ease);background:#fff;border-radius:50%;display:block;box-shadow:0 1px 3px #00000040}.switch[aria-checked=true]{background:var(--accent)}.switch[aria-checked=true] i{transform:translate(18px)}.select{border:1px solid var(--line);background:var(--card);min-height:40px;color:var(--ink);font:inherit;border-radius:10px;padding:0 12px}.meter{background:var(--line-2);border-radius:99px;width:72px;height:6px;display:inline-block;position:relative;overflow:hidden}.meter.wide{width:100%;height:8px}.meter i{background:var(--accent);border-radius:inherit;position:absolute;inset:0 auto 0 0}.session-bar{border-bottom:1px solid var(--line-2);justify-content:space-between;align-items:center;gap:16px;margin:0 0 26px;padding-bottom:20px;display:flex}.session-dots{gap:6px;margin:0;padding:0;list-style:none;display:flex}.session-dots li{background:var(--line);border-radius:99px;width:13px;height:5px;transition:background .3s}.session-dots li.now{background:color-mix(in srgb, var(--accent) 45%, var(--line));width:24px}.session-dots .d-clean{background:var(--good)}.session-dots .d-helped{background:var(--hint)}.session-dots .d-missed{background:var(--bad)}.trainer{grid-template-columns:minmax(0,1.35fr) minmax(285px,.85fr);align-items:start;gap:clamp(24px,3vw,42px);display:grid}.trainer-board{justify-self:start;width:100%;min-width:0}.board-foot{justify-content:space-between;align-items:center;gap:12px;margin-top:12px;display:flex}.board-foot-actions{gap:2px;display:flex}.turn-pill{color:var(--ink-2);align-items:center;gap:8px;font-size:13.5px;font-weight:500;display:inline-flex}.turn-pill .dot{border:1.5px solid var(--ink);background:#fff;border-radius:50%;width:14px;height:14px}.turn-pill[data-color=black] .dot{background:#222;border-color:#222}.trainer-panel{flex-direction:column;gap:18px;padding-top:6px;display:flex;position:sticky;top:24px}.panel-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.objective{font-family:var(--font-serif);font-optical-sizing:auto;letter-spacing:-.02em;text-wrap:balance;font-size:clamp(28px,3vw,39px);font-weight:430;line-height:1.05}.trainer-panel .sub{margin-top:-8px}.blurb{color:var(--ink-2)}.coach{border-radius:var(--r-card);background:var(--card);border:1px solid var(--line-2);box-shadow:var(--shadow-card);animation:coach-in .3s var(--ease);gap:8px;padding:16px 18px;display:grid;position:relative}.coach.empty{display:none}.coach p{color:var(--ink-2);font-size:15px}.coach .btn{justify-self:start;margin-top:4px}.coach-title{font:500 20px/1.2 var(--font-serif);letter-spacing:-.01em}.coach.tone-good{background:var(--good-soft);border-color:#0000}.coach.tone-good .coach-title{color:var(--good)}.coach.tone-bad{background:var(--bad-soft);border-color:#0000}.coach.tone-bad .coach-title{color:var(--bad)}.coach.tone-hint{background:var(--hint-soft);border-color:#0000}.coach.tone-hint .coach-title{color:var(--hint)}.coach.tone-info{background:var(--info-soft);border-color:#0000}@keyframes coach-in{0%{opacity:0;transform:translateY(4px)}}.think{gap:10px;display:grid}.tool-row{flex-wrap:wrap;gap:6px;display:flex}.tool{border:1px solid var(--line);color:var(--ink-2);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:7px;padding:7px 12px;font-size:13px;font-weight:550;transition:background .15s,border-color .15s;display:inline-flex}.tool:disabled{opacity:.45;cursor:default}.tool .swatch{background:var(--c);opacity:.8;border-radius:50%;width:9px;height:9px}.tool-checks{--c:#3a6fb0}.tool-captures{--c:#2f8a55}.tool-threats{--c:#c4473a}.tool-loose{--c:#d98a1c}.tool.on{background:color-mix(in srgb, var(--c) 14%, var(--card));border-color:color-mix(in srgb, var(--c) 50%, transparent);color:var(--ink)}.actions{flex-wrap:wrap;gap:8px;display:flex}.hint-dots{gap:3px;margin-left:2px;display:inline-flex}.hint-dots i{background:var(--line);border-radius:50%;width:5px;height:5px}.hint-dots i.on{background:var(--hint)}.after-row{flex-wrap:wrap;gap:4px 18px;margin-top:-4px;display:flex}.panel-foot{border-top:1px solid var(--line-2);padding-top:10px}.loading-board{justify-items:center;gap:14px;padding:40px 0;display:grid}.skeleton-board{aspect-ratio:1;border-radius:var(--r-board);background:var(--paper-2);width:min(560px,90vw);animation:1.4s ease-in-out infinite shimmer}.empty-state{justify-items:start;gap:16px;max-width:560px;padding:40px 0;display:grid}.empty-state h2{font:450 26px/1.2 var(--font-serif)}.summary{gap:32px;display:grid}.summary-head{gap:12px;max-width:760px;display:grid}.summary-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px;display:grid}.summary-card{border-radius:var(--r-card);background:var(--card);border:1px solid var(--line-2);box-shadow:var(--shadow-card);transition:transform .15s var(--ease);animation:page-in .4s var(--ease) both;gap:10px;padding:10px;display:grid}.summary-card:hover{transform:translateY(-2px)}.summary-card-meta{gap:2px;font-size:13.5px;font-weight:550;display:grid}.result-mark{font-size:15px;font-weight:700}.r-clean .result-mark{color:var(--good)}.r-helped .result-mark{color:var(--hint)}.r-missed .result-mark{color:var(--bad)}.r-missed{border-color:color-mix(in srgb, var(--bad) 30%, var(--line-2))}.summary-actions{flex-wrap:wrap;gap:10px;display:flex}.intro-card{border-radius:var(--r-card);background:var(--card);border:1px solid var(--line-2);box-shadow:var(--shadow-card);gap:16px;padding:20px;display:grid}.intro-card p{color:var(--ink-2)}.intro-card .btn{justify-self:start}.lesson{font-family:var(--font-serif);align-items:flex-start;gap:8px;font-size:16.5px;font-style:italic;display:flex;color:var(--ink)!important}.lesson .icon{color:var(--hint);flex-shrink:0;margin-top:4px}.score-row{color:var(--ink-2);flex-wrap:wrap;gap:18px;font-size:13.5px;display:flex}.score-row b{font:500 20px var(--font-serif);color:var(--ink);margin-right:3px}.move-list{background:var(--paper-2);font-variant-numeric:tabular-nums;border-radius:12px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:2px 8px;max-height:240px;margin:0;padding:10px;font-size:13.5px;list-style:none;display:grid;overflow:auto}.move-list li{grid-template-columns:30px 1fr 1fr;align-items:center;gap:4px;display:grid}.move-list li.dim{opacity:.5}.mv-num{color:var(--muted)}.mv{border-radius:6px;padding:1px 6px;font-weight:550}.mv.now{outline:1.5px dashed var(--accent)}.mv-exact{background:var(--good-soft);color:var(--good)}.mv-close{background:var(--hint-soft);color:var(--hint)}.mv-other{background:var(--bad-soft);color:var(--bad)}.mv-none{color:var(--muted)}.goal-badge{background:var(--accent-soft);color:var(--accent);border-radius:999px;margin-right:4px;padding:3px 9px;font-size:12px;font-weight:650;display:inline-block}.goal-draw{background:var(--info-soft);color:#3a6fb0}.goal-promote{background:var(--hint-soft);color:var(--hint)}:root[data-theme=dark] .goal-draw{color:#9cc0e8}.tips{gap:8px;display:grid}.tips ol{color:var(--ink-2);gap:6px;margin:0;padding-left:20px;display:grid}.tips li::marker{color:var(--muted);font-weight:600}.tips .link-btn{justify-self:start}.mate-count{align-items:center;gap:6px;display:flex}.workbook-strip{background:var(--accent-soft);border-radius:9px;align-items:center;gap:18px;margin-bottom:30px;padding:21px 24px;display:flex}.workbook-strip>span{color:var(--ink-2);gap:3px;font-size:13px;display:grid}.workbook-strip strong{color:var(--ink);font-size:15px;font-weight:600}.workbook-strip>.icon:last-child{margin-left:auto}.library-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;margin-bottom:35px;display:flex}.filter-tabs{flex-wrap:wrap;gap:4px;display:flex}.filter-tabs button{color:var(--ink-2);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;padding:10px 12px;font-size:12px}.filter-tabs button.on{background:var(--accent);color:var(--accent-ink)}.filter-tabs button:hover:not(.on){background:var(--paper-2)}.search-field{border:1px solid var(--line);background:var(--card);color:var(--muted);border-radius:6px;flex:180px;align-items:center;gap:8px;max-width:260px;padding:0 11px;display:flex}.search-field input{color:var(--ink);width:100%;min-width:0;font:inherit;background:0 0;border:0;height:41px;font-size:13px}.search-field:focus-within{outline:2px solid var(--accent);outline-offset:2px}.search-field input:focus{outline:none}.search-field input::placeholder{color:var(--muted)}.skill-group{margin-bottom:44px}.group-head{gap:6px;margin-bottom:22px;display:grid}.group-head.row{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.group-head h2{font:450 28px/1.15 var(--font-serif);letter-spacing:-.02em}.group-head p{margin-top:5px;font-size:13px}.skill-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;display:grid}.skill-card{border:1px solid var(--line-2);background:var(--card);border-radius:9px;grid-template-columns:88px minmax(0,1fr) 16px;align-items:center;gap:16px;padding:16px;transition:border-color .2s,background .2s;display:grid}.skill-card:hover{border-color:var(--accent);background:var(--paper)}.skill-card>.icon{color:var(--muted)}.skill-placeholder{background:var(--paper-2);aspect-ratio:1;color:var(--muted);border-radius:4px;place-items:center;display:grid}.skill-body{gap:6px;display:grid}.skill-body h3{font:500 21px/1.15 var(--font-serif)}.skill-body p{font-size:12px;line-height:1.5}.skill-meta{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:5px;margin-top:3px;font-size:10px;display:flex}.game-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;display:grid}.game-card,.endgame-card{background:var(--card);border:1px solid var(--line-2);transition:transform .18s var(--ease), box-shadow .18s;border-radius:10px;grid-template-columns:130px 1fr;gap:16px;padding:14px;display:grid}.game-card:hover,.endgame-card:hover{box-shadow:var(--shadow-card);transform:translateY(-2px)}.game-card-body,.endgame-body{align-content:start;gap:4px;min-width:0;display:grid}.game-card h3,.endgame-card h3{font:500 20px/1.15 var(--font-serif);letter-spacing:-.01em}.game-card-top{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.players{font-size:14px;font-weight:500}.level-tag{color:var(--accent);background:var(--accent-soft);border-radius:99px;padding:2px 8px;font-size:11.5px;font-weight:650}.best{color:var(--good);font-weight:600}.endgame-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;display:grid}.endgame-card{grid-template-columns:110px 1fr}.done-tag{color:var(--good);font-size:12px;font-weight:700}.stat-row{grid-template-columns:1fr 1fr 1.4fr;gap:16px;margin-bottom:48px;display:grid}.stat-card{background:var(--card);border:1px solid var(--line-2);box-shadow:var(--shadow-card);border-radius:10px;align-content:start;gap:10px;padding:20px;display:grid}.level-big,.stat-big{font:400 54px/1 var(--font-serif);letter-spacing:-.03em}.level-big span{color:var(--ink-2);margin-left:10px;font-size:20px;font-style:italic}.sparkline{width:100%;height:72px;color:var(--accent)}.nb-section{margin-bottom:48px}.thumb-grid{grid-template-columns:repeat(auto-fill,minmax(124px,1fr));gap:14px;display:grid}.thumb{background:var(--card);border:1px solid var(--line-2);transition:transform .15s var(--ease);border-radius:8px;gap:4px;padding:8px;display:grid}.thumb:hover{transform:translateY(-2px)}.thumb.due{border-color:color-mix(in srgb, var(--accent) 45%, var(--line-2))}.empty-line{border:1px dashed var(--line);border-radius:8px;padding:18px}.skill-table{gap:2px;max-width:640px;display:grid}.skill-row{border-radius:10px;grid-template-columns:1fr 160px 56px;align-items:center;gap:14px;padding:8px 10px;display:grid}.skill-row:hover{background:var(--paper-2)}.skill-row .meter{width:100%}.skill-row-name{font-weight:550}.set-group{background:var(--card);border:1px solid var(--line-2);border-radius:10px;max-width:760px;margin-bottom:36px;padding:8px 22px 14px}.set-group h2{font:450 22px var(--font-serif);padding:14px 0 6px}.set-row{border-top:1px solid var(--line-2);justify-content:space-between;align-items:center;gap:20px;padding:14px 0;display:flex}.set-group h2+.set-row{border-top:0}.set-label{gap:2px;display:grid}.set-label>span:first-child{font-weight:550}.theme-picks{grid-template-columns:repeat(4,1fr);gap:12px;padding:8px 0 16px;display:grid}.theme-pick{cursor:pointer;background:0 0;border:2px solid #0000;border-radius:12px;gap:6px;padding:6px;font-size:13px;font-weight:550;display:grid}.theme-pick.on{border-color:var(--accent)}.data-actions{flex-wrap:wrap;gap:8px;padding:10px 0;display:flex}.warn{color:var(--bad);padding:8px 0}.prose{max-width:760px}.prose p,.prose li{color:var(--ink-2);font-size:16px}.prose h2{font:450 24px var(--font-serif);margin:32px 0 10px}.prose p+p{margin-top:12px}.prose ul{gap:8px;padding-left:20px;display:grid}.prose a{color:var(--accent);text-underline-offset:3px;text-decoration:underline}.session-title{align-items:center;gap:12px;font-size:13px;font-weight:550;display:flex}.session-back{width:30px;height:30px;color:var(--muted);border:1px solid var(--line);border-radius:6px;place-items:center;display:grid}.session-back:hover{color:var(--accent);background:var(--accent-soft)}.session-count{color:var(--muted);font-size:11px;font-weight:400}.puzzle-heading{gap:16px;display:grid}.puzzle-heading .panel-top{margin-bottom:6px}.move-instruction{color:var(--muted);max-width:36ch;font-size:12px;line-height:1.6}.think{border-top:1px solid var(--line-2);gap:9px;margin-top:4px;padding-top:22px}.tools-title{font:550 14px/1.4 var(--font-ui)}.tools-help{color:var(--muted);margin-top:-3px;margin-bottom:3px;font-size:12px}.tool-explanation{color:var(--ink-2);font-size:12px}.tool{border-radius:6px;min-height:40px;padding:8px 10px;font-size:12px}.puzzle-trainer .actions{margin:4px 0}.completion-label{color:var(--good);align-items:center;gap:8px;font-size:14px;font-weight:550;display:flex}.keyboard-moves{color:var(--muted);margin-top:10px;font-size:12px}.keyboard-moves summary{cursor:pointer;width:-moz-fit-content;width:fit-content;padding:6px 0}.keyboard-moves form{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.keyboard-moves label{flex:1 0 100%}.keyboard-moves select{flex:1;width:180px;min-width:0;font-size:12px}.keyboard-moves .btn{font-size:12px}.notebook-welcome{background:var(--accent-soft);border-radius:10px;align-items:flex-start;gap:22px;margin-bottom:36px;padding:28px;display:flex}.notebook-welcome h2{font:450 25px var(--font-serif);margin-bottom:9px}.notebook-welcome p{color:var(--ink-2);max-width:55ch;margin-bottom:18px;font-size:14px}.set-control,.set-control .select{max-width:100%}@media (min-width:1600px){.workspace-bar{width:100%;max-width:1300px;margin:auto}}@media (max-width:1200px){.sidebar{width:196px;padding-inline:14px}.workspace{margin-left:196px}.brand-name{font-size:21px}.brand-note{font-size:9px}.page,.workspace-bar{padding-left:28px;padding-right:28px}.welcome-copy{padding:30px}.welcome-board{padding:22px}.welcome-copy .btn-light{padding-inline:12px;font-size:12px}.skill-card{grid-template-columns:70px minmax(0,1fr);gap:12px}.skill-card>.icon{display:none}.skill-body h3{font-size:19px}.trainer{grid-template-columns:minmax(0,1.2fr) minmax(260px,.85fr);gap:24px}.session-dots{gap:4px}.session-dots li{width:9px}.session-dots li.now{width:18px}.stat-row{grid-template-columns:1fr 1fr}.spark-card{grid-column:1/-1}}@media (max-width:1000px){.trainer{grid-template-columns:1fr;gap:24px;max-width:620px;margin-inline:auto}.trainer-panel{position:static}.puzzle-trainer{flex-direction:column;gap:22px;display:flex}.puzzle-trainer .trainer-panel{display:contents}.puzzle-heading{order:-1;gap:10px;width:100%}.puzzle-heading .panel-top{margin:0}.puzzle-heading .objective{font-size:31px}.move-instruction{max-width:none}.puzzle-trainer .think,.puzzle-trainer .coach,.puzzle-trainer .panel-foot{width:100%}.puzzle-trainer .think{margin-top:0;padding-top:16px}.welcome-lesson{grid-template-columns:1fr 1fr}.welcome-copy{padding:25px}.welcome-copy h2{font-size:32px}.welcome-copy .btn-light{white-space:normal;text-align:left;line-height:1.5}.welcome-note{line-height:1.6}.welcome-board{padding:18px}.practice-choice{padding-inline:16px}.practice-choice h2{font-size:21px}.skill-grid{grid-template-columns:1fr}.skill-card{grid-template-columns:90px minmax(0,1fr) 16px}.skill-card>.icon{display:block}}@media (max-width:760px){.sidebar{border:0;border-bottom:1px solid var(--line-2);width:100%;padding:13px 20px;position:sticky;top:0}.sidebar-top{justify-content:space-between;align-items:center;display:flex}.brand-mark{width:28px;height:32px}.brand-mark piece{width:24px;height:28px;inset:2px}.brand-name{font-size:22px}.brand-note,.sidebar-bottom{display:none}.sidebar .mobile-menu{display:grid}.nav{grid-template-columns:1fr 1fr;margin:14px 0 0;display:none}.nav.is-open{display:grid}.nav a{padding:12px 10px;font-size:13px}.nav .mobile-settings{display:flex}.workspace{min-height:calc(100dvh - 67px);margin:0}.workspace-bar{gap:10px;min-height:54px;padding:8px 20px}.breadcrumb{gap:8px;font-size:11px}.breadcrumb>span,.breadcrumb>.icon{display:none}.level-pill{padding:5px 8px;font-size:10px}.level-name{display:none}.page{padding:16px 20px 42px}.home-heading{margin:5px 0 26px}.home-heading .display{font-size:clamp(39px,9vw,58px)}.home-heading .sub{max-width:28ch;margin-top:15px;font-size:14px}.welcome-lesson{grid-template-columns:1fr}.welcome-copy{padding:28px}.welcome-copy>.icon{width:28px;height:28px;margin-bottom:20px}.welcome-copy h2{font-size:38px}.welcome-copy h2 br{display:none}.welcome-copy p{margin:16px 0 20px;font-size:14px}.welcome-copy .btn-light{white-space:normal;min-height:48px;font-size:12px}.welcome-note{margin-top:15px;font-size:10px}.welcome-board{gap:13px;padding:22px 28px 15px}.welcome-board .mini-board{max-width:360px}.preview-label{font-size:9px}.practice-choices{grid-template-columns:1fr;margin:18px 0 34px}.practice-choice{border-right:0;border-bottom:1px solid var(--line-2);grid-template-columns:27px 1fr;column-gap:18px;padding:22px 0}.practice-choice>.icon{grid-row:1/4;width:23px}.practice-choice h2{margin:0 0 7px;font-size:23px}.practice-choice p{max-width:38ch}.practice-choice>span{margin-top:13px}.first-ideas{padding-top:26px}.group-head h2{font-size:25px}.group-head.row{gap:10px}.idea-list p{font-size:12px}.idea-list>a{gap:12px}.idea-icon{width:38px;height:42px}.footer{flex-wrap:wrap;gap:12px;padding:20px;font-size:11px}.footer .serif-italic{font-size:13px}.page-head{gap:15px;margin:0 0 28px}.display{font-size:37px}.sub{font-size:14px}.session-bar{flex-wrap:wrap;gap:12px;margin-bottom:20px;padding-bottom:14px}.session-title{gap:9px;font-size:12px}.session-dots{flex-wrap:wrap;gap:4px}.session-dots li{width:9px}.puzzle-heading .objective{font-size:30px}.puzzle-heading .sub{margin-top:0}.move-instruction{font-size:11px}.trainer-board{width:100%}.board-foot{margin-top:9px}.puzzle-trainer{gap:18px}.workbook-strip{gap:13px;padding:18px}.workbook-strip>span{font-size:12px}.workbook-strip strong{font-size:14px}.library-controls{gap:16px}.filter-tabs{gap:3px}.filter-tabs button{padding:10px;font-size:11px}.search-field{flex-basis:100%;max-width:none}.skill-card{grid-template-columns:78px minmax(0,1fr);padding:13px}.skill-card>.icon{display:none}.skill-body h3{font-size:20px}.game-grid,.endgame-grid{grid-template-columns:1fr}.game-card,.endgame-card{grid-template-columns:92px 1fr;gap:14px;padding:14px}.game-card h3,.endgame-card h3{font-size:21px}.stat-row{grid-template-columns:1fr;gap:12px}.theme-picks{grid-template-columns:repeat(2,1fr)}.set-group{padding-inline:18px}.set-row{flex-direction:column;align-items:flex-start;gap:12px}.set-row:has(.switch){flex-direction:row;align-items:center}.skill-row{grid-template-columns:1fr 70px 42px}.summary-actions .btn{white-space:normal;width:100%}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.notebook-welcome{gap:15px;padding:23px}.notebook-welcome>.icon{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.board-area{width:100%}.lesson-heading{gap:15px;display:grid}.lesson-details summary,.think summary{cursor:pointer;align-items:center;gap:9px;min-height:42px;font-size:13px;font-weight:550;list-style:none;display:flex}.lesson-details summary::-webkit-details-marker{display:none}.think summary::-webkit-details-marker{display:none}.lesson-details summary>.icon:last-child,.think summary>.icon:last-child{margin-left:auto;transition:transform .18s}.lesson-details[open] summary>.icon:last-child,.think[open] summary>.icon:last-child{transform:rotate(90deg)}.lesson-details>p,.lesson-details>ol{margin-top:10px}.lesson-details{font-size:13px}.think{display:block}.think .tool-row{margin:8px 0}.think .tool-explanation{margin-top:7px}@media (min-height:600px){.app:has(.trainer){height:100dvh;min-height:0;overflow:hidden}.workspace:has(.trainer){height:100dvh;min-height:0}.workspace:has(.trainer) .workspace-bar{flex-shrink:0;height:52px;min-height:52px}.workspace:has(.trainer) .footer{display:none}.main:has(.trainer){flex:1;min-height:0}.page:has(.trainer){flex-direction:column;height:100%;min-height:0;padding:12px 28px 18px;display:flex}.page:has(.trainer) .session-bar{flex-shrink:0;margin:0 0 14px;padding-bottom:12px}.trainer{flex:1;grid-template-columns:minmax(0,1fr) minmax(275px,.62fr);align-items:stretch;gap:28px;width:100%;max-width:none;height:100%;min-height:0;display:grid}.trainer-board{flex-direction:column;width:100%;height:100%;min-height:0;display:flex}.board-area{flex:1;place-items:center;min-height:0;display:grid;container-type:size}.board-area .board-shell{flex-shrink:0;width:round(down,min(100cqw,100cqh),8px)}.board-foot{flex-shrink:0;min-height:40px;margin-top:5px}.keyboard-moves{flex-shrink:0;margin-top:3px}.trainer-panel,.puzzle-trainer .trainer-panel{gap:16px;min-height:0;max-height:100%;padding-top:0;display:flex;position:static}.trainer-panel .objective{font-size:clamp(27px,2.8vw,38px)}.trainer-panel .sub{font-size:14px}.trainer-panel .think{margin-top:0;padding-top:6px}.trainer-panel .panel-foot{margin-top:auto;font-size:11px}.coach{gap:6px;padding:13px 16px}.coach p{font-size:13px;line-height:1.5}.coach-title{font-size:20px}.intro-card{gap:14px;padding:18px}.intro-card .lesson{font-size:16px}.trainer .btn{min-height:44px;padding-inline:13px;font-size:13px}.trainer .btn-lg{min-height:48px}.trainer .move-list{max-height:160px}.trainer .tips ol{font-size:13px}.puzzle-heading{order:0;gap:12px}.puzzle-heading .panel-top{margin-bottom:2px}.move-instruction{font-size:11px}}@media (min-width:761px) and (max-width:1200px) and (min-height:600px){.app:has(.trainer) .sidebar{align-items:center;width:72px;padding:22px 12px}:is(.app:has(.trainer) .brand-name,.app:has(.trainer) .brand-note,.app:has(.trainer) .sidebar-note){display:none}.app:has(.trainer) .nav{margin-top:38px}.app:has(.trainer) .nav a{flex-direction:column;justify-content:center;gap:5px;width:48px;min-height:58px;padding:7px 0}.app:has(.trainer) .nav a>span{text-align:center;font-size:9px;line-height:1.15;display:block}.app:has(.trainer) .nav a>.badge{display:none}.app:has(.trainer) .sidebar-settings{justify-content:center;gap:0;width:48px;font-size:0}.workspace:has(.trainer){margin-left:72px}.workspace:has(.trainer) .workspace-bar{padding-inline:28px}}@media (max-width:760px) and (min-height:600px){.workspace:has(.trainer){height:calc(100dvh - 67px)}.app:has(.trainer) .nav{background:var(--paper);border-bottom:1px solid var(--line);margin:0;padding:12px 20px;position:absolute;top:100%;left:0;right:0;box-shadow:0 10px 20px -15px #203d3550}}@media (min-height:600px) and (orientation:portrait){.page:has(.trainer){padding:8px 24px 16px}.trainer,.puzzle-trainer{flex-direction:column;align-items:stretch;gap:12px;display:flex}.trainer .trainer-panel,.puzzle-trainer .trainer-panel{display:contents}.trainer-board{flex:1;height:auto;min-height:0}.lesson-heading,.puzzle-heading{flex-shrink:0;order:-1;grid-template-columns:1fr auto;gap:5px 15px;display:grid}.lesson-heading .panel-top,.puzzle-heading .panel-top{grid-column:1/-1;margin:0 0 5px}.lesson-heading .objective,.puzzle-heading .objective{align-self:center;font-size:29px}.lesson-heading .sub,.puzzle-heading .sub{text-align:right;align-self:center;max-width:33ch;margin:0;font-size:13px}.puzzle-heading .move-instruction{grid-column:1/-1;max-width:none}.trainer .coach{flex-shrink:0}.trainer .think{border-top:0;padding:0}.trainer .actions{flex-shrink:0;margin:0}.trainer .panel-foot{display:none}.trainer .after-row{margin:0}.trainer .intro-card{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:12px 20px;display:flex}.trainer .intro-card .lesson{flex:250px}.trainer .intro-card .lesson-details{flex:1 0 100%}.trainer .score-row{font-size:12px}.trainer .score-row b{font-size:17px}.trainer .move-list{max-height:120px}}@media (max-width:599px) and (min-height:600px){.workspace:has(.trainer) .workspace-bar{display:none}.page:has(.trainer){padding:10px 16px 12px}.page:has(.trainer) .session-bar{margin-bottom:10px;padding-bottom:8px}.trainer,.puzzle-trainer{gap:8px}.lesson-heading,.puzzle-heading{grid-template-columns:1fr;gap:5px}.lesson-heading .objective,.puzzle-heading .objective{font-size:25px}.lesson-heading .sub,.puzzle-heading .sub{text-align:left;max-width:none;font-size:12px}.puzzle-heading .move-instruction{display:none}.lesson-heading .panel-top,.puzzle-heading .panel-top{margin:0}.trainer .coach{padding:10px 12px}.trainer .coach p{font-size:12px}.trainer .coach-title{font-size:18px}.trainer .btn{padding-inline:10px;font-size:12px}.trainer .think summary{min-height:35px;font-size:12px}.trainer .intro-card{gap:8px;padding:12px}.trainer .intro-card .lesson{font-size:14px}.trainer .intro-card .btn-lg{min-height:44px}.trainer .lesson-details summary{min-height:32px;font-size:12px}.trainer .after-row{gap:2px 12px}.trainer .after-row .link-btn{font-size:11px}.trainer .keyboard-moves{font-size:10px}.trainer .board-foot{min-height:36px;margin-top:0}.trainer .board-foot .icon-btn{width:36px;height:36px}.trainer .turn-pill{font-size:12px}.trainer .tool{min-height:36px;padding:6px 8px;font-size:11px}}.tip-navigation{flex-wrap:wrap;align-items:center;gap:12px;margin-top:10px;display:flex}.tip-text{color:var(--ink-2)}.theme-sage{--sq-light:#eceddb;--sq-dark:#8ba482;--sq-last:#d6be506b;--sq-sel:#2f5a4352;--sq-dot:#1f342652}.theme-walnut{--sq-light:#f0dab4;--sq-dark:#b48763;--sq-last:#cdd26a8c;--sq-sel:#14551e66;--sq-dot:#281e144d}.theme-slate{--sq-light:#dfe5e8;--sq-dark:#7d97a8;--sq-last:#9bc7005c;--sq-sel:#143c6e59;--sq-dot:#1423324d}.theme-dusk{--sq-light:#e3dcec;--sq-dark:#8f7fb0;--sq-last:#f0c85a73;--sq-sel:#3c1e6459;--sq-dot:#28143c52}.board-shell{aspect-ratio:1;border-radius:var(--r-board);background:var(--sq-dark);width:round(down,100%,8px);box-shadow:var(--shadow-board);touch-action:none;position:relative}.board-el{border-radius:var(--r-board);position:absolute;inset:0;overflow:hidden}.board-el.cg-wrap,.board-el>.cg-wrap{width:100%;height:100%}cg-board,.mini-board{background-color:var(--sq-light);background-image:conic-gradient(var(--sq-dark) 0 25%, var(--sq-light) 0 50%, var(--sq-dark) 0 75%, var(--sq-light) 0);background-size:25% 25%}.cg-wrap piece{filter:drop-shadow(0 1.5px 1px #00000029)}cg-board piece.dragging{filter:drop-shadow(0 8px 10px #00000047);transform-origin:50%}cg-board square.last-move{background-color:var(--sq-last)}cg-board square.selected{background-color:var(--sq-sel)}cg-board square.move-dest{background:radial-gradient(var(--sq-dot) 19%, transparent 21%);cursor:pointer}cg-board square.move-dest:hover{background:var(--sq-sel)}cg-board square.oc.move-dest{background:radial-gradient(transparent 0%, transparent 78%, var(--sq-dot) 80%)}cg-board square.oc.move-dest:hover{background:var(--sq-sel)}cg-board square.check{background:radial-gradient(#e62814f2 0%,#dc281499 30%,#a000 72%)}cg-board square.qc-good{background-color:#2fa05a80;animation:.9s ease-out sq-pop}cg-board square.qc-bad{background-color:#d4463280;animation:.9s ease-out sq-bad}@keyframes sq-pop{0%{box-shadow:inset 0 0 #2fa05ae6}40%{box-shadow:inset 0 0 0 6px #2fa05a80}to{box-shadow:inset 0 0 #2fa05a00}}@keyframes sq-bad{0%{box-shadow:inset 0 0 #d44632e6}30%{box-shadow:inset 0 0 0 7px #d446328c}to{box-shadow:inset 0 0 #d4463200}}.cg-wrap coords{z-index:5;font:650 clamp(10px, 1.2vmin, 12px) / 1 var(--font-ui);opacity:1;text-transform:lowercase}.cg-wrap coords.ranks{top:4px;left:4px}.cg-wrap coords.ranks coord{transform:none}.cg-wrap coords.files{text-align:right;text-transform:lowercase;height:12px;bottom:2px;left:auto;right:4px}.cg-wrap coords coord{color:#162d23}.promo-veil{z-index:20;border-radius:var(--r-board);-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);background:#14181459;position:absolute;inset:0}.promo-col{width:12.5%;height:50%;display:flex;position:absolute}.promo-btn{background:var(--card);cursor:pointer;border:0;border-radius:50%;flex:1;margin:3%;padding:0;transition:transform .12s,background .12s;position:relative;box-shadow:0 4px 14px #00000040}.promo-btn:hover{background:var(--accent-soft);transform:scale(1.06)}.promo-btn piece{position:absolute;inset:8%;width:84%!important;height:84%!important;transform:none!important}.mini-board{aspect-ratio:1;border-radius:8px;width:100%;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #0000000f}.mini-board piece{filter:none;background-size:cover;width:12.5%;height:12.5%;position:absolute;top:0;left:0}.mini-board.ghost{background:var(--paper-2);background-image:none;animation:1.4s ease-in-out infinite shimmer}@keyframes shimmer{50%{opacity:.6}}cg-board square.vision-white{background-color:#2374a04d;box-shadow:inset 0 0 0 2px #19527d66}cg-board square.vision-black{background-color:#c6663352;box-shadow:inset 0 0 0 2px #8b442373}cg-board square.vision-move{background-image:radial-gradient(circle,#173e31 0 15%,#fafbf8 16% 20%,#0000 21%)}cg-board square.vision-capture{background-image:radial-gradient(circle,#0000 0 54%,#fafbf8 55% 57%,#173e31 58% 65%,#0000 66%)}cg-board square.vision-piece{box-shadow:inset 0 0 0 4px #1b4938}.vision-xray cg-board{cursor:crosshair}.vision-xray cg-board piece{cursor:help}.board-vision{flex-shrink:0;align-self:center;width:100%;max-width:560px;margin-top:8px}.vision-modes{border:1px solid var(--line);background:var(--paper-2);border-radius:7px;grid-template-columns:.55fr 1fr 1fr 1fr;gap:2px;padding:3px;display:grid}.vision-modes button{min-width:0;height:42px;color:var(--ink-2);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:4px;justify-content:center;align-items:center;padding:0 6px;font-size:12px;font-weight:550;display:flex}.vision-modes button:hover{color:var(--accent);background:var(--card)}.vision-modes button.on{background:var(--accent);color:var(--accent-ink)}.vision-context{align-items:center;gap:12px;height:42px;margin-top:3px;display:flex}.vision-note{color:var(--ink-2);align-items:center;gap:7px;margin:0;font-size:11px;line-height:1.4;display:flex}.vision-note>.icon{flex-shrink:0}.vision-note strong{font-variant-numeric:tabular-nums;font-weight:600}.vision-piece-select{border:1px solid var(--line);background:var(--card);width:0;min-width:0;height:42px;color:var(--ink);font:inherit;border-radius:5px;flex:1;padding:0 6px;font-size:11px}.vision-legend{color:var(--ink-2);flex-shrink:0;gap:10px;font-size:10px;line-height:1.2;display:flex}.vision-legend>span{white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.vision-legend i{flex-shrink:0;display:inline-block}.vision-legend-dot{background:var(--accent);border-radius:50%;width:8px;height:8px}.vision-legend-ring{border:2px solid var(--accent);border-radius:50%;width:9px;height:9px}.vision-legend-tint{background:#2374a04d;border:1px solid #37769c;width:10px;height:10px}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (max-width:599px){.board-vision{margin-top:4px}.vision-modes button{font-size:11px}.vision-context{gap:8px}.vision-note{font-size:10px}.vision-legend{gap:6px;font-size:9px}}
