.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: #1e1e21;--panel: #26262b;--border: #3a3a42;--text: #e6e6e6;--muted: #9a9aa3;--accent: #6ea8fe;color-scheme:dark}*{box-sizing:border-box}body{margin:0;font-family:ui-sans-serif,system-ui,sans-serif;background:var(--bg);color:var(--text)}.app{display:grid;grid-template-rows:auto 1fr;height:100vh}.topbar{display:flex;align-items:center;gap:.75rem;padding:.6rem 1rem;background:var(--panel);border-bottom:1px solid var(--border)}.topbar .title{font-weight:600;margin-right:auto}.topbar button,.topbar select{background:#33333a;color:var(--text);border:1px solid var(--border);border-radius:6px;padding:.35rem .7rem;cursor:pointer;font-size:.85rem}.topbar button:hover{border-color:var(--accent)}.topbar .dirty{color:#f0c674;font-size:.8rem}.workspace{display:flex;flex-direction:row;gap:.75rem;padding:1rem;overflow:hidden}.board-panel{flex:1 1 0;min-width:0}.side-panel{flex:0 0 auto}.chat-wrap{flex:0 0 auto;display:flex;min-height:0}.chat-wrap>.chat{flex:1;min-width:0}.divider{width:5px;flex:0 0 auto;cursor:col-resize;background:transparent;border-radius:3px;touch-action:none;transition:background .15s}.divider:hover,.divider:active{background:var(--accent)}@media(max-width:1100px){.workspace{display:grid;grid-template-columns:minmax(260px,1fr) 320px;grid-auto-rows:min-content;overflow:visible;overflow-y:auto}.divider{display:none}.side-panel,.chat-wrap{width:auto!important}.chat-wrap{grid-column:1 / -1;height:360px}}@media(max-width:720px){.workspace{grid-template-columns:1fr}.topbar{flex-wrap:wrap}.board-wrap{width:min(70vh,94vw)}}.board-panel{display:flex;gap:.6rem;align-items:flex-start;justify-content:center;min-height:0}.board-wrap{width:min(70vh,100%);aspect-ratio:1}.cg-wrap{width:100%;height:100%}.eval-bar{width:16px;height:min(70vh,100%);background:#111;border:1px solid var(--border);border-radius:4px;position:relative;overflow:hidden}.eval-bar .fill{position:absolute;left:0;right:0;bottom:0;background:#e6e6e6;transition:height .2s ease}.eval-bar .score{position:absolute;bottom:2px;left:0;right:0;text-align:center;font-size:.6rem;color:#111;mix-blend-mode:difference}.side-panel{display:flex;flex-direction:column;gap:1rem;min-height:0}.move-tree{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:.75rem;overflow:auto;line-height:1.7;font-size:.9rem}.move-tree .move{cursor:pointer;padding:0 .2rem;border-radius:4px}.move-tree .move:hover{background:#3a3a42}.move-tree .move.current{background:var(--accent);color:#10131a}.move-tree .move.move-preview{box-shadow:0 0 0 1px #e3b341 inset;background:#e3b34126}.move-tree .moveno{color:var(--muted)}.move-tree .variation-group{display:flex;align-items:flex-start;gap:.3rem}.move-tree .variations{flex:1;min-width:0}.move-tree .collapse-toggle{display:inline-flex;align-items:center;justify-content:center;flex:none;min-width:1.1rem;height:1.1rem;margin-top:.15rem;padding:0 .25rem;font-size:.66rem;line-height:1;color:var(--muted);background:#2b2b32;border:1px solid var(--border);border-radius:999px;cursor:pointer;opacity:.55}.move-tree .collapse-toggle:hover{opacity:1;border-color:var(--accent)}.move-tree .variation{color:var(--muted)}.move-tree .empty{color:var(--muted);font-style:italic}.analysis{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:.75rem;font-size:.9rem}.analysis .panel-head{display:flex;justify-content:space-between;color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.5rem}.analysis .spinner{color:var(--accent);text-transform:none;letter-spacing:0}.analysis .empty{color:var(--muted);font-style:italic}.analysis .line{display:flex;align-items:center;gap:.6rem;padding:.25rem 0}.analysis .san{font-variant-numeric:tabular-nums;min-width:3.5rem}.analysis .ev{margin-left:auto;font-variant-numeric:tabular-nums;color:var(--muted)}.analysis .fit{font-size:.68rem;font-weight:600;padding:.05rem .35rem;border-radius:4px;text-transform:uppercase}.analysis .fit-in-book{background:#2f6b3a;color:#c8f0cf}.analysis .fit-adjacent{background:#6b5e2f;color:#f0e7c8}.analysis .fit-out{background:#6b2f33;color:#f0c8cb}.analysis .weight{display:inline-block;width:22px;border-radius:2px;background:var(--muted)}.analysis .w-thick{height:7px}.analysis .w-medium{height:4px}.analysis .w-thin{height:2px}.analysis .cloud-row{display:flex;align-items:center;gap:.6rem;margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--border);font-size:.82rem}.analysis .cloud-label{font-size:.68rem;font-weight:600;text-transform:uppercase;padding:.05rem .35rem;border-radius:4px;background:#2f4a6b;color:#c8dcf0}.analysis .cloud-val{color:var(--muted);font-variant-numeric:tabular-nums}.rep-panel{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:.4rem .6rem;font-size:.9rem}.rep-section{border-bottom:1px solid var(--border)}.rep-section:last-child{border-bottom:none}.rep-section>summary{display:flex;align-items:center;gap:.5rem;cursor:pointer;list-style:none;padding:.45rem 0;color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}.rep-section>summary::-webkit-details-marker{display:none}.rep-section>summary>span:first-child:before{content:"▸ "}.rep-section[open]>summary>span:first-child:before{content:"▾ "}.rep-section>summary .scan-btn,.rep-section>summary .rep-mode{margin-left:auto}.rep-section>summary .rep-mode+.scan-btn{margin-left:.4rem}.rep-panel .scan-btn{background:#33333a;color:var(--text);border:1px solid var(--border);border-radius:6px;padding:.2rem .6rem;cursor:pointer;font-size:.72rem;text-transform:none;letter-spacing:0}.rep-panel .scan-btn:hover:not(:disabled){border-color:var(--accent)}.rep-panel .scan-btn:disabled{opacity:.4;cursor:not-allowed}.rep-mode{background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:4px;font-size:.7rem;padding:.1rem .3rem;text-transform:none;letter-spacing:0}.rep-panel .scan-progress{color:var(--accent);font-size:.8rem;padding:.15rem 0}.rep-panel .empty{color:var(--muted);font-style:italic;padding:.15rem 0}.rep-row{display:flex;align-items:center;gap:.5rem;padding:.25rem 0;cursor:pointer;border-radius:4px;font-size:.82rem}.rep-row:hover{background:#3a3a42}.rep-row.indent{padding-left:.9rem;color:#dceaff}.rep-row .san{font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rep-row .ctype{font-size:.68rem;color:var(--muted);white-space:nowrap}.rep-row .bridge-icon{font-size:.78rem;width:1.1em;text-align:center;flex:0 0 auto}.rep-row.covered{opacity:.6}.rep-row .ev,.rep-row .fit{margin-left:auto;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.rep-row .fit{margin-left:.5rem}.rep-flag{padding:.15rem 0}.fix-btn{background:transparent;color:var(--accent);border:none;cursor:pointer;font-size:.7rem;padding:0 0 .1rem}.fix-btn:hover{text-decoration:underline}.rep-panel .sev{font-size:.68rem;font-weight:600;padding:.05rem .35rem;border-radius:4px;text-transform:uppercase}.rep-panel .sev-high{background:#6b2f33;color:#f0c8cb}.rep-panel .sev-medium{background:#6b5e2f;color:#f0e7c8}.rep-panel .sev-low{background:#3a3a42;color:var(--muted)}.suggestions{margin-top:.6rem;padding-top:.5rem;border-top:1px solid var(--border)}.suggestion{padding:.4rem 0}.suggestion .sug-line{font-variant-numeric:tabular-nums}.suggestion .sug-comment{color:var(--muted);font-size:.82rem;margin:.15rem 0}.suggestion .sug-actions{display:flex;gap:.4rem;margin-top:.25rem}.suggestion button{border:1px solid var(--border);border-radius:6px;padding:.15rem .6rem;cursor:pointer;font-size:.75rem;background:#33333a;color:var(--text)}.suggestion .accept:hover{border-color:#2f6b3a}.suggestion .reject:hover{border-color:#6b2f33}.chat{display:flex;flex-direction:column;min-height:0;background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:.75rem}.chat .panel-head{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.5rem}.chat-mode{margin-left:auto;margin-right:.4rem;background:var(--panel, #26262b);color:var(--fg, #ddd);border:1px solid var(--border, #3a3a40);border-radius:4px;font-size:.72rem;padding:.1rem .3rem}.chat-mode.needs-mode{border-color:#f0c674;box-shadow:0 0 0 1px #f0c67473}.chat-log{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:.5rem;min-height:0}.msg{padding:.45rem .6rem;border-radius:8px;font-size:.88rem;line-height:1.45;white-space:pre-wrap;word-break:break-word}.msg.user{background:#2f4a6b;color:#dceaff;align-self:flex-end;max-width:90%}.msg.assistant{background:#2c2c32;align-self:flex-start;max-width:95%}.msg.streaming{opacity:.85}.msg.focus-injection{align-self:stretch;background:#232329;border:1px dashed var(--border);color:var(--muted);font-family:ui-monospace,monospace;font-size:.74rem;cursor:pointer}.msg.focus-injection:hover{border-color:var(--accent)}.preview-chip{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem;margin:.15rem 0 .3rem;font-size:.8rem}.preview-chip .pc-line{cursor:pointer;padding:.15rem .5rem;border:1px solid var(--accent);border-radius:12px;color:#dceaff}.preview-chip.active .pc-line{background:#e3b3412e;border-color:#e3b341}.preview-chip .pc-badge{font-size:.68rem;color:#e3b341;text-transform:uppercase;letter-spacing:.04em}.preview-chip .pc-accept,.preview-chip .pc-reject{font-size:.72rem;border-radius:6px;border:1px solid var(--border);padding:.1rem .5rem;cursor:pointer;background:#33333a;color:var(--text)}.preview-chip .pc-accept{border-color:#3c7a4b}.tool-chips{display:flex;flex-wrap:wrap;gap:.3rem}.chip{font-size:.7rem;color:var(--muted);background:#26262b;border:1px solid var(--border);border-radius:10px;padding:.05rem .5rem}.tool-result{font-size:.72rem;color:var(--muted);border:1px solid var(--border);border-radius:6px;padding:.1rem .5rem;margin:.1rem 0}.tool-result summary{cursor:pointer;padding:.15rem 0}.tool-result pre{margin:.3rem 0 .1rem;white-space:pre-wrap;word-break:break-all;font-size:.68rem;max-height:8rem;overflow-y:auto}.tool-result-error{border-color:#6b2f33;color:#f0a8ac}.chat-hint{color:#f0c674;font-size:.8rem;margin:.4rem 0}.chat-error{color:#f0a8ac;font-size:.8rem;margin:.4rem 0}.chat-error a{color:var(--accent)}.chat-input{display:flex;gap:.4rem;margin-top:.5rem}.chat-input textarea{flex:1;resize:none;background:#1c1c20;color:var(--text);border:1px solid var(--border);border-radius:6px;padding:.4rem .5rem;font-family:inherit;font-size:.88rem}.chat-input button{background:#33333a;color:var(--text);border:1px solid var(--border);border-radius:6px;padding:0 .8rem;cursor:pointer}.chat-input button:hover{border-color:var(--accent)}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;justify-content:flex-end;z-index:50}.drawer{width:360px;max-width:90vw;height:100%;background:var(--panel);border-left:1px solid var(--border);padding:1rem;display:flex;flex-direction:column;gap:1rem}.drawer-head{display:flex;justify-content:space-between;align-items:center;font-weight:600}.drawer-head button{background:none;border:none;color:var(--muted);cursor:pointer;font-size:1rem}.field{display:flex;flex-direction:column;gap:.3rem;font-size:.85rem}.field input{background:#1c1c20;color:var(--text);border:1px solid var(--border);border-radius:6px;padding:.45rem .5rem;font-family:inherit}.field small{color:var(--muted);font-size:.72rem}.promo-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:60}.promo{display:flex;gap:.4rem;background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:.6rem}.promo-piece{width:64px;height:64px;font-size:2.4rem;line-height:1;background:#1c1c20;color:var(--text);border:1px solid var(--border);border-radius:8px;cursor:pointer}.promo-piece:hover{border-color:var(--accent);background:#2a2a31}.field small code{color:var(--text)}.model-chips{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.4rem}.model-chip{background:#1c1c20;color:var(--muted);border:1px solid var(--border);border-radius:12px;padding:.15rem .55rem;font-size:.72rem;font-family:inherit;cursor:pointer}.model-chip:hover{border-color:var(--accent);color:var(--text)}.model-chip.active{background:var(--accent);color:#10131a;border-color:var(--accent)}.color-picker-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:60}.color-picker-modal{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:1.4rem 1.6rem;display:flex;flex-direction:column;gap:1rem;min-width:260px}.color-picker-title{font-weight:600;font-size:1rem}.color-picker-file{color:var(--muted);font-size:.78rem;word-break:break-all}.color-picker-buttons{display:flex;gap:.6rem}.color-btn{flex:1;padding:.6rem;background:#1c1c20;color:var(--text);border:1px solid var(--border);border-radius:8px;font-size:1rem;cursor:pointer;font-family:inherit}.color-piece{display:inline-block;min-width:1.1em;text-align:center}.color-piece-white{color:#fff;text-shadow:0 0 2px #000,0 1px 2px #000}.color-btn:hover{border-color:var(--accent)}.color-btn.active{border-color:var(--accent);background:#2a2a31}.color-picker-hint{color:var(--muted);font-size:.72rem}.color-picker-actions{display:flex;gap:.5rem;justify-content:flex-end}.color-picker-load{background:var(--accent);color:#10131a;border:none;border-radius:6px;padding:.4rem 1rem;font-weight:600;cursor:pointer;font-family:inherit}.color-picker-cancel{background:none;border:1px solid var(--border);border-radius:6px;color:var(--muted);padding:.4rem 1rem;cursor:pointer;font-family:inherit}
