/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.block{display:block}.contents{display:contents}.table{display:table}.resize{resize:both}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}@font-face{font-family:Board64 Chess;font-style:normal;font-weight:400;src:url(./board64-chess-CqA83OP1.ttf)format("truetype")}:root{--paper:#f4f5f3;--surface:#fff;--ink:#202322;--muted:#6b706d;--line:#d7dad7;--coral:#e85d4a;--coral-dark:#c94737;--light-square:#eef0ed;--dark-square:#a1a7a3;--move-green:#88c697a3;--last-move-blue:#5b95be33}*{box-sizing:border-box}html{background:var(--paper);min-height:100%}body{background:var(--paper);min-height:100%;color:var(--ink);letter-spacing:0;margin:0;font-family:Inter,Helvetica Neue,Arial,sans-serif}button{appearance:none;color:inherit;font:inherit}button:focus-visible{outline:2px solid var(--coral);outline-offset:3px}.app-shell{min-height:100vh}html[data-embedded=true] .app-shell{min-height:0}.topbar{background:var(--surface);border-bottom:1px solid var(--line);align-items:center;height:54px;padding:0 clamp(16px,2.5vw,40px);display:flex}.brand-mark{background:var(--ink);color:var(--surface);font-variant-numeric:tabular-nums;justify-content:center;align-items:center;width:32px;height:32px;margin-right:10px;font-size:12px;font-weight:800;display:flex}.topbar h1{margin:0;font-size:17px;line-height:1.1}.topbar p{color:var(--muted);margin:2px 0 0;font-size:10.5px}.brand-tagline{align-items:center;gap:6px;display:flex}.about-trigger{cursor:pointer;opacity:.4;background:0 0;border:0;justify-content:center;align-items:center;width:18px;height:18px;padding:0;font-size:13px;transition:opacity .15s;display:inline-flex}.about-trigger:hover,.about-trigger:focus-visible{opacity:.75}.topbar-tools{align-items:center;gap:18px;margin-left:auto;display:flex}.language-switch{border:1px solid var(--line);display:flex}.language-switch button{color:var(--muted);cursor:pointer;background:0 0;border:0;height:28px;padding:0 10px;font-size:11px;font-weight:700}.language-switch button+button{border-left:1px solid var(--line)}.language-switch button:hover{background:#eceeeb}.language-switch button.active{background:var(--ink);color:#fff}.engine-state{color:var(--muted);font-variant-numeric:tabular-nums;align-items:center;gap:9px;font-size:13px;display:flex}.engine-state>span{background:var(--coral);border-radius:50%;width:8px;height:8px}.engine-state>span.pulse{animation:1s ease-in-out infinite pulse}.game-layout{grid-template-columns:minmax(0,1fr) clamp(190px,18vw,250px) clamp(220px,22vw,300px);gap:clamp(12px,1.6vw,24px);max-width:1600px;margin:0 auto;padding:clamp(10px,1.6vh,16px) 20px 10px;display:grid}.board-region{align-self:start;min-width:0}.board{aspect-ratio:1;border:1px solid #6d726f;grid-template-rows:repeat(8,minmax(0,1fr));grid-template-columns:repeat(8,minmax(0,1fr));width:100%;display:grid;position:relative;overflow:hidden}.board-locked .piece{cursor:wait}.square{border:0;justify-content:center;align-items:center;width:100%;min-width:0;height:100%;min-height:0;padding:0;display:flex;position:relative;overflow:hidden}.square.light{background:var(--light-square)}.square.dark{background:var(--dark-square)}.square.last:before,.square.selected:before{content:"";pointer-events:none;position:absolute;inset:0}.square.last:before{background:var(--last-move-blue)}.square.selected:before{box-shadow:inset 0 0 0 4px var(--coral);z-index:2}.square.hint-piece:after{content:"";pointer-events:none;z-index:4;border:3px dashed #e85d4ab8;position:absolute;inset:7%}.hint-target{pointer-events:none;z-index:2;background:#5b95be52;position:absolute;inset:0;box-shadow:inset 0 0 0 3px #4676976b}.piece{cursor:grab;font-synthesis:none;font-variant-emoji:text;text-align:center;-webkit-user-select:none;user-select:none;z-index:3;justify-content:center;align-items:center;width:100%;height:100%;font-family:Segoe UI Symbol,"Noto Sans Symbols 2",DejaVu Sans,sans-serif;font-size:clamp(34px,6.5vw,70px);font-style:normal;font-weight:400;line-height:.9;display:flex;position:relative;transform:translateY(-1px)}.piece:active{cursor:grabbing}.white-piece,.black-piece{color:#090a0a;-webkit-text-stroke:0;paint-order:normal;text-shadow:0 3px 4px #14171640}.piece-pawn{scale:.82}.target{pointer-events:none;z-index:2;position:absolute}.target.move{background:var(--move-green);inset:0;box-shadow:inset 0 0 0 2px #47895742}.target.capture{background:0 0;border:5px solid #3f8f529e;border-radius:50%;width:78%;height:78%}.animation-piece{font-synthesis:none;font-variant-emoji:text;pointer-events:none;text-align:center;-webkit-user-select:none;user-select:none;z-index:7;justify-content:center;align-items:center;width:12.5%;height:12.5%;font-family:Segoe UI Symbol,"Noto Sans Symbols 2",DejaVu Sans,sans-serif;font-size:clamp(34px,5vw,66px);font-style:normal;font-weight:400;line-height:.9;display:flex;position:absolute}.moving-piece{animation:piece-travel var(--move-duration) cubic-bezier(.22, .72, .28, 1) forwards}.captured-piece{z-index:6;animation:.55s cubic-bezier(.33,0,.66,1) forwards capture-dissolve}.rank-label,.file-label{color:#202322b8;z-index:4;font-size:clamp(9px,1.1vw,12px);font-weight:600;position:absolute}.dark .rank-label,.dark .file-label{color:#ffffffc7}.rank-label{top:4px;left:5px}.file-label{bottom:3px;right:5px}.board-caption{color:var(--muted);justify-content:space-between;align-items:center;min-height:38px;padding-top:7px;font-size:12px;display:flex}.board-caption>div:first-child{flex-direction:column;gap:3px;min-width:150px;display:flex}.board-caption>div:first-child span:last-child{color:#6b706db8;font-size:10px}.history-controls{border:1px solid #aeb2afb8;display:flex}.history-controls button{cursor:pointer;background:#ffffff94;border:0;width:38px;height:30px;font-size:17px;font-weight:700}.history-controls button+button{border-left:1px solid #aeb2afb8}.history-controls button:hover:not(:disabled){background:#fff}.history-controls button:disabled{cursor:not-allowed;opacity:.28}.control-panel{border-left:1px solid var(--line);flex-direction:column;gap:clamp(12px,1.8vh,20px);min-height:0;padding-left:clamp(12px,1.5vw,22px);display:flex}.control-panel section{border-bottom:1px solid var(--line);padding-bottom:clamp(12px,1.8vh,20px)}.section-heading{align-items:baseline;gap:12px;margin-bottom:12px;display:flex}.section-heading>span{color:var(--coral);font-variant-numeric:tabular-nums;font-size:11px;font-weight:700}.section-heading h2{margin:0;font-size:18px}.difficulty-grid{border:1px solid #aeb2af;grid-template-columns:1fr 1fr;display:grid}.difficulty-grid button{text-align:left;background:0 0;border:0;min-height:52px;padding:8px 10px}.difficulty-grid button:nth-child(odd){border-right:1px solid #aeb2af}.difficulty-grid button:nth-child(-n+4),.difficulty-grid button:nth-child(5),.difficulty-grid button:nth-child(6){border-bottom:1px solid #aeb2af}.difficulty-grid button:last-child{grid-column:1/-1}.difficulty-grid button:hover{background:#eceeeb}.difficulty-grid button.active{background:var(--coral);color:#fff}.difficulty-grid strong,.difficulty-grid span{display:block}.strictness-control{gap:6px;margin-top:10px;display:grid}.strictness-control>span{color:var(--muted);text-transform:uppercase;font-size:10px;font-weight:700}.strictness-control select{color:var(--ink);font:inherit;background:#fff;border:1px solid #aeb2af;width:100%;min-height:38px;padding:0 10px;font-size:12px}.strictness-control small{color:var(--muted);font-size:9px}.move-log{background:#ffffff57;border-left:1px solid #aeb2afa3;flex-direction:column;align-self:stretch;min-width:0;padding:2px 0 0 clamp(12px,1.4vw,20px);display:flex;overflow:hidden}.log-heading{flex:none;margin-bottom:10px}.log-body{flex:1;min-height:0;overflow:hidden}.log-scroll{scrollbar-color:#6b706d5c transparent;scrollbar-width:thin;height:100%;max-height:none;overflow:hidden auto}.move-log table{border-collapse:collapse;table-layout:fixed;width:100%}.move-log th{color:#6b706dd1;letter-spacing:.04em;text-align:left;text-transform:uppercase;z-index:2;background:#f4f5f3eb;padding:7px 5px;font-size:8px;font-weight:700;position:sticky;top:0}.move-log th:first-child{width:34px}.move-log th:nth-child(2){width:66px}.move-log th:nth-child(3){width:78px}.move-log td{color:#202322ad;vertical-align:top;word-break:break-word;border-top:1px solid #aeb2af57;padding:9px 5px;font-size:9px;line-height:1.35}.move-log td strong{color:#202322e0;white-space:nowrap;font-size:10px}.move-log tr.viewed td{background:#e85d4a12}.move-log tr.future td{opacity:.34}.log-color{border:1px solid #20232280;border-radius:50%;width:14px;height:14px;display:inline-block}.log-color.white{background:#ffffffe6}.log-color.black{background:#202322db}.rating{border-radius:999px;padding:3px 5px;font-size:8px;font-weight:700;line-height:1.2;display:inline-block}.rating-best{color:#347249;background:#4a976421}.rating-excellent{color:#315f70;background:#3e7d941f}.rating-good{color:#7d641f;background:#bc913221}.rating-free{color:#565b58;background:#6b706d1f}.log-empty{color:#6b706da3;margin:0;padding:16px 10px 16px 0;font-size:11px;line-height:1.5}.mobile-log-toggle{display:none}.log-themes{color:#467c5b;margin-top:4px;font-size:8px;font-weight:700;display:block}.difficulty-grid strong{font-size:14px}.difficulty-grid span{opacity:.74;margin-top:4px;font-size:10px}.color-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.color-row{align-items:center;gap:8px;min-width:0;display:flex}.color-chip{border:1px solid var(--ink);border-radius:50%;flex:0 0 24px;width:24px;height:24px}.color-chip.white{background:#fff}.color-chip.black{background:var(--ink)}.color-row div,.turn-indicator div{flex-direction:column;display:flex}.color-row small,.turn-indicator small{color:var(--muted);text-transform:uppercase;font-size:9px}.color-row strong,.turn-indicator strong{margin-top:2px;font-size:12px}.turn-section{margin-top:auto;border-bottom:0!important;padding-bottom:0!important}.turn-indicator{align-items:center;gap:13px;margin-bottom:18px;display:flex}.turn-indicator>span{background:var(--coral);border-radius:50%;width:12px;height:12px}.turn-indicator.waiting>span{animation:1s ease-in-out infinite pulse}.new-game{background:var(--coral);color:#fff;cursor:pointer;border:0;width:100%;min-height:50px;padding:0 22px;font-weight:700}.new-game:hover{background:var(--coral-dark)}.toast{z-index:20;background:#fff;border:1px solid #c9cdca;grid-template-columns:36px 1fr 28px;align-items:flex-start;gap:12px;width:calc(100% - 40px);max-width:430px;padding:18px;animation:.18s ease-out toast-in;display:grid;position:fixed;bottom:28px;right:28px;box-shadow:0 12px 28px #20232229}.toast-icon{border:2px solid var(--coral);color:var(--coral);border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-weight:700;display:flex}.toast strong{font-size:15px}.toast p{color:var(--muted);margin:5px 0 0;font-size:13px;line-height:1.45}.toast .toast-hint{color:#315f70;font-weight:700}.toast button{color:var(--muted);cursor:pointer;background:0 0;border:0;font-size:24px;line-height:1}.modal-backdrop{z-index:30;background:#161817b8;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.promotion-dialog,.report-dialog{border-top:5px solid var(--coral);background:#fff;width:100%;max-width:560px;padding:32px;box-shadow:0 22px 70px #0000003d}.report-dialog{max-width:920px;max-height:92vh;overflow:auto}.about-dialog{border-top:5px solid var(--coral);background:#fff;width:100%;max-width:640px;padding:34px 36px 32px;position:relative;box-shadow:0 22px 70px #0000003d}.about-kicker{color:var(--coral);text-transform:uppercase;margin:0 0 8px;font-size:11px;font-weight:700}.about-dialog h2{margin:0 42px 18px 0;font-size:30px}.about-copy{color:var(--muted);margin:0 0 26px;font-size:14px;line-height:1.72}.inline-link{color:var(--coral-dark);cursor:pointer;font:inherit;text-underline-offset:2px;background:0 0;border:0;margin:0 2px;padding:0;font-weight:700;text-decoration:underline;text-decoration-thickness:1px;display:inline}.inline-link:hover{color:var(--coral)}.guide-backdrop{z-index:50}.report-guide-dialog{border-top:5px solid var(--coral);background:#fff;width:100%;max-width:780px;max-height:92vh;padding:34px 36px 32px;position:relative;overflow:auto;box-shadow:0 22px 70px #0000003d}.report-guide-dialog h2{margin:0 42px 14px 0;font-size:28px}.report-guide-dialog h3{margin:24px 0 12px;font-size:17px}.guide-intro,.guide-scope p,.guide-blocks p,.guide-example p{color:var(--muted);line-height:1.55}.guide-intro{margin:0 0 16px;font-size:13px}.guide-scope{background:#e85d4a12;border:1px solid #e85d4a38;padding:14px 16px}.guide-scope strong{color:var(--coral-dark);text-transform:uppercase;font-size:11px}.guide-scope p{margin:5px 0 0;font-size:12px}.guide-blocks{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.guide-blocks article{border:1px solid var(--line);min-height:100px;padding:13px}.guide-blocks strong{font-size:13px}.guide-blocks p{margin:7px 0 0;font-size:11px}.guide-example{background:var(--ink);color:#fff;margin-top:18px;padding:16px}.guide-example span,.guide-example strong{display:block}.guide-example span{color:#f08a7b;text-transform:uppercase;font-size:9px;font-weight:800}.guide-example strong{margin-top:5px;font-size:17px}.guide-example p{color:#ffffffb8;margin:7px 0 0;font-size:11px}.guide-close-action{max-width:180px;margin-top:18px}.about-dialog-close{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:8px;font-size:26px;line-height:1;position:absolute;top:16px;right:18px}.about-close-action{max-width:180px}.promotion-dialog>p,.report-kicker{color:var(--coral);text-transform:uppercase;margin:0 0 8px;font-size:11px;font-weight:700}.promotion-dialog h2,.report-dialog h2{margin:0 0 24px;font-size:30px}.victory-dialog{z-index:2;border-top-color:#d8aa39;animation:.62s cubic-bezier(.16,1,.3,1) victory-pop;position:relative;overflow:hidden;box-shadow:0 24px 90px #d8aa3952,0 22px 70px #00000038}.victory-crown{color:#d8aa39;font-family:Segoe UI Symbol,"Noto Sans Symbols 2",DejaVu Sans,sans-serif;font-size:64px;line-height:1;animation:1.4s ease-in-out infinite alternate crown-glow;position:absolute;top:22px;right:26px}.victory-celebration{pointer-events:none;z-index:1;position:fixed;inset:0;overflow:hidden}.victory-celebration i{animation:confetti-fall 2.8s cubic-bezier(.18, .72, .38, 1) var(--confetti-delay) infinite;background:var(--confetti-color);height:12px;left:var(--confetti-x);opacity:0;width:7px;position:absolute;top:-24px}.promotion-dialog>div{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.promotion-dialog>div button{background:var(--paper);border:1px solid var(--line);min-height:84px}.promotion-piece{font-synthesis:none;font-variant-emoji:text;font-family:Segoe UI Symbol,"Noto Sans Symbols 2",DejaVu Sans,sans-serif;font-size:52px;font-style:normal;font-weight:400;line-height:1;display:block}.text-button{color:var(--muted);background:0 0;border:0;margin-top:18px;padding:8px 0}.report-detail{color:var(--muted);margin:-12px 0 26px;line-height:1.6}.report-toolbar{justify-content:space-between;align-items:center;gap:14px;margin:-8px 0 18px;display:flex}.report-guide-link{margin:0;font-size:11px}.pdf-actions{gap:7px;display:flex}.pdf-actions button{color:var(--ink);cursor:pointer;background:#fff;border:1px solid #aeb2af;min-height:34px;padding:0 12px;font-size:10px;font-weight:700}.pdf-actions button:hover:not(:disabled){background:#eceeeb}.pdf-actions button:disabled{cursor:wait;opacity:.55}.pdf-error{color:var(--coral-dark);margin:-8px 0 14px;font-size:11px}.report-grid{border:1px solid var(--line);grid-template-columns:repeat(3,1fr);margin-bottom:24px;display:grid}.report-grid>div{min-height:92px;padding:16px}.report-grid>div:not(:nth-child(3)){border-right:1px solid var(--line)}.report-grid span,.report-grid strong,.report-grid small{display:block}.report-grid span{color:var(--muted);margin-bottom:9px;font-size:11px}.report-grid strong{font-variant-numeric:tabular-nums;font-size:19px}.report-grid small{color:#6b706dd1;margin-top:8px;font-size:9px;line-height:1.4}.report-grid .longest-stat{border-right:0;border-top:1px solid var(--line);grid-column:1/-1;min-height:76px}.report-scope-note{border-left:3px solid var(--coral);color:var(--muted);background:#e85d4a12;margin:0;padding:11px 13px;font-size:11px;line-height:1.5}.analysis-section{border-top:1px solid var(--line);margin-top:22px;padding-top:20px}.analysis-section .analysis-label{color:var(--coral);letter-spacing:.04em;text-transform:uppercase;margin:0 0 8px;font-size:10px;font-weight:800}.analysis-section h3{margin:0 0 8px;font-size:22px}.analysis-section>p:not(.analysis-label){color:var(--muted);margin:0;font-size:13px;line-height:1.55}.profile-intro{margin-bottom:12px!important}.profile-grid{border:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.profile-grid>div{border-bottom:1px solid var(--line);border-right:1px solid var(--line);min-height:118px;padding:13px}.profile-grid>div:nth-child(2n){border-right:0}.profile-grid>div:nth-last-child(-n+2){border-bottom:0}.profile-grid span,.profile-grid strong{display:block}.profile-grid span{color:var(--muted);margin-bottom:6px;font-size:9px}.profile-grid strong{font-size:12px;line-height:1.35}.profile-grid p{color:var(--muted);margin:8px 0 0;font-size:9.5px;line-height:1.45}.theme-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.theme-list>div{color:#347249;background:#4a97641f;border:1px solid #4a976433;padding:9px 10px}.theme-list strong,.theme-list span{display:block}.theme-list strong{font-size:10px}.theme-list span{color:#567a63;margin-top:4px;font-size:9px;line-height:1.4}@media (width>=921px){html,body{height:100%;overflow:hidden}.app-shell{height:100dvh;min-height:0;overflow:hidden}.game-layout{align-items:stretch;height:calc(100dvh - 54px);overflow:hidden}.board-region{justify-self:center;width:min(100%,100dvh - 118px)}.control-panel,.move-log{height:100%;overflow:hidden}}.shake{animation:.24s ease-in-out shake}@keyframes pulse{50%{opacity:.5}}@keyframes toast-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-7px)}75%{transform:translate(7px)}}@keyframes piece-travel{0%{transform:translateY(-1px)}to{transform:translate(var(--move-x), calc(var(--move-y) - 1px))}}@keyframes capture-dissolve{0%{filter:blur();opacity:1;transform:scale(1)rotate(0)}45%{filter:blur(1px);opacity:.72;transform:scale(1.08)rotate(-3deg)}to{filter:blur(7px);opacity:0;transform:scale(.48)rotate(9deg)translateY(-14%)}}@keyframes victory-pop{0%{opacity:0;transform:scale(.84)translateY(26px)}60%{opacity:1;transform:scale(1.025)translateY(0)}to{transform:scale(1)}}@keyframes crown-glow{0%{filter:drop-shadow(0 0 2px #d8aa3940);transform:translateY(0)rotate(-2deg)}to{filter:drop-shadow(0 0 13px #d8aa39ad);transform:translateY(-4px)rotate(2deg)}}@keyframes confetti-fall{0%{opacity:0;transform:translateY(-5vh)rotate(0)}8%{opacity:1}to{opacity:.78;transform:translate3d(var(--confetti-drift), 108vh, 0) rotate(760deg)}}@media (width>=921px) and (height<=720px){.difficulty-grid button{min-height:43px;padding:6px 8px}.difficulty-grid strong{font-size:12px}.difficulty-grid span,.strictness-control small{font-size:8px}.section-heading{margin-bottom:8px}.section-heading h2{font-size:16px}.strictness-control select{min-height:32px}.new-game{min-height:42px}.turn-indicator{margin-bottom:10px}}@media (width>=921px) and (width<=1100px){.move-log th:first-child{width:24px}.move-log th:nth-child(2){width:48px}.move-log th:nth-child(3){width:64px}.move-log th,.move-log td{padding-left:3px;padding-right:3px}.rating{padding:3px 4px;font-size:7px}.difficulty-grid span{font-size:9px}}@media (width<=920px){.game-layout{grid-template-columns:1fr;max-width:720px;padding-bottom:24px}.control-panel{border-left:0;border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:24px;padding-top:28px;padding-left:0;display:grid}.turn-section{grid-column:1/-1}.move-log{grid-column:auto}.move-log .log-body{overflow:visible}.log-scroll{height:auto;max-height:320px}}@media (width<=600px){.topbar{height:48px;padding:0 16px}.brand-mark{width:30px;height:30px}.topbar-tools{gap:10px}.language-switch button{padding:0 10px}.engine-state{display:none}.brand-tagline{max-width:min(48vw,220px);line-height:1.15;font-size:9px!important}.brand-tagline span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.about-trigger{flex:0 0 16px}.game-layout{gap:20px;padding:12px 12px 24px}.piece,.animation-piece{font-size:clamp(31px,11vw,54px)}.control-panel{display:flex}.move-log{background:#ffffff80;border:1px solid #aeb2afa3;padding:0}.move-log .log-heading{align-items:center;min-height:52px;margin:0;padding:0 14px}.mobile-log-toggle{cursor:pointer;background:0 0;border:1px solid #aeb2afb8;justify-content:center;align-items:center;width:34px;height:30px;margin-left:auto;font-size:20px;display:flex}.mobile-collapsed .log-body{display:none}.mobile-open .log-body{border-top:1px solid #aeb2afa3;padding:8px 12px 12px}.toast{width:auto;bottom:12px;left:12px;right:12px}.promotion-dialog,.report-dialog,.about-dialog,.report-guide-dialog{padding:24px 18px}.report-toolbar{flex-direction:column;align-items:flex-start}.pdf-actions{width:100%}.pdf-actions button{flex:1}.guide-blocks,.theme-list{grid-template-columns:1fr}.report-grid{grid-template-columns:1fr 1fr}.profile-grid{grid-template-columns:1fr}.profile-grid>div,.profile-grid>div:nth-child(2n){border-right:0}.profile-grid>div:nth-last-child(-n+2){border-bottom:1px solid var(--line)}.profile-grid>div:last-child{border-bottom:0}.report-grid>div:nth-child(2){border-right:0}.report-grid>div:nth-child(3){border-right:1px solid var(--line);border-top:1px solid var(--line)}.board-caption>span:last-child{display:none}.move-log th:nth-child(3){width:72px}}@media (prefers-reduced-motion:reduce){*,:before,:after{animation-duration:.01ms!important;animation-iteration-count:1!important}}
