@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600;700;800&display=swap";.cg-wrap{box-sizing:content-box;position:relative;display:block}cg-container{position:absolute;width:100%;height:100%;display:block;top:0}cg-board{position:absolute;top:0;left:0;width:100%;height:100%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;line-height:0;background-size:cover}.cg-wrap.manipulable cg-board{cursor:pointer}cg-board square{position:absolute;top:0;left:0;width:12.5%;height:12.5%;pointer-events:none}cg-board square.move-dest{pointer-events:auto}cg-board square.last-move{will-change:transform}.cg-wrap piece{position:absolute;top:0;left:0;width:12.5%;height:12.5%;background-size:cover;z-index:2;will-change:transform;pointer-events:none}cg-board piece.dragging{cursor:move;z-index:11!important}piece.anim{z-index:8}piece.fading{z-index:1;opacity:.5}.cg-wrap piece.ghost{opacity:.3}.cg-wrap piece svg{overflow:hidden;position:relative;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:2;opacity:.6}.cg-wrap cg-auto-pieces,.cg-wrap .cg-shapes,.cg-wrap .cg-custom-svgs{overflow:visible;position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.cg-wrap cg-auto-pieces{z-index:2}.cg-wrap cg-auto-pieces piece{opacity:.3}.cg-wrap .cg-shapes{overflow:hidden;opacity:.6;z-index:2}.cg-wrap .cg-custom-svgs{z-index:9}.cg-wrap .cg-custom-svgs svg{overflow:visible}.cg-wrap coords{position:absolute;display:flex;pointer-events:none;opacity:.8;font-family:sans-serif;font-size:9px}.cg-wrap coords.ranks{left:4px;top:-20px;flex-flow:column-reverse;height:100%;width:12px}.cg-wrap coords.ranks.black{flex-flow:column}.cg-wrap coords.ranks.left{left:-15px;align-items:flex-end}.cg-wrap coords.files{bottom:-4px;left:24px;flex-flow:row;width:100%;height:16px;text-transform:uppercase;text-align:center}.cg-wrap coords.files.black{flex-flow:row-reverse}.cg-wrap coords coord{flex:1 1 auto}.cg-wrap coords.ranks coord{transform:translateY(39%)}.cg-wrap coords.squares{bottom:0;left:0;text-transform:uppercase;text-align:right;flex-flow:column-reverse;height:100%;width:12.5%}.cg-wrap coords.squares.black{flex-flow:column}.cg-wrap coords.squares.left{text-align:left}.cg-wrap coords.squares coord{padding:6% 4%}.cg-wrap coords.squares.rank2{transform:translate(100%)}.cg-wrap coords.squares.rank3{transform:translate(200%)}.cg-wrap coords.squares.rank4{transform:translate(300%)}.cg-wrap coords.squares.rank5{transform:translate(400%)}.cg-wrap coords.squares.rank6{transform:translate(500%)}.cg-wrap coords.squares.rank7{transform:translate(600%)}.cg-wrap coords.squares.rank8{transform:translate(700%)}cg-board{background-color:#f0d9b5;background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4PSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIgogICAgIHZpZXdCb3g9IjAgMCA4IDgiIHNoYXBlLXJlbmRlcmluZz0iY3Jpc3BFZGdlcyI+CjxnIGlkPSJhIj4KICA8ZyBpZD0iYiI+CiAgICA8ZyBpZD0iYyI+CiAgICAgIDxnIGlkPSJkIj4KICAgICAgICA8cmVjdCB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBpZD0iZSIgb3BhY2l0eT0iMCIvPgogICAgICAgIDx1c2UgeD0iMSIgeT0iMSIgaHJlZj0iI2UiIHg6aHJlZj0iI2UiLz4KICAgICAgICA8cmVjdCB5PSIxIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBpZD0iZiIgb3BhY2l0eT0iMC4yIi8+CiAgICAgICAgPHVzZSB4PSIxIiB5PSItMSIgaHJlZj0iI2YiIHg6aHJlZj0iI2YiLz4KICAgICAgPC9nPgogICAgICA8dXNlIHg9IjIiIGhyZWY9IiNkIiB4OmhyZWY9IiNkIi8+CiAgICA8L2c+CiAgICA8dXNlIHg9IjQiIGhyZWY9IiNjIiB4OmhyZWY9IiNjIi8+CiAgPC9nPgogIDx1c2UgeT0iMiIgaHJlZj0iI2IiIHg6aHJlZj0iI2IiLz4KPC9nPgo8dXNlIHk9IjQiIGhyZWY9IiNhIiB4OmhyZWY9IiNhIi8+Cjwvc3ZnPg==)}cg-board square.move-dest{background:radial-gradient(#14551e80 22%,#208530 0,#0000004d,#0000 0)}cg-board square.premove-dest{background:radial-gradient(#141e5580 22%,#203085 0,#0000004d,#0000 0)}cg-board square.oc.move-dest{background:radial-gradient(transparent 0%,transparent 80%,rgba(20,85,0,.3) 80%)}cg-board square.oc.premove-dest{background:radial-gradient(transparent 0%,transparent 80%,rgba(20,30,85,.2) 80%)}cg-board square.move-dest:hover{background:#14551e4d}cg-board square.premove-dest:hover{background:#141e5533}cg-board square.last-move{background-color:#9bc70069}cg-board square.selected{background-color:#14551e80}cg-board square.check{background:radial-gradient(ellipse at center,red,#e70000 25%,#a9000000 89%,#9e000000)}cg-board square.current-premove{background-color:#141e5580}.orientation-white .ranks :nth-child(odd),.orientation-white .files :nth-child(2n),.orientation-black .ranks :nth-child(2n),.orientation-black .files :nth-child(odd),coords.squares:nth-of-type(odd) :nth-child(2n),coords.squares:nth-of-type(2n) :nth-child(odd){color:#484848cc}.orientation-white .ranks :nth-child(2n),.orientation-white .files :nth-child(odd),.orientation-black .ranks :nth-child(odd),.orientation-black .files :nth-child(2n),coords.squares:nth-of-type(odd) :nth-child(odd),coords.squares:nth-of-type(2n) :nth-child(2n){color:#fffc}.cg-wrap piece.pawn.white{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NSIgaGVpZ2h0PSI0NSI+PHBhdGggZD0iTTIyLjUgOWMtMi4yMSAwLTQgMS43OS00IDQgMCAuODkuMjkgMS43MS43OCAyLjM4QzE3LjMzIDE2LjUgMTYgMTguNTkgMTYgMjFjMCAyLjAzLjk0IDMuODQgMi40MSA1LjAzLTMgMS4wNi03LjQxIDUuNTUtNy40MSAxMy40N2gyM2MwLTcuOTItNC40MS0xMi40MS03LjQxLTEzLjQ3IDEuNDctMS4xOSAyLjQxLTMgMi40MS01LjAzIDAtMi40MS0xLjMzLTQuNS0zLjI4LTUuNjIuNDktLjY3Ljc4LTEuNDkuNzgtMi4zOCAwLTIuMjEtMS43OS00LTQtNHoiIGZpbGw9IiNmZmYiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPjwvc3ZnPg==)}.cg-wrap piece.bishop.white{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NSIgaGVpZ2h0PSI0NSI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxnIGZpbGw9IiNmZmYiIHN0cm9rZS1saW5lY2FwPSJidXR0Ij48cGF0aCBkPSJNOSAzNmMzLjM5LS45NyAxMC4xMS40MyAxMy41LTIgMy4zOSAyLjQzIDEwLjExIDEuMDMgMTMuNSAyIDAgMCAxLjY1LjU0IDMgMi0uNjguOTctMS42NS45OS0zIC41LTMuMzktLjk3LTEwLjExLjQ2LTEzLjUtMS0zLjM5IDEuNDYtMTAuMTEuMDMtMTMuNSAxLTEuMzU0LjQ5LTIuMzIzLjQ3LTMtLjUgMS4zNTQtMS45NCAzLTIgMy0yeiIvPjxwYXRoIGQ9Ik0xNSAzMmMyLjUgMi41IDEyLjUgMi41IDE1IDAgLjUtMS41IDAtMiAwLTIgMC0yLjUtMi41LTQtMi41LTQgNS41LTEuNSA2LTExLjUtNS0xNS41LTExIDQtMTAuNSAxNC01IDE1LjUgMCAwLTIuNSAxLjUtMi41IDQgMCAwLS41LjUgMCAyeiIvPjxwYXRoIGQ9Ik0yNSA4YTIuNSAyLjUgMCAxIDEtNSAwIDIuNSAyLjUgMCAxIDEgNSAweiIvPjwvZz48cGF0aCBkPSJNMTcuNSAyNmgxME0xNSAzMGgxNW0tNy41LTE0LjV2NU0yMCAxOGg1IiBzdHJva2UtbGluZWpvaW49Im1pdGVyIi8+PC9nPjwvc3ZnPg==)}.cg-wrap piece.knight.white{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NSIgaGVpZ2h0PSI0NSI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik0yMiAxMGMxMC41IDEgMTYuNSA4IDE2IDI5SDE1YzAtOSAxMC02LjUgOC0yMSIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Ik0yNCAxOGMuMzggMi45MS01LjU1IDcuMzctOCA5LTMgMi0yLjgyIDQuMzQtNSA0LTEuMDQyLS45NCAxLjQxLTMuMDQgMC0zLTEgMCAuMTkgMS4yMy0xIDItMSAwLTQuMDAzIDEtNC00IDAtMiA2LTEyIDYtMTJzMS44OS0xLjkgMi0zLjVjLS43My0uOTk0LS41LTItLjUtMyAxLTEgMyAyLjUgMyAyLjVoMnMuNzgtMS45OTIgMi41LTNjMSAwIDEgMyAxIDMiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJNOS41IDI1LjVhLjUuNSAwIDEgMS0xIDAgLjUuNSAwIDEgMSAxIDB6bTUuNDMzLTkuNzVhLjUgMS41IDMwIDEgMS0uODY2LS41LjUgMS41IDMwIDEgMSAuODY2LjV6IiBmaWxsPSIjMDAwIi8+PC9nPjwvc3ZnPg==)}.cg-wrap piece.rook.white{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NSIgaGVpZ2h0PSI0NSI+PGcgZmlsbD0iI2ZmZiIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik05IDM5aDI3di0zSDl2M3ptMy0zdi00aDIxdjRIMTJ6bS0xLTIyVjloNHYyaDVWOWg1djJoNVY5aDR2NSIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiLz48cGF0aCBkPSJNMzQgMTRsLTMgM0gxNGwtMy0zIi8+PHBhdGggZD0iTTMxIDE3djEyLjVIMTRWMTciIHN0cm9rZS1saW5lY2FwPSJidXR0IiBzdHJva2UtbGluZWpvaW49Im1pdGVyIi8+PHBhdGggZD0iTTMxIDI5LjVsMS41IDIuNWgtMjBsMS41LTIuNSIvPjxwYXRoIGQ9Ik0xMSAxNGgyMyIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVqb2luPSJtaXRlciIvPjwvZz48L3N2Zz4=)}.cg-wrap piece.queen.white{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NSIgaGVpZ2h0PSI0NSI+PGcgZmlsbD0iI2ZmZiIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik04IDEyYTIgMiAwIDEgMS00IDAgMiAyIDAgMSAxIDQgMHptMTYuNS00LjVhMiAyIDAgMSAxLTQgMCAyIDIgMCAxIDEgNCAwek00MSAxMmEyIDIgMCAxIDEtNCAwIDIgMiAwIDEgMSA0IDB6TTE2IDguNWEyIDIgMCAxIDEtNCAwIDIgMiAwIDEgMSA0IDB6TTMzIDlhMiAyIDAgMSAxLTQgMCAyIDIgMCAxIDEgNCAweiIvPjxwYXRoIGQ9Ik05IDI2YzguNS0xLjUgMjEtMS41IDI3IDBsMi0xMi03IDExVjExbC01LjUgMTMuNS0zLTE1LTMgMTUtNS41LTE0VjI1TDcgMTRsMiAxMnoiIHN0cm9rZS1saW5lY2FwPSJidXR0Ii8+PHBhdGggZD0iTTkgMjZjMCAyIDEuNSAyIDIuNSA0IDEgMS41IDEgMSAuNSAzLjUtMS41IDEtMS41IDIuNS0xLjUgMi41LTEuNSAxLjUuNSAyLjUuNSAyLjUgNi41IDEgMTYuNSAxIDIzIDAgMCAwIDEuNS0xIDAtMi41IDAgMCAuNS0xLjUtMS0yLjUtLjUtMi41LS41LTIgLjUtMy41IDEtMiAyLjUtMiAyLjUtNC04LjUtMS41LTE4LjUtMS41LTI3IDB6IiBzdHJva2UtbGluZWNhcD0iYnV0dCIvPjxwYXRoIGQ9Ik0xMS41IDMwYzMuNS0xIDE4LjUtMSAyMiAwTTEyIDMzLjVjNi0xIDE1LTEgMjEgMCIgZmlsbD0ibm9uZSIvPjwvZz48L3N2Zz4=)}.cg-wrap piece.king.white{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NSIgaGVpZ2h0PSI0NSI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik0yMi41IDExLjYzVjZNMjAgOGg1IiBzdHJva2UtbGluZWpvaW49Im1pdGVyIi8+PHBhdGggZD0iTTIyLjUgMjVzNC41LTcuNSAzLTEwLjVjMCAwLTEtMi41LTMtMi41cy0zIDIuNS0zIDIuNWMtMS41IDMgMyAxMC41IDMgMTAuNSIgZmlsbD0iI2ZmZiIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiIHN0cm9rZS1saW5lam9pbj0ibWl0ZXIiLz48cGF0aCBkPSJNMTEuNSAzN2M1LjUgMy41IDE1LjUgMy41IDIxIDB2LTdzOS00LjUgNi0xMC41Yy00LTYuNS0xMy41LTMuNS0xNiA0VjI3di0zLjVjLTMuNS03LjUtMTMtMTAuNS0xNi00LTMgNiA1IDEwIDUgMTBWMzd6IiBmaWxsPSIjZmZmIi8+PHBhdGggZD0iTTExLjUgMzBjNS41LTMgMTUuNS0zIDIxIDBtLTIxIDMuNWM1LjUtMyAxNS41LTMgMjEgMG0tMjEgMy41YzUuNS0zIDE1LjUtMyAyMSAwIi8+PC9nPjwvc3ZnPg==)}.cg-wrap piece.pawn.black{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NSIgaGVpZ2h0PSI0NSI+PHBhdGggZD0iTTIyLjUgOWMtMi4yMSAwLTQgMS43OS00IDQgMCAuODkuMjkgMS43MS43OCAyLjM4QzE3LjMzIDE2LjUgMTYgMTguNTkgMTYgMjFjMCAyLjAzLjk0IDMuODQgMi40MSA1LjAzLTMgMS4wNi03LjQxIDUuNTUtNy40MSAxMy40N2gyM2MwLTcuOTItNC40MS0xMi40MS03LjQxLTEzLjQ3IDEuNDctMS4xOSAyLjQxLTMgMi40MS01LjAzIDAtMi40MS0xLjMzLTQuNS0zLjI4LTUuNjIuNDktLjY3Ljc4LTEuNDkuNzgtMi4zOCAwLTIuMjEtMS43OS00LTQtNHoiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPjwvc3ZnPg==)}.cg-wrap piece.bishop.black{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NSIgaGVpZ2h0PSI0NSI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxnIGZpbGw9IiMwMDAiIHN0cm9rZS1saW5lY2FwPSJidXR0Ij48cGF0aCBkPSJNOSAzNmMzLjM5LS45NyAxMC4xMS40MyAxMy41LTIgMy4zOSAyLjQzIDEwLjExIDEuMDMgMTMuNSAyIDAgMCAxLjY1LjU0IDMgMi0uNjguOTctMS42NS45OS0zIC41LTMuMzktLjk3LTEwLjExLjQ2LTEzLjUtMS0zLjM5IDEuNDYtMTAuMTEuMDMtMTMuNSAxLTEuMzU0LjQ5LTIuMzIzLjQ3LTMtLjUgMS4zNTQtMS45NCAzLTIgMy0yeiIvPjxwYXRoIGQ9Ik0xNSAzMmMyLjUgMi41IDEyLjUgMi41IDE1IDAgLjUtMS41IDAtMiAwLTIgMC0yLjUtMi41LTQtMi41LTQgNS41LTEuNSA2LTExLjUtNS0xNS41LTExIDQtMTAuNSAxNC01IDE1LjUgMCAwLTIuNSAxLjUtMi41IDQgMCAwLS41LjUgMCAyeiIvPjxwYXRoIGQ9Ik0yNSA4YTIuNSAyLjUgMCAxIDEtNSAwIDIuNSAyLjUgMCAxIDEgNSAweiIvPjwvZz48cGF0aCBkPSJNMTcuNSAyNmgxME0xNSAzMGgxNW0tNy41LTE0LjV2NU0yMCAxOGg1IiBzdHJva2U9IiNlY2VjZWMiIHN0cm9rZS1saW5lam9pbj0ibWl0ZXIiLz48L2c+PC9zdmc+)}.cg-wrap piece.knight.black{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NSIgaGVpZ2h0PSI0NSI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik0yMiAxMGMxMC41IDEgMTYuNSA4IDE2IDI5SDE1YzAtOSAxMC02LjUgOC0yMSIgZmlsbD0iIzAwMCIvPjxwYXRoIGQ9Ik0yNCAxOGMuMzggMi45MS01LjU1IDcuMzctOCA5LTMgMi0yLjgyIDQuMzQtNSA0LTEuMDQyLS45NCAxLjQxLTMuMDQgMC0zLTEgMCAuMTkgMS4yMy0xIDItMSAwLTQuMDAzIDEtNC00IDAtMiA2LTEyIDYtMTJzMS44OS0xLjkgMi0zLjVjLS43My0uOTk0LS41LTItLjUtMyAxLTEgMyAyLjUgMyAyLjVoMnMuNzgtMS45OTIgMi41LTNjMSAwIDEgMyAxIDMiIGZpbGw9IiMwMDAiLz48cGF0aCBkPSJNOS41IDI1LjVhLjUuNSAwIDEgMS0xIDAgLjUuNSAwIDEgMSAxIDB6bTUuNDMzLTkuNzVhLjUgMS41IDMwIDEgMS0uODY2LS41LjUgMS41IDMwIDEgMSAuODY2LjV6IiBmaWxsPSIjZWNlY2VjIiBzdHJva2U9IiNlY2VjZWMiLz48cGF0aCBkPSJNMjQuNTUgMTAuNGwtLjQ1IDEuNDUuNS4xNWMzLjE1IDEgNS42NSAyLjQ5IDcuOSA2Ljc1UzM1Ljc1IDI5LjA2IDM1LjI1IDM5bC0uMDUuNWgyLjI1bC4wNS0uNWMuNS0xMC4wNi0uODgtMTYuODUtMy4yNS0yMS4zNC0yLjM3LTQuNDktNS43OS02LjY0LTkuMTktNy4xNmwtLjUxLS4xeiIgZmlsbD0iI2VjZWNlYyIgc3Ryb2tlPSJub25lIi8+PC9nPjwvc3ZnPg==)}.cg-wrap piece.rook.black{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NSIgaGVpZ2h0PSI0NSI+PGcgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik05IDM5aDI3di0zSDl2M3ptMy41LTdsMS41LTIuNWgxN2wxLjUgMi41aC0yMHptLS41IDR2LTRoMjF2NEgxMnoiIHN0cm9rZS1saW5lY2FwPSJidXR0Ii8+PHBhdGggZD0iTTE0IDI5LjV2LTEzaDE3djEzSDE0eiIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiIHN0cm9rZS1saW5lam9pbj0ibWl0ZXIiLz48cGF0aCBkPSJNMTQgMTYuNUwxMSAxNGgyM2wtMyAyLjVIMTR6TTExIDE0VjloNHYyaDVWOWg1djJoNVY5aDR2NUgxMXoiIHN0cm9rZS1saW5lY2FwPSJidXR0Ii8+PHBhdGggZD0iTTEyIDM1LjVoMjFtLTIwLTRoMTltLTE4LTJoMTdtLTE3LTEzaDE3TTExIDE0aDIzIiBmaWxsPSJub25lIiBzdHJva2U9IiNlY2VjZWMiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJtaXRlciIvPjwvZz48L3N2Zz4=)}.cg-wrap piece.queen.black{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NSIgaGVpZ2h0PSI0NSI+PGcgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxnIHN0cm9rZT0ibm9uZSI+PGNpcmNsZSBjeD0iNiIgY3k9IjEyIiByPSIyLjc1Ii8+PGNpcmNsZSBjeD0iMTQiIGN5PSI5IiByPSIyLjc1Ii8+PGNpcmNsZSBjeD0iMjIuNSIgY3k9IjgiIHI9IjIuNzUiLz48Y2lyY2xlIGN4PSIzMSIgY3k9IjkiIHI9IjIuNzUiLz48Y2lyY2xlIGN4PSIzOSIgY3k9IjEyIiByPSIyLjc1Ii8+PC9nPjxwYXRoIGQ9Ik05IDI2YzguNS0xLjUgMjEtMS41IDI3IDBsMi41LTEyLjVMMzEgMjVsLS4zLTE0LjEtNS4yIDEzLjYtMy0xNC41LTMgMTQuNS01LjItMTMuNkwxNCAyNSA2LjUgMTMuNSA5IDI2eiIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiLz48cGF0aCBkPSJNOSAyNmMwIDIgMS41IDIgMi41IDQgMSAxLjUgMSAxIC41IDMuNS0xLjUgMS0xLjUgMi41LTEuNSAyLjUtMS41IDEuNS41IDIuNS41IDIuNSA2LjUgMSAxNi41IDEgMjMgMCAwIDAgMS41LTEgMC0yLjUgMCAwIC41LTEuNS0xLTIuNS0uNS0yLjUtLjUtMiAuNS0zLjUgMS0yIDIuNS0yIDIuNS00LTguNS0xLjUtMTguNS0xLjUtMjcgMHoiIHN0cm9rZS1saW5lY2FwPSJidXR0Ii8+PHBhdGggZD0iTTExIDM4LjVhMzUgMzUgMSAwIDAgMjMgMCIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiLz48cGF0aCBkPSJNMTEgMjlhMzUgMzUgMSAwIDEgMjMgMG0tMjEuNSAyLjVoMjBtLTIxIDNhMzUgMzUgMSAwIDAgMjIgMG0tMjMgM2EzNSAzNSAxIDAgMCAyNCAwIiBmaWxsPSJub25lIiBzdHJva2U9IiNlY2VjZWMiLz48L2c+PC9zdmc+)}.cg-wrap piece.king.black{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NSIgaGVpZ2h0PSI0NSI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik0yMi41IDExLjYzVjYiIHN0cm9rZS1saW5lam9pbj0ibWl0ZXIiLz48cGF0aCBkPSJNMjIuNSAyNXM0LjUtNy41IDMtMTAuNWMwIDAtMS0yLjUtMy0yLjVzLTMgMi41LTMgMi41Yy0xLjUgMyAzIDEwLjUgMyAxMC41IiBmaWxsPSIjMDAwIiBzdHJva2UtbGluZWNhcD0iYnV0dCIgc3Ryb2tlLWxpbmVqb2luPSJtaXRlciIvPjxwYXRoIGQ9Ik0xMS41IDM3YzUuNSAzLjUgMTUuNSAzLjUgMjEgMHYtN3M5LTQuNSA2LTEwLjVjLTQtNi41LTEzLjUtMy41LTE2IDRWMjd2LTMuNWMtMy41LTcuNS0xMy0xMC41LTE2LTQtMyA2IDUgMTAgNSAxMFYzN3oiIGZpbGw9IiMwMDAiLz48cGF0aCBkPSJNMjAgOGg1IiBzdHJva2UtbGluZWpvaW49Im1pdGVyIi8+PHBhdGggZD0iTTMyIDI5LjVzOC41LTQgNi4wMy05LjY1QzM0LjE1IDE0IDI1IDE4IDIyLjUgMjQuNWwuMDEgMi4xLS4wMS0yLjFDMjAgMTggOS45MDYgMTQgNi45OTcgMTkuODVjLTIuNDk3IDUuNjUgNC44NTMgOSA0Ljg1MyA5IiBzdHJva2U9IiNlY2VjZWMiLz48cGF0aCBkPSJNMTEuNSAzMGM1LjUtMyAxNS41LTMgMjEgMG0tMjEgMy41YzUuNS0zIDE1LjUtMyAyMSAwbS0yMSAzLjVjNS41LTMgMTUuNS0zIDIxIDAiIHN0cm9rZT0iI2VjZWNlYyIvPjwvZz48L3N2Zz4=)}:root{font-family:IBM Plex Sans,Noto Sans,Segoe UI,system-ui,sans-serif;--page-vertical-space: 10vh;--chrome-offset: 8rem;--color-text: #121212;--color-bg: #e7dfd2;--color-bg-grad-top: #f5f0e7;--color-bg-grad-bottom: #ddd3c3;--color-bg-glow: rgba(255, 255, 255, .06);--color-panel-bg: rgba(255, 255, 255, .36);--color-panel-border: rgba(80, 80, 80, .12);--color-panel-shadow: rgba(0, 0, 0, .4);--board-hue-rotate: 0deg;--background-hue-rotate: 0deg;--background-fill-color: var(--color-bg);--background-fill-grad-top: var(--color-bg-grad-top);--background-fill-grad-bottom: var(--color-bg-grad-bottom);--controls-hue-rotate: 0deg;--controls-hue-filter: hue-rotate(var(--controls-hue-rotate));--color-meta: #2c2c2c;--color-status: #121212;--color-correct: #4a3927;--color-error: #9d1c1c;--color-board-shadow: rgba(0, 0, 0, .4);--board-glass-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8' shape-rendering='crispEdges'%3E%3Cdefs%3E%3Cpattern id='p' width='2' height='2' patternUnits='userSpaceOnUse'%3E%3Crect width='2' height='2' fill='%23b78964' fill-opacity='0.5'/%3E%3Crect width='1' height='1' fill='%23f2dbb7' fill-opacity='0.5'/%3E%3Crect x='1' y='1' width='1' height='1' fill='%23f2dbb7' fill-opacity='0.5'/%3E%3C/pattern%3E%3C/defs%3E%3Crect width='8' height='8' fill='url(%23p)'/%3E%3C/svg%3E");--color-eval-depth: #444;--color-eval-bar-border: #111;--color-eval-bar-bg: #111;--color-eval-fill-bg: #f8f8f8;--color-input-bg: #ffffff;--color-input-border: #b6b6b6;--color-input-text: #121212;--color-input-placeholder: #6a6a6a;--color-button-bg: #f2dbb7;--color-button-bg-hover: #f2dbb7;--color-button-border: #b78964;--color-button-text: #2b2218;--color-button-secondary-bg: rgba(91, 91, 91, .92);--color-button-secondary-bg-hover: rgba(103, 103, 103, .95);--color-button-secondary-border: #6f6f6f;--color-button-disabled-bg: rgba(188, 188, 188, .62);--color-button-disabled-border: rgba(138, 138, 138, .48);--color-button-disabled-text: rgba(38, 38, 38, .58);--color-control-highlight: rgba(255, 255, 255, .18);--color-control-highlight-strong: rgba(255, 255, 255, .22);--color-control-highlight-soft: rgba(255, 255, 255, .12);--color-control-shadow-soft: rgba(0, 0, 0, .08);--color-control-shadow-hover: rgba(0, 0, 0, .14);--color-control-shadow-active: rgba(0, 0, 0, .1);--color-control-thumb-bg: #ffffff;--color-control-thumb-shadow: rgba(0, 0, 0, .28);--color-range-track-bg: rgba(106, 96, 86, .14);--color-range-track-border: rgba(95, 79, 60, .18);--color-range-thumb-bg: #f2dbb7;--color-range-thumb-border: #b78964;--color-range-thumb-shadow: rgba(0, 0, 0, .18);--color-promotion-menu-bg: rgba(242, 219, 183, .84);--color-promotion-menu-border: rgba(183, 137, 100, .72);--color-promotion-option-bg: rgba(255, 255, 255, .04);--color-promotion-option-border: rgba(120, 88, 60, .18);--color-promotion-option-hover-bg: rgba(255, 247, 234, .22);--color-promotion-option-active-bg: rgba(232, 205, 164, .3);--color-alert-bg: rgba(72, 41, 39, .9);--color-alert-border: rgba(157, 28, 28, .22);--color-alert-text: #fff1eb;--color-history-preview-board-bg: rgba(0, 0, 0, .06);--color-marker-wrong-bg: #d97777;--color-marker-correct-bg: #79b282;--color-marker-border: rgba(255, 255, 255, .92);--color-history-active-ring: rgba(18, 18, 18, .9);--color-toggle-bg: #f1f3f6;--color-toggle-border: #b8bec8;--color-toggle-text: #1a2330;--color-toggle-on-text: #2b2218;--color-toggle-focus: #b78964;--color-toggle-track: #a8afbb;--color-toggle-track-border: #949ca8;--color-toggle-on-bg: #f2dbb7;--color-toggle-on-border: #b78964;--color-toggle-on-track: #b78964;--color-toggle-on-track-border: #9f734f;--color-autoplay-chip-off-bg: #f2dbb7;--color-autoplay-chip-off-border: #b78964;--color-autoplay-chip-off-text: #2b2218;--color-autoplay-chip-off-track: #b78964;--color-autoplay-chip-off-track-border: #9f734f;--color-autoplay-chip-on-bg: #f2dbb7;--color-autoplay-chip-on-border: #b78964;--color-autoplay-chip-on-text: #2b2218;--color-autoplay-chip-on-track: #b78964;--color-autoplay-chip-on-track-border: #9f734f;--color-chip-on-bg: #f2dbb7;--color-chip-on-border: #b78964;--color-chip-on-text: #2b2218;--color-chip-off-bg: #d7c4a3;--color-chip-off-border: #b79a6f;--color-chip-off-text: #463524;--color-history-correct-bg: #b9d9a9;--color-history-correct-border: #9fc48e;--color-history-correct-text: #243520;--color-history-half-bg: #e8d8a7;--color-history-half-border: #d6c28f;--color-history-half-text: #3f3425;--color-history-orange-bg: #e9c3a1;--color-history-orange-border: #d9ae89;--color-history-orange-text: #4a3020;--color-history-incorrect-bg: #e3aaa7;--color-history-incorrect-border: #d18e8a;--color-history-incorrect-text: #4a2322;--color-history-gray-bg: #c8c5bf;--color-history-gray-border: #b2aea6;--color-history-gray-text: #383632;--color-history-autoplay-blue-bg: #c7d3dd;--color-history-autoplay-blue-border: #b0c0cc;--color-history-autoplay-blue-text: #31404f;--color-history-autoplay-bg: #c7d3dd;--color-history-autoplay-border: #b0c0cc;--color-history-autoplay-text: #31404f;--color-history-current-bg: #d1c7dd;--color-history-current-border: #bbb0cb;--color-history-current-text: #332847;--color-chrome-bg: #1b1d22;--color-chrome-border: rgba(255, 255, 255, .1);--color-chrome-text: #f6f8fb;--color-chrome-muted: rgba(219, 225, 232, .82);--color-chrome-accent: #4ab66f;--board-highlight-last-move: rgba(236, 218, 96, .5);--board-highlight-last-move-edge: rgba(132, 103, 34, .16);--board-highlight-selected: rgba(112, 153, 78, .48);--board-highlight-selected-edge: rgba(48, 88, 30, .28);--board-highlight-move-dot: rgba(96, 136, 67, .72);--board-highlight-move-dot-ring: rgba(58, 93, 36, .34);--board-highlight-move-ring: rgba(86, 128, 54, .74);--board-highlight-move-ring-shadow: rgba(58, 93, 36, .28);--board-highlight-move-hover-fill: rgba(126, 165, 91, .14);--board-highlight-premove: rgba(87, 111, 163, .38);--board-highlight-premove-edge: rgba(44, 64, 107, .18);--board-highlight-premove-dot: rgba(70, 89, 134, .72);--board-highlight-premove-ring: rgba(70, 89, 134, .74);--board-highlight-premove-dot-ring: rgba(44, 64, 107, .34);--board-highlight-premove-ring-shadow: rgba(44, 64, 107, .28);--board-highlight-premove-hover-fill: rgba(87, 111, 163, .14);--board-highlight-check-core: rgba(231, 78, 78, .96);--board-highlight-check-glow: rgba(186, 26, 26, .82);--board-highlight-check-fill: rgba(214, 54, 54, .22)}:root[data-theme=dark]{--color-text: #ededed;--color-bg: #151311;--color-bg-grad-top: #28231f;--color-bg-grad-bottom: #12100e;--color-bg-glow: rgba(200, 200, 200, .06);--color-panel-bg: rgba(34, 34, 34, .36);--color-panel-border: rgba(255, 255, 255, .12);--color-panel-shadow: rgba(0, 0, 0, .4);--color-meta: #c6c6c6;--color-status: #f3f3f3;--color-correct: #f2dbb7;--color-error: #f0b7b7;--color-board-shadow: rgba(0, 0, 0, .4);--board-glass-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8' shape-rendering='crispEdges'%3E%3Cdefs%3E%3Cpattern id='p' width='2' height='2' patternUnits='userSpaceOnUse'%3E%3Crect width='2' height='2' fill='%23b78964' fill-opacity='0.5'/%3E%3Crect width='1' height='1' fill='%23f2dbb7' fill-opacity='0.5'/%3E%3Crect x='1' y='1' width='1' height='1' fill='%23f2dbb7' fill-opacity='0.5'/%3E%3C/pattern%3E%3C/defs%3E%3Crect width='8' height='8' fill='url(%23p)'/%3E%3C/svg%3E");--color-eval-depth: #c2c2c2;--color-eval-bar-border: #eee;--color-eval-bar-bg: #111;--color-eval-fill-bg: #f8f8f8;--color-input-bg: rgba(32, 30, 28, .92);--color-input-border: rgba(223, 213, 201, .16);--color-input-text: #f2ede6;--color-input-placeholder: #aca49a;--color-button-bg: rgba(143, 110, 78, .94);--color-button-bg-hover: rgba(156, 121, 88, .96);--color-button-border: rgba(229, 192, 155, .38);--color-button-text: #fbf5ee;--color-button-secondary-bg: rgba(53, 44, 37, .94);--color-button-secondary-bg-hover: rgba(63, 52, 44, .96);--color-button-secondary-border: rgba(219, 188, 157, .18);--color-button-disabled-bg: rgba(67, 57, 50, .78);--color-button-disabled-border: rgba(196, 165, 136, .12);--color-button-disabled-text: rgba(238, 229, 219, .44);--color-control-highlight: rgba(255, 255, 255, .1);--color-control-highlight-strong: rgba(255, 255, 255, .14);--color-control-highlight-soft: rgba(255, 255, 255, .08);--color-control-shadow-soft: rgba(0, 0, 0, .16);--color-control-shadow-hover: rgba(0, 0, 0, .24);--color-control-shadow-active: rgba(0, 0, 0, .18);--color-control-thumb-bg: #f3e8db;--color-control-thumb-shadow: rgba(0, 0, 0, .28);--color-range-track-bg: rgba(215, 182, 151, .16);--color-range-track-border: rgba(227, 197, 168, .22);--color-range-thumb-bg: #d8b18a;--color-range-thumb-border: rgba(248, 220, 189, .36);--color-range-thumb-shadow: rgba(0, 0, 0, .26);--color-promotion-menu-bg: rgba(120, 110, 96, .64);--color-promotion-menu-border: rgba(236, 225, 209, .2);--color-promotion-option-bg: rgba(255, 255, 255, .02);--color-promotion-option-border: rgba(255, 245, 228, .12);--color-promotion-option-hover-bg: rgba(255, 244, 224, .12);--color-promotion-option-active-bg: rgba(255, 240, 220, .08);--color-alert-bg: rgba(63, 42, 42, .9);--color-alert-border: rgba(240, 183, 183, .16);--color-alert-text: #ffeae5;--color-history-preview-board-bg: rgba(255, 255, 255, .04);--color-marker-wrong-bg: #c98686;--color-marker-correct-bg: #7aa188;--color-marker-border: rgba(245, 239, 231, .88);--color-history-active-ring: rgba(255, 255, 255, .9);--color-toggle-bg: rgba(56, 46, 39, .94);--color-toggle-border: rgba(219, 189, 159, .18);--color-toggle-text: #f2e9de;--color-toggle-on-text: #fff7f0;--color-toggle-focus: #ddb588;--color-toggle-track: rgba(233, 214, 194, .2);--color-toggle-track-border: rgba(233, 214, 194, .24);--color-toggle-on-bg: rgba(138, 107, 78, .94);--color-toggle-on-border: rgba(235, 202, 170, .34);--color-toggle-on-track: #d3ad84;--color-toggle-on-track-border: #bc946c;--color-autoplay-chip-off-bg: rgba(56, 46, 39, .94);--color-autoplay-chip-off-border: rgba(219, 189, 159, .18);--color-autoplay-chip-off-text: #f2e9de;--color-autoplay-chip-off-track: rgba(233, 214, 194, .2);--color-autoplay-chip-off-track-border: rgba(233, 214, 194, .24);--color-autoplay-chip-on-bg: rgba(138, 107, 78, .94);--color-autoplay-chip-on-border: rgba(235, 202, 170, .34);--color-autoplay-chip-on-text: #fff7f0;--color-autoplay-chip-on-track: #d3ad84;--color-autoplay-chip-on-track-border: #bc946c;--color-chip-on-bg: rgba(138, 107, 78, .94);--color-chip-on-border: rgba(235, 202, 170, .34);--color-chip-on-text: #fff7f0;--color-chip-off-bg: rgba(56, 46, 39, .94);--color-chip-off-border: rgba(219, 189, 159, .18);--color-chip-off-text: #f2e9de;--color-history-correct-bg: #7fa36f;--color-history-correct-border: #95b885;--color-history-correct-text: #f4f8ef;--color-history-half-bg: #bca16d;--color-history-half-border: #d0b680;--color-history-half-text: #fff8e8;--color-history-orange-bg: #be8b67;--color-history-orange-border: #d2a07c;--color-history-orange-text: #fff5ed;--color-history-incorrect-bg: #bc7471;--color-history-incorrect-border: #d48c89;--color-history-incorrect-text: #fff1f1;--color-history-gray-bg: #8b8985;--color-history-gray-border: #a29f9a;--color-history-gray-text: #f5f5f4;--color-history-autoplay-blue-bg: #718191;--color-history-autoplay-blue-border: #8797a7;--color-history-autoplay-blue-text: #f2f6fb;--color-history-autoplay-bg: #718191;--color-history-autoplay-border: #8797a7;--color-history-autoplay-text: #f2f6fb;--color-history-current-bg: #7f748f;--color-history-current-border: #978ba8;--color-history-current-text: #f4eff8;--board-highlight-last-move: rgba(223, 208, 96, .5);--board-highlight-last-move-edge: rgba(255, 236, 154, .16);--board-highlight-selected: rgba(112, 153, 78, .48);--board-highlight-selected-edge: rgba(48, 88, 30, .28);--board-highlight-move-dot: rgba(96, 136, 67, .72);--board-highlight-move-dot-ring: rgba(58, 93, 36, .34);--board-highlight-move-ring: rgba(86, 128, 54, .74);--board-highlight-move-ring-shadow: rgba(58, 93, 36, .28);--board-highlight-move-hover-fill: rgba(126, 165, 91, .14);--board-highlight-premove: rgba(87, 111, 163, .38);--board-highlight-premove-edge: rgba(44, 64, 107, .18);--board-highlight-premove-dot: rgba(70, 89, 134, .72);--board-highlight-premove-ring: rgba(70, 89, 134, .74);--board-highlight-premove-dot-ring: rgba(44, 64, 107, .34);--board-highlight-premove-ring-shadow: rgba(44, 64, 107, .28);--board-highlight-premove-hover-fill: rgba(87, 111, 163, .14);--board-highlight-check-core: rgba(240, 104, 104, .94);--board-highlight-check-glow: rgba(215, 45, 45, .78);--board-highlight-check-fill: rgba(221, 63, 63, .2)}html,body{margin:0;min-height:100vh;color:var(--color-text);background:transparent;transition:color .18s ease}html{background-color:var(--background-fill-color)}body{overflow:hidden;position:relative;isolation:isolate;background-color:var(--background-fill-color)}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background-color:var(--background-fill-color);background-image:linear-gradient(180deg,var(--background-fill-grad-top) 0%,var(--background-fill-grad-bottom) 100%);background-repeat:no-repeat;background-size:cover;transition:background-color .18s ease,background-image .18s ease;transform:translateZ(0)}.app-shell{--layout-side-width: 720px;--layout-gap: 2rem;--layout-eval-width: 20px;--layout-eval-gap: var(--layout-gap);--zen-controls-height: 0px;--side-panel-width: calc(var(--board-size) * .5);--frame-height: calc(100dvh - var(--chrome-offset) - (var(--page-vertical-space) * 2));--board-coordinate-size-source: var(--board-size);--board-coordinate-font-size-min: .54rem;--board-coordinate-font-size-max: .72rem;--board-coordinate-file-pad-inline-max: .26rem;--board-coordinate-file-pad-block-max: .18rem;--board-coordinate-rank-pad-inline-max: .24rem;--board-coordinate-rank-pad-block-max: .16rem;--board-size: max( 0px, min( var(--frame-height), calc( ( 100vw - var(--layout-gap) - 2rem - var(--layout-eval-width) - var(--layout-eval-gap) ) / 2 ) ) );height:100dvh;display:flex;flex-direction:column;overflow:hidden;position:relative;overflow-anchor:none}.app-shell,.app-shell *{user-select:none;-webkit-user-select:none}.app-shell input,.app-shell textarea,.app-shell [contenteditable=true],.app-shell [contenteditable=plaintext-only]{user-select:text;-webkit-user-select:text}.app-shell.is-zen-mode{--chrome-offset: 0rem;--page-vertical-space: 1rem;--zen-controls-height: 13rem}.app-shell.is-zen-mode.has-eval{--board-size: max( 0px, min( calc(var(--frame-height) - var(--zen-controls-height)), calc(100vw - 2rem - var(--layout-eval-width) - var(--layout-eval-gap)) ) )}.app-shell.is-zen-mode.no-eval{--board-size: max( 0px, min(calc(var(--frame-height) - var(--zen-controls-height)), calc(100vw - 2rem) ) )}.app-shell.is-zen-mode.has-eval .board-stack{transform:translate(calc((var(--layout-eval-width) + var(--layout-eval-gap)) / -2))}.app-shell.animations-disabled *,.app-shell.animations-disabled *:before,.app-shell.animations-disabled *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.app-shell.animations-disabled .capture-rain-layer{display:none}.app-shell.animations-disabled button:hover:not(:disabled),.app-shell.animations-disabled button:active:not(:disabled),.app-shell.animations-disabled .history-dot:hover:not(:disabled),.app-shell.animations-disabled .history-dot:active:not(:disabled),.app-shell.animations-disabled .app-footer-link:hover{transform:none!important;filter:none!important;box-shadow:none!important}.capture-rain-layer{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none;z-index:0;transform:translateZ(0)}.capture-rain-piece{position:absolute;top:-16vh;left:var(--capture-x);width:var(--capture-size);height:var(--capture-size);aspect-ratio:1 / 1;opacity:0;transform:translate3d(-50%,0,0);animation:capture-piece-fall var(--capture-fall-duration) linear forwards;will-change:transform,opacity;contain:paint;backface-visibility:hidden;transform-style:preserve-3d}.capture-rain-piece-spin{display:block;width:100%;height:100%;animation:capture-piece-spin var(--capture-fall-duration) linear forwards;transform-origin:center;will-change:transform;transform:translateZ(0);backface-visibility:hidden;-webkit-user-drag:none}.capture-rain-piece-skin{position:relative;width:100%;height:100%}.capture-rain-piece-skin piece.capture-rain-piece-spin{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;background-size:contain;background-repeat:no-repeat;background-position:center}.zen-exit-hint{position:absolute;left:50%;bottom:1.2rem;transform:translate(-50%);z-index:60;display:inline;margin:0;min-width:0;padding:0;border:0;border-radius:0;background:transparent;color:var(--color-meta);font-size:.92rem;font-weight:500;font-family:inherit;line-height:1.2;letter-spacing:.01em;text-align:center;box-shadow:none;-moz-appearance:none;appearance:none;-webkit-appearance:none;cursor:pointer;pointer-events:auto}.zen-exit-hint:hover{color:var(--color-status)}.zen-exit-hint:focus-visible{outline:2px solid var(--color-toggle-focus);outline-offset:6px}.app-header{padding:0 1rem;background:transparent;overflow:visible;position:relative;z-index:50;transform-origin:top center;transition:max-height .28s ease,padding .28s ease,opacity .22s ease,transform .28s ease;max-height:6rem;opacity:1;transform:scaleY(1)}.app-header-inner{width:min(1480px,100%);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1rem 0;position:relative;overflow:visible}.app-brand{display:inline-block;color:var(--color-text);text-decoration:none;font-size:clamp(1.45rem,1.35rem + .45vw,1.85rem);font-weight:800;letter-spacing:-.02em;line-height:1}.app-brand-lockup{display:flex;flex-direction:column;gap:.2rem;min-width:0}.app-brand-meta{margin:0;color:var(--color-meta);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}.app-header-primary{display:flex;align-items:baseline;gap:1rem;min-width:0;flex:1 1 auto}.app-header-controls{display:flex;align-items:center;gap:.5rem;margin-left:auto;flex:0 0 auto}.app-header-settings{position:relative;min-width:0;margin-left:0;padding:0;border:0;border-radius:0;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}.app-header-language{min-width:0}.app-header-settings .settings-summary{padding:0;color:var(--color-meta);white-space:nowrap}.app-header-settings:not([open]) .settings-summary{justify-content:flex-start;gap:.38rem}.app-header-settings[open] .settings-content{--settings-menu-inline-pad: .9rem;position:absolute;top:calc(100% + .65rem);right:0;width:min(420px,calc(100vw - 2rem));max-height:min(78dvh,calc(100dvh - 5rem));display:flex;flex-direction:column;padding:0 var(--settings-menu-inline-pad);border:1px solid var(--color-panel-border);border-radius:4px;background:var(--color-panel-bg);box-shadow:none;backdrop-filter:blur(20px) brightness(1.06);-webkit-backdrop-filter:blur(20px) brightness(1.06);z-index:30;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-gutter:stable;transform-origin:top right;animation:settings-dropdown-in .18s cubic-bezier(.22,1,.36,1)}.app-header-settings .settings-content{margin-top:0}.app-header-settings[open] .settings-content-body{min-height:0;display:block;overflow:visible}.app-header-settings[open] .settings-content-body>.settings-section+.settings-section{margin-top:.95rem}.app-header-settings[open] .settings-content-body:before{content:"";display:block;height:var(--settings-menu-inline-pad, .9rem)}.app-header-settings[open] .settings-content-body:after{content:"";display:block;height:var(--settings-menu-inline-pad, .9rem)}.layout{width:100%;margin:0;padding:var(--page-vertical-space) 1rem;box-sizing:border-box;flex:1 1 auto;min-height:0;overflow:hidden;position:relative;z-index:1}.split-layout{display:flex;justify-content:center;gap:var(--layout-gap);align-items:center;min-height:0;height:100%;overflow:hidden}.board-column{display:flex;align-items:center;justify-content:center;min-width:0}.board-stack{display:grid;gap:.8rem;width:calc(var(--board-size) + var(--layout-eval-width) + var(--layout-eval-gap))}.board-stack.no-eval{width:var(--board-size)}.zen-controls{width:var(--board-size);margin-left:calc(var(--layout-eval-width) + var(--layout-eval-gap));display:grid;gap:.75rem}.zen-controls.no-eval{margin-left:0}.board-stage{display:flex;gap:var(--layout-eval-gap);height:var(--board-size);align-items:stretch}.board-shell{width:var(--board-size);height:var(--board-size);aspect-ratio:1/1;flex:0 0 auto;display:grid;place-items:center}.board-wrap{width:100%;height:100%;margin:0 auto;position:relative;aspect-ratio:1/1;border-radius:8px;max-width:100%;max-height:100%}.app-shell.is-app-build,.app-shell.is-app-build *{-webkit-tap-highlight-color:transparent}.app-shell.is-app-build .board-shell,.app-shell.is-app-build .board-wrap,.app-shell.is-app-build .board,.app-shell.is-app-build .board cg-board{touch-action:none;overscroll-behavior:contain}.board-wrap.glass-enabled{background:transparent;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.side-column{width:var(--side-panel-width);height:var(--board-size);min-width:var(--side-panel-width);min-height:var(--board-size);max-width:var(--side-panel-width);max-height:var(--board-size);box-sizing:border-box;display:flex;flex-direction:column;gap:0;justify-content:flex-start;overflow:hidden;padding-right:0}.side-column>.rail-block{flex:1 1 auto;min-width:0;min-height:0}.desktop-side-panel{height:100%;min-height:0;max-height:100%;box-sizing:border-box;display:flex;flex-direction:column;gap:.88rem;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-gutter:stable}.desktop-side-panel-section{min-width:0;flex:0 0 auto}.desktop-side-panel-section+.desktop-side-panel-section{padding-top:.88rem;border-top:1px solid color-mix(in srgb,var(--color-panel-border) 82%,transparent)}.desktop-side-panel-section+.desktop-side-panel-section.desktop-controls-section{padding-top:.46rem;border-top:0}.desktop-side-panel .rail-id{font-size:.56rem;line-height:1.25;letter-spacing:.03em;opacity:.58}.app-footer{padding:0 1rem;background:transparent;overflow:clip;transform-origin:bottom center;transition:max-height .28s ease,padding .28s ease,opacity .22s ease,transform .28s ease;max-height:6rem;opacity:1;transform:scaleY(1);position:relative;z-index:1}.app-footer:before{content:"";display:block;width:min(calc(var(--board-size) + var(--layout-eval-width) + var(--layout-eval-gap) + var(--side-panel-width) + var(--layout-gap)),100%);margin:0 auto;border-top:1px solid var(--color-panel-border)}.app-footer-inner{width:min(1480px,100%);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:1.2rem;padding:1.2rem 0;box-sizing:border-box}.app-footer-links{display:flex;align-items:center;flex-wrap:wrap;gap:1rem}.app-footer-link{color:var(--color-meta);font-size:.88rem;text-decoration:none;transition:color .16s ease}.app-footer-license{margin:0 0 0 auto;color:var(--color-meta);font-size:.9rem;font-weight:500;line-height:1.45;letter-spacing:.01em;text-align:right}.app-shell.is-zen-mode .app-header,.app-shell.is-zen-mode .app-footer{max-height:0;padding-top:0;padding-bottom:0;opacity:0;transform:scaleY(.72);overflow:clip}.app-shell.is-zen-mode .app-header-inner,.app-shell.is-zen-mode .app-footer-inner{pointer-events:none}#board,#history,#explorer,#settings{scroll-margin-top:6rem}.rail-block{box-sizing:border-box;border:1px solid var(--color-panel-border);border-radius:4px;padding:.72rem;background:var(--color-panel-bg);box-shadow:none;backdrop-filter:blur(18px) saturate(118%) brightness(1.06);-webkit-backdrop-filter:blur(18px) saturate(118%) brightness(1.06);transition:transform .22s cubic-bezier(.22,1,.36,1),box-shadow .22s cubic-bezier(.22,1,.36,1),border-color .22s ease,background-color .22s ease}.panel{background:var(--color-panel-bg);border:1px solid var(--color-panel-border);border-radius:4px;padding:1rem;box-shadow:none;backdrop-filter:blur(20px) saturate(118%) brightness(1.06);-webkit-backdrop-filter:blur(20px) saturate(118%) brightness(1.06);transition:transform .22s cubic-bezier(.22,1,.36,1),box-shadow .22s cubic-bezier(.22,1,.36,1),border-color .22s ease,background-color .22s ease}.loading-minimal{min-height:100vh;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:.6rem;color:var(--color-text);font-size:1.05rem}.loading-piece-shell{position:relative;width:7.5rem;height:7.5rem;display:grid;place-items:center}.loading-piece-glow{position:absolute;top:12%;right:12%;bottom:12%;left:12%;border-radius:999px;background:radial-gradient(circle,color-mix(in srgb,var(--color-button-bg) 34%,transparent) 0%,transparent 70%);filter:blur(10px);opacity:.9;animation:loading-piece-glow 1.9s ease-in-out infinite}.loading-piece{position:relative;width:4.8rem;height:4.8rem;display:block;transform-origin:center bottom;animation:loading-piece-float 1.9s cubic-bezier(.22,1,.36,1) infinite;will-change:transform;-webkit-user-drag:none}.loading-minimal h1{margin:0;font-size:2rem;line-height:1.1}.loading-layout{min-height:calc(100vh - (var(--page-vertical-space) * 2));display:flex;align-items:center;justify-content:center}.loading-panel{width:min(780px,94vw);display:grid;gap:1rem;grid-template-columns:minmax(220px,280px) minmax(0,1fr);align-items:center;padding:1.1rem}.loading-board{width:100%;aspect-ratio:1 / 1;border-radius:8px;border:1px solid var(--color-panel-border);background-color:#f2dbb7;background-image:linear-gradient(45deg,rgba(0,0,0,.08) 25%,transparent 25%,transparent 75%,rgba(0,0,0,.08) 75%,rgba(0,0,0,.08)),linear-gradient(45deg,rgba(0,0,0,.08) 25%,transparent 25%,transparent 75%,rgba(0,0,0,.08) 75%,rgba(0,0,0,.08));background-size:25% 25%;background-position:0 0,12.5% 12.5%;position:relative;overflow:hidden}.loading-board:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(100deg,transparent 15%,rgba(255,255,255,.28) 45%,transparent 70%);transform:translate(-110%);animation:loading-sweep 1.5s ease-in-out infinite}.loading-copy h1{margin:0;font-size:2rem;line-height:1.15}.loading-status{margin:.65rem 0 0;font-size:1.05rem;font-weight:700}.loading-subtitle{margin:.35rem 0 0;color:var(--color-meta);font-size:.95rem}@keyframes loading-sweep{to{transform:translate(110%)}}@keyframes loading-piece-float{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-8px) scale(1.025)}}@keyframes loading-piece-glow{0%,to{opacity:.55;transform:scale(.96)}50%{opacity:.95;transform:scale(1.05)}}.header{min-height:0}.header h1{margin:0;font-size:2.05rem;letter-spacing:.01em}.rail-status h1{font-size:1.78rem;text-align:center}.rail-status{--rail-status-scale: 1.5;display:grid;gap:0}.rail-status-meta{display:grid;justify-items:start;gap:calc(.16rem * var(--rail-status-scale));text-align:left}.rail-status .subtitle{font-size:calc(1.34rem * var(--rail-status-scale))}.rail-status .meta,.rail-status .status,.rail-status .correct{font-size:calc(.93rem * var(--rail-status-scale))}.subtitle,.meta,.status{margin:.3rem 0}.subtitle,.meta{color:var(--color-meta);overflow-wrap:anywhere}.status{color:var(--color-status);font-weight:600}.rail-title{margin:0;color:var(--color-status);font-size:calc(.94rem * var(--rail-status-scale));font-weight:600;line-height:1.25;letter-spacing:0}.rail-title.is-untitled{font-style:italic;opacity:.84}.rail-id{margin:0;font-size:calc(.72rem * var(--rail-status-scale));line-height:1.4;opacity:.72}.rail-status-main{display:grid;justify-items:center;gap:calc(.45rem * var(--rail-status-scale));margin-top:calc(1.35rem * var(--rail-status-scale));text-align:center}.rail-engine{margin:0;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:calc(.24rem * var(--rail-status-scale));max-width:100%;font-size:calc(.82rem * var(--rail-status-scale));line-height:1.4;color:color-mix(in srgb,var(--color-meta) 86%,transparent)}.rail-engine-separator{opacity:.58}.turn-indicator{margin:0;color:var(--color-status);font-weight:800;font-size:1.22rem;line-height:1.15}.turn-kicker{margin:0;color:var(--color-meta);font-size:calc(.78rem * var(--rail-status-scale));font-weight:800;letter-spacing:.12em;text-transform:uppercase}.rail-status .turn-indicator{font-size:calc(1.16rem * var(--rail-status-scale));letter-spacing:-.02em;line-height:1.22;max-width:calc(20rem * var(--rail-status-scale))}.correct{color:var(--color-correct);margin:.25rem 0;font-weight:700}.rail-status .status-line{display:inline-flex;align-items:center;justify-content:center;margin:calc(.15rem * var(--rail-status-scale)) 0 0;padding:calc(.34rem * var(--rail-status-scale)) calc(.72rem * var(--rail-status-scale));min-height:calc(1.15rem * var(--rail-status-scale));max-width:100%;border:1px solid color-mix(in srgb,var(--color-button-border) 42%,transparent);border-radius:999px;background:color-mix(in srgb,var(--color-button-bg) 26%,transparent);font-size:calc(.82rem * var(--rail-status-scale));font-weight:700;line-height:1.2;text-align:center}.rail-status .correct-line{margin:0;min-height:calc(1rem * var(--rail-status-scale));font-size:calc(.84rem * var(--rail-status-scale));line-height:1.25;text-align:center}.rail-status .status-line.is-empty,.rail-status .correct-line.is-empty{border-color:transparent;background:transparent;opacity:0}.expected-line.is-empty{opacity:0}.rail-review{margin:0;min-height:calc(1rem * var(--rail-status-scale));opacity:.9;font-size:calc(.8rem * var(--rail-status-scale));line-height:1.25;transition:opacity .16s ease}.rail-review.is-empty{opacity:0}.error{color:var(--color-error);margin-top:.4rem}.global-error-toast{position:fixed;left:50%;bottom:max(14px,env(safe-area-inset-bottom));transform:translate(-50%);margin:0;padding:.6rem .9rem;max-width:min(92vw,760px);border-radius:8px;border:1px solid var(--color-alert-border);background:color-mix(in srgb,var(--color-alert-bg) 88%,var(--color-panel-bg));color:var(--color-alert-text);text-align:center;font-size:.92rem;line-height:1.3;box-shadow:0 12px 28px color-mix(in srgb,var(--color-panel-shadow) 80%,transparent),0 1px 0 var(--color-control-highlight-soft) inset;backdrop-filter:blur(18px) saturate(108%);-webkit-backdrop-filter:blur(18px) saturate(108%);z-index:2000;pointer-events:none}@keyframes settings-dropdown-in{0%{opacity:0;transform:translateY(-10px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes capture-piece-fall{0%{opacity:0;transform:translate3d(-50%,-6vh,0)}10%{opacity:var(--capture-opacity)}to{opacity:.16;transform:translate3d(calc(-50% + var(--capture-drift-x)),120dvh,0)}}@keyframes capture-piece-spin{0%{transform:rotate(var(--capture-spin-from))}to{transform:rotate(var(--capture-spin-to))}}.rail-status .status-line,.rail-status .correct-line,.rail-status .expected-line{min-height:calc(1.35rem * var(--rail-status-scale))}.board{width:100%;height:100%;aspect-ratio:1/1;position:relative;overflow:visible;border-radius:4px;box-shadow:0 10px 24px var(--color-board-shadow);box-sizing:content-box}.board:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:4px;border:1px solid rgba(255,255,255,.1);pointer-events:none;z-index:12}.board cg-container{width:100%!important;height:100%!important;overflow:visible}.board cg-board{background-color:#f2dbb7;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8' shape-rendering='crispEdges'%3E%3Cdefs%3E%3Cpattern id='p' width='2' height='2' patternUnits='userSpaceOnUse'%3E%3Crect width='2' height='2' fill='%23f2dbb7'/%3E%3Crect x='1' y='0' width='1' height='1' fill='%23b78964'/%3E%3Crect x='0' y='1' width='1' height='1' fill='%23b78964'/%3E%3C/pattern%3E%3C/defs%3E%3Crect width='8' height='8' fill='url(%23p)'/%3E%3C/svg%3E");background-size:100% 100%;background-repeat:no-repeat;border-radius:4px;filter:hue-rotate(var(--board-hue-rotate));transition:filter .18s ease}.board-wrap.glass-enabled .board cg-board{background-color:transparent;background-image:var(--board-glass-image);background-size:100% 100%;background-repeat:no-repeat}.board .cg-shapes,.board .cg-custom-svgs{clip-path:inset(0 round 4px);border-radius:4px}.board piece,.mini-preview-board piece{background-position:center;background-repeat:no-repeat;background-size:100% 100%;backface-visibility:hidden;-webkit-backface-visibility:hidden}.board cg-board square{box-sizing:border-box;display:block;overflow:visible}.board cg-board square.last-move{background:var(--board-highlight-last-move);box-shadow:inset 0 0 0 1px var(--board-highlight-last-move-edge)}.board cg-board square.selected{background:var(--board-highlight-selected);box-shadow:inset 0 0 0 2px var(--board-highlight-selected-edge)}.board cg-board square.current-premove{background:var(--board-highlight-premove);box-shadow:inset 0 0 0 2px var(--board-highlight-premove-edge)}.board cg-board square.check{background:radial-gradient(circle at 50% 52%,var(--board-highlight-check-core) 0 24%,var(--board-highlight-check-glow) 42%,transparent 74%),linear-gradient(var(--board-highlight-check-fill),var(--board-highlight-check-fill));box-shadow:inset 0 0 0 1px #7b121238}.board cg-board square.move-dest,.board cg-board square.premove-dest{background:none}.board cg-board square.move-dest:hover{background:var(--board-highlight-move-hover-fill)}.board cg-board square.premove-dest:hover{background:var(--board-highlight-premove-hover-fill)}.board cg-board square.move-dest:before,.board cg-board square.premove-dest:before{content:"";position:absolute;top:50%;left:50%;width:22%;height:22%;border-radius:999px;box-sizing:border-box;transform:translate(-50%,-50%);transition:width .1s ease,height .1s ease,background-color .1s ease,border-color .1s ease,box-shadow .1s ease}.board cg-board square.move-dest:before{background:var(--board-highlight-move-dot);box-shadow:0 0 0 1px var(--board-highlight-move-dot-ring)}.board cg-board square.premove-dest:before{background:var(--board-highlight-premove-dot);box-shadow:0 0 0 1px var(--board-highlight-premove-dot-ring)}.board cg-board square.oc.move-dest:before,.board cg-board square.oc.premove-dest:before{width:74%;height:74%;background:transparent}.board cg-board square.oc.move-dest:before{border:5px solid var(--board-highlight-move-ring);box-shadow:inset 0 0 0 1px var(--board-highlight-move-ring-shadow)}.board cg-board square.oc.premove-dest:before{border:5px solid var(--board-highlight-premove-ring);box-shadow:inset 0 0 0 1px var(--board-highlight-premove-ring-shadow)}.board cg-board square.move-dest:hover:before,.board cg-board square.premove-dest:hover:before{width:24%;height:24%}.board cg-board square.oc.move-dest:hover:before,.board cg-board square.oc.premove-dest:hover:before{width:76%;height:76%}.board-wrap.animations-disabled .board cg-board square.move-dest:before,.board-wrap.animations-disabled .board cg-board square.premove-dest:before{transition:none}.board-wrap.animations-disabled .board cg-board square.move-dest:hover:before,.board-wrap.animations-disabled .board cg-board square.premove-dest:hover:before{width:22%;height:22%}.board-wrap.animations-disabled .board cg-board square.oc.move-dest:hover:before,.board-wrap.animations-disabled .board cg-board square.oc.premove-dest:hover:before{width:74%;height:74%}.board-coordinates{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:13}.board-coordinate{position:absolute;width:12.5%;height:12.5%;display:flex;font-size:clamp(var(--board-coordinate-font-size-min),calc(var(--board-coordinate-size-source) / 34),var(--board-coordinate-font-size-max));font-weight:700;line-height:1;-webkit-user-select:none;user-select:none}.board-coordinate-file{align-items:flex-end;justify-content:flex-end;padding:0 clamp(.14rem,calc(var(--board-coordinate-size-source) / 150),var(--board-coordinate-file-pad-inline-max)) clamp(.1rem,calc(var(--board-coordinate-size-source) / 190),var(--board-coordinate-file-pad-block-max)) 0;box-sizing:border-box}.board-coordinate-rank{align-items:flex-start;justify-content:flex-start;padding:clamp(.1rem,calc(var(--board-coordinate-size-source) / 200),var(--board-coordinate-rank-pad-block-max)) 0 0 clamp(.14rem,calc(var(--board-coordinate-size-source) / 160),var(--board-coordinate-rank-pad-inline-max));box-sizing:border-box}.board-coordinate.on-light{color:#5f4126d6}.board-coordinate.on-dark{color:#f5e4c6db}.board piece.dragging{z-index:30!important}.wrong-move-marker-anchor{position:absolute;width:12.5%;height:12.5%;pointer-events:none;z-index:18}.wrong-move-marker{position:absolute;top:-12%;right:-12%;width:46%;aspect-ratio:1 / 1;border-radius:999px;background:var(--color-marker-wrong-bg);border:2px solid var(--color-marker-border);box-shadow:0 3px 7px color-mix(in srgb,var(--color-panel-shadow) 88%,transparent);opacity:1;transform:scale(1);animation:wrong-move-pop .32s ease-out}.wrong-move-marker:before,.wrong-move-marker:after{content:"";position:absolute;left:22%;top:44%;width:56%;height:12%;background:var(--color-marker-border);border-radius:999px}.wrong-move-marker:before{transform:rotate(45deg)}.wrong-move-marker:after{transform:rotate(-45deg)}@keyframes wrong-move-pop{0%{transform:scale(.25);opacity:0}60%{transform:scale(1.08);opacity:1}to{transform:scale(1);opacity:1}}.line-complete-marker-anchor{position:absolute;width:12.5%;height:12.5%;pointer-events:none;z-index:18}.line-complete-marker{position:absolute;top:-12%;right:-12%;width:46%;aspect-ratio:1 / 1;border-radius:999px;background:var(--color-marker-correct-bg);border:2px solid var(--color-marker-border);box-shadow:0 3px 7px color-mix(in srgb,var(--color-panel-shadow) 88%,transparent);opacity:1;transform:scale(1);animation:line-complete-pop .32s ease-out}.board-wrap.animations-disabled .wrong-move-marker,.board-wrap.animations-disabled .line-complete-marker{animation:none}.line-complete-marker:before{content:"";position:absolute;top:17%;right:17%;bottom:17%;left:17%;background:center / contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 13l4 4L19 7' fill='none' stroke='%23fff' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}@keyframes line-complete-pop{0%{transform:scale(.25);opacity:0}60%{transform:scale(1.08);opacity:1}to{transform:scale(1);opacity:1}}.promotion-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:19;border:0;padding:0;margin:0;background:transparent}.promotion-menu{position:absolute;z-index:20;width:12.5%;height:50%;display:flex;gap:0;padding:min(.08rem,.24vw);overflow:hidden;border-radius:0;border:1px solid var(--color-promotion-menu-border);background:var(--color-promotion-menu-bg);box-shadow:0 10px 24px var(--color-control-shadow-hover);backdrop-filter:blur(10px) saturate(108%);-webkit-backdrop-filter:blur(10px) saturate(108%);box-sizing:border-box;transform-origin:center;animation:settings-dropdown-in .18s cubic-bezier(.22,1,.36,1)}.promotion-menu.from-top{flex-direction:column}.promotion-menu.from-bottom{flex-direction:column-reverse}.promotion-option{flex:1 1 25%;width:100%;min-height:0;border:0;border-top:1px solid var(--color-promotion-option-border);border-radius:0;padding:0;margin:0;background:var(--color-promotion-option-bg);display:flex;align-items:center;justify-content:center;box-shadow:none;position:relative;transition:border-color .16s ease,background-color .16s ease,transform .16s ease,box-shadow .16s ease,filter .16s ease}.promotion-menu.from-top .promotion-option:first-child,.promotion-menu.from-bottom .promotion-option:last-child{border-top:0}.promotion-option:hover{background:var(--color-promotion-option-hover-bg);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-button-border) 46%,transparent);transform:scale(1.018);filter:saturate(1.04)}.promotion-option:active{background:var(--color-promotion-option-active-bg);transform:scale(.988)}.promotion-option:focus-visible{outline:2px solid var(--color-toggle-focus);outline-offset:2px}.promotion-piece-swatch{width:76%;height:76%;display:block;position:relative;pointer-events:none;-webkit-user-drag:none;filter:drop-shadow(0 1px 1px rgba(0,0,0,.14));transition:transform .16s ease,filter .16s ease}.promotion-option:hover .promotion-piece-swatch{transform:scale(1.06);filter:drop-shadow(0 3px 6px rgba(0,0,0,.18))}.promotion-option:active .promotion-piece-swatch{transform:scale(1.01)}.promotion-piece-swatch piece{position:relative;top:0;left:0;width:100%;height:100%;display:block;background-position:center;background-repeat:no-repeat;background-size:100% 100%}.eval-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;height:var(--board-size);width:var(--layout-eval-width);flex:0 0 var(--layout-eval-width);position:relative}.eval-bar{width:var(--layout-eval-width);height:100%;border:1px solid var(--color-eval-bar-border);border-radius:4px;background:var(--color-eval-bar-bg);position:relative;overflow:hidden}.eval-fill{position:absolute;bottom:0;left:0;right:0;height:var(--eval-fill, 50%);background:var(--color-eval-fill-bg);z-index:1;transition:height .9s cubic-bezier(.22,1,.36,1) .12s,width .9s cubic-bezier(.22,1,.36,1) .12s}.eval-guides{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none}.eval-guide-line{position:absolute;left:0;right:0;top:calc(var(--guide-top) - .5px);height:1px;background:#868686;mix-blend-mode:difference}.eval-guide-line.is-even{height:2px;top:calc(var(--guide-top) - 1px);background:#b7b7b7}.history-strip{display:grid;gap:.72rem}.history-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.history-title{margin:0;font-size:.96rem;font-weight:700}.history-meta{margin:0;font-size:.78rem;font-weight:600;color:var(--color-meta);opacity:.8}.history-list{display:flex;flex-flow:row wrap;gap:.5rem;max-height:none;overflow:visible;align-content:flex-start}.history-dot-slot{flex:0 0 auto}.history-dot{flex:0 0 2.05rem;width:2.05rem;height:2.05rem;border-radius:10px;font-size:.84rem;font-weight:700;line-height:1;font-family:IBM Plex Sans,"Noto Sans Symbols 2",Segoe UI Symbol,sans-serif;display:flex;justify-content:center;align-items:center;border:1px solid transparent;box-shadow:none;color:#fff;opacity:.96;transition:transform .2s cubic-bezier(.22,1,.36,1),filter .2s ease,border-color .2s ease,opacity .2s ease,box-shadow .2s cubic-bezier(.22,1,.36,1);will-change:transform,box-shadow}button.history-dot{padding:0}.history-dot.tone-green{background:var(--color-history-correct-bg);border-color:var(--color-history-correct-border);color:var(--color-history-correct-text)}.history-dot.tone-yellow{background:var(--color-history-half-bg);border-color:var(--color-history-half-border);color:var(--color-history-half-text)}.history-dot.tone-orange{background:var(--color-history-orange-bg);border-color:var(--color-history-orange-border);color:var(--color-history-orange-text)}.history-dot.tone-red{background:var(--color-history-incorrect-bg);border-color:var(--color-history-incorrect-border);color:var(--color-history-incorrect-text)}.history-dot.tone-gray{background:var(--color-history-gray-bg);border-color:var(--color-history-gray-border);color:var(--color-history-gray-text)}.history-dot.tone-blue{background:var(--color-history-autoplay-blue-bg);border-color:var(--color-history-autoplay-blue-border);color:var(--color-history-autoplay-blue-text)}.history-dot.current{box-shadow:0 0 0 2px var(--color-history-current-border),0 0 0 4px color-mix(in srgb,var(--color-history-current-bg) 55%,transparent);opacity:1}.history-dot:hover:not(:disabled){filter:brightness(1.05) saturate(.98);opacity:1;transform:translateY(-2px) scale(1.04)}.history-dot:disabled{cursor:default}button.history-dot:focus-visible{outline:2px solid var(--color-history-active-ring);outline-offset:2px}button.history-dot:active:not(:disabled){transform:translateY(1px) scale(.95)}.history-strip.is-muted .history-dot{opacity:.64;filter:saturate(.72)}.history-strip.is-muted .history-dot.current{opacity:.82}.history-preview-card{position:fixed;z-index:120;width:336px;padding:.7rem;border:1px solid var(--color-panel-border);border-radius:10px;background:color-mix(in srgb,var(--color-panel-bg) 88%,var(--color-bg) 12%);box-shadow:0 16px 34px color-mix(in srgb,var(--color-panel-shadow) 72%,transparent),0 1px 0 var(--color-control-highlight-soft) inset;backdrop-filter:blur(20px) saturate(1.04);-webkit-backdrop-filter:blur(20px) saturate(1.04);pointer-events:none;display:grid;gap:.65rem}.history-preview-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.6rem;min-width:0}.history-preview-state{font-size:.8rem;font-weight:800;min-width:0}.history-preview-id{font-size:.68rem;color:var(--color-meta);opacity:.8;min-width:0;overflow-wrap:anywhere;word-break:break-word;text-align:right}.history-preview-board-wrap{display:grid;place-items:center;border-radius:8px;overflow:hidden;background:var(--color-history-preview-board-bg);aspect-ratio:1 / 1}.history-preview-loading{display:grid;place-items:center;aspect-ratio:1 / 1;font-size:.76rem;font-weight:600;color:var(--color-meta)}.history-preview-meta{display:grid;gap:.18rem}.history-preview-title,.history-preview-time{margin:0}.history-preview-title{font-size:.82rem;font-weight:700}.history-preview-time{font-size:.72rem;color:var(--color-meta);opacity:.8}.history-preview-card.tone-green .history-preview-state{color:var(--color-history-correct-text)}.history-preview-card.tone-yellow .history-preview-state{color:var(--color-history-half-text)}.history-preview-card.tone-orange .history-preview-state{color:var(--color-history-orange-text)}.history-preview-card.tone-red .history-preview-state{color:var(--color-history-incorrect-text)}.history-preview-card.tone-gray .history-preview-state{color:var(--color-history-gray-text)}.history-preview-card.tone-blue .history-preview-state{color:var(--color-history-autoplay-blue-text)}.mini-preview-board-wrap{width:100%;height:100%;border-radius:10px}.mini-preview-board{box-shadow:none;border-radius:10px}.mini-preview-board:after{border-radius:10px}.mini-preview-board cg-board{border-radius:10px;filter:hue-rotate(var(--board-hue-rotate));transition:filter .18s ease}.mini-preview-board .cg-shapes,.mini-preview-board .cg-custom-svgs{clip-path:inset(0 round 10px);border-radius:10px}.rail-actions{display:grid;gap:.55rem}.rail-branch{margin:0}.toggle-chip-grid{display:grid;gap:.5rem}.settings-range-grid{display:grid;gap:.7rem;margin-top:.7rem}.settings-range-control{display:grid;gap:.42rem}.settings-range-head{display:flex;align-items:baseline;justify-content:space-between;gap:.8rem}.settings-range-label{font-size:.82rem;font-weight:700;color:var(--color-toggle-text)}.settings-range-value{font-size:.74rem;color:var(--color-meta);opacity:.9}.settings-range-slider{width:100%;margin:0;height:1.2rem;-moz-appearance:none;appearance:none;-webkit-appearance:none;background:transparent;accent-color:var(--color-button-border)}.settings-range-slider::-webkit-slider-runnable-track{height:.42rem;border-radius:999px;border:1px solid var(--color-range-track-border);background:var(--color-range-track-bg);box-shadow:0 1px 0 var(--color-control-highlight-soft) inset}.settings-range-slider::-webkit-slider-thumb{-webkit-appearance:none;width:1rem;height:1rem;margin-top:calc((.42rem - 1rem) / 2);border:1px solid var(--color-range-thumb-border);border-radius:50%;background:var(--color-range-thumb-bg);box-shadow:0 4px 12px var(--color-range-thumb-shadow),0 1px 0 var(--color-control-highlight) inset;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background-color .18s ease}.settings-range-slider::-moz-range-track{height:.42rem;border-radius:999px;border:1px solid var(--color-range-track-border);background:var(--color-range-track-bg);box-shadow:0 1px 0 var(--color-control-highlight-soft) inset}.settings-range-slider::-moz-range-thumb{width:1rem;height:1rem;border:1px solid var(--color-range-thumb-border);border-radius:50%;background:var(--color-range-thumb-bg);box-shadow:0 4px 12px var(--color-range-thumb-shadow),0 1px 0 var(--color-control-highlight) inset;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background-color .18s ease}.settings-range-slider:focus-visible{outline:none}.settings-range-slider:hover::-webkit-slider-thumb{transform:scale(1.05);box-shadow:0 8px 18px var(--color-range-thumb-shadow),0 1px 0 var(--color-control-highlight-strong) inset}.settings-range-slider:hover::-moz-range-thumb{transform:scale(1.05);box-shadow:0 8px 18px var(--color-range-thumb-shadow),0 1px 0 var(--color-control-highlight-strong) inset}.settings-range-slider:active::-webkit-slider-thumb{transform:scale(.98);box-shadow:0 4px 10px var(--color-range-thumb-shadow),0 1px 0 var(--color-control-highlight-soft) inset}.settings-range-slider:active::-moz-range-thumb{transform:scale(.98);box-shadow:0 4px 10px var(--color-range-thumb-shadow),0 1px 0 var(--color-control-highlight-soft) inset}.settings-range-slider:focus-visible::-webkit-slider-thumb{outline:2px solid var(--color-toggle-focus);outline-offset:2px}.settings-range-slider:focus-visible::-moz-range-thumb{outline:2px solid var(--color-toggle-focus);outline-offset:2px}.settings-range-slider,.rail-status .status-line,button.toggle-chip,button.language-option,button.pgn-sequence-move,button.pgn-move,button.collapsible-panel-toggle,button:not(.toggle-chip):not(.language-option):not(.history-dot):not(.promotion-backdrop):not(.promotion-option):not(.zen-exit-hint):not(.collapsible-panel-toggle){filter:var(--controls-hue-filter);transition:filter .18s ease}button.toggle-chip{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.7rem;padding:.45rem .65rem;border-radius:999px;border:1px solid var(--color-toggle-border);background:var(--color-toggle-bg);color:var(--color-toggle-text);transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease;will-change:transform;box-shadow:0 1px 0 var(--color-control-highlight-soft) inset}@media (hover: hover){.app-footer-link:hover{color:var(--color-status)}button.toggle-chip:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 1px 0 var(--color-control-highlight-strong) inset,0 8px 18px var(--color-control-shadow-soft)}}.app-footer-link:focus-visible{outline:2px solid var(--color-toggle-focus);outline-offset:3px}button.toggle-chip:focus-visible{outline:2px solid var(--color-toggle-focus);outline-offset:2px}button.toggle-chip:active:not(:disabled){transform:translateY(0) scale(.992);box-shadow:0 1px 0 var(--color-control-highlight-soft) inset,0 4px 10px var(--color-control-shadow-soft)}.toggle-chip-text{font-size:.92rem;line-height:1.25}.toggle-chip-track{width:42px;height:24px;border-radius:999px;background:var(--color-toggle-track);border:1px solid var(--color-toggle-track-border);position:relative;flex:0 0 auto;transition:background-color .18s ease,border-color .18s ease}.toggle-chip-thumb{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:var(--color-control-thumb-bg);box-shadow:0 1px 2px var(--color-control-thumb-shadow);transition:transform .18s ease}button.toggle-chip.is-on{background:var(--color-toggle-on-bg);border-color:var(--color-toggle-on-border);color:var(--color-toggle-on-text)}button.toggle-chip.is-on .toggle-chip-track{background:var(--color-toggle-on-track);border-color:var(--color-toggle-on-track-border)}button.toggle-chip.is-on .toggle-chip-thumb{transform:translate(18px)}button.toggle-chip.autoplay-chip.is-on{background:var(--color-autoplay-chip-on-bg);border-color:var(--color-autoplay-chip-on-border);color:var(--color-autoplay-chip-on-text)}button.toggle-chip.autoplay-chip.is-on .toggle-chip-track{background:var(--color-autoplay-chip-on-track);border-color:var(--color-autoplay-chip-on-track-border)}.chip-row{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.chip-toggle{border-radius:999px;padding:.3rem .7rem;font-size:.83rem;line-height:1.2}.chip-toggle.chip-on{border:1px solid var(--color-chip-on-border);background:var(--color-chip-on-bg);color:var(--color-chip-on-text)}.chip-toggle.chip-off{border:1px solid var(--color-chip-off-border);background:var(--color-chip-off-bg);color:var(--color-chip-off-text)}.button-row{display:grid;grid-template-columns:repeat(2,minmax(120px,1fr));gap:.5rem}.action-button-row{grid-template-columns:repeat(3,minmax(0,1fr))}.action-button-row>button{min-width:0;display:inline-flex;align-items:center;justify-content:center}.button-label-clamp{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;text-overflow:ellipsis;overflow-wrap:anywhere;word-break:break-word;max-width:100%}.review-button-row{grid-template-columns:repeat(3,minmax(0,1fr))}.transport-button-row{grid-template-columns:repeat(2,minmax(0,1fr))}.next-live-row{grid-template-columns:minmax(0,1fr)}.arrow-strip-row{grid-template-columns:repeat(4,minmax(0,1fr))}.transport-control-button{display:inline-flex;align-items:center;justify-content:center;gap:0}.transport-control-icon{width:1.15rem;height:1.15rem;display:block;fill:currentColor;flex:0 0 auto}.collapsible-panel-section{min-width:0}button.collapsible-panel-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.7rem;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;color:inherit;font:inherit;text-align:left;-webkit-appearance:none;-moz-appearance:none;appearance:none}button.collapsible-panel-toggle:hover:not(:disabled),button.collapsible-panel-toggle:active:not(:disabled){background:transparent;box-shadow:none;transform:none;filter:none}button.collapsible-panel-toggle:focus-visible{outline:2px solid var(--color-toggle-focus);outline-offset:3px}.collapsible-panel-toggle-copy{min-width:0;flex:1 1 auto;display:flex;align-items:baseline;justify-content:space-between;gap:.7rem}.collapsible-panel-toggle-title{min-width:0;font-size:.92rem;font-weight:700}.collapsible-panel-toggle-meta{flex:0 0 auto;font-size:.72rem;color:var(--color-meta);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}.collapsible-panel-toggle-icon{flex:0 0 auto;font-size:.96rem;line-height:1;color:var(--color-meta);opacity:.88}.collapsible-panel-section.is-open .collapsible-panel-toggle-icon:before{content:"▾"}.collapsible-panel-section.is-collapsed .collapsible-panel-toggle-icon:before{content:"▸"}.collapsible-panel-body{min-width:0;margin-top:.72rem}.collapsible-panel-body[hidden]{display:none!important}.desktop-controls-panel-body{display:grid;gap:.72rem}.keyboard-shortcuts-panel{display:grid;gap:.6rem;container-type:inline-size}.keyboard-shortcuts-panel>.collapsible-panel-body{margin-top:0}.keyboard-shortcuts-panel .collapsible-panel-toggle-title{font-size:.72rem;color:var(--color-meta);letter-spacing:.06em;text-transform:uppercase}.keyboard-shortcuts-head{display:flex;align-items:baseline;justify-content:space-between;gap:.7rem}.keyboard-shortcuts-title,.keyboard-shortcuts-meta{margin:0}.keyboard-shortcuts-title{font-size:.92rem;font-weight:700}.keyboard-shortcuts-meta{font-size:.72rem;color:var(--color-meta);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}.keyboard-shortcuts-list{display:grid;gap:.38rem}@container (min-width: 23rem){.keyboard-shortcuts-list{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:.45rem;row-gap:.42rem}}.keyboard-shortcut-row{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.55rem;min-width:0;padding:.36rem .45rem;border:1px solid color-mix(in srgb,var(--color-panel-border) 86%,transparent);border-radius:8px;background:color-mix(in srgb,var(--color-control-highlight-soft) 65%,transparent)}.keyboard-shortcut-key{min-width:1.5rem;height:1.3rem;padding:0 .34rem;display:inline-flex;align-items:center;justify-content:center;border:1px solid color-mix(in srgb,var(--color-text) 16%,transparent);border-radius:5px;background:color-mix(in srgb,var(--color-bg) 76%,white 24%);box-shadow:0 1px color-mix(in srgb,var(--color-control-highlight) 75%,transparent) inset;color:var(--color-text);font-family:IBM Plex Sans,Noto Sans,Segoe UI,system-ui,sans-serif;font-size:.68rem;font-weight:700;line-height:1;letter-spacing:.02em;font-style:normal}.keyboard-shortcut-text{min-width:0;font-size:.78rem;line-height:1.25;overflow-wrap:anywhere}.pgn-panel{display:grid;gap:.5rem;grid-template-rows:auto auto auto auto;min-height:0;flex:0 0 auto;align-content:start}.settings-panel{padding:.6rem .72rem}.settings-summary{cursor:pointer;font-size:.92rem;font-weight:700;line-height:1;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:.55rem;user-select:none;-webkit-user-select:none}.settings-summary::-webkit-details-marker{display:none}.settings-summary:after{content:"▾";font-size:1rem;line-height:1;opacity:.85;flex:0 0 auto}.settings-panel[open] .settings-summary:after{content:"▴"}.settings-content{display:grid;gap:.95rem;margin-top:.72rem}.settings-content-body{display:grid;gap:inherit}.settings-mobile-backdrop{display:none}.language-option-grid{display:grid;gap:.45rem}button.language-option{width:100%;display:flex;align-items:baseline;justify-content:space-between;gap:1rem;direction:ltr;border:1px solid var(--color-toggle-border);border-radius:10px;padding:.72rem .82rem;font:inherit;color:var(--color-toggle-text);background:var(--color-toggle-bg);cursor:pointer;text-align:left;transition:border-color .16s ease,background-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease;will-change:transform;box-shadow:0 1px 0 var(--color-control-highlight-soft) inset}.language-option-english,.language-option-native{min-width:0}.language-option-english{flex:1 1 auto;display:block;text-align:left}.language-option-native{flex:0 0 auto;display:block;margin-left:auto;text-align:right;white-space:nowrap;opacity:.92}button.language-option:hover:not(:disabled){border-color:var(--color-toggle-focus);transform:translateY(-1px);box-shadow:0 1px 0 var(--color-control-highlight-strong) inset,0 8px 18px var(--color-control-shadow-soft)}button.language-option.is-active{border-color:var(--color-chip-on-border);background:var(--color-chip-on-bg);color:var(--color-chip-on-text)}button.language-option:focus-visible{outline:2px solid var(--color-toggle-focus);outline-offset:2px}button.language-option:active:not(:disabled){transform:translateY(0) scale(.992);box-shadow:0 1px 0 var(--color-control-highlight-soft) inset,0 4px 10px var(--color-control-shadow-soft)}.settings-section{display:grid;gap:.55rem}.settings-section-head{display:flex;align-items:center;gap:.55rem}.settings-section-head:after{content:"";flex:1 1 auto;height:1px;background:color-mix(in srgb,var(--color-panel-border) 78%,transparent)}.settings-section-title{font-size:.74rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--color-meta);opacity:.8;white-space:nowrap}.pgn-header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:.4rem}.pgn-header-copy{display:grid;gap:.28rem;min-width:0}.pgn-title{margin:0;font-size:.92rem;font-weight:700}.pgn-puzzle-meta{display:grid;gap:.1rem;min-width:0}.pgn-puzzle-title{margin:0}.pgn-puzzle-id{margin:0;font-size:.74rem;line-height:1.3;opacity:.78}.pgn-actions{display:flex;flex-wrap:wrap;gap:.35rem}.pgn-actions button{font-size:.74rem;padding:.35rem .5rem;min-width:2.6rem}.pgn-path{margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:.2rem .35rem;font-family:IBM Plex Sans,"Noto Sans Symbols 2",Noto Sans Symbols,Noto Sans,Segoe UI Symbol,Segoe UI,system-ui,sans-serif}.pgn-path-label{flex:0 0 auto}.pgn-path-moves{display:inline-flex;flex-wrap:wrap;gap:.25rem .4rem}.san-move-text{display:inline-flex;align-items:center;gap:.03em;white-space:nowrap;line-height:1;vertical-align:middle}.san-piece-icon{width:1.38em;height:1.38em;margin:0;flex:0 0 auto;display:block}.pgn-sequence{display:flex;flex-wrap:wrap;gap:.4rem .45rem;align-items:center;line-height:1.6}.pgn-sequence-label{flex:0 0 auto;color:var(--color-meta);font-size:.76rem;font-weight:700;line-height:1.25;opacity:.82}.pgn-sequence-empty{color:var(--color-meta);font-size:.8rem}button.pgn-sequence-move{padding:0;font-size:.8rem;font-family:IBM Plex Sans,"Noto Sans Symbols 2",Noto Sans Symbols,Noto Sans,Segoe UI Symbol,Segoe UI,system-ui,sans-serif;border:0;border-radius:0;background:transparent;box-shadow:none;color:var(--color-meta);font-weight:500;letter-spacing:.01em}button.pgn-sequence-move.is-current{color:var(--color-status);font-weight:700;text-decoration:underline;text-underline-offset:.18em}button.pgn-sequence-move:hover:not(:disabled){background:transparent;box-shadow:none;color:var(--color-status);transform:none}button.pgn-sequence-move:active:not(:disabled){background:transparent;box-shadow:none;transform:none;filter:var(--controls-hue-filter)}button.pgn-sequence-move:focus-visible{outline:2px solid var(--color-toggle-focus);outline-offset:3px}.pgn-move-list{display:grid;gap:.35rem;max-height:none;min-height:0;overflow:visible;align-content:start}.pgn-empty-state{display:block;margin:0;padding:.58rem .72rem;border:1px solid color-mix(in srgb,var(--color-panel-border) 78%,transparent);border-radius:10px;background:color-mix(in srgb,var(--color-input-bg) 96%,var(--color-bg-grad-top) 4%);color:var(--color-meta);line-height:1.35;text-align:left;position:relative;z-index:1;align-self:start}button.pgn-move{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.5rem;text-align:left;font-size:.82rem;font-family:IBM Plex Sans,"Noto Sans Symbols 2",Noto Sans Symbols,Noto Sans,Segoe UI Symbol,Segoe UI,system-ui,sans-serif;padding:.12rem 0;border:0;border-radius:0;background:transparent;box-shadow:none;color:var(--color-meta)}button.pgn-move.is-mainline{color:var(--color-status)}button.pgn-move:hover:not(:disabled){background:transparent;box-shadow:none;color:var(--color-status);transform:none}button.pgn-move:active:not(:disabled){background:transparent;box-shadow:none;transform:none;filter:var(--controls-hue-filter)}button.pgn-move:focus-visible{outline:2px solid var(--color-toggle-focus);outline-offset:3px}.id-search-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem;align-items:center}.id-search-row input{width:100%;border:1px solid var(--color-input-border);border-radius:6px;padding:.5rem .65rem;font-size:.9rem;background:var(--color-input-bg);color:var(--color-input-text);box-sizing:border-box;transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease}.id-search-row input::placeholder{color:var(--color-input-placeholder)}.id-search-row input:focus-visible{outline:none;border-color:var(--color-toggle-focus);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-toggle-focus) 28%,transparent),0 1px 0 var(--color-control-highlight) inset}.puzzle-share-panel{display:grid;gap:.65rem;min-width:0;position:relative;z-index:0}.puzzle-share-copy{display:grid;min-width:0}.puzzle-share-title,.puzzle-share-feedback{margin:0}.puzzle-share-title{font-size:.9rem;font-weight:700}.puzzle-share-row{min-width:0}.puzzle-share-input{width:100%;border:1px solid var(--color-input-border);border-radius:6px;padding:.56rem .68rem;font-size:.84rem;line-height:1.35;background:var(--color-input-bg);color:var(--color-input-text);box-sizing:border-box;transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease}.puzzle-share-input:focus-visible{outline:none;border-color:var(--color-toggle-focus);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-toggle-focus) 28%,transparent),0 1px 0 var(--color-control-highlight) inset}.puzzle-share-actions{display:flex;flex-wrap:wrap;gap:.5rem}.puzzle-share-actions button{flex:1 1 0;min-width:0}.puzzle-share-feedback{font-size:.8rem;line-height:1.35}.puzzle-share-feedback.is-success{color:var(--color-correct)}.puzzle-share-feedback.is-error{color:var(--color-error)}button:not(.toggle-chip):not(.language-option):not(.history-dot):not(.promotion-backdrop):not(.promotion-option):not(.zen-exit-hint):not(.collapsible-panel-toggle){border:1px solid var(--color-button-border);background:var(--color-button-bg);color:var(--color-button-text);border-radius:6px;padding:.55rem .8rem;cursor:pointer;box-shadow:0 1px 0 var(--color-control-highlight) inset;transition:background-color .22s ease,border-color .22s ease,transform .22s cubic-bezier(.22,1,.36,1),box-shadow .22s cubic-bezier(.22,1,.36,1),filter .22s ease;will-change:transform,box-shadow}button:not(.toggle-chip):not(.language-option):not(.history-dot):not(.promotion-backdrop):not(.promotion-option):not(.zen-exit-hint):not(.collapsible-panel-toggle):hover:not(:disabled){background:var(--color-button-bg-hover);transform:translateY(-2px) scale(1.01);box-shadow:0 1px 0 var(--color-control-highlight-strong) inset,0 12px 24px var(--color-control-shadow-hover)}button:not(.toggle-chip):not(.language-option):not(.history-dot):not(.promotion-backdrop):not(.promotion-option):not(.zen-exit-hint):not(.collapsible-panel-toggle):active:not(:disabled){transform:translateY(1px) scale(.97);box-shadow:0 1px 0 var(--color-control-highlight-soft) inset,0 6px 12px var(--color-control-shadow-active);filter:var(--controls-hue-filter) saturate(.98)}button:not(.toggle-chip):not(.language-option):not(.history-dot):not(.promotion-backdrop):not(.promotion-option):not(.zen-exit-hint):not(.collapsible-panel-toggle):focus-visible{outline:2px solid var(--color-toggle-focus);outline-offset:2px}button.btn-secondary{border-color:var(--color-button-secondary-border);background:var(--color-button-secondary-bg)}button.btn-secondary:hover:not(:disabled){background:var(--color-button-secondary-bg-hover)}button.btn-secondary:active:not(:disabled){filter:var(--controls-hue-filter) brightness(.98)}button.btn-primary{border-color:var(--color-button-border);background:var(--color-button-bg)}button:not(.toggle-chip):not(.language-option):not(.history-dot):not(.promotion-backdrop):not(.promotion-option):not(.zen-exit-hint):not(.collapsible-panel-toggle):disabled{color:var(--color-button-disabled-text);box-shadow:0 1px 0 var(--color-control-highlight-soft) inset;filter:var(--controls-hue-filter) saturate(.72) contrast(.94) brightness(.98)}button.btn-primary:disabled{border-color:var(--color-button-disabled-border);background:color-mix(in srgb,var(--color-button-bg) 56%,var(--color-button-disabled-bg))}button.btn-secondary:disabled{border-color:color-mix(in srgb,var(--color-button-secondary-border) 68%,var(--color-button-disabled-border));background:color-mix(in srgb,var(--color-button-secondary-bg) 58%,var(--color-button-disabled-bg))}button:disabled{opacity:.9;cursor:not-allowed;transform:none!important;box-shadow:none!important}.app-shell.short-desktop-layout{--chrome-offset: 5rem;--page-vertical-space: clamp(.8rem, 1.9vh, 1.1rem);--layout-gap: 1rem;--layout-eval-width: 12px;--layout-eval-gap: .6rem;--side-panel-width: clamp(15rem, 24vw, 17rem);--board-coordinate-font-size-min: .48rem;--board-coordinate-font-size-max: .62rem;--board-coordinate-file-pad-inline-max: .22rem;--board-coordinate-file-pad-block-max: .15rem;--board-coordinate-rank-pad-inline-max: .2rem;--board-coordinate-rank-pad-block-max: .13rem;--frame-height: calc(100dvh - var(--chrome-offset) - (var(--page-vertical-space) * 2));--board-size: max( 0px, min( var(--frame-height), calc(100vw - 2rem - var(--layout-gap) - var(--layout-eval-width) - var(--layout-eval-gap) - var(--side-panel-width)) ) )}.app-shell.short-desktop-layout .app-header{padding-inline:1rem}.app-shell.short-desktop-layout .app-header-inner{gap:.82rem;padding:.5rem 0}.app-shell.short-desktop-layout .app-header-primary{gap:.85rem;align-items:flex-start}.app-shell.short-desktop-layout .app-brand{font-size:1.24rem}.app-shell.short-desktop-layout .app-brand-meta{font-size:.64rem}.app-shell.short-desktop-layout .app-header-controls{gap:.2rem;align-items:flex-start}.app-shell.short-desktop-layout .app-header-settings .settings-summary{font-size:.84rem;gap:.3rem}.app-shell.short-desktop-layout .app-header-settings[open] .settings-content{width:min(360px,calc(100vw - 2rem));top:calc(100% + .45rem)}.app-shell.short-desktop-layout .layout{padding:var(--page-vertical-space) 1rem}.app-shell.short-desktop-layout .split-layout{gap:var(--layout-gap);align-items:center}.app-shell.short-desktop-layout .board-stack{gap:.65rem}.app-shell.short-desktop-layout .rail-block{padding:.62rem .68rem}.app-shell.short-desktop-layout .desktop-side-panel{gap:.68rem}.app-shell.short-desktop-layout .desktop-side-panel-section+.desktop-side-panel-section{padding-top:.68rem}.app-shell.short-desktop-layout .desktop-side-panel-section+.desktop-side-panel-section.desktop-controls-section{padding-top:.38rem}.app-shell.short-desktop-layout .rail-status{--rail-status-scale: .88}.app-shell.short-desktop-layout .rail-status .turn-indicator{max-width:none}.app-shell.short-desktop-layout .rail-status .rail-status-main{margin-top:1rem}.app-shell.short-desktop-layout .button-row{gap:.4rem}.app-shell.short-desktop-layout button:not(.toggle-chip):not(.language-option):not(.history-dot):not(.promotion-backdrop):not(.promotion-option):not(.zen-exit-hint):not(.collapsible-panel-toggle){padding:.42rem .58rem;font-size:.79rem}.app-shell.short-desktop-layout .button-label-clamp{line-height:1.08}.app-shell.short-desktop-layout .transport-control-icon{width:.98rem;height:.98rem}.app-shell.short-desktop-layout .keyboard-shortcuts-panel{gap:.5rem}.app-shell.short-desktop-layout .collapsible-panel-toggle-title{font-size:.84rem}.app-shell.short-desktop-layout .collapsible-panel-toggle-meta{font-size:.64rem}.app-shell.short-desktop-layout .collapsible-panel-body{margin-top:.6rem}.app-shell.short-desktop-layout .desktop-controls-panel-body{gap:.6rem}.app-shell.short-desktop-layout .keyboard-shortcut-row{gap:.44rem;padding:.32rem .4rem}.app-shell.short-desktop-layout .keyboard-shortcut-key{min-width:1.24rem;height:1.06rem;padding:0 .24rem;font-size:.58rem}.app-shell.short-desktop-layout .keyboard-shortcut-text{font-size:.7rem}.app-shell.short-desktop-layout .history-strip{gap:.52rem}.app-shell.short-desktop-layout .history-title{font-size:.84rem}.app-shell.short-desktop-layout .history-meta{font-size:.7rem}.app-shell.short-desktop-layout .history-list{gap:.38rem}.app-shell.short-desktop-layout .history-dot{flex-basis:1.78rem;width:1.78rem;height:1.78rem;border-radius:8px;font-size:.74rem}.app-shell.short-desktop-layout .pgn-panel{gap:.42rem}.app-shell.short-desktop-layout .pgn-title{font-size:.84rem}.app-shell.short-desktop-layout .pgn-puzzle-id{font-size:.68rem}.app-shell.short-desktop-layout .pgn-sequence{gap:.24rem .34rem;line-height:1.35}.app-shell.short-desktop-layout .pgn-sequence-label{font-size:.7rem}.app-shell.short-desktop-layout button.pgn-sequence-move,.app-shell.short-desktop-layout .pgn-sequence-empty,.app-shell.short-desktop-layout button.pgn-move,.app-shell.short-desktop-layout .pgn-empty-state{font-size:.76rem}.app-shell.short-desktop-layout .puzzle-share-panel{gap:.5rem}.app-shell.short-desktop-layout .puzzle-share-title{font-size:.82rem}.app-shell.short-desktop-layout .puzzle-share-input{padding:.46rem .58rem;font-size:.76rem}.app-shell.short-desktop-layout .puzzle-share-actions{gap:.36rem}.app-shell.short-desktop-layout .puzzle-share-actions button{font-size:.76rem}.app-shell.short-desktop-layout .app-footer{padding-inline:1rem}.app-shell.short-desktop-layout .app-footer-inner{padding:.8rem 0}.app-shell.short-desktop-layout .app-footer-link,.app-shell.short-desktop-layout .app-footer-license{font-size:.74rem}@media (max-width: 900px) and (orientation: landscape){:root{--mobile-page-gutter: .8rem;--mobile-menu-inline-pad: 1rem}.app-shell.compact-desktop-layout{--chrome-offset: 4.35rem;--page-vertical-space: .55rem;--layout-gap: .9rem;--layout-eval-width: 12px;--layout-eval-gap: .55rem;--side-panel-width: clamp(13.4rem, 30vw, 15.6rem);--board-coordinate-font-size-min: .44rem;--board-coordinate-font-size-max: .6rem;--board-coordinate-file-pad-inline-max: .2rem;--board-coordinate-file-pad-block-max: .14rem;--board-coordinate-rank-pad-inline-max: .18rem;--board-coordinate-rank-pad-block-max: .12rem;--frame-height: calc(100dvh - var(--chrome-offset) - (var(--page-vertical-space) * 2));--board-size: max( 0px, min( var(--frame-height), calc(100vw - 2rem - var(--layout-gap) - var(--layout-eval-width) - var(--layout-eval-gap) - var(--side-panel-width)) ) )}.app-shell.compact-desktop-layout .app-header{padding-inline:.85rem}.app-shell.compact-desktop-layout .app-header-inner{gap:.78rem;padding:.48rem 0}.app-shell.compact-desktop-layout .app-header-primary{gap:.8rem;align-items:flex-start}.app-shell.compact-desktop-layout .app-brand{font-size:1.18rem}.app-shell.compact-desktop-layout .app-brand-meta{font-size:.62rem}.app-shell.compact-desktop-layout .app-header-controls{gap:.16rem;align-items:flex-start}.app-shell.compact-desktop-layout .app-header-settings .settings-summary{font-size:.82rem;gap:.28rem}.app-shell.compact-desktop-layout .app-header-settings[open] .settings-content{width:min(360px,calc(100vw - 1.7rem));top:calc(100% + .45rem)}.app-shell.compact-desktop-layout .layout{padding:var(--page-vertical-space) .85rem}.app-shell.compact-desktop-layout .split-layout{gap:var(--layout-gap);align-items:center}.app-shell.compact-desktop-layout .board-stack{gap:.58rem}.app-shell.compact-desktop-layout .rail-block{padding:.58rem .64rem}.app-shell.compact-desktop-layout .desktop-side-panel{gap:.62rem}.app-shell.compact-desktop-layout .desktop-side-panel-section+.desktop-side-panel-section{padding-top:.62rem}.app-shell.compact-desktop-layout .desktop-side-panel-section+.desktop-side-panel-section.desktop-controls-section{padding-top:.34rem}.app-shell.compact-desktop-layout .rail-status{--rail-status-scale: .8}.app-shell.compact-desktop-layout .rail-status .turn-indicator{max-width:none}.app-shell.compact-desktop-layout .rail-status .rail-status-main{margin-top:.9rem}.app-shell.compact-desktop-layout .button-row{gap:.38rem}.app-shell.compact-desktop-layout button:not(.toggle-chip):not(.language-option):not(.history-dot):not(.promotion-backdrop):not(.promotion-option):not(.zen-exit-hint):not(.collapsible-panel-toggle){padding:.42rem .58rem;font-size:.78rem}.app-shell.compact-desktop-layout .button-label-clamp{line-height:1.08}.app-shell.compact-desktop-layout .transport-control-icon{width:.96rem;height:.96rem}.app-shell.compact-desktop-layout .keyboard-shortcuts-panel{gap:.48rem}.app-shell.compact-desktop-layout .collapsible-panel-toggle-title{font-size:.82rem}.app-shell.compact-desktop-layout .collapsible-panel-toggle-meta{font-size:.62rem}.app-shell.compact-desktop-layout .collapsible-panel-body{margin-top:.58rem}.app-shell.compact-desktop-layout .desktop-controls-panel-body{gap:.58rem}.app-shell.compact-desktop-layout .keyboard-shortcut-row{gap:.42rem;padding:.3rem .38rem}.app-shell.compact-desktop-layout .keyboard-shortcut-key{min-width:1.2rem;height:1.02rem;padding:0 .22rem;font-size:.56rem}.app-shell.compact-desktop-layout .keyboard-shortcut-text{font-size:.68rem}.app-shell.compact-desktop-layout .history-strip{gap:.5rem}.app-shell.compact-desktop-layout .history-title{font-size:.82rem}.app-shell.compact-desktop-layout .history-meta{font-size:.68rem}.app-shell.compact-desktop-layout .history-list{gap:.36rem}.app-shell.compact-desktop-layout .history-dot{flex-basis:1.72rem;width:1.72rem;height:1.72rem;border-radius:8px;font-size:.72rem}.app-shell.compact-desktop-layout .pgn-panel{gap:.4rem}.app-shell.compact-desktop-layout .pgn-title{font-size:.82rem}.app-shell.compact-desktop-layout .pgn-puzzle-id{font-size:.66rem}.app-shell.compact-desktop-layout .pgn-sequence{gap:.22rem .32rem;line-height:1.35}.app-shell.compact-desktop-layout .pgn-sequence-label{font-size:.68rem}.app-shell.compact-desktop-layout button.pgn-sequence-move,.app-shell.compact-desktop-layout .pgn-sequence-empty,.app-shell.compact-desktop-layout button.pgn-move,.app-shell.compact-desktop-layout .pgn-empty-state{font-size:.74rem}.app-shell.compact-desktop-layout .puzzle-share-panel{gap:.48rem}.app-shell.compact-desktop-layout .puzzle-share-title{font-size:.8rem}.app-shell.compact-desktop-layout .puzzle-share-input{padding:.44rem .56rem;font-size:.74rem}.app-shell.compact-desktop-layout .puzzle-share-actions{gap:.34rem}.app-shell.compact-desktop-layout .puzzle-share-actions button{font-size:.74rem}.app-shell.compact-desktop-layout .app-footer{padding-inline:.85rem}.app-shell.compact-desktop-layout .app-footer-inner{padding:.68rem 0}.app-shell.compact-desktop-layout .app-footer-link,.app-shell.compact-desktop-layout .app-footer-license{font-size:.7rem}.app-shell.mobile-landscape-layout{--board-size: 100%;--frame-height: auto;--layout-eval-width: 12px;--layout-eval-gap: .55rem;--page-vertical-space: .5rem;height:100dvh;min-height:100dvh;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:y proximity}.app-shell.mobile-landscape-layout.is-app-build .mobile-secondary-page-body{justify-content:flex-start}.app-shell.mobile-landscape-layout.is-app-build .mobile-secondary-stack{align-items:start}.app-shell.mobile-landscape-layout.is-app-build .mobile-status-panel,.app-shell.mobile-landscape-layout.is-app-build .mobile-secondary-panel{align-self:start;height:auto}.app-shell.mobile-landscape-layout .capture-rain-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1}body{overflow:hidden}.app-shell.mobile-landscape-layout .app-header{padding-inline:var(--mobile-page-gutter);max-height:none}.app-shell.mobile-landscape-layout .app-header-inner{gap:.85rem;padding:.5rem 0}.app-shell.mobile-landscape-layout .app-header-primary{width:100%;align-items:flex-start;flex-wrap:nowrap;gap:.65rem}.app-shell.mobile-landscape-layout .app-brand-lockup{flex:1 1 auto;min-width:0}.app-shell.mobile-landscape-layout .app-brand{font-size:1.22rem}.app-shell.mobile-landscape-layout .app-brand-meta{font-size:.66rem}.app-shell.mobile-landscape-layout .app-header-controls{margin-left:auto;min-width:0;flex:0 0 auto;flex-wrap:nowrap;gap:.16rem;justify-content:flex-end;align-items:flex-start}.app-shell.mobile-landscape-layout .app-header-settings{width:auto;min-width:0;margin-left:auto;flex:0 0 auto}.app-shell.mobile-landscape-layout .mobile-snap-screen{min-height:100dvh;display:grid;align-content:stretch;box-sizing:border-box;scroll-snap-align:start}.app-shell.mobile-landscape-layout .mobile-primary-screen{height:100dvh;min-height:100dvh;grid-template-rows:auto minmax(0,1fr)}.app-shell.mobile-landscape-layout .mobile-secondary-screen,.app-shell.mobile-landscape-layout .mobile-tertiary-screen{min-height:100dvh;height:auto;grid-template-rows:auto}.app-shell.mobile-landscape-layout .mobile-snap-page-body{min-height:0;height:100%;padding:var(--page-vertical-space) var(--mobile-page-gutter);box-sizing:border-box;display:grid;align-content:stretch;gap:.55rem}.app-shell.mobile-landscape-layout .mobile-primary-page-body{justify-content:stretch;align-items:stretch}.app-shell.mobile-landscape-layout .mobile-landscape-primary-page-body{padding-bottom:max(var(--page-vertical-space),env(safe-area-inset-bottom));overflow:hidden}.app-shell.mobile-landscape-layout .mobile-primary-stack{width:100%;min-height:0}.app-shell.mobile-landscape-layout .mobile-landscape-primary-stack{display:grid;grid-template-columns:minmax(0,1fr) clamp(12.75rem,28vw,14.5rem);align-items:center;gap:.75rem;margin:0;height:100%}.app-shell.mobile-landscape-layout .mobile-landscape-primary-side{width:100%;min-width:0;max-width:14.5rem;display:grid;gap:.65rem;align-content:center;justify-self:end;align-self:center;overflow:visible}.app-shell.mobile-landscape-layout .board-column{width:100%;height:auto;min-height:0}.app-shell.mobile-landscape-layout .mobile-board-column{display:flex;align-items:center;justify-content:center}.app-shell.mobile-landscape-layout .mobile-landscape-board-stack{width:calc(var(--mobile-primary-board-max-size, 0px) + var(--layout-eval-width) + var(--layout-eval-gap));max-width:none;margin:0;gap:0}.app-shell.mobile-landscape-layout .mobile-landscape-board-stack.no-eval{width:var(--mobile-primary-board-max-size, 0px)}.app-shell.mobile-landscape-layout .mobile-landscape-board-stack .board-stage{display:flex;gap:var(--layout-eval-gap);width:100%;max-width:none;margin:0;min-width:0;height:auto;align-items:stretch;justify-content:center}.app-shell.mobile-landscape-layout .board-shell{width:min(100%,var(--mobile-primary-board-max-size, 100%));max-width:min(100%,var(--mobile-primary-board-max-size, 100%));height:auto;aspect-ratio:1 / 1;min-width:0;margin:0}.app-shell.mobile-landscape-layout .board-wrap{width:100%;height:100%}.app-shell.mobile-landscape-layout .board{width:100%;height:100%;box-shadow:none}.app-shell.mobile-landscape-layout .mobile-landscape-board-stack .eval-wrap{height:var(--mobile-primary-board-max-size, auto);width:var(--layout-eval-width);flex:0 0 var(--layout-eval-width);position:relative}.app-shell.mobile-landscape-layout .mobile-landscape-board-stack .eval-bar{width:var(--layout-eval-width);height:100%}.app-shell.mobile-landscape-layout .mobile-landscape-summary-panel,.app-shell.mobile-landscape-layout .mobile-landscape-controls-panel{padding:.68rem .72rem;background:color-mix(in srgb,var(--color-panel-bg) 92%,var(--color-input-bg) 8%);backdrop-filter:blur(18px) saturate(118%) brightness(1.06);-webkit-backdrop-filter:blur(18px) saturate(118%) brightness(1.06)}.app-shell.mobile-landscape-layout .mobile-landscape-summary-panel{display:grid;gap:.42rem}.app-shell.mobile-landscape-layout .mobile-landscape-summary-head{display:flex;align-items:baseline;justify-content:space-between;gap:.55rem}.app-shell.mobile-landscape-layout .mobile-landscape-summary-panel .turn-kicker{font-size:.68rem;letter-spacing:.12em}.app-shell.mobile-landscape-layout .mobile-landscape-progress{margin:0;font-size:.68rem;line-height:1.2;text-align:right;opacity:.86}.app-shell.mobile-landscape-layout .mobile-landscape-summary-panel .turn-indicator{font-size:.98rem;line-height:1.12;letter-spacing:-.015em;max-width:none;text-align:left}.app-shell.mobile-landscape-layout .mobile-landscape-summary-panel .rail-engine{justify-content:flex-start;gap:.18rem;font-size:.72rem;line-height:1.25}.app-shell.mobile-landscape-layout .mobile-landscape-summary-foot{display:grid;gap:.28rem}.app-shell.mobile-landscape-layout .mobile-landscape-summary-panel .status-line{justify-self:start;margin:0;padding:.24rem .52rem;min-height:0;font-size:.74rem}.app-shell.mobile-landscape-layout .mobile-landscape-summary-panel .correct-line{margin:0;min-height:0;font-size:.74rem;line-height:1.22;text-align:left}.app-shell.mobile-landscape-layout .mobile-controls-panel,.app-shell.mobile-landscape-layout .mobile-secondary-panel{padding:.65rem;background:var(--color-panel-bg);backdrop-filter:blur(18px) saturate(118%) brightness(1.06);-webkit-backdrop-filter:blur(18px) saturate(118%) brightness(1.06)}.app-shell.mobile-landscape-layout .mobile-controls-panel{display:grid;gap:.4rem;align-content:start;padding:.55rem}.app-shell.mobile-landscape-layout .mobile-landscape-controls-panel{display:grid;gap:.45rem;align-content:start}.app-shell.mobile-landscape-layout .mobile-landscape-controls-panel .button-row{gap:.42rem}.app-shell.mobile-landscape-layout .mobile-landscape-controls-panel .action-button-row{grid-template-columns:repeat(3,minmax(0,1fr))}.app-shell.mobile-landscape-layout .mobile-landscape-controls-panel button{min-height:3.5rem;padding:.42rem .5rem;font-size:.78rem}.app-shell.mobile-landscape-layout .mobile-landscape-controls-panel .button-label-clamp{line-height:1.08}.app-shell.mobile-landscape-layout .mobile-landscape-controls-panel .transport-control-button{min-height:3rem}.app-shell.mobile-landscape-layout .mobile-landscape-controls-panel .transport-control-icon{width:1rem;height:1rem}.app-shell.mobile-landscape-layout .mobile-controls-panel .action-button-row{grid-template-columns:repeat(3,minmax(0,1fr))}.app-shell.mobile-landscape-layout .mobile-controls-panel .button-row{gap:.36rem}.app-shell.mobile-landscape-layout .mobile-controls-panel button{padding:.36rem .48rem;font-size:.78rem}.app-shell.mobile-landscape-layout .mobile-controls-panel .transport-control-icon{width:.98rem;height:.98rem}.app-shell.mobile-landscape-layout .mobile-secondary-page-body{height:auto;min-height:100dvh;width:100%;padding:calc(var(--page-vertical-space) + .3rem) var(--mobile-page-gutter) max(calc(var(--page-vertical-space) + .3rem),calc(env(safe-area-inset-bottom) + .3rem));box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;gap:.55rem;overflow:visible}.app-shell.mobile-landscape-layout .mobile-secondary-stack{width:100%;height:auto;max-height:none;min-height:auto;display:grid;grid-template-rows:auto auto;align-content:start;gap:.55rem;margin-block:0;overflow:visible}.app-shell.mobile-landscape-layout .mobile-landscape-secondary-stack{grid-template-rows:minmax(0,1fr)}.app-shell.mobile-landscape-layout .mobile-secondary-panel{display:grid;gap:.8rem;align-items:start;grid-auto-rows:max-content;min-height:auto;max-height:none;overflow:visible;background:color-mix(in srgb,var(--color-bg-grad-top) 88%,var(--color-input-bg) 12%)}.app-shell.mobile-landscape-layout .mobile-secondary-panel>.collapsible-panel-section{align-self:start}.app-shell.mobile-landscape-layout .mobile-secondary-panel>.collapsible-panel-section+.collapsible-panel-section{padding-top:.9rem;border-top:1px solid color-mix(in srgb,var(--color-panel-border) 78%,transparent)}.app-shell.mobile-landscape-layout .mobile-secondary-panel>#explorer>button.collapsible-panel-toggle{align-items:flex-start}.app-shell.mobile-landscape-layout .mobile-secondary-panel>#explorer .collapsible-panel-toggle-copy{flex-wrap:wrap;align-items:flex-start;justify-content:flex-start;row-gap:.18rem}.app-shell.mobile-landscape-layout .mobile-secondary-panel>#explorer .collapsible-panel-toggle-meta{flex:1 1 100%;white-space:normal;overflow-wrap:anywhere;line-height:1.35}.app-shell.mobile-landscape-layout .mobile-secondary-panel .pgn-panel{gap:.42rem}.app-shell.mobile-landscape-layout .mobile-secondary-panel .puzzle-share-panel{gap:.5rem}.app-shell.mobile-landscape-layout .mobile-secondary-panel .pgn-move-list{gap:.28rem}.app-shell.mobile-landscape-layout .mobile-secondary-panel .pgn-empty-state{width:100%;padding:.52rem .62rem;line-height:1.32}.app-shell.mobile-landscape-layout .pgn-header-row{gap:.3rem}.app-shell.mobile-landscape-layout .pgn-title{font-size:.86rem}.app-shell.mobile-landscape-layout .pgn-puzzle-id{font-size:.7rem}.app-shell.mobile-landscape-layout .pgn-sequence{gap:.25rem .35rem;line-height:1.4}.app-shell.mobile-landscape-layout .pgn-sequence-label{font-size:.72rem}.app-shell.mobile-landscape-layout button.pgn-sequence-move,.app-shell.mobile-landscape-layout .pgn-sequence-empty,.app-shell.mobile-landscape-layout button.pgn-move{font-size:.76rem}.app-shell.mobile-landscape-layout .puzzle-share-title{font-size:.84rem}.app-shell.mobile-landscape-layout .puzzle-share-input{padding:.48rem .58rem;font-size:.78rem}.app-shell.mobile-landscape-layout .puzzle-share-actions{gap:.4rem}.app-shell.mobile-landscape-layout .puzzle-share-actions button{font-size:.8rem;padding-top:.5rem;padding-bottom:.5rem}.app-shell.mobile-landscape-layout .mobile-tertiary-page-body{min-height:100%;display:grid;grid-template-rows:minmax(0,1fr) auto;align-content:stretch;overflow:visible}.app-shell.mobile-landscape-layout .mobile-tertiary-stack{width:100%;max-height:none;min-height:0;display:grid;align-content:start;margin-block:auto;overflow:visible}.app-shell.mobile-landscape-layout .app-footer{padding-inline:var(--mobile-page-gutter)}.app-shell.mobile-landscape-layout .mobile-inline-footer{width:100%;padding-inline:0}.app-shell.mobile-landscape-layout .mobile-inline-footer:before{width:100%}.app-shell.mobile-landscape-layout .app-footer-inner{align-items:flex-start;flex-wrap:wrap;row-gap:.35rem;padding:.72rem 0}.app-shell.mobile-landscape-layout .app-footer-links{justify-content:flex-start}.app-shell.mobile-landscape-layout .app-footer-license{margin-left:auto}.app-shell.mobile-landscape-layout .app-footer-link,.app-shell.mobile-landscape-layout .app-footer-license{font-size:.76rem}@supports (height: 100svh){.app-shell,.app-shell.compact-desktop-layout,.app-shell.mobile-landscape-layout{--frame-height: calc(100svh - var(--chrome-offset) - (var(--page-vertical-space) * 2));height:100svh;min-height:100svh}}}@media (max-width: 900px) and (max-aspect-ratio: 1/1){:root{--mobile-page-gutter: 1rem;--mobile-menu-inline-pad: 1.2rem}.app-shell{--board-size: 100%;--frame-height: auto;--layout-eval-gap: 1rem;--page-vertical-space: .75rem;--board-coordinate-size-source: var(--mobile-primary-board-max-size, calc(100vw - (var(--mobile-page-gutter) * 2)));height:100dvh;min-height:100dvh;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:y proximity}.app-shell.is-zen-mode{--zen-exit-hint-space: max(2.8rem, calc(env(safe-area-inset-bottom) + 2.4rem) );height:100dvh;min-height:100dvh;overflow:hidden}body{overflow:hidden}body:has(.app-header-settings[open],.app-header-language[open]){overflow:hidden}.app-header{padding-inline:var(--mobile-page-gutter);max-height:none}.app-header-inner{gap:1rem;padding:.9rem 0}.app-header-primary{width:100%;align-items:flex-start;flex-wrap:nowrap;gap:.7rem}.app-brand-lockup{flex:1 1 auto;min-width:0}.app-header-controls{margin-left:auto;min-width:0;flex:0 0 auto;flex-wrap:nowrap;gap:.2rem;justify-content:flex-end;align-items:flex-start}.app-brand{flex:0 0 auto}.app-header-settings{width:auto;min-width:0;margin-left:auto;flex:0 0 auto}.app-header-settings[open]{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;min-width:0;margin:0;padding:0;box-sizing:border-box;display:flex;flex-direction:column;border:0;border-radius:0;background-color:var(--background-fill-color);background-image:linear-gradient(180deg,var(--background-fill-grad-top) 0%,var(--background-fill-grad-bottom) 100%);background-repeat:no-repeat;background-size:cover;transition:background-color .18s ease,background-image .18s ease;backdrop-filter:none;-webkit-backdrop-filter:none;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-y:none;overscroll-behavior-x:none;touch-action:pan-y;scrollbar-width:none;isolation:isolate;z-index:120}.app-header-settings[open] .settings-mobile-backdrop{display:none}.app-header-settings[open] .settings-summary{position:sticky;top:0;z-index:10;width:100%;margin:0;box-sizing:border-box;padding:max(1rem,env(safe-area-inset-top)) max(var(--mobile-page-gutter),env(safe-area-inset-right)) .9rem max(var(--mobile-page-gutter),env(safe-area-inset-left));border:0;border-bottom:1px solid color-mix(in srgb,var(--color-panel-border) 78%,transparent);border-radius:0;background-color:color-mix(in srgb,var(--background-fill-grad-top) 88%,var(--background-fill-color) 12%);background-image:none;backdrop-filter:none;-webkit-backdrop-filter:none;color:var(--color-meta);isolation:isolate}.app-header-settings[open] .settings-summary:before{content:none}.app-header-settings[open][data-mobile-scrolled=true] .settings-summary{border-bottom-color:color-mix(in srgb,var(--color-panel-border) 78%,transparent)}.app-header-settings[open][data-mobile-scrolled=true] .settings-summary:after{opacity:.85}.app-header-settings[open] .settings-content{--settings-menu-inline-pad: var(--mobile-menu-inline-pad);position:relative;z-index:2;top:auto;right:auto;left:auto;display:grid;flex:1 1 auto;align-content:start;width:100%;max-width:100%;height:auto;max-height:none;margin:0;min-height:max(100%,var(--mobile-settings-content-height, 0px));padding:0 var(--settings-menu-inline-pad);border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;overflow:visible;box-sizing:border-box}.app-header-settings[open] .settings-content-body{width:100%;margin-block:0;display:block;min-height:100%;padding-top:0;padding-right:max(0px,calc(env(safe-area-inset-right) - var(--mobile-menu-inline-pad)));padding-bottom:0;padding-left:max(0px,calc(env(safe-area-inset-left) - var(--mobile-menu-inline-pad)))}.app-header-settings[open] .settings-content-body>.settings-section+.settings-section{margin-top:.95rem}.app-header-settings[open]::-webkit-scrollbar{display:none}.app-header-settings[open] .settings-content-body:before{content:"";display:block;height:var(--settings-menu-inline-pad, .9rem);background-color:color-mix(in srgb,var(--background-fill-grad-top) 88%,var(--background-fill-color) 12%)}.app-header-settings[open] .settings-content-body:after{content:"";display:block;height:var(--settings-menu-inline-pad, .9rem)}.capture-rain-piece{width:calc(var(--capture-size) * .72);height:calc(var(--capture-size) * .72)}.app-footer-inner{align-items:flex-start;flex-wrap:wrap;row-gap:.35rem}.app-footer-links{justify-content:flex-start}.app-footer-license{margin-left:auto}.loading-panel{grid-template-columns:1fr;max-width:520px}.loading-board{max-width:320px;justify-self:center}.split-layout{display:grid;grid-template-columns:1fr;grid-template-rows:auto auto;min-height:0;height:auto;align-items:start;gap:.75rem}.mobile-snap-screen{min-height:100dvh;display:grid;align-content:stretch;box-sizing:border-box;scroll-snap-align:start}.mobile-primary-screen{height:100dvh;min-height:100dvh;grid-template-rows:auto minmax(0,1fr)}.mobile-secondary-screen,.mobile-tertiary-screen{min-height:100dvh;height:auto;grid-template-rows:auto}.mobile-snap-page-body{min-height:0;height:100%;padding:var(--page-vertical-space) var(--mobile-page-gutter);box-sizing:border-box;display:grid;align-content:center;gap:.75rem}.mobile-primary-page-body{display:flex;flex-direction:column;justify-content:center;align-items:stretch;gap:0}.mobile-primary-stack{--mobile-primary-shared-panel-pad: .8rem;width:min(100%,var(--mobile-primary-board-max-size, 100%));display:grid;gap:var(--layout-eval-gap);margin:0 auto;position:relative;isolation:isolate}.mobile-primary-stack:before{content:"";position:absolute;inset:calc(var(--mobile-primary-shared-panel-pad) * -1);border:1px solid var(--color-panel-border);border-radius:10px;background:var(--color-panel-bg);backdrop-filter:blur(18px) saturate(118%) brightness(1.06);-webkit-backdrop-filter:blur(18px) saturate(118%) brightness(1.06);pointer-events:none;z-index:-1}.mobile-secondary-page-body{height:auto;min-height:100dvh;width:100%;padding:calc(var(--page-vertical-space) + .55rem) var(--mobile-page-gutter) max(calc(var(--page-vertical-space) + .55rem),calc(env(safe-area-inset-bottom) + .55rem));box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;gap:.75rem;overflow:visible}.mobile-secondary-stack{width:100%;height:auto;max-height:none;min-height:auto;display:grid;grid-template-rows:auto auto;align-content:start;gap:.75rem;margin-block:0;overflow:visible}.mobile-tertiary-page-body{min-height:100%;display:grid;grid-template-rows:minmax(0,1fr) auto;align-content:stretch;overflow:visible}.mobile-tertiary-stack{width:100%;max-height:none;min-height:0;display:grid;align-content:start;margin-block:auto;overflow:visible}.mobile-tertiary-page-body .mobile-inline-footer{margin-top:auto}.app-shell.is-zen-mode .split-layout{min-height:100%;height:100%;align-content:center;justify-items:stretch}.board-column{width:100%;height:auto;min-height:0}.mobile-board-column{width:100%;min-height:0;display:block}.app-shell.is-zen-mode .board-column{width:100%}.board-stage{display:grid;grid-template-columns:1fr;width:min(100%,var(--mobile-primary-board-max-size, 100%));max-width:min(100%,var(--mobile-primary-board-max-size, 100%));margin:0 auto;min-width:0;height:auto}.board-stack{width:100%}.mobile-primary-board-stack{gap:var(--layout-eval-gap)}.mobile-primary-page-body .board-stack{width:100%;max-width:none;margin:0 auto}.app-shell.is-zen-mode .board-stack{width:min(100%,calc(100vw - (var(--mobile-page-gutter) * 2)));margin:0 auto}.app-shell.is-zen-mode.has-eval .board-stack{transform:none}.zen-controls{width:100%;margin-left:0}.layout{padding-inline:var(--mobile-page-gutter);overflow:visible}.app-shell.is-zen-mode .layout{padding-bottom:var(--zen-exit-hint-space);overflow:hidden}.app-shell.is-zen-mode .zen-exit-hint{bottom:max(.9rem,env(safe-area-inset-bottom))}.app-footer{padding-inline:var(--mobile-page-gutter)}.mobile-inline-footer{width:100%;padding-inline:0}.mobile-inline-footer:before{width:100%}.board-shell{width:min(100%,var(--mobile-primary-board-max-size, 100%));max-width:min(100%,var(--mobile-primary-board-max-size, 100%));height:auto;aspect-ratio:1 / 1;min-width:0;margin:0 auto}.board-wrap{width:100%;height:100%}.board{box-shadow:none}.eval-wrap{flex-direction:row;justify-content:flex-start;height:auto;width:100%;flex:none;position:static}.eval-bar{width:100%;min-height:16px;height:16px;box-sizing:border-box}.eval-fill{top:0;bottom:0;right:auto;width:var(--eval-fill, 50%);height:100%!important}.eval-guide-line{left:calc(var(--guide-left) - .5px);right:auto;top:0;bottom:0;width:1px;height:auto}.eval-guide-line.is-even{width:2px;left:calc(var(--guide-left) - 1px)}.side-column{width:100%;min-width:100%;max-width:100%;height:auto;min-height:0;max-height:none;justify-content:flex-start;overflow:visible;padding-inline:0;scrollbar-gutter:auto}.mobile-status-panel{--rail-status-scale: 1;padding:.72rem}.mobile-primary-status-panel{display:grid;justify-items:center;gap:.35rem;padding:0;text-align:center;border:0;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}.mobile-primary-status-panel .turn-kicker{font-size:.78rem}.mobile-primary-status-panel .turn-indicator{font-size:1.08rem;line-height:1.1}.mobile-status-panel,.mobile-controls-panel,.mobile-secondary-panel{background:var(--color-panel-bg);backdrop-filter:blur(18px) saturate(118%) brightness(1.06);-webkit-backdrop-filter:blur(18px) saturate(118%) brightness(1.06)}.mobile-status-panel .rail-title{font-size:1.46rem;line-height:1.15;letter-spacing:-.01em}.mobile-status-panel .rail-id{margin-top:.35rem;font-size:.8rem;opacity:.92}.mobile-status-panel .rail-status-main{gap:.35rem;margin-top:0}.mobile-status-panel .rail-engine{font-size:.9rem}.mobile-status-panel .turn-indicator{font-size:1.08rem;line-height:1.1}.mobile-status-panel .status-line{margin-top:.05rem;font-size:.98rem}.mobile-status-panel .correct-line{min-height:1.15rem;font-size:.92rem}.mobile-status-panel .correct-line.is-empty,.mobile-status-panel .rail-review.is-empty{display:none}.capture-rain-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1}.mobile-controls-panel,.mobile-secondary-panel{padding:.8rem}.mobile-primary-stack .mobile-controls-panel{padding:0;border:0;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.mobile-controls-panel .action-button-row{grid-template-columns:repeat(3,minmax(0,1fr))}.mobile-secondary-panel{display:grid;gap:.95rem;align-items:start;grid-auto-rows:max-content;min-height:auto;max-height:none;overflow:visible;align-content:start}.mobile-secondary-panel>.collapsible-panel-section{align-self:start}.mobile-secondary-panel>.collapsible-panel-section+.collapsible-panel-section{padding-top:.95rem;border-top:1px solid color-mix(in srgb,var(--color-panel-border) 78%,transparent)}.mobile-secondary-panel>#explorer>button.collapsible-panel-toggle{align-items:flex-start}.mobile-secondary-panel>#explorer .collapsible-panel-toggle-copy{flex-wrap:wrap;align-items:flex-start;justify-content:flex-start;row-gap:.18rem}.mobile-secondary-panel>#explorer .collapsible-panel-toggle-meta{flex:1 1 100%;white-space:normal;overflow-wrap:anywhere;line-height:1.35}.mobile-secondary-meta{display:grid;gap:.18rem}.mobile-secondary-title{margin:0;font-size:.96rem;line-height:1.2}.mobile-secondary-id{margin:0;font-size:.84rem;line-height:1.4;opacity:.92}.mobile-secondary-panel .history-strip,.mobile-secondary-panel .pgn-panel{min-width:0}.side-column>.rail-actions{order:1}.side-column>.rail-status{order:2}.side-column>.history-strip{order:3}.history-strip.is-mobile{gap:.55rem}.history-strip.is-mobile .history-head{align-items:center}.history-preview-card{width:214px;padding:.42rem;border-radius:10px;gap:.38rem;box-shadow:0 12px 28px #0000003d}.history-preview-head{gap:.38rem}.history-preview-state{font-size:.63rem}.history-preview-id{font-size:.52rem}.history-preview-board-wrap{border-radius:7px}.history-preview-loading{font-size:.62rem}.history-preview-meta{gap:.08rem}.history-preview-title{font-size:.65rem}.history-preview-time{font-size:.56rem}.mini-preview-board-wrap,.mini-preview-board,.mini-preview-board:after,.mini-preview-board cg-board{border-radius:7px}.mini-preview-board .cg-shapes,.mini-preview-board .cg-custom-svgs{clip-path:inset(0 round 7px);border-radius:7px}.side-column>.pgn-panel{order:4}.pgn-move-list{max-height:none}.board{width:100%;height:100%}}@media (max-width: 520px) and (max-height: 980px) and (max-aspect-ratio: 1/1){.app-header-inner{gap:.75rem;padding:.72rem 0}.app-header-controls{gap:.12rem}.app-brand{font-size:1.3rem}.app-brand-meta{font-size:.72rem}.app-header-settings .settings-summary{font-size:.94rem}.mobile-snap-page-body{gap:.6rem;padding-top:.55rem;padding-bottom:.55rem}.mobile-status-panel{padding:.62rem}.mobile-status-panel .rail-status-main{gap:.28rem}.mobile-status-panel .rail-engine{font-size:.84rem}.mobile-status-panel .turn-indicator{font-size:1rem}.mobile-status-panel .status-line{font-size:.92rem}.mobile-status-panel .correct-line{min-height:1rem;font-size:.88rem}.mobile-controls-panel,.mobile-secondary-panel{padding:.68rem}.mobile-controls-panel button{padding:.48rem .68rem;font-size:.92rem}.app-footer-inner{padding:.9rem 0}.app-footer-link,.app-footer-license{font-size:.82rem}}
