.cg-wrap{box-sizing:content-box;position:relative;display:block}cg-container{position:absolute;width:100%;height:100%;display:block;top:0}cg-board{position:absolute;top:0;left:0;width:100%;height:100%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;line-height:0;background-size:cover}.cg-wrap.manipulable cg-board{cursor:pointer}cg-board square{position:absolute;top:0;left:0;width:12.5%;height:12.5%;pointer-events:none}cg-board square.move-dest{pointer-events:auto}cg-board square.last-move{will-change:transform}.cg-wrap piece{position:absolute;top:0;left:0;width:12.5%;height:12.5%;background-size:cover;z-index:2;will-change:transform;pointer-events:none}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{overflow:hidden;position:relative;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:2;opacity:.6}.cg-wrap cg-auto-pieces,.cg-wrap .cg-shapes,.cg-wrap .cg-custom-svgs{overflow:visible;position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.cg-wrap cg-auto-pieces{z-index:2}.cg-wrap cg-auto-pieces piece{opacity:.3}.cg-wrap .cg-shapes{overflow:hidden;opacity:.6;z-index:2}.cg-wrap .cg-custom-svgs{z-index:9}.cg-wrap .cg-custom-svgs svg{overflow:visible}.cg-wrap coords{position:absolute;display:flex;pointer-events:none;opacity:.8;font-family:sans-serif;font-size:9px}.cg-wrap coords.ranks{left:4px;top:-20px;flex-flow:column-reverse;height:100%;width:12px}.cg-wrap coords.ranks.black{flex-flow:column}.cg-wrap coords.ranks.left{left:-15px;align-items:flex-end}.cg-wrap coords.files{bottom:-4px;left:24px;flex-flow:row;width:100%;height:16px;text-transform:uppercase;text-align:center}.cg-wrap coords.files.black{flex-flow:row-reverse}.cg-wrap coords coord{flex:1 1 auto}.cg-wrap coords.ranks coord{transform:translateY(39%)}.cg-wrap coords.squares{bottom:0;left:0;text-transform:uppercase;text-align:right;flex-flow:column-reverse;height:100%;width:12.5%}.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.move-dest{background:radial-gradient(#14551e80 22%,#208530 0,#0000004d,#0000 0)}cg-board square.premove-dest{background:radial-gradient(#141e5580 22%,#203085 0,#0000004d,#0000 0)}cg-board square.oc.move-dest{background:radial-gradient(transparent 0%,transparent 80%,rgba(20,85,0,.3) 80%)}cg-board square.oc.premove-dest{background:radial-gradient(transparent 0%,transparent 80%,rgba(20,30,85,.2) 80%)}cg-board square.move-dest:hover{background:#14551e4d}cg-board square.premove-dest:hover{background:#141e5533}cg-board square.last-move{background-color:#9bc70069}cg-board square.selected{background-color:#14551e80}cg-board square.check{background:radial-gradient(ellipse at center,red,#e70000 25%,#a9000000 89%,#9e000000)}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=)}:root{--bg: #1a1917;--bg-deep: #151412;--panel: #232120;--panel-2: #2a2725;--panel-3: #34302c;--border: #3a3631;--border-soft: #2d2a26;--ink: #ece7de;--ink-mid: #b6ad9f;--ink-dim: #8f877b;--accent: #e8963c;--accent-hover: #f5a94f;--accent-ink: #26190a;--good: #84b85e;--good-deep: #3d5527;--bad: #d9584a;--bad-deep: #58221c;--radius: 10px;--radius-s: 7px;--shadow: 0 8px 24px rgba(0, 0, 0, .35)}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3{margin:0;font-weight:650;letter-spacing:-.01em}button{font:inherit;color:inherit}.dim{color:var(--ink-dim)}kbd{background:var(--panel-2);border:1px solid var(--border);border-bottom-width:2px;border-radius:5px;padding:0 6px;font-family:inherit;font-size:12px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app-shell{min-height:100vh;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;gap:28px;padding:12px clamp(16px,4vw,40px);background:var(--bg-deep);border-bottom:1px solid var(--border-soft);position:sticky;top:0;z-index:50}.brand{background:none;border:none;cursor:pointer;font-size:18px;font-weight:700;letter-spacing:.01em;padding:4px 0;display:inline-flex;align-items:center;gap:8px}.brand-knight{color:var(--accent);font-size:24px;line-height:1}.tabs{display:flex;gap:4px}.tab{background:none;border:none;border-radius:var(--radius-s);padding:7px 14px;cursor:pointer;color:var(--ink-mid);font-weight:550}.tab:hover{color:var(--ink);background:var(--panel)}.tab-on,.tab-on:hover{color:var(--accent);background:var(--panel)}.topbar-user{margin-left:auto;font-size:13px}.content{width:100%;max-width:1180px;margin:0 auto;padding:clamp(18px,3vw,36px) clamp(14px,3vw,36px) 64px;flex:1}.content-training{max-width:1280px}.load-state{margin:auto;padding:80px 24px;text-align:center}.error-text{color:var(--bad);max-width:480px}.panel{background:var(--panel);border:1px solid var(--border-soft);border-radius:var(--radius);padding:18px 20px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:var(--panel-2);border:1px solid var(--border);border-radius:var(--radius-s);color:var(--ink);padding:9px 16px;cursor:pointer;font-weight:550;text-decoration:none;transition:background .12s ease,border-color .12s ease}.btn:hover:not(:disabled){background:var(--panel-3);border-color:#4a4540}.btn:disabled{opacity:.45;cursor:default}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:650}.btn-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.btn-link{background:none;border:none;color:var(--accent);cursor:pointer;padding:4px 6px;font-weight:550}.btn-link:hover{color:var(--accent-hover);text-decoration:underline}.button-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.chip-row{display:flex;flex-wrap:wrap;gap:8px}.chip{display:inline-flex;align-items:center;gap:7px;background:var(--panel-2);border:1px solid var(--border);border-radius:999px;padding:5px 12px;cursor:pointer;color:var(--ink-mid);font-size:13px;font-weight:500;transition:border-color .12s ease,color .12s ease,background .12s ease}.chip:hover{border-color:#4a4540;color:var(--ink)}.chip-on,.chip-on:hover{background:#e8963c24;border-color:var(--accent);color:var(--accent-hover)}.chip-count{font-size:11px;color:var(--ink-dim);background:#00000040;border-radius:999px;padding:1px 7px;font-variant-numeric:tabular-nums}.chip-on .chip-count{color:var(--accent-hover)}.tag{display:inline-flex;align-items:center;background:var(--panel-2);border:1px solid var(--border-soft);border-radius:999px;padding:3px 10px;font-size:12px;color:var(--ink-mid);white-space:nowrap}.tag-motif{color:var(--accent-hover);border-color:#e8963c59}.stats-view{max-width:1060px;margin:0 auto}.stats-head h1{margin-bottom:4px}.stats-controls{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin:18px 0 10px}.stats-control{display:inline-flex;align-items:center;gap:8px}.stats-values{margin-bottom:12px}.viz-legend{display:flex;flex-wrap:wrap;gap:6px 16px;margin:6px 2px 10px;font-size:13px;color:var(--ink-mid)}.viz-legend-item{display:inline-flex;align-items:center;gap:7px}.viz-legend-key{display:inline-block;width:14px;height:3px;border-radius:2px}.viz-panel{position:relative;padding:14px 10px 8px}.viz-svg{display:block;width:100%;height:auto;outline:none}.viz-svg:focus-visible{box-shadow:0 0 0 2px var(--accent);border-radius:6px}.viz-grid{stroke:var(--border-soft);stroke-width:1}.viz-baseline{stroke:var(--border);stroke-width:1}.viz-tick{fill:var(--ink-dim);font-size:11px;font-variant-numeric:tabular-nums}.viz-endlabel{fill:var(--ink-mid);font-size:12px}.viz-strip-title{fill:var(--ink-dim);font-size:11px;letter-spacing:.06em;text-transform:uppercase}.viz-crosshair{stroke:var(--ink-dim);stroke-width:1;stroke-dasharray:3 3}.viz-dot{stroke:var(--panel);stroke-width:2}.viz-bar{fill:#4d4a44}.viz-bar-hot{fill:#6a6459}.viz-tooltip{position:absolute;background:var(--bg-deep);border:1px solid var(--border);border-radius:8px;padding:8px 12px;font-size:13px;pointer-events:none;box-shadow:var(--shadow);z-index:5;min-width:150px}.viz-tooltip-title{color:var(--ink-dim);font-size:12px;margin-bottom:5px}.viz-tooltip-row{display:flex;align-items:center;gap:7px;padding:1px 0;font-variant-numeric:tabular-nums}.viz-tooltip-row strong{color:var(--ink)}.viz-tooltip-games{border-top:1px solid var(--border-soft);margin-top:5px;padding-top:5px}.stats-table-wrap{overflow-x:auto;padding:6px 14px}.stats-table{width:100%;border-collapse:collapse;font-size:13px;font-variant-numeric:tabular-nums}.stats-table th{text-align:left;color:var(--ink-dim);font-weight:600;padding:8px 12px 8px 0;border-bottom:1px solid var(--border)}.stats-table td{padding:5px 12px 5px 0;border-bottom:1px solid var(--border-soft);color:var(--ink-mid)}.date-range{display:flex;align-items:center;gap:12px;margin-top:8px;flex-wrap:wrap}.date-label{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--ink-dim)}.date-input{background:var(--panel-2);border:1px solid var(--border-soft);border-radius:8px;color:var(--ink-mid);padding:5px 8px;font-size:13px;font-family:inherit;color-scheme:dark}.date-input:focus{outline:none;border-color:var(--accent)}.tag-toggle{cursor:pointer;background:transparent;border-style:dashed;color:var(--ink-dim)}.tag-toggle:hover{color:var(--ink-mid);border-color:var(--ink-dim)}.tag-severity.sev-allowedMate,.tag-severity.sev-missedMate{color:#e88a80;border-color:#d9584a73}.tag-severity.sev-decisive{color:#e8b06a;border-color:#e8963c66}.sev-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:8px;background:var(--ink-dim)}.sev-dot.sev-allowedMate,.sev-dot.sev-missedMate{background:var(--bad)}.sev-dot.sev-decisive{background:var(--accent)}.sev-dot.sev-advantageLoss{background:#c9a24d}.side-dot{display:inline-block;width:12px;height:12px;border-radius:3px;border:1px solid var(--border);flex:none}.side-dot.white{background:#e8e4dc}.side-dot.black{background:#2b2825}.hero{margin-bottom:24px}.hero h1{font-size:clamp(24px,4vw,34px)}.hero-user{color:var(--accent)}.hero-sub-inline{color:var(--ink-mid);font-weight:450;font-size:.62em}.hero-sub{margin:6px 0 0;font-size:14px}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:12px;margin-bottom:24px}.tile{background:var(--panel);border:1px solid var(--border-soft);border-radius:var(--radius);padding:14px 16px}.tile-value{font-size:26px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.02em;display:flex;align-items:center}.tile-label{font-size:12px;color:var(--ink-dim);text-transform:uppercase;letter-spacing:.07em;margin-top:2px}.builder{padding:22px 24px}.builder-footer{display:flex;align-items:center;flex-wrap:wrap;gap:18px;margin-top:22px;padding-top:18px;border-top:1px solid var(--border-soft)}.match-count{font-size:17px;font-variant-numeric:tabular-nums}.match-count strong{font-size:22px;color:var(--accent)}.order-select{display:inline-flex;align-items:center;gap:8px;font-size:13px}.order-select select{background:var(--panel-2);color:var(--ink);border:1px solid var(--border);border-radius:var(--radius-s);padding:8px 10px;font:inherit;cursor:pointer}.btn-start{margin-left:auto;padding:11px 26px;font-size:15px}.filter-panel-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:14px}.filter-panel-head h2{font-size:16px}.filter-group{margin-bottom:16px}.filter-group:last-child{margin-bottom:0}.filter-group-title{font-size:11px;text-transform:uppercase;letter-spacing:.09em;color:var(--ink-dim);margin-bottom:7px;display:flex;justify-content:space-between;gap:12px}.filter-group-value{color:var(--accent);letter-spacing:normal;text-transform:none;font-size:12px}.loss-slider{width:100%;max-width:420px;accent-color:var(--accent)}.browse{display:grid;grid-template-columns:330px minmax(0,1fr);gap:20px;align-items:start}.browse-filters{position:sticky;top:76px;max-height:calc(100vh - 96px);overflow-y:auto}.browse-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.browse-head h2{font-size:18px;font-variant-numeric:tabular-nums}.puzzle-row{display:flex;align-items:center;gap:14px;width:100%;text-align:left;background:var(--panel);border:1px solid var(--border-soft);border-radius:var(--radius);padding:12px 16px;margin-bottom:8px;cursor:pointer;transition:border-color .12s ease,background .12s ease}.puzzle-row:hover{background:var(--panel-2);border-color:var(--accent)}.row-main{display:flex;flex-direction:column;gap:6px;min-width:0;flex:1}.row-title{font-weight:550;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-tags{display:flex;flex-wrap:wrap;gap:6px}.row-side{display:flex;flex-direction:column;align-items:flex-end;gap:3px;flex:none}.row-loss{font-weight:700;font-variant-numeric:tabular-nums;color:var(--bad)}.row-date{font-size:12px}.badge-solved,.badge-failed{font-size:11px;font-weight:650;border-radius:999px;padding:1px 9px}.badge-solved{color:var(--good);background:#84b85e24}.badge-failed{color:var(--bad);background:#d9584a24}.empty-state{text-align:center;padding:40px 20px}.training{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:clamp(16px,2.5vw,32px);align-items:start}.board-column{min-width:0}.session-bar{display:flex;align-items:center;gap:18px;margin-bottom:12px;font-size:14px;color:var(--ink-mid)}.session-pos strong{color:var(--ink)}.session-scores{display:flex;gap:14px;font-variant-numeric:tabular-nums;font-weight:650}.score-good{color:var(--good)}.score-bad{color:var(--bad)}.session-bar .btn-link{margin-left:auto;color:var(--ink-dim)}.session-bar .btn-link:hover{color:var(--ink)}.board-frame{width:min(100%,calc(100vh - 200px));max-width:760px;margin-inline:auto}.board-shell{position:relative;width:100%;aspect-ratio:1 / 1;border-radius:4px;box-shadow:var(--shadow)}.board-host,.board-shell .cg-wrap{width:100%;height:100%}@keyframes board-shake{0%,to{transform:translate(0)}20%{transform:translate(-7px)}40%{transform:translate(7px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.board-wrong{animation:board-shake .3s ease}.board-wrong cg-board square.last-move{background-color:#d9483a8c}@media(prefers-reduced-motion:reduce){.board-wrong{animation:none}}.promo-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;background:#12100e99;cursor:pointer}.promo-square{position:absolute;width:12.5%;height:12.5%;background:radial-gradient(circle,#f3ead9 62%,#f3ead900 68%);border:none;padding:0;cursor:pointer}.promo-square:hover{background:radial-gradient(circle,var(--accent-hover) 64%,rgba(245,169,79,0) 70%)}.promo-square piece{position:static;display:block;width:100%;height:100%;background-size:cover}.side-column{display:flex;flex-direction:column;gap:14px;min-width:0}.puzzle-context{padding:16px 18px}.game-line{display:flex;align-items:center;gap:8px;font-size:15px}.game-sub{font-size:13px;margin-top:3px}.tag-chips{margin-top:12px;gap:6px}.feedback{min-height:56px;display:flex;align-items:center;font-size:15px;font-weight:550;padding:14px 18px;border-left:4px solid var(--border)}.tone-neutral{border-left-color:var(--ink-dim)}.tone-good{border-left-color:var(--good);background:linear-gradient(90deg,rgba(132,184,94,.12),var(--panel) 55%)}.tone-bad{border-left-color:var(--bad);background:linear-gradient(90deg,rgba(217,88,74,.14),var(--panel) 55%)}.tone-alt{border-left-color:var(--accent);background:linear-gradient(90deg,rgba(232,150,60,.12),var(--panel) 55%)}.solve-report{padding:16px 18px}.eval-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:12px}.eval-cell{background:var(--panel-2);border:1px solid var(--border-soft);border-radius:var(--radius-s);padding:10px 12px}.eval-label{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-dim)}.eval-value{font-size:20px;font-weight:700;font-variant-numeric:tabular-nums}.eval-value.loss{color:var(--bad)}.report-line{font-size:14px;margin-top:6px}.kbd-help{font-size:12px;text-align:center}.summary{max-width:720px;margin:0 auto}.summary h1{font-size:28px}.summary>.dim{margin:6px 0 18px}.summary-list{padding:6px 0;margin-bottom:8px}.summary-row{display:flex;align-items:center;gap:14px;padding:11px 18px;border-bottom:1px solid var(--border-soft);font-size:14px}.summary-row:last-child{border-bottom:none}.summary-status{font-weight:800;width:20px;text-align:center;flex:none}.st-good{color:var(--good)}.st-bad{color:var(--bad)}.st-skip{color:var(--ink-dim)}.summary-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.summary-note{font-size:12px;flex:none}.summary-loss{font-variant-numeric:tabular-nums;font-weight:650;color:var(--bad);flex:none}.summary-empty{padding:20px;text-align:center}@media(max-width:1020px){.training{grid-template-columns:minmax(0,1fr)}.board-frame{width:min(100%,calc(100vh - 380px));min-width:min(100%,340px)}.browse{grid-template-columns:minmax(0,1fr)}.browse-filters{position:static;max-height:none}}@media(max-width:640px){.topbar{gap:12px}.topbar-user{display:none}.builder-footer{flex-direction:column;align-items:stretch}.btn-start{margin-left:0}.eval-grid{grid-template-columns:1fr}}
