.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{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-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.premove-dest{background:radial-gradient(#141e5580 22%,#203085 0,#0000004d 0,#0000 0)}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.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}.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=)}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-standard-normal-CfYZpDVp.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(/assets/inter-cyrillic-standard-normal-BFQXbQ-f.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(/assets/inter-greek-ext-standard-normal-BmPQvyvo.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(/assets/inter-greek-standard-normal-BM0NlUE_.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(/assets/inter-vietnamese-standard-normal-Ci9T9ieq.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(/assets/inter-latin-ext-standard-normal-DpK-iCPk.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(/assets/inter-latin-standard-normal-BwkfbSeq.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}:root{--bg:#f5f6fa;--surface:#fff;--surface-2:#eef0f6;--surface-3:#e3e6ef;--line:#e2e5ee;--line-strong:#cfd4e2;--text:#15182a;--text-2:#4b5168;--muted:#7a8199;--accent:#5b6cff;--accent-hover:#4c5df0;--accent-ink:#fff;--accent-soft:#eceefe;--brand:#f2b53a;--brand-soft:#fff4d6;--good:#1f9d6a;--good-soft:#e3f6ee;--bad:#e5455f;--bad-soft:#fde8ec;--warn:#e0912a;--warn-soft:#fff1dd;--shadow-sm:0 1px 2px #14182a0f, 0 1px 1px #14182a08;--shadow-md:0 8px 24px -12px #14182a40;--radius:14px;--radius-sm:10px;--header:56px;--tabbar:0px;--board-light:#eceff4;--board-dark:#8f9bb8;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0e1016;--surface:#151821;--surface-2:#1c202b;--surface-3:#252a38;--line:#232837;--line-strong:#323849;--text:#eceef5;--text-2:#b4b9c9;--muted:#7f8599;--accent:#7c8aff;--accent-hover:#8f9bff;--accent-ink:#0e1016;--accent-soft:#1f2340;--brand:#f5c04a;--brand-soft:#2b2518;--good:#3dd68c;--good-soft:#142a21;--bad:#ff6b84;--bad-soft:#331c23;--warn:#f0a94a;--warn-soft:#2e2415;--shadow-sm:0 1px 2px #0006;--shadow-md:0 12px 32px -16px #000000b3;--board-light:#d9dde7;--board-dark:#7b88a8;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#0e1016;--surface:#151821;--surface-2:#1c202b;--surface-3:#252a38;--line:#232837;--line-strong:#323849;--text:#eceef5;--text-2:#b4b9c9;--muted:#7f8599;--accent:#7c8aff;--accent-hover:#8f9bff;--accent-ink:#0e1016;--accent-soft:#1f2340;--brand:#f5c04a;--brand-soft:#2b2518;--good:#3dd68c;--good-soft:#142a21;--bad:#ff6b84;--bad-soft:#331c23;--warn:#f0a94a;--warn-soft:#2e2415;--shadow-sm:0 1px 2px #0006;--shadow-md:0 12px 32px -16px #000000b3;--board-light:#d9dde7;--board-dark:#7b88a8;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}html,body{min-height:100%;margin:0}body{background:var(--bg);color:var(--text);font-feature-settings:"cv11", "ss01";-webkit-font-smoothing:antialiased;padding-bottom:var(--tabbar);font:15px/1.55 Inter Variable,Inter,Segoe UI Variable,system-ui,-apple-system,sans-serif}a{color:inherit}h1,h2,h3{letter-spacing:-.02em;margin:0 0 .35em;font-weight:700;line-height:1.15}h1{font-size:clamp(1.6rem,3vw,2.1rem)}h2{font-size:1.2rem}h3{font-size:1.05rem}p{margin:0 0 .75em}button{font:inherit;color:inherit}::selection{background:var(--accent-soft)}.lead{color:var(--text-2);max-width:60ch;font-size:1rem}.muted{color:var(--muted)}.small{font-size:.85rem}.hint{color:var(--muted);margin-top:.5rem;font-size:.82rem}.eyebrow{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:.35rem;font-size:.7rem;font-weight:700}.empty{text-align:center;color:var(--muted);padding:3rem 1rem}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}.topbar{z-index:20;height:var(--header);background:color-mix(in srgb, var(--bg) 82%, transparent);-webkit-backdrop-filter:saturate(1.4)blur(10px);border-bottom:1px solid var(--line);align-items:center;gap:1rem;padding:0 16px;display:flex;position:sticky;top:0}.topbar-inner{align-items:center;gap:1rem;width:100%;max-width:1180px;margin:0 auto;display:flex}.logo{letter-spacing:-.02em;align-items:center;gap:.45rem;font-size:1.05rem;font-weight:800;text-decoration:none;display:inline-flex}.logo-mark{background:var(--brand);color:#15182a;border-radius:8px;place-items:center;width:28px;height:28px;font-size:1.05rem;line-height:1;display:grid}.nav{gap:2px;margin-left:.5rem;display:flex}.nav a{height:36px;color:var(--text-2);border-radius:999px;align-items:center;gap:.4rem;padding:0 .8rem;font-size:.92rem;font-weight:500;text-decoration:none;transition:background .15s,color .15s;display:inline-flex}.nav a:hover{background:var(--surface-2);color:var(--text)}.nav a.active{background:var(--surface-3);color:var(--text);font-weight:600}.nav .count{background:var(--accent);min-width:18px;height:18px;color:var(--accent-ink);border-radius:999px;place-items:center;padding:0 5px;font-size:.7rem;font-weight:700;display:inline-grid}.topbar-right{align-items:center;gap:4px;margin-left:auto;display:flex}.iconbtn{cursor:pointer;width:36px;height:36px;color:var(--text-2);background:0 0;border:0;border-radius:999px;place-items:center;text-decoration:none;transition:background .15s,color .15s;display:grid}.iconbtn:hover,.iconbtn.active{background:var(--surface-2);color:var(--text)}.iconbtn svg{width:20px;height:20px}main{max-width:1180px;margin:0 auto;padding:1.4rem 16px 3rem}.page{animation:.22s both rise}@keyframes rise{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.tabbar{display:none}@media (max-width:760px){:root{--tabbar:calc(62px + env(safe-area-inset-bottom))}.nav{display:none}.tabbar{z-index:20;height:var(--tabbar);padding-bottom:env(safe-area-inset-bottom);background:color-mix(in srgb, var(--surface) 92%, transparent);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--line);grid-template-columns:repeat(5,1fr);display:grid;position:fixed;inset:auto 0 0}.tabbar a{color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:.68rem;font-weight:600;text-decoration:none;display:flex;position:relative}.tabbar a svg{width:22px;height:22px}.tabbar a.active{color:var(--accent)}.tabbar .count{position:absolute;top:6px;left:calc(50% + 6px)}main{padding-top:1rem}}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);margin-bottom:1rem;padding:1.25rem}.row{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:.9rem;margin-bottom:1rem;display:grid}.grid .card{margin:0}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1rem;display:flex}.page-head .lead{margin-bottom:0}.back{color:var(--muted);align-items:center;gap:.3rem;margin-bottom:.8rem;font-size:.9rem;font-weight:500;text-decoration:none;display:inline-flex}.back:hover{color:var(--text)}.btn{appearance:none;border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;background:var(--surface-2);height:40px;color:var(--text);border:1px solid #0000;justify-content:center;align-items:center;gap:.45rem;padding:0 1rem;font-size:.92rem;font-weight:600;text-decoration:none;transition:background .15s,border-color .15s,transform 80ms,box-shadow .15s;display:inline-flex}.btn:hover{background:var(--surface-3)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn.primary{background:var(--accent);color:var(--accent-ink);box-shadow:0 1px #0000000d}.btn.primary:hover{background:var(--accent-hover)}.btn.ghost{border-color:var(--line-strong);background:0 0}.btn.ghost:hover{background:var(--surface-2)}.btn.danger{border-color:color-mix(in srgb, var(--bad) 40%, transparent);color:var(--bad);background:0 0}.btn.danger:hover{background:var(--bad-soft)}.btn.small{height:32px;padding:0 .75rem;font-size:.85rem}.btn.lg{height:46px;padding:0 1.3rem;font-size:1rem}input[type=text],input:not([type]),input[type=search]{font:inherit;border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:var(--surface);height:40px;color:var(--text);width:100%;min-width:0;padding:0 .8rem;transition:border-color .15s,box-shadow .15s}input:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}label{margin-bottom:.4rem;font-size:.9rem;font-weight:600;display:block}form .row input{flex:1;width:auto}.badge{letter-spacing:.03em;text-transform:uppercase;white-space:nowrap;background:var(--surface-2);height:22px;color:var(--muted);border-radius:999px;align-items:center;padding:0 .55rem;font-size:.7rem;font-weight:700;display:inline-flex}.badge.learning{background:var(--accent-soft);color:var(--accent)}.badge.due{background:var(--bad-soft);color:var(--bad)}.badge.known{background:var(--good-soft);color:var(--good)}.meter{background:var(--surface-2);border-radius:99px;height:6px;margin:.8rem 0 .5rem;display:flex;overflow:hidden}.meter .known{background:var(--good)}.meter .learning{background:var(--accent)}.tabs,.segmented{flex-wrap:wrap;gap:.35rem;margin-bottom:1rem;display:flex}.tabs button,.segmented button,.chip{cursor:pointer;border:1px solid var(--line);background:var(--surface);height:34px;color:var(--text-2);border-radius:999px;align-items:center;gap:.4rem;padding:0 .85rem;font-size:.88rem;font-weight:500;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.tabs button:hover,.segmented button:hover,.chip:hover{background:var(--surface-2);color:var(--text)}.tabs button.on,.segmented button.on,.chip.on{background:var(--text);color:var(--bg);border-color:var(--text);font-weight:600}.chips{flex-wrap:wrap;gap:.4rem;margin:.6rem 0;display:flex}.chip.on{background:var(--good);border-color:var(--good);color:#fff}label.check{cursor:pointer;align-items:flex-start;gap:.7rem;margin-bottom:.8rem;font-weight:400;display:flex}label.check input{width:18px;height:18px;accent-color:var(--accent);flex:none;margin-top:2px}.setup{max-width:620px}.setup>.btn{margin-top:.4rem}.feedback{border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text);align-items:flex-start;gap:.6rem;margin:.6rem 0;padding:.75rem .9rem;font-size:.95rem;font-weight:600;display:flex}.feedback.good{background:var(--good-soft);color:var(--good)}.feedback.bad{background:var(--bad-soft);color:var(--bad);animation:.3s shake}.feedback.info{background:var(--accent-soft);color:var(--accent)}.feedback .row{margin-top:.6rem}@keyframes shake{25%{transform:translate(-3px)}75%{transform:translate(3px)}}.toasts{z-index:50;right:16px;bottom:calc(var(--tabbar) + 16px);gap:.5rem;max-width:min(360px,100vw - 32px);display:grid;position:fixed}.toast{background:var(--text);color:var(--bg);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);padding:.7rem .9rem;font-size:.9rem;font-weight:500;animation:.2s both rise}.toast.good{background:var(--good);color:#fff}.toast.bad{background:var(--bad);color:#fff}@media (max-width:760px){.toasts{max-width:none;left:16px;right:16px}}.hero{padding:1.6rem 1.5rem;position:relative;overflow:hidden}.hero h1{max-width:22ch;font-size:clamp(1.5rem,3.2vw,2rem)}.hero .lead{margin-bottom:1.1rem}.hero-art{color:var(--brand);opacity:.12;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:9rem;line-height:1;position:absolute;bottom:-36px;right:-8px;transform:rotate(-10deg)}.actions{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.8rem;margin-bottom:1rem;display:grid}.action{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);align-items:center;gap:.9rem;padding:1rem 1.1rem;text-decoration:none;transition:border-color .15s,transform .15s;display:flex}.action:hover{border-color:var(--line-strong);transform:translateY(-1px)}.action-icon{border-radius:12px;flex:none;place-items:center;width:42px;height:42px;font-size:1.3rem;display:grid}.action-icon.accent{background:var(--accent-soft);color:var(--accent)}.action-icon.bad{background:var(--bad-soft);color:var(--bad)}.action-icon.good{background:var(--good-soft);color:var(--good)}.action-icon.brand{background:var(--brand-soft);color:var(--warn)}.action strong{display:block}.action .muted{font-size:.85rem}.action .count{color:var(--text);margin-left:auto;font-size:1.1rem;font-weight:700}.tile{flex-direction:column;text-decoration:none;transition:border-color .15s,transform .15s;display:flex}.tile:hover{border-color:var(--line-strong);transform:translateY(-2px)}.tile .muted{flex:1;font-size:.88rem}.tile-side{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:.35rem;font-size:.72rem;font-weight:700}.tile.white .tile-side{color:var(--warn)}.tile-foot{color:var(--muted);justify-content:space-between;align-items:center;font-size:.82rem;display:flex}.soon{color:var(--text-2);align-items:center;gap:.6rem;font-size:.92rem;display:flex}.chapter h2{margin-bottom:.25em}.lines{gap:.35rem;margin:.8rem 0 0;padding:0;list-style:none;display:grid}.lines a{border-radius:var(--radius-sm);background:var(--surface-2);grid-template-columns:minmax(110px,auto) 1fr auto;align-items:center;gap:.8rem;padding:.6rem .75rem;text-decoration:none;transition:background .15s;display:grid}.lines a:hover{background:var(--surface-3)}.line-label{white-space:nowrap;font-size:.92rem;font-weight:600}.line-moves{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums;font-size:.82rem;overflow:hidden}.play{grid-template-columns:minmax(0,1fr) minmax(300px,380px);align-items:start;gap:1.4rem;display:grid}.board-col{justify-content:center;align-items:stretch;gap:.6rem;display:flex}.board-wrap{width:min(100%, calc(100dvh - var(--header) - var(--tabbar) - 72px));aspect-ratio:1;box-shadow:var(--shadow-md);border-radius:10px;position:relative;overflow:hidden}.board{width:100%;height:100%}.side{top:calc(var(--header) + 16px);max-height:calc(100dvh - var(--header) - var(--tabbar) - 32px);margin:0;position:sticky;overflow:auto}.side h2{font-size:1.15rem}cg-board{background-color:var(--board-light);background-image:conic-gradient(var(--board-light) 25%, var(--board-dark) 0 50%, var(--board-light) 0 75%, var(--board-dark) 0);background-size:25% 25%}.cg-wrap.orientation-black cg-board{background-image:conic-gradient(var(--board-dark) 25%, var(--board-light) 0 50%, var(--board-dark) 0 75%, var(--board-light) 0)}cg-board square.last-move{background-color:#5b6cff59}cg-board square.selected{background-color:#5b6cff73}cg-board square.move-dest{background:radial-gradient(#14182a38 22%,#0000 24%)}cg-board square.oc.move-dest{background:radial-gradient(#0000 0% 78%,#14182a4d 80%)}cg-board square.check{background:radial-gradient(#ff3c3cf2 0%,#ff3c3c99 40%,#0000 72%)}.cg-wrap coords{opacity:.6;color:#1b2033;font-family:inherit;font-size:.62rem;font-weight:600}.cg-wrap coords.ranks{width:auto;height:100%;top:0;left:auto;right:3px}.cg-wrap coords.ranks coord{padding-top:2px;transform:none}.cg-wrap coords.files{width:100%;height:auto;bottom:0;left:0}.cg-wrap coords.files coord{text-align:left;padding:0 0 1px 3px}.evalbar-v{border:1px solid var(--line);background:#1f2330;border-radius:7px;flex:none;width:14px;position:relative;overflow:hidden}.evalbar-v span{background:#eef0f5;transition:height .3s;position:absolute;bottom:0;left:0;right:0}.evalbar-v b{text-align:center;font-size:.6rem;font-weight:700;position:absolute;left:0;right:0}.evalbar-v b.top{color:#1b2033;top:4px}.evalbar-v b.bottom{color:#eef0f5;bottom:4px}.comment{background:var(--surface-2);border-left:3px solid var(--brand);border-radius:var(--radius-sm);min-height:4.2rem;color:var(--text);margin:.8rem 0;padding:.75rem .9rem;font-size:.95rem}.movelist{flex-wrap:wrap;gap:2px;margin:.6rem 0;padding:0;list-style:none;display:flex}.mv{cursor:pointer;font-variant-numeric:tabular-nums;color:var(--text-2);background:0 0;border:0;border-radius:6px;padding:.15rem .4rem;font-size:.88rem;transition:background .1s}.mv:hover{background:var(--surface-2);color:var(--text)}.mv.has-note{-webkit-text-decoration:underline dotted var(--brand);text-decoration:underline dotted var(--brand);text-underline-offset:3px}.mv.on{background:var(--accent);color:var(--accent-ink);font-weight:600}.mv.blunder{color:var(--bad);font-weight:700}.mv.mistake{color:var(--warn);font-weight:600}.mv.inaccuracy{color:var(--brand)}.mv.on.blunder,.mv.on.mistake,.mv.on.inaccuracy{color:var(--accent-ink)}.stepper{gap:.3rem}.stepper .btn{width:40px;padding:0}.end-box{border-top:1px solid var(--line);margin-top:1rem;padding-top:1rem}.progress{background:var(--surface-2);border-radius:99px;height:4px;margin:.4rem 0 .8rem;overflow:hidden}.progress span{background:var(--accent);height:100%;transition:width .25s;display:block}.mistakes{gap:.2rem;margin:.6rem 0;padding:0;list-style:none;display:grid}.mistakes .mv{text-align:left;width:100%}.empty-state{text-align:center;padding:2.5rem 1.25rem}.empty-state .lead{margin:0 auto 1.1rem}.empty-state .row{justify-content:center}.big-emoji{margin-bottom:.4rem;font-size:3rem}.welcome{max-width:520px;margin:2.5rem auto}.welcome-piece{color:var(--brand);margin-bottom:.6rem;font-size:3rem;line-height:1;display:inline-block}.welcome form{margin-top:1.2rem}.games{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.game-row{grid-template-columns:auto 1fr auto auto;align-items:center;gap:.9rem;margin:0;padding:.75rem 1rem;display:grid}.game-main{flex-direction:column;min-width:0;text-decoration:none;display:flex}.game-main strong{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.result{border-radius:9px;place-items:center;width:32px;height:32px;font-size:.85rem;font-weight:800;display:grid}.result.win{background:var(--good-soft);color:var(--good)}.result.loss{background:var(--bad-soft);color:var(--bad)}.result.draw{background:var(--surface-2);color:var(--muted)}.filters{flex-wrap:wrap;gap:.35rem;margin-bottom:.9rem;display:flex}.tiles{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.7rem;margin-bottom:1rem;display:grid}.tile-stat{flex-direction:column;gap:.1rem;margin:0;padding:.9rem 1rem;display:flex}.tile-stat strong{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:1.6rem;font-weight:700}.colchart{border-bottom:1px solid var(--line);align-items:flex-end;gap:3px;height:150px;padding-top:1rem;display:flex}.col{outline:none;flex:1;align-items:flex-end;height:100%;display:flex;position:relative}.col .bar{background:var(--bad);opacity:.85;border-radius:4px 4px 0 0;width:100%;max-width:26px;margin:0 auto;display:block}.col:hover .bar,.col:focus-visible .bar{opacity:1}.col .tip{background:var(--text);color:var(--bg);white-space:nowrap;z-index:2;border-radius:8px;padding:.3rem .55rem;font-size:.78rem;display:none;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.col:hover .tip,.col:focus-visible .tip{display:block}.axis{justify-content:space-between;margin-top:.3rem;display:flex}.hbars{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.hbars li{grid-template-columns:minmax(120px,180px) 1fr 2.5rem;align-items:center;gap:.7rem;font-size:.92rem;display:grid}.htrack{background:var(--surface-2);border-radius:99px;height:10px;overflow:hidden}.htrack .bar{background:var(--bad);opacity:.85;border-radius:99px;min-width:4px;height:100%;display:block}.hval{font-variant-numeric:tabular-nums;text-align:right;font-weight:600}.setting-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;padding:.7rem 0;display:flex}.setting-row:first-of-type{border-top:0}.setting-row .muted{font-size:.85rem}.skeleton{gap:.8rem;display:grid}.skeleton span{background:linear-gradient(90deg, var(--surface-2), var(--surface-3), var(--surface-2));background-size:200% 100%;border-radius:10px;animation:1.2s linear infinite shimmer;display:block}@keyframes shimmer{to{background-position:-200% 0}}@media (max-width:900px){.play{grid-template-columns:1fr}.board-wrap{width:min(100%, calc(100dvh - var(--header) - var(--tabbar) - 150px))}.side{max-height:none;position:static}.lines a{grid-template-columns:1fr auto}.line-moves{white-space:normal;grid-area:2/1/auto/-1}.game-row{grid-template-columns:auto 1fr}.game-row>:nth-child(n+3){grid-column:2;justify-self:start}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
