.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{--font-main: "Inter", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", monospace;--color-bg: #030712;--color-panel: #0f172a;--color-border: #334155;--color-border-light: rgba(255, 255, 255, .08);--color-indigo-600: #4f46e5;--color-indigo-500: #6366f1;--color-indigo-400: #818cf8;--color-indigo-950: #1e1b4b;--color-emerald-600: #059669;--color-emerald-500: #10b981;--color-yellow-500: #eab308;--color-orange-500: #f97316;--color-red-500: #ef4444;--color-text-primary: #f8fafc;--color-text-secondary: #94a3b8;--color-text-muted: #64748b}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-main);background-color:var(--color-bg);color:var(--color-text-primary);min-height:100vh;background-image:radial-gradient(at 0% 0%,rgba(79,70,229,.15) 0px,transparent 50%),radial-gradient(at 100% 100%,rgba(99,102,241,.1) 0px,transparent 50%);background-repeat:no-repeat;background-attachment:fixed;-webkit-font-smoothing:antialiased}.custom-scrollbar::-webkit-scrollbar{width:6px;height:0px}.custom-scrollbar::-webkit-scrollbar-track{background:transparent}.custom-scrollbar::-webkit-scrollbar-thumb{background-color:var(--color-border);border-radius:999px}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background-color:var(--color-text-secondary)}.app-container{min-height:100vh;width:100%;display:flex;flex-direction:column;align-items:center;padding:1.5rem}@media (min-width: 768px){.app-container{padding:2.5rem}}.app-header{width:100%;max-width:1160px;display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--color-border)}@media (min-width: 1024px){.app-header{display:none}}.header-brand{display:flex;align-items:center;gap:.75rem}.brand-icon-box{padding:.5rem;background:linear-gradient(135deg,var(--color-indigo-600),var(--color-indigo-400));border-radius:.75rem;box-shadow:0 10px 15px -3px #4f46e54d;display:flex;align-items:center;justify-content:center}.brand-logo{width:1.5rem;height:1.5rem;color:#fff}.brand-text-title{font-size:1.25rem;font-weight:700;letter-spacing:-.025em;background:linear-gradient(to right,#fff,#cbd5e1);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.brand-text-subtitle{font-size:.75rem;color:var(--color-text-muted);font-weight:500}.header-controls{display:flex;align-items:center;gap:.75rem}.btn-header{padding:.5rem .75rem;background-color:var(--color-panel);border:1px solid var(--color-border);border-radius:.5rem;color:var(--color-text-primary);font-size:.75rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.375rem;transition:all .2s ease}.btn-header:hover{background-color:#1e293b;border-color:#475569}.engine-status-badge{padding:.5rem .75rem;background-color:var(--color-panel);border:1px solid var(--color-border);border-radius:.5rem;font-size:.75rem;font-family:var(--font-mono);display:flex;align-items:center;gap:.5rem}.status-dot{width:.625rem;height:.625rem;border-radius:50%}.status-dot.active{background-color:var(--color-emerald-500);box-shadow:0 0 8px var(--color-emerald-500);animation:pulse-slow 2s infinite}.status-dot.loading{background-color:var(--color-yellow-500)}.main-content{width:100%;max-width:1160px;display:flex;flex-direction:column;align-items:center;gap:2rem}@media (min-width: 1024px){.main-content{flex-direction:row;align-items:flex-start;justify-content:center}}.board-column{display:flex;gap:1rem;align-items:center;flex-shrink:0}.board-container{display:flex;flex-direction:column;gap:.5rem;width:calc(620px + 3rem);max-width:100%}.board-layout{display:flex;gap:1rem;align-items:stretch;width:100%}.chessboard-wrapper{width:100%;max-width:620px;aspect-ratio:1 / 1;align-self:flex-start;border-radius:.75rem;overflow:hidden;box-shadow:0 25px 50px -12px #00000080;border:1px solid var(--color-border);background-color:var(--color-panel);padding:.5rem;position:relative;display:flex}.chessboard-board{flex:1}.chessboard-overlay{position:absolute;top:.5rem;left:.5rem;right:.5rem;bottom:.5rem}.cg-wrap{position:relative!important;display:block!important;width:100%!important;height:100%!important}.players-card{padding:.5rem 1rem;background-color:#0f172a80;border:1px solid var(--color-border);border-radius:.5rem;font-size:.75rem;display:flex;justify-content:space-between}.player-info{font-weight:600;color:#e2e8f0;display:flex;align-items:center;gap:.35rem}.variation-banner{text-align:center;font-size:.75rem;color:var(--color-indigo-400);font-weight:600;background-color:#6366f11a;padding:.375rem;border-radius:.5rem}.error-box{width:100%;padding:1rem;background-color:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:.75rem;display:flex;align-items:center;gap:.75rem;font-size:.875rem;color:#fca5a5}.gauge-container{position:relative;display:flex;flex-direction:column;align-items:center;width:2rem;flex-shrink:0;background-color:#020617;border:1px solid var(--color-border);border-radius:.5rem;overflow:hidden;box-shadow:0 25px 50px -12px #00000080}.gauge-black{position:absolute;top:0;right:0;bottom:0;left:0;background-color:#1e293b}.gauge-white{position:absolute;bottom:0;left:0;right:0;background-color:#f8fafc;transition:height .3s cubic-bezier(.16,1,.3,1)}.gauge-label{position:absolute;left:0;right:0;text-align:center;font-family:var(--font-mono);font-size:.75rem;font-weight:700;pointer-events:none;transition:all .3s ease;z-index:10}.gauge-label.white-win{top:1rem;color:#020617}.gauge-label.black-win{bottom:1rem;color:#f8fafc}.gauge-midline{position:absolute;top:50%;left:0;right:0;height:2px;background-color:#6366f180;mix-blend-mode:difference;pointer-events:none}.analysis-panel{display:flex;flex-direction:column;background-color:#0f172ab3;border:1px solid var(--color-border);border-radius:.75rem;overflow:hidden;height:700px;width:100%;max-width:450px;box-shadow:0 25px 50px -12px #00000080;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.panel-tabs{display:flex;border-bottom:1px solid var(--color-border);background-color:#02061766}.tab-button{flex:1;padding:.75rem 0;font-size:.875rem;font-weight:500;background:transparent;border:none;color:var(--color-text-secondary);cursor:pointer;transition:all .2s ease}.tab-button.active{color:var(--color-indigo-400);border-bottom:2px solid var(--color-indigo-500);background-color:#0f172a66}.tab-button:hover:not(.active){color:var(--color-text-primary)}.import-area{padding:1rem;border-bottom:1px solid var(--color-border);background-color:#0f172a4d}.import-row{display:flex;gap:.5rem}.input-text{flex:1;padding:.5rem .75rem;font-size:.875rem;background-color:#020617;border:1px solid var(--color-border);border-radius:.5rem;color:var(--color-text-primary);outline:none;transition:border-color .2s}.input-text:focus{border-color:var(--color-indigo-500)}.textarea-pgn{width:100%;padding:.5rem .75rem;font-size:.875rem;background-color:#020617;border:1px solid var(--color-border);border-radius:.5rem;color:var(--color-text-primary);outline:none;resize:none;font-family:var(--font-mono);transition:border-color .2s;margin-bottom:.5rem}.textarea-pgn:focus{border-color:var(--color-indigo-500)}.btn-primary{padding:.5rem 1rem;font-size:.875rem;font-weight:600;background-color:var(--color-indigo-600);border:none;border-radius:.5rem;color:#fff;cursor:pointer;transition:background-color .2s;display:flex;align-items:center;justify-content:center;gap:.25rem}.btn-primary:hover:not(:disabled){background-color:var(--color-indigo-500)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.panel-header-bar{display:flex;justify-content:space-between;align-items:center;padding:.5rem 1rem;border-bottom:1px solid rgba(51,65,85,.5);background-color:#0f172a66}.panel-title{font-size:.75rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.navigation-controls{display:flex;gap:.5rem}.btn-icon{background:transparent;border:none;color:var(--color-text-secondary);cursor:pointer;display:flex;align-items:center;padding:.25rem;border-radius:.25rem;transition:color .2s,background-color .2s}.btn-icon:hover:not(:disabled){color:var(--color-text-primary);background-color:#ffffff0d}.btn-icon:disabled{opacity:.3;cursor:not-allowed}.moves-log-container{flex:1;overflow-y:auto;padding:.75rem;display:grid;grid-template-columns:repeat(2,1fr);align-content:flex-start;gap:.25rem .75rem;background-color:#02061733}.no-game-placeholder{grid-column:span 2;display:flex;align-items:center;justify-content:center;height:100%;font-size:.875rem;color:var(--color-text-muted);padding:2.5rem 0}.move-block{display:flex;align-items:center;justify-content:space-between;padding:.375rem .75rem;border-radius:.5rem;cursor:pointer;border:1px solid transparent;transition:all .15s ease}.move-block.active{background-color:#6366f140;color:#c7d2fe;border-color:#6366f140}.move-block:hover:not(.active){background-color:#33415540;color:var(--color-text-primary)}.move-number-prefix{font-size:.75rem;font-weight:600;color:var(--color-text-muted);width:1.5rem}.move-notation{font-size:.875rem;font-weight:600;flex:1}.move-eval-badge{display:flex;align-items:center;gap:.375rem}.quality-marker{font-size:10px;font-weight:700;padding:0 .25rem;border-radius:.25rem}.quality-marker.brilliant{background-color:#2dd4bf33;color:#2dd4bf;border:1px solid rgba(45,212,191,.4)}.quality-marker.great{background-color:#6366f133;color:#818cf8;border:1px solid rgba(99,102,241,.4)}.quality-marker.best{background-color:#22c55e33;color:#4ade80}.quality-marker.excellent{background-color:#10b9811a;color:#34d399}.quality-marker.good{background-color:#0ea5e91a;color:#38bdf8}.quality-marker.book{background-color:#d9770626;color:#fbbf24}.quality-marker.inaccuracy{background-color:#eab3081a;color:#facc15}.quality-marker.mistake{background-color:#f973161a;color:#fb923c}.quality-marker.miss{background-color:#ec489926;color:#f472b6}.quality-marker.blunder{background-color:#ef68681a;color:#fca5a5}.move-eval-val{font-size:10px;font-family:var(--font-mono);color:var(--color-text-muted)}.engine-dashboard{border-top:1px solid rgba(51,65,85,.8);background-color:#02061799;padding:1rem}.engine-dashboard-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.engine-dashboard-title{font-size:.75rem;font-weight:600;color:var(--color-text-secondary)}.btn-dashboard{padding:.25rem .75rem;font-size:.75rem;font-weight:600;border:none;border-radius:.375rem;color:#fff;cursor:pointer;display:flex;align-items:center;gap:.25rem;transition:background-color .2s}.btn-dashboard.start{background-color:var(--color-emerald-600)}.btn-dashboard.start:hover:not(:disabled){background-color:var(--color-emerald-500)}.btn-dashboard.stop{background-color:var(--color-red-500)}.btn-dashboard.stop:hover{background-color:#ef4444}.engine-stats-card{padding:.75rem;border-radius:.5rem;background-color:var(--color-bg);border:1px solid #1e293b;display:flex;flex-direction:column;gap:.375rem;font-size:.75rem}.stats-row{display:flex;justify-content:space-between;font-family:var(--font-mono);color:var(--color-text-secondary)}.stats-val{color:#e2e8f0;font-weight:600}.pv-box{display:flex;flex-direction:column;gap:.25rem;border-top:1px solid #1e293b;padding-top:.5rem;margin-top:.25rem;font-family:var(--font-mono)}.pv-label{font-size:10px;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.pv-text{color:#cbd5e1;line-height:1.4;word-break:break-all;-webkit-user-select:text;user-select:text}.cg-wrap cg-container{position:absolute!important;top:0!important;left:0!important;width:100%!important;height:100%!important;display:block!important}.cg-wrap cg-board{position:absolute!important;top:0!important;left:0!important;width:100%!important;height:100%!important;display:block!important;background-size:cover!important}.cg-wrap piece{position:absolute!important;width:12.5%!important;height:12.5%!important;display:block!important;background-size:cover!important;z-index:2!important}@keyframes pulse-slow{0%,to{opacity:1}50%{opacity:.4}}.analysis-mode-selector{display:flex;background-color:#02061766;border:1px solid var(--color-border);border-radius:.5rem;padding:.2rem;gap:.2rem;margin-bottom:.75rem}.mode-selector-btn{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.4rem .5rem;font-size:.75rem;font-weight:600;color:var(--color-text-secondary);background:transparent;border:none;border-radius:.375rem;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1)}.mode-selector-btn:hover:not(:disabled){color:var(--color-text-primary);background-color:#ffffff0d}.mode-selector-btn.active{color:#fff;background-color:var(--color-indigo-600);box-shadow:0 4px 12px #4f46e533}.mode-selector-btn:disabled{opacity:.4;cursor:not-allowed}.mode-desc{font-size:9px;font-weight:400;opacity:.65;margin-top:.125rem}.mode-selector-btn.active .mode-desc{opacity:.85}.progress-dashboard-card{padding:.75rem;border-radius:.5rem;background-color:var(--color-bg);border:1px solid #1e293b;display:flex;flex-direction:column;gap:.5rem;box-shadow:inset 0 1px #ffffff08}.progress-info-row{display:flex;justify-content:space-between;align-items:center}.progress-label{font-size:.75rem;font-weight:600;color:var(--color-text-secondary)}.progress-val{font-size:.75rem;font-weight:700;font-family:var(--font-mono);color:var(--color-indigo-400)}.progress-bar-container{height:8px;background-color:#0f172a99;border:1px solid rgba(255,255,255,.03);border-radius:999px;overflow:hidden;position:relative}.progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--color-indigo-600) 0%,var(--color-indigo-400) 100%);border-radius:999px;transition:width .3s cubic-bezier(.4,0,.2,1);box-shadow:0 0 8px #6366f14d}.progress-substats{display:flex;justify-content:space-between;border-top:1px solid #1e293b;padding-top:.5rem;margin-top:.25rem;font-family:var(--font-mono);font-size:10px;color:var(--color-text-muted)}.progress-substats-idle{font-size:10px;font-family:var(--font-mono);color:var(--color-text-muted);text-align:center;font-style:italic;padding:.25rem 0}.review-stats-dashboard{display:flex;flex-direction:column;border-bottom:1px solid rgba(51,65,85,.5);background-color:#0f172a40;padding:.5rem 0;gap:.375rem}.accuracy-header,.elo-header{display:flex;gap:.5rem;padding:0 1rem}.accuracy-badge,.elo-badge{flex:1;padding:.5rem .75rem;border-radius:.375rem;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.125rem;transition:all .2s ease}.badge-label{font-size:.6rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;opacity:.75}.badge-value{font-size:1.125rem;font-weight:800;font-family:var(--font-mono);letter-spacing:-.02em}.accuracy-badge.white,.elo-badge.white{background:linear-gradient(135deg,#ffffff14,#ffffff05);color:#f8fafc;border:1px solid rgba(255,255,255,.12)}.elo-badge.white{border-color:#6366f159;box-shadow:inset 0 0 10px #6366f114,0 2px 8px #6366f10d;color:#e0e7ff}.elo-badge.white .badge-value{background:linear-gradient(135deg,#fff,#a5b4fc);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.accuracy-badge.black,.elo-badge.black{background:linear-gradient(135deg,#0f172a99,#0f172a4d);color:#cbd5e1;border:1px solid rgba(148,163,184,.15)}.elo-badge.black{border-color:#818cf840;box-shadow:inset 0 0 10px #818cf80d,0 2px 8px #0003;color:#c7d2fe}.elo-badge.black .badge-value{background:linear-gradient(135deg,#e2e8f0,#818cf8);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.opening-banner{text-align:center;font-size:.75rem;color:var(--color-text-secondary);font-weight:500;background-color:#0f172a66;padding:.375rem;border-radius:.5rem;border:1px solid var(--color-border);margin-top:.25rem}.opening-name-text{color:var(--color-indigo-400);font-weight:600}.board-quality-badge{position:absolute;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-sans);font-weight:800;font-size:11px;z-index:10;box-shadow:0 3px 6px #0006;border:1.5px solid #ffffff;pointer-events:none;-webkit-user-select:none;user-select:none;transition:all .15s ease-in-out}.board-quality-badge.brilliant{background-color:#2dd4bf;color:#0f172a}.board-quality-badge.great{background-color:#818cf8;color:#fff}.board-quality-badge.best{background-color:#4ade80;color:#fff;font-size:10px}.board-quality-badge.excellent{background-color:#34d399;color:#fff}.board-quality-badge.good{background-color:#38bdf8;color:#fff}.board-quality-badge.book{background-color:#fbbf24;color:#0f172a}.board-quality-badge.inaccuracy{background-color:#facc15;color:#0f172a}.board-quality-badge.mistake{background-color:#fb923c;color:#fff}.board-quality-badge.miss{background-color:#f472b6;color:#fff}.board-quality-badge.blunder{background-color:#fca5a5;color:#0f172a}.panel-main-tabs{display:flex;gap:.25rem;padding:.5rem;background-color:#0f172a66;border-bottom:1px solid var(--color-border);align-items:center}.main-tab-btn{display:flex;align-items:center;gap:.375rem;padding:.5rem .75rem;border-radius:.375rem;font-family:var(--font-sans);font-size:.8125rem;font-weight:600;color:var(--color-text-secondary);background:transparent;border:none;cursor:pointer;transition:all .15s ease-in-out}.main-tab-btn:hover{color:var(--color-text-primary);background-color:#ffffff0d}.main-tab-btn.active{color:var(--color-indigo-300);background-color:#6366f126}.main-tab-btn-new{margin-left:auto;display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;color:var(--color-text-secondary);background:transparent;border:none;cursor:pointer;transition:all .15s ease-in-out}.main-tab-btn-new:hover{color:var(--color-indigo-400);background-color:#ffffff0d}.import-container-card{padding:1rem;display:flex;flex-direction:column;gap:1rem;flex:1;overflow:hidden}.tab-scroll-container{display:flex;flex-direction:column;gap:1rem;flex:1;overflow-y:auto;padding:.5rem}.tab-scroll-container.custom-scrollbar::-webkit-scrollbar{width:6px}.tab-scroll-container.custom-scrollbar::-webkit-scrollbar-track{background:transparent}.tab-scroll-container.custom-scrollbar::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}.tab-scroll-container.custom-scrollbar::-webkit-scrollbar-thumb:hover{background:#fff3}.moves-log-container.mini-scroll{height:200px;min-height:200px;flex:none}.moves-log-container.full-height{flex:1}.review-jump-controls{display:flex;gap:.5rem;width:100%}.btn-jump-error{flex:1;display:flex;align-items:center;justify-content:center;gap:.375rem;padding:.5rem;background-color:var(--color-panel);border:1px solid var(--color-border);border-radius:.375rem;font-family:var(--font-sans);font-size:.8125rem;font-weight:600;color:var(--color-text-secondary);cursor:pointer;transition:all .15s ease-in-out}.btn-jump-error:hover:not(:disabled){color:var(--color-text-primary);border-color:var(--color-indigo-500);background-color:#ffffff05}.btn-jump-error:disabled{opacity:.4;cursor:not-allowed}.explain-move-card{margin-bottom:1rem}.btn-explain-move{display:flex;align-items:center;justify-content:center;gap:.4rem;width:100%;padding:.5rem .75rem;background-color:var(--color-panel);border:1px solid var(--color-border);border-radius:.375rem;font-family:var(--font-sans);font-size:.8125rem;font-weight:600;color:var(--color-text-secondary);cursor:pointer;transition:all .15s ease-in-out}.btn-explain-move:hover:not(:disabled){color:var(--color-text-primary);border-color:var(--color-indigo-500);background-color:#ffffff05}.btn-explain-move:disabled{opacity:.55;cursor:not-allowed}.explain-move-body{margin-top:.625rem;padding:.75rem;background-color:var(--color-panel);border:1px solid var(--color-border);border-left:3px solid var(--color-indigo-500);border-radius:.375rem}.explain-move-error{margin-top:.5rem;font-size:.8125rem;color:var(--color-rose-400, #fb7185)}.stats-card{background-color:#1e293b40;border:1px solid var(--color-border);border-radius:.5rem;padding:.75rem;margin-top:.5rem}.stats-title{font-family:var(--font-sans);font-size:.875rem;font-weight:700;color:var(--color-text-primary);margin-bottom:.5rem;border-left:3px solid var(--color-indigo-500);padding-left:.5rem}.stats-table{display:flex;flex-direction:column;font-family:var(--font-sans);font-size:.8125rem}.stats-table-header{display:grid;grid-template-columns:1fr 60px 60px;padding:.375rem .5rem;font-weight:700;color:var(--color-text-secondary);border-bottom:1px solid var(--color-border)}.stats-table-header span:nth-child(2),.stats-table-header span:nth-child(3){text-align:center}.stats-table-row{display:grid;grid-template-columns:1fr 60px 60px;padding:.5rem;align-items:center;border-bottom:1px solid rgba(255,255,255,.03);color:var(--color-text-secondary);transition:background .15s ease}.stats-table-row:last-child{border-bottom:none}.stats-table-row:hover{background-color:#ffffff05}.stats-table-row.row-error{background-color:#ef444405}.stats-table-row.row-error:hover{background-color:#ef44440a}.stats-table-row.row-highlight{background-color:#2dd4bf05}.stats-table-row.row-highlight:hover{background-color:#2dd4bf0a}.stats-row-label{display:flex;align-items:center;gap:.5rem;font-weight:500;color:var(--color-text-primary)}.quality-marker.mini{width:18px;height:18px;font-size:9px;display:inline-flex;align-items:center;justify-content:center;font-weight:800}.stats-row-val{text-align:center;font-weight:600}.eval-graph-container{background-color:#1e293b40;border:1px solid var(--color-border);border-radius:.5rem;padding:.75rem}.eval-graph-container.compact{background-color:transparent;border:none;border-radius:0;padding:.5rem 1rem;border-bottom:1px solid rgba(51,65,85,.5)}.eval-graph-container.compact .svg-wrapper{background-color:#0f172a4d;border:1px solid rgba(255,255,255,.03)}.svg-wrapper{background-color:#0f172a99;border-radius:.375rem;border:1px solid rgba(255,255,255,.05);padding:.5rem}.chart-point-marker{transition:r .1s ease-in-out,fill .1s ease-in-out}.chart-point-marker:hover{r:7px;fill:var(--color-indigo-300)!important}.graph-tooltip{background-color:#0f172af2;border:1px solid var(--color-border);border-radius:.375rem;padding:.35rem .6rem;display:flex;flex-direction:column;font-family:var(--font-sans);font-size:10px;color:#fff;box-shadow:0 10px 15px -3px #00000080,0 4px 6px -2px #00000080;pointer-events:none;white-space:nowrap;text-align:center}.tooltip-move{font-weight:800;color:var(--color-indigo-300);margin-bottom:.125rem}.tooltip-eval{font-weight:600;color:var(--color-text-primary)}.graph-help-text{font-family:var(--font-sans);font-size:10px;color:var(--color-text-muted);text-align:center;margin-top:.5rem}.details-moments-list{display:flex;flex-direction:column;gap:.5rem}.moments-list-scroll{display:flex;flex-direction:column;gap:.375rem;max-height:180px;overflow-y:auto;padding-right:.25rem}.moments-list-scroll::-webkit-scrollbar{width:4px}.moments-list-scroll::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:2px}.no-errors-clean-sheet{font-family:var(--font-sans);font-size:.8125rem;color:var(--color-text-muted);text-align:center;padding:1.5rem;border:1px dashed var(--color-border);border-radius:.375rem}.details-moment-item{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;background-color:#1e293b33;border:1px solid var(--color-border);border-radius:.375rem;cursor:pointer;font-family:var(--font-sans);font-size:.8125rem;transition:all .15s ease-in-out}.details-moment-item:hover{transform:translate(3px);border-color:var(--color-indigo-500);background-color:#1e293b59}.details-moment-item.blunder{border-left:3px solid #fca5a5}.details-moment-item.mistake{border-left:3px solid #fb923c}.details-moment-item.miss{border-left:3px solid #f472b6}.moment-left{display:flex;align-items:center;gap:.5rem}.moment-move-tag{font-weight:700;color:var(--color-text-primary)}.moment-side-tag{color:var(--color-text-muted);font-size:10px}.moment-right{display:flex;align-items:center;gap:.5rem}.moment-label-text{font-weight:600;color:var(--color-text-secondary)}.coach-card{display:flex;align-items:flex-start;gap:1rem;padding:1rem;background-color:#0f172a66;border:1px solid var(--color-border);border-radius:.75rem;margin-bottom:.5rem;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 10px 15px -3px #0003}.coach-avatar-wrapper{position:relative;width:64px;height:64px;min-width:64px;min-height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .3s ease;animation:aura-pulse 3s infinite ease-in-out;box-shadow:0 0 15px var(--glow-color)}.coach-avatar-wrapper.aura-neutral{border:2px solid var(--color-border)}.coach-avatar-wrapper.aura-brilliant{border:2px solid rgba(45,212,191,.8)}.coach-avatar-wrapper.aura-great{border:2px solid rgba(129,140,248,.8)}.coach-avatar-wrapper.aura-best{border:2px solid rgba(74,222,128,.8)}.coach-avatar-wrapper.aura-inaccuracy{border:2px solid rgba(250,204,21,.7)}.coach-avatar-wrapper.aura-mistake{border:2px solid rgba(251,146,60,.7)}.coach-avatar-wrapper.aura-blunder{border:2px solid rgba(252,165,165,.8)}.coach-avatar-svg{width:100%;height:100%;border-radius:50%;display:block}.coach-avatar-wrapper.coach-avatar-chat{width:32px;height:32px;min-width:32px;min-height:32px;box-shadow:0 0 8px var(--glow-color)}.coach-avatar-wrapper.coach-avatar-play{width:40px;height:40px;min-width:40px;min-height:40px;box-shadow:0 0 10px var(--glow-color)}.coach-speech-bubble{position:relative;flex:1;background-color:#0f172ad9;border:1px solid var(--color-border);border-radius:.75rem;padding:.75rem 1rem;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;display:flex;align-items:center}.coach-speech-bubble:before{content:"";position:absolute;left:-6px;top:50%;width:10px;height:10px;background-color:#0f172ad9;border-left:1px solid var(--color-border);border-bottom:1px solid var(--color-border);transform:translateY(-50%) rotate(45deg);z-index:1}.coach-text{font-size:.8125rem;line-height:1.4;color:#e2e8f0;font-weight:500;-webkit-user-select:none;user-select:none}@keyframes aura-pulse{0%,to{box-shadow:0 0 12px var(--glow-color),inset 0 0 8px #ffffff0d;transform:scale(1)}50%{box-shadow:0 0 24px var(--glow-color),inset 0 0 12px #ffffff1a;transform:scale(1.03)}}.review-sub-navigation{display:flex;background-color:#02061766;border:1px solid var(--color-border);border-radius:.5rem;padding:.2rem;gap:.2rem;margin-bottom:.75rem}.sub-nav-btn{flex:1;display:flex;align-items:center;justify-content:center;padding:.4rem .5rem;font-size:.75rem;font-weight:600;color:var(--color-text-secondary);background:transparent;border:none;border-radius:.375rem;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1)}.sub-nav-btn:hover:not(:disabled):not(.active){color:var(--color-text-primary);background-color:#ffffff0d}.sub-nav-btn.active{color:#fff;background-color:var(--color-indigo-600);box-shadow:0 2px 8px #4f46e533}.sub-nav-btn:disabled{opacity:.4;cursor:not-allowed}.wizard-moment-container{display:flex;flex-direction:column;gap:.75rem;background-color:#1e293b26;border:1px solid var(--color-border);border-radius:.75rem;padding:1rem;box-shadow:inset 0 1px #ffffff08}.wizard-progress-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(255,255,255,.05);padding-bottom:.5rem;margin-bottom:.25rem}.wizard-progress-text{font-size:.75rem;font-weight:700;color:var(--color-text-secondary)}.wizard-progress-dots{display:flex;gap:.35rem;align-items:center}.progress-dot-node{width:8px;height:8px;border-radius:50%;background-color:var(--color-border);cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1)}.progress-dot-node:hover{transform:scale(1.3)}.progress-dot-node.active{transform:scale(1.3);outline:2px solid white;outline-offset:1px}.progress-dot-node.blunder{background-color:var(--color-red-500)}.progress-dot-node.mistake{background-color:var(--color-orange-500)}.progress-dot-node.miss{background-color:#ec4899}.progress-dot-node.brilliant{background-color:#2dd4bf}.progress-dot-node.great{background-color:var(--color-indigo-400)}.progress-dot-node.opening{background-color:var(--color-yellow-500)}.moment-detail-card{border-radius:.5rem;padding:.75rem;background-color:#0f172a66;border:1px solid var(--color-border)}.moment-detail-card.blunder{border-left:4px solid var(--color-red-500)}.moment-detail-card.mistake{border-left:4px solid var(--color-orange-500)}.moment-detail-card.miss{border-left:4px solid #ec4899}.moment-detail-card.brilliant{border-left:4px solid #2dd4bf}.moment-detail-card.great{border-left:4px solid var(--color-indigo-400)}.moment-detail-card.opening{border-left:4px solid var(--color-yellow-500)}.moment-card-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.moment-card-title{font-size:.8125rem;font-weight:700;color:var(--color-text-primary)}.moment-card-desc{font-size:.75rem;color:var(--color-text-secondary);line-height:1.45}.moment-review-loading{opacity:.5;font-style:italic}.progress-dot-node.severity-1{width:7px;height:7px}.progress-dot-node.severity-2{width:9px;height:9px}.progress-dot-node.severity-3{width:12px;height:12px}.kmc-category-badge{margin-left:auto;padding:.1rem .45rem;border-radius:999px;font-size:.625rem;font-weight:600;letter-spacing:.02em;white-space:nowrap;background-color:#6366f126;color:var(--color-indigo-400);border:1px solid rgba(99,102,241,.3)}.kmc-cat-missed_mate{background-color:#ef444426;color:var(--color-red-500);border-color:#ef444459}.kmc-cat-brilliancy{background-color:#2dd4bf1f;color:#2dd4bf;border-color:#2dd4bf4d}.kmc-cat-pattern_recurrence{background-color:#ec48991f;color:#ec4899;border-color:#ec48994d}.kmc-cat-repertoire_violation,.kmc-cat-opening_exit{background-color:#eab3081f;color:var(--color-yellow-500);border-color:#eab3084d}.kmc-live-badge{padding:.1rem .45rem;border-radius:999px;font-size:.625rem;font-weight:600;white-space:nowrap;background-color:#22c55e1f;color:#22c55e;border:1px solid rgba(34,197,94,.3)}.kmc-pattern-ref{margin-top:.4rem;font-size:.7rem;font-style:italic;color:var(--color-text-secondary);opacity:.85}.kmc-drill-btn{display:inline-flex;align-items:center;gap:.35rem;margin-top:.6rem;padding:.35rem .7rem;border-radius:.4rem;font-family:var(--font-sans);font-size:.72rem;font-weight:600;color:#fff;background-color:var(--color-indigo-500, #6366f1);border:1px solid rgba(99,102,241,.6);cursor:pointer;transition:background-color .15s ease,transform .1s ease}.kmc-drill-btn:hover{background-color:var(--color-indigo-400, #818cf8);transform:translateY(-1px)}.kmc-followups{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.6rem}.kmc-followup-chip{padding:.3rem .6rem;border-radius:999px;font-family:var(--font-sans);font-size:.7rem;color:var(--color-text-primary);background-color:#6366f11a;border:1px solid rgba(99,102,241,.35);cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.kmc-followup-chip:hover{background-color:#6366f140;border-color:var(--color-indigo-400)}.kmc-coach-open-btn{display:inline-flex;align-items:center;gap:.4rem;margin-top:.6rem;padding:.4rem .75rem;border-radius:8px;font-family:var(--font-sans);font-size:.72rem;font-weight:600;color:var(--color-text-primary);background-color:#6366f11f;border:1px solid rgba(99,102,241,.35);cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.kmc-coach-open-btn:hover{background-color:#6366f138;border-color:var(--color-indigo-400)}.coach-chat-card.coach-chat-embedded{margin-top:.6rem;margin-bottom:0;padding:12px 14px;gap:10px}.coach-chat-embedded .coach-chat-transcript{max-height:240px}.coach-chat-embedded .coach-chat-input{min-height:38px}.coach-chat-close{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:6px;background:transparent;border:1px solid #2c3344;color:#94a3b8;cursor:pointer}.coach-chat-close:hover{background:#1e293b;color:#e2e8f0}.wizard-stepper-controls{display:flex;gap:.5rem;justify-content:space-between}.btn-wizard-step{flex:1;display:flex;align-items:center;justify-content:center;gap:.25rem;padding:.5rem;background-color:var(--color-panel);border:1px solid var(--color-border);border-radius:.375rem;font-family:var(--font-sans);font-size:.75rem;font-weight:600;color:var(--color-text-secondary);cursor:pointer;transition:all .15s ease-in-out}.btn-wizard-step:hover:not(:disabled){border-color:var(--color-indigo-500);color:var(--color-text-primary);background-color:#ffffff05}.btn-wizard-step:disabled{opacity:.4;cursor:not-allowed}.retry-wizard-box{margin-top:.5rem;border-radius:.5rem;padding:.75rem;background-color:#0f172a99;border:1px solid var(--color-border);display:flex;flex-direction:column;gap:.5rem;transition:all .2s ease-in-out}.retry-wizard-box.status-prompt{border-color:#6366f166}.retry-wizard-box.status-incorrect{border-color:#ef444466;background-color:#ef44440a}.retry-wizard-box.status-correct{border-color:#10b98166;background-color:#10b9810a}.retry-wizard-box.status-skipped{border-color:#eab30866}.retry-status-prompt,.retry-status-incorrect,.retry-status-correct,.retry-status-skipped{display:flex;align-items:center;gap:.375rem;font-size:.75rem;font-weight:700}.retry-status-prompt{color:var(--color-text-primary)}.retry-status-incorrect{color:#f87171}.retry-status-correct{color:#34d399}.retry-status-skipped{color:#fbbf24}.retry-action-buttons{display:flex;gap:.5rem;margin-top:.25rem}.btn-retry-action{flex:1;padding:.5rem;border-radius:.375rem;font-family:var(--font-sans);font-size:.75rem;font-weight:700;cursor:pointer;transition:all .15s ease-in-out;border:none;display:flex;align-items:center;justify-content:center;gap:.25rem}.btn-retry-action.skip{background-color:#ffffff0d;color:var(--color-text-primary);border:1px solid var(--color-border)}.btn-retry-action.skip:hover{background-color:#ffffff1a;border-color:var(--color-text-secondary)}.btn-retry-action.resume{background-color:var(--color-emerald-600);color:#fff}.btn-retry-action.resume:hover{background-color:var(--color-emerald-500)}.btn-retry-action.retry{background-color:#6366f126;color:var(--color-indigo-300);border:1px solid rgba(99,102,241,.3)}.btn-retry-action.retry:hover{background-color:#6366f140;border-color:var(--color-indigo-400)}.no-moments-placeholder{font-family:var(--font-sans);font-size:.75rem;color:var(--color-text-muted);text-align:center;padding:1.5rem;border:1px dashed var(--color-border);border-radius:.5rem;font-style:italic}.move-block.disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.coach-speech-bubble{flex-direction:column;align-items:stretch!important;justify-content:center;gap:.5rem}.coach-audio-controls{display:flex;align-items:center;gap:.75rem;margin-top:.25rem;padding-top:.375rem;border-top:1px solid rgba(255,255,255,.08)}.btn-coach-audio{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background-color:var(--color-indigo-950);border:1px solid var(--color-indigo-800);color:var(--color-indigo-400);cursor:pointer;transition:all .2s ease}.btn-coach-audio:hover{background-color:var(--color-indigo-900);color:#fff;box-shadow:0 0 8px #6366f14d}.btn-coach-audio.speaking{animation:pulse-audio 1.2s infinite;background-color:#ef4444;border-color:#f87171;color:#fff}@keyframes pulse-audio{0%,to{transform:scale(1);box-shadow:0 0 #ef444466}50%{transform:scale(1.1);box-shadow:0 0 0 6px #ef444400}}.coach-autospeak-toggle{display:flex;align-items:center;gap:.35rem;font-size:.72rem;color:var(--color-text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none}.coach-autospeak-toggle input{cursor:pointer;accent-color:var(--color-indigo-500);margin:0}.error-bar{transition:fill .2s ease,opacity .2s ease,transform .2s ease}.error-bar:hover{opacity:1!important;filter:brightness(1.2)}.error-chart-tooltip{box-shadow:0 10px 20px #0009,0 0 0 1px #6366f140;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-color:#6366f166}.details-stats-card{position:relative;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1)}.details-stats-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000040}.details-stats-card.white{background:linear-gradient(135deg,#ffffff0a,#ffffff03)!important;border-left:3px solid rgba(255,255,255,.6)!important}.details-stats-card.black{background:linear-gradient(135deg,#6366f10d,#0f172a4d)!important;border-left:3px solid var(--color-indigo-500)!important}.setting-slider{transition:background .15s ease}.setting-slider:hover{background:#ffffff26}.setting-select{transition:all .2s ease}.setting-select:hover{border-color:var(--color-indigo-400)!important;background-color:#0f172acc!important}.main-tab-btn:disabled,.main-tab-btn.disabled-tab{color:var(--color-text-muted)!important;opacity:.4;cursor:not-allowed!important;pointer-events:none}.main-tab-btn:disabled:hover,.main-tab-btn.disabled-tab:hover{background:transparent!important;color:var(--color-text-muted)!important}.full-review-callout{margin:.75rem;padding:1.25rem;background:linear-gradient(135deg,#6366f11f,#0f172a80);border:1px solid rgba(99,102,241,.25);border-radius:.75rem;display:flex;flex-direction:column;gap:1rem;box-shadow:0 10px 25px -5px #00000059}.callout-header{display:flex;align-items:flex-start;gap:.75rem}.callout-icon-box{padding:.5rem;background:#6366f133;border-radius:.5rem;display:flex;align-items:center;justify-content:center;color:var(--color-indigo-400);flex-shrink:0}.callout-content{display:flex;flex-direction:column;gap:.25rem}.callout-content h4{font-size:.875rem;font-weight:700;color:#fff;margin:0}.callout-content p{font-size:.75rem;color:var(--color-text-secondary);line-height:1.45;margin:0}.btn-full-review{width:100%;padding:1.1rem 1.75rem;font-size:1.05rem;font-weight:800;border:none;border-radius:.75rem;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.6rem;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.btn-full-review.start{background:linear-gradient(135deg,var(--color-emerald-600) 0%,var(--color-emerald-500) 100%);color:#fff;box-shadow:0 8px 24px #10b9814d}.btn-full-review.start:hover:not(:disabled):not(.disabled){background:linear-gradient(135deg,var(--color-emerald-500) 0%,#34d399 100%);transform:translateY(-2px) scale(1.02);box-shadow:0 12px 28px #10b98173}.btn-full-review.start:active:not(:disabled):not(.disabled){transform:translateY(0) scale(.97);box-shadow:0 4px 12px #10b98140}.btn-full-review.stop{background:linear-gradient(135deg,var(--color-red-600) 0%,var(--color-red-500) 100%);color:#fff;box-shadow:0 8px 24px #ef44444d}.btn-full-review.stop:hover:not(:disabled):not(.disabled){background:linear-gradient(135deg,var(--color-red-500) 0%,#f87171 100%);transform:translateY(-2px) scale(1.02);box-shadow:0 12px 28px #ef444473}.btn-full-review.stop:active:not(:disabled):not(.disabled){transform:translateY(0) scale(.97);box-shadow:0 4px 12px #ef444440}.btn-full-review:disabled,.btn-full-review.disabled{background:linear-gradient(135deg,var(--color-bg-tertiary) 0%,var(--color-border-light) 100%)!important;color:var(--color-text-muted)!important;cursor:not-allowed;opacity:.6;transform:none!important;box-shadow:none!important}.import-chesscom-container{padding:1rem;border-bottom:1px solid var(--color-border);background-color:#0f172a4d;display:flex;flex-direction:column;gap:1rem}.fetch-error-message{padding:.5rem .75rem;background-color:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:.375rem;font-size:.75rem;color:#fca5a5}.full-import-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin:.25rem 0 .5rem}.full-import-btn{padding:.45rem .85rem;border:1px solid var(--color-border);background:transparent;color:var(--color-text-primary);border-radius:.375rem;font-size:.8rem;font-weight:600;cursor:pointer;transition:border-color .15s,background-color .15s}.full-import-btn:hover:not(:disabled){border-color:var(--color-accent, #6366f1);background:color-mix(in srgb,var(--color-accent, #6366f1) 12%,transparent)}.full-import-btn:disabled{opacity:.5;cursor:not-allowed}.full-import-hint{font-size:.7rem;color:var(--color-text-muted)}.import-divider{display:flex;align-items:center;text-align:center;gap:.5rem;margin:.75rem 0;color:var(--color-text-muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.04em}.import-divider:before,.import-divider:after{content:"";flex:1;height:1px;background:var(--color-border)}.full-import-progress{margin-top:.5rem;padding:.6rem .75rem;border:1px solid var(--color-border);border-radius:.5rem;background:#ffffff05;display:flex;flex-direction:column;gap:.4rem}.full-import-progress.full-import-completed{border-color:#22c55e66}.full-import-progress.full-import-failed{border-color:#ef444466}.full-import-status{font-size:.78rem;color:var(--color-text-primary)}.full-import-error-text{color:#fca5a5}.full-import-bar{height:6px;border-radius:999px;background:var(--color-border);overflow:hidden}.full-import-bar-fill{height:100%;background:var(--color-accent, #6366f1);border-radius:999px;transition:width .4s ease}.full-import-counts{display:flex;gap:.75rem;font-size:.7rem;color:var(--color-text-secondary)}.recent-games-list{display:flex;flex-direction:column;gap:.5rem}.recent-games-title{font-size:.75rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.games-scroll-area{max-height:250px;overflow-y:auto;display:flex;flex-direction:column;gap:.5rem;padding-right:.25rem}.games-scroll-area::-webkit-scrollbar{width:4px}.games-scroll-area::-webkit-scrollbar-track{background:transparent}.games-scroll-area::-webkit-scrollbar-thumb{background-color:var(--color-border);border-radius:999px}.recent-game-card{display:flex;justify-content:space-between;align-items:center;padding:.625rem;background-color:#02061766;border:1px solid var(--color-border-light);border-radius:.5rem;transition:all .2s ease}.recent-game-card:hover{border-color:var(--color-indigo-500);background-color:#0f172a80}.game-card-info{display:flex;flex-direction:column;gap:.25rem}.opponent-row{display:flex;align-items:center;gap:.375rem;font-size:.875rem;font-weight:600;color:var(--color-text-primary)}.color-indicator{width:.5rem;height:.5rem;border-radius:50%;display:inline-block;border:1px solid var(--color-border)}.color-indicator.white{background-color:#fff}.color-indicator.black{background-color:#1e293b}.opponent-rating{font-size:.75rem;color:var(--color-text-muted);font-family:var(--font-mono)}.game-meta-row{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:var(--color-text-secondary)}.game-time-class{font-weight:500}.game-date{color:var(--color-text-muted)}.game-card-actions{display:flex;align-items:center;gap:.75rem}.game-result-badge{font-size:10px;font-weight:700;padding:.125rem .375rem;border-radius:.25rem;letter-spacing:.025em}.game-result-badge.result-win{background-color:#10b98126;color:#34d399;border:1px solid rgba(16,185,129,.3)}.game-result-badge.result-loss{background-color:#ef444426;color:#fca5a5;border:1px solid rgba(239,68,68,.3)}.game-result-badge.result-draw{background-color:#94a3b826;color:#cbd5e1;border:1px solid rgba(148,163,184,.3)}.btn-import-game{padding:.375rem .625rem;font-size:.75rem;font-weight:600;background-color:var(--color-indigo-600);border:none;border-radius:.375rem;color:#fff;cursor:pointer;transition:background-color .2s}.btn-import-game:hover{background-color:var(--color-indigo-500)}.btn-import-game:disabled{opacity:.5;cursor:not-allowed}.analysis-depth-select-container{display:flex;flex-direction:column;gap:.375rem;margin-bottom:.25rem}.analysis-depth-label{font-size:.75rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.analysis-depth-select{padding:.625rem .75rem;font-size:.875rem;background-color:#02061799;border:1px solid var(--color-border);border-radius:.5rem;color:#fff;outline:none;transition:all .2s ease;cursor:pointer}.analysis-depth-select:focus{border-color:var(--color-indigo-500);box-shadow:0 0 0 2px #6366f133}.analysis-depth-select option{background-color:#0f172a;color:#fff}.best-continuation-section{margin-top:.75rem;padding-top:.75rem;border-top:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;gap:.5rem}.continuation-title{font-family:var(--font-sans);font-size:.75rem;font-weight:700;color:var(--color-text-secondary);margin:0}.continuation-moves-list{display:flex;flex-wrap:wrap;gap:.5rem;background-color:#00000040;padding:.5rem;border-radius:.375rem;border:1px solid rgba(255,255,255,.04)}.continuation-group{display:flex;align-items:center;gap:.25rem;font-family:var(--font-sans);font-size:.75rem}.continuation-group .move-number{color:var(--color-text-muted);font-weight:500;margin-right:.125rem}.btn-continuation-move{background:none;border:none;color:var(--color-text-secondary);padding:.125rem .375rem;border-radius:.25rem;font-weight:700;cursor:pointer;transition:all .15s ease-in-out}.btn-continuation-move:hover{background-color:#ffffff14;color:var(--color-text-primary)}.btn-continuation-move.active{background-color:var(--color-indigo-600);color:#fff;box-shadow:0 0 8px #6366f166}.continuation-navigation{display:flex;justify-content:flex-end;gap:.375rem;margin-top:.125rem}.btn-continuation-nav{background-color:#ffffff0a;border:1px solid var(--color-border);color:var(--color-text-secondary);padding:.25rem .5rem;border-radius:.25rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease-in-out}.btn-continuation-nav:hover:not(:disabled){background-color:#ffffff14;color:var(--color-text-primary);border-color:var(--color-indigo-500)}.btn-continuation-nav:disabled{opacity:.3;cursor:not-allowed}.continuation-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap}.continuation-eval-context{display:inline-flex;align-items:center;gap:.35rem;font-family:var(--font-mono);font-size:.7rem;font-weight:600;padding:.2rem .5rem;border-radius:.25rem;background-color:#0000004d;border:1px solid rgba(255,255,255,.06)}.eval-after-error{color:#fca5a5}.eval-arrow{color:var(--color-text-muted);font-size:.65rem}.eval-best-line{color:#4ade80}.pv-live-eval-bar{display:flex;align-items:center;gap:.5rem;padding:.375rem .625rem;background:linear-gradient(135deg,#6366f114,#0f172a66);border:1px solid rgba(99,102,241,.2);border-radius:.375rem;animation:fade-in-eval .3s ease-out}@keyframes fade-in-eval{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.pv-live-eval-label{font-family:var(--font-sans);font-size:.7rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.pv-live-eval-value{font-family:var(--font-mono);font-size:.8rem;font-weight:700;transition:color .3s ease}.pv-live-eval-value.eval-white-winning{color:#4ade80}.pv-live-eval-value.eval-black-winning{color:#fca5a5}.pv-live-eval-value.eval-equal{color:#94a3b8}.history-analytics-container{background-color:#0f172a66;border:1px solid var(--color-border);border-radius:.5rem;padding:.75rem;margin-bottom:1rem;display:flex;flex-direction:column;gap:.75rem}.analytics-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}.analytics-stat-card{background-color:var(--color-bg);border:1px solid var(--color-border-light);border-radius:.375rem;padding:.5rem;display:flex;flex-direction:column;gap:.125rem}.analytics-stat-label{font-size:10px;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.analytics-stat-val{font-size:.875rem;font-weight:700;color:var(--color-text-primary)}.analytics-top-opening{font-size:.75rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.result-dist-bar{display:flex;height:6px;border-radius:3px;overflow:hidden;background-color:var(--color-border);margin-top:.25rem}.result-dist-segment{height:100%}.result-dist-segment.white{background-color:#f8fafc}.result-dist-segment.draw{background-color:var(--color-text-muted)}.result-dist-segment.black{background-color:#334155}.result-dist-labels{display:flex;justify-content:space-between;font-size:10px;color:var(--color-text-muted)}.history-search-container{margin-bottom:.75rem}.history-search-input{width:100%;padding:.5rem .75rem;font-size:.825rem;background-color:#020617;border:1px solid var(--color-border);border-radius:.375rem;color:var(--color-text-primary);outline:none;transition:border-color .2s}.history-search-input:focus{border-color:var(--color-indigo-500)}.import-area-wrapper{flex:1;display:flex;flex-direction:column;overflow:hidden}.import-history-tab-content{flex:1;display:flex;flex-direction:column;gap:.5rem;overflow:hidden}.history-games-list{display:flex;flex-direction:column;gap:.5rem;flex:1;overflow-y:auto}.history-game-item{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;background-color:#02061766;border:1px solid var(--color-border-light);border-radius:.5rem;transition:all .2s ease}.history-game-item:hover{border-color:var(--color-indigo-500);background-color:#0f172a80}.history-game-header{display:flex;justify-content:space-between;align-items:flex-start}.history-players{font-size:.825rem;font-weight:500;color:var(--color-text-primary);max-width:70%}.history-player-winner{font-weight:700}.history-opening-title{font-size:11px;color:var(--color-text-secondary);font-style:italic}.history-meta-row{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--color-text-muted)}.history-accuracies{display:flex;gap:.375rem;align-items:center}.history-accuracy-badge{font-size:10px;font-weight:700;padding:.125rem .375rem;border-radius:9999px}.history-accuracy-badge.white{background-color:#f8fafc;color:#0f172a}.history-accuracy-badge.black{background-color:#334155;color:#f8fafc;border:1px solid var(--color-border)}.history-pending-badge{font-size:10px;font-weight:600;background-color:#eab3081a;color:#facc15;border:1px solid rgba(234,179,8,.3);padding:.125rem .375rem;border-radius:.25rem}.history-item-actions{display:flex;gap:.5rem}.btn-history-load{padding:.25rem .5rem;font-size:11px;font-weight:600;background-color:var(--color-indigo-600);border:none;border-radius:.25rem;color:#fff;cursor:pointer;transition:background-color .2s}.btn-history-load:hover{background-color:var(--color-indigo-500)}.btn-history-delete{padding:.25rem .5rem;font-size:11px;font-weight:600;background-color:#ef44441a;border:1px solid rgba(239,68,68,.2);border-radius:.25rem;color:#fca5a5;cursor:pointer;transition:all .2s ease}.btn-history-delete:hover{background-color:var(--color-red-500);color:#fff;border-color:var(--color-red-500)}.btn-cancel{width:100%;padding:.625rem;font-size:.825rem;font-weight:600;background-color:#ffffff08;border:1px solid var(--color-border);border-radius:.375rem;color:var(--color-text-secondary);cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);margin-top:.75rem;font-family:var(--font-sans)}.btn-cancel:hover{background-color:#ef44441a;color:#fca5a5;border-color:#ef444466}.app-mode-switch{display:inline-flex;background:var(--color-panel);border:1px solid var(--color-border);border-radius:8px;overflow:hidden}.app-mode-btn{background:transparent;border:none;color:var(--color-text-secondary);padding:.5rem .85rem;font-size:.875rem;cursor:pointer;display:inline-flex;align-items:center;gap:.4rem;transition:background .12s ease,color .12s ease}.app-mode-btn:hover{color:var(--color-text-primary);background:#ffffff0a}.app-mode-btn.is-active{background:var(--color-indigo-600);color:#fff}.main-content-puzzles{display:block}.puzzles-pane{display:block;width:100%;max-width:1200px;margin:0 auto}.puzzle-card{background:var(--color-panel);border:1px solid var(--color-border);border-radius:12px;padding:1.25rem 1.5rem;margin-bottom:1.25rem}.puzzle-card-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.puzzle-card-header h3{margin:0;font-size:1rem;color:var(--color-text-primary)}.puzzle-card-sub{margin:0 0 1rem;color:var(--color-text-secondary);font-size:.875rem}.puzzle-stats-card{display:grid;grid-template-columns:minmax(160px,240px) 1fr;gap:1.5rem;align-items:center}.puzzle-stats-rating{display:flex;align-items:center;gap:.75rem;color:var(--color-indigo-400)}.puzzle-stats-label{font-size:.75rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.puzzle-stats-value{font-size:1.75rem;font-weight:700;color:var(--color-text-primary);line-height:1.2}.puzzle-stats-value-sm{font-size:1.125rem}.puzzle-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:.75rem}.puzzle-stat-cell{display:flex;align-items:center;gap:.6rem;background:#ffffff05;border:1px solid var(--color-border-light);border-radius:8px;padding:.6rem .75rem}.puzzle-stat-icon{color:var(--color-indigo-400);display:inline-flex}.puzzle-difficulty-row{display:flex;flex-wrap:wrap;gap:.5rem}.puzzle-btn{display:inline-flex;align-items:center;gap:.4rem;border-radius:8px;padding:.5rem .85rem;font-size:.875rem;border:1px solid var(--color-border);background:var(--color-panel);color:var(--color-text-primary);cursor:pointer;transition:background .12s ease,border-color .12s ease}.puzzle-btn:hover{border-color:var(--color-indigo-400);background:#6366f114}.puzzle-btn-primary{background:var(--color-indigo-600);border-color:var(--color-indigo-600);color:#fff}.puzzle-btn-primary:hover{background:var(--color-indigo-500);border-color:var(--color-indigo-500)}.puzzle-btn-secondary{background:transparent}.puzzle-btn-ghost{background:transparent;border-color:transparent;color:var(--color-text-secondary)}.puzzle-btn-ghost:hover{color:var(--color-text-primary);background:#ffffff0a;border-color:var(--color-border-light)}.puzzle-list-header{justify-content:space-between}.puzzle-filter-row{display:inline-flex;gap:.35rem}.puzzle-chip{background:transparent;border:1px solid var(--color-border);color:var(--color-text-secondary);border-radius:999px;padding:.2rem .7rem;font-size:.75rem;cursor:pointer;transition:background .12s ease,color .12s ease}.puzzle-chip.is-active{background:var(--color-indigo-600);border-color:var(--color-indigo-600);color:#fff}.puzzle-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.4rem}.puzzle-list-row{display:flex;align-items:center;gap:.75rem;padding:.75rem .85rem;background:#ffffff05;border:1px solid var(--color-border-light);border-radius:8px;cursor:pointer;transition:background .12s ease,border-color .12s ease}.puzzle-list-row:hover{background:#6366f114;border-color:var(--color-indigo-400)}.puzzle-list-main{flex:1;min-width:0}.puzzle-list-title{font-size:.9rem;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.puzzle-list-meta{font-size:.75rem;color:var(--color-text-muted);margin-top:2px}.puzzle-list-chevron{color:var(--color-text-muted)}.puzzle-empty{text-align:center;color:var(--color-text-muted);padding:1.25rem;font-size:.875rem}.puzzle-empty-error{color:#fca5a5}.puzzle-badge{display:inline-flex;align-items:center;gap:.3rem;font-size:.75rem;padding:.2rem .55rem;border-radius:999px;border:1px solid var(--color-border)}.puzzle-badge-unsolved{color:var(--color-text-secondary);background:#ffffff05}.puzzle-badge-solved{color:var(--color-emerald-500);background:#10b9811a;border-color:#10b98166}.puzzle-badge-failed{color:var(--color-red-500);background:#ef44441a;border-color:#ef444466}.puzzle-trainer{display:flex;flex-direction:column;gap:1rem}.puzzle-trainer-header{display:flex;justify-content:space-between;align-items:center}.puzzle-trainer-meta{display:flex;align-items:center;gap:.75rem}.puzzle-trainer-opening{display:inline-flex;align-items:center;gap:.35rem;font-size:.8rem;font-weight:600;color:var(--color-accent, #6366f1)}.puzzle-trainer-rating{display:inline-flex;align-items:center;gap:.35rem;font-size:.8rem;color:var(--color-text-secondary)}.puzzle-trainer-body{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:1.25rem}@media (max-width: 900px){.puzzle-trainer-body{grid-template-columns:1fr}}.puzzle-trainer-board-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;min-width:0}.puzzle-trainer-board{width:100%;max-width:620px;aspect-ratio:1 / 1;position:relative;border-radius:12px;overflow:hidden;transition:box-shadow .2s ease;border:1px solid var(--color-border);box-shadow:0 25px 50px -12px #00000080;background-color:var(--color-panel);padding:.5rem;display:flex}.puzzle-trainer-board.status-correct,.puzzle-trainer-board.status-complete{box-shadow:0 25px 50px -12px #00000080,0 0 0 3px #10b981bf}.puzzle-trainer-board.status-failed{box-shadow:0 25px 50px -12px #00000080,0 0 0 3px #ef4444bf}.puzzle-trainer-board.status-showing_solution{box-shadow:0 25px 50px -12px #00000080,0 0 0 3px #6366f1bf}.puzzle-trainer-board .chessboard-wrapper{max-width:100%;height:100%;border:none;box-shadow:none;background:transparent;padding:0;flex:1}.puzzle-trainer-side{display:flex;flex-direction:column;gap:.85rem}.puzzle-trainer-banner{display:flex;align-items:center;gap:.55rem;padding:.85rem 1rem;border-radius:10px;font-size:.95rem;color:var(--color-text-primary);background:var(--color-panel);border:1px solid var(--color-border)}.puzzle-trainer-banner.banner-correct,.puzzle-trainer-banner.banner-complete{background:#10b9811a;border-color:#10b98166;color:var(--color-emerald-500)}.puzzle-trainer-banner.banner-failed{background:#ef44441a;border-color:#ef444466;color:#fca5a5}.puzzle-trainer-banner.banner-showing_solution{background:#6366f11a;border-color:#6366f166}.puzzle-trainer-result{border-radius:10px;padding:.85rem 1rem;border:1px solid var(--color-border);background:var(--color-panel)}.puzzle-trainer-result.is-solved{border-color:#10b98166}.puzzle-trainer-result.is-failed{border-color:#ef444466}.puzzle-trainer-result-row{display:flex;justify-content:space-between;font-size:.9rem;padding:.15rem 0;color:var(--color-text-primary)}.puzzle-trainer-result-label{color:var(--color-text-secondary)}.puzzle-trainer-result-delta{font-weight:700}.puzzle-trainer-error{color:#fca5a5;font-size:.8rem}.puzzle-trainer-controls{display:flex;flex-direction:column;gap:.5rem}.puzzle-coach{display:flex;gap:.6rem;align-items:flex-start}.coach-avatar-wrapper.coach-avatar-puzzle{width:36px;height:36px;min-width:36px;min-height:36px;box-shadow:0 0 10px var(--glow-color)}.puzzle-coach-bubbles{display:flex;flex-direction:column;gap:.5rem;flex:1;min-width:0}.puzzle-coach-bubble{max-width:100%}.puzzle-coach-bubble-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;color:#94a3b8;margin-bottom:4px}.puzzle-coach-loading{color:#94a3b8;font-style:italic}.puzzle-trainer-context{background:#ffffff05;border:1px solid var(--color-border-light);border-radius:10px;padding:.75rem .85rem;font-size:.85rem;color:var(--color-text-secondary)}.puzzle-trainer-context-label{font-size:.7rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.25rem}.puzzle-trainer-context-game{color:var(--color-text-primary);font-weight:600;margin-bottom:.2rem}.calc-trainer-badge{display:flex;align-items:center;gap:.35rem;font-size:.75rem;font-weight:600;color:#818cf8;background:#818cf81f;border:1px solid rgba(129,140,248,.25);border-radius:9999px;padding:.2rem .65rem}.puzzle-trainer-banner.has-progress{flex-direction:column;align-items:stretch;gap:.65rem}.puzzle-trainer-banner-row{display:flex;align-items:center;gap:.55rem}.calc-trainer-progress-track{width:100%;height:5px;background:#ffffff14;border-radius:9999px;overflow:hidden}.calc-trainer-progress-fill{height:100%;background:linear-gradient(90deg,#818cf8,#6366f1);border-radius:9999px;transition:width .3s ease;min-width:4px}.calc-trainer-hint{display:flex;align-items:flex-start;gap:.4rem;margin-top:1.25rem;padding:.65rem .75rem;background:#818cf812;border:1px solid rgba(129,140,248,.18);border-radius:.5rem;font-size:.72rem;color:var(--color-text-secondary);line-height:1.45}.calc-trainer-hint svg{flex-shrink:0;margin-top:.1rem;color:#818cf8}.calc-dashboard-card{border-top:3px solid #818cf8}.calc-icon{color:#818cf8}.calc-start-btn{width:100%;justify-content:center;padding:.75rem;gap:.5rem;background:linear-gradient(135deg,#6366f1,#818cf8)}.calc-start-btn:hover{background:linear-gradient(135deg,#4f46e5,#6366f1)}.calc-dashboard-rules{list-style:none;padding:0;margin:0 0 1.25rem;display:flex;flex-direction:column;gap:.4rem}.calc-dashboard-rules li{font-size:.8rem;color:var(--color-text-secondary);padding-left:1rem;position:relative}.calc-dashboard-rules li:before{content:"–";position:absolute;left:0;color:#818cf8}.calc-tips-card{border-top:3px solid #6366f1}.puzzle-gamified-modes-row{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem;margin-bottom:1.25rem}@media (max-width: 768px){.puzzle-gamified-modes-row{grid-template-columns:1fr}}.puzzle-gamified-card{display:flex;flex-direction:column;justify-content:space-between;height:100%}.storm-card{border-color:#f59e0b40;background:linear-gradient(135deg,rgba(245,158,11,.04),var(--color-panel))}.storm-card:hover{border-color:#f59e0b73}.streak-card{border-color:#ef444440;background:linear-gradient(135deg,rgba(239,68,68,.04),var(--color-panel))}.streak-card:hover{border-color:#ef444473}.gamified-card-footer{display:flex;justify-content:space-between;align-items:center;margin-top:auto}.best-score-badge{font-size:.85rem;font-weight:700;color:var(--color-text-secondary);background:#ffffff0a;border:1px solid var(--color-border-light);padding:.25rem .6rem;border-radius:6px}.puzzle-mix-page{max-width:900px;margin:0 auto;padding:1.5rem 1rem}.puzzle-mix-header{margin-bottom:1.75rem;padding-bottom:.85rem;border-bottom:1px solid rgba(255,255,255,.07)}.puzzle-mix-title{display:flex;align-items:center;gap:.55rem;font-size:1.75rem;font-weight:800;letter-spacing:-.03em;margin:0 0 .35rem;background:linear-gradient(135deg,#34d399,#22d3ee 45%,#2dd4bf 75%,#34d399);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 0 18px rgba(52,211,153,.32))}.puzzle-mix-title svg{-webkit-text-fill-color:initial;color:#34d399;filter:drop-shadow(0 0 6px rgba(52,211,153,.6));flex-shrink:0}.puzzle-mix-sub{font-size:.935rem;color:#94a3b8;line-height:1.65;letter-spacing:.005em;max-width:62ch;margin:0}.puzzle-mix-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem}@media (max-width: 640px){.puzzle-mix-grid{grid-template-columns:1fr}}.puzzle-mix-card{cursor:default}.puzzle-mix-card-top{margin-bottom:1.25rem}.puzzle-mix-card-top h3{margin:.75rem 0 .5rem;font-size:1.05rem}.puzzle-mix-icon-wrap{width:52px;height:52px;border-radius:12px;display:flex;align-items:center;justify-content:center}.storm-mix-icon{background:#f59e0b1f;color:#f59e0b;border:1px solid rgba(245,158,11,.25)}.streak-mix-icon{background:#ef44441f;color:#ef4444;border:1px solid rgba(239,68,68,.25)}.random-card{border-color:#6366f140;background:linear-gradient(135deg,rgba(99,102,241,.04),var(--color-panel))}.random-card:hover{border-color:#6366f173}.random-mix-icon{background:#6366f11f;color:#818cf8;border:1px solid rgba(99,102,241,.25)}.calculation-card{border-color:#10b98140;background:linear-gradient(135deg,rgba(16,185,129,.04),var(--color-panel))}.calculation-card:hover{border-color:#10b98173}.calculation-mix-icon{background:#10b9811f;color:#10b981;border:1px solid rgba(16,185,129,.25)}.puzzle-theme-select-wrap{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1.25rem}.puzzle-theme-select{background:#020617;border:1px solid var(--color-border);border-radius:8px;color:var(--color-text-primary);padding:.6rem .85rem;font-size:.875rem;outline:none;cursor:pointer;transition:border-color .15s ease;width:100%}.puzzle-theme-select:focus{border-color:var(--color-indigo-500)}.puzzle-gamified-lobby{display:flex;flex-direction:column;gap:1.5rem;width:100%;padding:1.5rem 0}.gamified-lobby-content{max-width:480px;width:100%;margin:0 auto;background:var(--color-panel);border:1px solid var(--color-border);border-radius:16px;padding:2rem;text-align:center;box-shadow:0 10px 25px -5px #0000004d}.lobby-header{margin-bottom:1.5rem}.lobby-header h2{font-size:1.9rem;font-weight:800;letter-spacing:-.03em;margin:0}.lobby-header:has(.storm-color) h2{background:linear-gradient(135deg,#fbbf24,#f59e0b 45%,#fcd34d 75%,#fbbf24);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 0 18px rgba(245,158,11,.35))}.lobby-header:has(.streak-color) h2{background:linear-gradient(135deg,#f87171,#ef4444 45%,#fb923c 75%,#f87171);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 0 18px rgba(239,68,68,.35))}.lobby-icon-wrap{width:80px;height:80px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.25rem;background:#ffffff08;border:2px solid var(--color-border)}.lobby-icon-wrap.storm-color{border-color:#f59e0b;color:#f59e0b;box-shadow:0 0 15px #f59e0b33}.lobby-icon-wrap.streak-color{border-color:#ef4444;color:#ef4444;box-shadow:0 0 15px #ef444433}.lobby-sub{font-size:.9rem;color:var(--color-text-secondary);margin-top:.5rem;line-height:1.5}.lobby-stats{display:flex;justify-content:center;margin-bottom:2rem}.lobby-stat-item{display:flex;align-items:center;gap:.75rem;background:#ffffff05;border:1px solid var(--color-border-light);border-radius:10px;padding:.75rem 1.25rem;text-align:left}.lobby-stat-label{font-size:.75rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.lobby-stat-val{font-size:1.25rem;font-weight:700;color:var(--color-text-primary)}.start-gamified-btn{width:100%;justify-content:center;padding:.85rem 1.5rem;font-size:1rem;font-weight:600}.puzzle-gamified-active{display:flex;flex-direction:column;gap:.5rem}.gamified-top-stats{display:flex;align-items:center;gap:1.25rem}.gamified-timer{display:inline-flex;align-items:center;gap:.4rem;font-size:1.125rem;font-weight:700;font-family:var(--font-mono);background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);color:#facc15;padding:.3rem .75rem;border-radius:8px}.gamified-timer.timer-low{background:#ef444433;border-color:#ef4444;color:#fca5a5;animation:pulse-low-timer 1s infinite alternate}@keyframes pulse-low-timer{0%{opacity:1;transform:scale(1)}to{opacity:.85;transform:scale(1.02)}}.gamified-streak-label{display:inline-flex;align-items:center;gap:.4rem;font-size:1.125rem;font-weight:700;background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#fca5a5;padding:.3rem .75rem;border-radius:8px}.gamified-score-label{font-size:1.125rem;font-weight:700;background:#ffffff0a;border:1px solid var(--color-border-light);color:var(--color-text-primary);padding:.3rem .75rem;border-radius:8px}.storm-timer-progress{width:100%;height:4px;background:var(--color-border-light);border-radius:2px;overflow:hidden;margin-bottom:.5rem}.progress-bar-fill{height:100%;background:linear-gradient(90deg,#f59e0b,#facc15);transition:width 1s linear}.gamified-side{justify-content:flex-start}.gamified-stats-box{background:var(--color-panel);border:1px solid var(--color-border);border-radius:10px;padding:.85rem 1rem;display:flex;flex-direction:column;gap:.5rem}.gamified-stat-row{display:flex;justify-content:space-between;font-size:.875rem;color:var(--color-text-secondary)}.gamified-stat-row span:last-child{font-weight:700;color:var(--color-text-primary)}.gamified-tip{background:#ffffff03;border:1px solid rgba(255,255,255,.03);border-radius:8px;padding:.6rem .75rem;font-size:.8rem;color:var(--color-text-muted);line-height:1.4}.puzzle-board-placeholder{display:flex;align-items:center;justify-content:center;width:100%;max-width:620px;aspect-ratio:1 / 1;border:2px dashed var(--color-border);border-radius:12px;color:var(--color-text-muted)}.puzzle-gamified-gameover{display:flex;align-items:center;justify-content:center;width:100%;padding:2rem 0}.gameover-content{max-width:480px;width:100%;background:var(--color-panel);border:1px solid var(--color-border);border-radius:16px;padding:2.5rem 2rem;text-align:center;box-shadow:0 15px 35px -5px #0006}.gameover-content h2{margin:1rem 0 1.5rem;font-size:1.75rem}.trophy-active{color:#facc15;filter:drop-shadow(0 0 10px rgba(250,204,21,.4));animation:shake-trophy 1.2s ease-in-out infinite alternate}@keyframes shake-trophy{0%{transform:rotate(-5deg)}to{transform:rotate(5deg)}}.gameover-score-row{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:2rem}.score-box{background:#ffffff05;border:1px solid var(--color-border-light);border-radius:12px;padding:1rem}.score-label{font-size:.8rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.25rem}.score-val{font-size:2.25rem;font-weight:800;color:var(--color-text-primary)}.gameover-actions{display:flex;gap:.75rem;justify-content:center;margin-bottom:2rem}.gameover-actions button{flex:1;justify-content:center;padding:.75rem}.gameover-history{border-top:1px solid var(--color-border);padding-top:1.5rem;text-align:left}.gameover-history h3{font-size:.95rem;margin:0 0 .85rem;color:var(--color-text-primary)}.history-list{max-height:200px;overflow-y:auto;display:flex;flex-direction:column;gap:.4rem;padding-right:.25rem}.history-item{display:flex;align-items:center;gap:.5rem;font-size:.85rem;padding:.5rem .75rem;border-radius:6px;background:#ffffff03;border:1px solid var(--color-border-light)}.history-item.solved{color:var(--color-emerald-500);border-color:#10b98126;background:#10b98105}.history-item.failed{color:#fca5a5;border-color:#ef444426;background:#ef444405}.history-desc{color:var(--color-text-primary)}.openings-dashboard{padding:2rem;max-width:1200px;margin:0 auto;color:var(--color-text)}.openings-header{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:2rem;padding-bottom:.85rem;border-bottom:1px solid rgba(255,255,255,.07)}.openings-header h2{display:flex;align-items:center;gap:.55rem;font-size:1.8rem;font-weight:800;letter-spacing:-.03em;margin:0;background:linear-gradient(135deg,#818cf8,#38bdf8 42%,#a78bfa 72%,#818cf8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 0 18px rgba(129,140,248,.35))}.openings-header h2 svg{-webkit-text-fill-color:initial;color:#818cf8;filter:drop-shadow(0 0 6px rgba(129,140,248,.6));flex-shrink:0}.openings-create-form{background:var(--color-panel-bg);border:1px solid var(--color-border);padding:1.5rem;border-radius:.75rem;margin-bottom:2rem}.openings-create-form h3{margin:0 0 1rem;font-size:1.2rem}.repertoires-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.repertoire-card{background:var(--color-panel-bg);border:1px solid var(--color-border);border-radius:.75rem;padding:1.5rem;transition:all .2s ease;position:relative;overflow:hidden}.repertoire-card:hover{transform:translateY(-2px);border-color:var(--color-indigo-400);box-shadow:0 8px 24px #0003}.repertoire-card:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%}.repertoire-card.is-white:before{background:#f1f5f9}.repertoire-card.is-black:before{background:#1e293b}.repertoire-card-thumb{position:relative;margin:-1.5rem -1.5rem 1.25rem;line-height:0;border-bottom:1px solid var(--color-border);background:var(--color-bg)}.repertoire-card-thumb .mini-board{width:100%;height:auto;display:block}.repertoire-thumb-tag{position:absolute;bottom:.5rem;right:.5rem;padding:.2rem .5rem;border-radius:99px;font-size:.7rem;font-weight:700;letter-spacing:.02em;color:#e2e8f0;background:#0f172ab8;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.repertoire-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem}.repertoire-card-header h4{margin:0;font-size:1.25rem;color:#fff}.repertoire-color-badge{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;padding:.25rem .5rem;border-radius:4px;background:var(--color-bg);color:var(--color-text-secondary)}.repertoire-card-actions{display:flex;gap:.5rem;flex-wrap:wrap}.repertoire-practice-wrap{position:absolute;top:.75rem;right:.75rem;z-index:20}.repertoire-practice-floating-btn{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#a855f7);color:#fff;border:1px solid rgba(255,255,255,.25);box-shadow:0 4px 12px #00000059;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);padding:0}.repertoire-practice-floating-btn:hover:not(:disabled){transform:scale(1.08) translateY(-1px);background:linear-gradient(135deg,#4f46e5,#9333ea);box-shadow:0 6px 16px #a855f773}.repertoire-practice-floating-btn:active:not(:disabled){transform:scale(.95)}.repertoire-practice-floating-btn:disabled{opacity:.5;background:#475569;border-color:#ffffff1a;cursor:not-allowed;box-shadow:none}.repertoire-practice-menu{position:absolute;top:calc(100% + .5rem);right:0;z-index:50;min-width:170px;display:flex;flex-direction:column;gap:.25rem;padding:.5rem;background:#0f172ae6;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(139,92,246,.35);border-radius:.75rem;box-shadow:0 10px 25px -5px #0009,0 0 15px #8b5cf626;animation:practiceMenuFadeIn .15s cubic-bezier(.16,1,.3,1)}@keyframes practiceMenuFadeIn{0%{opacity:0;transform:translateY(-4px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.repertoire-practice-menu-label{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#a5b4fc;padding:.2rem .4rem .4rem;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:.25rem;text-align:center}.repertoire-practice-menu-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.45rem .65rem;border:none;border-radius:.45rem;background:transparent;color:var(--color-text-primary);font-size:.825rem;font-weight:550;cursor:pointer;transition:all .15s ease}.repertoire-practice-menu-item span:first-child{transition:transform .15s ease}.repertoire-practice-menu-item:hover span:first-child{transform:translate(2px)}.repertoire-practice-menu-item.lvl-casual:hover{background:#10b9811f;color:#34d399}.repertoire-practice-menu-item.lvl-casual:hover .repertoire-practice-menu-rating{color:#6ee7b7;border-color:#34d3994d;background:#10b98114}.repertoire-practice-menu-item.lvl-intermediate:hover{background:#3b82f61f;color:#60a5fa}.repertoire-practice-menu-item.lvl-intermediate:hover .repertoire-practice-menu-rating{color:#93c5fd;border-color:#60a5fa4d;background:#3b82f614}.repertoire-practice-menu-item.lvl-advanced:hover{background:#8b5cf626;color:#c084fc}.repertoire-practice-menu-item.lvl-advanced:hover .repertoire-practice-menu-rating{color:#ddd6fe;border-color:#c084fc4d;background:#8b5cf61a}.repertoire-practice-menu-item.lvl-expert:hover{background:#f43f5e1f;color:#fb7185}.repertoire-practice-menu-item.lvl-expert:hover .repertoire-practice-menu-rating{color:#fecdd3;border-color:#fb71854d;background:#f43f5e14}.repertoire-practice-menu-rating{font-size:.725rem;font-weight:600;color:var(--color-text-secondary);background:#ffffff0a;padding:.1rem .35rem;border-radius:4px;border:1px solid rgba(255,255,255,.05);transition:all .15s ease}.repertoire-card-meta{display:flex;gap:.4rem;align-items:center;font-size:.8rem;color:var(--color-text-secondary);margin:-1rem 0 1rem}.repertoire-due-badge{display:inline-flex;align-items:center;gap:.2rem;padding:.1rem .45rem;border-radius:9999px;font-size:.7rem;font-weight:600;background:#fbbf2426;color:#f59e0b;border:1px solid rgba(251,191,36,.35)}.repertoire-next-review{font-size:.75rem;color:var(--color-text-secondary);font-style:italic}.repertoire-review-banner{display:flex;align-items:center;gap:.6rem;padding:.65rem 1rem;margin-bottom:1rem;border-radius:.6rem;background:#fbbf2414;border:1px solid rgba(251,191,36,.25);color:#f59e0b;font-size:.875rem;font-weight:500}.repertoire-next-review-pill{font-size:.75rem;font-weight:500;opacity:.85;margin-left:.5rem}.repertoire-card.is-busy{opacity:.55;pointer-events:none}.opening-drill .puzzle-trainer-board-wrap{justify-content:flex-start}.drill-variations{display:flex;flex-direction:column;gap:.55rem;padding:.75rem}.drill-variations-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.drill-variations-title{font-size:.9rem;font-weight:600;color:var(--color-text)}.drill-filter-toggle{display:inline-flex;border:1px solid var(--color-border, rgba(148, 163, 184, .35));border-radius:999px;overflow:hidden}.drill-filter-toggle button{border:none;background:transparent;color:var(--color-text-secondary);font-size:.72rem;font-weight:600;padding:.25rem .6rem;cursor:pointer;transition:background .15s,color .15s}.drill-filter-toggle button.active{background:var(--color-primary, #6366f1);color:#fff}.drill-variation-picker{display:flex;flex-wrap:wrap;gap:.4rem}.drill-variation-chip:disabled{opacity:.45;cursor:not-allowed}.drill-variation-chip .line-badge{flex-shrink:0}.drill-variation-chip.status-passed{color:var(--color-text-secondary)}.drill-variation-chip.status-passed .line-badge{color:#10b981}.drill-variation-chip.status-due{border-color:#f59e0b80}.drill-variation-chip.status-due .line-badge{color:#f59e0b}.drill-variations-empty{font-size:.78rem;color:var(--color-text-secondary);line-height:1.4}.drill-variation-chip{display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .6rem;font-size:.78rem;font-weight:500;border-radius:999px;border:1px solid var(--color-border, rgba(148, 163, 184, .35));background:var(--color-surface, rgba(148, 163, 184, .08));color:var(--color-text-secondary);cursor:pointer;transition:background .15s,color .15s,border-color .15s}.drill-variation-chip:hover{border-color:var(--color-primary, #6366f1);color:var(--color-text-primary)}.drill-variation-chip.active{background:var(--color-primary, #6366f1);border-color:var(--color-primary, #6366f1);color:#fff}.repertoire-rename{display:flex;gap:.3rem;align-items:center;flex:1}.repertoire-rename input{flex:1;background:var(--color-bg);border:1px solid var(--color-indigo-400);color:#fff;border-radius:4px;padding:.35rem .5rem;font-size:1.05rem;font-weight:600;outline:none}.repertoire-rename-trigger{background:none;border:none;color:var(--color-text-secondary);cursor:pointer;margin-left:.4rem;opacity:0;transition:opacity .15s;vertical-align:middle;padding:2px;border-radius:4px}.repertoire-card:hover .repertoire-rename-trigger,.repertoire-rename-trigger:focus{opacity:1}.repertoire-rename-trigger:hover{background:#ffffff1a;color:#fff}.repertoires-empty{grid-column:1 / -1;text-align:center;padding:4rem;background:var(--color-panel-bg);border-radius:.75rem;border:1px dashed var(--color-border);color:var(--color-text-secondary)}.repertoire-builder{display:flex;flex-direction:column;min-height:0}.repertoire-builder-body{display:flex;flex-wrap:wrap;align-items:flex-start;gap:1.5rem;padding:1rem}.repertoire-builder .puzzle-trainer-board-wrap{flex:1 1 480px;min-width:320px;max-width:620px;justify-content:flex-start}.repertoire-builder .puzzle-trainer-board{max-width:100%}.repertoire-opening-name{background:#6366f11a;color:var(--color-indigo-400);padding:.5rem .75rem;border-radius:.5rem;text-align:center;margin-bottom:.6rem;font-weight:500;font-size:.9rem;border:1px solid rgba(99,102,241,.2);align-self:stretch}.repertoire-builder-side{flex:0 0 360px;max-width:100%;display:flex;flex-direction:column;gap:1rem}@media (max-width: 980px){.repertoire-builder-side{flex:1 1 100%}}.repertoire-section{display:flex;flex-direction:column;min-height:0;background:var(--color-panel-bg);border:1px solid var(--color-border);border-radius:.6rem;padding:.85rem 1rem 1rem}.repertoire-section h3{margin:0 0 .6rem;font-size:1.05rem;color:#fff;border-bottom:1px solid var(--color-border);padding-bottom:.4rem}.repertoire-empty{color:var(--color-text-secondary);font-style:italic;font-size:.9rem;text-align:center;padding:2rem 0}.repertoire-move-list{list-style:none;margin:0;padding:0 .25rem 0 0;display:flex;flex-direction:column;gap:.5rem;overflow-y:auto;max-height:170px}.repertoire-book-list{list-style:none;margin:0;padding:0 .25rem 0 0;display:flex;flex-direction:column;gap:.5rem;overflow-y:auto;max-height:320px}.repertoire-move-list::-webkit-scrollbar,.repertoire-book-list::-webkit-scrollbar{width:6px}.repertoire-move-list::-webkit-scrollbar-track,.repertoire-book-list::-webkit-scrollbar-track{background:transparent}.repertoire-move-list::-webkit-scrollbar-thumb,.repertoire-book-list::-webkit-scrollbar-thumb{background-color:var(--color-border);border-radius:999px}.repertoire-move-list::-webkit-scrollbar-thumb:hover,.repertoire-book-list::-webkit-scrollbar-thumb:hover{background-color:var(--color-text-secondary)}.repertoire-move-item{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;background:var(--color-bg);border-radius:.5rem;border:1px solid var(--color-border)}.repertoire-book-item{display:flex;flex-direction:row;align-items:center;justify-content:space-between;padding:.4rem .6rem;background:var(--color-bg);border-radius:.4rem;border:1px solid var(--color-border);gap:.5rem;transition:background-color .15s ease}.repertoire-book-item:hover{background-color:#ffffff05}.repertoire-book-left{display:flex;align-items:center;gap:.75rem;flex:1;min-width:0}.repertoire-book-san{background:none;border:none;color:var(--color-indigo-400);font-weight:700;font-size:.95rem;min-width:45px;text-align:left;cursor:pointer;padding:0;font-family:inherit}.repertoire-book-san:hover{text-decoration:underline;color:var(--color-indigo-300)}.repertoire-book-name{font-size:.78rem;color:var(--color-text-secondary);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.repertoire-book-right{display:flex;align-items:center;flex-shrink:0}.repertoire-move-header{display:flex;justify-content:space-between;align-items:center}.repertoire-move-san{background:none;border:none;color:var(--color-indigo-400);font-weight:600;font-size:1rem;cursor:pointer;padding:0}.repertoire-move-san:hover{text-decoration:underline}.repertoire-move-actions{display:flex;gap:.25rem}.repertoire-move-actions .icon-only{background:none;border:none;color:var(--color-text-secondary);cursor:pointer;padding:.25rem;border-radius:4px}.repertoire-move-actions .icon-only:hover{background:#ffffff1a;color:#fff}.repertoire-move-comment{font-size:.9rem;color:var(--color-text);background:#0003;padding:.5rem;border-radius:4px;border-left:2px solid var(--color-indigo-400)}.repertoire-comment-editor{display:flex;flex-direction:column;gap:.5rem}.repertoire-comment-editor textarea{background:var(--color-panel-bg);border:1px solid var(--color-border);color:var(--color-text);border-radius:4px;padding:.5rem;resize:vertical;min-height:60px;font-family:inherit}.repertoire-comment-actions{display:flex;gap:.5rem;justify-content:flex-end}.repertoire-board-meta{display:flex;align-items:center;justify-content:center;margin-bottom:.5rem;align-self:stretch}.repertoire-turn-pill{display:inline-flex;align-items:center;gap:.4rem;font-size:.78rem;font-weight:600;padding:.3rem .7rem;border-radius:999px;letter-spacing:.02em;border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text-secondary)}.repertoire-turn-pill.is-user{background:#10b9811f;color:#34d399;border-color:#10b98166}.repertoire-turn-pill.is-opponent{background:#94a3b81f;color:#cbd5e1;border-color:#94a3b84d}.repertoire-board-controls{display:flex;gap:.5rem;margin-top:.6rem;align-self:stretch;justify-content:center}.repertoire-pgn-strip{display:flex;flex-wrap:wrap;gap:.25rem .4rem;align-items:center;margin-top:.6rem;padding:.45rem .65rem;background:var(--color-bg);border:1px solid var(--color-border);border-radius:.5rem;font-family:SF Mono,ui-monospace,monospace;font-size:.85rem;max-height:110px;overflow-y:auto;align-self:stretch;min-height:2rem}.repertoire-pgn-group{display:inline-flex;align-items:center;gap:.3rem;padding-right:.4rem}.repertoire-pgn-num{color:var(--color-text-secondary);font-weight:600}.repertoire-pgn-ply{background:none;border:none;color:var(--color-text);cursor:pointer;padding:.1rem .35rem;border-radius:4px;font:inherit;transition:background .15s}.repertoire-pgn-ply:hover{background:#ffffff14}.repertoire-pgn-ply.is-current{background:#6366f140;color:var(--color-indigo-400);font-weight:700}.repertoire-section.is-opponent-turn h3{border-bottom-color:#94a3b859}.repertoire-section-sub{display:block;font-size:.7rem;font-weight:400;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-secondary);margin-top:.15rem}.repertoire-move-item.is-mine{border-left:3px solid #34d399}.repertoire-move-item.is-opponent{border-left:3px solid rgba(148,163,184,.5);opacity:.92}.repertoire-move-item.is-mainline{box-shadow:0 0 0 1px #6366f166}.repertoire-move-item.is-dragging{opacity:.4}.repertoire-move-item.is-drop-target{outline:2px dashed var(--color-indigo-400);outline-offset:-2px}.repertoire-move-drag{display:inline-flex;align-items:center;color:var(--color-text-secondary);cursor:grab;margin-right:.25rem;opacity:.5}.repertoire-move-drag:active{cursor:grabbing}.repertoire-move-item:hover .repertoire-move-drag{opacity:1}.repertoire-mainline-tag{display:inline-block;margin-left:.4rem;padding:.05rem .4rem;border-radius:999px;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;background:#6366f133;color:var(--color-indigo-400);vertical-align:middle}.repertoire-control-panel{display:flex;flex-direction:column;justify-content:space-between;gap:.35rem;min-height:66px;background:linear-gradient(135deg,rgba(30,41,59,.4),var(--color-panel-bg));border:1px solid var(--color-border);border-radius:.6rem;padding:.45rem .75rem;margin-bottom:0;box-sizing:border-box}.repertoire-meta-info{display:flex;flex-direction:column;gap:.25rem}.repertoire-label{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--color-indigo-400)}.repertoire-title-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.repertoire-title{font-size:1.05rem;font-weight:700;color:#fff;margin:0;line-height:1.2}.repertoire-color-badge-inline{display:inline-flex;align-items:center;font-size:.68rem;font-weight:600;text-transform:capitalize;padding:.08rem .4rem;border-radius:4px;border:1px solid var(--color-border);line-height:1.2}.repertoire-color-badge-inline.color-white{background:#ffffff14;color:#f8fafc;border-color:#fff3}.repertoire-color-badge-inline.color-black{background:#0f172acc;color:#94a3b8;border-color:#94a3b84d}.repertoire-back-link{background:none;border:none;color:var(--color-indigo-400);font-size:.8rem;font-weight:500;cursor:pointer;padding:0;text-align:left;display:inline-flex;align-items:center;gap:.25rem;width:fit-content;transition:color .15s ease;font-family:inherit}.repertoire-back-link:hover{color:var(--color-indigo-300);text-decoration:underline}.repertoire-session-stats-inline{display:flex;gap:.5rem;margin-top:.15rem}.repertoire-session-stats-inline .stat-pill{display:inline-flex;align-items:center;font-size:.72rem;font-weight:600;padding:.15rem .45rem;border-radius:6px;border:1px solid transparent}.repertoire-session-stats-inline .stat-pill.stat-ok{background:#10b9811a;color:#34d399;border-color:#10b98133}.repertoire-session-stats-inline .stat-pill.stat-bad{background:#ef44441a;color:#fca5a5;border-color:#ef444433}.repertoire-session-stats{display:inline-flex;gap:.5rem;align-items:center;font-size:.8rem;margin-left:auto}.repertoire-session-stats .stat{padding:.2rem .5rem;border-radius:999px;background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text-secondary);font-variant-numeric:tabular-nums}.repertoire-session-stats .stat.ok{color:#34d399;border-color:#10b9814d}.repertoire-session-stats .stat.bad{color:#f87171;border-color:#f871714d}.repertoire-hint{display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;background:#fbbf241a;color:#fbbf24;padding:.5rem .75rem;border-radius:6px;border:1px solid rgba(251,191,36,.25)}.repertoire-played-line{padding:.75rem;border-radius:.5rem}.repertoire-played-line h4{display:flex;align-items:center;gap:.4rem;margin:0 0 .5rem;font-size:.9rem;color:var(--color-text)}.repertoire-line-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.2rem;font-family:SF Mono,ui-monospace,monospace;font-size:.85rem;max-height:220px;overflow-y:auto}.repertoire-line-list li{display:grid;grid-template-columns:2.4rem 1fr auto;align-items:center;gap:.5rem;padding:.2rem .3rem;border-radius:4px}.repertoire-line-list .ply-num{color:var(--color-text-secondary);text-align:right}.repertoire-line-list .ply-san{font-weight:600;color:var(--color-text)}.repertoire-line-list .ply-by{font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-secondary)}.repertoire-line-list .played-user .ply-san{color:#34d399}.repertoire-line-list .played-engine .ply-san{color:#cbd5e1}.repertoire-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;text-align:center;gap:1.5rem;margin-top:1rem;border-radius:12px;background:var(--color-panel-bg);border:1px solid var(--color-border);box-shadow:var(--shadow-lg, 0 8px 24px rgba(0,0,0,.25))}.repertoire-empty-icon{background:#a5b4fc1a;color:var(--color-indigo-400);padding:1rem;border-radius:50%;display:inline-flex}.form-group{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.form-group label{font-size:.9rem;color:var(--color-text-secondary);font-weight:500}.form-group input,.form-group select{background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text);border-radius:.5rem;padding:.75rem 1rem;font-size:1rem;transition:border-color .2s,box-shadow .2s;outline:none}.form-group input:focus,.form-group select:focus{border-color:var(--color-indigo-400);box-shadow:0 0 0 2px #6366f133}.form-actions{display:flex;gap:1rem;margin-top:1.5rem}.app-layout-wrapper{display:flex;flex-direction:column;min-height:100vh;width:100%}@media (min-width: 1024px){.app-layout-wrapper{flex-direction:row}}.sidebar{position:fixed;top:0;left:0;bottom:0;width:280px;background-color:#0f172af2;border-right:1px solid var(--color-border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);display:flex;flex-direction:column;z-index:100;transform:translate(-100%);transition:transform .3s cubic-bezier(.4,0,.2,1),width .3s cubic-bezier(.4,0,.2,1);box-shadow:10px 0 30px #00000080}.sidebar.is-open{transform:translate(0)}@media (min-width: 1024px){.sidebar{position:sticky;top:0;height:100vh;transform:translate(0);box-shadow:none}}.sidebar-brand-text{display:flex;flex-direction:column;transition:opacity .25s ease,visibility .25s ease,width .25s ease}.sidebar-collapse-btn{display:none}@media (min-width: 1024px){.sidebar-collapse-btn{display:flex;align-items:center;justify-content:center;background:#0f172af2;border:1px solid var(--color-border);border-radius:50%;width:24px;height:24px;color:var(--color-text-secondary);cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);position:absolute;right:-12px;top:50%;transform:translateY(-50%);z-index:150;box-shadow:0 2px 8px #00000080}.sidebar-collapse-btn:hover{background:#6366f133;border-color:#6366f166;color:var(--color-indigo-400);box-shadow:0 0 10px #6366f159;transform:translateY(-50%) scale(1.1)}.sidebar-is-collapsed .sidebar{width:72px;overflow:visible!important}.sidebar-is-collapsed .sidebar-nav{overflow:visible!important}.sidebar-is-collapsed .sidebar-header{padding:1.5rem .5rem;justify-content:center}.sidebar-is-collapsed .sidebar-brand{justify-content:center;width:100%;gap:0}.sidebar-is-collapsed .sidebar-brand-text,.sidebar-is-collapsed .sidebar-menu-item span,.sidebar-is-collapsed .sidebar-menu-section-label,.sidebar-is-collapsed .sidebar-footer-stats-title,.sidebar-is-collapsed .sidebar-footer-stats-val{display:none!important}.sidebar-is-collapsed .sidebar-menu-separator{border-top:1px solid rgba(255,255,255,.05);margin:.75rem .5rem;padding:0;height:1px}.sidebar-is-collapsed .sidebar-menu-item{justify-content:center;padding:.75rem 0;border-left-width:0;border-radius:.5rem;gap:0}.sidebar-is-collapsed .sidebar-menu-item.is-active{background-color:#6366f11a;border-left:none;box-shadow:inset 0 0 0 1px #6366f133}.sidebar-is-collapsed .sidebar-footer{padding:1rem .5rem}.sidebar-is-collapsed .sidebar-footer-stats{justify-content:center;padding:.5rem 0}}.sidebar-menu-item-wrapper{position:relative;width:100%}.sidebar-tooltip{position:absolute;left:80px;top:50%;transform:translateY(-50%) translate(-8px);background:#0f172af2;border:1px solid rgba(255,255,255,.1);padding:.4rem .75rem;border-radius:.375rem;color:#fff;font-size:.75rem;font-weight:600;white-space:nowrap;pointer-events:none;box-shadow:0 4px 20px #0009;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:200;opacity:0;transition:opacity .2s cubic-bezier(.4,0,.2,1),transform .2s cubic-bezier(.4,0,.2,1)}.sidebar-menu-item-wrapper:hover .sidebar-tooltip{opacity:1;transform:translateY(-50%) translate(0)}.sidebar-footer-stats-wrapper:hover .sidebar-tooltip{opacity:1;transform:translateY(-110%) translate(0);top:0;left:10px}.sidebar-floating-popover{position:absolute;left:60px;top:0;background:#0f172afa;border:1px solid rgba(255,255,255,.1);border-radius:.6rem;padding:.6rem;min-width:180px;box-shadow:10px 10px 30px #0009;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);display:flex;flex-direction:column;gap:.35rem;z-index:210;animation:popoverSlideIn .2s cubic-bezier(.4,0,.2,1) forwards}.sidebar-floating-popover:before{content:"";position:absolute;left:-16px;top:0;bottom:0;width:16px;background:transparent}@keyframes popoverSlideIn{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}.sidebar-popover-title{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--color-indigo-400);font-weight:700;padding:.2rem .5rem;border-bottom:1px solid rgba(255,255,255,.05);margin-bottom:.25rem}.sidebar-popover-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.25rem}.sidebar-popover-item{width:100%;display:flex;align-items:center;gap:.5rem;padding:.45rem .75rem;border-radius:.375rem;background:transparent;border:none;color:var(--color-text-secondary);font-size:.8rem;font-weight:500;cursor:pointer;text-align:left;transition:all .15s ease}.sidebar-popover-item:hover{color:var(--color-text-primary);background-color:#ffffff0a}.sidebar-popover-item.is-active{color:var(--color-indigo-400);font-weight:600;background-color:#6366f114}.sidebar-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#03071299;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:90;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.sidebar-header{padding:1.5rem;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--color-border-light);position:relative}.sidebar-brand{display:flex;align-items:center;gap:.75rem}.sidebar-brand-icon-box{padding:.5rem;background:linear-gradient(135deg,var(--color-indigo-600),var(--color-indigo-400));border-radius:.5rem;display:flex;align-items:center;justify-content:center}.sidebar-brand-logo{width:1.25rem;height:1.25rem;color:#fff}.sidebar-brand-text-title{font-size:1.125rem;font-weight:700;letter-spacing:-.025em;background:linear-gradient(to right,#fff,#cbd5e1);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.sidebar-brand-text-subtitle{font-size:.7rem;color:var(--color-text-muted);font-weight:500}.sidebar-close-btn{background:transparent;border:none;color:var(--color-text-secondary);cursor:pointer;padding:.25rem;border-radius:.375rem;display:flex;align-items:center;justify-content:center;transition:all .2s}.sidebar-close-btn:hover{color:var(--color-text-primary);background-color:#ffffff0d}@media (min-width: 1024px){.sidebar-close-btn{display:none}}.sidebar-nav{flex:1;overflow-y:auto;padding:1.25rem .75rem;scrollbar-width:none}.sidebar-nav::-webkit-scrollbar{width:0;height:0}.sidebar-menu-list{list-style:none;display:flex;flex-direction:column;gap:.375rem}.sidebar-menu-item{width:100%;display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-radius:.5rem;background:transparent;border:1px solid transparent;color:var(--color-text-secondary);font-size:.875rem;font-weight:600;cursor:pointer;text-align:left;transition:all .2s ease}.sidebar-menu-item:hover{color:var(--color-text-primary);background-color:#ffffff0a}.sidebar-menu-item.is-active{color:var(--color-indigo-400);background-color:#6366f114;border-left:3px solid var(--color-indigo-500);border-radius:.25rem .5rem .5rem .25rem}.sidebar-menu-item-play-bot{color:var(--color-text-primary);background:linear-gradient(135deg,#6366f129,#34d3991a)}.sidebar-menu-item-play-bot svg{color:#34d399;filter:drop-shadow(0 0 4px rgba(52,211,153,.5))}.sidebar-menu-item-play-bot:hover{background:linear-gradient(135deg,#6366f13d,#34d39929)}.sidebar-menu-item-play-bot.is-active{color:var(--color-indigo-400)}.sidebar-parent-label{flex:1;min-width:0}.sidebar-parent-chevron{display:flex;align-items:center;flex-shrink:0;color:var(--color-text-secondary);transition:color .2s}.sidebar-parent-chevron svg{transition:transform .26s ease}.sidebar-parent-chevron.is-open svg{transform:rotate(180deg)}.sidebar-menu-item-parent:hover .sidebar-parent-chevron{color:var(--color-text-primary)}.sidebar-menu-item-parent.is-active .sidebar-parent-chevron{color:var(--color-indigo-400)}.sidebar-collapse{display:grid;grid-template-rows:0fr;transition:grid-template-rows .26s ease}.sidebar-collapse.is-open{grid-template-rows:1fr}.sidebar-collapse-inner{overflow:hidden;min-height:0;opacity:0;transition:opacity .2s ease}.sidebar-collapse.is-open .sidebar-collapse-inner{opacity:1}@media (prefers-reduced-motion: reduce){.sidebar-collapse,.sidebar-collapse-inner,.sidebar-parent-chevron svg{transition:none}}.sidebar-submenu-list{list-style:none;padding-left:1.5rem;margin-top:.25rem;display:flex;flex-direction:column;gap:.25rem;border-left:1px solid rgba(255,255,255,.05);margin-left:1.5rem}.sidebar-submenu-item{width:100%;display:flex;align-items:center;gap:.625rem;padding:.5rem .75rem;border-radius:.375rem;background:transparent;border:none;color:var(--color-text-secondary);font-size:.8rem;font-weight:500;cursor:pointer;text-align:left;transition:all .2s}.sidebar-submenu-item:hover{color:var(--color-text-primary);background-color:#ffffff08}.sidebar-submenu-item.is-active{color:var(--color-indigo-400);font-weight:600;background-color:#6366f10d}.sidebar-submenu-item.is-active-card{color:var(--color-text-primary);font-weight:600}.sidebar-new-badge{margin-left:auto;min-width:1.125rem;height:1.125rem;padding:0 .3125rem;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background-color:var(--color-indigo-500, #6366f1);color:#fff;font-size:.625rem;font-weight:700;line-height:1;box-shadow:0 0 0 2px #6366f140}.sidebar.is-collapsed .sidebar-menu-item-coach-home{position:relative}.sidebar.is-collapsed .sidebar-menu-item-coach-home .sidebar-new-badge{position:absolute;top:.25rem;right:.25rem;margin-left:0}.sidebar.is-collapsed .sidebar-menu-item-parent{position:relative}.sidebar.is-collapsed .sidebar-menu-item-parent .sidebar-new-badge{position:absolute;top:.25rem;right:.25rem;margin-left:0}.sidebar-explore-groups{display:flex;flex-direction:column;gap:.5rem;margin-top:.25rem}.sidebar-explore-group{margin-top:0}.sidebar-explore-group-label{list-style:none;font-size:.625rem;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);font-weight:700;padding:.25rem .75rem .1rem;opacity:.75}.sidebar-firstrun{list-style:none;padding:.5rem .75rem}.sidebar-firstrun-card{display:flex;flex-direction:column;align-items:flex-start;gap:.6rem;padding:1rem;border-radius:.75rem;background:linear-gradient(160deg,#6366f124,#34d39914);border:1px solid rgba(99,102,241,.25)}.sidebar-firstrun-icon{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:.6rem;background:#6366f133;color:var(--color-indigo-400)}.sidebar-firstrun-title{font-size:.95rem;font-weight:700;color:var(--color-text-primary);margin:0}.sidebar-firstrun-text{font-size:.78rem;line-height:1.4;color:var(--color-text-secondary);margin:0}.sidebar-firstrun-cta{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;margin-top:.15rem;padding:.6rem .75rem;border:none;border-radius:.55rem;background:var(--color-indigo-500, #6366f1);color:#fff;font-size:.82rem;font-weight:600;cursor:pointer;transition:background .15s ease,transform .15s ease}.sidebar-firstrun-cta:hover{background:var(--color-indigo-400, #818cf8);transform:translateY(-1px)}.sidebar-menu-item-connect{color:var(--color-indigo-400)}.sidebar-menu-separator{margin:1rem 0 .5rem;padding-left:1rem}.sidebar-menu-section-label{font-size:.675rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);font-weight:700}.sidebar-footer{padding:1.25rem;border-top:1px solid var(--color-border-light);background-color:#0206174d}.sidebar-footer-stats{display:flex;justify-content:space-between;align-items:center;font-size:.75rem}.sidebar-footer-stats-title{color:var(--color-text-muted);font-weight:500}.sidebar-footer-stats-val{color:var(--color-emerald-500);font-weight:600}.mobile-menu-toggle{background:transparent;border:none;color:var(--color-text-primary);cursor:pointer;padding:.5rem;border-radius:.5rem;display:flex;align-items:center;justify-content:center;transition:all .2s;background-color:var(--color-panel);border:1px solid var(--color-border)}.mobile-menu-toggle:hover{background-color:#1e293b;border-color:#475569}@media (min-width: 1024px){.mobile-menu-toggle{display:none}}.app-container{flex:1;width:100%}.sidebar-settings-item{padding:.75rem 1rem;margin:.25rem .5rem;background:#ffffff05;border:1px solid rgba(255,255,255,.05);border-radius:.5rem;display:flex;flex-direction:column;gap:.5rem;transition:all .2s ease}.sidebar-settings-item:hover{background:#ffffff0a;border-color:#6366f126}.sidebar-settings-item-label-row{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:.5rem}.sidebar-settings-label{font-size:.75rem;font-weight:600;color:var(--color-text-secondary)}.sidebar-settings-status{display:flex;align-items:center;gap:.35rem}.status-dot-inline{width:.5rem;height:.5rem;border-radius:50%;display:inline-block}.status-dot-inline.active{background-color:var(--color-emerald-500);box-shadow:0 0 6px var(--color-emerald-500);animation:pulse-slow 2s infinite}.status-dot-inline.loading{background-color:var(--color-yellow-500);box-shadow:0 0 6px var(--color-yellow-500);animation:pulse-slow 1.5s infinite}.status-dot-inline.disabled{background-color:var(--color-text-muted)}.status-text{font-size:.65rem;font-family:var(--font-mono);color:var(--color-text-muted)}.switch-toggle{position:relative;display:inline-block;width:2.25rem;height:1.25rem;align-self:flex-start}.switch-toggle>input{opacity:0;width:0;height:0}.switch-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--color-border);transition:.3s;border-radius:999px}.switch-slider:before{position:absolute;content:"";height:.875rem;width:.875rem;left:.1875rem;bottom:.1875rem;background-color:#fff;transition:.3s;border-radius:50%;box-shadow:0 2px 4px #0003}.switch-toggle>input:checked+.switch-slider{background-color:var(--color-indigo-500)}.switch-toggle>input:checked+.switch-slider:before{transform:translate(1rem)}.board-controls-row{display:flex;align-items:center;gap:.75rem;padding:.5rem 0;width:100%;min-height:40px}.btn-board-control{padding:.4rem .75rem;background-color:var(--color-panel);border:1px solid var(--color-border);border-radius:.5rem;color:var(--color-text-primary);font-size:.75rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.35rem;transition:all .2s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.btn-board-control:hover{background-color:#ffffff0d;border-color:var(--color-indigo-400);color:var(--color-indigo-300)}.btn-board-control-reset{color:var(--color-indigo-400);border-color:#6366f14d}.btn-board-control-reset:hover{background-color:#6366f11a;border-color:var(--color-indigo-400)}.player-side-control{display:flex;align-items:center;gap:.5rem}.player-side-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--color-text-secondary)}.player-side-control.is-unset .player-side-label{color:var(--color-yellow-500)}.player-side-buttons{display:inline-flex;background-color:var(--color-panel);border:1px solid var(--color-border);border-radius:.5rem;overflow:hidden;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.player-side-control.is-unset .player-side-buttons{border-color:var(--color-yellow-500);box-shadow:0 0 0 1px var(--color-yellow-500)}.player-side-btn{padding:.4rem .8rem;background:transparent;border:none;color:var(--color-text-secondary);font-size:.75rem;font-weight:600;cursor:pointer;transition:all .15s ease}.player-side-btn+.player-side-btn{border-left:1px solid var(--color-border)}.player-side-btn:hover{background-color:#ffffff0d;color:var(--color-text-primary)}.player-side-btn.is-active{background-color:var(--color-indigo-600);color:#fff}.player-side-btn.is-active:hover{background-color:var(--color-indigo-500);color:#fff}.variation-banner-inline{font-size:.75rem;color:var(--color-indigo-400);font-weight:600;background-color:#6366f11a;padding:.4rem .75rem;border-radius:.5rem;border:1px solid rgba(99,102,241,.2);flex-grow:1;text-align:center}.puzzle-review-card{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;transition:all .2s ease}@media (max-width: 768px){.puzzle-review-card{flex-direction:column;align-items:stretch;gap:1rem}}.puzzle-review-card.has-reviews{border-color:#6366f14d;background:linear-gradient(135deg,rgba(99,102,241,.06),var(--color-panel))}.puzzle-review-card.has-reviews:hover{border-color:#6366f180}.puzzle-review-card.all-clear{border-color:#10b98140;background:linear-gradient(135deg,rgba(16,185,129,.04),var(--color-panel))}.puzzle-review-main{display:flex;align-items:center;gap:1rem}.puzzle-review-icon-box{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:#ffffff08;border:1px solid var(--color-border-light);color:var(--color-indigo-400)}.puzzle-review-card.all-clear .puzzle-review-icon-box{color:var(--color-emerald-500)}.puzzle-review-details h3{margin:0 0 .25rem;font-size:1rem;font-weight:700;color:var(--color-text-primary)}.puzzle-review-card.all-clear .puzzle-review-details h3{color:var(--color-emerald-400)}.review-icon-spin{animation:reviewSpin 12s linear infinite}@keyframes reviewSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.start-review-btn{white-space:nowrap;align-self:center}@media (max-width: 768px){.start-review-btn{width:100%;justify-content:center}}.bot-selection{display:flex;flex-direction:column;gap:1.5rem;max-width:860px;margin:0 auto;padding:1.5rem}.bot-selection-header{display:flex;align-items:center;gap:1rem}.bot-selection-title{display:flex;align-items:center;gap:.55rem;font-size:1.4rem;font-weight:800;letter-spacing:-.03em;margin:0;background:linear-gradient(135deg,#a78bfa,#e879f9 45%,#f0abfc 75%,#a78bfa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 0 16px rgba(217,70,239,.3))}.bot-selection-title svg{-webkit-text-fill-color:initial;color:#c084fc;filter:drop-shadow(0 0 6px rgba(192,132,252,.6));flex-shrink:0}.bot-back-btn{display:flex;align-items:center;gap:.25rem;padding:.4rem .75rem;border-radius:.5rem;background:var(--color-surface-secondary);color:var(--color-text-secondary);border:1px solid var(--color-border);font-size:.8rem;cursor:pointer;transition:background .15s,color .15s}.bot-back-btn:hover{background:var(--color-surface-hover);color:var(--color-text-primary)}.bot-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.bot-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:1.25rem 1rem;border-radius:.75rem;background:var(--color-surface-secondary);border:2px solid var(--color-border);cursor:pointer;text-align:center;transition:border-color .15s,background .15s,transform .1s}.bot-card:hover{background:var(--color-surface-hover);border-color:var(--color-indigo-400);transform:translateY(-2px)}.bot-card.is-selected{border-color:var(--bot-color, var(--color-indigo-500));background:color-mix(in srgb,var(--bot-color, var(--color-indigo-500)) 10%,var(--color-surface-secondary))}.bot-card-defeated-badge{position:absolute;top:.4rem;right:.4rem;display:inline-flex;align-items:center;gap:.2rem;padding:.15rem .4rem;border-radius:999px;font-size:.65rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:#78350f;background:linear-gradient(135deg,#fbbf24,#f59e0b);box-shadow:0 1px 3px #00000040}.bot-card-defeated-badge svg{display:block}.bot-card-avatar{font-size:2rem;line-height:1;margin-bottom:.25rem}.bot-card-name{font-size:1rem;font-weight:600;color:var(--color-text-primary)}.bot-card-rating{font-size:.9rem;font-weight:700;color:var(--bot-color, var(--color-indigo-400))}.bot-card-subtitle{font-size:.72rem;color:var(--color-text-secondary);font-style:italic}.bot-card-desc{font-size:.78rem;color:var(--color-text-muted, var(--color-text-secondary));line-height:1.4;margin-top:.25rem}.bot-options{display:flex;align-items:center;gap:1.5rem}.bot-options-label{font-size:.8rem;color:var(--color-text-secondary);font-weight:500}.bot-color-picker{display:flex;align-items:center;gap:.75rem}.bot-color-buttons{display:flex;gap:.5rem}.bot-color-btn{display:flex;align-items:center;gap:.35rem;padding:.4rem .75rem;border-radius:.5rem;background:var(--color-surface-secondary);border:1px solid var(--color-border);color:var(--color-text-secondary);font-size:.8rem;cursor:pointer;transition:all .15s}.bot-color-btn:hover{background:var(--color-surface-hover);color:var(--color-text-primary)}.bot-color-btn.is-active{background:var(--color-indigo-600, #4f46e5);border-color:var(--color-indigo-500);color:#fff}.bot-color-preset-notice{display:flex;align-items:center;gap:8px;font-size:.85rem;color:var(--color-text-secondary);background:#ffffff0a;border:1px solid var(--color-border);border-radius:8px;padding:8px 12px}.bot-color-preset-notice span{color:var(--color-indigo-400);font-style:italic}.bot-start-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 2rem;border-radius:.6rem;background:var(--color-indigo-600, #4f46e5);color:#fff;font-size:.95rem;font-weight:600;border:none;cursor:pointer;transition:background .15s,transform .1s;align-self:flex-start}.bot-start-btn:hover{background:var(--color-indigo-500, #6366f1);transform:translateY(-1px)}.bot-game{display:flex;flex-direction:column;gap:.5rem;max-width:860px;margin:0 auto;padding:1rem}.bot-game-player-row{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;border-radius:.5rem;background:var(--color-surface-secondary);border:1px solid var(--color-border)}.bot-game-avatar{font-size:1.5rem;line-height:1}.bot-game-player-info{display:flex;flex-direction:column;gap:.1rem}.bot-game-player-name{font-size:.9rem;font-weight:600;color:var(--color-text-primary)}.bot-game-player-rating{font-size:.75rem;color:var(--color-text-secondary)}.bot-thinking{display:flex;align-items:center;gap:4px;margin-left:auto}.thinking-dot{width:6px;height:6px;border-radius:50%;background:var(--color-indigo-400, #818cf8);animation:bot-pulse 1.2s ease-in-out infinite}.thinking-dot:nth-child(2){animation-delay:.2s}.thinking-dot:nth-child(3){animation-delay:.4s}@keyframes bot-pulse{0%,80%,to{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}}.bot-game-main{display:flex;gap:1rem;align-items:stretch}.bot-game-board-wrap{flex:1 1 auto;display:flex;align-items:stretch;gap:.75rem;min-width:0;max-width:660px}.spar-board-col{flex:1 1 auto;min-width:0;max-width:660px;display:flex;flex-direction:column}.spar-board-col .bot-game-board-wrap{max-width:none;flex:0 0 auto}.bot-game-board-wrap .chessboard-wrapper{width:100%}.bot-game-side{flex:0 0 220px;display:flex;flex-direction:column;gap:.75rem;min-width:180px}.bot-game-movelist{flex:1 1 auto;min-height:240px;max-height:480px;overflow-y:auto;background:var(--color-surface-secondary);border:1px solid var(--color-border);border-radius:.5rem;padding:.5rem;font-size:.8rem}.bot-movelist-empty{color:var(--color-text-secondary);font-size:.75rem;font-style:italic;padding:.5rem;margin:0}.bot-movelist-row{display:grid;grid-template-columns:1.5rem 1fr 1fr;gap:.15rem;padding:.15rem .25rem;border-radius:.25rem}.bot-movelist-row:hover{background:var(--color-surface-hover)}.bot-movelist-num{color:var(--color-text-secondary);font-size:.72rem}.bot-movelist-white,.bot-movelist-black{color:var(--color-text-primary);font-family:Courier New,monospace;font-size:.78rem}.bot-game-controls{display:flex;gap:.5rem}.bot-ctrl-btn{display:flex;align-items:center;gap:.35rem;padding:.5rem .75rem;border-radius:.5rem;font-size:.8rem;font-weight:500;cursor:pointer;border:1px solid var(--color-border);transition:all .15s;width:100%;justify-content:center}.bot-ctrl-resign{background:var(--color-surface-secondary);color:var(--color-text-secondary)}.bot-ctrl-resign:hover{background:#ef444420;border-color:#ef4444;color:#ef4444}.bot-ctrl-analyse{background:var(--color-indigo-600, #4f46e5);color:#fff;border-color:var(--color-indigo-500)}.bot-ctrl-analyse:hover{background:var(--color-indigo-500, #6366f1)}.bot-ctrl-rematch{background:var(--color-surface-secondary);color:var(--color-text-secondary)}.bot-ctrl-rematch:hover{background:var(--color-surface-hover);color:var(--color-text-primary)}.bot-game-result-panel{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;border-radius:.5rem;background:var(--color-surface-secondary);border:1px solid var(--color-border)}.bot-result-text{font-size:.85rem;font-weight:600;color:var(--color-text-primary);text-align:center;padding-bottom:.25rem;border-bottom:1px solid var(--color-border);margin-bottom:.25rem}@media (max-width: 640px){.bot-cards{grid-template-columns:1fr}.bot-game-main{flex-direction:column}.bot-game-side{max-width:100%;min-height:120px}}.coachplay{display:flex;flex-direction:column;gap:1rem}.coachplay-setup{display:flex;flex-direction:column;gap:1.1rem;max-width:560px;padding:1.25rem;border-radius:.75rem;background:var(--color-surface-secondary);border:1px solid var(--color-border)}.coachplay-setup-lead{margin:0;font-size:.9rem;line-height:1.5;color:var(--color-text-secondary)}.coachplay-elo{display:flex;align-items:center;gap:.75rem}.coachplay-elo input[type=range]{flex:1;accent-color:var(--color-indigo-500, #6366f1)}.coachplay-elo-value{min-width:3ch;font-weight:700;color:var(--color-text-primary)}.coachplay-main{display:flex;gap:1.25rem;align-items:flex-start;flex-wrap:wrap}.coachplay-board-col{display:flex;flex-direction:column;gap:.75rem;flex:1 1 460px;min-width:320px;max-width:600px}.coachplay-board-col .bot-game-board-wrap{width:100%;max-width:none}.coachplay-controls{display:flex;gap:.5rem}.coachplay-coach{display:flex;flex-direction:column;flex:1;min-width:300px;max-width:440px;height:560px;border-radius:.75rem;background:var(--color-surface-secondary);border:1px solid var(--color-border);overflow:hidden}.coachplay-coach-head{display:flex;align-items:center;gap:.45rem;padding:.7rem .9rem;border-bottom:1px solid var(--color-border);font-weight:700;font-size:.85rem;color:var(--color-text-primary)}.coachplay-status{margin-left:auto;font-size:.74rem;font-weight:500;color:var(--color-text-secondary)}.coachplay-chat{flex:1;overflow-y:auto;padding:.85rem;display:flex;flex-direction:column;gap:.6rem}.coachplay-msg{font-size:.85rem;line-height:1.45;padding:.55rem .75rem;border-radius:.6rem;max-width:90%;white-space:pre-wrap}.coachplay-msg-coach{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-primary);align-self:flex-start}.coachplay-msg-user{background:var(--color-indigo-600, #4f46e5);color:#fff;align-self:flex-end}.coachplay-msg-system{align-self:center;font-size:.76rem;font-style:italic;color:var(--color-text-secondary);background:transparent}.coachplay-actions{display:flex;flex-wrap:wrap;gap:.4rem;padding:.5rem .85rem;border-top:1px solid var(--color-border)}.coachplay-act{display:inline-flex;align-items:center;gap:.3rem;padding:.35rem .6rem;border-radius:.5rem;font-size:.76rem;font-weight:600;cursor:pointer;background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-secondary);transition:all .15s}.coachplay-act:hover{background:var(--color-surface-hover);color:var(--color-text-primary)}.coachplay-act-primary{background:var(--color-indigo-600, #4f46e5);border-color:var(--color-indigo-500);color:#fff}.coachplay-act-primary:hover{background:var(--color-indigo-500, #6366f1);color:#fff}.coachplay-input-row{display:flex;align-items:center;gap:.45rem;padding:.6rem .85rem;border-top:1px solid var(--color-border)}.coachplay-hint-btn{display:inline-flex;align-items:center;gap:.3rem;padding:.45rem .6rem;border-radius:.5rem;font-size:.78rem;font-weight:600;cursor:pointer;background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-amber-400, #fbbf24);white-space:nowrap}.coachplay-hint-btn:disabled{opacity:.45;cursor:default}.coachplay-input{flex:1;min-width:0;padding:.45rem .7rem;border-radius:.5rem;background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-primary);font-size:.83rem}.coachplay-send{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:.5rem;cursor:pointer;background:var(--color-indigo-600, #4f46e5);border:none;color:#fff}.coachplay-send:disabled{opacity:.45;cursor:default}.coachplay-movelist{display:flex;flex-wrap:wrap;gap:.5rem .75rem;padding:.6rem .85rem;border-top:1px solid var(--color-border);max-height:96px;overflow-y:auto;font-size:.8rem;color:var(--color-text-secondary)}.coachplay-move-num{color:var(--color-text-tertiary, #64748b);margin-right:.2rem}.bot-move-mark{margin-left:.15rem;font-weight:700;color:var(--color-amber-400, #fbbf24)}.coach-nudge-caret{display:inline-block;width:.5rem;height:.9em;margin-left:2px;vertical-align:text-bottom;background:var(--color-indigo-400);animation:coach-caret-blink 1s steps(2,start) infinite}@keyframes coach-caret-blink{to{visibility:hidden}}.coachplay-eval-rail{width:2rem;min-height:200px;background:var(--color-surface-secondary);border:1px solid var(--color-border);border-radius:.5rem;display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 10px 20px #00000040;transition:all .2s ease}.coachplay-eval-toggle{background:none;border:none;color:var(--color-text-secondary);cursor:pointer;padding:.5rem;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .15s;width:30px;height:30px}.coachplay-eval-toggle:hover{background:var(--color-surface-hover);color:var(--color-text-primary);transform:scale(1.1)}.coachplay-eval-gauge-wrapper{position:relative;width:2rem;display:flex;flex-direction:column;flex-shrink:0}.coachplay-eval-gauge-wrapper .gauge-container{flex:1}.coachplay-eval-hide-btn{position:absolute;bottom:2.25rem;left:50%;transform:translate(-50%);background:#0f172ab3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.2);color:#f8fafc;cursor:pointer;padding:.25rem;border-radius:50%;display:flex;align-items:center;justify-content:center;width:22px;height:22px;z-index:20;transition:all .15s}.coachplay-eval-hide-btn:hover{background:#0f172af2;transform:translate(-50%) scale(1.1)}.coachplay-board-wrapper{position:relative;flex:1;min-width:0;border-radius:.75rem;transition:box-shadow .2s ease,outline .2s ease;overflow:hidden}.coachplay-board-wrapper.coachplay-board-paused.coachplay-board-blunder{box-shadow:0 0 18px 6px #ef444480;outline:3px solid rgba(239,68,68,.85)}.coachplay-board-wrapper.coachplay-board-paused.coachplay-board-mistake{box-shadow:0 0 18px 6px #f59e0b80;outline:3px solid rgba(245,158,11,.85)}.coachplay-board-wrapper .chessboard-wrapper{transition:opacity .2s ease}.coachplay-board-wrapper.coachplay-board-paused .chessboard-wrapper{opacity:.65}.coachplay-status-chip{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.6rem 1rem;border-radius:.5rem;font-size:.8rem;font-weight:600;text-align:center;animation:coach-chip-slide-down .2s ease;margin-bottom:.5rem;border:1px solid transparent;width:100%;box-sizing:border-box}.coachplay-status-chip-blunder{background:#ef444426;border-color:#ef44444d;color:#fca5a5}.coachplay-status-chip-mistake{background:#f59e0b26;border-color:#f59e0b4d;color:#fde047}@keyframes coach-chip-slide-down{0%{transform:translateY(-5px);opacity:0}to{transform:translateY(0);opacity:1}}.coachplay-coach{transition:border-color .2s ease,border-left-width .2s ease}.coachplay-coach.coachplay-coach-paused{border-left-width:4px}.coachplay-coach.coachplay-coach-paused.coachplay-coach-blunder{border-left-color:var(--color-red-500, #ef4444)}.coachplay-coach.coachplay-coach-paused.coachplay-coach-mistake{border-left-color:var(--color-amber-500, #f59e0b)}@keyframes coach-msg-pulse{0%{opacity:.8}50%{opacity:1}to{opacity:.8}}.coachplay-msg-streaming{animation:coach-msg-pulse 1.5s infinite ease-in-out}.coachplay-actions-bar{display:flex;gap:.4rem;align-items:center;padding:.5rem .85rem;border-top:1px solid var(--color-border);height:48px;min-height:48px;max-height:48px;box-sizing:border-box;background:var(--color-surface-secondary)}.coachplay-act.btn-hidden{opacity:0;pointer-events:none;visibility:hidden}.coachplay-hint-btn-new{color:var(--color-amber-400, #fbbf24)!important;border-color:var(--color-border)!important}.coachplay-hint-btn-new:hover{background:var(--color-surface-hover);color:var(--color-amber-300, #fcd34d)!important}.coachplay-hint-btn-new:disabled{opacity:.45;cursor:default}.openings-subtitle{font-size:.935rem;color:#94a3b8;line-height:1.65;letter-spacing:.005em;margin-top:.45rem;margin-bottom:0;max-width:62ch}.trap-progress-pill{padding:.4rem .85rem;border-radius:99px;color:#c7d2fe;background:linear-gradient(145deg,#3133638c,#1e1b4bb3);border:1px solid rgba(129,140,248,.4);box-shadow:0 0 18px -6px #818cf880,inset 0 1px #ffffff0f;white-space:nowrap}.trap-progress-pill svg{color:#818cf8;flex-shrink:0}.library-loading{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem;margin-top:1rem}.skeleton-card{height:260px;background:linear-gradient(90deg,#1e293b66 25%,#1e293b99,#1e293b66 75%);background-size:200% 100%;animation:loading-shimmer 1.5s infinite;border:1px solid var(--color-border);border-radius:.6rem}@keyframes loading-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.library-filters{display:flex;flex-direction:column;gap:1rem;background:var(--color-panel-bg);border:1px solid var(--color-border);border-radius:.6rem;padding:1rem;margin-bottom:1.5rem}.filters-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:1.5rem}.filters-row .search-group{flex:1 1 300px}.filters-row .search-box{position:relative;width:100%}.filters-row .search-box input{width:100%;padding:.45rem 2rem .45rem 2.25rem;background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text);border-radius:.5rem;font-size:.85rem;font-weight:500;outline:none;transition:border-color .2s,box-shadow .2s;font-family:inherit}.filters-row .search-box input:focus{border-color:var(--color-indigo-400);box-shadow:0 0 0 2px #6366f133}.filters-row .search-box input::placeholder{color:var(--color-text-secondary);opacity:.6}.filters-row .search-icon{position:absolute;left:.85rem;top:50%;transform:translateY(-50%);color:var(--color-text-secondary);pointer-events:none}.clear-search-btn{position:absolute;right:.85rem;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--color-text-secondary);cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center}.clear-search-btn:hover{color:#fff}.filter-group{display:flex;flex-direction:column;gap:.4rem}.filter-group label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary)}.filter-tabs{display:flex;background:var(--color-bg);border:1px solid var(--color-border);border-radius:.5rem;padding:2px}.filter-tabs button{background:none;border:none;color:var(--color-text-secondary);font-size:.85rem;font-weight:500;padding:.4rem .9rem;border-radius:.4rem;cursor:pointer;transition:all .15s ease;font-family:inherit}.filter-tabs button:hover{color:#fff}.filter-tabs button.tab-active{background:var(--color-indigo-600, #4f46e5);color:#fff}.library-select{background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text);border-radius:.5rem;padding:.45rem 1rem;font-size:.85rem;font-weight:500;outline:none;font-family:inherit}.playstyle-filters-row{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem;border-top:1px solid rgba(255,255,255,.05);padding-top:.75rem}.playstyle-label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary)}.playstyle-badges-list{display:flex;flex-wrap:wrap;gap:.5rem}.playstyle-filter-badge{background:#ffffff08;border:1px solid var(--color-border);color:var(--color-text-secondary);font-size:.75rem;font-weight:500;padding:.25rem .65rem;border-radius:999px;cursor:pointer;transition:all .15s ease;font-family:inherit}.playstyle-filter-badge:hover{border-color:#6366f166;color:var(--color-indigo-400);background:#6366f10d}.playstyle-filter-badge.is-active{background:#6366f126;border-color:var(--color-indigo-500);color:var(--color-indigo-300);box-shadow:0 0 10px #6366f11a}.repertoire-card.library-card{display:flex;flex-direction:column;justify-content:space-between;border-color:var(--color-border);background:var(--color-panel-bg);box-shadow:0 4px 20px #00000026;transition:transform .25s cubic-bezier(.4,0,.2,1),border-color .25s,box-shadow .25s}.repertoire-card.library-card:hover{transform:translateY(-2px);border-color:#6366f173;box-shadow:0 10px 25px #6366f11f}.library-tags{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.35rem}.category-tag{display:inline-block;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;background:#ffffff0d;color:var(--color-text-secondary);padding:.1rem .4rem;border-radius:4px}.playstyle-tag{display:inline-block;font-size:.65rem;font-weight:600;background:#6366f114;color:var(--color-indigo-400);padding:.1rem .4rem;border-radius:4px}.library-moves-strip{font-family:SF Mono,ui-monospace,monospace;font-size:.82rem;font-weight:500;background:#00000040;border:1px solid rgba(255,255,255,.03);color:#cbd5e1;padding:.45rem .65rem;border-radius:.4rem;margin:.75rem 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.library-desc{font-size:.8rem;color:var(--color-text-secondary);line-height:1.4;margin:0 0 1.25rem;flex-grow:1;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.repertoire-card.library-card .eco-badge{font-size:.68rem;background:#ffffff14;border:1px solid var(--color-border);color:var(--color-text-secondary);padding:.1rem .35rem;border-radius:4px;margin-left:.5rem;font-weight:600}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000bf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:500;padding:1rem}.modal-content{background:var(--color-panel-bg);border:1px solid rgba(99,102,241,.2);border-radius:.8rem;max-width:100%;box-shadow:0 15px 40px #0009;display:flex;flex-direction:column;box-sizing:border-box;animation:modal-enter .2s cubic-bezier(.16,1,.3,1)}@keyframes modal-enter{0%{transform:scale(.96);opacity:0}to{transform:scale(1);opacity:1}}.modal-header{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid var(--color-border);padding:1rem 1.25rem}.modal-header h3{margin:0;font-size:1.25rem;color:#fff}.close-modal-btn{background:none;border:none;color:var(--color-text-secondary);cursor:pointer;padding:.25rem;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .15s}.close-modal-btn:hover{background:#ffffff14;color:#fff}.modal-body{padding:1.25rem}.preview-modal{width:920px;max-width:95vw;height:min(680px,88vh)}.preview-modal.drill-active .puzzle-trainer-board{max-width:440px}.preview-moves-label{font-family:SF Mono,ui-monospace,monospace;font-size:.8rem;color:var(--color-text-secondary);margin:.25rem 0 0}.preview-modal-body{display:flex;flex-direction:column;gap:1rem;padding:1.25rem;flex:1;min-height:0;overflow:hidden}.preview-tab-row{display:flex;flex-direction:row;gap:1.5rem;flex:1;min-height:0}.preview-board-column{flex:0 0 280px;display:flex;flex-direction:column;align-items:center;gap:.75rem}.preview-board-container{width:280px;height:280px;border-radius:.5rem;overflow:hidden;border:1px solid var(--color-border)}.preview-board-skeleton{width:100%;height:100%;background:linear-gradient(90deg,#1e293b66 25%,#1e293b99,#1e293b66 75%);background-size:200% 100%;animation:loading-shimmer 1.5s infinite}.preview-board-container .chessboard-wrapper{max-width:100%;height:100%;border:none;box-shadow:none;background:transparent;padding:0;flex:1}.preview-controls{display:flex;gap:.4rem;width:100%}.preview-controls button{flex:1;display:flex;justify-content:center;align-items:center;padding:.4rem}.preview-info-column{flex:1;display:flex;flex-direction:column;gap:1rem;min-width:0;min-height:0}.preview-tab-content{flex:1;min-height:0;overflow-y:auto;padding-right:.25rem;scrollbar-gutter:stable}.info-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.eco-badge-large{font-size:.75rem;font-weight:700;background:#ffffff14;border:1px solid var(--color-border);color:var(--color-text-secondary);padding:.15rem .5rem;border-radius:4px}.category-badge-large{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;background:#6366f11a;color:var(--color-indigo-400);border:1px solid rgba(99,102,241,.25);padding:.15rem .5rem;border-radius:4px}.info-meta .badges-row{display:flex;gap:.35rem}.info-moves-list,.info-description{display:flex;flex-direction:column;gap:.4rem}.info-moves-list h4,.info-description h4{margin:0;font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary)}.moves-flow{background:#0003;border:1px solid var(--color-border);border-radius:.5rem;padding:.75rem;line-height:1.7;max-height:110px;overflow-y:auto;font-size:.85rem}.move-num-label{color:var(--color-text-secondary);font-weight:600;font-family:SF Mono,ui-monospace,monospace}.move-ply-label{font-family:SF Mono,ui-monospace,monospace;color:var(--color-text);padding:.1rem .3rem;border-radius:4px;transition:all .15s ease}.move-ply-label.is-highlighted{background:#6366f14d;color:var(--color-indigo-300);font-weight:700}.info-description p{margin:0;font-size:.88rem;color:var(--color-text-secondary);line-height:1.5;background:#ffffff03;border:1px solid rgba(255,255,255,.02);border-radius:.5rem;padding:.75rem}.import-modal{width:440px}.import-prompt{font-size:.9rem;color:var(--color-text-secondary);line-height:1.5;margin:0 0 1.25rem}.import-prompt strong{color:#fff}.import-details-summary{background:#00000026;border:1px solid var(--color-border);border-radius:.5rem;padding:.75rem 1rem;display:flex;flex-direction:column;gap:.5rem;margin-top:1rem}.summary-item{display:flex;justify-content:space-between;font-size:.8rem}.summary-item .label{color:var(--color-text-secondary)}.summary-item .val{font-weight:600;color:var(--color-text);max-width:70%;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}@media (max-width: 768px){.preview-modal{width:100%;height:auto;max-height:90vh;overflow-y:auto}.preview-modal-body{flex-direction:column;align-items:center;gap:1rem}.preview-board-column,.preview-board-container{width:240px;height:240px}.preview-board-column{flex:0 0 240px}}.import-mode-selector{display:flex;background:#00000040;border:1px solid var(--color-border);border-radius:.5rem;padding:2px}.import-mode-btn{flex:1;background:none;border:none;color:var(--color-text-secondary);font-size:.82rem;font-weight:600;padding:.45rem;border-radius:.4rem;cursor:pointer;transition:all .15s ease;font-family:inherit;text-align:center}.import-mode-btn:hover{color:#fff;background:#ffffff0a}.import-mode-btn.active{background:var(--color-indigo-600, #4f46e5);color:#fff}.preview-modal.repertoire-preview-modal{width:860px;max-width:95vw}.repertoire-preview-modal .preview-modal-body{display:flex;flex-direction:row;gap:1.5rem;padding:1.25rem;max-height:480px}.repertoire-preview-modal .variations-sidebar{flex:0 0 230px;display:flex;flex-direction:column;gap:.5rem;max-height:380px;overflow-y:auto;border-right:1px solid var(--color-border);padding-right:1rem}.repertoire-preview-modal .variations-sidebar h4{margin:0 0 .5rem;font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary)}.variation-item{background:#ffffff05;border:1px solid var(--color-border);border-radius:.4rem;padding:.6rem;cursor:pointer;transition:all .15s ease;display:flex;flex-direction:column;gap:.25rem}.variation-item:hover{background:#ffffff0d;border-color:#6366f14d}.variation-item.is-active{background:#6366f11a;border-color:var(--color-indigo-500);box-shadow:0 0 10px #6366f10d}.variation-header{display:flex;justify-content:space-between;align-items:center}.variation-title{font-size:.78rem;font-weight:600;color:#fff}.variation-mainline-badge{font-size:.62rem;background:#10b98126;color:#10b981;border:1px solid rgba(16,185,129,.3);padding:.05rem .3rem;border-radius:4px;font-weight:700;text-transform:uppercase}.variation-moves-preview{font-family:SF Mono,ui-monospace,monospace;font-size:.72rem;color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.repertoire-preview-comments{display:flex;flex-direction:column;gap:.4rem}.repertoire-preview-comments h4{margin:0;font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary)}.repertoire-comment-card{background:#6366f10d;border:1px solid rgba(99,102,241,.15);border-radius:.5rem;padding:.75rem;font-size:.85rem;color:#cbd5e1;line-height:1.45;min-height:60px;max-height:100px;overflow-y:auto}.repertoire-comment-card.is-empty{color:var(--color-text-secondary);font-style:italic;background:#0000001a;border-color:var(--color-border)}@media (max-width: 900px){.preview-modal.repertoire-preview-modal{width:100%;max-height:90vh;overflow-y:auto}.repertoire-preview-modal .preview-modal-body{flex-direction:column;align-items:stretch;max-height:none}.repertoire-preview-modal .variations-sidebar{border-right:none;border-bottom:1px solid var(--color-border);padding-right:0;padding-bottom:1rem;flex:none;max-height:180px}}.pe-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;z-index:200;display:flex;align-items:center;justify-content:center;padding:1rem;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.pe-modal{background:var(--color-panel);border:1px solid var(--color-border);border-radius:12px;width:100%;max-width:960px;max-height:90vh;overflow-y:auto;display:flex;flex-direction:column}.pe-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--color-border);flex-shrink:0}.pe-title{font-size:1rem;font-weight:600;color:var(--color-text-primary)}.pe-close-btn{background:none;border:none;color:var(--color-text-secondary);cursor:pointer;padding:4px;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s}.pe-close-btn:hover{background:#ffffff14;color:var(--color-text-primary)}.pe-body{display:flex;gap:1.25rem;padding:1.25rem;flex:1}.pe-palette{display:flex;flex-direction:column;gap:.75rem;flex-shrink:0;width:164px}.pe-palette-section{display:flex;flex-direction:column;gap:4px}.pe-palette-label{font-size:.7rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--color-text-muted)}.pe-palette-row{display:flex;gap:4px;flex-wrap:wrap}.pe-palette-cell{width:40px;height:40px;border:2px solid var(--color-border);border-radius:6px;background:#ffffff0a;cursor:pointer;overflow:hidden;position:relative;transition:border-color .15s,background .15s;padding:0}.pe-palette-cell:hover{border-color:var(--color-indigo-400);background:#818cf81a}.pe-palette-cell.is-selected{border-color:var(--color-indigo-500);background:#6366f133;box-shadow:0 0 0 2px #6366f159}.pe-piece-wrap{width:320px!important;height:320px!important;position:absolute!important;top:0!important;left:0!important;pointer-events:none}.pe-piece-wrap piece{width:40px!important;height:40px!important;position:absolute!important;top:0!important;left:0!important;background-size:cover!important}.pe-palette-tools{display:flex;flex-direction:column;gap:4px;margin-top:4px}.pe-tool-btn{display:flex;align-items:center;gap:6px;padding:6px 10px;background:#ffffff0a;border:1px solid var(--color-border);border-radius:6px;color:var(--color-text-secondary);font-size:.75rem;cursor:pointer;transition:background .15s,color .15s,border-color .15s;width:100%;text-align:left}.pe-tool-btn:hover{background:#ffffff14;color:var(--color-text-primary)}.pe-tool-btn.is-selected{background:#ef444426;border-color:#ef4444;color:#f87171}.pe-tool-hint{font-size:.7rem;color:var(--color-indigo-400);line-height:1.4;background:#6366f114;border:1px solid rgba(99,102,241,.2);border-radius:6px;padding:6px 8px}.pe-board-wrap{display:flex;flex-direction:column;align-items:center;flex-shrink:0}.pe-board-inner{position:relative;display:inline-block}.pe-board{width:400px!important;height:400px!important}.pe-click-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;-webkit-user-select:none;user-select:none}.pe-click-overlay.cursor-place{cursor:crosshair}.pe-click-overlay.cursor-eraser{cursor:cell}.pe-controls{flex:1;display:flex;flex-direction:column;gap:1rem;min-width:200px}.pe-control-group{display:flex;flex-direction:column;gap:6px}.pe-control-label{font-size:.7rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--color-text-muted)}.pe-turn-buttons{display:flex;gap:6px}.pe-turn-btn{flex:1;padding:6px 12px;border-radius:6px;border:1px solid var(--color-border);background:#ffffff0a;color:var(--color-text-secondary);font-size:.8rem;cursor:pointer;transition:all .15s}.pe-turn-btn:hover{background:#ffffff14;color:var(--color-text-primary)}.pe-turn-btn.is-active{background:var(--color-indigo-600);border-color:var(--color-indigo-500);color:#fff}.pe-castling-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.pe-checkbox-label{display:flex;align-items:center;gap:6px;font-size:.78rem;color:var(--color-text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none}.pe-checkbox-label input[type=checkbox]{accent-color:var(--color-indigo-500);width:14px;height:14px;cursor:pointer}.pe-ep-input{background:#ffffff0a;border:1px solid var(--color-border);border-radius:6px;color:var(--color-text-primary);font-size:.8rem;padding:6px 10px;width:100%;outline:none;transition:border-color .15s}.pe-ep-input:focus{border-color:var(--color-indigo-500)}.pe-fen-row{display:flex;align-items:center;gap:8px;background:#00000040;border:1px solid var(--color-border);border-radius:6px;padding:6px 10px}.pe-fen-text{flex:1;font-size:.7rem;font-family:var(--font-mono);color:var(--color-text-secondary);word-break:break-all}.pe-copy-btn{display:flex;align-items:center;gap:4px;padding:3px 8px;background:#ffffff0f;border:1px solid var(--color-border);border-radius:5px;color:var(--color-text-secondary);font-size:.7rem;cursor:pointer;white-space:nowrap;transition:all .15s;flex-shrink:0}.pe-copy-btn:hover{background:#ffffff1a;color:var(--color-text-primary)}.pe-paste-row{display:flex;gap:6px}.pe-fen-input{flex:1;background:#ffffff0a;border:1px solid var(--color-border);border-radius:6px;color:var(--color-text-primary);font-size:.75rem;font-family:var(--font-mono);padding:6px 10px;outline:none;transition:border-color .15s}.pe-fen-input:focus{border-color:var(--color-indigo-500)}.pe-paste-btn{padding:6px 14px;background:#ffffff0f;border:1px solid var(--color-border);border-radius:6px;color:var(--color-text-secondary);font-size:.78rem;cursor:pointer;white-space:nowrap;transition:all .15s}.pe-paste-btn:hover{background:#ffffff1a;color:var(--color-text-primary)}.pe-error{font-size:.78rem;color:#f87171;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:6px;padding:7px 10px}.pe-actions{display:flex;flex-direction:column;gap:8px;margin-top:auto}.pe-btn-analyze,.pe-btn-play{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .15s;border:none;width:100%}.pe-btn-analyze{background:linear-gradient(135deg,var(--color-indigo-600),var(--color-indigo-500));color:#fff}.pe-btn-analyze:hover{opacity:.9;transform:translateY(-1px);box-shadow:0 4px 12px #6366f159}.pe-btn-play{background:#10b98126;border:1px solid rgba(16,185,129,.4);color:var(--color-emerald-500)}.pe-btn-play:hover{background:#10b98138;box-shadow:0 4px 12px #10b98133}@media (max-width: 840px){.pe-body{flex-direction:column;align-items:center}.pe-palette{width:100%;max-width:440px}.pe-palette-row{flex-wrap:nowrap;justify-content:center}.pe-palette-tools{flex-direction:row}.pe-board{width:min(90vw,400px)!important;height:min(90vw,400px)!important}.pe-controls{width:100%;max-width:440px}.pe-actions{flex-direction:row}}.build-from-games-wizard{display:flex;flex-direction:column;gap:1rem;max-width:860px;margin:0 auto;padding:1.5rem}.bfg-subtitle{margin:0;font-size:.875rem;color:var(--color-text-muted, #888)}.bfg-loading{display:flex;align-items:center;gap:.5rem;color:var(--color-text-muted, #888);font-size:.9rem}.bfg-search-row{display:flex;gap:.75rem}.bfg-search{flex:1;padding:.45rem .75rem;border:1px solid var(--color-border, #333);border-radius:6px;background:var(--color-surface, #1e1e1e);color:var(--color-text, #eee);font-size:.875rem}.bfg-table-wrap{overflow-x:auto;border:1px solid var(--color-border, #333);border-radius:8px}.bfg-table{width:100%;border-collapse:collapse;font-size:.875rem}.bfg-table thead th{padding:.6rem .75rem;text-align:left;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted, #888);border-bottom:1px solid var(--color-border, #333)}.bfg-row{cursor:pointer;transition:background .12s}.bfg-row:hover{background:var(--color-surface-hover, #2a2a2a)}.bfg-row.is-selected{background:color-mix(in srgb,var(--color-accent, #7c6af7) 12%,transparent);outline:1px solid var(--color-accent, #7c6af7);outline-offset:-1px}.bfg-row td{padding:.55rem .75rem;border-bottom:1px solid var(--color-border, #222);vertical-align:middle}.bfg-row:last-child td{border-bottom:none}.bfg-col-name{display:flex;align-items:center;gap:.4rem;font-weight:500}.bfg-icon{opacity:.45;flex-shrink:0}.bfg-col-num{text-align:center;width:60px;color:var(--color-text-muted, #aaa)}.bfg-col-bar{width:200px;display:flex;flex-direction:column;gap:3px}.win-bar{display:flex;height:6px;border-radius:3px;overflow:hidden;background:var(--color-border, #333)}.win-bar-white{background:#e8e8e8}.win-bar-draw{background:#888}.win-bar-black{background:#333}.bfg-wdl-text{font-size:.7rem;color:var(--color-text-muted, #888)}.bfg-config{margin-top:.25rem}.bfg-config-summary{display:flex;align-items:center;gap:.5rem;font-size:.875rem;margin-bottom:1rem;padding:.5rem .75rem;background:var(--color-surface-hover, #2a2a2a);border-radius:6px}.bfg-config-games{color:var(--color-text-muted, #888);font-size:.8rem}.bfg-color-toggle{display:flex;gap:.5rem}.bfg-error{color:#f87171;font-size:.85rem;margin:0}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:spin .8s linear infinite}.coach-dashboard{width:100%;max-width:1100px;margin:0 auto;padding:1.5rem;display:flex;flex-direction:column;gap:1.25rem;color:#e5e7eb}.coach-header{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;flex-wrap:wrap;padding-bottom:.85rem;border-bottom:1px solid rgba(255,255,255,.07)}.coach-header h1{display:flex;align-items:center;gap:.55rem;margin:0;font-size:1.75rem;font-weight:800;letter-spacing:-.03em;background:linear-gradient(135deg,#a78bfa,#e879f9 45%,#f0abfc 75%,#a78bfa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 0 18px rgba(217,70,239,.32))}.coach-header h1 svg{-webkit-text-fill-color:initial;color:#c084fc;filter:drop-shadow(0 0 6px rgba(192,132,252,.6));flex-shrink:0}.coach-subtitle{margin:.45rem 0 0;color:#94a3b8;font-size:.935rem;line-height:1.65;letter-spacing:.005em}.coach-refresh-btn{display:inline-flex;align-items:center;gap:.4rem;background:#1f2937;color:#d1d5db;border:1px solid #374151;border-radius:8px;padding:.4rem .8rem;font-size:.85rem;cursor:pointer}.coach-refresh-btn:hover:not(:disabled){background:#273245}.coach-empty,.coach-error{width:100%;max-width:600px;margin:4rem auto;padding:2rem;text-align:center;color:#9ca3af;background:#111827;border:1px solid #1f2937;border-radius:12px;display:flex;flex-direction:column;align-items:center;gap:.5rem}.coach-header-actions{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.coach-profile-chip{display:inline-flex;align-items:center;gap:.4rem;background:#1f2937;color:#d1d5db;border:1px solid #374151;border-radius:999px;padding:.35rem .7rem;font-size:.85rem;cursor:pointer;transition:background .15s}.coach-profile-chip:hover{background:#273245}.coach-profile-chip-rating{font-weight:700;color:#fff}.coach-profile-chip-focus{color:#9ca3af;max-width:12ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.coach-tab-bar{display:flex;position:sticky;top:0;z-index:20;background-color:#020617d1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--color-border);border-radius:.5rem;padding:.25rem;gap:.25rem}.coach-tab-btn{flex:1;display:flex;align-items:center;justify-content:center;padding:.5rem .75rem;font-size:.85rem;font-weight:600;color:var(--color-text-secondary);background:transparent;border:none;border-radius:.375rem;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1)}.coach-tab-btn:hover:not(.active){color:var(--color-text-primary);background-color:#ffffff0d}.coach-tab-btn.active{color:#fff;background-color:var(--color-indigo-600);box-shadow:0 2px 8px #4f46e533}.coach-tab-panel{display:flex;flex-direction:column;gap:1.25rem;animation:coachTabIn .28s cubic-bezier(.4,0,.2,1) both}@keyframes coachTabIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.coach-tab-panel{animation:none}}.coach-profile-modal{width:720px;max-height:90vh;overflow:hidden}.coach-profile-modal .modal-header h3{display:flex;align-items:center;gap:.5rem;font-size:1.1rem}.coach-profile-modal-body{overflow-y:auto}.coach-profile-modal-body .coach-player-card{background:transparent;border:none;padding:0;margin:0}.coach-empty h2{color:#e5e7eb;margin:.5rem 0 0}.coach-error{flex-direction:row;justify-content:center;color:#fca5a5}.coach-error button{margin-left:.5rem;background:#374151;color:#fff;border:none;border-radius:6px;padding:.3rem .7rem;cursor:pointer}.coach-card{background:#111827;border:1px solid #1f2937;border-radius:12px;padding:1rem 1.25rem}.coach-card h2,.coach-card h3{margin:0 0 .75rem;color:#f9fafb;font-weight:600;display:flex;align-items:center;gap:.4rem}.coach-card h2{font-size:1.05rem}.coach-card h3{font-size:.95rem}.coach-plan-card h2{justify-content:flex-start}.coach-plan-eta{margin-left:auto;font-size:.8rem;color:#9ca3af;font-weight:400}.coach-plan-progress{margin-left:auto;font-size:.8rem;color:#cbd5e1;font-weight:500}.coach-plan-streak{display:inline-flex;align-items:center;gap:.25rem;margin-left:.6rem;padding:.1rem .45rem;border-radius:999px;background:#f9731626;border:1px solid rgba(249,115,22,.4);color:#fb923c;font-size:.72rem;font-weight:600}.coach-plan-streak+.coach-plan-progress,.coach-plan-streak+.coach-plan-eta{margin-left:auto}.coach-plan-complete-strip{display:flex;align-items:center;gap:.4rem;margin:.2rem 0 .1rem;padding:.5rem .7rem;border-radius:8px;background:#22c55e1f;border:1px solid rgba(34,197,94,.35);color:#4ade80;font-size:.85rem;font-weight:600}.coach-session-banner-wrap{width:100%;max-width:1160px;margin:0 auto}.coach-session-banner{display:flex;align-items:center;gap:.5rem;margin:0 0 .85rem;padding:.55rem .8rem;border-radius:10px;background:#818cf81f;border:1px solid rgba(129,140,248,.35);color:#c7d2fe;font-size:.85rem}.coach-session-banner-icon{color:#a5b4fc;flex-shrink:0}.coach-session-banner-label{flex:1;min-width:0}.coach-session-banner-label strong{color:#e0e7ff}.coach-session-banner-progress{color:#94a3b8}.coach-session-banner-back{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .7rem;border-radius:8px;background:#818cf833;border:1px solid rgba(129,140,248,.45);color:#e0e7ff;font-size:.8rem;font-weight:600;cursor:pointer;white-space:nowrap}.coach-session-banner-back:hover{background:#818cf852}.coach-ack-strip{display:flex;align-items:center;gap:.5rem;margin:0 0 .75rem;padding:.6rem .8rem;border-radius:10px;background:#22c55e1f;border:1px solid rgba(34,197,94,.35);color:#4ade80;font-size:.88rem;font-weight:600}.coach-ack-strip span{flex:1}.coach-ack-dismiss{display:inline-flex;background:transparent;border:none;color:#4ade80;cursor:pointer;opacity:.7;padding:.15rem}.coach-ack-dismiss:hover{opacity:1}.coach-empty-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem}.coach-plan-empty-text{margin:.3rem 0 0;color:var(--color-text-secondary, #94a3b8);font-size:.9rem}.coach-empty-btn{padding:.55rem 1rem;border-radius:9px;background:#1f2937;border:1px solid #2d3a52;color:#e5e7eb;font-size:.88rem;font-weight:600;cursor:pointer}.coach-empty-btn:hover{background:#273449}.coach-empty-btn-primary{background:linear-gradient(180deg,#818cf8,#6366f1);border-color:#6366f1;color:#fff}.coach-empty-btn-primary:hover{filter:brightness(1.05)}.coach-plan-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem}.coach-plan-action{background:#1f2937;border:1px solid #2d3a52;border-radius:10px;padding:.8rem;text-align:left;color:#e5e7eb;cursor:pointer;display:flex;flex-direction:row;align-items:flex-start;gap:.55rem;transition:border-color .12s,transform .12s,opacity .12s}.coach-plan-action:hover{border-color:#6366f1;transform:translateY(-1px)}.coach-plan-action-check{display:flex;flex-shrink:0;margin-top:.05rem;color:#64748b}.coach-plan-action-body{display:flex;flex-direction:column;gap:.3rem;min-width:0}.coach-plan-action-title{font-weight:600;color:#fff}.coach-plan-action-desc{font-size:.85rem;color:#cbd5e1}.coach-plan-action-reason{font-size:.75rem;line-height:1.3;color:#fcd34d;opacity:.85;display:flex;align-items:baseline;gap:.3rem}.coach-plan-action-reason:before{content:"💡";font-size:.7rem;flex-shrink:0}.coach-plan-action-minutes{margin-left:auto;align-self:flex-start;flex-shrink:0;font-size:.75rem;color:#94a3b8}.coach-plan-action.is-done{opacity:.7}.coach-plan-action.is-done .coach-plan-action-check{color:#22c55e}.coach-plan-action.is-done .coach-plan-action-title{text-decoration:line-through;color:#94a3b8}.coach-stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}.coach-stat-card{display:flex;flex-direction:column;gap:.5rem}.coach-bar-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.6rem}.coach-bar-list li.is-worst .coach-bar-fill{background:#ef4444}.coach-bar-row{display:flex;justify-content:space-between;font-size:.85rem;color:#d1d5db}.coach-bar-value{color:#fff;font-weight:600}.coach-bar-track{height:6px;background:#1f2937;border-radius:3px;overflow:hidden;margin:4px 0}.coach-bar-fill{height:100%;background:#6366f1;border-radius:3px;transition:width .2s}.coach-bar-fill-positive{background:#10b981}.coach-bar-meta{font-size:.75rem;color:#6b7280}.coach-card-footer{margin:.5rem 0 0;font-size:.75rem;color:#fbbf24;display:flex;align-items:center;gap:.3rem}.coach-big-stat{display:flex;flex-direction:column;align-items:center;padding:.5rem}.coach-big-stat-value{font-size:2rem;font-weight:700;color:#fff}.coach-big-stat-label{font-size:.8rem;color:#9ca3af}.coach-table-wrap{overflow-x:auto}.coach-table{width:100%;border-collapse:collapse;font-size:.85rem}.coach-table th,.coach-table td{text-align:left;padding:.5rem .6rem;border-bottom:1px solid #1f2937}.coach-table th{color:#9ca3af;font-weight:500}.coach-table tbody tr:hover{background:#1a2233}.coach-pawn-learn-btn{background:#2563eb;color:#fff;border:none;padding:.35rem .75rem;border-radius:4px;font-size:.8rem;font-weight:500;cursor:pointer;transition:background .2s}.coach-pawn-learn-btn:hover{background:#1d4ed8}.coach-pawn-learn-btn:disabled{background:#4b5563;cursor:not-allowed}.coach-table-details-row{background:#0f172a}.coach-table-details-row:hover{background:#0f172a!important}.coach-structure-details{padding:.5rem 1rem}.coach-structure-details h4{margin:0 0 .5rem;font-size:.85rem;font-weight:600;color:#e2e8f0}.coach-worst-moments-chips{display:flex;flex-wrap:wrap;gap:.5rem}.coach-moment-chip{background:#1e293b;color:#f1f5f9;border:1px solid #334155;padding:.25rem .5rem;border-radius:6px;font-size:.75rem;cursor:pointer;display:flex;align-items:center;gap:.25rem;transition:all .2s}.coach-moment-chip:hover{background:#334155;border-color:#475569}.coach-no-moments{font-size:.8rem;color:#94a3b8;margin:0}.coach-theme-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.7rem}.coach-muted{color:#6b7280}.coach-blunder-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column}.coach-blunder-list li{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.6rem .2rem;border-bottom:1px solid #1f2937}.coach-blunder-list li:last-child{border-bottom:none}.coach-blunder-main{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.coach-blunder-tag{font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;padding:.1rem .5rem;border-radius:4px;background:#1f2937;color:#d1d5db}.coach-tag-blunder{background:#7f1d1d;color:#fecaca}.coach-tag-mistake{background:#78350f;color:#fde68a}.coach-tag-miss{background:#581c87;color:#e9d5ff}.coach-blunder-san{font-weight:600;color:#fff;font-family:ui-monospace,monospace}.coach-blunder-best{color:#34d399;font-family:ui-monospace,monospace;font-size:.9rem}.coach-blunder-meta{color:#94a3b8;font-size:.8rem}.coach-blunder-action{background:#1f2937;border:1px solid #374151;border-radius:6px;color:#e5e7eb;padding:.3rem .7rem;font-size:.8rem;cursor:pointer}.coach-blunder-action:hover{background:#273245;border-color:#6366f1}.coach-progress-card{display:flex;flex-direction:column;gap:.8rem}.coach-progress-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.coach-range-selector{display:inline-flex;background:#0f172a;border:1px solid #1f2937;border-radius:6px;overflow:hidden}.coach-range-btn{background:transparent;border:none;color:#94a3b8;padding:.3rem .7rem;font-size:.8rem;cursor:pointer}.coach-range-btn.is-active{background:#1f2937;color:#fff}.coach-range-btn:hover{color:#fff}.coach-rating-series-pills{display:flex;flex-wrap:wrap;gap:.4rem;margin:.25rem 0 .75rem}.coach-rating-series-pills .coach-range-btn{display:inline-flex;align-items:center;gap:.35rem;border:1px solid #1f2937;border-radius:999px;background:#0f172a}.coach-rating-pill-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.coach-progress-empty{color:#6b7280;font-size:.85rem;padding:1rem 0;text-align:center}.coach-progress-coldstart{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.5rem;padding:1.6rem 1rem;color:#94a3b8}.coach-progress-coldstart svg{color:#475569}.coach-progress-coldstart-headline{font-size:1rem;font-weight:600;color:#e2e8f0;margin:0}.coach-progress-coldstart-sub{font-size:.85rem;margin:0;max-width:46ch}.coach-progress-hero{display:flex;align-items:center;gap:.6rem;padding:.85rem 1rem;border-radius:10px;background:#0f172a;border:1px solid #1f2937;font-size:1.02rem;font-weight:700;color:#e2e8f0}.coach-progress-hero.is-positive{border-color:#14532d;background:linear-gradient(90deg,#14532d47,#0f172a66);color:#bbf7d0}.coach-progress-hero svg{color:#f59e0b;flex-shrink:0}.coach-progress-hero.is-positive svg{color:#4ade80}.coach-progress-wins{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.6rem}.coach-progress-win{display:flex;align-items:flex-start;gap:.55rem;padding:.7rem .8rem;background:#0f172a;border:1px solid #1f2937;border-left:3px solid #22c55e;border-radius:8px}.coach-progress-win-icon{color:#4ade80;display:flex;padding-top:.1rem}.coach-progress-win-body{display:flex;flex-direction:column;gap:.2rem}.coach-progress-win-title{font-size:.88rem;font-weight:700;color:#e2e8f0}.coach-progress-win-detail{font-size:.8rem;color:#94a3b8;line-height:1.35}.coach-progress-compare{display:flex;flex-direction:column;gap:.15rem;background:#0f172a;border:1px solid #1f2937;border-radius:8px;padding:.7rem .85rem}.coach-progress-compare-head,.coach-progress-compare-row{display:grid;grid-template-columns:1.4fr 1fr 1fr .4fr;align-items:center;gap:.5rem}.coach-progress-compare-head{font-size:.72rem;padding-bottom:.25rem}.coach-progress-compare-head span:nth-child(2),.coach-progress-compare-head span:nth-child(3),.coach-progress-compare-row .coach-progress-compare-prior,.coach-progress-compare-row .coach-progress-compare-recent{text-align:right}.coach-progress-compare-row{padding:.28rem 0;font-size:.85rem}.coach-progress-compare-label{color:#cbd5e1}.coach-progress-compare-prior{color:#64748b}.coach-progress-compare-recent{color:#e2e8f0;font-weight:700}.coach-progress-compare-arrow{display:flex;justify-content:flex-end}.coach-progress-compare-arrow.is-up{color:#4ade80}.coach-progress-compare-arrow.is-down{color:#f87171}.coach-progress-compare-arrow.is-flat{color:#475569}.coach-progress-eliminated h4{font-size:.82rem;color:#cbd5e1;margin:0 0 .4rem}.coach-progress-eliminated-item{display:flex;align-items:center;gap:.45rem;font-size:.84rem;color:#bbf7d0;padding:.25rem 0}.coach-progress-eliminated-item svg{color:#4ade80;flex-shrink:0}.coach-skills-card{display:flex;flex-direction:column;gap:.8rem}.coach-skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem}.coach-skill-card{display:flex;flex-direction:column;gap:.5rem;background:#0f172a;border:1px solid #1f2937;border-radius:8px;padding:.8rem .9rem}.coach-skill-card.is-empty{opacity:.7}.coach-skill-card-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.coach-skill-card-label{font-size:.82rem;font-weight:600;color:#e2e8f0}.coach-skill-delta{display:inline-flex;align-items:center;gap:.2rem;font-size:.72rem;font-weight:600;padding:.12rem .4rem;border-radius:5px;border:1px solid #1f2937}.coach-skill-delta.is-up{color:#86efac;border-color:#14532d}.coach-skill-delta.is-down{color:#fca5a5;border-color:#7f1d1d}.coach-skill-score-row{display:flex;align-items:baseline;gap:.3rem}.coach-skill-score{font-size:1.9rem;font-weight:700;line-height:1}.coach-skill-score-max{font-size:.78rem;color:#6b7280}.coach-skill-sparkline{width:100%;height:40px;display:block}.coach-skill-sparkline-empty{font-size:.7rem;color:#6b7280;height:40px;display:flex;align-items:center}.coach-skill-basis{font-size:.72rem;color:#94a3b8;margin:0;line-height:1.3}.coach-skill-advice{display:flex;align-items:center;justify-content:space-between;gap:.4rem;text-align:left;margin-top:auto;background:transparent;border:1px solid #1f2937;border-radius:6px;padding:.45rem .6rem;color:#cbd5e1;font-size:.78rem;cursor:pointer;transition:border-color .15s,color .15s,background .15s}.coach-skill-advice:hover{border-color:#3b82f6;color:#fff;background:#1e293b}.coach-skill-advice svg{flex-shrink:0}.coach-delta-chips{display:flex;flex-wrap:wrap;gap:.5rem}.coach-delta-chip{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .7rem;border-radius:6px;font-size:.82rem;background:#0f172a;border:1px solid #1f2937;color:#d1d5db}.coach-delta-chip.is-up{border-color:#14532d;color:#86efac}.coach-delta-chip.is-down{border-color:#7f1d1d;color:#fca5a5}.coach-delta-chip.is-neutral{border-color:#1f2937;color:#94a3b8}.coach-progress-chart-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:.8rem}.coach-chart-card{background:#0f172a;border:1px solid #1f2937;border-radius:8px;padding:.8rem}.coach-chart-card h4{margin:0 0 .5rem;font-size:.85rem;color:#cbd5e1;font-weight:600}.coach-chart-svg{width:100%;height:auto;display:block}.coach-chart-tick{font-size:9px;fill:#6b7280;font-family:ui-sans-serif,system-ui}.coach-chart-legend{font-size:10px;fill:#94a3b8;font-family:ui-sans-serif,system-ui}.coach-narration-card{background:linear-gradient(180deg,#1e293b,#172033);border:1px solid #334155;border-radius:12px;padding:20px 22px;margin-bottom:16px;color:#e2e8f0}.coach-narration-muted{background:#1a2030;border-color:#2c3344}.coach-narration-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.coach-narration-header h2{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#94a3b8;margin:0}.coach-narration-headline{margin:0 0 10px;font-size:20px;font-weight:700;line-height:1.3;color:#f8fafc}.coach-narration-summary{margin:0 0 12px;font-size:14px;line-height:1.55;color:#cbd5e1}.coach-narration-highlights{margin:0 0 12px;padding-left:18px;color:#cbd5e1;font-size:13px;line-height:1.6}.coach-narration-highlights li{margin-bottom:4px}.coach-narration-next-step{margin:8px 0 0;padding:10px 12px;background:#38bdf814;border-left:3px solid #38bdf8;border-radius:4px;font-size:13px;color:#e2e8f0}.coach-narration-next-step strong{color:#7dd3fc;margin-right:4px}.coach-narration-empty,.coach-narration-error{margin:0;font-size:13px;color:#94a3b8}.coach-narration-empty code{background:#0f172a;padding:1px 6px;border-radius:3px;font-size:12px;color:#fbbf24}.coach-narration-skeleton,.coach-skeleton{display:flex;flex-direction:column;gap:8px}.coach-narration-skeleton .skeleton-line,.coach-skeleton .skeleton-line{height:10px;border-radius:4px;background:linear-gradient(90deg,#2a3447,#354056,#2a3447);background-size:200% 100%;animation:coach-skeleton-shimmer 1.4s ease-in-out infinite}.coach-narration-skeleton .skeleton-line-headline,.coach-skeleton .skeleton-line-headline{height:18px;width:65%}.coach-narration-skeleton .skeleton-line-short,.coach-skeleton .skeleton-line-short{width:40%}@keyframes coach-skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.coach-narration-cursor{display:inline-block;margin-left:2px;color:#7dd3fc;animation:coach-cursor-blink 1s steps(2,start) infinite}@keyframes coach-cursor-blink{to{visibility:hidden}}.coach-chat-card{background:#141a28;border:1px solid #2c3344;border-radius:12px;padding:18px 20px;margin-bottom:16px;color:#e2e8f0;display:flex;flex-direction:column;gap:12px}.coach-chat-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.coach-chat-header h2{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#94a3b8;margin:0}.coach-chat-starters{display:flex;flex-wrap:wrap;gap:8px}.coach-chat-starter{background:#1e293b;border:1px solid #334155;color:#cbd5e1;border-radius:16px;padding:6px 12px;font-size:12px;cursor:pointer}.coach-chat-starter:hover:not(:disabled){background:#2a3447}.coach-chat-starter:disabled{opacity:.5;cursor:default}.coach-chat-transcript{display:flex;flex-direction:column;gap:10px;max-height:360px;overflow-y:auto;padding:4px 2px}.coach-chat-bubble{padding:10px 12px;border-radius:10px;font-size:13.5px;line-height:1.55;max-width:92%}.coach-chat-user{align-self:flex-end;background:#38bdf826;color:#e2e8f0;border:1px solid rgba(56,189,248,.25)}.coach-chat-assistant{align-self:flex-start;background:#1e293b;border:1px solid #334155}.coach-chat-content{white-space:pre-wrap;word-wrap:break-word}.coach-chat-tools{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:6px}.coach-chat-tool-chip{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:#94a3b8;background:#ffffff0a;border:1px solid #2c3344;border-radius:10px;padding:2px 7px}.coach-chat-input-row{display:flex;gap:8px}.coach-chat-input{flex:1;background:#0f172a;border:1px solid #334155;color:#e2e8f0;border-radius:8px;padding:10px 12px;font-size:13.5px;font-family:inherit;resize:vertical;min-height:44px}.coach-chat-input:focus{outline:none;border-color:#38bdf8}.coach-chat-input:disabled{opacity:.6}.coach-chat-send{display:inline-flex;align-items:center;gap:6px;background:#38bdf8;color:#0f172a;border:none;border-radius:8px;padding:0 16px;font-weight:600;font-size:13px;cursor:pointer}.coach-chat-send:disabled{background:#2c3344;color:#64748b;cursor:default}.coach-chat-conv-controls{display:flex;align-items:center;gap:8px}.coach-chat-conv-select{background:#1e293b;border:1px solid #334155;color:#cbd5e1;border-radius:8px;padding:4px 8px;font-size:12px;cursor:pointer;max-width:240px}.coach-chat-conv-select:disabled{opacity:.6;cursor:default}.coach-chat-loading{font-size:12px;color:#64748b;padding:4px 0}.coach-player-card{margin-bottom:16px;background:linear-gradient(135deg,#111827,#1f2937);border:1px solid #2d3a52;box-shadow:0 10px 25px -5px #0000004d,0 8px 10px -6px #0000004d}.coach-player-card.loading{display:flex;align-items:center;justify-content:center;min-height:200px;font-size:.9rem;color:#9ca3af}.coach-player-card-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem}@media (max-width: 800px){.coach-player-card-grid{grid-template-columns:1fr;gap:1.5rem}}.coach-player-profile-section,.coach-memory-notes-section{display:flex;flex-direction:column;height:100%}.coach-player-card-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem;border-bottom:1px solid rgba(255,255,255,.05);padding-bottom:.5rem}.coach-player-card-header-row h2{margin:0;font-size:1.1rem;font-weight:600;color:#fff;display:flex;align-items:center;gap:.5rem}.coach-player-card-edit-btn{background:transparent;border:1px solid #4b5563;color:#d1d5db;border-radius:6px;padding:.35rem .75rem;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .15s ease-in-out}.coach-player-card-edit-btn:hover{border-color:#6366f1;color:#fff;background:#6366f10d}.coach-player-card-error{color:#f87171;background:#ef44441a;border:1px solid rgba(239,68,68,.2);border-radius:6px;padding:8px 12px;font-size:.8rem;margin-bottom:1rem}.coach-player-card-form{display:flex;flex-direction:column;gap:1rem}.coach-form-row-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.coach-form-group{display:flex;flex-direction:column;gap:.4rem}.coach-form-group label{font-size:.75rem;font-weight:600;color:#9ca3af;text-transform:uppercase;letter-spacing:.05em}.coach-player-input,.coach-player-textarea{background:#0f172a99;border:1px solid #374151;color:#f3f4f6;border-radius:6px;padding:.5rem .75rem;font-size:.85rem;font-family:inherit;outline:none;transition:all .15s ease-in-out}.coach-player-input:focus,.coach-player-textarea:focus{border-color:#6366f1;box-shadow:0 0 0 2px #6366f133;background:#0f172acc}.coach-player-textarea{resize:vertical}.coach-focus-areas-edit-container{display:flex;flex-direction:column;gap:.5rem;background:#0f172a66;border:1px solid #2d3a52;border-radius:6px;padding:.75rem}.coach-focus-area-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.25rem}.coach-focus-chip{display:inline-flex;align-items:center;gap:.35rem;background:#6366f126;border:1px solid rgba(99,102,241,.3);color:#a5b4fc;font-size:.78rem;font-weight:500;padding:.25rem .6rem;border-radius:100px;transition:all .12s}.coach-focus-chip.edit{padding-right:.35rem}.coach-remove-chip-btn{background:transparent;border:none;color:#cbd5e1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:1px;border-radius:50%;transition:background .12s,color .12s}.coach-remove-chip-btn:hover{background:#ef444433;color:#f87171}.coach-add-focus-row{display:flex;gap:.5rem;margin-top:.25rem}.coach-add-focus-row input{flex:1}.coach-add-focus-btn{background:#1f2937;border:1px solid #4b5563;color:#f3f4f6;border-radius:6px;padding:.5rem .85rem;font-size:.8rem;font-weight:600;display:inline-flex;align-items:center;gap:.25rem;cursor:pointer;transition:all .15s}.coach-add-focus-btn:hover{background:#374151;border-color:#6366f1}.coach-form-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:.5rem}.coach-btn-cancel{background:transparent;border:1px solid #4b5563;color:#d1d5db;border-radius:6px;padding:.45rem 1rem;font-size:.82rem;font-weight:500;cursor:pointer;transition:all .12s}.coach-btn-cancel:hover{background:#ffffff0d;color:#fff}.coach-btn-save{background:linear-gradient(135deg,#4f46e5,#4338ca);border:none;color:#fff;border-radius:6px;padding:.45rem 1.1rem;font-size:.82rem;font-weight:600;display:inline-flex;align-items:center;gap:.35rem;cursor:pointer;box-shadow:0 4px 10px #4f46e540;transition:all .15s}.coach-btn-save:hover:not(:disabled){opacity:.95;transform:translateY(-1px);box-shadow:0 6px 14px #4f46e559}.coach-btn-save:disabled,.coach-btn-cancel:disabled{opacity:.5;cursor:not-allowed;transform:none}.coach-player-card-display{display:flex;flex-direction:column;gap:1.1rem}.coach-display-row-grid{display:grid;grid-template-columns:1fr;gap:1rem}.coach-display-item{display:flex;flex-direction:column;gap:.25rem}.coach-display-label{font-size:.72rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.coach-display-value{font-size:1.15rem;color:#fff;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.coach-display-value strong{font-size:1.3rem;font-weight:700;color:#fff}.coach-rating-source-badge{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#9ca3af;font-size:.68rem;padding:.15rem .45rem;border-radius:4px;text-transform:uppercase;letter-spacing:.03em}.coach-rating-band-badge{font-size:.72rem;font-weight:600;padding:.15rem .5rem;border-radius:4px;text-transform:capitalize}.coach-rating-band-badge.band-beginner{background:#3b82f620;border:1px solid #3b82f640;color:#60a5fa}.coach-rating-band-badge.band-intermediate{background:#10b98120;border:1px solid #10b98140;color:#34d399}.coach-rating-band-badge.band-advanced{background:#f59e0b20;border:1px solid #f59e0b40;color:#fbbf24}.coach-rating-band-badge.band-expert{background:#ec489920;border:1px solid #ec489940;color:#f472b6}.coach-rating-band-badge.band-unknown{background:#6b728020;border:1px solid #6b728040;color:#9ca3af}.coach-display-text-block{margin:0;font-size:.88rem;line-height:1.5;color:#d1d5db}.coach-not-set{font-style:italic;color:#6b7280;font-size:.85rem}.coach-memory-notes-section h2{margin:0;font-size:1.1rem;font-weight:600;color:#fff;display:flex;align-items:center;gap:.5rem;margin-bottom:1.25rem;border-bottom:1px solid rgba(255,255,255,.05);padding-bottom:.5rem}.coach-memory-notes-list{display:flex;flex-direction:column;gap:.75rem;max-height:260px;overflow-y:auto;padding-right:.25rem}.coach-memory-notes-list::-webkit-scrollbar{width:5px}.coach-memory-notes-list::-webkit-scrollbar-track{background:#00000026;border-radius:4px}.coach-memory-notes-list::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:4px}.coach-memory-notes-list::-webkit-scrollbar-thumb:hover{background:#fff3}.coach-memory-note-item{background:#0f172a80;border:1px solid rgba(255,255,255,.04);border-radius:8px;padding:.6rem .8rem;display:flex;flex-direction:column;gap:.35rem;transition:background .12s}.coach-memory-note-item:hover{background:#0f172abf}.coach-memory-note-meta{display:flex;justify-content:space-between;align-items:center;font-size:.7rem}.coach-note-source{font-weight:600;text-transform:uppercase;letter-spacing:.04em}.coach-note-source.source-coach{color:#38bdf8}.coach-note-source.source-user{color:#a5b4fc}.coach-note-date{color:#6b7280}.coach-memory-note-text{margin:0;font-size:.82rem;line-height:1.45;color:#cbd5e1;word-break:break-word}.coach-memory-notes-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2rem 1rem;color:#6b7280;height:100%}.coach-memory-notes-empty p{margin:0 0 .5rem;font-size:.82rem}.coach-notes-tip{font-style:italic;font-size:.78rem!important;color:#4b5563;margin:0!important}.brain-icon{color:#38bdf8}.coach-md p{margin:0}.coach-md p+p{margin-top:.5rem}.coach-md ul,.coach-md ol{margin:.25rem 0;padding-left:1.2rem}.coach-md li{margin:.15rem 0}.coach-md strong{font-weight:700;color:var(--color-text-primary, #ffffff)}.coach-md em{font-style:italic}.coach-md code{font-family:monospace;background-color:#ffffff1a;padding:.1rem .25rem;border-radius:.25rem;font-size:.9em}.coach-game-chip,.coach-move-chip{display:inline-flex;align-items:center;background:var(--color-indigo-600, #4f46e5);color:#fff;border:1px solid var(--color-indigo-500, #6366f1);border-radius:4px;padding:2px 6px;font-size:.78rem;font-weight:600;cursor:pointer;margin:1px 2px;transition:all .15s ease-in-out;text-decoration:none;font-family:var(--font-sans)}.coach-game-chip:hover,.coach-move-chip:hover{background:var(--color-indigo-500, #6366f1);border-color:var(--color-indigo-400, #818cf8)}.coach-move-chip{background:#6366f126;color:var(--color-indigo-300, #a5b4fc);border:1px solid rgba(99,102,241,.45)}.coach-move-chip:hover{background:#6366f14d;border-color:var(--color-indigo-400, #818cf8);color:#fff}.coach-move-chip-line{background:#14b8a626;color:var(--color-teal-300, #5eead4);border:1px solid rgba(20,184,166,.45);margin:1px}.coach-move-chip-line:hover{background:#14b8a652;border-color:var(--color-teal-400, #2dd4bf);color:#fff}.coachplay-line-preview-chip{display:block;width:100%;margin-top:8px;padding:7px 12px;background:#14b8a61f;color:var(--color-teal-300, #5eead4);border:1px solid rgba(20,184,166,.4);border-radius:6px;font-size:.8rem;font-weight:600;cursor:pointer;font-family:var(--font-sans);transition:all .15s ease-in-out}.coachplay-line-preview-chip:hover{background:#14b8a63d;border-color:var(--color-teal-400, #2dd4bf);color:#fff}.endgame-dashboard{display:flex;flex-direction:column;gap:2rem;max-width:1120px}.endgame-dashboard-head{display:flex;flex-direction:column;gap:.65rem;padding-bottom:.5rem;border-bottom:1px solid rgba(255,255,255,.07)}.endgame-dashboard-title{display:flex;align-items:center;gap:.55rem;font-size:1.75rem;font-weight:800;letter-spacing:-.03em;background:linear-gradient(135deg,#fbbf24,#f59e0b 40%,#fcd34d,#fbbf24);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:none;filter:drop-shadow(0 0 18px rgba(251,191,36,.35))}.endgame-dashboard-title svg{-webkit-text-fill-color:initial;color:#fbbf24;filter:drop-shadow(0 0 6px rgba(251,191,36,.6));flex-shrink:0}.endgame-dashboard-lead{color:#94a3b8;font-size:.935rem;line-height:1.65;max-width:62ch;letter-spacing:.005em}.endgame-category-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:.85rem}.endgame-category-card{position:relative;display:flex;flex-direction:column;gap:.55rem;padding:1rem 1.1rem .9rem;background:linear-gradient(145deg,#1e293bf2,#0f172afa);border:1px solid rgba(255,255,255,.08);border-radius:1rem;cursor:pointer;text-align:left;transition:border-color .2s,box-shadow .2s,transform .15s,background .2s;overflow:hidden}.endgame-category-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:radial-gradient(ellipse at 0% 0%,rgba(99,102,241,.18) 0%,transparent 65%);opacity:0;transition:opacity .25s;pointer-events:none}.endgame-category-card:hover{border-color:#818cf88c;box-shadow:0 0 0 1px #818cf840,0 8px 24px -8px #6366f166;transform:translateY(-3px) scale(1.01)}.endgame-category-card:hover:before{opacity:1}.endgame-category-card.is-active{border-color:#818cf8b3;box-shadow:0 0 0 1px #818cf859,0 0 20px -4px #6366f180,inset 0 1px #ffffff12;background:linear-gradient(145deg,#313363b3,#1e1b4bd9)}.endgame-category-card.is-active:before{opacity:1}.endgame-category-name{font-weight:700;font-size:.92rem;color:#e2e8f0;letter-spacing:-.01em;line-height:1.3}.endgame-category-card.is-active .endgame-category-name{color:#c7d2fe}.endgame-category-progress{font-size:.75rem;color:#64748b;font-weight:500;letter-spacing:.01em}.endgame-category-bar{height:4px;border-radius:99px;background:#ffffff12;overflow:hidden}.endgame-category-bar-fill{display:block;height:100%;background:linear-gradient(90deg,#10b981,#34d399);border-radius:99px;box-shadow:0 0 6px #10b9818c;transition:width .6s cubic-bezier(.4,0,.2,1)}.endgame-position-list{display:flex;flex-direction:column;gap:.4rem}.endgame-position-row{display:flex;align-items:center;gap:.75rem;padding:.7rem .9rem;background:var(--color-bg-card, #1e293b);border:1px solid var(--color-border);border-radius:.6rem;cursor:pointer;text-align:left;transition:border-color .15s}.endgame-position-row:hover{border-color:var(--color-indigo-400)}.endgame-position-status{display:flex;align-items:center}.endgame-status-solved{color:var(--color-emerald-500)}.endgame-status-failed{color:#ef4444}.endgame-status-untried{color:var(--color-text-secondary);opacity:.5}.endgame-position-body{display:flex;flex-direction:column;gap:.15rem;flex:1;min-width:0}.endgame-position-name{font-weight:600;font-size:.92rem}.endgame-position-technique{font-size:.78rem;color:var(--color-text-secondary)}.endgame-position-diff{font-size:.7rem;letter-spacing:1px;color:var(--color-indigo-400);white-space:nowrap}.endgame-diff-dim{opacity:.25}.coach-drill{--accent: var(--color-indigo-400);--accent-soft: rgba(99, 102, 241, .12);display:flex;flex-direction:column;gap:1.5rem;max-width:760px}.coach-drill--convert{--accent: #34d399;--accent-soft: rgba(52, 211, 153, .12)}.coach-drill--defend{--accent: #38bdf8;--accent-soft: rgba(56, 189, 248, .12)}.coach-drill-head{display:flex;align-items:flex-start;gap:.9rem;padding-bottom:.85rem;border-bottom:1px solid rgba(255,255,255,.07)}.coach-drill-icon{flex-shrink:0;display:grid;place-items:center;width:2.75rem;height:2.75rem;border-radius:.85rem;color:var(--accent);background:var(--accent-soft);box-shadow:0 0 20px -6px var(--accent),inset 0 1px #ffffff0f}.coach-drill-headings{display:flex;flex-direction:column;gap:.35rem}.coach-drill-title{font-size:1.6rem;font-weight:800;letter-spacing:-.03em;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 0 16px var(--accent-soft))}.coach-drill--convert .coach-drill-title{background-image:linear-gradient(135deg,#34d399,#2dd4bf 45%,#6ee7b7 75%,#34d399)}.coach-drill--defend .coach-drill-title{background-image:linear-gradient(135deg,#38bdf8,#818cf8 45%,#7dd3fc 75%,#38bdf8)}.coach-drill-lead{color:#94a3b8;font-size:.935rem;line-height:1.65;letter-spacing:.005em;max-width:62ch}.coach-drill-summary{display:flex;align-items:center;gap:1.1rem;padding:1.1rem 1.35rem;border-radius:1rem;background:var(--color-panel);border:1px solid var(--color-border-light)}.coach-drill-summary-count{font-size:1.75rem;font-weight:700;line-height:1;color:var(--color-text-primary)}.coach-drill-summary-total{color:var(--color-text-muted);font-weight:600}.coach-drill-summary-meta{flex:1;display:flex;flex-direction:column;gap:.5rem;min-width:0}.coach-drill-summary-label{font-size:.78rem;font-weight:600;letter-spacing:.02em;color:var(--color-text-secondary)}.coach-drill-bar{height:6px;border-radius:99px;background:var(--color-border);overflow:hidden}.coach-drill-bar-fill{display:block;height:100%;border-radius:99px;background:var(--accent);transition:width .4s ease}.coach-drill-summary-pct{font-size:.95rem;font-weight:700;color:var(--accent)}.coach-drill-session-cta{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1.2rem;border-radius:1rem;border:1px solid var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--color-panel))}.coach-drill-session-cta-copy{display:flex;flex-direction:column;gap:.2rem;min-width:0}.coach-drill-session-cta-title{font-size:.92rem;font-weight:700;color:var(--color-text-primary)}.coach-drill-session-cta-sub{font-size:.78rem;color:var(--color-text-secondary)}.coach-drill-session-btn{flex-shrink:0;white-space:nowrap}.drill-session{display:flex;flex-direction:column;gap:.7rem}.drill-session-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.55rem 1rem;border-radius:.8rem;background:var(--color-panel);border:1px solid var(--color-border-light)}.drill-session-bar-title{display:inline-flex;align-items:center;gap:.45rem;font-size:.82rem;font-weight:600;color:var(--color-text-secondary)}.drill-session-bar-pips{display:inline-flex;gap:.35rem}.drill-session-pip{width:22px;height:6px;border-radius:99px;background:var(--color-border);transition:background .3s ease}.drill-session-pip.is-active{background:var(--accent)}.drill-session-pip.is-solved{background:var(--color-emerald-500, #10b981)}.drill-session-pip.is-missed{background:var(--color-rose-500, #f43f5e)}.drill-session-advancing{position:relative;overflow:hidden;margin-top:.5rem;padding:.5rem .9rem;border-radius:.7rem;background:var(--color-panel);border:1px solid var(--color-border-light);animation:drill-session-advancing-in .2s ease}@keyframes drill-session-advancing-in{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}.drill-session-advancing-fill{position:absolute;top:0;right:0;bottom:0;left:0;transform-origin:left center;background:color-mix(in srgb,var(--accent) 14%,transparent);pointer-events:none;will-change:transform}.drill-session-advancing-row{position:relative;display:flex;align-items:center;justify-content:space-between;gap:1rem}.drill-session-advancing-text{font-size:.82rem;font-weight:500;color:var(--color-text-secondary);font-variant-numeric:tabular-nums}.drill-session-advancing-btn{flex-shrink:0;padding:.35rem .8rem;border-radius:.55rem;border:1px solid var(--color-border);background:transparent;color:var(--color-text-primary);font-size:.8rem;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease}.drill-session-advancing-btn:hover{background:var(--color-panel-hover, rgba(127, 127, 127, .08));border-color:var(--accent)}.drill-session-summary{gap:1.1rem}.drill-session-summary-head{display:flex;align-items:flex-start;gap:.85rem}.drill-session-score{display:flex;align-items:baseline;gap:.6rem;padding:1.1rem 1.35rem;border-radius:1rem;background:var(--color-panel);border:1px solid var(--color-border-light)}.drill-session-score-num{font-size:2.4rem;font-weight:800;line-height:1;color:var(--color-text-primary)}.drill-session-score-total{font-size:1.4rem;font-weight:600;color:var(--color-text-muted)}.drill-session-score-label{font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--accent)}.drill-session-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem}.drill-session-stat{display:flex;flex-direction:column;gap:.3rem;padding:.9rem 1rem;border-radius:.9rem;background:var(--color-panel);border:1px solid var(--color-border-light)}.drill-session-stat-val{font-size:1.4rem;font-weight:700;color:var(--color-text-primary)}.drill-session-stat-key{font-size:.74rem;color:var(--color-text-secondary);line-height:1.3}.drill-session-themes{display:flex;flex-wrap:wrap;gap:.45rem}.drill-session-theme-chip{font-size:.74rem;font-weight:600;padding:.25rem .6rem;border-radius:99px;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent)}.drill-session-breakdown{display:flex;flex-direction:column;gap:.3rem;margin:0;padding:0;list-style:none}.drill-session-breakdown-row{display:flex;align-items:center;gap:.6rem;padding:.5rem .8rem;border-radius:.7rem;background:var(--color-panel);border:1px solid var(--color-border-light);font-size:.82rem}.drill-session-breakdown-icon{display:inline-flex}.drill-session-breakdown-label{flex:1;min-width:0;color:var(--color-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drill-session-breakdown-swing{font-weight:600;color:var(--color-text-muted)}.drill-session-ok{color:var(--color-emerald-500, #10b981)}.drill-session-miss{color:var(--color-rose-500, #f43f5e)}.drill-session-done-btn{align-self:flex-start}.coach-drill-list{display:flex;flex-direction:column;gap:.55rem}.coach-drill-card{display:flex;align-items:center;gap:.85rem;padding:.85rem 1rem;border-radius:.8rem;background:var(--color-panel);border:1px solid var(--color-border-light);color:var(--color-text-primary);cursor:pointer;text-align:left;transition:border-color .15s,background .15s,transform .1s}.coach-drill-card:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 6%,var(--color-panel));transform:translateY(-1px)}.coach-drill-status{display:flex;align-items:center;flex-shrink:0}.coach-drill-status-solved{color:var(--color-emerald-500)}.coach-drill-status-failed{color:var(--color-red-500)}.coach-drill-status-untried{color:var(--color-text-muted)}.coach-drill-body{display:flex;flex-direction:column;gap:.2rem;flex:1;min-width:0}.coach-drill-name{font-weight:600;font-size:.92rem;color:var(--color-text-primary)}.coach-drill-name b{color:var(--accent);font-weight:700}.coach-drill-meta{font-size:.78rem;color:var(--color-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.coach-drill-meta b{color:var(--color-text-primary);font-weight:600}.coach-drill-swing{flex-shrink:0;font-size:.74rem;font-weight:700;padding:.2rem .5rem;border-radius:99px;color:#f87171;background:#ef44441f;white-space:nowrap}.coach-drill-empty{padding:2rem 1.5rem;border-radius:1rem;border:1px dashed var(--color-border);background:var(--color-panel);color:var(--color-text-secondary);font-size:.88rem;line-height:1.55;text-align:center}.coach-drill-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(247px,1fr));gap:1.15rem}.coach-drill-grid .puzzle-empty{grid-column:1 / -1}.coach-drill-empty-action{margin-top:1rem}.drill-tile-skeleton{display:flex;flex-direction:column;border-radius:.85rem;overflow:hidden;background:var(--color-panel);border:1px solid var(--color-border-light)}.drill-tile-skeleton-board{aspect-ratio:1 / 1;width:100%;border-bottom:1px solid var(--color-border-light)}.drill-tile-skeleton-body{display:flex;flex-direction:column;gap:.5rem;padding:.85rem .95rem .95rem}.drill-tile-skeleton-board,.drill-tile-skeleton-line{background:linear-gradient(90deg,#1e293b66 25%,#1e293b99,#1e293b66 75%);background-size:200% 100%;animation:loading-shimmer 1.5s infinite}.drill-tile-skeleton-line{height:.7rem;border-radius:.35rem}.drill-tile-skeleton-line--title{height:1.05rem;width:70%}.drill-tile-skeleton-line--meta{width:55%}.drill-tile-skeleton-line--meta-sm{width:40%}.drill-tile{--accent: var(--color-indigo-400);position:relative;display:flex;flex-direction:column;gap:0;padding:0;border-radius:1rem;overflow:hidden;background:linear-gradient(170deg,#161e30fa,#0f172a);border:1px solid rgba(255,255,255,.07);color:var(--color-text-primary);cursor:pointer;text-align:left;transition:border-color .2s,box-shadow .25s,transform .15s}.drill-tile:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:radial-gradient(ellipse at 50% 0%,rgba(99,102,241,.14) 0%,transparent 65%);opacity:0;transition:opacity .25s;pointer-events:none;z-index:0}.drill-tile:hover{border-color:#818cf899;box-shadow:0 0 0 1px #818cf833,0 12px 32px -10px #6366f173,0 2px 8px -4px #0009;transform:translateY(-4px) scale(1.01)}.drill-tile:hover:after{opacity:1}.drill-tile-board{position:relative;display:block;line-height:0;border-bottom:1px solid rgba(255,255,255,.06);z-index:1}.drill-tile-board .mini-board{width:100%;height:auto;display:block}.drill-tile-badge{position:absolute;top:.55rem;left:.55rem;display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .55rem;border-radius:99px;font-size:.76rem;line-height:1;font-weight:700;letter-spacing:.03em;text-transform:uppercase;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0a0f1ccc;color:#94a3b8;border:1px solid rgba(255,255,255,.1);box-shadow:0 2px 6px #0000004d}.drill-tile-badge--solved{background:#10b981e0;color:#fff;border-color:#34d39966;box-shadow:0 0 10px #10b98173,0 2px 6px #0000004d}.drill-tile-badge--failed{background:#ef4444e0;color:#fff;border-color:#f8717166;box-shadow:0 0 10px #ef444466,0 2px 6px #0000004d}.drill-tile-badge--untried{background:#0a0f1ccc;color:#94a3b8;border-color:#ffffff1a}.drill-tile-badge--due{background:#f59e0beb;color:#fff;border-color:#fcd34d66;box-shadow:0 0 10px #f59e0b66,0 2px 6px #0000004d}.drill-tile-badge--due svg{animation:drill-tile-due-spin .5s ease-out}@keyframes drill-tile-due-spin{0%{transform:rotate(-180deg)}to{transform:rotate(0)}}.drill-tile-swing{position:absolute;top:.55rem;right:.55rem;padding:.25rem .55rem;border-radius:99px;font-size:.76rem;line-height:1;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:#fff;background:#ef4444e6;box-shadow:0 0 10px #ef444466;border:1px solid rgba(248,113,113,.35)}.drill-tile-diff{position:absolute;bottom:.5rem;right:.6rem;font-size:.63rem;line-height:1;letter-spacing:2px;color:#a5b4fcd9;text-shadow:0 0 8px rgba(129,140,248,.7),0 1px 3px rgba(0,0,0,.7)}.drill-tile-body{position:relative;z-index:1;display:flex;flex-direction:column;gap:.25rem;padding:.9rem 1rem 1rem;min-width:0}.drill-tile-name{font-weight:700;font-size:1rem;line-height:1.3;letter-spacing:-.01em;color:#e2e8f0}.drill-tile-meta{font-size:.82rem;color:#64748b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:.01em}.drill-tile-meta:first-of-type{color:#7c8fa8}.drill-tile-meta b{color:#c7d2fe;font-weight:600}.mini-board-light{fill:#ebecd0}.mini-board-dark{fill:#739552}.mini-board-piece-white{fill:#fff;stroke:#4a4a4a;stroke-width:.6px;paint-order:stroke}.mini-board-piece-black{fill:#2b2b2b;stroke:#111;stroke-width:.4px;paint-order:stroke}.mini-board-hl-bad{fill:var(--color-red-500, #ef4444);opacity:.5}.mini-board-hl-good{fill:var(--color-emerald-500, #10b981);opacity:.5}.coach-drill{max-width:1120px}.endgame-trainer-objective{font-size:.85rem;color:var(--color-text-secondary);margin:-.25rem 0 .25rem;padding:.3rem .6rem;background:var(--color-border-light);border-radius:.5rem;align-self:flex-start}.coach-plan-action-progress-container{width:100%;margin-top:.5rem;display:flex;flex-direction:column;gap:.2rem}.coach-plan-action-progress-text{font-size:.72rem;color:#94a3b8;font-weight:500}.coach-plan-action-progress-bar-bg{width:100%;height:4px;background:#2d3a52;border-radius:999px;overflow:hidden}.coach-plan-action-progress-bar-fill{height:100%;background:#6366f1;border-radius:999px;transition:width .2s ease-out}.coach-courses-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.25rem;margin-top:.5rem}.coach-course-card{display:flex;flex-direction:column;gap:.85rem}.coach-course-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem}.coach-course-header h3{margin:0!important;font-size:1.05rem!important}.coach-course-badges{display:flex;gap:.35rem;flex-wrap:wrap}.coach-course-badge{font-size:.68rem;border-radius:999px;padding:.1rem .5rem;font-weight:600;text-transform:capitalize}.coach-course-badge-recommended{background:#f59e0b26;border:1px solid rgba(245,158,11,.4);color:#f59e0b}.coach-course-badge-active{background:#3b82f626;border:1px solid rgba(59,130,246,.4);color:#3b82f6}.coach-course-badge-completed{background:#10b98126;border:1px solid rgba(16,185,129,.4);color:#10b981}.coach-course-badge-category{background:#6b728026;border:1px solid rgba(107,114,128,.4);color:#d1d5db}.coach-course-desc{margin:0;font-size:.85rem;color:#9ca3af;line-height:1.4}.coach-course-units-title{font-size:.8rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;margin:.5rem 0 .25rem;border-bottom:1px solid #1f2937;padding-bottom:.25rem}.coach-course-units{display:flex;flex-direction:column;gap:.4rem}.coach-course-unit-item{display:flex;align-items:center;gap:.6rem;padding:.4rem .5rem;border-radius:6px;background:#1f293766;border:1px solid transparent;transition:background .15s,border-color .15s}.coach-course-unit-item.is-completed{opacity:.65;background:#10b98105}.coach-course-unit-item.is-completed .coach-course-unit-title{text-decoration:line-through;color:#6b7280}.coach-course-unit-item.is-completed .coach-course-unit-desc{color:#4b5563}.coach-course-unit-item.is-locked{opacity:.4;cursor:not-allowed}.coach-course-unit-item.is-active{background:#1f2937cc;border-color:#6366f133}.coach-course-unit-icon{flex-shrink:0;display:flex;align-items:center}.coach-course-unit-icon.completed{color:#10b981}.coach-course-unit-icon.active{color:#6366f1}.coach-course-unit-icon.locked{color:#4b5563}.coach-course-unit-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:.15rem}.coach-course-unit-title{font-size:.85rem;font-weight:600;color:#fff}.coach-course-unit-desc{font-size:.75rem;color:#9ca3af}.coach-course-unit-progress-text{font-size:.72rem;font-weight:500;color:#818cf8;margin-top:.15rem}.coach-course-unit-practice-btn{flex-shrink:0;font-size:.75rem;padding:.25rem .6rem;border-radius:6px;background:#1f2937;border:1px solid #374151;color:#e5e7eb;font-weight:600;cursor:pointer;transition:all .15s}.coach-course-unit-practice-btn:hover{background:#273245;border-color:#6366f1;color:#fff}.coach-course-enroll-btn{width:100%;margin-top:auto;padding:.5rem .8rem;border-radius:8px;font-size:.82rem;font-weight:600;text-align:center;cursor:pointer;transition:all .15s;background:#1f2937;border:1px solid #374151;color:#cbd5e1}.coach-course-enroll-btn:hover:not(:disabled){background:#273245;border-color:#6366f1;color:#fff}.coach-course-enroll-btn.is-active{background:#6366f11f;border-color:#6366f173;color:#a5b4fc;cursor:default}.coach-course-enroll-btn.is-completed{background:#10b9811f;border-color:#10b98173;color:#34d399;cursor:default}.coach-course-card-footer{margin-top:auto;display:flex;flex-direction:column;gap:.5rem}.coach-review-badge{width:100%;display:flex;align-items:center;gap:.85rem;text-align:left;cursor:pointer;border:1px solid var(--color-indigo-400, #818cf8);background:linear-gradient(135deg,#6366f124,#0f172a66)}.coach-review-badge:hover{border-color:#a5b4fc;box-shadow:0 12px 20px -6px #6366f159}.coach-review-badge-icon{display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:.6rem;background:#6366f140;color:#c7d2fe;flex-shrink:0}.coach-review-badge-body{display:flex;flex-direction:column;gap:.15rem;flex:1;min-width:0}.coach-review-badge-title{display:flex;align-items:center;gap:.5rem;font-weight:600;color:var(--color-text-primary, #f1f5f9)}.coach-review-badge-count{font-size:.72rem;font-weight:600;padding:.1rem .45rem;border-radius:999px;background:#6366f1;color:#fff}.coach-review-badge-desc{font-size:.8rem;color:var(--color-text-secondary, #94a3b8);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eng-bar{position:relative;display:flex;align-items:center;gap:1rem}.eng-ring-btn{position:relative;width:64px;height:64px;flex-shrink:0;background:none;border:none;padding:0;cursor:pointer}.eng-ring-track{fill:none;stroke:#94a3b838;stroke-width:6}.eng-ring-fill{fill:none;stroke:#818cf8;stroke-width:6;stroke-linecap:round;transition:stroke-dashoffset .6s ease}.eng-ring-fill.met{stroke:#34d399}.eng-ring-center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--color-text-primary, #f1f5f9)}.eng-ring-pct{font-size:.82rem;font-weight:700}.eng-ring-center svg{color:#34d399}.eng-meta{display:flex;flex-direction:column;gap:.4rem;flex:1;min-width:0}.eng-meta-top{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.eng-level-chip,.eng-streak,.eng-freezes{display:inline-flex;align-items:center;gap:.3rem;font-size:.74rem;font-weight:600;padding:.18rem .5rem;border-radius:999px}.eng-level-chip{background:#6366f133;color:#c7d2fe}.eng-streak{background:#94a3b826;color:var(--color-text-secondary, #94a3b8)}.eng-streak.hot{background:#f973162e;color:#fdba74}.eng-freezes{background:#38bdf826;color:#7dd3fc}.eng-meta-bottom{display:flex;align-items:center;gap:.6rem}.eng-goal-label{display:inline-flex;align-items:center;gap:.3rem;font-size:.76rem;color:var(--color-text-secondary, #94a3b8);white-space:nowrap}.eng-level-bar{flex:1;height:5px;min-width:60px;border-radius:999px;background:#94a3b833;overflow:hidden}.eng-level-bar-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#6366f1,#818cf8);transition:width .6s ease}.eng-repair{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;font-size:.74rem;color:#fca5a5}.eng-repair-btn{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .55rem;border-radius:999px;border:1px solid #38bdf8;background:#38bdf826;color:#7dd3fc;font-weight:600;cursor:pointer}.eng-repair-btn:disabled{opacity:.6;cursor:default}.eng-repair-none{color:var(--color-text-secondary, #94a3b8)}.eng-goal-popover{position:absolute;top:calc(100% + .4rem);left:.75rem;z-index:20;padding:.7rem;border-radius:.7rem;background:var(--color-surface-2, #1e293b);border:1px solid rgba(148,163,184,.25);box-shadow:0 18px 30px -10px #00000080}.eng-goal-popover-title{margin:0 0 .45rem;font-size:.78rem;font-weight:600;color:var(--color-text-primary, #f1f5f9)}.eng-goal-options{display:flex;gap:.4rem}.eng-goal-option{display:flex;flex-direction:column;align-items:center;gap:.1rem;padding:.35rem .5rem;border-radius:.5rem;border:1px solid rgba(148,163,184,.25);background:#0f172a66;color:var(--color-text-primary, #f1f5f9);font-size:.74rem;font-weight:600;cursor:pointer}.eng-goal-option small{font-size:.62rem;font-weight:500;color:var(--color-text-secondary, #94a3b8)}.eng-goal-option.active{border-color:#818cf8;background:#6366f133}.eng-toast-stack{position:fixed;right:1.25rem;bottom:1.25rem;z-index:60;display:flex;flex-direction:column;gap:.5rem}.eng-toast{display:flex;align-items:center;gap:.6rem;min-width:240px;padding:.7rem .85rem;border-radius:.7rem;background:linear-gradient(135deg,#6366f1f2,#38bdf8e6);color:#fff;box-shadow:0 18px 32px -10px #0000008c;animation:eng-toast-in .3s ease}@keyframes eng-toast-in{0%{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}.eng-toast-icon{flex-shrink:0}.eng-toast-body{display:flex;flex-direction:column;flex:1;min-width:0}.eng-toast-body strong{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;opacity:.85}.eng-toast-body span{font-size:.86rem;font-weight:600}.eng-toast-close{background:none;border:none;color:#fffc;cursor:pointer;padding:.15rem;flex-shrink:0}.review-queue{display:flex;flex-direction:column;gap:.75rem;width:100%}.review-queue-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;padding:.25rem 0}.review-queue-header-left,.review-queue-header-right{display:flex;align-items:center;gap:.6rem}.review-queue-progress{font-weight:600;color:var(--color-text-primary, #f1f5f9)}.review-queue-kind{font-size:.78rem;padding:.15rem .55rem;border-radius:999px;background:#6366f133;color:#c7d2fe}.review-queue-provenance{display:flex;align-items:center;gap:.75rem;font-size:.82rem;color:var(--color-text-secondary, #94a3b8);padding:.35rem .6rem;border-radius:.5rem;background:#0f172a73;border:1px solid var(--color-border, #1e293b)}.review-queue-seeingame{display:inline-flex;align-items:center;gap:.3rem;margin-left:auto;background:none;border:none;color:#a5b4fc;cursor:pointer;font-size:.8rem}.review-queue-seeingame:hover{text-decoration:underline}.review-queue-empty,.review-queue-summary{display:flex;flex-direction:column;align-items:center;gap:.6rem;text-align:center;padding:3rem 1.5rem;color:var(--color-text-secondary, #94a3b8)}.review-queue-empty svg,.review-queue-summary svg{color:var(--color-indigo-400, #818cf8)}.review-queue-empty h2,.review-queue-summary h2{margin:0;color:var(--color-text-primary, #f1f5f9)}.coach-patterns{flex-direction:column;align-items:stretch;gap:1.25rem;padding:1.5rem}.coach-patterns h2{font-size:1.25rem;font-weight:700;color:var(--color-text-primary);margin:0}.coach-pattern-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:1rem}.coach-pattern-card{list-style:none;background:#1e293b59;border:1px solid var(--color-border);border-radius:.75rem;padding:1.25rem;display:flex;flex-direction:column;gap:.85rem;transition:all .2s ease}.coach-pattern-card:hover{border-color:#6366f166;background:#1e293b80;box-shadow:0 4px 20px -2px #00000040}.coach-pattern-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.coach-pattern-title{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.coach-pattern-title strong{font-size:1.05rem;font-weight:600;color:var(--color-text-primary)}.coach-trend{display:inline-flex;align-items:center;gap:.25rem;font-size:.75rem;font-weight:600;padding:.15rem .55rem;border-radius:999px}.coach-trend-rising{background:#ef444426;color:var(--color-red-500)}.coach-trend-falling{background:#10b98126;color:var(--color-emerald-500)}.coach-trend-steady{background:#94a3b826;color:var(--color-text-secondary)}.coach-pattern-count{font-size:.8rem;color:var(--color-text-secondary);font-weight:600;background:#0f172a66;padding:.2rem .6rem;border-radius:.35rem;border:1px solid var(--color-border)}.coach-pattern-explanation{font-size:.88rem;line-height:1.5;color:var(--color-text-secondary);margin:0}.coach-pattern-examples{display:flex;gap:.85rem;flex-wrap:wrap;margin-top:.25rem}.coach-pattern-example{display:flex;flex-direction:column;align-items:center;background:#0f172a8c;border:1px solid var(--color-border);border-radius:.5rem;padding:.5rem;gap:.5rem;cursor:pointer;transition:all .2s ease;width:112px;box-shadow:0 4px 6px -1px #00000026}.coach-pattern-example:hover{border-color:var(--color-indigo-400);background:#6366f11f;transform:translateY(-2px);box-shadow:0 8px 12px -2px #0000004d}.coach-pattern-example svg{border-radius:.25rem;display:block}.coach-pattern-example-meta{font-family:var(--font-mono);font-size:.72rem;font-weight:600;color:var(--color-text-primary);background:#00000040;padding:.12rem .35rem;border-radius:.25rem;border:1px solid rgba(255,255,255,.05);text-align:center;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.coach-pattern-actions{display:flex;justify-content:flex-start;margin-top:.25rem}.coach-pattern-drill{padding:.45rem 1rem;font-size:.82rem;font-weight:600;color:#fff;background:linear-gradient(180deg,var(--color-indigo-500),var(--color-indigo-600));border:1px solid var(--color-indigo-600);border-radius:.5rem;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 6px -1px #6366f133}.coach-pattern-drill:hover{filter:brightness(1.1);transform:translateY(-1px);box-shadow:0 6px 12px -2px #6366f159}.coach-pattern-drill:active{transform:translateY(0)}.coach-diagnosis{flex-direction:column;align-items:stretch;gap:.6rem;border:1px solid color-mix(in srgb,var(--color-accent, #6366f1) 45%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--color-accent, #6366f1) 10%,transparent),transparent 70%);box-shadow:0 8px 24px -12px #6366f173}.coach-diagnosis-eyebrow{display:inline-flex;align-items:center;gap:.35rem;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--color-accent, #6366f1)}.coach-diagnosis-headline{margin:0;font-size:1.15rem;font-weight:700;line-height:1.3;color:var(--color-text-primary, #f8fafc)}.coach-diagnosis-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.coach-diagnosis-impact{font-size:.78rem;font-weight:600;padding:.2rem .5rem;border-radius:999px;color:var(--color-accent, #6366f1);background:color-mix(in srgb,var(--color-accent, #6366f1) 14%,transparent)}.coach-diagnosis-narrative{margin:0;font-size:.92rem;line-height:1.55;color:var(--color-text-secondary, #cbd5e1)}.coach-diagnosis-examples{display:flex;flex-wrap:wrap;gap:.5rem}.coach-diagnosis-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:.15rem}.coach-diagnosis-fix{padding:.5rem 1.15rem;font-size:.85rem;font-weight:700;color:#fff;background:linear-gradient(180deg,var(--color-indigo-500),var(--color-indigo-600));border:1px solid var(--color-indigo-600);border-radius:.5rem;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 6px -1px #6366f140}.coach-diagnosis-fix:hover{filter:brightness(1.1);transform:translateY(-1px);box-shadow:0 6px 12px -2px #6366f166}.coach-diagnosis-fix:active{transform:translateY(0)}.coach-diagnosis-seeall{padding:.5rem .25rem;font-size:.82rem;font-weight:600;color:var(--color-text-secondary, #cbd5e1);background:none;border:none;cursor:pointer}.coach-diagnosis-seeall:hover{color:var(--color-accent, #6366f1)}.coach-diagnosis-share-btn{display:inline-flex;align-items:center;gap:.45rem;margin-left:auto;padding:.5rem .95rem;font-size:.82rem;font-weight:700;color:var(--color-text-secondary, #cbd5e1);background:#818cf814;border:1px solid rgba(129,140,248,.35);border-radius:.5rem;cursor:pointer;transition:all .2s ease}.coach-diagnosis-share-btn:hover{color:#c7d2fe;background:#818cf829;border-color:#818cf899}.coach-diagnosis-share-btn:disabled{opacity:.6;cursor:default}.coach-diagnosis-share{display:inline-flex;align-items:center;gap:.75rem;margin-left:auto}.coach-diagnosis-share-status{display:inline-flex;align-items:center;gap:.35rem;font-size:.8rem;font-weight:700;color:var(--color-emerald-500, #10b981)}.coach-diagnosis-share-dl{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .85rem;font-size:.8rem;font-weight:700;color:var(--color-text-secondary, #cbd5e1);background:none;border:1px solid rgba(148,163,184,.35);border-radius:.5rem;cursor:pointer;transition:all .2s ease}.coach-diagnosis-share-dl:hover{color:#c7d2fe;border-color:#818cf899}.coach-diagnosis-empty p{margin:0;font-size:.9rem;line-height:1.55;color:var(--color-text-secondary, #cbd5e1)}.coach-patterns-empty{flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:3rem 1.5rem;gap:.75rem}.coach-patterns-empty h2{font-size:1.25rem;font-weight:700;margin:0;color:var(--color-text-primary)}.coach-patterns-empty p{font-size:.9rem;color:var(--color-text-secondary);max-width:400px;margin:0;line-height:1.55}.guided-review{display:flex;flex-direction:column;height:100%;background:var(--bg, #0f0f1a);color:var(--text, #e2e8f0);font-family:Inter,sans-serif;min-height:0}.guided-review-loading,.guided-review-error{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;height:100%;padding:2rem;text-align:center;color:var(--text-muted, #94a3b8)}.guided-review-header{display:flex;align-items:center;gap:1rem;padding:.75rem 1.25rem;border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0;background:#ffffff05}.guided-review-back{display:flex;align-items:center;gap:.25rem;padding:.4rem .75rem;border-radius:8px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);color:var(--text, #e2e8f0);font-size:.85rem;cursor:pointer;transition:background .15s;flex-shrink:0}.guided-review-back:hover{background:#ffffff1a}.guided-review-progress{display:flex;align-items:center;gap:.75rem;flex:1}.guided-review-progress-bar{flex:1;height:5px;background:#ffffff14;border-radius:99px;overflow:hidden}.guided-review-progress-fill{height:100%;background:linear-gradient(90deg,#6366f1,#8b5cf6);border-radius:99px;transition:width .5s ease}.guided-review-progress-label{font-size:.8rem;color:var(--text-muted, #94a3b8);white-space:nowrap}.guided-review-main{display:flex;flex:1;min-height:0;gap:0}.guided-review-board-panel{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:1rem;border-right:1px solid rgba(255,255,255,.08);flex-shrink:0;width:340px;background:#00000026}.guided-review-board-wrap{width:100%;max-width:300px;aspect-ratio:1}.guided-review-position-info{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;justify-content:center;font-size:.78rem}.guided-review-class-badge{padding:.2rem .55rem;border-radius:20px;font-size:.73rem;font-weight:600;letter-spacing:.03em;text-transform:capitalize}.guided-review-class-blunder{background:#ef44442e;color:#f87171;border:1px solid rgba(239,68,68,.3)}.guided-review-class-mistake{background:#fb923c2e;color:#fb923c;border:1px solid rgba(251,146,60,.3)}.guided-review-class-miss{background:#eab3082e;color:#facc15;border:1px solid rgba(234,179,8,.3)}.guided-review-class-good,.guided-review-class-best{background:#10b9812e;color:#34d399;border:1px solid rgba(16,185,129,.3)}.guided-review-move-label{color:var(--text-muted, #94a3b8)}.guided-review-prob-loss{color:#f87171;font-weight:600}.guided-review-chat-panel{display:flex;flex-direction:column;flex:1;min-height:0;min-width:0}.guided-review-chat{flex:1;overflow-y:auto;padding:1.25rem;display:flex;flex-direction:column;gap:1rem;scroll-behavior:smooth}.guided-review-bubble{background:#ffffff0a;border:1px solid rgba(255,255,255,.07);border-radius:14px 14px 14px 2px;padding:.85rem 1rem;max-width:560px;display:flex;flex-direction:column;gap:.5rem}.guided-review-user-bubble{background:linear-gradient(135deg,#6366f133,#8b5cf626);border:1px solid rgba(99,102,241,.25);border-radius:14px 14px 2px;padding:.75rem 1rem;max-width:480px;margin-left:auto;font-size:.9rem;line-height:1.5;color:#c7d2fe}.guided-review-verdict{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .7rem;border-radius:20px;font-size:.78rem;font-weight:600;width:fit-content}.verdict-on-track{background:#10b98126;color:#34d399;border:1px solid rgba(16,185,129,.3)}.verdict-partially{background:#fb923c26;color:#fb923c;border:1px solid rgba(251,146,60,.3)}.verdict-missed{background:#ef444426;color:#f87171;border:1px solid rgba(239,68,68,.3)}.guided-review-input-area{display:flex;flex-direction:column;gap:.5rem;padding:1rem 1.25rem;border-top:1px solid rgba(255,255,255,.08);background:#0000001a;flex-shrink:0}.guided-review-textarea{width:100%;background:#ffffff0a;border:1px solid rgba(255,255,255,.12);border-radius:10px;color:#e2e8f0;font-family:Inter,sans-serif;font-size:.9rem;line-height:1.5;padding:.65rem .9rem;resize:vertical;min-height:72px;transition:border-color .2s;box-sizing:border-box}.guided-review-textarea:focus{outline:none;border-color:#6366f180;background:#ffffff0f}.guided-review-textarea::placeholder{color:#475569}.guided-review-submit{align-self:flex-end;display:flex;align-items:center;gap:.4rem}.guided-review-next-row{display:flex;justify-content:flex-end;padding:.75rem 1.25rem;border-top:1px solid rgba(255,255,255,.08);flex-shrink:0}.guided-review-next{display:flex;align-items:center;gap:.4rem}.guided-review-summary{display:flex;flex-direction:column;align-items:center;gap:1.5rem;padding:2.5rem 2rem;max-width:600px;margin:0 auto;text-align:center}.guided-review-summary-header{display:flex;flex-direction:column;align-items:center;gap:.75rem}.guided-review-summary-title{display:flex;align-items:center;gap:.5rem;font-size:1.5rem;font-weight:700;color:#e2e8f0;margin:0}.guided-review-summary-subtitle{color:#94a3b8;font-size:.95rem;margin:0}.guided-review-score-row{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:center}.guided-review-score-chip{display:flex;align-items:center;gap:.35rem;padding:.45rem 1rem;border-radius:20px;font-size:.85rem;font-weight:600}.guided-review-summary-list{display:flex;flex-direction:column;gap:.5rem;width:100%;text-align:left}.guided-review-summary-item{display:flex;flex-direction:column;gap:.35rem;padding:.75rem 1rem;background:#ffffff08;border:1px solid rgba(255,255,255,.07);border-radius:10px;border-left-width:3px}.guided-review-summary-item.verdict-on_track{border-left-color:#34d399}.guided-review-summary-item.verdict-partially{border-left-color:#fb923c}.guided-review-summary-item.verdict-missed{border-left-color:#f87171}.guided-review-summary-item-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.guided-review-summary-move{font-size:.88rem;font-weight:600;color:#cbd5e1}.guided-review-summary-actions{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:center;margin-top:.5rem}.plan-action-guided-btn{display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .7rem;border-radius:8px;background:#6366f11f;border:1px solid rgba(99,102,241,.25);color:#a5b4fc;font-size:.78rem;font-weight:600;cursor:pointer;transition:all .15s;margin-top:.3rem}.plan-action-guided-btn:hover{background:#6366f138;border-color:#6366f173;color:#c7d2fe}@media (max-width: 720px){.guided-review-main{flex-direction:column}.guided-review-board-panel{width:100%;border-right:none;border-bottom:1px solid rgba(255,255,255,.08);padding:.75rem}.guided-review-board-wrap{max-width:240px}}.narrated-replay-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:600;padding:1rem}.narrated-replay{background:var(--color-panel-bg, #0b1220);border:1px solid var(--color-border, #334155);border-radius:.8rem;box-shadow:0 15px 40px #0009;width:min(960px,100%);max-height:92vh;display:flex;flex-direction:column;overflow:hidden}.nr-header{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1rem;border-bottom:1px solid var(--color-border-light, rgba(255, 255, 255, .08))}.nr-header h2{display:flex;align-items:center;gap:.4rem;font-size:1.05rem;margin:0;color:var(--color-text-primary, #f8fafc)}.nr-close{background:none;border:none;color:var(--color-text-secondary, #94a3b8);cursor:pointer;padding:.25rem;border-radius:.4rem}.nr-close:hover{color:var(--color-text-primary, #f8fafc)}.nr-status{padding:2rem 1rem;text-align:center;color:var(--color-text-secondary, #94a3b8)}.nr-status.nr-error{color:#f87171}.nr-body{display:grid;grid-template-columns:minmax(240px,380px) 1fr;gap:1rem;padding:1rem;min-height:0}.nr-board{align-self:start}.nr-side{display:flex;flex-direction:column;min-height:0}.nr-controls{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;flex-wrap:wrap}.nr-controls button{display:inline-flex;align-items:center;justify-content:center;background:var(--color-bg, #030712);border:1px solid var(--color-border, #334155);color:var(--color-text-primary, #f8fafc);border-radius:.5rem;padding:.4rem .55rem;cursor:pointer}.nr-controls button:disabled{opacity:.4;cursor:default}.nr-controls .nr-play{background:var(--color-accent, #6366f1);border-color:var(--color-accent, #6366f1);color:#fff}.nr-rate{display:inline-flex;align-items:center;gap:.35rem;font-size:.8rem;color:var(--color-text-secondary, #94a3b8)}.nr-rate select{background:var(--color-bg, #030712);border:1px solid var(--color-border, #334155);color:var(--color-text-primary, #f8fafc);border-radius:.4rem;padding:.2rem .3rem}.nr-speaking{color:var(--color-accent, #6366f1);margin-left:auto}.nr-note{font-size:.8rem;color:var(--color-text-muted, #64748b);margin-bottom:.5rem}.nr-transcript{list-style:none;margin:0;padding:0;overflow-y:auto;min-height:0;border-top:1px solid var(--color-border-light, rgba(255, 255, 255, .08))}.nr-segment{border-bottom:1px solid var(--color-border-light, rgba(255, 255, 255, .06))}.nr-segment-btn{display:block;width:100%;text-align:left;background:none;border:none;color:var(--color-text-secondary, #94a3b8);cursor:pointer;padding:.5rem .6rem;border-left:3px solid transparent}.nr-segment-btn:hover{background:#ffffff08}.nr-segment.active .nr-segment-btn{background:#6366f11f;border-left-color:var(--color-accent, #6366f1);color:var(--color-text-primary, #f8fafc)}.nr-segment.mistake .nr-move-no{color:#f87171}.nr-move-no{display:block;font-weight:600;font-size:.8rem;margin-bottom:.15rem;color:var(--color-text-primary, #f8fafc)}.nr-text{font-size:.85rem;line-height:1.35}@media (max-width: 720px){.nr-body{grid-template-columns:1fr}}.narrated-replay-launch{display:inline-flex;align-items:center;gap:.35rem;align-self:center;margin:.35rem auto 0;padding:.3rem .7rem;font-size:.8rem;background:var(--color-panel-bg, #0b1220);color:var(--color-text-primary, #f8fafc);border:1px solid var(--color-accent, #6366f1);border-radius:.5rem;cursor:pointer}.narrated-replay-launch:hover{background:#6366f11f}.listen-btn{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .55rem;font-size:.75rem;background:transparent;color:var(--color-text-secondary, #94a3b8);border:1px solid var(--color-border, #334155);border-radius:.4rem;cursor:pointer}.listen-btn:hover{color:var(--color-text-primary, #f8fafc);border-color:var(--color-accent, #6366f1)}.listen-btn.is-speaking{color:var(--color-accent, #6366f1);border-color:var(--color-accent, #6366f1)}.coach-narration-header-actions{display:inline-flex;align-items:center;gap:.5rem}.auto-speak-toggle{display:inline-flex;align-items:center;gap:.3rem;font-size:.75rem;color:var(--color-text-secondary, #94a3b8);cursor:pointer;-webkit-user-select:none;user-select:none}.auto-speak-toggle input{accent-color:var(--color-accent, #6366f1)}.coach-chat-actions{margin-top:.35rem}.pubdx-wrap{min-height:100vh;display:flex;align-items:flex-start;justify-content:center;background:radial-gradient(90% 90% at 0% 0%,rgba(11,18,36,.55),transparent 55%),radial-gradient(90% 90% at 100% 100%,rgba(79,70,229,.28),transparent 60%),#030712;color:#f8fafc;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;padding:48px 16px 80px}.pubdx-container{width:100%;max-width:760px}.pubdx-hero{text-align:center;margin-bottom:28px}.pubdx-brand{margin:0 0 12px;font-size:30px;font-weight:800;letter-spacing:.3px}.pubdx-tagline{margin:0 auto;max-width:560px;color:#cbd5e1;font-size:17px;line-height:1.5}.pubdx-tagline strong{color:#a5b4fc}.pubdx-form{background:#0f172a99;border:1px solid #1e293b;border-radius:16px;padding:20px;margin-bottom:22px}.pubdx-platform{display:flex;gap:6px;background:#0b1224;border-radius:10px;padding:4px;margin-bottom:12px}.pubdx-platform-btn{flex:1;padding:9px 0;border:none;background:transparent;color:#94a3b8;border-radius:7px;cursor:pointer;font-size:14px;font-weight:700}.pubdx-platform-btn.active{background:#1e293b;color:#fff}.pubdx-platform-btn:disabled{cursor:not-allowed;opacity:.6}.pubdx-input-row{display:flex;gap:8px}.pubdx-input{flex:1;padding:12px 14px;border-radius:10px;border:1px solid #334155;background:#030712;color:#f8fafc;font-size:15px;outline:none}.pubdx-input:focus{border-color:#6366f1}.pubdx-run{display:inline-flex;align-items:center;gap:7px;padding:12px 18px;border:none;border-radius:10px;background:linear-gradient(135deg,#6366f1,#818cf8);color:#fff;font-size:15px;font-weight:800;cursor:pointer;white-space:nowrap}.pubdx-run:disabled{opacity:.55;cursor:not-allowed}.pubdx-login-hint{margin:12px 0 0;font-size:13px;color:#94a3b8;text-align:center}.pubdx-link{border:none;background:none;color:#a5b4fc;font-weight:700;cursor:pointer;padding:0;font-size:13px}.pubdx-card{background:#0f172a99;border:1px solid #1e293b;border-radius:16px;padding:24px;margin-bottom:18px}.pubdx-progress-label{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:600;margin-bottom:14px}.pubdx-bar{height:8px;background:#0b1224;border-radius:999px;overflow:hidden}.pubdx-bar-fill{height:100%;background:linear-gradient(90deg,#fbbf24,#818cf8);transition:width .25s ease}.pubdx-progress-sub{margin-top:10px;font-size:13px;color:#64748b}.pubdx-error{display:flex;align-items:center;gap:10px;color:#fca5a5;border-color:#7f1d1d}.pubdx-eyebrow{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:#fbbf24;margin-bottom:12px}.pubdx-headline{margin:0 0 14px;font-size:30px;font-weight:800;line-height:1.15}.pubdx-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin-bottom:14px}.pubdx-impact{font-size:14px;font-weight:700;color:#a5b4fc;background:#1e1b4b;border:1px solid rgba(129,140,248,.45);padding:5px 12px;border-radius:999px}.pubdx-sub{font-size:13px;color:#64748b}.pubdx-narrative{margin:0 0 18px;font-size:16px;line-height:1.6;color:#e2e8f0}.pubdx-examples{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:18px}.pubdx-example{display:flex;flex-direction:column;align-items:center;gap:6px}.pubdx-example-meta{font-size:12px;color:#94a3b8;font-variant-numeric:tabular-nums}.pubdx-runnerup{margin:0 0 18px;font-size:14px;color:#94a3b8}.pubdx-runnerup strong{color:#cbd5e1}.pubdx-share{margin-bottom:20px}.pubdx-share-img{width:100%;border-radius:12px;border:1px solid #1e293b;display:block;box-shadow:0 16px 40px #00000080}.pubdx-share-dl{display:inline-flex;align-items:center;gap:6px;margin-top:12px;padding:8px 14px;border:1px solid #334155;background:#0b1224;color:#cbd5e1;border-radius:9px;font-size:13px;font-weight:700;cursor:pointer}.pubdx-cta-row{display:flex}.pubdx-cta{display:inline-flex;align-items:center;gap:9px;width:100%;justify-content:center;padding:15px 22px;border:none;border-radius:12px;background:linear-gradient(135deg,#6366f1,#818cf8);color:#fff;font-size:16px;font-weight:800;cursor:pointer}.pubdx-empty-title{margin:0 0 12px;font-size:22px;font-weight:800}.pubdx-empty-body{margin:0 0 20px;font-size:15px;line-height:1.6;color:#cbd5e1}.pubdx-empty-body strong{color:#f8fafc}img,video,canvas{max-width:100%}.coach-dashboard .coach-card{display:block}@media (max-width: 1023px){html,body{overflow-x:hidden}#root{width:100%;max-width:100%}.app-container{padding:1rem .75rem 2rem}.main-content{gap:1.25rem}.coach-dashboard{padding:.25rem;gap:1rem}.coach-card h2,.coach-card h3{flex-wrap:wrap}.coach-plan-streak{margin-left:0}.coach-plan-streak+.coach-plan-progress,.coach-plan-streak+.coach-plan-eta{margin-left:auto}.board-column{width:100%;flex-shrink:1}.board-container{width:100%;max-width:100%}.board-layout{gap:.6rem}.coachplay-board-col,.coachplay-coach,.repertoire-builder .puzzle-trainer-board-wrap{min-width:0}}@media (max-width: 640px){.app-container{padding:.75rem .6rem 2rem}.pubdx-input{min-width:0}.pubdx-input-row{flex-wrap:wrap}.pubdx-run{flex:1 1 100%;justify-content:center}.pubdx-wrap{padding:32px 12px 64px}.pubdx-brand,.pubdx-headline{font-size:26px}.pubdx-tagline{font-size:15px}.modal-overlay{padding:.6rem}.import-modal,.coach-profile-modal,.preview-modal,.preview-modal.repertoire-preview-modal{width:100%!important;max-width:100%!important}.pe-board{width:100%!important;height:auto!important;max-width:88vw;aspect-ratio:1 / 1}}
