.ml-body{background:#fff8ef}.ml-stage{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;overflow-x:hidden;overflow-y:auto;background:#fff8ef;color:#2b2620;font-family:Poppins,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;padding:max(16px,env(safe-area-inset-top)) 20px max(16px,env(safe-area-inset-bottom));opacity:1;transition:opacity .42s ease;-webkit-tap-highlight-color:transparent}.ml-stage.is-leaving{opacity:0;pointer-events:none}.ml-inner{display:flex;flex-direction:column;align-items:center;gap:clamp(14px,3vh,26px);margin:auto}.ml-brand{display:flex;align-items:center;gap:9px;font-size:clamp(16px,2.4vw,19px);font-weight:700;letter-spacing:-.01em}.ml-brand img{display:block;flex:0 0 auto}.ml-board{line-height:0}.ml-moves{display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:4px 10px;list-style:none;margin:0;padding:0;font-family:IBM Plex Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:clamp(12px,1.8vw,14px);min-height:1.4em}.ml-moves li{display:inline-flex;align-items:baseline;gap:5px;color:#6b6355;opacity:.3;transition:opacity .35s ease,color .35s ease}.ml-moves li.is-played{opacity:1;color:#2b2620;font-weight:600}.ml-moves li.is-next{opacity:.75;color:#e2694b}.ml-num{color:#b6ad9c;font-weight:400}.ml-skip{background:transparent;border:none;color:#6b6355;font-family:inherit;font-size:12px;text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:6px 10px;border-radius:8px}.ml-skip:hover{color:#2b2620}.ml-skip:focus-visible{outline:2px solid #e2694b;outline-offset:2px}@media (max-height: 560px){.ml-inner{gap:10px}.ml-moves{font-size:11.5px}}@media (prefers-reduced-motion: reduce){.ml-stage,.ml-moves li{transition:none}}html,body{margin:0;padding:0;background:var(--ch-bg, #FFF8EF);min-height:100%}#root{min-height:100vh}*{box-sizing:border-box}@keyframes chk-check-pulse{0%,to{opacity:.75}50%{opacity:1}}@keyframes chk-mate-pulse{0%{opacity:1}60%{opacity:.65}to{opacity:1}}@keyframes chk-mate-veil{0%{opacity:0}to{opacity:1}}@keyframes chk-mate-label{0%{opacity:0;transform:translate(-50%,-50%) scale(.92)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@media (prefers-reduced-motion: reduce){[style*=chk-check-pulse]{animation:none!important}}.ch-navbar{position:sticky;top:0;z-index:10;border-bottom:1px solid var(--ch-border, #ECE4D6);background:linear-gradient(180deg,#fff8eff0,#fff8efcc);backdrop-filter:saturate(1.35) blur(14px);-webkit-backdrop-filter:saturate(1.35) blur(14px)}.ch-navshell{display:inline-flex;align-items:center;gap:6px;padding:5px 6px;border-radius:999px;background:linear-gradient(180deg,#fffffff2,#fffdfab8);border:1px solid rgba(43,38,32,.07);box-shadow:inset 0 1px #fffffff2,0 1px 2px #2b26200d,0 10px 26px -18px #2b262073;backdrop-filter:saturate(1.4) blur(8px);-webkit-backdrop-filter:saturate(1.4) blur(8px)}.ch-navshell-divider{width:1px;align-self:stretch;margin:2px;background:linear-gradient(180deg,#2b262005,#2b26201f,#2b262005)}.ch-navbtn{border:1px solid transparent;border-radius:999px;padding:8px 14px;font-size:13.5px;font-weight:500;font-family:inherit;color:var(--ch-nav-text, #2B2620);background:transparent;cursor:pointer;white-space:nowrap;transition:background-color .17s ease,border-color .17s ease,box-shadow .17s ease,transform .17s cubic-bezier(.2,.8,.3,1),color .17s ease}.ch-navbtn:hover{background:linear-gradient(180deg,#ffffffe6,#2b26200b);border-color:#2b262012;box-shadow:inset 0 1px #fffffff2,0 1px 3px #2b262012}.ch-navbtn:active{transform:translateY(.5px) scale(.988);box-shadow:inset 0 2px 5px #2b26201f}.ch-navbtn:focus-visible{outline:2px solid rgba(226,105,75,.55);outline-offset:2px}.ch-navbtn.is-active{font-weight:600;background:linear-gradient(180deg,#e2694b2b,#e2694b17);border-color:#e2694b4d;box-shadow:inset 0 1px #fffc,0 1px 3px #e2694b2e}.ch-navbtn.is-full{border-radius:12px;width:100%;text-align:left;padding:10px 14px}.ch-iconbtn{display:flex;align-items:center;justify-content:center;gap:5px;background:transparent;border:1px solid transparent;border-radius:999px;padding:7px 9px;cursor:pointer;transition:background-color .17s ease,border-color .17s ease,box-shadow .17s ease,transform .17s cubic-bezier(.2,.8,.3,1)}.ch-iconbtn:hover{background:linear-gradient(180deg,#ffffffe6,#2b26200b);border-color:#2b262012;box-shadow:inset 0 1px #ffffffe6,0 1px 3px #2b26200f}.ch-iconbtn:active{transform:translateY(.5px) scale(.99)}@media (prefers-reduced-motion: reduce){.ch-navbtn,.ch-iconbtn{transition:none}}[data-theme=dark] .ch-navbar{background:linear-gradient(180deg,#18120eeb,#140f0cb8);border-bottom-color:#ffffff14}[data-theme=dark] .ch-navshell{background:linear-gradient(180deg,#3a2e26b8,#221a15a8);border-color:#ffffff17;box-shadow:inset 0 1px #ffffff1a,inset 0 -1px #00000059,0 1px 2px #0006,0 16px 34px -20px #000000d9}[data-theme=dark] .ch-navshell-divider{background:linear-gradient(180deg,#ffffff05,#ffffff29,#ffffff05)}[data-theme=dark] .ch-navbtn:hover{background:linear-gradient(180deg,#ffffff1f,#ffffff08);border-color:#ffffff1a;box-shadow:inset 0 1px #ffffff24,0 1px 3px #0006}[data-theme=dark] .ch-navbtn:active{box-shadow:inset 0 2px 6px #00000080}[data-theme=dark] .ch-navbtn.is-active{background:linear-gradient(180deg,#f07c5c47,#f07c5c24);border-color:#f07c5c6b;box-shadow:inset 0 1px #ffffff29,0 1px 4px #f07c5c47}[data-theme=dark] .ch-iconbtn:hover{background:linear-gradient(180deg,#ffffff1f,#ffffff08);border-color:#ffffff1a;box-shadow:inset 0 1px #ffffff24,0 1px 3px #0006}.ch-themetoggle{position:relative;flex:none;width:62px;height:30px;padding:0;border-radius:999px;cursor:pointer;overflow:hidden;border:1px solid rgba(255,255,255,.14);background:linear-gradient(180deg,#ffffff1a,#fff0 46%),linear-gradient(180deg,#3b3029,#241c17);box-shadow:inset 0 1px #fff3,inset 0 -2px 6px #0000008c,0 3px 10px #00000052;transition:transform .2s cubic-bezier(.2,.8,.3,1),box-shadow .2s ease,border-color .2s ease}.ch-themetoggle:hover{border-color:#ffffff3d;box-shadow:inset 0 1px #ffffff42,inset 0 -2px 6px #0000008c,0 5px 16px #00000061}.ch-themetoggle:active{transform:translateY(.5px) scale(.982)}.ch-themetoggle:focus-visible{outline:2px solid rgba(240,124,92,.7);outline-offset:2px}.ch-themetoggle-glow{position:absolute;top:50%;left:8px;width:26px;height:26px;margin-top:-13px;border-radius:50%;pointer-events:none;background:radial-gradient(circle,#ffbb788c,#f07c5c00 70%);opacity:.95;transition:transform .32s cubic-bezier(.34,1.3,.4,1),background .32s ease}.ch-themetoggle[data-mode=dark] .ch-themetoggle-glow{transform:translate(28px);background:radial-gradient(circle,#92a6ff80,#788cff00 70%)}.ch-themetoggle-track{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:space-between;padding:0 7px;pointer-events:none}.ch-themetoggle-icon{display:flex;color:#ffffff8c;transition:color .32s ease,opacity .32s ease,transform .32s cubic-bezier(.34,1.3,.4,1)}.ch-themetoggle-icon.is-sun{transform:scale(.92);opacity:.7}.ch-themetoggle-icon.is-moon{transform:scale(.9);opacity:.7}.ch-themetoggle[data-mode=light] .ch-themetoggle-icon.is-sun{color:#ffd9a0;opacity:1;transform:scale(1.08)}.ch-themetoggle[data-mode=dark] .ch-themetoggle-icon.is-moon{color:#c7d2ff;opacity:1;transform:scale(1.08)}.ch-themetoggle-knob{position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#6a4a22;background:radial-gradient(circle at 32% 26%,#fffffff2,#fff0 58%),linear-gradient(180deg,#fff3df,#f3d8ae);box-shadow:inset 0 1px 1px #fffffff2,inset 0 -2px 4px #96693759,0 2px 5px #00000073;transition:transform .34s cubic-bezier(.34,1.32,.42,1),background .32s ease,color .32s ease}.ch-themetoggle[data-mode=dark] .ch-themetoggle-knob{transform:translate(32px);color:#2a2f55;background:radial-gradient(circle at 32% 26%,#ffffffd9,#fff0 58%),linear-gradient(180deg,#e9edff,#b9c6ff)}.ch-theming .ch-navbar,.ch-theming .ch-navshell{transition:background-color .62s ease,background .62s ease,border-color .62s ease,box-shadow .62s ease}.ch-theming .ch-navbtn,.ch-theming .ch-iconbtn{transition:color .52s ease,background-color .52s ease,border-color .52s ease,box-shadow .52s ease}@media (prefers-reduced-motion: reduce){.ch-themetoggle,.ch-themetoggle-glow,.ch-themetoggle-icon,.ch-themetoggle-knob,.ch-theming .ch-navbar,.ch-theming .ch-navshell,.ch-theming .ch-navbtn,.ch-theming .ch-iconbtn{transition:none}}.ch-theming,.ch-theming *{transition-property:background-color,border-color,color,fill,stroke;transition-duration:.56s;transition-timing-function:cubic-bezier(.4,.15,.2,1)}
