.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.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.move-dest{background:radial-gradient(#14551e80 22%,#208530 0,#0000004d 0,#0000 0)}cg-board square.premove-dest{background:radial-gradient(#141e5580 22%,#203085 0,#0000004d 0,#0000 0)}cg-board square.oc.move-dest{background:radial-gradient(#0000 0% 80%,#1455004d 80%)}cg-board square.oc.premove-dest{background:radial-gradient(#0000 0% 80%,#141e5533 80%)}cg-board square.move-dest:hover,cg-board square.move-dest.hover{background:#14551e4d}cg-board square.premove-dest:hover,cg-board square.premove-dest.hover{background:#141e5533}cg-board square.last-move{background-color:#9bc70069}cg-board square.selected{background-color:#14551e80}cg-board square.check{background:radial-gradient(red 0%,#e70000 25%,#a9000000 89%,#9e000000 100%)}cg-board square.current-premove{background-color:#141e5580}.orientation-white .ranks :nth-child(odd),.orientation-white .files :nth-child(2n),.orientation-black .ranks :nth-child(2n),.orientation-black .files :nth-child(odd),coords.squares:nth-of-type(odd) :nth-child(2n),coords.squares:nth-of-type(2n) :nth-child(odd){color:#484848cc}.orientation-white .ranks :nth-child(2n),.orientation-white .files :nth-child(odd),.orientation-black .ranks :nth-child(odd),.orientation-black .files :nth-child(2n),coords.squares:nth-of-type(odd) :nth-child(odd),coords.squares:nth-of-type(2n) :nth-child(2n){color:#fffc}.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:#f5f4f0;--surface:#fff;--surface-2:#f0eee8;--surface-3:#e7e4dc;--border:#e0ddd5;--text:#1f1e1b;--muted:#6d6a63;--faint:#9a968d;--accent:#2f6fd1;--accent-soft:#e3ecfb;--mine:#2c8a55;--mine-soft:#e1f2e8;--opp:#4f5b6b;--opp-soft:#e9ecf0;--gap:#d0502b;--gap-soft:#fbe7e0;--due:#c98a00;--due-soft:#fbf0d6;--white-bar:#f4f4f4;--black-bar:#3a3a3a;--draw-bar:#a8a8a8;--edge:#cbc6b9;--shadow:0 1px 2px #0000000f, 0 4px 16px #0000000d;--radius:10px;--board:min(calc(100vh - 190px), calc(100vw - 560px), 720px);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#161614;--surface:#1f1f1c;--surface-2:#272723;--surface-3:#31312c;--border:#36352f;--text:#ecebe6;--muted:#a6a39a;--faint:#77746c;--accent:#6ea2f0;--accent-soft:#1f2d45;--mine:#5cc48a;--mine-soft:#1c3527;--opp:#a3afc0;--opp-soft:#2a2f37;--gap:#f07a55;--gap-soft:#43251b;--due:#f0b43a;--due-soft:#3d311a;--edge:#4a4841;--shadow:0 1px 2px #0000004d, 0 4px 16px #00000040;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font:14px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}button,input,select,textarea{font:inherit;color:inherit}h1,h2,h3{margin:0;line-height:1.2}h2{font-size:18px;font-weight:650}h3{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:13px;font-weight:650}.num{font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.faint{color:var(--faint)}.small{font-size:12px}.row{align-items:center;gap:8px;display:flex}.row.wrap{flex-wrap:wrap}.spacer{flex:1}.stack{flex-direction:column;gap:12px;display:flex}.btn{border:1px solid var(--border);background:var(--surface);cursor:pointer;white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:6px;height:34px;padding:0 12px;transition:background .12s,border-color .12s;display:inline-flex}.btn:hover:not(:disabled){background:var(--surface-2)}.btn:disabled{opacity:.45;cursor:default}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover:not(:disabled){filter:brightness(1.08);background:var(--accent)}.btn.mine{background:var(--mine);border-color:var(--mine);color:#fff}.btn.danger{color:var(--gap)}.btn.danger.solid{background:var(--gap);border-color:var(--gap);color:#fff}.btn.ghost{background:0 0;border-color:#0000}.btn.ghost:hover:not(:disabled){background:var(--surface-2)}.btn.icon{width:34px;padding:0}.btn.sm{height:28px;padding:0 8px;font-size:13px}.btn.sm.icon{width:28px}.input,select.input,textarea.input{border:1px solid var(--border);background:var(--surface);border-radius:8px;outline:none;height:34px;padding:0 10px}textarea.input{resize:vertical;height:auto;min-height:60px;padding:8px 10px}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.chip{border:1px solid var(--border);background:var(--surface);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:999px;align-items:center;gap:4px;height:26px;padding:0 10px;font-size:12.5px;display:inline-flex}.chip.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent);font-weight:600}.badge{background:var(--surface-2);color:var(--muted);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:1px 7px;font-size:11.5px;font-weight:600;display:inline-flex}.badge.mine{background:var(--mine-soft);color:var(--mine)}.badge.opp{background:var(--opp-soft);color:var(--opp)}.badge.gap{background:var(--gap-soft);color:var(--gap)}.badge.due{background:var(--due-soft);color:var(--due)}.badge.accent{background:var(--accent-soft);color:var(--accent)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.card-pad{padding:16px}.section{border-bottom:1px solid var(--border);padding:14px 16px}.section:last-child{border-bottom:0}.app{flex-direction:column;min-height:100%;display:flex}.topbar{z-index:20;background:var(--surface);border-bottom:1px solid var(--border);align-items:flex-start;gap:12px;min-height:56px;padding:11px 16px;display:flex;position:sticky;top:0}.topbar-left{flex-wrap:wrap;flex:1 1 0;align-items:center;gap:8px 12px;min-width:0;display:flex}.topbar-right{flex:none;align-items:center;gap:4px;height:34px;display:flex}.brand{letter-spacing:-.01em;white-space:nowrap;align-items:center;gap:8px;font-size:16px;font-weight:750;display:flex}.brand-mark{background:var(--text);width:26px;height:26px;color:var(--surface);border-radius:7px;place-items:center;font-size:17px;display:grid}.profile-switch{background:var(--surface-2);border-radius:999px;gap:4px;padding:3px;display:flex}.profile-pill{cursor:pointer;height:28px;color:var(--muted);background:0 0;border:0;border-radius:999px;align-items:center;gap:6px;padding:0 12px 0 6px;font-weight:550;display:flex}.profile-pill.on{background:var(--surface);color:var(--text);box-shadow:0 1px 3px #0000001f}.avatar{color:#fff;border-radius:50%;place-items:center;width:20px;height:20px;font-size:11px;font-weight:700;display:grid}.nav{gap:2px;display:flex}.nav button{height:34px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:6px;padding:0 12px;font-weight:550;display:flex}.nav button:hover{background:var(--surface-2);color:var(--text)}.nav button.on{background:var(--accent-soft);color:var(--accent)}.rep-select{flex:0 auto;min-width:120px;max-width:240px;font-weight:600}main{flex:1;width:100%;max-width:1480px;margin:0 auto;padding:20px}.board-area{gap:8px;display:flex}.board-wrap{width:var(--board);height:var(--board);flex:none}.board-wrap .cg-wrap{width:100%;height:100%;box-shadow:var(--shadow);border-radius:4px;overflow:hidden}.board-wrap.flash-good .cg-wrap{box-shadow:0 0 0 4px var(--mine)}.board-wrap.flash-bad .cg-wrap{box-shadow:0 0 0 4px var(--gap);animation:.3s shake}@keyframes shake{25%{transform:translate(-5px)}75%{transform:translate(5px)}}.eval-bar{width:14px;height:var(--board);box-shadow:0 0 0 1px var(--border);background:var(--black-bar);border-radius:4px;flex:none;position:relative;overflow:hidden}.eval-bar .fill{background:var(--white-bar);transition:height .4s;position:absolute;bottom:0;left:0;right:0}.eval-bar.flipped .fill{top:0;bottom:auto}.eval-bar .mid{opacity:.6;background:#d24;height:1px;position:absolute;top:50%;left:0;right:0}.board-controls{align-items:center;gap:4px;margin-top:10px;display:flex}.build{grid-template-columns:auto minmax(360px,1fr);align-items:start;gap:20px;display:grid}.side-panel{flex-direction:column;gap:14px;min-width:0;display:flex}.line-bar{flex-wrap:wrap;align-items:baseline;gap:2px 3px;min-height:44px;padding:10px 12px;line-height:1.9;display:flex}.line-bar .mn{color:var(--faint);margin-left:4px;font-size:12.5px}.line-move{cursor:pointer;background:0 0;border:0;border-radius:5px;padding:1px 5px;font-weight:550}.line-move:hover{background:var(--surface-2)}.line-move.current{background:var(--accent);color:#fff}.line-move.unsaved{color:var(--accent);border:1px dashed var(--accent);font-style:italic}.line-move.unsaved.current{color:#fff}.line-move.future{opacity:.45}.save-banner{border-radius:var(--radius);background:var(--accent-soft);border:1px solid var(--accent);align-items:center;gap:10px;padding:10px 12px;display:flex}.pos-head{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.opening-name{font-size:15px;font-weight:650}.rep-moves{flex-direction:column;gap:6px;display:flex}.rep-move{border:1px solid var(--border);background:var(--surface);border-radius:8px;align-items:center;gap:8px;padding:6px 8px 6px 10px;display:flex}.rep-move:hover{border-color:var(--faint)}.rep-move .san{cursor:pointer;min-width:48px;font-size:15px;font-weight:700}.side-dot{vertical-align:0;border-radius:50%;flex:none;width:11px;height:11px;margin-right:6px;display:inline-block}.side-dot.white{background:#fff;box-shadow:inset 0 0 0 1.5px #8a867d}.side-dot.black{background:#1f1e1b;box-shadow:inset 0 0 0 1.5px #1f1e1b}.legend .side-dot{vertical-align:-1px;border-radius:50%;margin-right:4px}.empty{border:1px dashed var(--border);color:var(--muted);text-align:center;border-radius:8px;padding:14px}.tabs{background:var(--surface-2);border-radius:9px;gap:2px;padding:4px;display:flex}.tabs button{cursor:pointer;height:30px;color:var(--muted);background:0 0;border:0;border-radius:7px;flex:1;font-weight:550}.tabs button.on{background:var(--surface);color:var(--text);box-shadow:0 1px 3px #0000001a}.explorer-table{border-collapse:collapse;width:100%}.explorer-table th{text-align:left;color:var(--faint);text-transform:uppercase;letter-spacing:.04em;padding:4px 6px;font-size:11.5px;font-weight:600}.explorer-table td{border-top:1px solid var(--border);vertical-align:middle;padding:5px 6px}.explorer-table tr.clickable{cursor:pointer}.explorer-table tr.clickable:hover td{background:var(--surface-2)}.explorer-table tr.in-rep td:first-child{box-shadow:inset 3px 0 0 var(--mine)}.explorer-table tr.is-gap td:first-child{box-shadow:inset 3px 0 0 var(--gap)}.explorer-table .san{white-space:nowrap;font-weight:700}.pop-bar{background:var(--surface-2);border-radius:4px;min-width:70px;height:18px;position:relative;overflow:hidden}.pop-bar>div{background:var(--accent);opacity:.35;height:100%}.pop-bar>span{align-items:center;padding-left:6px;font-size:12px;font-weight:600;display:flex;position:absolute;inset:0}.wdl{border-radius:4px;min-width:110px;height:18px;font-size:10.5px;font-weight:650;display:flex;overflow:hidden}.wdl>div{justify-content:center;align-items:center;display:flex;overflow:hidden}.wdl .w{background:var(--white-bar);color:#333;box-shadow:inset 0 0 0 1px #00000014}.wdl .d{background:var(--draw-bar);color:#222}.wdl .b{background:var(--black-bar);color:#eee}.filter-row{flex-wrap:wrap;gap:4px;display:flex}.notice{background:var(--due-soft);color:var(--text);border:1px solid color-mix(in srgb, var(--due) 40%, transparent);border-radius:8px;padding:12px 14px}.notice.error{background:var(--gap-soft);border-color:color-mix(in srgb, var(--gap) 40%, transparent)}.engine-line{border-top:1px solid var(--border);align-items:baseline;gap:10px;padding:6px 0;display:flex}.engine-line:first-child{border-top:0}.engine-score{font-variant-numeric:tabular-nums;min-width:52px;font-weight:700}.engine-pv{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.engine-pv b{color:var(--text);cursor:pointer}.tree-layout{grid-template-columns:1fr 340px;align-items:start;gap:16px;display:grid}.tree-scroll{cursor:grab;height:calc(100vh - 150px);position:relative;overflow:auto}.tree-scroll.dragging{cursor:grabbing}.tree-toolbar{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;display:flex}.tree-svg text{fill:var(--text);pointer-events:none;font:600 12.5px system-ui,sans-serif}.tree-svg .edge{fill:none;stroke:var(--edge)}.tree-svg .node{cursor:pointer}.tree-svg .node rect{stroke-width:1.5px}.tree-svg .node.mine rect{fill:var(--mine-soft);stroke:var(--mine)}.tree-svg .node.opp rect{fill:var(--surface);stroke:var(--opp)}.tree-svg .node.transposition rect{stroke-dasharray:4 3}.tree-svg .node.selected rect{stroke:var(--accent);stroke-width:3px}.tree-svg .node.dim{opacity:.3}.tree-svg .node:hover rect{filter:brightness(.95)}.tree-svg .gap-node rect{fill:var(--gap-soft);stroke:var(--gap);stroke-dasharray:3 3}.tree-svg .gap-node text{fill:var(--gap)}.tree-svg .gap-edge{stroke:var(--gap);stroke-dasharray:3 3;fill:none;opacity:.7}.tree-svg .toggle circle{fill:var(--surface);stroke:var(--faint)}.tree-svg .toggle text{fill:var(--muted);font-size:11px}.tree-svg .size-label,.tree-svg .ply-label{fill:var(--faint);font-size:11px;font-weight:500}.legend{color:var(--muted);flex-wrap:wrap;gap:12px;font-size:12px;display:flex}.legend i{vertical-align:-2px;border-radius:3px;width:12px;height:12px;margin-right:4px;display:inline-block}.mini-board{--board:100%}.mini-board .board-wrap{aspect-ratio:1;width:100%;height:auto}.home-grid{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:16px;display:grid}.rep-card{cursor:pointer;flex-direction:column;gap:12px;padding:16px;transition:transform .12s,box-shadow .12s;display:flex}.rep-card:hover{transform:translateY(-1px)}.rep-card.active{outline:2px solid var(--accent)}.side-icon{border:1px solid var(--border);border-radius:8px;place-items:center;width:30px;height:30px;font-size:20px;display:grid}.side-icon.white{color:#222;background:#fff}.side-icon.black{color:#fff;background:#2b2b2b}.stat-row{gap:18px;display:flex}.stat b{font-variant-numeric:tabular-nums;font-size:20px;display:block}.stat span{color:var(--muted);font-size:12px}.progress{background:var(--surface-2);border-radius:99px;height:6px;overflow:hidden}.progress>div{background:var(--accent);height:100%;transition:width .3s}.train{grid-template-columns:auto minmax(320px,420px);justify-content:center;align-items:start;gap:24px;display:grid}.feedback{border-radius:var(--radius);padding:14px 16px;font-size:15px;font-weight:600}.feedback.good{background:var(--mine-soft);color:var(--mine)}.feedback.bad{background:var(--gap-soft);color:var(--gap)}.feedback.info{background:var(--surface-2);color:var(--text)}.big-count{font-variant-numeric:tabular-nums;font-size:34px;font-weight:750;line-height:1}.audit-grid{grid-template-columns:1fr 1fr;align-items:start;gap:16px;display:grid}.result-list{flex-direction:column;display:flex}.result-item{border-top:1px solid var(--border);cursor:pointer;align-items:center;gap:10px;padding:8px 4px;display:flex}.result-item:hover{background:var(--surface-2)}.result-line{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13px;overflow:hidden}.result-line b{color:var(--text)}.result-item.done>:not(.status-mark){opacity:.5}.result-item.done .badge.gap{background:var(--surface-2);color:var(--muted)}.status-mark{border-radius:50%;flex:none;justify-content:center;align-items:center;width:20px;height:20px;font-size:13px;line-height:1;display:inline-flex}.status-mark.done{background:var(--mine-soft);color:var(--mine)}.status-mark.partial{background:var(--due-soft);color:var(--due)}.stale-note b{font-weight:600}.tour-bar{border-left:3px solid var(--accent);flex-direction:column;gap:8px;margin-bottom:12px;padding:10px 12px;display:flex}.tour-item{gap:6px;min-width:0}.coverage-ring{align-items:baseline;gap:8px;display:flex}.overlay{z-index:50;background:#00000059;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.dialog{flex-direction:column;gap:14px;width:min(520px,100%);max-height:calc(100vh - 32px);padding:20px;display:flex;overflow:auto}.toast{z-index:60;background:var(--text);color:var(--bg);border-radius:10px;align-items:center;gap:12px;padding:10px 12px 10px 16px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 8px 30px #00000040}.toast .btn{color:var(--bg);border-color:color-mix(in srgb, var(--bg) 40%, transparent);background:0 0}.kbd{border:1px solid var(--border);color:var(--muted);background:var(--surface);border-bottom-width:2px;border-radius:4px;padding:0 5px;font-size:11px;display:inline-block}.field{flex-direction:column;gap:5px;display:flex}.field>label{font-size:13px;font-weight:600}.help{color:var(--muted);font-size:12.5px}a{color:var(--accent)}@media (width<=1500px){.brand span{display:none}}@media (width<=1400px){.profile-pill .pname{display:none}.profile-pill{padding:0 6px}}@media (width<=1250px){.nav button span.label,.save-indicator:not(.bad) .label{display:none}}@media (width<=1100px){.tree-layout,.audit-grid{grid-template-columns:1fr}}@media (width<=600px){.explorer-table .col-games{display:none}.wdl{min-width:76px}.pop-bar{min-width:48px}.explorer-table td,.explorer-table th{padding:5px 3px}}@media (width<=900px){:root{--board:min(calc(100vw - 58px), 560px)}main{padding:12px}.build,.train{grid-template-columns:1fr;justify-items:center}.side-panel{width:100%}.topbar{gap:8px;padding:8px 12px}.brand span{display:none}.tree-scroll{height:60vh}}a.btn{color:inherit;text-decoration:none}.site-footer{color:var(--faint);flex-wrap:wrap;justify-content:center;gap:4px 18px;padding:18px 16px 24px;font-size:12.5px;display:flex}.site-footer a{color:var(--muted);text-decoration:none}.site-footer a:hover{color:var(--text);text-decoration:underline}.save-indicator{color:var(--faint);white-space:nowrap;align-items:center;gap:4px;padding:0 6px;font-size:12.5px;display:inline-flex}.save-indicator.saving{color:var(--muted)}.save-indicator.bad{color:var(--gap);background:var(--gap-soft);cursor:pointer;border:0;border-radius:8px;height:28px;font-weight:600}.save-note .ok{color:var(--mine)}.save-note .bad{color:var(--gap)}.save-note .warn{color:var(--due)}.comment-text{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.5}.comment-text.clamped{max-height:9em;overflow:hidden;-webkit-mask-image:linear-gradient(#000 65%,#0000);mask-image:linear-gradient(#000 65%,#0000)}.arrival{background:var(--surface-2);border-bottom:1px solid var(--border)}.arrival-move{font-size:15px;font-weight:700}.btn.icon{position:relative}.btn.icon[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.btn.icon .pip{background:var(--accent);color:#fff;text-align:center;border-radius:99px;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:700;line-height:16px;position:absolute;top:-5px;right:-5px}.stat-row.wrap{flex-wrap:wrap;row-gap:10px}.file-chip{border:1px solid var(--border);background:var(--surface-2);border-radius:8px;min-width:0;padding:8px 10px}.radio{cursor:pointer;align-items:flex-start;gap:8px;font-size:13px;line-height:1.4;display:flex}.radio input{margin-top:3px}.train .comment-text{max-height:12em;overflow:auto}.field>label.radio{font-weight:400}.btn[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.nag{color:var(--accent);white-space:nowrap;margin-left:4px;font-weight:700}.nag-picker{flex-direction:column;gap:4px;display:flex}.nag-picker .small{min-width:56px}.sync-banner{background:var(--due-soft);border-bottom:1px solid color-mix(in srgb, var(--due) 40%, transparent);color:var(--text);flex-wrap:wrap;align-items:center;gap:10px 12px;padding:10px 20px;font-size:13px;line-height:1.4;display:flex}.sync-banner>svg{color:var(--due);flex:none}.sync-banner-text{flex:320px;min-width:0}@media (width<=600px){.sync-banner{padding:10px 16px}}.range-scale{justify-content:space-between;display:flex;position:relative}.range-mark{white-space:nowrap;position:absolute;top:0;transform:translate(-50%)}.about{flex-direction:column;gap:18px;max-width:780px;margin:0 auto;display:flex}.about>.btn{align-self:flex-start}.about-head{align-items:center;gap:14px;display:flex}.about-head .brand-mark{border-radius:11px;flex:none;width:46px;height:46px;font-size:28px}.about h1{text-wrap:balance;margin:0 0 2px;font-size:24px}.about-head p{margin:0}.about .section{padding:18px 22px}.about h2{margin:0 0 8px;font-size:16px}.about p,.about li,.about dd{max-width:70ch;line-height:1.6}.about p{margin:0 0 10px}.about p:last-child{margin-bottom:0}.about ul,.about ol{flex-direction:column;gap:8px;margin:0 0 10px;padding-left:20px;display:flex}.about-list{grid-template-columns:max-content 1fr;gap:8px 18px;margin:0;display:grid}.about-list dt{font-weight:650}.about-list dd{margin:0}.about code{background:var(--surface-2);overflow-wrap:anywhere;border-radius:4px;padding:1px 5px;font-size:.92em}.about-links{margin:4px 0 12px}@media (width<=600px){.about .section{padding:16px}.about-list{grid-template-columns:1fr;gap:2px}.about-list dd{margin-bottom:8px}}.game-list{border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;display:flex;overflow:hidden}.game-row{border:0;border-bottom:1px solid var(--border);background:var(--surface);text-align:left;cursor:pointer;align-items:center;gap:12px;padding:10px 12px;display:flex}.game-row:last-child{border-bottom:0}.game-row:hover{background:var(--surface-2)}.game-main{flex-direction:column;flex:1;min-width:0;display:flex}.game-main>*{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.game-stats{white-space:nowrap;align-items:center;gap:8px;display:flex}.badge.result{justify-content:center;width:26px;font-weight:700}.sym{margin-left:2px;font-weight:700}.sym.bad{color:#d03b3b}.sym.mistake{color:#c06a00}.sym.inaccuracy{color:#4f7fb8}@media (prefers-color-scheme:dark){.sym.bad{color:#f0726a}.sym.mistake{color:#f0a640}.sym.inaccuracy{color:#82aee6}}.badge.kind-blunder,.badge.kind-miss{background:var(--gap-soft);color:var(--gap)}.badge.kind-mistake{background:var(--due-soft);color:var(--due)}.badge.kind-inaccuracy{background:var(--accent-soft);color:var(--accent)}.suggest-banner{align-items:center}.choose-list{flex-direction:column;gap:12px;max-height:50vh;padding-right:4px;display:flex;overflow:auto}.choose-row{cursor:pointer;align-items:flex-start;gap:8px;display:flex}.choose-row input{margin-top:3px}.review{--board:min(calc(100vh - 330px), calc(100vw - 560px), 640px);grid-template-rows:auto 1fr;grid-template-columns:auto minmax(320px,460px);justify-content:center;align-items:start;gap:16px 24px;display:grid}.review-head{grid-area:1/2}.review-board{grid-area:1/1/span 2}.review-side{grid-area:2/2}.review-board{width:var(--board);gap:8px}.review-nav{gap:6px}.review-ply{text-align:center;min-width:70px}.review-title,.moment-move{font-size:16px}.key-white{font-weight:600}.key-engine{color:#7a3db8;font-weight:600}@media (prefers-color-scheme:dark){.key-engine{color:#b88ae6}}.acc-table{border-collapse:collapse;width:100%;font-size:13px}.acc-table th{text-align:right;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:120px;padding:2px 6px;font-weight:600;overflow:hidden}.acc-table th:first-child,.acc-table td:first-child{text-align:left}.acc-table td{text-align:right;border-top:1px solid var(--border);padding:3px 6px}.review-moves{flex-wrap:wrap;gap:2px 4px;max-height:260px;line-height:1.9;display:flex;overflow:auto}.review-moves .rm{cursor:pointer;white-space:nowrap;border-radius:4px;padding:0 4px}.review-moves .rm .faint{margin-right:3px}.review-moves .rm:hover{background:var(--surface-2)}.review-moves .rm.on{background:var(--accent-soft);color:var(--accent)}.review-moves .rm.moment{text-decoration:underline;-webkit-text-decoration-color:var(--gap);text-decoration-color:var(--gap);text-underline-offset:3px}.eval-graph{cursor:pointer;width:100%;box-shadow:0 0 0 1px var(--border);touch-action:pan-y;border-radius:6px;position:relative;overflow:hidden}.eval-graph svg{display:block}.eg-black{fill:var(--black-bar)}.eg-white{fill:var(--white-bar)}.eg-line{fill:none;stroke:#8c8c8c;stroke-width:1.5px}.eg-mid{stroke:#8c8c8c;stroke-width:1px;stroke-dasharray:3 3}.eg-phase{stroke:#9a9a9a;stroke-width:1px;stroke-dasharray:2 3}.eg-phase-label{fill:#d6d6d6;font-size:10px}.eg-cursor{stroke:var(--accent);stroke-width:2px}.eg-hover{stroke:#9a9a9a;stroke-width:1px}.eg-bad{fill:#d03b3b;stroke:#fff;stroke-width:1.5px}.eg-mistake{fill:#fab219;stroke:#3a3a3a;stroke-width:1.5px}.eg-label{color:#f2f2f2;pointer-events:none;font-variant-numeric:tabular-nums;background:#0000008c;border-radius:4px;padding:0 6px;font-size:11px;font-weight:600;position:absolute;top:2px;right:6px}.eg-legend{flex-wrap:wrap;align-items:center;gap:4px 14px;display:flex}.eg-legend svg{vertical-align:-1px}.deck-tabs{background:var(--surface-2);border-radius:var(--radius);align-self:flex-start;gap:4px;max-width:100%;padding:4px;display:flex;overflow-x:auto}.deck-tabs button{cursor:pointer;color:var(--muted);white-space:nowrap;background:0 0;border:0;border-radius:7px;align-items:center;gap:6px;padding:6px 12px;font-weight:600;display:inline-flex}.deck-tabs button.on{background:var(--surface);color:var(--text);box-shadow:var(--shadow)}.deck-tabs button:disabled{opacity:.5;cursor:default}.card-list{flex-direction:column;display:flex}.card-row{border-top:1px solid var(--border);align-items:center;gap:8px;padding:6px 0;display:flex}@media (width<=900px){.review{--board:min(calc(100vw - 24px), 560px);grid-template-rows:none;grid-template-columns:1fr;justify-items:center}.review-head,.review-board,.review-side{grid-area:auto}.review-head,.review-side{width:100%;max-width:560px}.game-row{gap:8px;padding:8px 10px}}@media (width<=600px){.game-stats{flex-direction:column;align-items:flex-end;gap:0}}.analysis-pill{color:var(--accent);gap:4px}.analysis-pill svg{animation:1.6s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.35}}@media (prefers-reduced-motion:reduce){.analysis-pill svg{animation:none}}.insights{--s1:#2a78d6;--s2:#eb6834;--s3:#1baf7a}@media (prefers-color-scheme:dark){.insights{--s1:#3987e5;--s2:#d95926;--s3:#199e70}}.filter-sep{background:var(--border);align-self:stretch;width:1px;margin:0 4px}.tiles{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.tile{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;gap:2px;padding:14px 16px;display:flex}.tile-label{color:var(--muted);font-size:12.5px}.tile-value{font-size:26px;font-weight:650;line-height:1.2}.tile-sub{color:var(--faint);font-size:12px}.insights-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px;display:grid}.insights-grid .span-2{grid-column:1/-1}.takeaway{background:var(--surface-2);border-radius:8px;padding:8px 10px;font-size:13px}.phase-rows,.count-bars{flex-direction:column;gap:10px;display:flex}.phase-row{grid-template-columns:150px 1fr 44px 32px;align-items:center;gap:10px;display:grid}.count-row{grid-template-columns:150px 1fr 28px;align-items:center;gap:10px;font-size:13px;display:grid}.phase-val,.count-val,.phase-err{text-align:right}.insights-col{gap:16px;min-width:0}.phase-row.head{margin-bottom:-4px}.scale{justify-content:space-between;display:flex}.dotplot{height:16px;position:relative}.dp-track{background:var(--border);height:2px;position:absolute;top:7px;left:0;right:0}.dp-dot{border-radius:50%;width:12px;height:12px;margin-left:-6px;position:absolute;top:2px}.dp-dot.mine,.key-dot.mine{background:var(--accent);box-shadow:0 0 0 2px var(--surface)}.dp-dot.theirs,.key-dot.theirs{background:var(--surface);border:2px solid var(--text)}.key-dot.mine,.key-dot.theirs{border-radius:50%;width:10px;height:10px}.hbar{background:var(--surface-2);border-radius:0 4px 4px 0;height:14px;position:relative}.hbar-fill{background:var(--accent);border-radius:0 4px 4px 0;height:100%}.legend{flex-wrap:wrap;align-items:center;gap:4px 14px;display:flex}.legend i{vertical-align:middle;margin-right:3px;display:inline-block}.key.s1,.key.s2,.key.s3{border-radius:2px;width:10px;height:10px}.s1{background:var(--s1)}.s2{background:var(--s2)}.s3{background:var(--s3)}.split-bar{gap:2px;height:16px;display:flex}.split-bar .seg:first-child{border-radius:4px 0 0 4px}.split-bar .seg:last-child{border-radius:0 4px 4px 0}.split-bar .seg:only-child{border-radius:4px}.mistake-kinds{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.mistake-kinds>div{flex-direction:column;display:flex}.mistake-kinds b{font-size:22px;font-weight:650}.trend{cursor:pointer;position:relative;overflow:hidden}.trend svg{display:block}.trend .grid{stroke:var(--border);stroke-width:1px}.trend .axis{fill:var(--faint);font-variant-numeric:tabular-nums;font-size:10.5px}.trend .dot{fill:var(--faint);stroke:var(--surface);stroke-width:2px}.trend .avg{fill:none;stroke:var(--accent);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.trend .crosshair{stroke:var(--muted);stroke-width:1px}.trend-tip{background:var(--surface);border:1px solid var(--border);width:190px;box-shadow:var(--shadow);pointer-events:none;border-radius:6px;padding:6px 8px;font-size:12.5px;position:absolute;top:0}.key-dot{background:var(--faint);border-radius:50%;width:8px;height:8px}.key-line{background:var(--accent);width:16px;height:2px}.prep-cols{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.prep-row{border-top:1px solid var(--border);align-items:center;gap:4px;padding-top:4px;display:flex}.prep-row>span{flex:1;min-width:0}.view-tabs{align-self:flex-start}@media (width<=900px){.tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.insights-grid,.prep-cols{grid-template-columns:minmax(0,1fr)}.phase-row{grid-template-columns:110px 1fr 40px 28px}.count-row{grid-template-columns:120px 1fr 24px}}.play-toggle{border:1px solid var(--border);background:var(--surface);cursor:pointer;white-space:nowrap;border-radius:999px;padding:0 8px;font-size:11.5px;font-weight:600;line-height:18px}.play-toggle.in-play{color:var(--mine);background:var(--mine-soft);border-color:#0000}.play-toggle.study{color:var(--muted)}.rep-card.study{opacity:.85}.rep-compare tbody tr{cursor:pointer}.rep-compare tbody tr:hover td{background:var(--surface-2)}.rep-compare tbody tr.on td{background:var(--accent-soft)}.rep-compare input[type=radio]{vertical-align:-2px;pointer-events:none;margin:0 4px 0 0}.theme-chips{flex-wrap:wrap;gap:4px;display:inline-flex}.theme-chip{border:1px solid var(--border);color:var(--muted);white-space:nowrap;border-radius:999px;padding:1px 7px;font-size:11.5px}.table-scroll{max-width:100%;overflow-x:auto}@media (width<=600px){.rep-compare th,.rep-compare td{padding:3px 4px;font-size:12px}}.rep-card{position:relative}.drag-handle{cursor:grab;touch-action:none;width:48px;height:18px;color:var(--faint);background:0 0;border:0;border-radius:0 0 8px 8px;place-items:center;padding:0;display:grid;position:absolute;top:0;left:50%;transform:translate(-50%)}.drag-handle:hover,.drag-handle:focus-visible{color:var(--accent);background:var(--accent-soft)}.drag-handle:active{cursor:grabbing}.rep-card.dragging{opacity:.75;outline:2px dashed var(--accent);z-index:2;transform:scale(1.02);box-shadow:0 8px 28px #0000002e}
