.cg-wrap{box-sizing:content-box;display:block;position:relative}cg-container{width:100%;height:100%;display:block;position:absolute;top:0}cg-board{-webkit-user-select:none;user-select:none;background-size:cover;width:100%;height:100%;line-height:0;position:absolute;top:0;left:0}.cg-wrap.manipulable cg-board{cursor:pointer}cg-board square{pointer-events:none;width:12.5%;height:12.5%;position:absolute;top:0;left:0}cg-board square.move-dest{pointer-events:auto}cg-board square.last-move{will-change:transform}.cg-wrap piece{z-index:2;will-change:transform;pointer-events:none;background-size:cover;width:12.5%;height:12.5%;position:absolute;top:0;left:0}cg-board piece.dragging{cursor:move;z-index:11!important}piece.anim{z-index:8}piece.fading{z-index:1;opacity:.5}.cg-wrap piece.ghost{opacity:.3}.cg-wrap piece svg{pointer-events:none;z-index:2;opacity:.6;width:100%;height:100%;position:relative;top:0;left:0;overflow:hidden}.cg-wrap cg-auto-pieces,.cg-wrap .cg-shapes,.cg-wrap .cg-custom-svgs,.cg-wrap .cg-shapes-below,.cg-wrap .cg-custom-below{pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0;overflow:visible}.cg-wrap cg-auto-pieces{z-index:2}.cg-wrap cg-auto-pieces piece{opacity:.3}.cg-wrap .cg-shapes{opacity:.6;z-index:2;overflow:hidden}.cg-wrap .cg-shapes-below{z-index:1;overflow:hidden}.cg-wrap .cg-custom-below{z-index:1}.cg-wrap .cg-custom-svgs{z-index:9}.cg-wrap .cg-custom-svgs svg,.cg-wrap .cg-custom-below svg{overflow:visible}.cg-wrap coords{pointer-events:none;opacity:.8;font-family:sans-serif;font-size:9px;display:flex;position:absolute}.cg-wrap coords.ranks{flex-flow:column-reverse;width:12px;height:100%;top:-20px;left:4px}.cg-wrap coords.ranks.black{flex-flow:column}.cg-wrap coords.ranks.left{align-items:flex-end;left:-15px}.cg-wrap coords.files{text-transform:uppercase;text-align:center;flex-flow:row;width:100%;height:16px;bottom:-4px;left:24px}.cg-wrap coords.files.black{flex-flow:row-reverse}.cg-wrap coords coord{flex:auto}.cg-wrap coords.ranks coord{transform:translateY(39%)}.cg-wrap coords.squares{text-transform:uppercase;text-align:right;flex-flow:column-reverse;width:12.5%;height:100%;bottom:0;left:0}.cg-wrap coords.squares.black{flex-flow:column}.cg-wrap coords.squares.left{text-align:left}.cg-wrap coords.squares coord{padding:6% 4%}.cg-wrap coords.squares.rank2{transform:translate(100%)}.cg-wrap coords.squares.rank3{transform:translate(200%)}.cg-wrap coords.squares.rank4{transform:translate(300%)}.cg-wrap coords.squares.rank5{transform:translate(400%)}.cg-wrap coords.squares.rank6{transform:translate(500%)}.cg-wrap coords.squares.rank7{transform:translate(600%)}.cg-wrap coords.squares.rank8{transform:translate(700%)}cg-board{background-color:#f0d9b5;background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4PSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIgogICAgIHZpZXdCb3g9IjAgMCA4IDgiIHNoYXBlLXJlbmRlcmluZz0iY3Jpc3BFZGdlcyI+CjxnIGlkPSJhIj4KICA8ZyBpZD0iYiI+CiAgICA8ZyBpZD0iYyI+CiAgICAgIDxnIGlkPSJkIj4KICAgICAgICA8cmVjdCB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBpZD0iZSIgb3BhY2l0eT0iMCIvPgogICAgICAgIDx1c2UgeD0iMSIgeT0iMSIgaHJlZj0iI2UiIHg6aHJlZj0iI2UiLz4KICAgICAgICA8cmVjdCB5PSIxIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBpZD0iZiIgb3BhY2l0eT0iMC4yIi8+CiAgICAgICAgPHVzZSB4PSIxIiB5PSItMSIgaHJlZj0iI2YiIHg6aHJlZj0iI2YiLz4KICAgICAgPC9nPgogICAgICA8dXNlIHg9IjIiIGhyZWY9IiNkIiB4OmhyZWY9IiNkIi8+CiAgICA8L2c+CiAgICA8dXNlIHg9IjQiIGhyZWY9IiNjIiB4OmhyZWY9IiNjIi8+CiAgPC9nPgogIDx1c2UgeT0iMiIgaHJlZj0iI2IiIHg6aHJlZj0iI2IiLz4KPC9nPgo8dXNlIHk9IjQiIGhyZWY9IiNhIiB4OmhyZWY9IiNhIi8+Cjwvc3ZnPg==)}cg-board square.move-dest{background:radial-gradient(#14551e80 22%,#208530 0,#0000004d 0,#0000 0)}cg-board square.premove-dest{background:radial-gradient(#141e5580 22%,#203085 0,#0000004d 0,#0000 0)}cg-board square.oc.move-dest{background:radial-gradient(#0000 0% 80%,#1455004d 80%)}cg-board square.oc.premove-dest{background:radial-gradient(#0000 0% 80%,#141e5533 80%)}cg-board square.move-dest:hover,cg-board square.move-dest.hover{background:#14551e4d}cg-board square.premove-dest:hover,cg-board square.premove-dest.hover{background:#141e5533}cg-board square.last-move{background-color:#9bc70069}cg-board square.selected{background-color:#14551e80}cg-board square.check{background:radial-gradient(red 0%,#e70000 25%,#a9000000 89%,#9e000000 100%)}cg-board square.current-premove{background-color:#141e5580}.orientation-white .ranks :nth-child(odd),.orientation-white .files :nth-child(2n),.orientation-black .ranks :nth-child(2n),.orientation-black .files :nth-child(odd),coords.squares:nth-of-type(odd) :nth-child(2n),coords.squares:nth-of-type(2n) :nth-child(odd){color:#484848cc}.orientation-white .ranks :nth-child(2n),.orientation-white .files :nth-child(odd),.orientation-black .ranks :nth-child(odd),.orientation-black .files :nth-child(2n),coords.squares:nth-of-type(odd) :nth-child(odd),coords.squares:nth-of-type(2n) :nth-child(2n){color:#fffc}.cg-wrap piece.pawn.white{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NSIgaGVpZ2h0PSI0NSI+PHBhdGggZD0iTTIyLjUgOWMtMi4yMSAwLTQgMS43OS00IDQgMCAuODkuMjkgMS43MS43OCAyLjM4QzE3LjMzIDE2LjUgMTYgMTguNTkgMTYgMjFjMCAyLjAzLjk0IDMuODQgMi40MSA1LjAzLTMgMS4wNi03LjQxIDUuNTUtNy40MSAxMy40N2gyM2MwLTcuOTItNC40MS0xMi40MS03LjQxLTEzLjQ3IDEuNDctMS4xOSAyLjQxLTMgMi40MS01LjAzIDAtMi40MS0xLjMzLTQuNS0zLjI4LTUuNjIuNDktLjY3Ljc4LTEuNDkuNzgtMi4zOCAwLTIuMjEtMS43OS00LTQtNHoiIGZpbGw9IiNmZmYiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPjwvc3ZnPg==)}.cg-wrap piece.bishop.white{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NSIgaGVpZ2h0PSI0NSI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxnIGZpbGw9IiNmZmYiIHN0cm9rZS1saW5lY2FwPSJidXR0Ij48cGF0aCBkPSJNOSAzNmMzLjM5LS45NyAxMC4xMS40MyAxMy41LTIgMy4zOSAyLjQzIDEwLjExIDEuMDMgMTMuNSAyIDAgMCAxLjY1LjU0IDMgMi0uNjguOTctMS42NS45OS0zIC41LTMuMzktLjk3LTEwLjExLjQ2LTEzLjUtMS0zLjM5IDEuNDYtMTAuMTEuMDMtMTMuNSAxLTEuMzU0LjQ5LTIuMzIzLjQ3LTMtLjUgMS4zNTQtMS45NCAzLTIgMy0yeiIvPjxwYXRoIGQ9Ik0xNSAzMmMyLjUgMi41IDEyLjUgMi41IDE1IDAgLjUtMS41IDAtMiAwLTIgMC0yLjUtMi41LTQtMi41LTQgNS41LTEuNSA2LTExLjUtNS0xNS41LTExIDQtMTAuNSAxNC01IDE1LjUgMCAwLTIuNSAxLjUtMi41IDQgMCAwLS41LjUgMCAyeiIvPjxwYXRoIGQ9Ik0yNSA4YTIuNSAyLjUgMCAxIDEtNSAwIDIuNSAyLjUgMCAxIDEgNSAweiIvPjwvZz48cGF0aCBkPSJNMTcuNSAyNmgxME0xNSAzMGgxNW0tNy41LTE0LjV2NU0yMCAxOGg1IiBzdHJva2UtbGluZWpvaW49Im1pdGVyIi8+PC9nPjwvc3ZnPg==)}.cg-wrap piece.knight.white{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NSIgaGVpZ2h0PSI0NSI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik0yMiAxMGMxMC41IDEgMTYuNSA4IDE2IDI5SDE1YzAtOSAxMC02LjUgOC0yMSIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Ik0yNCAxOGMuMzggMi45MS01LjU1IDcuMzctOCA5LTMgMi0yLjgyIDQuMzQtNSA0LTEuMDQyLS45NCAxLjQxLTMuMDQgMC0zLTEgMCAuMTkgMS4yMy0xIDItMSAwLTQuMDAzIDEtNC00IDAtMiA2LTEyIDYtMTJzMS44OS0xLjkgMi0zLjVjLS43My0uOTk0LS41LTItLjUtMyAxLTEgMyAyLjUgMyAyLjVoMnMuNzgtMS45OTIgMi41LTNjMSAwIDEgMyAxIDMiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJNOS41IDI1LjVhLjUuNSAwIDEgMS0xIDAgLjUuNSAwIDEgMSAxIDB6bTUuNDMzLTkuNzVhLjUgMS41IDMwIDEgMS0uODY2LS41LjUgMS41IDMwIDEgMSAuODY2LjV6IiBmaWxsPSIjMDAwIi8+PC9nPjwvc3ZnPg==)}.cg-wrap piece.rook.white{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NSIgaGVpZ2h0PSI0NSI+PGcgZmlsbD0iI2ZmZiIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik05IDM5aDI3di0zSDl2M3ptMy0zdi00aDIxdjRIMTJ6bS0xLTIyVjloNHYyaDVWOWg1djJoNVY5aDR2NSIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiLz48cGF0aCBkPSJNMzQgMTRsLTMgM0gxNGwtMy0zIi8+PHBhdGggZD0iTTMxIDE3djEyLjVIMTRWMTciIHN0cm9rZS1saW5lY2FwPSJidXR0IiBzdHJva2UtbGluZWpvaW49Im1pdGVyIi8+PHBhdGggZD0iTTMxIDI5LjVsMS41IDIuNWgtMjBsMS41LTIuNSIvPjxwYXRoIGQ9Ik0xMSAxNGgyMyIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVqb2luPSJtaXRlciIvPjwvZz48L3N2Zz4=)}.cg-wrap piece.queen.white{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NSIgaGVpZ2h0PSI0NSI+PGcgZmlsbD0iI2ZmZiIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik04IDEyYTIgMiAwIDEgMS00IDAgMiAyIDAgMSAxIDQgMHptMTYuNS00LjVhMiAyIDAgMSAxLTQgMCAyIDIgMCAxIDEgNCAwek00MSAxMmEyIDIgMCAxIDEtNCAwIDIgMiAwIDEgMSA0IDB6TTE2IDguNWEyIDIgMCAxIDEtNCAwIDIgMiAwIDEgMSA0IDB6TTMzIDlhMiAyIDAgMSAxLTQgMCAyIDIgMCAxIDEgNCAweiIvPjxwYXRoIGQ9Ik05IDI2YzguNS0xLjUgMjEtMS41IDI3IDBsMi0xMi03IDExVjExbC01LjUgMTMuNS0zLTE1LTMgMTUtNS41LTE0VjI1TDcgMTRsMiAxMnoiIHN0cm9rZS1saW5lY2FwPSJidXR0Ii8+PHBhdGggZD0iTTkgMjZjMCAyIDEuNSAyIDIuNSA0IDEgMS41IDEgMSAuNSAzLjUtMS41IDEtMS41IDIuNS0xLjUgMi41LTEuNSAxLjUuNSAyLjUuNSAyLjUgNi41IDEgMTYuNSAxIDIzIDAgMCAwIDEuNS0xIDAtMi41IDAgMCAuNS0xLjUtMS0yLjUtLjUtMi41LS41LTIgLjUtMy41IDEtMiAyLjUtMiAyLjUtNC04LjUtMS41LTE4LjUtMS41LTI3IDB6IiBzdHJva2UtbGluZWNhcD0iYnV0dCIvPjxwYXRoIGQ9Ik0xMS41IDMwYzMuNS0xIDE4LjUtMSAyMiAwTTEyIDMzLjVjNi0xIDE1LTEgMjEgMCIgZmlsbD0ibm9uZSIvPjwvZz48L3N2Zz4=)}.cg-wrap piece.king.white{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NSIgaGVpZ2h0PSI0NSI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik0yMi41IDExLjYzVjZNMjAgOGg1IiBzdHJva2UtbGluZWpvaW49Im1pdGVyIi8+PHBhdGggZD0iTTIyLjUgMjVzNC41LTcuNSAzLTEwLjVjMCAwLTEtMi41LTMtMi41cy0zIDIuNS0zIDIuNWMtMS41IDMgMyAxMC41IDMgMTAuNSIgZmlsbD0iI2ZmZiIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiIHN0cm9rZS1saW5lam9pbj0ibWl0ZXIiLz48cGF0aCBkPSJNMTEuNSAzN2M1LjUgMy41IDE1LjUgMy41IDIxIDB2LTdzOS00LjUgNi0xMC41Yy00LTYuNS0xMy41LTMuNS0xNiA0VjI3di0zLjVjLTMuNS03LjUtMTMtMTAuNS0xNi00LTMgNiA1IDEwIDUgMTBWMzd6IiBmaWxsPSIjZmZmIi8+PHBhdGggZD0iTTExLjUgMzBjNS41LTMgMTUuNS0zIDIxIDBtLTIxIDMuNWM1LjUtMyAxNS41LTMgMjEgMG0tMjEgMy41YzUuNS0zIDE1LjUtMyAyMSAwIi8+PC9nPjwvc3ZnPg==)}.cg-wrap piece.pawn.black{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NSIgaGVpZ2h0PSI0NSI+PHBhdGggZD0iTTIyLjUgOWMtMi4yMSAwLTQgMS43OS00IDQgMCAuODkuMjkgMS43MS43OCAyLjM4QzE3LjMzIDE2LjUgMTYgMTguNTkgMTYgMjFjMCAyLjAzLjk0IDMuODQgMi40MSA1LjAzLTMgMS4wNi03LjQxIDUuNTUtNy40MSAxMy40N2gyM2MwLTcuOTItNC40MS0xMi40MS03LjQxLTEzLjQ3IDEuNDctMS4xOSAyLjQxLTMgMi40MS01LjAzIDAtMi40MS0xLjMzLTQuNS0zLjI4LTUuNjIuNDktLjY3Ljc4LTEuNDkuNzgtMi4zOCAwLTIuMjEtMS43OS00LTQtNHoiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPjwvc3ZnPg==)}.cg-wrap piece.bishop.black{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NSIgaGVpZ2h0PSI0NSI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxnIGZpbGw9IiMwMDAiIHN0cm9rZS1saW5lY2FwPSJidXR0Ij48cGF0aCBkPSJNOSAzNmMzLjM5LS45NyAxMC4xMS40MyAxMy41LTIgMy4zOSAyLjQzIDEwLjExIDEuMDMgMTMuNSAyIDAgMCAxLjY1LjU0IDMgMi0uNjguOTctMS42NS45OS0zIC41LTMuMzktLjk3LTEwLjExLjQ2LTEzLjUtMS0zLjM5IDEuNDYtMTAuMTEuMDMtMTMuNSAxLTEuMzU0LjQ5LTIuMzIzLjQ3LTMtLjUgMS4zNTQtMS45NCAzLTIgMy0yeiIvPjxwYXRoIGQ9Ik0xNSAzMmMyLjUgMi41IDEyLjUgMi41IDE1IDAgLjUtMS41IDAtMiAwLTIgMC0yLjUtMi41LTQtMi41LTQgNS41LTEuNSA2LTExLjUtNS0xNS41LTExIDQtMTAuNSAxNC01IDE1LjUgMCAwLTIuNSAxLjUtMi41IDQgMCAwLS41LjUgMCAyeiIvPjxwYXRoIGQ9Ik0yNSA4YTIuNSAyLjUgMCAxIDEtNSAwIDIuNSAyLjUgMCAxIDEgNSAweiIvPjwvZz48cGF0aCBkPSJNMTcuNSAyNmgxME0xNSAzMGgxNW0tNy41LTE0LjV2NU0yMCAxOGg1IiBzdHJva2U9IiNlY2VjZWMiIHN0cm9rZS1saW5lam9pbj0ibWl0ZXIiLz48L2c+PC9zdmc+)}.cg-wrap piece.knight.black{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NSIgaGVpZ2h0PSI0NSI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik0yMiAxMGMxMC41IDEgMTYuNSA4IDE2IDI5SDE1YzAtOSAxMC02LjUgOC0yMSIgZmlsbD0iIzAwMCIvPjxwYXRoIGQ9Ik0yNCAxOGMuMzggMi45MS01LjU1IDcuMzctOCA5LTMgMi0yLjgyIDQuMzQtNSA0LTEuMDQyLS45NCAxLjQxLTMuMDQgMC0zLTEgMCAuMTkgMS4yMy0xIDItMSAwLTQuMDAzIDEtNC00IDAtMiA2LTEyIDYtMTJzMS44OS0xLjkgMi0zLjVjLS43My0uOTk0LS41LTItLjUtMyAxLTEgMyAyLjUgMyAyLjVoMnMuNzgtMS45OTIgMi41LTNjMSAwIDEgMyAxIDMiIGZpbGw9IiMwMDAiLz48cGF0aCBkPSJNOS41IDI1LjVhLjUuNSAwIDEgMS0xIDAgLjUuNSAwIDEgMSAxIDB6bTUuNDMzLTkuNzVhLjUgMS41IDMwIDEgMS0uODY2LS41LjUgMS41IDMwIDEgMSAuODY2LjV6IiBmaWxsPSIjZWNlY2VjIiBzdHJva2U9IiNlY2VjZWMiLz48cGF0aCBkPSJNMjQuNTUgMTAuNGwtLjQ1IDEuNDUuNS4xNWMzLjE1IDEgNS42NSAyLjQ5IDcuOSA2Ljc1UzM1Ljc1IDI5LjA2IDM1LjI1IDM5bC0uMDUuNWgyLjI1bC4wNS0uNWMuNS0xMC4wNi0uODgtMTYuODUtMy4yNS0yMS4zNC0yLjM3LTQuNDktNS43OS02LjY0LTkuMTktNy4xNmwtLjUxLS4xeiIgZmlsbD0iI2VjZWNlYyIgc3Ryb2tlPSJub25lIi8+PC9nPjwvc3ZnPg==)}.cg-wrap piece.rook.black{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NSIgaGVpZ2h0PSI0NSI+PGcgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik05IDM5aDI3di0zSDl2M3ptMy41LTdsMS41LTIuNWgxN2wxLjUgMi41aC0yMHptLS41IDR2LTRoMjF2NEgxMnoiIHN0cm9rZS1saW5lY2FwPSJidXR0Ii8+PHBhdGggZD0iTTE0IDI5LjV2LTEzaDE3djEzSDE0eiIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiIHN0cm9rZS1saW5lam9pbj0ibWl0ZXIiLz48cGF0aCBkPSJNMTQgMTYuNUwxMSAxNGgyM2wtMyAyLjVIMTR6TTExIDE0VjloNHYyaDVWOWg1djJoNVY5aDR2NUgxMXoiIHN0cm9rZS1saW5lY2FwPSJidXR0Ii8+PHBhdGggZD0iTTEyIDM1LjVoMjFtLTIwLTRoMTltLTE4LTJoMTdtLTE3LTEzaDE3TTExIDE0aDIzIiBmaWxsPSJub25lIiBzdHJva2U9IiNlY2VjZWMiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJtaXRlciIvPjwvZz48L3N2Zz4=)}.cg-wrap piece.queen.black{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NSIgaGVpZ2h0PSI0NSI+PGcgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxnIHN0cm9rZT0ibm9uZSI+PGNpcmNsZSBjeD0iNiIgY3k9IjEyIiByPSIyLjc1Ii8+PGNpcmNsZSBjeD0iMTQiIGN5PSI5IiByPSIyLjc1Ii8+PGNpcmNsZSBjeD0iMjIuNSIgY3k9IjgiIHI9IjIuNzUiLz48Y2lyY2xlIGN4PSIzMSIgY3k9IjkiIHI9IjIuNzUiLz48Y2lyY2xlIGN4PSIzOSIgY3k9IjEyIiByPSIyLjc1Ii8+PC9nPjxwYXRoIGQ9Ik05IDI2YzguNS0xLjUgMjEtMS41IDI3IDBsMi41LTEyLjVMMzEgMjVsLS4zLTE0LjEtNS4yIDEzLjYtMy0xNC41LTMgMTQuNS01LjItMTMuNkwxNCAyNSA2LjUgMTMuNSA5IDI2eiIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiLz48cGF0aCBkPSJNOSAyNmMwIDIgMS41IDIgMi41IDQgMSAxLjUgMSAxIC41IDMuNS0xLjUgMS0xLjUgMi41LTEuNSAyLjUtMS41IDEuNS41IDIuNS41IDIuNSA2LjUgMSAxNi41IDEgMjMgMCAwIDAgMS41LTEgMC0yLjUgMCAwIC41LTEuNS0xLTIuNS0uNS0yLjUtLjUtMiAuNS0zLjUgMS0yIDIuNS0yIDIuNS00LTguNS0xLjUtMTguNS0xLjUtMjcgMHoiIHN0cm9rZS1saW5lY2FwPSJidXR0Ii8+PHBhdGggZD0iTTExIDM4LjVhMzUgMzUgMSAwIDAgMjMgMCIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiLz48cGF0aCBkPSJNMTEgMjlhMzUgMzUgMSAwIDEgMjMgMG0tMjEuNSAyLjVoMjBtLTIxIDNhMzUgMzUgMSAwIDAgMjIgMG0tMjMgM2EzNSAzNSAxIDAgMCAyNCAwIiBmaWxsPSJub25lIiBzdHJva2U9IiNlY2VjZWMiLz48L2c+PC9zdmc+)}.cg-wrap piece.king.black{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NSIgaGVpZ2h0PSI0NSI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik0yMi41IDExLjYzVjYiIHN0cm9rZS1saW5lam9pbj0ibWl0ZXIiLz48cGF0aCBkPSJNMjIuNSAyNXM0LjUtNy41IDMtMTAuNWMwIDAtMS0yLjUtMy0yLjVzLTMgMi41LTMgMi41Yy0xLjUgMyAzIDEwLjUgMyAxMC41IiBmaWxsPSIjMDAwIiBzdHJva2UtbGluZWNhcD0iYnV0dCIgc3Ryb2tlLWxpbmVqb2luPSJtaXRlciIvPjxwYXRoIGQ9Ik0xMS41IDM3YzUuNSAzLjUgMTUuNSAzLjUgMjEgMHYtN3M5LTQuNSA2LTEwLjVjLTQtNi41LTEzLjUtMy41LTE2IDRWMjd2LTMuNWMtMy41LTcuNS0xMy0xMC41LTE2LTQtMyA2IDUgMTAgNSAxMFYzN3oiIGZpbGw9IiMwMDAiLz48cGF0aCBkPSJNMjAgOGg1IiBzdHJva2UtbGluZWpvaW49Im1pdGVyIi8+PHBhdGggZD0iTTMyIDI5LjVzOC41LTQgNi4wMy05LjY1QzM0LjE1IDE0IDI1IDE4IDIyLjUgMjQuNWwuMDEgMi4xLS4wMS0yLjFDMjAgMTggOS45MDYgMTQgNi45OTcgMTkuODVjLTIuNDk3IDUuNjUgNC44NTMgOSA0Ljg1MyA5IiBzdHJva2U9IiNlY2VjZWMiLz48cGF0aCBkPSJNMTEuNSAzMGM1LjUtMyAxNS41LTMgMjEgMG0tMjEgMy41YzUuNS0zIDE1LjUtMyAyMSAwbS0yMSAzLjVjNS41LTMgMTUuNS0zIDIxIDAiIHN0cm9rZT0iI2VjZWNlYyIvPjwvZz48L3N2Zz4=)}:root{color:#f0f0f0;font-synthesis:none;text-rendering:optimizelegibility;--surface:#262522;--surface-2:#312e2b;--surface-3:#3c3936;--text-muted:#b8b8b8;--accent:#81b64c;--accent-strong:#a3d160;--danger:#e05252;--shadow:0 22px 55px #00000059;background:#161512;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:radial-gradient(circle at top,#302e2b 0%,#161512 55%);min-height:100%}body{min-width:320px;min-height:100vh;margin:0}button{font:inherit}button:focus-visible{outline-offset:3px;outline:3px solid #7bb8f0}.app-shell{gap:18px;width:min(1300px,100%);min-height:100vh;margin:0 auto;padding:24px clamp(14px,4vw,40px) 30px;display:grid}.top-bar,.action-row{justify-content:space-between;align-items:center;gap:16px;display:flex}.eyebrow{color:var(--accent-strong);letter-spacing:.12em;text-transform:uppercase;margin:0 0 4px;font-size:.8rem;font-weight:800}h1,h2,p{margin-top:0}h1{letter-spacing:-.035em;margin-bottom:0;font-size:clamp(1.45rem,4vw,2.35rem)}.icon-button,.secondary-button,.completion-card button{color:#fff;background:var(--surface-3);cursor:pointer;border:0;border-radius:10px;padding:11px 16px;font-weight:750;box-shadow:0 4px #00000040}.icon-button:hover,.secondary-button:hover{filter:brightness(1.12)}.trainer-panel{grid-template-columns:minmax(0,1.55fr) minmax(320px,420px);align-items:start;gap:18px;display:grid}.board-column,.stats-sidebar{box-shadow:var(--shadow);background:linear-gradient(145deg,#312e2bfa,#262522fa);border-radius:18px;padding:clamp(14px,3vw,26px)}.board-column{justify-items:center;gap:14px;display:grid}.target-panel{background:#0000002e;border:1px solid #ffffff14;border-radius:14px;justify-items:center;min-width:min(100%,430px);padding:12px 24px 14px;display:grid}.target-panel span,.target-panel small{color:var(--text-muted)}.target-panel strong{letter-spacing:-.06em;text-transform:lowercase;text-shadow:0 4px 18px #81b64c38;font-size:clamp(2.8rem,10vw,5.2rem);line-height:1}.board-shell{aspect-ratio:1;touch-action:none;border-radius:8px;width:min(76vh,680px,92vw);position:relative;overflow:hidden;box-shadow:0 14px 38px #0000006b}.trainer-board{width:100%;height:100%}.trainer-board cg-board{cursor:crosshair}.trainer-board coords{font-size:clamp(10px,1.7vw,15px);font-weight:900}.board-overlay-layer{z-index:30;pointer-events:none;position:absolute}.feedback-overlay{pointer-events:none;border-radius:2px;animation:.52s ease-out square-pop;position:absolute}.feedback-overlay.correct{background:#2dd25cc2;box-shadow:inset 0 0 0 5px #e0ffe7cc}.feedback-overlay.wrong{background:#e74040c7;animation:.36s ease-in-out square-shake;box-shadow:inset 0 0 0 5px #ffe1e1c7}.feedback-message{text-align:center;min-height:26px;font-weight:850}.feedback-message.correct{color:#9fe56a}.feedback-message.wrong{color:#f88}.stats-sidebar{gap:14px;display:grid}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.stat-card,.progress-card,.recent-results-card{background:var(--surface);border-radius:13px;padding:14px;box-shadow:0 10px 25px #0000003d}.stat-card{align-content:center;gap:5px;min-height:86px;display:grid}.stat-card span{color:var(--text-muted);font-size:.82rem;font-weight:700}.stat-card strong{overflow-wrap:anywhere;font-size:clamp(1.15rem,3vw,1.55rem)}.score-card strong{color:var(--accent-strong)}.progress-card-header,.recent-results-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.progress-card h2,.recent-results-card h2{margin-bottom:6px;font-size:1.05rem}.progress-card p,.recent-results-header span,.progress-details,.progress-hint span,.result-placeholder{color:var(--text-muted);font-size:.9rem}.progress-card-header strong{color:var(--accent-strong);font-size:1.55rem}.progress-track{background:#1d1c19;border-radius:999px;height:18px;margin:12px 0 8px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff0d}.progress-fill{border-radius:inherit;background:linear-gradient(90deg,#5f9c31,#9dd35f);height:100%;transition:width .22s}.progress-threshold-marker{background:#ffffffb8;width:3px;height:100%;position:absolute;top:0;right:0}.progress-details{justify-content:space-between;gap:10px;display:flex}.progress-hint{gap:6px;margin-top:12px;display:grid}.results-strip{flex-wrap:wrap;gap:8px;min-height:56px;margin-top:12px;display:flex}.result-dot,.legend-dot{border-radius:999px;display:inline-block}.result-dot{width:16px;height:16px;box-shadow:inset 0 0 0 2px #ffffff2e}.legend-dot{width:12px;height:12px}.result-dot.correct,.legend-dot.correct{background:#7fd44c}.result-dot.wrong,.legend-dot.wrong{background:#e05252}.results-legend{color:var(--text-muted);gap:18px;margin:12px 0 0;padding:0;font-size:.9rem;list-style:none;display:flex}.results-legend li{align-items:center;gap:8px;display:flex}.completion-card{background:#34521ee0;border:2px solid #81b64c8c;border-radius:14px;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;width:min(100%,680px);padding:16px;animation:.42s cubic-bezier(.2,.8,.2,1) completion-in;display:grid}.completion-icon{font-size:2.2rem}.completion-card h2,.completion-card p{margin-bottom:2px}.completion-card button{cursor:not-allowed;opacity:.66;background:#00000047}.action-row-simple{justify-content:flex-end}@keyframes square-pop{0%{transform:scale(.76)}60%{transform:scale(1.08)}to{transform:scale(1)}}@keyframes square-shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}@keyframes completion-in{0%{opacity:0;transform:translateY(12px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=1080px){.trainer-panel{grid-template-columns:1fr}.stats-sidebar{order:2}}@media (width<=720px){.app-shell{padding-top:14px}.top-bar,.action-row,.progress-card-header,.recent-results-header{align-items:flex-start}.completion-card{grid-template-columns:auto 1fr}.completion-card button{grid-column:1/-1}}@media (width<=480px){.top-bar,.action-row,.progress-card-header,.recent-results-header{display:grid}.icon-button,.secondary-button{justify-self:start}.secondary-button{width:100%}.stats-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.feedback-overlay.source{background:#3d8be057;animation:1.6s ease-in-out infinite source-pulse;box-shadow:inset 0 0 0 4px #a4d3ffdb}.movement-target strong{letter-spacing:-.04em;font-size:clamp(2.2rem,7vw,4rem)}.module-actions{justify-content:space-between}@keyframes source-pulse{0%,to{opacity:.78}50%{opacity:1}}.global-goal-runner{z-index:3;color:#fff;background:#5d9236;border:2px solid #ffffffdb;border-radius:50%;place-items:center;width:36px;height:36px;font-size:1.35rem;line-height:1;transition:left .32s cubic-bezier(.2,.8,.2,1);display:grid;position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 5px 12px #00000061}.global-milestones{color:#898782;text-align:right;grid-template-columns:repeat(4,1fr);margin:0 2px 16px;font-size:.78rem;font-weight:800;display:grid}.global-milestones span.reached{color:var(--accent-strong)}@media (width<=520px){.persona-avatar-roster{grid-template-columns:1fr}.persona-selected-card{grid-template-columns:72px minmax(0,1fr)}.persona-avatar-hero{width:72px;height:72px}.play-setup-row{grid-template-columns:1fr}}.header-copy{min-width:0}.module-heading-row{flex-wrap:wrap;align-items:center;gap:8px 10px;margin-bottom:4px;display:flex}.module-heading-row .eyebrow{margin:0}.module-reset-button,.module-back-button{color:#e8e8e8;cursor:pointer;box-shadow:none;background:#3c3936c7;border:1px solid #ffffff1f;border-radius:8px;padding:6px 10px;font-size:.76rem;font-weight:800;line-height:1.1}.module-reset-button:hover,.module-back-button:hover{background:#4a4743}.global-goal-card{background:radial-gradient(circle at 95% 0,#81b64c1f,#0000 46%),#22211e;border:1px solid #a3d16033;border-radius:13px;padding:12px 13px;box-shadow:0 8px 18px #0003}.global-goal-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.global-goal-kicker{color:var(--accent-strong);letter-spacing:.1em;text-transform:uppercase;margin:0 0 2px;font-size:.65rem;font-weight:850}.global-goal-heading h2{margin:0;font-size:.98rem}.global-goal-score{white-space:nowrap;align-items:baseline;display:flex}.global-goal-score strong{color:var(--accent-strong);font-size:1.35rem;line-height:1}.global-goal-score span{color:var(--text-muted);margin-left:4px;font-size:.78rem;font-weight:750}.global-goal-note{color:var(--text-muted);margin:7px 0 0;font-size:.76rem;line-height:1.35}.global-goal-track{background:#151512;border-radius:999px;height:11px;margin:11px 1px 7px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff0f}.global-goal-fill{border-radius:inherit;background:linear-gradient(90deg,#477f28,#a3d160);max-width:100%;height:100%;transition:width .32s cubic-bezier(.2,.8,.2,1);box-shadow:0 0 18px #81b64c47}.global-milestone-pin{z-index:2;background:#24231f;border:1px solid #817e79;border-radius:50%;width:5px;height:5px;position:absolute;top:50%;transform:translate(-50%,-50%)}.global-milestone-pin.reached{background:var(--accent-strong);border-color:#e4ffd0;box-shadow:0 0 10px #a3d160cc}.global-goal-footer{color:var(--text-muted);justify-content:space-between;align-items:center;gap:8px;font-size:.76rem;display:flex}.global-goal-footer strong{color:#f0f0f0}.global-goal-footer span{color:var(--text-muted);font-size:inherit}@media (width<=720px){.module-heading-row{align-items:flex-start}}@media (width<=480px){.module-heading-row{display:flex}.module-reset-button,.module-back-button{justify-self:auto;width:auto}.global-goal-heading,.global-goal-footer{display:flex}.global-goal-track{margin-top:11px}}.feedback-overlay.blocking{pointer-events:auto;cursor:not-allowed}.movement-example-card{background:radial-gradient(circle at 100% 0,#3d8be024,#0000 48%),#22211e;border:1px solid #76ade13d;border-radius:13px;gap:10px;padding:13px;display:grid;box-shadow:0 8px 18px #0003}.movement-example-copy{justify-content:space-between;align-items:center;gap:12px;display:flex}.movement-example-kicker{color:#91c9ff;letter-spacing:.1em;text-transform:uppercase;margin:0 0 2px;font-size:.65rem;font-weight:850}.movement-example-copy h2{margin:0;font-size:.98rem}.movement-example-copy>span{color:#dfffc9;background:#81b64c2b;border-radius:999px;flex:none;padding:4px 8px;font-size:.76rem;font-weight:850}.movement-example-board-wrap{background:#00000029;border-radius:10px;place-items:center;padding:5px;display:grid}.compact-board-shell{border-radius:6px;width:min(100%,218px);box-shadow:0 8px 20px #00000052}.compact-board-shell .feedback-overlay{border-radius:1px;animation:none}.compact-board-shell .feedback-overlay.correct{background:#3ada67ad;box-shadow:inset 0 0 0 2px #e0ffe7b8}.compact-board-shell .feedback-overlay.source{background:#3d8be061;animation:none;box-shadow:inset 0 0 0 2px #b0dbffe0}.movement-example-note{color:var(--text-muted);margin:0;font-size:.76rem;line-height:1.35}.movement-target small{text-align:center}@media (width<=1080px){.movement-example-card{grid-template-columns:minmax(180px,240px) 1fr;align-items:center}.movement-example-copy,.movement-example-note{display:block}.movement-example-board-wrap{grid-row:1/span 2}}@media (width<=620px){.movement-example-card{grid-template-columns:1fr}.movement-example-board-wrap{grid-row:auto}}.piece-progress-row{flex-wrap:wrap;justify-content:center;gap:7px;width:min(100%,680px);display:flex}.piece-progress-row button{color:#aaa7a2;cursor:pointer;background:#00000024;border:1px solid #ffffff1a;border-radius:999px;padding:5px 9px;font-family:inherit;font-size:.73rem;font-weight:800;line-height:1.2;transition:transform .12s,border-color .12s,background .12s}.piece-progress-row button:hover{color:#e8f4ff;background:#3d8be01c;border-color:#91c9ff6b;transform:translateY(-1px)}.piece-progress-row button:focus-visible{outline-offset:2px;outline:2px solid #91c9ff}.piece-progress-row button.current{color:#cce7ff;background:#3d8be029;border-color:#91c9ff8c}.piece-progress-row button.completed{color:#dfffc9;background:#81b64c29;border-color:#a3d16075}.piece-explanation{color:#e2e0dc;background:#3d8be017;border-left:3px solid #91c9ffb8;border-radius:0 8px 8px 0;margin:0;padding:9px 10px;font-size:.82rem;line-height:1.45}.feedback-message.neutral{color:#b8d9f7}.movement-target>span{color:#9fcdf8;font-weight:800}@media (width<=1080px){.movement-example-card .piece-explanation{align-self:center}}.feedback-overlay.blocked{background:#e74040c7;animation:none;box-shadow:inset 0 0 0 5px #ffe1e1c7}.temporary-skip-button{color:#e8e8e8;cursor:pointer;background:#0003;border:1px dashed #ffffff40;border-radius:10px;padding:9px 14px;font-weight:750}.temporary-skip-button small{color:var(--text-muted);font-weight:650}.temporary-skip-button:hover:not(:disabled){background:#ffffff17}.temporary-skip-button:disabled{cursor:not-allowed;opacity:.45}.castling-example-card{gap:12px}.castling-examples-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.castling-example-item{background:#00000026;border:1px solid #ffffff14;border-radius:12px;min-width:0;padding:10px}.castling-example-item h3{margin:0 0 8px;font-size:.9rem}.castling-example-item p{color:var(--text-muted);margin:9px 0 0;font-size:.78rem;line-height:1.35}.castling-board-wrap{width:100%}.castling-rule-strip{color:#dcebcf;background:#4a702b3d;border-radius:10px;gap:6px;padding:10px 12px;font-size:.8rem;font-weight:700;display:grid}@media (width<=430px){.castling-examples-grid{grid-template-columns:1fr}}.castling-example-card{grid-template-columns:1fr!important;align-items:stretch!important}.castling-example-card .movement-example-board-wrap{grid-row:auto!important}.compact-board-shell .feedback-overlay.blocked{background:#e74040c7;box-shadow:inset 0 0 0 2px #ffe1e1c7}.en-passant-module .board-column{align-content:start}.en-passant-target strong{font-size:clamp(2rem,6vw,3.8rem)}.en-passant-phase-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:min(100%,680px);display:grid}.en-passant-phase-row span{color:#aaa7a2;text-align:center;background:#00000026;border:1px solid #ffffff1a;border-radius:10px;padding:8px 10px;font-size:.76rem;font-weight:850}.en-passant-phase-row span.active{color:#d7ecff;background:#3d8be02e;border-color:#91c9ff94;box-shadow:inset 0 -3px #3d8be07a}.en-passant-phase-row span.complete{color:#e4ffd3;background:#81b64c2e;border-color:#a3d1607a}.en-passant-controls{gap:10px;width:min(100%,680px);display:grid}.primary-action-button,.recognition-button,.guide-replay-button{color:#fff;cursor:pointer;border:0;border-radius:10px;padding:11px 15px;font-weight:850;box-shadow:0 4px #0000003d}.primary-action-button{background:linear-gradient(#8cc954,#6da33a)}.primary-action-button:hover,.recognition-button:hover:not(:disabled),.guide-replay-button:hover{filter:brightness(1.1)}.recognition-buttons{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.recognition-button.possible{background:#5e9d34}.recognition-button.impossible{background:#b34242}.recognition-button:disabled{cursor:wait;opacity:.58}.en-passant-guide{gap:12px}.en-passant-guide .trainer-board piece.fading,.en-passant-module .trainer-board piece.fading{opacity:0!important;transition:opacity .48s ease-out!important}.guide-replay-button{color:#d9edff;box-shadow:none;background:#3d8be047;padding:7px 10px;font-size:.76rem}.en-passant-guide-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.en-passant-guide-item{background:#00000026;border:1px solid #ffffff14;border-radius:11px;align-content:start;gap:8px;min-width:0;padding:9px;display:grid}.en-passant-guide-title{grid-template-columns:auto 1fr auto;align-items:center;gap:7px;display:grid}.en-passant-guide-title>span{color:#15210e;background:#a3d160;border-radius:999px;place-items:center;width:22px;height:22px;font-size:.72rem;font-weight:950;display:grid}.en-passant-guide-title h3{margin:0;font-size:.82rem}.en-passant-guide-title strong{color:#ffd9d9;background:#e0525233;border-radius:999px;padding:3px 6px;font-size:.64rem}.en-passant-guide-item .compact-board-shell{width:min(100%,132px)}.en-passant-guide-item p{color:var(--text-muted);margin:0;font-size:.7rem;line-height:1.35}@media (width<=1080px){.en-passant-guide-grid{grid-template-columns:repeat(3,minmax(140px,1fr))}}@media (width<=680px){.en-passant-guide-grid,.recognition-buttons{grid-template-columns:1fr}.en-passant-guide-item{grid-template-columns:minmax(110px,145px) 1fr;align-items:center}.en-passant-guide-title,.en-passant-guide-item p{grid-column:2}.en-passant-guide-item .movement-example-board-wrap{grid-area:1/1/span 2}}@media (width<=470px){.en-passant-phase-row,.en-passant-guide-item{grid-template-columns:1fr}.en-passant-guide-title,.en-passant-guide-item p,.en-passant-guide-item .movement-example-board-wrap{grid-area:auto/1}}.feedback-overlay.candidate{background:#ffffff1c;animation:none;box-shadow:inset 0 0 0 3px #ffffff6b}.feedback-overlay.direct-move-target{pointer-events:auto;cursor:pointer;appearance:none;touch-action:manipulation;border:0;outline:none;padding:0}.feedback-overlay.direct-move-target:hover,.feedback-overlay.direct-move-target:focus-visible{background:#78c6ff57;box-shadow:inset 0 0 0 4px #c2e7fff5,0 0 16px #5ab5ffa6}.feedback-overlay.direct-move-target:active{background:#81b64c70}.feedback-overlay.attacker{background:#e740405c;animation:.52s ease-in-out infinite alternate attacker-pulse;box-shadow:inset 0 0 0 5px #ff6e6ef2,0 0 22px #e74040d9}.feedback-overlay.king-danger{background:#e7404038;animation:.3s ease-in-out infinite alternate king-danger-pulse;box-shadow:inset 0 0 0 6px #ffe1e1f2}.king-safety-target>span{color:#a9d7ff;font-weight:850}.king-safety-instruction{background:#81b64c1a;border-left:4px solid #81b64c;border-radius:0 10px 10px 0;gap:5px;width:min(100%,680px);padding:12px 15px;display:grid}.king-safety-instruction span{color:var(--text-muted);font-size:.9rem}.king-safety-instruction em{color:#f1d58a;font-size:.88rem;font-style:normal;font-weight:700}.king-safety-help-card{gap:10px;display:grid}.king-safety-help-card h2,.king-safety-help-card p{margin-bottom:0}.king-safety-help-card ol{color:#dedbd5;margin:0;padding-left:1.25rem}.king-safety-legend{color:var(--text-muted);gap:8px;font-size:.9rem;display:grid}.king-safety-legend span{align-items:center;gap:9px;display:flex}.king-safety-legend i{border-radius:3px;width:16px;height:16px;display:inline-block}.legend-source{background:#3d8be0b3}.legend-candidate{background:#ffffff47}.legend-attacker{background:#e74040cc}.clean-position-counter{color:var(--accent-strong);font-weight:800}.no-safe-move-button{color:#fff;cursor:pointer;background:#486f2abf;border:1px solid #a3d16073;border-radius:11px;padding:11px 16px;font-weight:850}.dataset-error-card{justify-items:start}.dataset-error-card pre{color:#ffb0b0;white-space:pre-wrap;background:#00000047;border-radius:8px;max-width:100%;padding:12px;overflow-x:auto}@keyframes attacker-pulse{0%{opacity:.78;transform:scale(.95)}to{opacity:1;transform:scale(1.05)}}@keyframes king-danger-pulse{0%{opacity:.55}to{opacity:1}}.stalemate-target>span{color:#f5d36f;font-weight:850}.stalemate-intro-card,.stalemate-question-card,.stalemate-help-card,.stalemate-phase-progress{background:#f5d36f14;border:1px solid #f5d36f47;border-radius:13px;gap:10px;width:min(100%,680px);padding:15px 17px;display:grid}.stalemate-intro-card p,.stalemate-question-card span,.stalemate-help-card p,.stalemate-phase-progress p{color:var(--text-muted);margin:0}.stalemate-intro-heading{align-items:center;gap:13px;display:flex}.stalemate-intro-heading>span{text-align:center;background:#f5d36f29;border-radius:999px;min-width:92px;padding:8px 10px;font-weight:900}.stalemate-intro-heading h2,.stalemate-intro-heading small,.stalemate-help-card h2,.stalemate-phase-progress h2{margin:0}.stalemate-question-card.saving{background:#3d8be01a;border-color:#59bbff66}.stalemate-answer-buttons{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:min(100%,680px);display:grid}.queen-classification-options{grid-template-columns:repeat(3,minmax(0,1fr));width:min(100%,860px)}.stalemate-answer-buttons button,.primary-action-button{color:#fff;cursor:pointer;background:#5b4b18c7;border:1px solid #f5d36f6b;border-radius:11px;padding:12px 16px;font-weight:850}.stalemate-answer-buttons button:hover,.primary-action-button:hover:not(:disabled){background:#7f671eeb}.primary-action-button:disabled{opacity:.55;cursor:not-allowed}.feedback-overlay.stalemate-king{background:#f5d36f4d;animation:.52s ease-in-out infinite alternate stalemate-pulse;box-shadow:inset 0 0 0 5px #ffe790f5,0 0 20px #f5d36fb8}.stalemate-sidebar{align-content:start}.stalemate-help-card,.stalemate-phase-progress{width:auto}.stalemate-progress-line{background:#ffffff0b;border-radius:9px;justify-content:space-between;gap:12px;padding:8px 10px;display:flex}.stalemate-progress-line.completed{color:var(--accent-strong);background:#81b64c1c}.stalemate-back-button{justify-self:start}@keyframes stalemate-pulse{0%{opacity:.62;transform:scale(.97)}to{opacity:1;transform:scale(1.03)}}@media (width<=820px) and (width>=621px){.queen-classification-options{grid-template-columns:1fr}}@media (width<=620px){.stalemate-answer-buttons{grid-template-columns:1fr}.stalemate-intro-heading{align-items:flex-start}}.intro-module{gap:16px;display:grid}.intro-progress{width:min(100%,760px);color:var(--text-muted);grid-template-columns:34px minmax(50px,1fr) 34px auto;align-items:center;gap:10px;margin:0 auto;display:grid}.intro-progress span{background:var(--surface-2);border:2px solid #ffffff38;border-radius:50%;place-items:center;width:34px;height:34px;font-weight:900;display:grid}.intro-progress span.active{border-color:var(--accent-strong);color:#16200d;background:var(--accent-strong)}.intro-progress i{background:linear-gradient(90deg, var(--accent) 0 50%, #ffffff24 50% 100%);border-radius:99px;height:4px}.intro-progress strong{color:#fff;white-space:nowrap}.intro-layout{grid-template-columns:minmax(0,1.35fr) minmax(340px,.9fr);align-items:start;gap:18px;display:grid}.intro-board-column,.intro-copy-panel{box-shadow:var(--shadow);background:linear-gradient(145deg,#312e2bfa,#262522fa);border-radius:18px}.intro-board-column{justify-items:center;gap:12px;padding:clamp(14px,3vw,26px);display:grid}.intro-copy-panel{align-content:start;gap:16px;min-height:100%;padding:clamp(18px,3vw,28px);display:grid}.intro-copy-panel h2,.intro-copy-panel h3,.intro-copy-panel p{margin-bottom:0}.intro-kicker{color:var(--accent-strong);letter-spacing:.12em;text-transform:uppercase;font-size:.78rem;font-weight:900}.intro-copy-panel h2{letter-spacing:-.035em;font-size:clamp(1.65rem,4vw,2.45rem)}.intro-lead{color:#e6e3dc;font-size:1.05rem;line-height:1.55}.intro-lead strong{color:var(--accent-strong)}.intro-armies{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.intro-army-card{background:#0003;border:1px solid #ffffff1a;border-radius:13px;padding:13px}.intro-army-card h3{align-items:center;gap:8px;font-size:1rem;display:flex}.intro-army-card h3 span{font-size:1.45rem}.intro-army-card ul{gap:5px;margin:12px 0;padding:0;list-style:none;display:grid}.intro-army-card li{color:var(--text-muted);grid-template-columns:24px 1fr;gap:6px;font-size:.9rem;display:grid}.intro-army-card li strong,.intro-army-card>p strong{color:#fff}.intro-army-card>p{color:var(--text-muted);border-top:1px solid #ffffff1a;padding-top:9px}.intro-piece-picker{flex-wrap:wrap;gap:8px;display:flex}.intro-piece-picker button{color:#fff;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff2e;border-radius:999px;padding:8px 11px;font-weight:800}.intro-piece-picker button:hover,.intro-piece-picker button.selected{color:#071421;background:#a9d7ff;border-color:#a9d7ff}.intro-board-caption{color:var(--text-muted);text-align:center;margin:0;font-weight:700}.intro-primary-button{color:#122008;background:var(--accent-strong);cursor:pointer;border:0;border-radius:11px;padding:13px 18px;font-weight:900;box-shadow:0 5px #00000047}.intro-primary-button:hover{filter:brightness(1.08)}.intro-etymology-note{color:#d7e0e8;margin:6px 0 2px;font-size:.97rem;line-height:1.45}.intro-etymology-note em{color:#d7e0e8}.intro-goal-panel{align-content:center}.intro-king-locations{gap:9px;display:grid}.intro-king-locations p{color:#e8e6e0;background:#ffffff0e;border-radius:10px;align-items:center;gap:10px;padding:10px 12px;display:flex}.intro-king-dot{border-radius:4px;flex:none;width:18px;height:18px}.intro-king-dot.white{background:#78c6ff8c;border:3px solid #dff2ff}.intro-king-dot.black{background:#e740409e;border:3px solid #ffb0b0}.intro-goal-statement{border-left:5px solid var(--accent-strong);color:#fff;background:#81b64c1f;border-radius:0 12px 12px 0;padding:18px;font-size:clamp(1.25rem,3vw,1.7rem);font-weight:900;line-height:1.35}.intro-motivation{text-align:center;background:#0003;border:1px solid #a3d16040;border-radius:13px;padding:16px}.intro-motivation p{color:var(--text-muted)}.intro-motivation strong{color:var(--accent-strong);margin-top:4px;font-size:1.2rem;display:block}.intro-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;display:grid}.intro-army-symbol{border:1px solid #ffffff24;border-radius:999px;justify-content:center;align-items:center;width:28px;height:28px;margin-right:8px;font-size:18px;line-height:1;display:inline-flex}.intro-army-symbol.white{color:#111827;background:#f8fafc;border-color:#0f172a38}.intro-army-symbol.black{color:#f8fafc;background:#111827;border-color:#f8fafc47}.feedback-overlay.intro-piece{background:#78c6ff6b;border-radius:50%;animation:1.4s ease-in-out infinite alternate intro-piece-pulse;transform:scale(.66);box-shadow:inset 0 0 0 3px #ebf8fff2,0 0 18px #78c6ffad}.feedback-overlay.intro-king,.feedback-overlay.intro-white-king,.feedback-overlay.intro-black-king{animation:.9s ease-in-out infinite alternate intro-king-pulse}.feedback-overlay.intro-king,.feedback-overlay.intro-white-king{background:#78c6ff38;box-shadow:inset 0 0 0 5px #dcf3fff5,0 0 22px #78c6ffb8}.feedback-overlay.intro-black-king{background:#e7404038;box-shadow:inset 0 0 0 5px #ffbebef5,0 0 22px #e74040b8}@keyframes intro-piece-pulse{0%{opacity:.55}to{opacity:1}}@keyframes intro-king-pulse{0%{opacity:.68;transform:scale(.96)}to{opacity:1;transform:scale(1.03)}}@media (width<=900px){.intro-layout{grid-template-columns:1fr}.intro-copy-panel{min-height:0}}@media (width<=560px){.intro-progress{grid-template-columns:30px minmax(35px,1fr) 30px}.intro-progress strong{text-align:center;grid-column:1/-1}.intro-armies,.intro-actions{grid-template-columns:1fr}}.king-course-intro{box-shadow:var(--shadow);background:linear-gradient(145deg,#312e2bfa,#262522fa);border-radius:18px;gap:20px;padding:clamp(16px,3vw,28px);display:grid}.king-guide-heading{max-width:820px}.king-guide-heading h2{margin-bottom:8px;font-size:clamp(1.7rem,4vw,2.5rem)}.king-guide-heading>p:last-child{color:var(--text-muted);margin-bottom:0;font-size:1.05rem}.king-guide-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:20px;display:grid}.king-guide-card{background:#0000002b;border:1px solid #ffffff17;border-radius:16px;gap:14px;min-width:0;padding:clamp(14px,2.5vw,22px);display:grid}.king-guide-card-heading span{color:var(--accent-strong);letter-spacing:.1em;text-transform:uppercase;font-size:.78rem;font-weight:900}.king-guide-card-heading h3{margin:4px 0 0;font-size:clamp(1.25rem,3vw,1.7rem)}.king-guide-board{justify-items:center;display:grid}.king-guide-board .board-shell{width:min(42vw,520px)}.king-guide-bullets,.king-practice-reminder ul{margin:0;padding-left:1.2rem}.king-guide-bullets{color:#ece9e3;gap:8px;line-height:1.45;display:grid}.king-guide-legend{gap:8px;margin:0;padding:0;list-style:none;display:grid}.king-guide-legend li{color:var(--text-muted);align-items:center;gap:10px;font-size:.92rem;display:flex}.king-legend-swatch{border:3px solid #ffffffd1;border-radius:50%;flex:none;width:18px;height:18px}.king-legend-swatch.move{background:#2dd25cc2}.king-legend-swatch.blocked{background:#e74040d1}.king-legend-swatch.capture{background:#2dd25cd1}.king-legend-swatch.danger,.king-legend-swatch.attacker{background:#e74040d1}.king-guide-start{text-align:center;background:#81b64c14;border:1px solid #a3d16040;border-radius:14px;justify-items:center;gap:7px;padding:18px;display:grid}.king-guide-start strong{font-size:1.3rem}.king-guide-start span{max-width:720px;color:var(--text-muted)}.king-guide-start .intro-primary-button{min-width:min(100%,310px);margin-top:8px}.king-target strong{text-transform:none}.king-review-button{justify-self:center}.king-practice-reminder{background:#0000002e;border-radius:13px;padding:14px}.king-practice-reminder h2{margin-bottom:8px;font-size:1.1rem}.king-practice-reminder ul{color:var(--text-muted);gap:6px;font-size:.92rem;display:grid}.feedback-overlay.king-guide-source{background:#3d8be047;animation:1.5s ease-in-out infinite source-pulse;box-shadow:inset 0 0 0 5px #c1e1fff5,0 0 18px #3d8be09e}.feedback-overlay.king-guide-move,.feedback-overlay.king-guide-capture,.feedback-overlay.king-guide-danger{border-radius:50%;transform:scale(.64)}.feedback-overlay.king-guide-blocked{border-radius:50%;transform:scale(.72)}.feedback-overlay.king-guide-move{background:#2dd25cb8;box-shadow:inset 0 0 0 4px #e5ffebf2,0 0 18px #2dd25c9e}.feedback-overlay.king-guide-blocked{background:#e74040d1;box-shadow:inset 0 0 0 5px #ffe1e1fa,0 0 20px #e74040d1}.feedback-overlay.king-friendly-block{background:#f1b23ec2;box-shadow:inset 0 0 0 5px #ffefc4f5,0 0 18px #f1b23ead}.feedback-overlay.king-guide-capture{background:#2dd25cb8;box-shadow:inset 0 0 0 4px #e5ffebf2,0 0 18px #2dd25c9e}.feedback-overlay.king-guide-danger{background:#e74040b8;box-shadow:inset 0 0 0 5px #ffe1e1f5,0 0 18px #e74040b8}.feedback-overlay.king-friendly-block{animation:.36s ease-in-out square-shake}@media (width<=960px){.king-guide-grid{grid-template-columns:1fr}.king-guide-board .board-shell{width:min(76vh,650px,88vw)}}.module-switcher{flex-wrap:wrap;gap:10px;margin:0 0 16px;display:flex}.module-chip{color:var(--text-primary);cursor:pointer;background:#ffffff14;border:0;border-radius:999px;padding:10px 14px;font-weight:800}.module-chip.active{background:#5ab5ff3d;box-shadow:inset 0 0 0 2px #a9d7ff8c}.module-actions-row{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:18px;display:flex}.stalemate-intro-compare{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px;width:min(100%,920px);margin-bottom:16px;display:grid}.stalemate-intro-card.compare{width:100%;min-width:0;overflow:hidden}.stalemate-intro-card.compare .board-shell{width:min(100%,350px);margin:10px auto 14px}@media (width<=760px){.stalemate-intro-compare{grid-template-columns:1fr}.stalemate-intro-card.compare .board-shell{width:min(78vw,340px)}}.a4-strategy-card{background:#0003;border-radius:18px;grid-template-columns:minmax(300px,520px) minmax(280px,1fr);align-items:center;gap:24px;padding:22px;display:grid}.a4-strategy-board .board-shell{width:min(58vh,500px,86vw);margin:0 auto}.a4-strategy-copy{gap:14px;display:grid}.a4-strategy-copy ol{color:var(--text-muted);gap:10px;padding-left:22px;display:grid}.a4-depth-badge{color:#cfeaff;background:#5ab5ff2e;border-radius:999px;justify-self:start;padding:7px 11px;font-weight:900}.a4-arrow-legend{gap:8px;font-weight:800;display:grid}.a4-arrow-legend i{vertical-align:middle;border-radius:999px;width:28px;height:5px;margin-right:8px;display:inline-block}.a4-arrow-legend .queen-arrow,.a4-arrow-legend .rook-arrow{background:#79c95b}.a4-arrow-legend .king-arrow{background:#5ab5ff}.a4-target strong{letter-spacing:0;font-size:clamp(1.7rem,5vw,3rem)}.a4-engine-card,.a4-scoring-card{background:#0000002e;border-radius:13px;gap:8px;padding:15px;display:grid}.a4-engine-card details code{white-space:pre-wrap;overflow-wrap:anywhere;color:#bfe1ff;max-height:150px;margin-top:8px;display:block;overflow:auto}.a4-history-card ol{gap:8px;padding:0;list-style:none;display:grid}.a4-history-card li{background:#ffffff0a;border-radius:9px;grid-template-columns:1fr auto;gap:3px 10px;padding:9px;display:grid}.a4-history-card li small{color:var(--text-muted);grid-column:1/-1}.a4-history-card strong.correct{color:#9fe56a}.a4-history-card strong.wrong{color:#f88}@media (width<=980px){.a4-strategy-card{grid-template-columns:1fr}}.a4-history-nav{justify-content:center;align-items:center;gap:14px;margin:12px 0;display:flex}.a4-history-nav .secondary-button{min-width:64px;font-size:1.7rem;line-height:1}.a4-board-stage{width:min(76vh,680px,92vw);position:relative}.a4-board-stage .board-shell{width:100%}.a4-checkmate-celebration{z-index:80;text-align:center;pointer-events:none;background:radial-gradient(circle at top,#ffe0703d,#0000 58%),#3a5820f5;border:3px solid #ffe070e6;border-radius:18px;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;width:min(88%,570px);padding:20px 22px;animation:.62s cubic-bezier(.18,.85,.22,1.15) a4-checkmate-celebration-in;display:grid;position:absolute;top:52%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 5px #ffffff0f,0 12px 34px #00000057,0 0 28px #ffd64c57}.a4-checkmate-celebration h2{letter-spacing:-.04em;text-transform:uppercase;text-shadow:0 4px 18px #00000061;margin:0;font-size:clamp(2rem,7vw,4rem);line-height:1}.a4-checkmate-celebration p{margin:8px 0 0;font-size:1.05rem;font-weight:800}.a4-checkmate-sparkles,.a4-checkmate-crown{font-size:clamp(2rem,5vw,3.2rem);animation:1.2s ease-in-out infinite alternate a4-checkmate-bounce}.a4-checkmate-crown{animation-delay:.18s}@keyframes a4-checkmate-celebration-in{0%{opacity:0;transform:translate(-50%,calc(22px - 50%))scale(.86)rotate(-1deg)}70%{opacity:1;transform:translate(-50%,calc(-50% - 4px))scale(1.04)rotate(.4deg)}to{opacity:1;transform:translate(-50%,-50%)scale(1)rotate(0)}}@keyframes a4-checkmate-bounce{0%{transform:translateY(2px)scale(.96)}to{transform:translateY(-4px)scale(1.06)}}@media (width<=620px){.a4-checkmate-celebration{grid-template-columns:1fr}}.a4-stalemate-missed{z-index:82;color:#fff1f1;text-align:center;pointer-events:none;background:radial-gradient(circle at top,#ff76763d,#0000 58%),#68141bf7;border:3px solid #ff6969f5;border-radius:18px;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;width:min(88%,590px);padding:20px 22px;animation:.62s cubic-bezier(.2,.9,.24,1.12) a4-stalemate-missed-in;display:grid;position:absolute;top:52%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 5px #ffffff0d,0 12px 34px #0006,0 0 30px #ff464657}.a4-stalemate-missed h2{color:#ff7b7b;letter-spacing:-.04em;text-transform:uppercase;text-shadow:0 4px 18px #0000006b;margin:0;font-size:clamp(2rem,7vw,4rem);line-height:1}.a4-stalemate-missed p{margin:8px 0 0;font-size:1.05rem;font-weight:850}.a4-stalemate-symbol{font-size:clamp(2rem,5vw,3.1rem);animation:.76s ease-in-out infinite alternate a4-stalemate-wobble}@keyframes a4-stalemate-missed-in{0%{opacity:0;transform:translate(-50%,calc(22px - 50%))scale(.86)rotate(-1.5deg)}72%{opacity:1;transform:translate(-50%,calc(-50% - 3px))scale(1.03)rotate(.8deg)}to{opacity:1;transform:translate(-50%,-50%)scale(1)rotate(0)}}@keyframes a4-stalemate-wobble{0%{transform:rotate(-7deg)translateY(2px)}to{transform:rotate(7deg)translateY(-3px)}}@media (width<=620px){.a4-stalemate-missed{grid-template-columns:1fr}}.score-zero-inline{color:#ffe6a8;border-top:1px solid #ffffff47;padding-top:10px;margin-top:12px!important}.a4-score-zero-missed{z-index:83;color:#fff5d6;text-align:center;pointer-events:none;background:radial-gradient(circle at top,#ffcb6b3d,#0000 58%),#5b320cf7;border:3px solid #ffc15cf5;border-radius:18px;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;width:min(88%,590px);padding:20px 22px;animation:.62s cubic-bezier(.2,.9,.24,1.12) a4-stalemate-missed-in;display:grid;position:absolute;top:52%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 5px #ffffff0d,0 12px 34px #0006,0 0 30px #ffae394d}.a4-score-zero-missed p{margin:0;font-size:clamp(1.05rem,2.2vw,1.35rem);font-weight:850;line-height:1.35}.a4-score-zero-symbol{font-size:clamp(2rem,5vw,3.1rem);animation:.76s ease-in-out infinite alternate a4-stalemate-wobble}@media (width<=620px){.a4-score-zero-missed{grid-template-columns:1fr}}.mobile-engine-panel{background:linear-gradient(145deg,#1b2d3af5,#1a2227f5);border:1px solid #82c4ff52;border-radius:16px;display:none;overflow:hidden;box-shadow:0 14px 34px #00000047}.mobile-engine-panel.native{display:block}.mobile-engine-toggle{color:#f4fbff;cursor:pointer;text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:14px;width:100%;min-height:48px;padding:12px 15px;display:flex}.mobile-engine-toggle span,.mobile-engine-toggle strong{overflow-wrap:anywhere}.mobile-engine-toggle strong{color:#9ed6ff;font-size:.86rem}.mobile-engine-body{gap:12px;padding:0 15px 15px;display:grid}.mobile-engine-body label{color:#d9edf9;gap:6px;font-size:.88rem;font-weight:800;display:grid}.mobile-engine-body select,.mobile-engine-body input{color:#fff;width:100%;min-height:46px;font:inherit;background:#00000047;border:1px solid #ffffff2e;border-radius:10px;padding:10px 12px}.mobile-engine-help,.mobile-engine-result{color:#bdd0dc;margin:0;font-size:.84rem;line-height:1.45}.mobile-engine-result.done{color:#a7eb82}.mobile-engine-result.error{color:#ff9393}.mobile-engine-benchmark{color:#102334;cursor:pointer;background:#9ed6ff;border:0;border-radius:11px;min-height:46px;padding:10px 14px;font-weight:900}.mobile-engine-benchmark:disabled{opacity:.65;cursor:progress}@media (width<=820px){html,body{overscroll-behavior-y:contain}body{min-width:0}.app-shell{width:100%;padding:max(10px, env(safe-area-inset-top)) max(8px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));gap:12px}.mobile-engine-panel{display:block}.top-bar{align-items:flex-start}.top-bar,.module-heading-row{flex-wrap:wrap}.top-bar .icon-button,.module-reset-button,.module-back-button,.secondary-button,.intro-primary-button,.module-actions-row button{min-height:46px}.module-switcher{scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;margin:0;padding:2px 2px 7px;overflow-x:auto}.module-chip{scroll-snap-align:start;flex:none;min-height:44px}.trainer-panel{grid-template-columns:minmax(0,1fr);gap:12px}.board-column,.stats-sidebar{border-radius:14px;width:100%;min-width:0;padding:10px}.board-shell,.a4-board-stage,.a4-strategy-board .board-shell,.king-guide-board .board-shell{width:min(100%,100vw - 36px);max-width:620px}.a4-strategy-card{gap:16px;padding:12px}.a4-engine-card,.a4-scoring-card{padding:12px}.a4-checkmate-celebration,.a4-stalemate-missed{gap:9px;width:92%;max-height:88%;padding:14px;overflow:hidden}.a4-checkmate-celebration p,.a4-stalemate-missed p{font-size:.92rem}}@media (width<=430px){.app-shell{padding-left:5px;padding-right:5px}.board-column,.stats-sidebar{padding:7px}.board-shell,.a4-board-stage,.a4-strategy-board .board-shell,.king-guide-board .board-shell{width:min(100%,100vw - 20px)}.target-panel{width:100%;min-width:0;padding-inline:10px}.a4-history-nav .secondary-button{min-width:72px;min-height:50px}}.a7-strategy-details{background:#0e19266b;border:1px solid #bfe1ff2e;border-radius:14px;overflow:hidden}.a7-strategy-details summary{cursor:pointer;color:#d7eeff;padding:12px 14px;font-weight:900;list-style:none}.a7-strategy-details summary::-webkit-details-marker{display:none}.a7-strategy-details[open] summary{border-bottom:1px solid #bfe1ff24}.a7-strategy-details-copy{color:var(--text-muted);gap:12px;padding:14px;display:grid}.a7-main-line{background:#5ab5ff1f;border-radius:12px;gap:8px;padding:12px;display:grid}.a7-main-line code{white-space:normal;overflow-wrap:anywhere;color:#cfeaff;line-height:1.55;display:block}.pawn-course-intro{gap:18px}.pawn-guide-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.pawn-guide-card{background:#0000002b;border:1px solid #ffffff17;border-radius:16px;gap:12px;min-width:0;padding:15px;display:grid}.pawn-guide-card.strategy{background:#1e507821;border-color:#5ab5ff47}.pawn-guide-board{justify-items:center;display:grid}.pawn-guide-board .board-shell{width:min(40vw,410px)}.pawn-label-row{flex-wrap:wrap;gap:7px;display:flex}.pawn-label-row span{color:#e7f5ff;background:#5ab5ff29;border-radius:999px;padding:6px 9px;font-size:.78rem;font-weight:850}.pawn-key-idea{background:#81b64c17;border:1px solid #a3d16047;border-radius:14px;gap:5px;padding:14px 16px;display:grid}.pawn-key-idea strong{color:#e9ffd8}.pawn-key-idea span{color:var(--text-muted)}.promotion-picker{background:#203619f0;border:1px solid #a3d16059;border-radius:14px;gap:10px;width:min(100%,680px);padding:14px;display:grid}.promotion-picker>div{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.promotion-picker button{color:#f4fff0;cursor:pointer;background:#81b64c47;border:0;border-radius:10px;justify-items:center;gap:3px;padding:9px 6px;font-weight:850;display:grid}.promotion-picker button span{font-size:1.8rem}@media (width<=900px){.pawn-guide-grid{grid-template-columns:1fr}.pawn-guide-board .board-shell{width:min(72vh,540px,86vw)}}@media (width<=520px){.promotion-picker>div{grid-template-columns:repeat(2,minmax(0,1fr))}}.pawn-position-results-list{gap:9px;display:grid}.pawn-position-results-list details{background:#08121d52;border:1px solid #bfe1ff29;border-radius:11px;overflow:hidden}.pawn-position-results-list summary{cursor:pointer;justify-content:space-between;gap:12px;padding:10px 11px;font-weight:800;display:flex}.pawn-position-results-list summary strong{color:#cfeaff;flex:none}.pawn-position-result-detail{gap:7px;padding:0 11px 11px;display:grid}.pawn-position-result-detail ol{gap:6px;margin:3px 0 0;padding:0;list-style:none;display:grid}.pawn-position-result-detail li{background:#5ab5ff14;border-radius:8px;grid-template-columns:minmax(90px,auto) 1fr auto;align-items:center;gap:8px;padding:7px 8px;display:grid}.pawn-position-result-detail li small{color:var(--text-muted);overflow-wrap:anywhere}@media (width<=560px){.pawn-position-result-detail li{grid-template-columns:1fr auto}.pawn-position-result-detail li small{grid-column:1/-1}}.pawn-board-stage{width:min(76vh,680px,92vw);position:relative}.pawn-board-stage .board-shell{width:100%}.promotion-overlay{z-index:95;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#050906b8;border-radius:8px;place-items:center;padding:clamp(12px,3vw,28px);animation:.18s ease-out promotion-overlay-in;display:grid;position:absolute;inset:0}.promotion-overlay .promotion-picker{background:#203619fa;border-color:#cdf49794;width:min(94%,590px);max-height:92%;overflow:auto;box-shadow:0 18px 48px #00000094}.promotion-picker-description{color:var(--text-muted);font-size:.92rem}.promotion-overlay .promotion-picker button:focus-visible{outline-offset:2px;outline:3px solid #e9ffd8eb}@keyframes promotion-overlay-in{0%{opacity:0}to{opacity:1}}@media (width<=520px){.promotion-overlay{padding:9px}.promotion-overlay .promotion-picker{width:100%;padding:10px}.promotion-overlay .promotion-picker button{padding:7px 4px;font-size:.82rem}.promotion-overlay .promotion-picker button span{font-size:1.55rem}}.a7-live-analysis-card{background:linear-gradient(145deg,#12273af7,#0c1926f7);border:2px solid #7ec6ffb8;width:min(100%,720px);box-shadow:0 14px 34px #00000052,inset 0 0 0 1px #ffffff0f}.a7-live-analysis-card.mate{border-color:#9fe56ad1}.a7-live-analysis-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.a7-live-analysis-heading h2,.a7-live-analysis-heading p{margin:0}.a7-search-command{color:#d8efff;white-space:nowrap;background:#00000047;border-radius:999px;padding:8px 11px}.a7-evaluation-strip{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:10px;display:grid}.a7-evaluation-strip>div,.a7-analysis-grid>div{background:#0003;border-radius:10px;gap:4px;min-width:0;padding:10px;display:grid}.a7-evaluation-strip span,.a7-analysis-grid span{color:var(--muted);font-size:.82rem;font-weight:750}.a7-evaluation-strip strong{color:#fff;font-size:clamp(1.05rem,3vw,1.35rem)}.a7-analysis-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.a7-analysis-grid strong{overflow-wrap:anywhere}@media (width<=760px){.a7-live-analysis-heading{flex-direction:column;align-items:flex-start}.a7-analysis-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=430px){.a7-evaluation-strip{grid-template-columns:1fr}.a7-evaluation-strip>span{justify-self:center;transform:rotate(90deg)}.a7-analysis-grid{grid-template-columns:1fr}}@media (width>=1081px){.pawn-practice-panel{grid-template-columns:minmax(560px,1fr) minmax(390px,500px)}.pawn-practice-panel .pawn-sidebar{padding:14px}.pawn-practice-panel .a7-live-analysis-card{z-index:12;position:sticky;top:10px}}.pawn-sidebar .a7-live-analysis-card{width:100%;padding:13px}.pawn-sidebar .a7-live-analysis-heading{gap:8px}.pawn-sidebar .a7-live-analysis-heading .intro-kicker{font-size:.72rem}.pawn-sidebar .a7-live-analysis-heading h2{font-size:1.25rem}.pawn-sidebar .a7-search-command{padding:6px 9px;font-size:.78rem}.pawn-sidebar .a7-evaluation-strip{gap:7px}.pawn-sidebar .a7-evaluation-strip>div,.pawn-sidebar .a7-analysis-grid>div{padding:7px 8px}.pawn-sidebar .a7-analysis-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.pawn-sidebar .a7-analysis-grid span{font-size:.72rem}.pawn-sidebar .a7-analysis-grid strong{font-size:.88rem;line-height:1.2}.a7-collapsible-card{padding:0;overflow:hidden}.a7-collapsible-card>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;list-style:none;display:flex}.a7-collapsible-card>summary::-webkit-details-marker{display:none}.a7-collapsible-card>summary span{color:var(--text-muted);font-size:.82rem}.a7-collapsible-card[open]>summary span:before{content:"Chiudi";font-size:0}.a7-collapsible-card[open]>summary span{font-size:0}.a7-collapsible-card[open]>summary span:after{content:"Chiudi";font-size:.82rem}.a7-collapsible-content{padding:0 14px 13px}.a7-collapsible-content>:first-child{margin-top:0}@media (width<=1080px){.pawn-practice-panel .pawn-sidebar{order:2}.pawn-sidebar .a7-live-analysis-card{position:static}}@media (width<=520px){.pawn-sidebar .a7-analysis-grid{grid-template-columns:1fr}}.a7-score-zero-missed{pointer-events:auto}.a7-inline-continue-link{color:#fff4a8;font:inherit;text-underline-offset:.18em;cursor:pointer;background:0 0;border:0;margin:0;padding:0;font-weight:950;text-decoration:underline;display:inline}.a7-inline-continue-link:hover,.a7-inline-continue-link:focus-visible{color:#fff;text-decoration-thickness:.16em}.a7-inline-continue-link:focus-visible{outline-offset:4px;border-radius:3px;outline:3px solid #ffffffe6}.a7-advantage-loss-actions{margin-top:10px}.a4-history-nav{flex-wrap:wrap;gap:10px}.a4-history-nav .history-next-position-button{white-space:nowrap;min-height:46px;padding:10px 16px;font-size:.98rem;line-height:1.15}@media (width<=520px){.a4-history-nav{gap:8px}.a4-history-nav .secondary-button{min-width:58px}.a4-history-nav .history-next-position-button{flex:160px}}.a7-score-zero-missed{border-width:2px;border-radius:14px;grid-template-columns:auto 1fr;gap:10px;width:min(72%,430px);padding:12px 14px}.a7-score-zero-missed p{font-size:clamp(.92rem,1.55vw,1.02rem);line-height:1.28}.a7-score-zero-missed .a4-score-zero-symbol{font-size:clamp(1.35rem,2.5vw,1.8rem)}@media (width<=620px){.a7-score-zero-missed{grid-template-columns:auto 1fr;gap:8px;width:min(86%,360px);padding:10px 12px}.a7-score-zero-missed p{font-size:.9rem}}.rook-guide-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.rook-guide-grid .king-guide-card{min-width:0}.rook-guide-grid .king-guide-board{max-width:330px;margin-inline:auto}@media (width<=1100px){.rook-guide-grid{grid-template-columns:1fr}}.feedback-overlay.square-click-target{box-shadow:none;background:0 0;animation:none}.feedback-overlay.square-click-target:hover,.feedback-overlay.square-click-target:focus-visible{background:#78c6ff29;box-shadow:inset 0 0 0 2px #c2e7ffb8}.play-engine-module{gap:14px;display:grid}.play-engine-intro{box-shadow:var(--shadow);background:linear-gradient(135deg,#312e2bfa,#262522fa);border-radius:16px;justify-content:space-between;align-items:center;gap:18px;padding:14px 18px;display:flex}.play-engine-intro>div{align-items:center;gap:10px;display:flex}.play-engine-intro h2,.play-card-heading h3{margin:0}.play-engine-intro p{max-width:720px;color:var(--text-muted);margin:0}.module-code-badge{color:#17220d;background:var(--accent-strong);text-align:center;border-radius:10px;min-width:50px;padding:7px 10px;font-weight:900}.play-engine-layout{grid-template-columns:minmax(0,1.55fr) minmax(320px,410px);align-items:start;gap:16px;display:grid}.play-engine-board-card,.play-control-card,.play-engine-info-card,.play-history-card{box-shadow:var(--shadow);background:linear-gradient(145deg,#312e2bfa,#262522fa);border-radius:17px}.play-engine-board-card{justify-items:center;gap:10px;padding:14px;display:grid;position:relative}.play-engine-board-card .board-shell{width:min(68vh,650px,100%)}.play-status-strip{background:#0003;border-radius:11px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;width:min(68vh,650px,100%);min-height:64px;padding:9px 13px;display:grid}.play-status-copy{gap:3px;min-width:0;display:grid}.play-status-strip span,.play-engine-info-card small,.play-card-heading span,.persona-summary span{color:var(--text-muted)}.play-status-persona-description{color:#fff;border-top:1px solid #ffffff1f;margin:4px 0 0;padding-top:7px;font-size:.93rem;line-height:1.42}.play-status-persona-description b{color:var(--accent-strong)}.engine-thinking-banner{z-index:35;color:#17220d;background:var(--accent-strong);border-radius:999px;padding:9px 13px;font-weight:900;position:absolute;bottom:26px;right:26px;box-shadow:0 8px 24px #0006}.play-error{background:#e052521f;border:1px solid #e05252a6;border-radius:11px;justify-content:space-between;align-items:center;gap:10px;width:min(68vh,650px,100%);padding:10px 12px;display:flex}.play-engine-sidebar{gap:12px;display:grid}.play-control-card,.play-engine-info-card,.play-history-card{padding:14px}.play-control-card{gap:10px;display:grid}.persona-selected-card{background:linear-gradient(145deg,#404e2b70,#0000003d);border:1px solid #abd47285;border-radius:13px;grid-template-columns:92px minmax(0,1fr);align-items:center;gap:12px;padding:12px;display:grid}.persona-selected-copy{gap:4px;min-width:0;display:grid}.persona-selected-copy>strong{font-size:1.08rem}.persona-selected-copy .persona-description-text{color:#f5f5f2;margin:3px 0 0;font-size:.91rem;line-height:1.42}.persona-selected-warning{grid-column:1/-1}.persona-roster-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.persona-roster-heading small{color:var(--text-muted)}.persona-avatar-roster{scrollbar-gutter:stable;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;max-height:292px;padding:3px;display:grid;overflow-y:auto}.persona-roster-item{color:#fff;cursor:pointer;text-align:left;background:#0000002b;border:1px solid #ffffff1c;border-radius:10px;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:8px;min-width:0;padding:7px;display:grid}.persona-roster-item:hover,.persona-roster-item:focus-visible{background:#abd4721c;border-color:#abd472b8}.persona-roster-item.active{border-color:var(--accent-strong);background:#abd47233;box-shadow:inset 0 0 0 1px #abd47238}.persona-roster-copy{gap:2px;min-width:0;display:grid}.persona-roster-copy strong,.persona-roster-copy small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.persona-roster-copy small{color:var(--text-muted);font-size:.72rem}.persona-avatar{color:#fff;letter-spacing:.02em;background:radial-gradient(circle at 35% 30%,#abd4726b,#00000059);border:1px solid #ffffff29;border-radius:50%;flex:none;place-items:center;font-weight:900;display:inline-grid;position:relative;overflow:hidden}.persona-avatar-small{width:42px;height:42px;font-size:.78rem}.persona-avatar-status{width:48px;height:48px;font-size:.82rem}.persona-avatar-hero{width:92px;height:92px;font-size:1.18rem}.persona-avatar img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.persona-avatar-fallback{place-items:center;display:grid}.play-setup-row{grid-template-columns:minmax(0,1fr) minmax(120px,.65fr);align-items:end;gap:10px;display:grid}.play-color-controls{gap:7px;min-width:0;display:grid}.play-control-card label,.control-label{font-weight:850}.play-control-card select{color:#fff;background:var(--surface);width:100%;font:inherit;border:1px solid #ffffff24;border-radius:10px;padding:10px 12px}.persona-summary{background:#0000002e;border-radius:11px;gap:3px;padding:11px;display:grid}.persona-summary p{color:var(--text-muted);margin:5px 0 0;font-size:.9rem}.persona-summary-visible{background:linear-gradient(145deg,#404e2b70,#0000003d);border:1px solid #abd47285;gap:6px}.persona-description-label{letter-spacing:.055em;text-transform:uppercase;font-size:.74rem;font-weight:900;color:var(--accent-strong)!important}.persona-style-label{font-weight:800}.persona-summary .persona-description-text{color:#f5f5f2;margin:4px 0 0;font-size:.96rem;line-height:1.48;display:block}.persona-description-source{color:var(--text-muted);font-size:.76rem}.color-choice-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;display:grid}.color-choice-grid button{color:#fff;background:var(--surface-3);cursor:pointer;border:1px solid #ffffff1f;border-radius:9px;padding:9px 7px;font-weight:800}.color-choice-grid button.active{color:#17220d;border-color:var(--accent-strong);background:var(--accent-strong)}.play-new-game-button{width:100%;min-height:42px;margin-top:0}.play-card-heading{justify-content:space-between;align-items:center;gap:10px;margin-bottom:9px;display:flex}.play-engine-info-card{gap:5px;display:grid}.engine-online,.engine-offline{border-radius:999px;padding:3px 8px;font-size:.75rem;font-weight:900}.engine-online{color:#17220d;background:var(--accent-strong)}.engine-offline{color:#fff;background:var(--danger)}.persona-warning{color:#ffd58a;gap:5px;margin-top:7px;font-size:.82rem;display:grid}.play-move-list{scrollbar-gutter:stable;gap:4px;max-height:230px;display:grid;overflow-y:auto}.play-move-list>p{color:var(--text-muted);margin:0}.play-move-row{background:#00000024;border-radius:7px;grid-template-columns:34px minmax(0,1fr) minmax(0,1fr);gap:7px;padding:6px 8px;display:grid}.play-move-row span{color:var(--text-muted)}@media (width<=920px){.play-engine-layout{grid-template-columns:1fr}.play-engine-sidebar{grid-template-columns:repeat(2,minmax(0,1fr))}.play-history-card{grid-column:1/-1}}@media (width<=640px){.play-engine-intro{flex-direction:column;align-items:flex-start}.play-engine-sidebar{grid-template-columns:1fr}.play-history-card{grid-column:auto}.play-error{flex-direction:column;align-items:stretch}}.persona-unavailable{color:#ffb3b3;margin-top:6px;line-height:1.35}.applied-options-panel{background:#0000002e;border:1px solid #ffffff1a;border-radius:10px;gap:5px;margin-top:8px;padding:9px;display:grid}.applied-options-panel code{overflow-wrap:anywhere;color:#dff7c7;background:#0000003d;border-radius:6px;padding:5px 7px;font-size:.76rem}.puzzle-section,.puzzle-runner{gap:18px;display:grid}.puzzle-hero,.puzzle-runner-header,.puzzle-result-card,.puzzle-error-card,.puzzle-loading-card{box-shadow:var(--shadow);background:linear-gradient(145deg,#312e2bfa,#262522fa);border-radius:18px;padding:clamp(18px,4vw,30px)}.puzzle-hero,.puzzle-runner-header{justify-content:space-between;align-items:center;gap:24px;display:flex}.puzzle-hero h2,.puzzle-runner-header h2,.puzzle-result-card h2{margin-bottom:8px}.puzzle-hero p,.puzzle-level-card p,.puzzle-instructions p,.puzzle-license-note{color:var(--text-muted);line-height:1.55}.puzzle-policy-summary{background:#81b64c1a;border:1px solid #81b64c73;border-radius:15px;justify-items:center;gap:4px;min-width:145px;padding:16px 20px;display:grid}.puzzle-policy-summary strong{color:var(--accent-strong);font-size:2.2rem;line-height:1}.puzzle-policy-summary span{color:var(--text-muted);font-size:.8rem;font-weight:750}.puzzle-import-notice,.puzzle-error{border-radius:14px;padding:16px 18px}.puzzle-import-notice{background:#3376b224;border:1px solid #7bb8f06b}.puzzle-import-notice p{color:var(--text-muted);margin:7px 0 0}.puzzle-import-notice code{color:#d9ecff;overflow-wrap:anywhere}.puzzle-library-notice{background:#3376b224;border:1px solid #7bb8f06b;border-radius:14px;justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;display:flex}.puzzle-library-notice p{color:var(--text-muted);margin:6px 0 0;line-height:1.45}.puzzle-library-notice.downloading{background:#81b64c21;border-color:#81b64c80}.puzzle-library-notice.error{background:#e0525224;border-color:#e052527a}.puzzle-library-notice .secondary-button{flex:none}.puzzle-error{color:#ffd4d4;background:#e0525224;border:1px solid #e052527a;margin:0}.puzzle-level-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.puzzle-level-card{background:var(--surface-2);border:1px solid #ffffff14;border-radius:17px;align-content:start;gap:12px;min-height:280px;padding:20px;display:grid;box-shadow:0 14px 32px #00000040}.puzzle-level-card.locked{opacity:.65}.puzzle-level-card-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.puzzle-level-card h3{margin:5px 0 0}.puzzle-level-rating{color:var(--accent-strong);font-size:2rem;font-weight:900;line-height:1}.puzzle-status-badge{color:var(--text-muted);background:#ffffff14;border-radius:999px;padding:6px 9px;font-size:.74rem;font-weight:800}.puzzle-status-badge.passed{color:#dfffc5;background:#81b64c38}.puzzle-level-card small{color:var(--text-muted);display:block}.puzzle-level-actions{gap:9px;margin-top:auto;display:grid}.puzzle-level-actions button,.puzzle-action-stack button{width:100%}.puzzle-level-actions button:disabled,.puzzle-action-stack button:disabled{opacity:.48;cursor:not-allowed;box-shadow:none}.puzzle-license-note{text-align:center;margin:0;font-size:.85rem}.puzzle-runner-stats{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.puzzle-runner-stats>span{color:var(--text-muted);background:#0003;border-radius:10px;padding:8px 11px;font-size:.88rem}.puzzle-runner-stats strong{color:var(--accent-strong);font-size:1.05rem}.puzzle-board-layout{grid-template-columns:minmax(0,1.55fr) minmax(300px,410px);align-items:start;gap:18px;display:grid}.puzzle-board-column,.puzzle-sidebar{box-shadow:var(--shadow);background:linear-gradient(145deg,#312e2bfa,#262522fa);border-radius:18px;padding:clamp(14px,3vw,24px)}.puzzle-board-column{justify-items:center;gap:13px;display:grid}.puzzle-sidebar{gap:15px;display:grid}.puzzle-score-cap{background:#81b64c1f;border:1px solid #81b64c6b;border-radius:13px;justify-content:space-between;align-items:center;gap:14px;padding:13px 15px;display:flex}.puzzle-score-cap span{color:var(--text-muted);font-size:.82rem;font-weight:750}.puzzle-score-cap strong{color:var(--accent-strong);font-size:1.12rem}.puzzle-score-cap.score-0-5{background:#e8b75d1f;border-color:#e8b75d80}.puzzle-score-cap.score-0{background:#e573731f;border-color:#e5737385}.puzzle-score-cap.score-0-5 strong{color:#f2d59d}.puzzle-score-cap.score-0 strong{color:#ffc5c5}.puzzle-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.puzzle-meta-grid>div{background:var(--surface);border-radius:12px;align-content:center;gap:4px;min-height:76px;padding:12px;display:grid}.puzzle-meta-grid span{color:var(--text-muted);font-size:.76rem;font-weight:750}.puzzle-meta-grid strong{overflow-wrap:anywhere;font-size:1rem}.puzzle-instructions{background:#0000002e;border-radius:13px;padding:15px}.puzzle-instructions h3{margin:0 0 7px}.puzzle-instructions p{margin:0}.puzzle-help-rules{color:var(--text-muted);background:#e8b75d14;border:1px solid #e8b75d6b;border-radius:13px;gap:6px;padding:13px 14px;font-size:.86rem;line-height:1.4;display:grid}.puzzle-help-rules strong{color:#f2d59d}.puzzle-help-rules span{display:block}.puzzle-action-stack{gap:10px;display:grid}.puzzle-solution-button{border-color:#e573738c}.puzzle-solution-button:hover:not(:disabled){border-color:#ffc5c5e6}.puzzle-source-link{color:var(--text-muted);text-align:center}.puzzle-result-card{text-align:center;justify-content:center;align-items:center;gap:22px;min-height:330px;display:flex}.puzzle-result-card>div{max-width:650px}.puzzle-result-score{color:var(--accent-strong);margin:12px 0;font-size:clamp(3rem,9vw,5.4rem);font-weight:950;line-height:1}.puzzle-result-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:20px 0;display:grid}.puzzle-result-details span{color:var(--text-muted);background:#0000002e;border-radius:10px;padding:10px}.puzzle-loading-card,.puzzle-error-card{text-align:center}@media (width<=980px){.puzzle-level-grid,.puzzle-board-layout{grid-template-columns:1fr}.puzzle-sidebar{width:100%}}@media (width<=640px){.puzzle-hero,.puzzle-runner-header,.puzzle-result-card{flex-direction:column;align-items:stretch}.puzzle-policy-summary{width:100%}.puzzle-library-notice,.puzzle-runner-stats{flex-direction:column;align-items:stretch}.puzzle-meta-grid,.puzzle-result-details{grid-template-columns:1fr}}.play-result-panel{z-index:20;width:100%;min-width:0;animation:.28s ease-out both play-result-panel-in;position:sticky;top:10px}.play-result-card{color:#fff;width:100%;box-shadow:var(--shadow);text-align:center;background:linear-gradient(150deg,#393733fa,#1c1b19fc);border:2px solid #fff3;border-radius:18px;justify-items:center;gap:14px;padding:clamp(18px,3vw,26px);animation:.47s cubic-bezier(.18,.88,.24,1.15) both play-result-card-in;display:grid;overflow:hidden}.play-result-card>div{gap:7px;min-width:0;display:grid}.play-result-card h2{letter-spacing:-.03em;margin:0;font-size:clamp(1.7rem,3.4vw,2.45rem);line-height:1.05}.play-result-card strong{font-size:clamp(1rem,2vw,1.18rem)}.play-result-card p{color:#ffffffdb;max-width:38ch;margin:0;line-height:1.48}.play-result-icon{filter:drop-shadow(0 8px 14px #0000004d);font-size:clamp(2.2rem,5vw,3.6rem);line-height:1;animation:1.15s ease-in-out infinite alternate play-result-icon-float}.play-result-victory .play-result-card{background:radial-gradient(circle at 50% 0,#abd47257,#0000 46%),linear-gradient(150deg,#425927fc,#182111fc);border-color:#dcffa6c2}.play-result-victory .play-result-card h2,.play-result-victory .play-result-card strong{color:#e6ffc2}.play-result-support .play-result-card{background:radial-gradient(circle at 50% 0,#488fd657,#0000 48%),linear-gradient(150deg,#223d59fc,#141d28fc);border-color:#8bc3ffad}.play-result-support .play-result-card h2,.play-result-support .play-result-card strong{color:#d9edff}.play-result-draw .play-result-card{background:radial-gradient(circle at 50% 0,#e8b75d40,#0000 48%),linear-gradient(150deg,#504024fc,#231e16fc);border-color:#e8b75db3}.play-result-draw .play-result-card h2,.play-result-draw .play-result-card strong{color:#ffe5ae}.play-result-new-game{width:100%;min-width:0}.play-game-actions{gap:8px;display:grid}.play-resign-button{color:#ffdada;background:#99353524;border-color:#e5737380;width:100%;min-height:42px}.play-resign-button:hover:not(:disabled),.play-resign-button:focus-visible:not(:disabled){background:#bc3c3c3d;border-color:#ffb4b4e6}.play-resign-confirmation{background:#6f222238;border:1px solid #e5737394;border-radius:12px;gap:9px;padding:13px;display:grid}.play-resign-confirmation p{color:var(--text-muted);margin:0;line-height:1.4}.play-resign-confirmation>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.play-resign-confirm-button{color:#fff;cursor:pointer;font:inherit;background:#b03636e0;border:1px solid #ffaeaeb8;border-radius:9px;padding:9px 12px;font-weight:850}.play-resign-confirm-button:hover,.play-resign-confirm-button:focus-visible{background:#cb4141fa}@keyframes play-result-panel-in{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}@keyframes play-result-card-in{0%{opacity:0;transform:translateY(16px)scale(.94)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes play-result-icon-float{0%{transform:translateY(0)rotate(-2deg)}to{transform:translateY(-7px)rotate(2deg)}}@media (width<=920px){.play-result-panel{grid-column:1/-1;position:static}.play-result-card{text-align:left;grid-template-columns:auto minmax(0,1fr) minmax(150px,auto);place-items:center start}.play-result-new-game{justify-self:end;width:auto}}@media (width<=640px){.play-result-card{text-align:center;grid-template-columns:1fr;justify-items:center;gap:13px;padding:20px 16px}.play-result-new-game{justify-self:stretch;width:100%}.play-resign-confirmation>div{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.play-result-panel,.play-result-card,.play-result-icon{animation:none}}.play-review-panel{background:#ffffffeb;border:1px solid #607d8b47;border-radius:18px;gap:.85rem;padding:1rem;display:grid;box-shadow:0 10px 28px #192a3714}.play-review-panel .play-card-heading{align-items:flex-start}.play-review-panel .play-card-heading>div{gap:.15rem;display:grid}.play-review-panel .play-card-heading h3{margin:0}.play-review-panel .play-card-heading small{color:#607d8b}.play-review-working,.play-review-ready{border-radius:999px;align-items:center;min-height:1.75rem;padding:.25rem .65rem;font-size:.78rem;font-weight:800;display:inline-flex}.play-review-working{color:#7a4d00;background:#fff3cd}.play-review-ready{color:#155724;background:#dff4e5}.play-review-chart-wrap{background:linear-gradient(#f5f9fcfa,#ebf2f7fa);border:1px solid #455a6438;border-radius:14px;overflow:hidden}.play-review-chart{cursor:crosshair;touch-action:manipulation;width:100%;height:auto;display:block}.play-review-grid{stroke:#607d8b38;stroke-width:1px;stroke-dasharray:5 5}.play-review-zero{stroke:#37474f80;stroke-width:1.5px}.play-review-line{fill:none;stroke:#3f7cac;stroke-width:4px;stroke-linecap:round;stroke-linejoin:round}.play-review-sample{fill:#f8fbfd;stroke:#2d6288;stroke-width:3px}.play-review-cursor-line{stroke:#d32f2f7a;stroke-width:2px;stroke-dasharray:4 4;pointer-events:none}.play-review-cursor-dot{fill:#d32f2f;stroke:#fff;stroke-width:3px;filter:drop-shadow(0 2px 4px #80000052);pointer-events:none}.play-review-axis-label,.play-review-x-label{fill:#546e7a;-webkit-user-select:none;user-select:none;font-size:13px;font-weight:700}.play-review-current{background:#ecf2f7db;border-radius:12px;gap:.2rem;padding:.7rem .8rem;display:grid}.play-review-current strong{color:#24343d}.play-review-current span{color:#516773;font-size:.9rem}.play-review-navigation{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:.6rem;display:grid}.play-review-navigation>strong{text-align:center;color:#455a64;white-space:nowrap;font-size:.86rem}.play-review-arrow{color:#245a80;background:#f5faff;border:1px solid #3f7cac6b;border-radius:12px;justify-content:center;align-items:center;gap:.45rem;min-height:2.7rem;padding:.55rem .75rem;font-size:1.25rem;font-weight:900;display:inline-flex}.play-review-arrow span{font-size:.82rem}.play-review-arrow:hover:not(:disabled){background:#e8f4fc}.play-review-arrow:disabled{opacity:.4;cursor:not-allowed}.play-review-note,.play-review-empty{color:#607d8b;margin:0;line-height:1.45}.play-review-error{color:#842029;background:#f8d7da;border-radius:10px;margin:0;padding:.65rem .75rem;font-size:.86rem}@media (width<=520px){.play-review-panel{padding:.8rem}.play-review-navigation{grid-template-columns:1fr 1fr}.play-review-navigation>strong{grid-area:1/1/auto/-1}.play-review-arrow:first-of-type{grid-column:1}.play-review-arrow:last-of-type{grid-column:2}}.challenge-app{background:radial-gradient(circle at 50% -12%,#3ed6ae1f,#0000 34%),0 0;width:min(1180px,100%);padding-bottom:104px}.challenge-top-bar{justify-content:space-between;align-items:center;gap:16px;min-height:58px;padding:4px 2px 10px;display:flex}.challenge-brand{color:#fff;cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:11px;min-width:0;padding:0;display:flex}.challenge-brand>span:first-child{color:#d8fff3;background:linear-gradient(145deg,#1d5f52,#173c36);border:1px solid #5ee0bc47;border-radius:13px;place-items:center;width:42px;height:42px;font-size:1.65rem;display:grid;box-shadow:0 10px 24px #00000038}.challenge-brand>span:last-child{min-width:0;display:grid}.challenge-brand strong{letter-spacing:-.025em;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(1rem,3vw,1.28rem);overflow:hidden}.challenge-brand small{color:#96aaa5;font-size:.72rem}.challenge-header-actions{align-items:center;gap:8px;display:flex}.challenge-header-actions .icon-button{border-radius:13px;place-items:center;width:42px;height:42px;padding:0;display:grid}.challenge-points-pill,.challenge-streak-pill{color:#ffe59a;background:#ffffff0e;border:1px solid #ffffff14;border-radius:999px;justify-content:center;align-items:center;font-size:.86rem;font-weight:900;display:inline-flex}.challenge-points-pill{padding:10px 13px}.challenge-streak-pill{color:#ffd07c;min-width:58px;padding:10px 14px}.challenge-home,.challenge-path,.challenge-profile,.challenge-practice-shell{gap:18px;width:min(760px,100%);margin:0 auto;display:grid}.challenge-practice-shell{width:100%}.challenge-level-summary{justify-content:space-between;align-items:center;gap:16px;display:flex}.challenge-kicker{color:#62dfbd;letter-spacing:.14em;text-transform:uppercase;margin:0 0 4px;font-size:.72rem;font-weight:900}.challenge-level-summary h2{color:#f5f9f8;margin:0;font-size:clamp(1.05rem,3vw,1.35rem)}.challenge-progress-line{background:#242a29;border-radius:999px;height:7px;overflow:hidden}.challenge-progress-line span{border-radius:inherit;background:linear-gradient(90deg,#42b893,#77e6c4);height:100%;transition:width .32s;display:block;box-shadow:0 0 15px #4edbb359}.today-challenge-card{isolation:isolate;text-align:center;background:radial-gradient(circle at 50% 18%,#6be2c32e,#0000 31%),linear-gradient(155deg,#283432fc,#181d1cfc);border:1px solid #6de2c433;border-radius:30px;justify-items:center;padding:clamp(22px,6vw,42px);display:grid;position:relative;overflow:hidden;box-shadow:0 28px 68px #00000061}.today-card-orbit{z-index:-1;border:1px solid #68e6c429;border-radius:50%;width:220px;height:220px;position:absolute;top:78px;box-shadow:0 0 0 32px #66e0c006,0 0 0 64px #66e0c005}.today-card-heading{color:#9fb0ac;letter-spacing:.1em;justify-content:space-between;align-items:center;gap:12px;width:100%;font-size:.72rem;font-weight:900;display:flex}.today-card-heading span{color:#70e1c0}.today-piece{color:#e7fff8;filter:drop-shadow(0 17px 22px #0006);place-items:center;height:150px;font-family:Georgia,serif;font-size:clamp(6rem,25vw,9rem);line-height:1;display:grid}.today-challenge-card h1{letter-spacing:-.055em;max-width:600px;margin:0;font-size:clamp(1.85rem,6vw,3.35rem)}.today-challenge-card>p{color:#b9c7c4;max-width:560px;margin:10px 0 18px;font-size:clamp(.98rem,2.6vw,1.14rem);line-height:1.55}.today-activity-list{text-align:left;gap:8px;width:min(520px,100%);display:grid}.today-activity-list>div{color:#d9e0de;background:#00000029;border:1px solid #ffffff12;border-radius:13px;grid-template-columns:24px 1fr auto;align-items:center;gap:8px;min-height:48px;padding:11px 13px;display:grid}.today-activity-list>div>span{color:#84928f;font-weight:900}.today-activity-list>div.done>span{color:#6ee2bd}.today-activity-list>div.done strong{color:#95aaa5;text-decoration:line-through}.today-activity-list em{color:#ffe19a;text-transform:uppercase;background:#ffc44d1f;border-radius:999px;padding:3px 7px;font-size:.68rem;font-style:normal}.today-note{background:#d69f391a;border-radius:12px;width:min(520px,100%);padding:11px 13px;color:#ffe1a1!important;margin:13px 0 0!important;font-size:.82rem!important}.today-card-meta{flex-wrap:wrap;justify-content:center;gap:8px;width:min(520px,100%);margin:16px 0;display:flex}.today-card-meta span{color:#98aaa6;background:#ffffff0b;border-radius:999px;padding:6px 9px;font-size:.76rem;font-weight:750}.challenge-primary-button{color:#08231c;cursor:pointer;letter-spacing:.035em;background:linear-gradient(#7be6c6,#4fc69f);border:0;border-radius:16px;width:min(520px,100%);min-height:54px;padding:15px 20px;font-weight:950;box-shadow:0 6px #24795f,0 14px 28px #2dc49733}.challenge-primary-button:hover{filter:brightness(1.07);transform:translateY(-1px)}.challenge-primary-button:active{transform:translateY(3px);box-shadow:0 3px #24795f}.challenge-text-button{color:#a8b8b4;cursor:pointer;background:0 0;border:0;padding:11px 15px;font-weight:800}.challenge-path-preview{color:#eef5f3;cursor:pointer;text-align:left;background:#242a29;border:1px solid #ffffff14;border-radius:18px;justify-content:space-between;align-items:center;gap:14px;width:100%;padding:18px 20px;display:flex}.challenge-path-preview span:first-child{gap:3px;display:grid}.challenge-path-preview small{color:#6edbbb;letter-spacing:.1em;font-weight:900}.challenge-path-preview span:last-child{color:#71dfbf;font-size:1.5rem}.challenge-bottom-nav{z-index:1000;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#1f2423f0;border:1px solid #ffffff17;border-radius:21px;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;width:min(600px,100% - 24px);padding:7px;display:grid;position:fixed;bottom:14px;left:50%;transform:translate(-50%);box-shadow:0 20px 45px #0000007a}.challenge-bottom-nav button{color:#899a96;cursor:pointer;background:0 0;border:0;border-radius:15px;place-items:center;gap:2px;min-width:0;min-height:56px;padding:7px 4px;font-size:1.15rem;display:grid}.challenge-bottom-nav button strong{font-size:.68rem}.challenge-bottom-nav button.active{color:#77e5c4;background:#5cdcb81a}.challenge-section-heading{padding:8px 2px}.challenge-section-heading.compact{width:min(760px,100%);margin:0 auto}.challenge-section-heading h1{margin-bottom:8px}.challenge-section-heading>p:last-child{color:#9caca8;margin:0;line-height:1.55}.challenge-path-list{display:grid}.challenge-day-node{grid-template-columns:52px 1fr;min-height:112px;display:grid}.challenge-day-rail{grid-template-rows:48px 1fr;justify-items:center;display:grid}.challenge-day-rail span{z-index:2;color:#a3b0ad;background:#212725;border:2px solid #4b5653;border-radius:50%;place-items:center;width:42px;height:42px;font-weight:950;display:grid}.challenge-day-rail i{background:#363f3d;width:2px;height:100%}.challenge-day-node.complete .challenge-day-rail span{color:#08251d;background:#68dfbd;border-color:#5fd9b5}.challenge-day-node.current .challenge-day-rail span{color:#dffff5;border-color:#88f0d1;box-shadow:0 0 0 7px #5edcb71a}.challenge-day-node.locked .challenge-day-rail span{color:#66716e;border-color:#343b39}.challenge-day-node>button{color:#eef4f2;cursor:pointer;text-align:left;background:#242a29;border:1px solid #ffffff12;border-radius:18px;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:12px;min-width:0;margin-bottom:15px;padding:15px;display:grid}.challenge-day-node>button:disabled{cursor:not-allowed;opacity:.45}.challenge-day-node.current>button{background:linear-gradient(130deg,#263b36,#242a29);border-color:#65e2be61}.challenge-day-node.complete>button{background:#202725}.challenge-day-icon{text-align:center;font-size:2rem}.challenge-day-copy{gap:2px;min-width:0;display:grid}.challenge-day-copy small{color:#68dbb8;letter-spacing:.1em;font-size:.67rem;font-weight:900}.challenge-day-copy strong{font-size:1rem}.challenge-day-copy em{color:#94a39f;text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;font-style:normal;overflow:hidden}.challenge-day-status{color:#a9b6b2;font-size:.72rem;font-weight:800}.challenge-lesson-shell{gap:15px;display:grid}.challenge-lesson-heading{background:#222827;border:1px solid #ffffff13;border-radius:17px;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;width:100%;padding:12px 14px;display:grid}.challenge-lesson-heading button{color:#c8d3d0;cursor:pointer;background:#ffffff0f;border:0;border-radius:10px;padding:9px 11px;font-size:.76rem;font-weight:850}.challenge-lesson-heading div{text-align:center;min-width:0}.challenge-lesson-heading small{color:#67dcb9;letter-spacing:.09em;font-size:.67rem;font-weight:900}.challenge-lesson-heading h1{text-overflow:ellipsis;white-space:nowrap;margin:2px 0 0;font-size:clamp(1rem,3vw,1.35rem);overflow:hidden}.challenge-lesson-progress{gap:7px;width:min(460px,100%);margin:0 auto;display:flex}.challenge-lesson-progress span{background:#323a38;border-radius:999px;flex:1;height:6px}.challenge-lesson-progress span.active{background:#d1fff0}.challenge-lesson-progress span.done{background:#62dcb7}.first-mate-screen,.challenge-result{isolation:isolate;text-align:center;background:radial-gradient(circle at 50% 28%,#ffc44f33,#0000 31%),linear-gradient(155deg,#302c24,#1d211f 65%);border:1px solid #ffd3792e;border-radius:32px;align-content:center;justify-items:center;gap:15px;width:min(680px,100%);min-height:min(720px,100vh - 120px);margin:0 auto;padding:clamp(28px,7vw,58px);display:grid;position:relative;overflow:hidden;box-shadow:0 30px 75px #00000075}.first-mate-glow{z-index:-1;border:1px solid #ffd27421;border-radius:50%;width:300px;height:300px;position:absolute;top:60px;box-shadow:0 0 0 42px #ffcc5b05,0 0 0 84px #ffcc5b04}.first-mate-queen{color:#fff3c8;filter:drop-shadow(0 18px 28px #00000073);font-family:Georgia,serif;font-size:clamp(7rem,28vw,11rem);line-height:.9}.first-mate-screen h1,.challenge-result h1{letter-spacing:-.055em;max-width:580px;margin:0;font-size:clamp(2rem,7vw,3.8rem)}.first-mate-screen>p:not(.challenge-kicker),.challenge-result>p:not(.challenge-kicker){color:#c3cbc8;max-width:540px;margin:0;line-height:1.6}.first-mate-rule{color:#ffe5a5;background:#ffc04117;border-radius:15px;gap:4px;width:min(500px,100%);padding:15px;display:grid}.first-mate-rule span{color:#c8b98f;font-size:.82rem}.challenge-result{background:radial-gradient(circle at 50% 25%,#5ae0b933,#0000 30%),linear-gradient(155deg,#243a34,#1c2220 65%);border-color:#65e2be2e}.result-confetti{color:#ffe097;letter-spacing:.4em;font-size:1.5rem}.result-badge{color:#e4fff7;background:#42bf992b;border:3px solid #8df0d1;border-radius:50%;place-items:center;width:132px;height:132px;font-family:Georgia,serif;font-size:5rem;display:grid;box-shadow:0 0 0 12px #5ddcb60f}.result-summary-grid{grid-template-columns:repeat(3,1fr);gap:9px;width:min(520px,100%);display:grid}.result-summary-grid>div{background:#00000029;border-radius:13px;gap:5px;padding:13px 9px;display:grid}.result-summary-grid span{color:#97aaa5;font-size:.72rem}.result-summary-grid strong{font-size:1.25rem}.result-achievement{text-align:left;background:#ffc84d14;border:1px solid #ffd5782e;border-radius:16px;align-items:center;gap:12px;width:min(520px,100%);padding:14px;display:flex}.result-achievement>span{font-size:2.2rem}.result-achievement>div{display:grid}.result-achievement small{color:#f7c963;letter-spacing:.09em;font-size:.67rem;font-weight:900}.challenge-notice{color:#edd59e;background:#aa7a1c1f;border:1px solid #ffd2702e;border-radius:13px;width:min(860px,100%);margin:0 auto;padding:12px 15px;font-size:.82rem;line-height:1.45}.profile-stat-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.profile-stat-grid>div{background:#242a29;border-radius:17px;gap:5px;padding:18px;display:grid}.profile-stat-grid span{color:#96a6a2;font-size:.78rem}.profile-stat-grid strong{color:#76e3c2;font-size:1.55rem}.challenge-lab-panel{background:#222827;border:1px solid #ffffff14;border-radius:17px;padding:16px}.challenge-lab-panel summary{cursor:pointer;font-weight:900}.challenge-lab-panel p{color:#96a7a3;margin:10px 0}.challenge-danger-button{color:#ffabab;cursor:pointer;background:#b4303017;border:1px solid #ee606040;border-radius:12px;width:fit-content;padding:11px 14px;font-weight:850}.coordinate-guide-card{width:min(900px,100%);box-shadow:var(--shadow);background:linear-gradient(145deg,#302e2b,#222321);border-radius:24px;grid-template-columns:minmax(240px,.8fr) minmax(280px,1fr);align-items:center;gap:28px;margin:0 auto;padding:clamp(20px,5vw,36px);display:grid}.coordinate-guide-card>div:last-child{gap:11px;display:grid}.coordinate-guide-card h2{margin:0;font-size:clamp(1.8rem,5vw,3rem)}.coordinate-guide-card p{color:#b9c2bf;margin:0;line-height:1.6}.coordinate-guide-board{aspect-ratio:1;color:#2b2117;background:repeating-conic-gradient(#e5c58c 0 25%, #8e6840 0 50%) 0 / 25% 25%;border:8px solid #d8b36d;grid-template-rows:auto 1fr auto;grid-template-columns:1fr 1fr;padding:14px;display:grid;box-shadow:0 18px 35px #00000061}.coordinate-guide-board span:nth-child(2),.coordinate-guide-board span:nth-child(5){text-align:right}.coordinate-guide-board strong{grid-column:1/-1;place-self:center;font-size:5rem}.coordinate-target strong{text-transform:lowercase}.challenge-practice-shell .play-engine-module,.challenge-practice-shell .puzzle-section{width:100%}@media (width<=720px){.challenge-app{padding-inline:12px}.today-challenge-card{border-radius:24px}.today-piece{height:125px}.challenge-day-node>button{grid-template-columns:44px minmax(0,1fr)}.challenge-day-status{grid-column:2}.coordinate-guide-card{grid-template-columns:1fr}.coordinate-guide-board{width:min(330px,100%);margin:0 auto}}@media (width<=520px){.challenge-top-bar{align-items:flex-start}.challenge-brand>span:first-child{width:38px;height:38px}.challenge-points-pill{display:none}.today-card-heading{align-items:flex-start}.today-card-heading small{text-align:right}.today-activity-list>div{grid-template-columns:22px 1fr}.today-activity-list em{grid-column:2;justify-self:start}.challenge-lesson-heading{grid-template-columns:auto minmax(0,1fr)}.challenge-lesson-heading>button:last-child{grid-column:1/-1;width:100%}.result-summary-grid,.profile-stat-grid{grid-template-columns:1fr}.challenge-bottom-nav{bottom:8px}.challenge-bottom-nav button{min-height:52px}}.challenge-primary-button:disabled{color:#7f918c;cursor:not-allowed;filter:none;background:linear-gradient(#39433f,#303936);transform:none;box-shadow:0 4px #1f2523}.today-limit-message{background:#537e731f;border:1px solid #7eccb61f;border-radius:13px;width:min(520px,100%);padding:12px 14px;color:#bfd6d0!important;margin:13px 0 0!important;font-size:.84rem!important;line-height:1.45!important}.challenge-practice-shell>.play-engine-module,.challenge-practice-shell>.puzzle-section{width:100%}.challenge-debug-panel{background:linear-gradient(145deg,#5f431247,#1e2322f5);border:1px solid #ffc15757;border-radius:18px;gap:12px;padding:18px;display:grid;box-shadow:inset 0 1px #ffffff0a}.challenge-debug-heading{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.challenge-debug-heading span{color:#2a210d;letter-spacing:.08em;background:#f4bf58;border-radius:999px;width:fit-content;margin-bottom:4px;padding:4px 8px;font-size:.68rem;font-weight:950;display:inline-flex}.challenge-debug-heading h2{margin:0;font-size:1.12rem}.challenge-debug-heading>strong{color:#ffd98f;white-space:nowrap;background:#f4bf581f;border-radius:999px;padding:6px 10px}.challenge-debug-panel p{color:#b9c4c1;margin:0}.challenge-debug-panel code{color:#f9d990}.challenge-debug-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.challenge-debug-actions button{color:#edf4f2;cursor:pointer;text-align:left;background:#ffffff0e;border:1px solid #ffffff1a;border-radius:14px;align-items:center;gap:10px;min-height:62px;padding:11px 13px;display:flex}.challenge-debug-actions button:hover{background:#f4bf5817;border-color:#f4bf586b;transform:translateY(-1px)}.challenge-debug-actions button>span:first-child{font-size:1.25rem}.challenge-debug-actions button>span:last-child{gap:3px;display:grid}.challenge-debug-actions button strong{font-size:.88rem}.challenge-debug-actions button small{color:#9caaa6;line-height:1.25}.challenge-debug-actions button.danger{border-color:#ee606045}.challenge-debug-actions button.danger:hover{background:#b430301f;border-color:#ee606094}@media (width<=640px){.challenge-debug-actions{grid-template-columns:1fr}}.optional-exercise-screen{gap:16px;display:grid}.optional-new-badge{color:#9af0d5;white-space:nowrap;background:#3d977c21;border:1px solid #76e3c24d;border-radius:999px;place-self:center end;padding:7px 10px;font-size:.76rem;font-weight:900}.optional-exercise-panel{width:100%}.optional-exercise-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}@media (width<=520px){.optional-new-badge{text-align:center;grid-column:1/-1;justify-self:stretch}.optional-exercise-actions,.optional-exercise-actions button{width:100%}}.level-up-card{isolation:isolate;width:min(92vw,640px);max-height:min(82vh,760px);animation:.7s cubic-bezier(.18,.85,.22,1.12) both level-up-card-arrive;overflow:auto;box-shadow:0 28px 90px #00000085;z-index:10002!important;position:fixed!important;inset:50% auto auto 50%!important;transform:translate(-50%,-50%)!important}.level-up-card>*{z-index:2;position:relative}.level-up-card.level-up-card-delayed{pointer-events:auto;animation:1.05s cubic-bezier(.16,.88,.2,1.08) both level-up-card-cinematic!important}body.cct-celebration-active .completion-card{display:none!important}.level-up-celebration{z-index:10000;pointer-events:none;position:fixed;inset:0;overflow:hidden}.level-up-celebration-backdrop{animation:level-up-backdrop var(--celebration-duration,10s) ease both;background:#050a186b;position:absolute;inset:0}.level-up-confetti-field{position:absolute;inset:0;overflow:hidden}.level-up-confetti-field span{left:var(--confetti-x);color:#ffe37a;font-size:var(--confetti-size);opacity:0;text-shadow:0 0 10px #ffffff29;filter:drop-shadow(0 4px 8px #00000057);will-change:transform, opacity;animation:level-up-confetti-fall var(--confetti-fall-duration,8.7s) linear var(--confetti-delay) both;animation-iteration-count:var(--confetti-iteration-count,1);font-weight:900;line-height:1;position:absolute;top:-12vh}.level-up-overlay-card{color:#fffaf0;text-align:center;pointer-events:auto;opacity:0;background:linear-gradient(#131931f5,#0a1022f7);border:1px solid #ffe29459;border-radius:24px;width:min(88vw,520px);padding:1rem 1.15rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 28px 80px #0000006b,0 0 0 1px #ffeeb014}.level-up-overlay-card-visible{animation:1.05s cubic-bezier(.16,.88,.2,1.08) both level-up-overlay-cinematic}.level-up-overlay-card-mini{border-radius:20px;width:min(84vw,420px);padding:.9rem 1rem;box-shadow:0 18px 48px #00000052}.level-up-overlay-kicker{color:#ffe097;letter-spacing:.08em;text-transform:uppercase;background:#ffe29429;border-radius:999px;justify-content:center;align-items:center;padding:.25rem .7rem;font-size:.78rem;font-weight:700;display:inline-flex}.level-up-overlay-card h2{margin:.7rem 0 .35rem;font-size:clamp(1.35rem,2.4vw,2rem)}.level-up-overlay-card p{color:#fffaf0eb;margin:0;line-height:1.45}.level-up-overlay-action{color:#241a05;cursor:pointer;background:linear-gradient(#ffe596,#e7b94d);border:1px solid #fff0bc85;border-radius:15px;width:100%;margin-top:1.15rem;padding:.9rem 1rem;font-size:clamp(.98rem,2vw,1.12rem);font-weight:900;transition:transform .16s,filter .16s;box-shadow:0 10px 28px #e7b94d47,inset 0 1px #ffffffb8}.level-up-overlay-action:hover{filter:brightness(1.05);transform:translateY(-2px)scale(1.01)}.level-up-overlay-action:active{transform:translateY(0)scale(.99)}.level-up-celebration-mini .level-up-celebration-backdrop{background:#050a1847}.level-up-celebration-mini .level-up-confetti-field span{filter:drop-shadow(0 3px 5px #0000004d)}.level-up-confetti-field span:nth-child(6n+1){color:#ffe37a}.level-up-confetti-field span:nth-child(6n+2){color:#7ee8c8}.level-up-confetti-field span:nth-child(6n+3){color:#ff9f9f}.level-up-confetti-field span:nth-child(6n+4){color:#9bc7ff}.level-up-confetti-field span:nth-child(6n+5){color:#ffd17e}.level-up-confetti-field span:nth-child(6n){color:#d5a8ff}@keyframes level-up-confetti-fall{0%{opacity:.98;transform:translateY(-7vh)scale(.96)rotate(0)}94%{opacity:.98}to{opacity:.98;transform:translate3d(var(--confetti-drift), 114vh, 0) scale(1.04) rotate(var(--confetti-spin))}}@keyframes level-up-card-arrive{0%{opacity:0;transform:translate(-50%,-44%)scale(.78)}68%{opacity:1;transform:translate(-50%,-50%)scale(1.035)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@keyframes level-up-overlay-cinematic{0%{opacity:0;filter:brightness(1.55)saturate(1.35);transform:translate(-50%,-40%)scale(.58)rotateX(18deg)}52%{opacity:1;filter:brightness(1.12)saturate(1.12);transform:translate(-50%,-52%)scale(1.075)rotateX(-3deg)}72%{transform:translate(-50%,-49%)scale(.985)rotateX(1deg)}to{opacity:1;filter:none;transform:translate(-50%,-50%)scale(1)rotateX(0)}}@keyframes level-up-card-cinematic{0%{opacity:0;filter:brightness(1.55)saturate(1.35);transform:translate(-50%,-40%)scale(.58)rotateX(18deg)}52%{opacity:1;filter:brightness(1.12)saturate(1.12);transform:translate(-50%,-52%)scale(1.075)rotateX(-3deg)}72%{transform:translate(-50%,-49%)scale(.985)rotateX(1deg)}to{opacity:1;filter:none;transform:translate(-50%,-50%)scale(1)rotateX(0)}}@keyframes completion-card-cinematic{0%{opacity:0;filter:brightness(1.45)saturate(1.3);transform:translateY(34px)scale(.64)rotateX(16deg)}55%{opacity:1;transform:translateY(-8px)scale(1.06)rotateX(-2deg)}75%{transform:translateY(3px)scale(.985)rotateX(1deg)}to{opacity:1;filter:none;transform:translateY(0)scale(1)rotateX(0)}}@keyframes level-up-backdrop{0%{opacity:0}8%{opacity:1}to{opacity:1}}@media (width<=620px){.level-up-card{width:min(94vw,640px);max-height:86vh}.level-up-overlay-card{width:min(92vw,520px)}}@media (prefers-reduced-motion:reduce){.level-up-confetti-field{display:none}.level-up-card,.level-up-overlay-card{opacity:1;animation:none}.level-up-celebration-backdrop{animation:none}}.board-position-error{color:#fff4f4;text-align:center;background:#4c1418f0;border:2px solid #ff7676b8;border-radius:18px;place-content:center;gap:8px;width:min(92vw,680px);min-height:180px;padding:24px;display:grid;box-shadow:0 18px 46px #00000057}.board-position-error strong{font-size:1.25rem}.board-position-error span,.board-position-error small{color:#fff4f4e0}.puzzle-single-success-overlay{z-index:1180;pointer-events:none;background:#0a101914;place-items:center;padding:24px;animation:1.4s both puzzle-single-success-overlay;display:grid;position:fixed;inset:0}.puzzle-single-success-card{color:#fff;text-align:center;transform-origin:50%;background:#141f2deb;border:1px solid #ffffff6b;border-radius:22px;justify-items:center;gap:6px;max-width:min(440px,100vw - 40px);padding:18px 22px;animation:1.4s cubic-bezier(.2,.8,.2,1) both puzzle-single-success-card;display:grid;box-shadow:0 18px 56px #070f1c3d}.puzzle-single-success-sparkles{letter-spacing:.08em;font-size:clamp(1.45rem,4vw,2rem);line-height:1}.puzzle-single-success-card strong{font-size:clamp(1.2rem,4vw,1.55rem);line-height:1.15}.puzzle-single-success-card span{opacity:.92;font-size:.95rem;line-height:1.35}@keyframes puzzle-single-success-overlay{0%{opacity:0}14%{opacity:1}72%{opacity:1}to{opacity:0}}@keyframes puzzle-single-success-card{0%{opacity:0;transform:translateY(10px)scale(.94)}18%{opacity:1;transform:translateY(0)scale(1.02)}70%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-4px)scale(.98)}}@media (prefers-reduced-motion:reduce){.puzzle-single-success-overlay,.puzzle-single-success-card{animation:none}}.module-lazy-loading{text-align:center;border-radius:22px;align-content:center;place-items:center;gap:10px;width:min(100%,720px);min-height:180px;margin:24px auto;padding:28px;display:grid}.module-lazy-loading p{margin:0;font-weight:700}.module-lazy-loading-icon{font-size:2rem;line-height:1;animation:.9s ease-in-out infinite alternate module-lazy-loading-pulse}@keyframes module-lazy-loading-pulse{0%{opacity:.45;transform:scale(.96)}to{opacity:1;transform:scale(1.04)}}@media (prefers-reduced-motion:reduce){.module-lazy-loading-icon{animation:none}}.puzzle-restart-confirm-backdrop{z-index:1220;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#080f1a94;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.puzzle-restart-confirm-dialog{background:var(--panel,#fff);border-radius:22px;grid-template-columns:auto 1fr;gap:16px;width:min(100%,460px);padding:22px;display:grid;box-shadow:0 24px 70px #00000047}.puzzle-restart-confirm-icon{background:#5e76ff1f;border-radius:50%;place-items:center;width:46px;height:46px;font-size:1.55rem;line-height:1;display:grid}.puzzle-restart-confirm-dialog h3{margin:2px 0 8px}.puzzle-restart-confirm-dialog p{margin-top:0}.puzzle-restart-confirm-actions{flex-wrap:wrap;grid-column:1/-1;justify-content:flex-end;gap:10px;display:flex}@media (width<=560px){.puzzle-restart-confirm-dialog{grid-template-columns:1fr}.puzzle-restart-confirm-icon{margin-inline:auto}.puzzle-restart-confirm-actions{grid-template-columns:1fr;display:grid}.puzzle-restart-confirm-actions button{width:100%}}.learning-support-overlay{z-index:250;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0d0d0cb8;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.learning-support-modal{width:min(100%,520px);color:var(--text,#f2f2f2);background:radial-gradient(circle at 90% 0,#81b64c24,#0000 42%),#262522;border:1px solid #a3d16047;border-radius:18px;padding:clamp(20px,4vw,30px);box-shadow:0 24px 70px #00000075}.learning-support-kicker{color:var(--accent-strong,#a3d160);letter-spacing:.1em;text-transform:uppercase;margin-bottom:6px;font-size:.72rem;font-weight:850}.learning-support-modal h2{margin:0 0 10px;font-size:clamp(1.25rem,4vw,1.7rem)}.learning-support-modal p{line-height:1.55}.learning-support-class-card{background:#00000029;border:1px solid #ffffff17;border-radius:12px;gap:5px;margin:18px 0;padding:13px 14px;display:grid}.learning-support-class-card span{color:var(--text-muted,#b9b7b1);font-size:.9rem;line-height:1.4}.learning-support-booking-message{color:var(--text-muted,#d7d5cf);background:#a3d1601a;border-radius:10px;padding:10px 12px;font-size:.88rem}.learning-support-actions{gap:9px;margin-top:18px;display:grid}.learning-support-primary,.learning-support-secondary{cursor:pointer;min-height:44px;font:inherit;border-radius:10px;padding:10px 14px;font-weight:800}.learning-support-primary{color:#151712;background:var(--accent-strong,#a3d160);border:1px solid #c6eb8f61}.learning-support-secondary{color:#ecebe8;background:#ffffff0e;border:1px solid #ffffff1f}.learning-support-primary:focus-visible,.learning-support-secondary:focus-visible{outline-offset:2px;outline:3px solid #a3d16073}@media (width<=480px){.learning-support-overlay{align-items:end;padding:10px}.learning-support-modal{border-radius:16px}}@media (prefers-reduced-motion:reduce){.learning-support-overlay,.learning-support-modal{transition:none!important;animation:none!important}}.learning-support-masterclass-progress{background:#ffffff14;border-radius:999px;width:100%;height:10px;margin-top:8px;overflow:hidden}.learning-support-masterclass-progress-fill{border-radius:inherit;background:var(--accent-strong,#a3d160);height:100%;transition:width .18s}.learning-support-masterclass-counter{color:var(--accent-strong,#a3d160);margin-top:3px}.learning-support-masterclass-ready{font-weight:750;color:#d9f5ae!important}.learning-support-ticket-card{background:#0000001f;border:1px solid #ffffff17;border-radius:12px;gap:7px;margin:14px 0;padding:13px 14px;display:grid}.learning-support-ticket-card label{font-weight:800}.learning-support-ticket-card select{color:#ecebe8;min-height:42px;font:inherit;background:#302f2b;border:1px solid #ffffff24;border-radius:9px;padding:8px 10px}.learning-support-ticket-card span,.learning-support-payment-note{color:var(--text-muted,#b9b7b1);font-size:.86rem;line-height:1.45}.learning-support-masterclass-error{color:#ffd6d6;background:#ee74741f;border-radius:10px;margin-top:10px;padding:10px 12px}.learning-support-payment-note{text-align:center;margin:12px 0 0}.masterclass-payment-card{background:#a3d16014;border-color:#a3d1606b;gap:10px;display:grid}.masterclass-payment-card .learning-support-primary{width:100%}@media (prefers-reduced-motion:reduce){.learning-support-masterclass-progress-fill{transition:none}}
