html,body,#root{margin:0;height:100%}html,body{overscroll-behavior-y:none;overscroll-behavior-x:none}body{overflow:hidden}#root,#root *{-webkit-user-select:none;user-select:none}#root input,#root textarea{-webkit-user-select:text;user-select:text}.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,.cg-wrap .cg-shapes-below,.cg-wrap .cg-custom-below{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-shapes-below{overflow:hidden;z-index:1}.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{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{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;color:#111827;background:#eef2f7}*{box-sizing:border-box}body{margin:0;-webkit-text-size-adjust:100%;text-size-adjust:100%}button,input,select{font:inherit}.app{padding:1rem;height:100dvh;min-height:100dvh;display:flex;flex-direction:column;overflow:hidden}.topbar{margin-bottom:1rem;flex-shrink:0}.topbar-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.hamburger-btn{font-size:1.2rem;line-height:1;min-width:2.2rem;padding:.3rem .45rem}.gear-btn{font-size:1.05rem;line-height:1;min-width:2.1rem;padding:.32rem .45rem}.gear-btn-right{margin-left:auto}.move-list .controls-row>button:not(.hamburger-btn):not(.icon-toggle-btn):not(.continue-training-btn):not(.stop-training-btn):not(.back-btn):not(.flashcard-toggle-btn):not(.sudden-death-toggle-btn){width:2.6rem;min-width:2.6rem;height:2.2rem;padding:.3rem .2rem;font-size:.82rem;text-align:center}.flashcard-toggle-btn,.sudden-death-toggle-btn{width:auto}.mode-icon-btn{width:2.2rem;min-width:2.2rem;height:2.2rem;padding:.25rem;display:inline-flex;align-items:center;justify-content:center}.analysis-game-btn .tab-icon{width:1.5rem;height:1.5rem}.move-list .controls-row>button.replay-control-btn{width:2.2rem;min-width:2.2rem;height:2.2rem;padding:.25rem}.replay-label{margin-left:.2rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:min(22rem,55vw)}.has-submenu-dot{position:relative}.has-submenu-dot:after{content:"•";position:absolute;right:.16rem;bottom:.08rem;font-size:.55rem;line-height:1;opacity:.7;pointer-events:none}.flashcard-toggle-btn.active{background:#dbeafe;border-color:#93c5fd}.sudden-death-toggle-btn.active{background:#fee2e2;border-color:#fca5a5}.controls-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.controls-row-break{display:none}.controls-row label{display:inline-flex;align-items:center;gap:.4rem}.inline-stepper{display:inline-flex;align-items:center;gap:.3rem}.inline-stepper>button{width:1.85rem;min-width:1.85rem;height:1.85rem;min-height:1.85rem;border-radius:999px;padding:0;line-height:1}.inline-stepper>button svg{width:1rem;height:1rem;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;fill:none}.stockfish-controls-row{width:100%}.ai-engine-controls{display:grid;gap:.45rem}.ai-engine-row{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}.ai-row-right{margin-left:auto}.ai-engine-label{min-width:6.4rem;font-weight:600}.ai-engine-select{display:inline-flex;align-items:center;gap:.55rem}.ai-engine-tab{border:0;background:transparent;padding:.1rem .15rem;min-width:0;height:auto;color:#64748b;font-weight:600}.ai-engine-tab:hover{background:transparent;color:#334155}.ai-engine-tab.active{color:#0f172a}.ai-switch{display:inline-flex;align-items:center;gap:.35rem;min-width:2.3rem;height:1.3rem;padding:0;border:0;background:transparent}.ai-switch:hover{background:transparent}.ai-switch-track{width:2.2rem;height:1.18rem;border-radius:999px;background:#cbd5e1;position:relative;transition:background .2s ease}.ai-switch-thumb{position:absolute;top:.12rem;left:.12rem;width:.94rem;height:.94rem;border-radius:999px;background:#fff;box-shadow:0 1px 3px #00000040;transition:transform .2s ease}.ai-switch.on .ai-switch-track{background:#22c55e}.ai-switch.on .ai-switch-thumb{transform:translate(1.02rem)}.ai-switch-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.ai-elo-select-wrap{display:inline-flex;align-items:center;position:relative}.ai-elo-select-wrap:after{content:"";position:absolute;right:.18rem;top:50%;width:.38rem;height:.38rem;border-right:1.5px solid #64748b;border-bottom:1.5px solid #64748b;transform:translateY(-62%) rotate(45deg);pointer-events:none}.ai-elo-select{appearance:none;border:0;background:transparent;color:#0f172a;font-size:.82rem;font-weight:600;line-height:1.2;padding:.08rem .95rem .08rem .18rem;min-width:4.8rem;white-space:nowrap}.ai-elo-select:hover{color:#334155}.ai-elo-select:focus-visible{outline:2px solid #93c5fd;outline-offset:1px;border-radius:.25rem}.ai-eval-table{margin:.1rem 0 .25rem}.maia-load-status{display:grid;gap:.3rem;padding:.55rem .65rem;color:#334155;font-size:.85rem;overflow-wrap:anywhere}.maia-load-status progress{width:100%;min-height:.55rem}.maia-load-error{padding:.55rem .65rem;color:#b91c1c;font-size:.85rem;overflow-wrap:anywhere}.app.theme-dark .maia-load-status{color:#cbd5e1}.app.theme-dark .maia-load-error{color:#fca5a5}.analysis-maia-notice{margin:.35rem 0;padding:.45rem .6rem;border:1px solid #94a3b8;border-radius:.45rem;color:#334155;font-size:.85rem;overflow-wrap:anywhere}.analysis-maia-notice.success{border-color:#16a34a;color:#166534}.analysis-maia-notice.error{border-color:#dc2626;color:#b91c1c}.app.theme-dark .analysis-maia-notice{color:#cbd5e1}.app.theme-dark .analysis-maia-notice.success{color:#86efac}.app.theme-dark .analysis-maia-notice.error{color:#fca5a5}.stockfish-controls-right{margin-left:auto;display:inline-flex;align-items:center;gap:.5rem}.stockfish-settings-btn{min-width:2.2rem}.stepper-value{min-width:1.8rem;text-align:center}.status{color:#334155;font-size:.9rem}.game-analysis-panel{display:grid;gap:.45rem;padding:.7rem;margin-bottom:.7rem;border:1px solid #cbd5e1;border-radius:.65rem;background:#f8fafc}.game-analysis-heading,.game-analysis-current{display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-size:.82rem}.game-analysis-toggle{padding:.25rem .5rem;font-size:.78rem}.game-analysis-heading span,.game-analysis-current span:nth-child(2),.game-analysis-current b{color:#475569;font-variant-numeric:tabular-nums}.game-analysis-progress-bar{width:100%;height:.65rem;accent-color:#2563eb}.game-analysis-progress-inline{display:grid;gap:.2rem;margin:.3rem 0 .55rem;font-size:.75rem}.game-analysis-progress-inline progress{width:100%;height:.5rem;accent-color:#2563eb}.game-analysis-progress-label{display:flex;justify-content:space-between;gap:.4rem}.game-analysis-chart{display:flex;align-items:end;gap:2px;height:2.4rem;padding:.2rem 0 0;border-bottom:1px solid #94a3b8;overflow:hidden}.game-analysis-chart-bar{flex:1 1 2px;min-width:2px;max-width:.65rem;padding:0;border:0;border-radius:2px 2px 0 0;cursor:pointer;background:#64748b}.game-analysis-chart-bar.best,.game-analysis-chart-bar.good{background:#2563eb}.game-analysis-chart-bar.excellent{background:#9333ea}.game-analysis-chart-bar.book{background:#16a34a}.game-analysis-chart-bar.inaccuracy{background:#f97316}.game-analysis-chart-bar.mistake,.game-analysis-chart-bar.blunder{background:#dc2626}.game-analysis-chart-bar.unavailable{background:#94a3b8}.game-analysis-note{color:#475569;font-size:.78rem}.maia-performance-summary{display:grid;gap:.45rem;margin-top:.65rem;padding:.65rem;border:1px solid #cbd5e1;border-radius:.5rem;background:#f8fafc;font-size:.8rem}.maia-player-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}.maia-player-summary{display:grid;gap:.15rem;min-width:0}.app.theme-dark .maia-performance-summary{border-color:#475569;background:#172033}@media(max-width:480px){.maia-player-summary-grid{grid-template-columns:1fr}}.game-analysis-comment{display:grid;gap:.2rem;padding:.5rem .65rem;border-left:3px solid #94a3b8;border-radius:.35rem;background:#f1f5f9;font-size:.82rem}.game-analysis-comment.best,.game-analysis-comment.good{border-color:#2563eb}.game-analysis-comment.excellent{border-color:#9333ea}.game-analysis-comment.inaccuracy{border-color:#f97316}.game-analysis-comment.mistake,.game-analysis-comment.blunder{border-color:#dc2626}.game-analysis-comment span{line-height:1.4}.game-analysis-maia-stat{display:grid;gap:.15rem;margin-top:.2rem;padding-top:.25rem;border-top:1px solid #cbd5e1;color:#334155;font-size:.78rem}.human-move-details summary{cursor:pointer;font-weight:650;margin:.3rem 0}.human-rating-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(3.5rem,1fr));gap:.35rem;margin:.45rem 0}.human-rating-grid>span{display:grid;padding:.25rem;border-radius:.3rem;background:#e2e8f0}.human-rating-grid>.selected{outline:1px solid #9333ea;outline-offset:-1px}.human-alternatives{display:grid;gap:.2rem;margin-top:.4rem}.app.theme-dark .human-rating-grid>span{background:#1e293b}.game-analysis-backdrop{z-index:120}.game-analysis-modal{width:min(34rem,calc(100vw - 2rem))}.game-analysis-modal-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem}.game-analysis-modal-heading h3{margin:0}.game-analysis-modal p{margin:.4rem 0 .7rem;color:#475569;font-size:.85rem}.game-analysis-chart-modal{height:8rem;gap:3px}.game-analysis-chart-modal .game-analysis-chart-bar{max-width:1rem}.game-analysis-modal-actions{display:flex;justify-content:flex-end;margin-top:.8rem}.app.theme-dark .game-analysis-panel{border-color:#475569;background:#172033}.app.theme-dark .game-analysis-heading span,.app.theme-dark .game-analysis-current span:nth-child(2),.app.theme-dark .game-analysis-current b,.app.theme-dark .game-analysis-note{color:#cbd5e1}.app.theme-dark .game-analysis-comment{background:#0f172a}.app.theme-dark .game-analysis-maia-stat{border-color:#475569;color:#cbd5e1}.app.theme-dark .game-analysis-modal p{color:#cbd5e1}.analysis-mode .opening-title{visibility:hidden}.analysis-mode .ai-eval-table,.analysis-mode .tree-options-wrap,.analysis-mode .repertoire-hit-block,.analysis-mode .ai-engine-controls .status,.analysis-mode .stockfish-panel .status{display:none!important}.move-list:not(.training-pane){display:flex;flex-direction:column;overflow:hidden;overscroll-behavior:contain}.move-list:not(.training-pane) .move-notation-line{flex:1 1 0;min-height:0;max-height:none;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none}.move-list .move-notation-line::-webkit-scrollbar{display:none}.move-list:not(.training-pane)>:not(.move-notation-line){flex:0 0 auto}.move-list:not(.training-pane)>.game-analysis-comment{flex:0 1 auto;min-height:0;max-height:min(45%,18rem);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none}.move-list .game-analysis-comment::-webkit-scrollbar{display:none}.move-list:not(.training-pane)>.move-notation-line:has(~.game-analysis-comment){min-height:3rem}.move-list:not(.training-pane):has(.game-analysis-progress-inline)>.game-analysis-comment{flex:1 1 0;max-height:none}.analysis-comment-line{display:flex;flex-wrap:wrap;align-items:center;gap:.2rem}.analysis-pv-move{padding:.1rem .25rem;border:0;border-radius:.25rem;background:transparent;color:#1d4ed8;font:inherit;cursor:pointer;touch-action:manipulation}.analysis-pv-move:hover,.analysis-pv-move:focus-visible{outline:2px solid #93c5fd;outline-offset:1px}.app.theme-dark .analysis-pv-move{color:#93c5fd}.layout{display:block;flex:1;height:100%;min-height:0;overflow:hidden}.left-panel{display:grid;gap:1rem;width:100%;height:100%;min-height:0;overflow:hidden}.board-row{display:grid;grid-template-columns:minmax(clamp(300px,34vw,420px),1fr) minmax(clamp(220px,28vw,500px),760px) minmax(clamp(300px,34vw,420px),1fr);gap:1rem;align-items:start;width:100%;height:100%;min-height:0;overflow:hidden}.board-row.training-mode{grid-template-columns:minmax(clamp(300px,34vw,420px),1fr) minmax(clamp(220px,28vw,500px),760px) minmax(clamp(300px,34vw,420px),1fr)}.board-row.training-mode .board-center{grid-column:2}.board-row.training-mode .move-list{grid-column:3}.card{background:#fff;border:1px solid #d5dce8;border-radius:10px;padding:.8rem}.card h2{margin-top:0;margin-bottom:.7rem;font-size:1.05rem}.board{width:min(100%,760px);aspect-ratio:1 / 1;margin:0 auto;border-radius:10px;overflow:hidden;box-shadow:0 10px 24px #00000024;touch-action:none}.board-center{display:grid;gap:.55rem;align-content:start;min-height:0;overflow:hidden}.board-meta{width:min(100%,760px);margin:0 auto;padding:.15rem 0;display:grid;gap:.25rem;color:#334155;font-size:.94rem}.board-head-row{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}.opening-title{flex:1;min-width:0;line-height:1.2;min-height:2.4em;max-height:2.4em;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.board-options-btn{flex-shrink:0}.stats-row{display:flex;align-items:center;gap:.5rem}.games-total{white-space:nowrap}.games-eval-inline{font-size:.88em;margin-left:.2em}.current-repertoire{color:#475569;font-size:.82rem;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.training-repertoire-name{display:flex;align-items:center;margin:.15rem 0 .2rem;padding:.35rem 0;border-bottom:1px solid #e5ebf3;color:#475569;font-size:.82rem;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.variant-row,.table-row,.move-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.4rem}.move-table-wrap{overflow-x:auto;margin:.4rem 0 .8rem}.move-table{width:100%;border-collapse:collapse;font-size:.95rem}.move-table th,.move-table td{border-bottom:1px solid #e5ebf3;padding:.4rem .45rem;text-align:left}.move-table th{font-weight:600;color:#334155;background:#f8fbff}.table-move-btn{width:100%;text-align:left;background:#f7faff}.table-move-btn:hover{background:#e6f0ff}.table-row{justify-content:space-between;padding:.35rem 0;border-bottom:1px solid #eef1f5}.lichess-table-actions{display:flex;justify-content:flex-end;margin:.2rem 0 .35rem}.move-inline-wrap{display:flex;flex-wrap:wrap;gap:.25rem .35rem;margin:0}.move-notation-line{min-height:2.1rem;margin:.2rem 0 .7rem}@media(orientation:landscape){.move-list .move-notation-line{min-height:10.5rem}.move-list .controls-row .controls-row-break{display:block;flex-basis:100%;height:0}}.move-inline-item{display:inline-flex;align-items:center;gap:.18rem;padding:.2rem .35rem;font-size:.9rem;border:1px solid transparent;background:transparent}.move-inline-item:hover{background:#eef5ff;border-color:#dbeafe}.move-inline-item.analysis-selected{outline:2px solid #60a5fa;outline-offset:-2px}.move-inline-annotation{font-size:.72em;font-weight:800}.move-inline-item.has-alternatives{font-weight:700;color:#15803d}.move-inline-item.analysis-best,.move-inline-item.analysis-good{color:#2563eb}.move-inline-item.analysis-excellent{color:#9333ea}.move-inline-item.analysis-book{color:#15803d}.move-inline-item.analysis-inaccuracy{color:#f97316}.move-inline-item.analysis-mistake,.move-inline-item.analysis-blunder{color:#dc2626}.move-inline-item.analysis-provisional{color:#64748b}.move-inline-prefix{color:#64748b;font-weight:600}.move-inline-maia-tag{padding:0 .2rem;border-radius:.2rem;font-size:.68em;font-weight:800;line-height:1.2}.move-inline-maia-tag.above{color:#7e22ce;background:#f3e8ff}.move-inline-maia-tag.below{color:#b91c1c;background:#fee2e2}.tree-options-wrap{display:flex;flex-wrap:wrap;gap:.45rem .5rem;align-items:flex-start}.tree-option{display:grid;justify-items:center;gap:.14rem}.tree-option-btn{min-width:3rem;padding:.28rem .45rem}.tree-delete-popup-backdrop{position:fixed;inset:0;z-index:1100}.tree-delete-popup{position:fixed;transform:translate(-50%);z-index:1101;background:#fff;border:0;border-radius:8px;padding:.35rem;box-shadow:0 8px 24px #0f172a38}.tree-delete-popup>button{white-space:nowrap}.app.theme-dark .tree-delete-popup{background:#111b2e}.tree-option-leaves{font-size:.72rem;color:#64748b;line-height:1}.repertoire-hit-block{margin-top:.7rem;padding-top:.45rem;border-top:1px solid #e5ebf3;font-size:.78rem;color:#475569}.repertoire-hit-head{display:flex;align-items:center;justify-content:space-between;gap:.35rem}.repertoire-hit-block.move-tools-only{margin-top:.45rem}.repertoire-hit-list{margin-top:.2rem;line-height:1.35;display:flex;flex-wrap:wrap;gap:.35rem}.repertoire-hit-item{padding:.2rem .45rem;font-size:.74rem}.repertoire-hit-item.active{color:#15803d;font-weight:700;border-color:#22c55e;background:#ecfdf5}.current-repertoire.active-repertoire,.training-repertoire-name{color:#15803d;font-weight:700}.lichess-clickable-row{cursor:pointer;border-radius:6px}.lichess-clickable-row:hover{background:#eef5ff}.lichess-clickable-row:focus-visible{outline:2px solid #93c5fd;outline-offset:2px}.lichess-clickable-row.disabled{cursor:default}.lichess-clickable-row.disabled:hover{background:transparent}.stockfish-clickable-row{cursor:pointer;border-radius:6px}.stockfish-clickable-row:hover{background:#eef5ff}.stockfish-clickable-row:focus-visible{outline:2px solid #93c5fd;outline-offset:2px}.engine-pv-row{align-items:flex-start;gap:.45rem;min-height:2.2rem;padding-block:.25rem}.engine-pv-row .engine-pv-score{flex:0 0 3.4rem;padding-top:.2rem;font-variant-numeric:tabular-nums}.engine-pv-row .engine-pv-moves{display:flex;flex:1 1 auto;flex-wrap:wrap;gap:.15rem .25rem;min-width:0;overflow:visible;white-space:normal}.engine-pv-move{min-height:1.7rem;padding:.1rem .3rem;border:0;border-radius:4px;background:transparent;color:inherit;font:inherit;cursor:pointer;touch-action:manipulation}.engine-pv-move:hover,.engine-pv-move:focus-visible{outline:none;background:#dbeafe}.app.theme-dark .engine-pv-move:hover,.app.theme-dark .engine-pv-move:focus-visible{background:#263b59}.table-row span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lichess-panel .lichess-cell-move{flex:0 0 52px}.lichess-panel .lichess-cell-games{flex:0 0 90px;font-size:.8rem}.lichess-panel .lichess-cell-elo{flex:0 0 42px;font-size:.72rem;text-align:right}.lichess-panel .lichess-cell-bar{flex:1}.lichess-example-games{margin-top:.45rem;padding-top:.45rem;border-top:1px solid #e5ebf3;display:grid;gap:.35rem}.lichess-example-lists{display:grid;gap:.45rem}.lichess-example-list{display:grid;gap:.18rem}.lichess-example-item{font-size:.8rem;line-height:1.3;overflow-wrap:anywhere}.lichess-example-load-btn{border:0;background:transparent;color:#1d4ed8;text-decoration:none;padding:0;min-width:0;width:auto;height:auto;text-align:left;font:inherit;cursor:pointer}.lichess-example-load-btn:hover{text-decoration:underline}.lichess-example-load-btn:disabled{color:#64748b;cursor:default;text-decoration:none}.danger{color:#b91c1c}.filters-grid{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:.5rem;align-items:start}.filters-grid label{display:grid;gap:.3rem;align-self:start}.toggle-group{display:inline-flex;flex-wrap:wrap;gap:.35rem}.database-toggle>button{width:5rem;min-width:5rem;height:2rem;text-align:center;white-space:nowrap}.date-range-toggle>button{width:100%;min-width:0;height:2rem;text-align:center;white-space:nowrap}.date-range-toggle{display:grid;grid-template-columns:repeat(2,minmax(0,3.1rem));gap:.35rem;width:max-content}.toggle-group .active{background:#dbeafe;border-color:#93c5fd}.repertoire-list>button.active{background:#dbeafe;border-color:#93c5fd}.checkbox-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.7rem;margin:.6rem 0}.checkbox-grid.single-column{grid-template-columns:1fr}.card-head{display:flex;justify-content:space-between;align-items:center;gap:.6rem}.card-head h2{margin:0}.lichess-status-row{display:inline-flex;align-items:center;gap:.4rem}.lichess-rate-limit-note{display:block;margin-top:.2rem;font-size:.78rem;opacity:.92}.lichess-auth-note{display:inline-flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-top:.2rem}.player-handle-row{display:inline-flex;align-items:center;gap:.35rem}.player-handle-input{width:9.2rem}.token-editor-modal{width:min(430px,calc(100vw - 2rem))}.token-editor-help{font-size:.86rem;line-height:1.3}.token-editor-link{font-size:.84rem;overflow-wrap:anywhere}.spinner{width:.9rem;height:.9rem;border:2px solid #c8d3e6;border-top-color:#2563eb;border-radius:999px;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.stockfish-arrow-toggle{margin-left:0}.inline-check{display:flex;align-items:center;gap:.35rem;margin-top:.25rem}.move-list{align-self:stretch;height:100%;min-height:0;max-height:100%;overflow:auto}.move-list .controls-row{border-bottom:1px solid #e5ebf3;padding-bottom:.45rem;margin-bottom:.45rem}.move-list.training-pane .controls-row{border-bottom:0;padding-bottom:0;margin-bottom:.35rem}.move-list .controls-row>button.continue-training-btn{min-width:8rem;width:8rem}.move-list .controls-row>button.next-missing-btn{width:auto;min-width:3rem}.move-list .controls-row>button.next-missing-btn svg{width:1rem;height:1rem;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;fill:none}.move-list .controls-row>button.stop-training-btn{width:auto;min-width:7.5rem;white-space:nowrap}.training-stats-gear-btn{margin-left:auto}.training-stats-dropdown{margin:-.05rem 0 .35rem;padding:.55rem .6rem;width:min(20rem,100%);margin-left:auto;border:1px solid #e5ebf3;border-radius:8px}.training-position-stats{margin:.1rem 0 .35rem;display:grid;gap:.2rem}.training-thinking-row{display:inline-flex;align-items:center;gap:.35rem}.training-game-over-row .status{color:#b91c1c;font-weight:600}.training-position-stats-row{display:flex;align-items:center;justify-content:space-between;font-size:.82rem;color:#334155}.move-list .controls-row>button.back-btn{width:4.2rem;min-width:4.2rem;height:2.2rem;display:inline-flex;align-items:center;justify-content:center;padding:.3rem .2rem;line-height:1}.move-list .controls-row>button.back-btn .tab-icon{width:1.55rem;height:1.55rem}.lichess-panel{align-self:stretch;height:100%;min-height:0;max-height:100%;overflow:auto;position:relative;padding-bottom:3rem}.stockfish-inline{margin-top:1.15rem;padding-top:.75rem}.stockfish-inline .table{margin-top:.35rem}.portrait-tabbar{display:none}.stockfish-eval-text{font-weight:600}.portrait-tabbar>button{width:2.5rem;min-width:2.5rem;display:inline-flex;align-items:center;justify-content:center;padding:.35rem 0;color:#111827}.portrait-tabbar>button.long-pressable-btn{position:relative}.portrait-tabbar>button.long-pressable-btn:after{content:"•";position:absolute;right:.16rem;bottom:.08rem;font-size:.55rem;line-height:1;opacity:.72;pointer-events:none}.portrait-tabbar>button.training-stop-btn.long-pressable-btn:after{content:none}.tab-icon{width:1.35rem;height:1.35rem;display:block}.arrow-toggle-group{margin-left:auto;display:inline-flex;align-items:center;gap:.35rem}.icon-toggle-btn{width:2.6rem;min-width:2.6rem;height:2rem;min-height:2rem;display:inline-flex;align-items:center;justify-content:center;padding:.3rem 0;position:relative}.icon-toggle-btn.active{background:#dbeafe;border-color:#93c5fd}.icon-toggle-btn.arrow-options-dot{touch-action:manipulation}.icon-toggle-btn.arrow-options-dot:before{content:"•";position:absolute;right:.16rem;bottom:.08rem;font-size:.55rem;line-height:1;opacity:.7;pointer-events:none}.icon-toggle-btn.with-diagonal-arrow:after{content:"➚";position:absolute;left:50%;top:50%;bottom:auto;transform:scaleX(1.2);transform-origin:left center;font-size:1.18rem;font-weight:700;line-height:1;color:#f59e0b;text-shadow:0 0 2px #111827,0 0 2px #111827;opacity:.95;pointer-events:none}.icon-toggle-btn.only-arrow:after{transform:translate(-50%,-50%) scaleX(1.2);transform-origin:center center}.icon-toggle-btn.with-diagonal-arrow.arrow-stockfish:after{color:#2563eb}.icon-toggle-btn.with-diagonal-arrow.arrow-maia:after{color:#9333ea}.icon-toggle-btn.with-diagonal-arrow:disabled:after{color:#94a3b8;text-shadow:none}.icon-toggle-btn.with-diagonal-arrow.arrow-tree:after{color:#16a34a}.portrait-only{display:none}.portrait-filters-btn,.portrait-filters-btn.with-eval{margin-left:auto}.stockfish-inline .table-row span:first-child{flex:0 0 44px}.stockfish-inline .table-row span:nth-child(2){flex:0 0 50px}.stockfish-panel .table-row span:first-child{flex:0 0 44px}.stockfish-panel .table-row span:nth-child(2){flex:0 0 50px}.stats-bar{width:100%;height:22px;display:flex;border:1px solid #cfd8e6;border-radius:6px;overflow:hidden;background:#f4f7fb}.seg{display:inline-flex;align-items:center;justify-content:center;font-size:.75rem;white-space:nowrap;min-width:0;overflow:hidden}.seg-white{background:#fff;color:#0f172a}.seg-draw{background:#cbd5e1;color:#0f172a}.seg-black{background:#111827;color:#f8fafc}.modal-backdrop{position:fixed;inset:0;background:#0f172a73;display:grid;place-items:center;padding:1rem;z-index:1000}.modal-card{width:min(860px,100%);background:#fff;border:1px solid #d5dce8;border-radius:10px;padding:.9rem;max-height:90vh;overflow:auto}.filters-modal{width:min(620px,100%);height:min(620px,90vh);max-height:min(620px,90vh);overflow:hidden;overflow-x:hidden;display:flex;flex-direction:column}.filters-modal-main{flex:0 0 60%;min-height:0;max-height:60%;overflow:auto;overflow-x:hidden;padding-right:.1rem}.filters-modal-fixed{flex-shrink:0;border-top:1px solid #e5ebf3;margin-top:.5rem;padding-top:.6rem}.options-modal{width:min(360px,calc(100vw - 2rem));max-width:calc(100vw - 2rem);overflow:hidden}.options-grid{display:grid;gap:.5rem;margin-top:.7rem;overflow-x:hidden}.options-grid>button{width:100%;white-space:normal;word-break:break-word}.options-footer-link-wrap{display:flex;width:100%;justify-content:flex-end;margin-top:.75rem;padding-right:.45rem;box-sizing:border-box}.options-footer-link{display:inline-flex;align-items:center;justify-content:center;color:#475569}.options-footer-link svg{width:1.35rem;height:1.35rem;fill:currentColor}.options-footer-link:hover{color:#0f172a}.app.theme-dark .options-footer-link{color:#e2e8f0}.app.theme-dark .options-footer-link:hover{color:#f8fafc}.repertoire-name-row{display:grid;gap:.3rem}.repertoire-list{display:grid;gap:.35rem}.repertoire-list>button{text-align:left}.repertoire-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;gap:.35rem;align-items:center}.repertoire-row>button:first-child{text-align:left}button{border:1px solid #c8d3e6;border-radius:6px;background:#f8fbff;padding:.35rem .6rem;cursor:pointer}button:hover{background:#e9f1ff}button:disabled{opacity:.45;cursor:not-allowed}input,select{border:1px solid #c8d3e6;border-radius:6px;padding:.3rem .45rem}.compact-number-input{width:4.2rem;text-align:center}.slider-field{display:inline-flex;align-items:center;gap:.45rem}.slider-stack{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;margin:.6rem 0;align-items:start}.slider-stack.single-column{grid-template-columns:1fr}.slider-stack label{display:grid;gap:.3rem}.threshold-slider{width:8rem}.min-frequency-slider{width:12rem}.slider-value{min-width:2.6rem;text-align:right}.stockfish-quick-modal{width:min(340px,calc(100vw - 2rem));max-width:calc(100vw - 2rem)}.move-tools-modal,.sudden-death-settings-modal{width:min(360px,calc(100vw - 2rem));max-width:calc(100vw - 2rem)}.eval-manager-modal{width:min(420px,calc(100vw - 2rem));max-width:calc(100vw - 2rem)}.eval-manager-title{margin:0 0 .55rem;font-size:1rem}.eval-progress-block{margin-bottom:.65rem}.eval-progress-label{font-size:.82rem;color:#475569;margin-bottom:.2rem}.eval-progress-track{width:100%;height:.5rem;border-radius:999px;background:#e2e8f0;overflow:hidden}.eval-progress-fill{height:100%}.eval-progress-fill.cloud{background:#2563eb}.eval-progress-fill.local{background:#16a34a}.eval-manager-summary{margin-top:.25rem;font-size:.82rem;color:#475569}.eval-manager-actions{margin-top:.75rem;display:flex;flex-wrap:wrap;gap:.45rem}.db-stats-modal{width:min(620px,calc(100vw - 2rem));max-width:calc(100vw - 2rem)}.db-stats-side{margin-top:.65rem;padding-top:.55rem;border-top:1px solid #e5ebf3}.db-stats-side h4{margin:0 0 .45rem;text-transform:capitalize;font-size:.95rem}.db-stats-list{display:grid;gap:.45rem}.db-stats-item{border:1px solid #e5ebf3;border-radius:8px;padding:.45rem .55rem}.db-stats-name{font-weight:600;margin-bottom:.25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.db-stats-values{display:flex;flex-wrap:wrap;gap:.7rem;font-size:.82rem;color:#475569}.db-stats-training{margin-top:.3rem;gap:.45rem .7rem}.training-stats-menu-actions{display:grid;gap:.4rem;margin-bottom:.5rem}.app.theme-dark{background:#0b1220;color:#e2e8f0}.app.theme-dark .card,.app.theme-dark .modal-card{background:#111b2e;border-color:#334155}.app.theme-dark .status,.app.theme-dark .board-meta,.app.theme-dark .current-repertoire,.app.theme-dark .training-repertoire-name,.app.theme-dark .training-position-stats-row,.app.theme-dark .eval-progress-label,.app.theme-dark .eval-manager-summary,.app.theme-dark .move-inline-prefix,.app.theme-dark .tree-option-leaves,.app.theme-dark .move-table th{color:#cbd5e1}.app.theme-dark .training-game-over-row .status{color:#fca5a5}.app.theme-dark .eval-progress-track{background:#334155}.app.theme-dark .db-stats-side{border-top-color:#334155}.app.theme-dark .db-stats-item{border-color:#334155}.app.theme-dark .db-stats-values{color:#cbd5e1}.app.theme-dark .training-repertoire-name{border-top-color:#334155;border-bottom-color:#334155}.app.theme-dark .move-table th{background:#1b2a42}.app.theme-dark .tree-option-leaves,.app.theme-dark .repertoire-hit-item.active,.app.theme-dark .current-repertoire.active-repertoire,.app.theme-dark .training-repertoire-name{color:#4ade80}.app.theme-dark .flashcard-toggle-btn.active{background:#1d4ed8;border-color:#60a5fa;color:#eff6ff}.app.theme-dark .sudden-death-toggle-btn.active{background:#7f1d1d;border-color:#ef4444;color:#fee2e2}.app.theme-dark .repertoire-hit-item.active{border-color:#22c55e;background:#052e16}.app.theme-dark .table-row,.app.theme-dark .move-table th,.app.theme-dark .move-table td,.app.theme-dark .move-list .controls-row,.app.theme-dark .training-stats-dropdown,.app.theme-dark .filters-modal-fixed,.app.theme-dark .repertoire-hit-block{border-color:#334155}.app.theme-dark button{background:#1e293b;border-color:#475569;color:#e2e8f0}.app.theme-dark button.danger{color:#f87171}.app.theme-dark button:hover{background:#334155}.app.theme-dark input,.app.theme-dark select{background:#0f172a;border-color:#475569;color:#e2e8f0}.app.theme-dark .toggle-group .active,.app.theme-dark .portrait-tabbar .active,.app.theme-dark .icon-toggle-btn.active,.app.theme-dark .repertoire-list>button.active{background:#1d4f91;border-color:#60a5fa}.app.theme-dark .ai-switch-track{background:#475569}.app.theme-dark .ai-switch.on .ai-switch-track{background:#16a34a}.app.theme-dark .ai-engine-tab{color:#94a3b8}.app.theme-dark .ai-engine-tab:hover{color:#cbd5e1}.app.theme-dark .ai-engine-tab.active{color:#f8fafc}.app.theme-dark .ai-elo-select{color:#e2e8f0}.app.theme-dark .ai-elo-select:hover{color:#f8fafc}.app.theme-dark .ai-elo-select-wrap:after{border-right-color:#94a3b8;border-bottom-color:#94a3b8}.app.theme-dark .table-move-btn,.app.theme-dark .move-inline-item{background:transparent;border-color:transparent;color:#b8c1cf}.app.theme-dark .table-move-btn:hover,.app.theme-dark .move-inline-item:hover{color:#cbd5e1}.app.theme-dark .tree-option-btn{background:#1e293b;border-color:#475569;color:#e2e8f0}.app.theme-dark .tree-option-btn:hover{background:#334155;border-color:#60a5fa;color:#e2e8f0}.app.theme-dark .table-move-btn:hover,.app.theme-dark .lichess-clickable-row:hover,.app.theme-dark .stockfish-clickable-row:hover,.app.theme-dark .move-inline-item:hover{background:#24344f}.app.theme-dark .move-inline-item:hover{border-color:#60a5fa}.app.theme-dark .move-inline-item.has-alternatives{color:#4ade80}.app.theme-dark .move-inline-item.analysis-best,.app.theme-dark .move-inline-item.analysis-good{color:#60a5fa}.app.theme-dark .move-inline-item.analysis-excellent{color:#c084fc}.app.theme-dark .move-inline-item.analysis-inaccuracy{color:#fb923c}.app.theme-dark .move-inline-item.analysis-mistake,.app.theme-dark .move-inline-item.analysis-blunder{color:#f87171}.app.theme-dark .move-inline-item.analysis-provisional{color:#94a3b8}.app.theme-dark .move-inline-item.analysis-book{color:#4ade80}.app.theme-dark .move-inline-maia-tag.above{color:#d8b4fe;background:#3b2455}.app.theme-dark .move-inline-maia-tag.below{color:#fca5a5;background:#4a2429}.app.theme-dark .modal-backdrop{background:#020617b3}.app.theme-dark .stats-bar{border-color:#475569;background:#0f172a}.app.theme-dark .seg-white{background:#f8fafc;color:#020617}.app.theme-dark .seg-draw{background:#64748b;color:#f8fafc}.app.theme-dark .seg-black{background:#020617;color:#f8fafc}.app.theme-dark .spinner{border-color:#334155;border-top-color:#60a5fa}@media(max-width:1080px)and (orientation:portrait){.board-row{grid-template-columns:1fr;height:auto;overflow:hidden}.board{width:min(100%,620px)}.move-list,.lichess-panel{max-height:none;height:auto}.lichess-panel .lichess-cell-move{flex:0 0 44px}.lichess-panel .lichess-cell-games{flex:0 0 78px;font-size:.76rem}.lichess-panel .lichess-cell-elo{flex:0 0 36px;font-size:.68rem}}@media(orientation:portrait){.app{padding:0 .7rem .7rem;gap:.45rem}.topbar{margin-bottom:0}.board-row{grid-template-columns:1fr;grid-template-rows:min-content minmax(0,1fr);gap:.35rem;height:100%;min-height:0;overflow:hidden}.board-row.training-mode{grid-template-columns:1fr;grid-template-rows:min-content minmax(0,1fr)}.board-row.training-mode .board-center{grid-column:auto;grid-row:1}.board-row.training-mode .move-list{grid-column:auto;grid-row:2}.board-center{order:initial;grid-row:1;min-height:0;overflow:hidden;gap:.18rem}.portrait-tabbar{display:inline-flex;gap:.4rem;margin-top:0;position:relative}.portrait-tabbar .active{background:#dbeafe;border-color:#93c5fd}.portrait-tabbar>button.hint-portrait-btn{width:auto;min-width:3.4rem;padding:.35rem .55rem}.portrait-tabbar>button.training-stop-btn{width:auto;min-width:7.6rem;white-space:nowrap;padding:.35rem .6rem}.portrait-tabbar>button.hint-portrait-btn{margin-left:auto}.portrait-tabbar>button.training-stats-portrait-gear{margin-left:auto}.portrait-tabbar>button.continue-portrait-btn{width:auto;min-width:4.7rem;padding:.35rem .6rem;position:absolute;left:63%;transform:translate(-50%)}.portrait-tabbar>button.portrait-back-btn{width:5rem;min-width:5rem;margin-left:auto;margin-right:0}.desktop-only{display:none}.move-list .controls-row>button.desktop-only{display:none}.portrait-only{display:block}.portrait-pane{display:none;grid-row:2;height:100%;min-height:0;max-height:100%;overflow:auto;overscroll-behavior:contain}.portrait-pane.active{display:block}.move-list:not(.training-pane).portrait-pane:not(.active){display:none}.move-list:not(.training-pane).portrait-pane.active{display:flex;flex-direction:column;overflow:hidden}.lichess-panel,.stockfish-panel{order:initial}.stockfish-panel.portrait-pane.active{display:flex;flex-direction:column;overflow:hidden}.stockfish-panel.portrait-pane .ai-engine-controls{flex:0 0 auto}.stockfish-panel.portrait-pane .ai-engine-row-top{width:100%;flex-wrap:nowrap}.stockfish-panel.portrait-pane .ai-row-right{margin-left:auto;flex-shrink:0}.stockfish-panel.portrait-pane .ai-elo-slot{width:5.2rem;min-width:5.2rem;display:inline-flex;justify-content:flex-start}.stockfish-panel.portrait-pane .ai-elo-select{min-width:4.2rem;font-size:.78rem;padding-right:.78rem}.stockfish-panel.portrait-pane .inline-stepper{gap:.16rem}.stockfish-panel.portrait-pane .stepper-value{min-width:1.35rem}.stockfish-panel.portrait-pane .ai-portrait-scroll{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain}.stockfish-panel.portrait-pane .ai-eval-table{margin-top:0}.move-list{order:initial}.move-list.training-pane{padding-top:.45rem}.move-list.training-pane .training-repertoire-name{margin-top:0;padding-top:.25rem;padding-bottom:.25rem}}.game-report{--gr-ink: #18212f;--gr-muted: #667085;--gr-line: #e4e8ef;--gr-panel: #fff;color:var(--gr-ink);display:grid;gap:1rem;padding:.1rem .15rem .5rem}.gr-hero{padding:1.15rem 1.25rem;border-radius:16px;color:#f8fafc;background:radial-gradient(ellipse at 85% 8%,#5273bd 0,transparent 42%),linear-gradient(120deg,#111b34,#24375b 60%,#334d77)}.gr-hero h2{font-size:clamp(1.35rem,3vw,2rem);line-height:1.16;margin:.28rem 0 .55rem;letter-spacing:-.025em}.game-report .gr-hero p{color:#d7e0f3;margin:0;max-width:58rem;font-size:.88rem;line-height:1.5}.gr-kicker{color:#7891c3;font-size:.67rem;font-weight:800;letter-spacing:.13em}.gr-hero .gr-kicker{color:#a9c2fa}.gr-player-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.gr-player-card,.gr-phase-card{min-width:0;border:1px solid var(--gr-line);background:var(--gr-panel);border-radius:13px;padding:.9rem 1rem}.gr-player-card.white{border-top:3px solid #6a91e9}.gr-player-card.black{border-top:3px solid #9a7ce0}.gr-player-top,.gr-phase-card-top{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.gr-player-top>span:first-child{font-size:.72rem;font-weight:850;letter-spacing:.12em}.gr-profile-rating{color:#54657d;font-size:.75rem;font-weight:700}.gr-rating-main{margin:.45rem 0 .12rem;font-size:1.55rem;font-weight:850;letter-spacing:-.035em}.gr-rating-main small{display:block;color:var(--gr-muted);margin-top:.12rem;font-size:.71rem;font-weight:650;letter-spacing:0}.gr-impact{font-size:1rem;font-weight:750;margin:.45rem 0 .55rem}.gr-impact small{color:var(--gr-muted);font-size:.73rem;font-weight:600}.gr-profile-reason{color:var(--gr-muted);font-size:.74rem;min-height:1.2em;margin:0 0 .45rem}.gr-model-match{font-weight:750;font-size:.85rem;margin:.7rem 0 .35rem}.gr-profile-chart{display:block;width:100%;max-height:100px}.gr-profile-point{fill:#5879bf}.gr-opponent-context{margin-top:.7rem;padding-top:.65rem;border-top:1px solid var(--gr-line);font-size:.78rem}.gr-opponent-context p{color:var(--gr-muted);font-size:.75rem;line-height:1.45;margin:.35rem 0}.gr-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem .65rem;border-top:1px solid var(--gr-line);padding-top:.65rem;color:var(--gr-muted);font-size:.74rem}.gr-stats b{color:var(--gr-ink);font-size:.9rem;margin-right:.16rem}.gr-section{border:1px solid var(--gr-line);background:var(--gr-panel);border-radius:13px;padding:.9rem 1rem}.gr-section-heading{display:flex;justify-content:space-between;align-items:end;gap:.8rem;margin-bottom:.5rem}.gr-section-heading h3{margin:.15rem 0 0;font-size:1rem;letter-spacing:-.015em}.gr-legend{color:var(--gr-muted);display:flex;gap:.9rem;font-size:.72rem}.gr-legend span:first-child{color:#496eca}.gr-legend span:last-child{color:#805bbe}.gr-chart-scroll{width:100%}.gr-timeline{display:block;width:100%;height:clamp(9.5rem,24vw,15rem);overflow:visible}.gr-phase-band{fill:#5778bc;opacity:.06}.gr-phase-band.alternate{fill:#8668bc;opacity:.07}.gr-zero-axis{stroke:#aeb8c8;stroke-width:1;stroke-dasharray:3 4}.gr-axis-label,.gr-phase-label{fill:#8993a4;font:10px system-ui,sans-serif}.gr-phase-label{font-size:9px}.gr-advantage-line{fill:none;stroke:#5879bf;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.gr-point{fill:#fff;stroke:#5879bf;stroke-width:2.5;cursor:pointer;transition:r .12s,fill .12s}.gr-point:hover,.gr-point:focus{r:6;fill:#dfe8ff;outline:none}.gr-chart-note,.gr-small-note{color:var(--gr-muted);font-size:.72rem;margin:.1rem 0 0}.gr-explorer{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.55rem;margin-top:.65rem}.gr-explorer label{font-size:.75rem;font-weight:750}.gr-explorer select,.gr-explorer button{min-height:2.35rem;border:1px solid var(--gr-line);border-radius:8px;background:var(--gr-panel);color:var(--gr-ink);padding:.35rem .55rem;font:inherit;font-size:.77rem}.gr-explorer button{cursor:pointer;font-weight:750;background:#edf2fd}.gr-explorer button:disabled{opacity:.5;cursor:default}.gr-phase-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}.gr-phase-card{padding:.7rem .75rem}.gr-phase-card h4{margin:0;font-size:.82rem}.gr-phase-card-top>span{color:var(--gr-muted);font-size:.67rem}.gr-phase-advantage{margin:.45rem 0;font-size:.76rem;font-weight:700}.gr-phase-loss{display:flex;justify-content:space-between;border-top:1px solid var(--gr-line);padding-top:.45rem;color:var(--gr-muted);font-size:.71rem}.gr-phase-loss b{color:var(--gr-ink);margin-left:.16rem}.gr-moment-list{display:grid;gap:.42rem}.gr-moment{display:grid;grid-template-columns:7.3rem 1fr 1.2rem;align-items:center;gap:.7rem;width:100%;text-align:left;color:var(--gr-ink);border:1px solid var(--gr-line);border-left:3px solid #6b85bb;background:var(--gr-panel);border-radius:9px;padding:.62rem .72rem;cursor:pointer}.gr-moment:hover,.gr-moment:focus-visible{border-color:#92a9d6;background:#f7f9fd;outline:none}.gr-moment.mistake{border-left-color:#d95c5c}.gr-moment.defense{border-left-color:#329775}.gr-moment.turning{border-left-color:#d29936}.gr-moment.conversion{border-left-color:#7764c4}.gr-moment-label{color:#65738a;font-size:.69rem;font-weight:800;text-transform:uppercase;letter-spacing:.045em}.gr-moment-copy{display:grid;gap:.12rem}.gr-moment-copy b{font-size:.81rem}.gr-moment-copy>span{color:var(--gr-muted);font-size:.75rem;line-height:1.35}.gr-moment-arrow{color:#7488ad;text-align:right;font-size:1.1rem}.gr-empty{color:var(--gr-muted);font-size:.82rem;margin:.4rem 0}.gr-evidence p{margin:.35rem 0;color:var(--gr-muted);font-size:.78rem;line-height:1.5}.gr-evidence p b{color:var(--gr-ink)}.gr-evidence button{margin-left:.3rem;padding:.2rem .4rem;color:inherit;background:transparent;border:1px solid var(--gr-line);border-radius:6px;cursor:pointer}.gr-insight{display:block;width:100%;margin-top:.5rem;padding:.55rem;text-align:left;background:transparent;color:var(--gr-ink);border:1px solid var(--gr-line);border-radius:8px;font-size:.78rem;cursor:pointer}.gr-method{color:var(--gr-muted);font-size:.8rem}.gr-method summary{cursor:pointer;padding:.4rem 0}.gr-mate-marker{fill:#a855f7;font:700 14px system-ui,sans-serif}.gr-phase-loss{margin:.5rem 0}.game-analysis-modal:has(.game-report){width:min(900px,calc(100vw - 2rem));max-height:calc(100dvh - 2rem);overflow-y:auto}.app.theme-dark .game-report{--gr-ink:#e7ecf5;--gr-muted:#abb7c9;--gr-line:#354155;--gr-panel:#202938}.app.theme-dark .gr-profile-rating{color:#bbc8dd}.app.theme-dark .gr-stats b,.app.theme-dark .gr-phase-loss b{color:#e7ecf5}.app.theme-dark .gr-moment:hover,.app.theme-dark .gr-moment:focus-visible{background:#273449}@media(max-width:650px){.gr-player-grid{grid-template-columns:1fr;gap:.55rem}.gr-phase-grid{grid-template-columns:1fr}.gr-section{padding:.75rem}.gr-section-heading{align-items:start;flex-direction:column;gap:.25rem}.gr-legend{flex-wrap:wrap}.gr-explorer{grid-template-columns:1fr auto}.gr-explorer label{grid-column:1 / -1}.gr-explorer select{min-width:0}.gr-moment{grid-template-columns:1fr 1rem;gap:.2rem .5rem}.gr-moment-label,.gr-moment-copy{grid-column:1}.gr-moment-arrow{grid-column:2;grid-row:1 / span 2}}.analysis-context-editor{min-width:0;margin:0;padding:.8rem;border:1px solid var(--line, #d9dee8);border-radius:10px;display:grid;gap:.65rem}.analysis-context-editor legend{padding:0 .25rem;font-size:.85rem;font-weight:750}.analysis-context-editor legend span{margin-left:.3rem;color:var(--muted, #697386);font-size:.72rem;font-weight:500}.analysis-context-editor label{min-width:0;display:grid;gap:.25rem;color:var(--muted, #697386);font-size:.72rem;font-weight:650}.analysis-context-editor input,.analysis-context-editor select{box-sizing:border-box;width:100%;min-height:2.3rem;padding:.4rem .5rem;color:inherit;background:var(--panel, #fff);border:1px solid var(--line, #d9dee8);border-radius:7px;font:inherit;font-size:.82rem}.ace-ratings,.ace-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.ace-time-control{grid-column:1 / -1}@media(min-width:560px){.ace-meta{grid-template-columns:repeat(3,minmax(0,1fr))}.ace-time-control{grid-column:auto}}.analysis-button-backdrop{z-index:1100}.analysis-button-trigger{touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.analysis-button-dialog{width:min(390px,calc(100vw - 2rem))}.analysis-button-dialog{max-height:calc(100dvh - 2rem);overflow-y:auto}.analysis-button-dark .analysis-button-dialog{color:#e2e8f0;background:#172033;border-color:#334155}.analysis-button-dark .analysis-button-benchmark p{color:#a5b4c7}.analysis-button-dark .analysis-button-close{color:#e2e8f0}.analysis-button-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.analysis-button-header h2{margin:0;font-size:1.15rem}.analysis-button-close{border:0;background:transparent;font-size:1.5rem;line-height:1;cursor:pointer}.analysis-button-benchmark{margin-top:1.2rem}.analysis-button-benchmark label{display:flex;justify-content:space-between;font-weight:600}.analysis-button-benchmark input{width:100%;margin:.8rem 0 0}.analysis-button-benchmark p{margin:.2rem 0 0;color:#64748b;font-size:.82rem}.analysis-button-actions{display:grid;grid-template-columns:1fr 1fr;gap:.65rem;margin-top:1.2rem}.analysis-button-dialog .analysis-context-editor{margin-top:1rem}.analysis-button-actions button{min-height:2.6rem;cursor:pointer}.analysis-button-actions button span{display:block;margin-top:.2rem;font-size:.78rem;font-weight:400;opacity:.78}@media(max-width:420px){.analysis-button-dialog{padding:.8rem}.analysis-button-actions{grid-template-columns:1fr}}.maia-popularity-controls{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .7rem;margin:.4rem 0 .6rem;font-size:.78rem}.maia-popularity-controls label{display:flex;align-items:center;gap:.4rem;cursor:pointer}.maia-popularity-controls input{accent-color:#2563eb}.maia-popularity-note,.maia-popularity-pending{color:#64748b;font-size:.7rem}.engine-pv-row.maia-popularity-row{display:grid;grid-template-columns:3.8rem minmax(0,1fr);align-items:center}.maia-popularity-row .maia-popularity-chart,.maia-popularity-row>.maia-popularity-pending{grid-column:1 / -1}.maia-popularity-chart{width:100%;height:78px;display:block;color:#2563eb}.maia-chart-grid{stroke:#94a3b8;stroke-width:.5;opacity:.45;fill:none}.maia-chart-selected{stroke:currentColor;stroke-width:1;stroke-dasharray:2 2;opacity:.4;fill:none}.maia-chart-line{stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;fill:none}.maia-chart-dot{fill:currentColor}.maia-chart-dot.selected{stroke:#fff;stroke-width:1.2}.maia-chart-label{fill:#64748b;font-size:7px}.maia-chart-label.selected{fill:currentColor;font-weight:700}.theme-dark .maia-popularity-chart{color:#93c5fd}.theme-dark .maia-chart-label,.theme-dark .maia-popularity-note,.theme-dark .maia-popularity-pending{fill:#94a3b8;color:#94a3b8}
