:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#090e14;--ink:#f3f6f9;--soft:#f3f6f9ad;--faint:#f3f6f970;--glass:#ffffff12;--glass-2:#ffffff21;--glass-line:#ffffff29;--glass-hi:#ffffff4d;--hair:#ffffff1a;--shadow:0 34px 70px -34px #000000bf;--accent:#8fd3ff;--accent-ink:#04202f;--pri:#f5f8fa;--pri-ink:#0b1420;--orb-1:#27507a;--orb-2:#4a3a78;--orb-3:#0f4a4f;--orb-o:.6;--sq-l:#e7edf2;--sq-d:#7f97ac;--hl:#ffdd788c;--c-brilliant:#1aa59c;--c-great:#4c86b8;--c-best:#6fa644;--c-good:#8aa873;--c-book:#b9895f;--c-inaccuracy:#e8b21f;--c-mistake:#f08a3c;--c-miss:#ee6b5b;--c-blunder:#e0412f;--r-xl:30px;--r-lg:22px;--r-md:16px;--sans:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI Variable Text", "Segoe UI", Inter, system-ui, sans-serif;--serif:"Instrument Serif", "New York", Georgia, serif;--ease:cubic-bezier(.2, .8, .2, 1)}:root[data-theme=day]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#e6edf3;--ink:#0d1b27;--soft:#0d1b27ad;--faint:#0d1b2775;--glass:#ffffff80;--glass-2:#ffffffc7;--glass-line:#ffffffd9;--glass-hi:#fffffff2;--hair:#0d1b271a;--shadow:0 34px 60px -34px #28466466;--accent:#1d74ad;--accent-ink:#fff;--pri:#0d1b27;--pri-ink:#fff;--orb-1:#b7d6f0;--orb-2:#d8cdf2;--orb-3:#bfe6df;--orb-o:.95}:root[data-board=walnut]{--sq-l:#e6d8bf;--sq-d:#8a6547}:root[data-board=green]{--sq-l:#e6e7d3;--sq-d:#5f8a6c}*{box-sizing:border-box}html,body{margin:0}body{font:15.5px/1.55 var(--sans);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;min-height:100vh}::selection{background:color-mix(in srgb, var(--accent) 40%, transparent)}h1,h2{font-family:var(--serif);letter-spacing:-.012em;text-wrap:balance;margin:0;font-weight:400}h1{font-size:56px;line-height:1.02}h2{font-size:30px;line-height:1.12}h3{margin:0;font-size:16.5px;font-weight:600}p{margin:0}button,input{font:inherit;color:inherit}button{cursor:pointer}a{color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.soft{color:var(--soft)}.num{font-variant-numeric:tabular-nums}.sky{z-index:-1;background:var(--bg);position:fixed;inset:0;overflow:hidden}.sky i{filter:blur(90px);opacity:var(--orb-o);will-change:transform;border-radius:50%;position:absolute}.sky i:first-child{background:var(--orb-1);width:54vw;height:54vw;animation:40s ease-in-out infinite alternate drift-a;top:-22vw;left:-14vw}.sky i:nth-child(2){background:var(--orb-2);width:44vw;height:44vw;animation:48s ease-in-out infinite alternate drift-b;top:-10vw;right:-12vw}.sky i:nth-child(3){background:var(--orb-3);width:62vw;height:62vw;animation:56s ease-in-out infinite alternate drift-c;bottom:-42vw;left:24vw}@keyframes drift-a{to{transform:translate(9vw,7vw)scale(1.12)}}@keyframes drift-b{to{transform:translate(-8vw,10vw)scale(.92)}}@keyframes drift-c{to{transform:translate(-10vw,-6vw)scale(1.08)}}.glass{background:var(--glass);border:1px solid var(--glass-line);border-radius:var(--r-xl);-webkit-backdrop-filter:blur(26px)saturate(165%);backdrop-filter:blur(26px)saturate(165%);box-shadow:inset 0 1px 0 var(--glass-hi), var(--shadow)}.pane{background:var(--glass);border:1px solid var(--glass-line);border-radius:var(--r-lg);box-shadow:inset 0 1px 0 var(--glass-hi)}.bar{z-index:30;pointer-events:none;justify-content:space-between;align-items:center;padding:0 22px;display:flex;position:fixed;top:16px;left:0;right:0}.bar>*{pointer-events:auto}.brand{font:400 21px/1 var(--serif);border-radius:999px;align-items:center;gap:9px;padding:7px 16px 7px 10px;text-decoration:none;display:flex}.brand i{background-repeat:no-repeat;background-size:contain;width:26px;height:26px}.nav{border-radius:999px;gap:2px;padding:5px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.nav a{color:var(--soft);border-radius:999px;padding:8px 18px;font-size:14.5px;font-weight:500;text-decoration:none;transition:color .2s,background .2s}.nav a:hover{color:var(--ink)}.nav a.on{background:var(--glass-2);color:var(--ink);box-shadow:inset 0 1px 0 var(--glass-hi)}.tools{align-items:center;gap:8px;display:flex}.chip{border:0;border-radius:999px;align-items:center;gap:8px;padding:8px 14px;font-size:13.5px;font-weight:500;display:inline-flex}.chip.dot:before{content:"";background:var(--accent);width:7px;height:7px;box-shadow:0 0 10px var(--accent);border-radius:50%}button.chip{color:var(--soft)}button.chip:hover{color:var(--ink)}main{max-width:1180px;margin:0 auto;padding:108px 28px 80px}.screen{animation:enter .45s var(--ease) both}@keyframes enter{0%{opacity:0;transform:translateY(10px)}}.head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:30px;display:flex}.head .sub{color:var(--soft);margin-top:8px}.crumb{color:var(--soft);margin-bottom:10px;font-size:14px}.crumb a{-webkit-text-decoration-color:var(--hair);text-decoration-color:var(--hair);text-underline-offset:4px}.crumb a:hover{color:var(--ink)}.btn{border:1px solid var(--glass-line);background:var(--glass);box-shadow:inset 0 1px 0 var(--glass-hi);transition:transform .15s var(--ease), background .2s;border-radius:999px;align-items:center;gap:8px;padding:11px 21px;font-size:15px;font-weight:550;text-decoration:none;display:inline-flex}.btn:hover{background:var(--glass-2)}.btn:active{transform:scale(.97)}.btn.pri{background:var(--pri);color:var(--pri-ink);box-shadow:0 14px 34px -14px color-mix(in srgb, var(--accent) 70%, transparent);border-color:#0000}.btn.pri:hover{filter:brightness(1.06)}.btn.sm{padding:7px 14px;font-size:13.5px}.btn[disabled]{opacity:.42;pointer-events:none}.acts{flex-wrap:wrap;gap:10px;margin-top:20px;display:flex}.seg{border-radius:999px;gap:2px;padding:4px;display:inline-flex}.seg button{color:var(--soft);background:0 0;border:0;border-radius:999px;padding:7px 15px;font-size:14px;font-weight:500;transition:color .2s,background .2s}.seg button.on{background:var(--glass-2);color:var(--ink);box-shadow:inset 0 1px 0 var(--glass-hi)}.field{border:1px solid var(--glass-line);background:var(--glass);outline-offset:2px;border-radius:999px;min-width:260px;padding:10px 18px}.field::placeholder{color:var(--faint)}input[type=range]{accent-color:var(--accent);width:150px}.link{color:var(--accent);text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--accent) 40%, transparent);text-decoration-color:color-mix(in srgb, var(--accent) 40%, transparent);text-underline-offset:4px;background:0 0;border:0;padding:0;font-size:14.5px}.lb{color:#fff;vertical-align:middle;border-radius:50%;flex:none;place-items:center;display:inline-grid;container-type:size}.lb svg{width:72%;height:72%;display:block}.lb b{font:700 52cqh/1 var(--sans);letter-spacing:-.04em}.lb-brilliant{background:var(--c-brilliant)}.lb-great{background:var(--c-great)}.lb-best,.lb-excellent,.lb-right{background:var(--c-best)}.lb-good{background:var(--c-good)}.lb-book{background:var(--c-book)}.lb-inaccuracy{background:var(--c-inaccuracy)}.lb-mistake{background:var(--c-mistake)}.lb-miss{background:var(--c-miss)}.lb-blunder,.lb-wrong{background:var(--c-blunder)}.frame{border-radius:26px;padding:10px}.board{aspect-ratio:1;-webkit-user-select:none;user-select:none;border-radius:16px;width:100%;position:relative;overflow:hidden;container-type:inline-size}.board.live{touch-action:none}.sqs{grid-template-rows:repeat(8,1fr);grid-template-columns:repeat(8,1fr);display:grid;position:absolute;inset:0}.sq{position:relative}.sq.l{background:var(--sq-l)}.sq.d{background:var(--sq-d)}.sq.last:after,.sq.sel:after,.sq.chk:after,.sq.glow:after{content:"";position:absolute;inset:0}.sq.last:after{background:var(--hl)}.sq.sel:after{background:color-mix(in srgb, var(--accent) 55%, transparent)}.sq.chk:after{background:radial-gradient(circle,#ff4646e6 0%,#ff464600 72%)}.sq.glow:after{box-shadow:inset 0 0 0 .7cqw var(--accent);background:color-mix(in srgb, var(--accent) 30%, transparent);animation:1.4s ease-in-out infinite breathe}@keyframes breathe{50%{opacity:.3;transform:scale(1.1)}}.sq.dot:before{content:"";z-index:1;background:#09142042;border-radius:50%;width:30%;height:30%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.sq.cap:before{content:"";z-index:1;border:.9cqw solid #09142042;border-radius:50%;position:absolute;inset:5%}.co{pointer-events:none;font-size:max(8px,1.9cqw);font-weight:600;line-height:1;position:absolute}.co.rk{top:4%;left:5%}.co.fl{bottom:4%;right:6%}.sq.l .co{color:var(--sq-d)}.sq.d .co{color:var(--sq-l)}.piece{width:12.5%;height:12.5%;transition:transform .2s var(--ease);will-change:transform;z-index:2;pointer-events:none;filter:drop-shadow(0 .4cqw .5cqw #00000047);background-position:50%;background-repeat:no-repeat;background-size:94%;position:absolute;top:0;left:0}.board.live .piece.mine{cursor:grab}.piece.drag{z-index:6;filter:drop-shadow(0 1.6cqw 1.6cqw #0006);transition:none}.board.live{cursor:default}.arrows{z-index:1;pointer-events:none;position:absolute;inset:0}.arrow{--tone:var(--c-move);animation:fade .3s var(--ease) backwards}.arrow.best{--tone:var(--c-best)}.arrow.bad{--tone:var(--c-blunder)}.arrow.solid{filter:drop-shadow(0 1.5px 2.5px #050c144d)}.arrow.solid path{stroke-width:.035px;stroke-linejoin:round}.arrow .g0{stop-color:var(--tone);stop-opacity:.62}.arrow .g1{stop-color:var(--tone);stop-opacity:.95}.arrow .g2{stop-color:color-mix(in srgb, var(--tone) 82%, #fff);stop-opacity:1}.arrow.solid text{font:700 .17px var(--sans);text-anchor:middle;dominant-baseline:central;fill:var(--tone-ink,#17120a);opacity:.9}.arrows.clean .arrow.solid,.arrows.fine .arrow.solid{filter:none}.arrows.clean .g0,.arrows.clean .g1,.arrows.clean .g2{stop-color:var(--tone);stop-opacity:.9}.arrows.clean .arrow.solid path{stroke-width:.02px}.arrows.clean .arrow.solid text{opacity:1;font-size:.15px;font-weight:800}.arrows.fine .g0,.arrows.fine .g1,.arrows.fine .g2{stop-color:var(--tone);stop-opacity:.96}.arrows.fine .arrow.solid path{stroke-width:.02px}.arrows.fine .arrow.solid text{opacity:1;font-size:.14px;font-weight:800}@keyframes fade{0%{opacity:0}}.mark{z-index:5;filter:drop-shadow(0 2px 4px #00000059);animation:pop .35s var(--ease) both;pointer-events:none;display:block;position:absolute}@keyframes pop{0%{opacity:0;transform:scale(.3)}}.hero{grid-template-columns:1.15fr .85fr;align-items:center;gap:40px;min-height:430px;margin-bottom:22px;display:grid}.hero h1{letter-spacing:-.025em;font-size:84px;line-height:.96}.lede{color:var(--soft);max-width:40ch;margin-top:22px;font-size:18.5px}.stage{height:430px;position:relative}.stage canvas{position:absolute;inset:0;width:100%!important;height:100%!important}.stage .flat{filter:drop-shadow(0 30px 40px #00000073);background-position:50%;background-repeat:no-repeat;background-size:contain;position:absolute;inset:8% 18%}.tiles{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.tile{padding:24px 26px 26px}.tile .tag{color:var(--soft);margin-bottom:12px;font-size:13.5px}.tile .big{font:400 40px/1 var(--serif)}.tile p{color:var(--soft);margin-top:10px;font-size:14.5px}.week{gap:7px;margin-top:16px;display:flex}.week i{background:var(--hair);border-radius:3px;width:26px;height:6px}.week i.on{background:var(--accent);box-shadow:0 0 12px color-mix(in srgb, var(--accent) 60%, transparent)}.ladder{gap:12px;margin-top:16px;display:flex}.ladder i{opacity:.22;background-repeat:no-repeat;background-size:contain;width:30px;height:30px;position:relative}.ladder i.got{opacity:1}.ladder i.now:after{content:"";background:var(--accent);border-radius:50%;width:5px;height:5px;position:absolute;bottom:-9px;left:50%;transform:translate(-50%)}.sec{margin:46px 0 16px}.cards{grid-template-columns:repeat(4,1fr);gap:18px;display:grid}.card{transition:transform .25s var(--ease), background .2s;padding:12px 12px 16px;text-decoration:none;display:block}.card:hover{background:var(--glass-2);transform:translateY(-4px)}.card .board{border-radius:12px}.card h3{margin:14px 6px 2px}.card .mv,.card .st{color:var(--soft);margin:0 6px;font-size:13.5px}.meter{background:var(--hair);border-radius:2px;height:3px;margin:12px 6px 8px;overflow:hidden}.meter i{background:var(--accent);height:100%;transition:width .5s var(--ease);border-radius:2px;display:block}.rows{grid-template-columns:repeat(3,1fr);gap:0 34px;display:grid}.rowlink{border-bottom:1px solid var(--hair);justify-content:space-between;align-items:baseline;gap:12px;padding:12px 2px;text-decoration:none;transition:color .15s;display:flex}.rowlink:hover{color:var(--accent)}.rowlink span{color:var(--faint);white-space:nowrap;font-size:13px}.empty{color:var(--soft);padding:30px 0}.fam{grid-template-columns:minmax(300px,420px) 1fr;align-items:start;gap:44px;display:grid}.fam .sticky{position:sticky;top:96px}.group{border-bottom:1px solid var(--hair)}.group>button{text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:16px;width:100%;padding:16px 2px;font-size:16.5px;font-weight:550;display:flex}.group>button span{color:var(--faint);white-space:nowrap;font-size:13.5px;font-weight:400}.group>button:hover{color:var(--accent)}.lines{padding:0 0 12px}.ln{border-radius:12px;grid-template-columns:14px 1fr auto;align-items:baseline;gap:12px;padding:9px 10px;text-decoration:none;transition:background .15s;display:grid}.ln:hover{background:var(--glass)}.ln small{color:var(--soft);font-size:13px;display:block}.ln em{color:var(--faint);white-space:nowrap;font-size:12.5px;font-style:normal}.dotst{border:1.5px solid var(--faint);border-radius:50%;width:9px;height:9px;display:inline-block}.dotst.seen{border-color:var(--accent);background:linear-gradient(90deg, var(--accent) 50%, transparent 50%)}.dotst.learned{border-color:var(--accent);background:var(--accent)}.dotst.due{border-color:var(--c-inaccuracy);background:var(--c-inaccuracy)}.two{grid-template-columns:minmax(320px,560px) minmax(300px,1fr);align-items:start;gap:40px;display:grid}.side{flex-direction:column;gap:16px;display:flex}.say{padding:24px 26px}.say h2{align-items:center;gap:12px;font-size:32px;display:flex}.say p{max-width:52ch;margin-top:10px}.say .rule{color:var(--soft);margin-top:14px;font-size:13.5px}.say.good{box-shadow:inset 0 1px 0 var(--glass-hi), 0 0 0 1px color-mix(in srgb, var(--c-best) 55%, transparent), var(--shadow)}.say.bad{box-shadow:inset 0 1px 0 var(--glass-hi), 0 0 0 1px color-mix(in srgb, var(--c-blunder) 55%, transparent), var(--shadow)}.shake{animation:.35s shake}@keyframes shake{25%{transform:translate(-6px)}75%{transform:translate(6px)}}.track{color:var(--soft);font-variant-numeric:tabular-nums;margin-top:16px;padding:0 6px;line-height:1.9}.track b{color:var(--ink);background:var(--glass-2);border-radius:8px;padding:2px 8px;font-weight:600}.track span{margin-right:7px}.bars{gap:5px;margin-top:14px;padding:0 6px;display:flex}.bars i{background:var(--hair);border-radius:2px;flex:1;height:3px;transition:background .3s}.bars i.got{background:var(--accent)}.bars i.now{background:var(--ink)}.box{padding:20px 24px}.box h3{margin-bottom:10px}.box .ln{margin:0 -10px}.playwrap{gap:12px;display:flex}.playwrap .frame{flex:1;min-width:0}.evalbar{width:10px;box-shadow:0 0 0 1px var(--glass-line);background:#0a0d10;border-radius:6px;flex:none;margin:10px 0;position:relative;overflow:hidden}.evalbar i{transition:height .6s var(--ease);background:#f2f5f7;position:absolute;bottom:0;left:0;right:0}.evalbar.flip i{top:0;bottom:auto}.who{justify-content:space-between;align-items:center;gap:12px;padding:10px 8px;font-weight:550;display:flex}.who span{color:var(--soft);font-size:14px;font-weight:400}.think:after{content:"";text-align:left;width:1.2em;animation:1.2s steps(4,end) infinite dots;display:inline-block}@keyframes dots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}}.moves{scrollbar-width:thin;scrollbar-color:var(--glass-line) transparent;max-height:232px;margin:4px -6px 0;overflow:auto}.moves table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.moves td{border-bottom:1px solid var(--hair);padding:6px 8px}.moves td:first-child{color:var(--faint);width:38px}.moves button{background:0 0;border:0;border-radius:8px;align-items:center;gap:7px;padding:3px 8px 3px 4px;display:inline-flex}.moves button:hover,.moves button.on{background:var(--glass-2)}.setup{color:var(--soft);flex-wrap:wrap;align-items:center;gap:22px;font-size:14px;display:flex}.setup label,.setup>div{align-items:center;gap:10px;display:flex}.setup b{color:var(--ink);min-width:4ch;font-weight:550}.sw{background:linear-gradient(135deg, var(--a) 50%, var(--b) 50%);width:24px;height:24px;box-shadow:0 0 0 1px var(--glass-line);border:0;border-radius:50%;padding:0;transition:box-shadow .2s}.sw.on{box-shadow:0 0 0 2px var(--bg), 0 0 0 4px var(--accent)}.rev{grid-template-columns:minmax(250px,300px) minmax(320px,520px) 1fr;align-items:start;gap:30px;display:grid}.acc{font:400 76px/.95 var(--serif);letter-spacing:-.02em}.counts{border-collapse:collapse;width:100%;margin-top:14px}.counts td{border-bottom:1px solid var(--hair);padding:7px 0}.counts td:last-child{text-align:right;font-variant-numeric:tabular-nums}.counts .lb{margin-right:10px}.graph{cursor:crosshair;border-radius:12px;width:100%;height:auto;margin-top:12px;display:block}.banner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;padding:22px 26px;display:flex}.banner h2{font-size:34px}@media (max-width:900px){main{padding:84px 16px 120px}.bar{padding:0 12px;top:10px}.nav{top:auto;bottom:calc(14px + env(safe-area-inset-bottom));position:fixed;left:50%}.nav a{padding:11px 16px}h1{font-size:40px}.hero{grid-template-columns:1fr;gap:0;min-height:0}.hero h1{font-size:54px}.stage{order:-1;height:260px}.tiles,.two,.fam,.rev{grid-template-columns:1fr}.cards{grid-template-columns:repeat(2,1fr);gap:12px}.rows{grid-template-columns:1fr}.fam .sticky{position:static}.field{width:100%;min-width:0}.brand span{display:none}}:root[data-motion=off] .sky i,:root[data-motion=off] .screen,:root[data-motion=off] .mark,:root[data-motion=off] .sq.glow:after{animation:none}:root[data-motion=off] .piece{transition:none}:root{--c-move:#ecc56c;--c-next:#45c9a0;--you-1:#f0c254;--you-2:#d99f2e;--you-3:#a36f17;--them-1:#58d3ab;--them-2:#2fae87;--them-3:#177a5e;--c-attack:#ff7a6b;--c-defend:#f1f4f8;--fit:min(100%, calc(100vh - 196px))}:root[data-theme=day]{--c-move:#b98510;--c-next:#0f8f6c;--you-1:#e9bb3f;--you-2:#c8930f;--you-3:#96690a;--them-1:#3cc39b;--them-2:#149674;--them-3:#0b6f55;--c-attack:#d9483b;--c-defend:#44566a}main:has(.trainer){max-width:1340px;padding-top:92px}.trainer{grid-template-columns:minmax(0,1fr) minmax(340px,420px);align-items:start;gap:34px;display:grid}.boardcol{flex-direction:column;align-items:center;min-width:0;display:flex}.boardcol>.frame,.boardcol>.playwrap,.stepper,.acts.under,.boardcol .track{width:var(--fit)}.playwrap .frame{width:auto}.frame{transition:box-shadow .4s}.frame.turn{box-shadow:inset 0 1px 0 var(--glass-hi), 0 0 0 1.5px color-mix(in srgb, var(--accent) 70%, transparent), 0 0 46px -6px color-mix(in srgb, var(--accent) 55%, transparent), var(--shadow)}.stepper{align-items:center;gap:14px;margin-top:14px;display:flex}.stepper .bars{flex:1;margin:0;padding:0}.btn.icon{flex:none;justify-content:center;width:42px;height:42px;padding:0}.acts.under{justify-content:center;margin-top:14px}.boardcol .track{margin-top:10px;padding:0}.track .away{color:var(--c-inaccuracy)}.side{gap:14px}.title{font-family:var(--serif);letter-spacing:-.012em;margin:0;font-size:38px;font-weight:400;line-height:1.05}.pts{margin:10px 0 0;padding:0;list-style:none}.pts li{padding:3px 0 3px 18px;position:relative}.pts li:before{content:"";background:var(--accent);border-radius:50%;width:6px;height:6px;position:absolute;top:.78em;left:2px}.pts.warn li:before{background:var(--c-inaccuracy)}.prev{border-top:1px solid var(--hair);color:var(--soft);margin-top:14px;padding-top:12px;font-size:14.5px}.prev b{color:var(--ink);font-weight:600}.opt{text-align:left;background:0 0;border:0;border-radius:12px;grid-template-columns:26px 1fr auto;align-items:center;gap:10px;width:calc(100% + 20px);margin:0 -10px;padding:8px 10px;transition:background .15s;display:grid}.opt:hover,.opt:focus-visible{background:var(--glass-2)}.opt i{background:var(--c-next);color:#fff;border-radius:50%;place-items:center;width:24px;height:24px;font-size:12px;font-style:normal;font-weight:700;display:grid}.opt.main i{background:var(--c-move);color:var(--accent-ink)}.opt em{color:var(--faint);white-space:nowrap;font-size:12.5px;font-style:normal}.opt.main em{color:var(--accent)}.opt span{min-width:0}.more{margin-top:8px;font-size:13px}.then{border-top:1px solid var(--hair);margin-top:12px;padding-top:12px}.chips{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.tagbtn{border:1px solid var(--glass-line);background:var(--glass);color:var(--soft);border-radius:999px;padding:5px 12px;font-size:13px;transition:background .15s}.tagbtn:hover{background:var(--glass-2);color:var(--ink)}.tagbtn b{color:var(--ink);font-weight:600}.plan summary{cursor:pointer;justify-content:space-between;align-items:center;font-size:16.5px;font-weight:600;list-style:none;display:flex}.plan summary::-webkit-details-marker{display:none}.plan summary:after{content:"";border-right:2px solid var(--soft);border-bottom:2px solid var(--soft);width:8px;height:8px;transition:transform .2s;transform:rotate(45deg)}.plan[open] summary:after{transform:rotate(-135deg)}.plan p{margin-top:12px}.plan h3{color:var(--soft);margin:16px 0 0;font-size:14px;font-weight:500}.box.setup{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.who{padding:0 2px 8px}.piece{transition:transform .3s var(--ease)}.piece.gone{transform:var(--at);animation:gone .36s var(--ease) both;z-index:1}@keyframes gone{0%{opacity:1;transform:var(--at) scale(1)}to{opacity:0;transform:var(--at) scale(.5) rotate(-10deg)}}.arrow line{stroke-width:.17px;stroke-linecap:round;stroke-dasharray:1;animation:draw .4s var(--ease) both}.arrow polygon{animation:head .4s var(--ease) both}@keyframes draw{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}@keyframes head{0%,55%{opacity:0}to{opacity:1}}.arrow.move{--tone:var(--you-1)}.arrow.move.o1{--tone:var(--you-2)}.arrow.move.o2{--tone:var(--you-3);--tone-ink:#fff}.arrow.next{--tone:var(--them-1);--tone-ink:#062a20}.arrow.next.o1{--tone:var(--them-2)}.arrow.next.o2{--tone:var(--them-3);--tone-ink:#fff}.arrow.attack line,.arrow.defend line,.arrow.preview line{stroke:var(--tone);stroke-width:.06px}.arrow.attack polygon,.arrow.defend polygon,.arrow.preview polygon{fill:var(--tone)}.arrow.attack,.arrow.defend,.arrow.preview{filter:drop-shadow(0 1px 1.5px #050c1466)}.arrow.attack{--tone:var(--c-attack)}.arrow.defend{--tone:var(--c-defend)}.arrow.preview{--tone:var(--c-next)}.arrow.dim{opacity:.42}.pulse{z-index:1;pointer-events:none;animation:ring .8s var(--ease) both;position:absolute;inset:0}.pulse.good{box-shadow:inset 0 0 0 .9cqw var(--c-best);background:color-mix(in srgb, var(--c-best) 45%, transparent)}.pulse.bad{box-shadow:inset 0 0 0 .9cqw var(--c-blunder);background:color-mix(in srgb, var(--c-blunder) 45%, transparent)}.pulse.warn{box-shadow:inset 0 0 0 .9cqw var(--c-inaccuracy);background:color-mix(in srgb, var(--c-inaccuracy) 45%, transparent)}@keyframes ring{0%{opacity:0;transform:scale(.55)}30%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1)}}.sweep{z-index:7;pointer-events:none;animation:sweep 1.2s var(--ease) both;background:linear-gradient(115deg,#0000 32%,#fff9 48%,#0000 62%) 0 0/260% 100%;position:absolute;inset:0}@keyframes sweep{0%{background-position:130% 0}to{opacity:0;background-position:-70% 0}}@media (max-width:900px){.trainer{grid-template-columns:1fr;gap:20px}:root{--fit:100%}.title{font-size:30px}}:root[data-motion=off] .arrow line,:root[data-motion=off] .arrow polygon{animation:none}:root[data-motion=off] .pulse,:root[data-motion=off] .sweep,:root[data-motion=off] .piece.gone{display:none}.sq.t-you:after,.sq.t-them:after{content:"";position:absolute;inset:0}.sq.t-you:after{background:color-mix(in srgb, var(--c-move) 20%, transparent);box-shadow:inset 0 0 0 .2cqw color-mix(in srgb, var(--c-move) 55%, transparent)}.sq.t-them:after{background:color-mix(in srgb, var(--c-next) 16%, transparent);box-shadow:inset 0 0 0 .2cqw color-mix(in srgb, var(--c-next) 50%, transparent)}.piece.ghost{opacity:.42;z-index:1;transition:none;animation:1.6s ease-in-out infinite ghost}@keyframes ghost{50%{opacity:.2}}.legend{color:var(--soft);flex-wrap:wrap;flex:1;justify-content:center;gap:6px 18px;font-size:13px;display:flex}.legend span{align-items:center;gap:7px;display:inline-flex}.k{border-radius:3px;width:18px;height:5px;display:inline-block}.k.you{background:var(--c-move)}.k.them{background:var(--c-next)}.k.attack{background:var(--c-attack)}.k.defend{background:var(--c-defend);box-shadow:0 0 0 1px var(--glass-line)}.lrow{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:14px;margin-bottom:6px;display:flex}.ribbon{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.chipm{border:1px solid var(--glass-line);font-variant-numeric:tabular-nums;color:var(--faint);background:0 0;border-radius:10px;padding:5px 10px;font-size:14px;font-weight:550;transition:background .25s,color .25s,border-color .25s}button.chipm:not(:disabled):hover{border-color:var(--c-move);color:var(--ink)}.chipm:disabled{cursor:default}.chipm.done{background:var(--glass-2);color:var(--ink);border-color:#0000}.chipm.now{color:var(--ink);border-color:var(--c-move);box-shadow:0 0 0 3px color-mix(in srgb, var(--c-move) 26%, transparent)}.chipm.away{color:var(--c-inaccuracy);border-color:color-mix(in srgb, var(--c-inaccuracy) 55%, transparent)}:root[data-motion=off] .piece.ghost{animation:none}.scores{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.scores div{background:var(--glass);border:1px solid var(--glass-line);text-align:center;border-radius:16px;padding:12px 8px 10px}.scores b{font:400 30px/1 var(--serif);display:block}.scores span{color:var(--soft);font-size:12px}.ribbon.under{width:var(--fit);justify-content:center}.sel{min-width:0;max-width:230px;color:var(--ink);border-radius:12px;padding:8px 12px}.sel option{color:#0d1b27}main:has(.trainer.wide){max-width:1900px}.trainer.wide{--fit:100%;grid-template-columns:auto minmax(0,1fr)}.trainer.wide .boardcol{width:min(100vh - 196px,46vw)}.lpanel{flex-direction:column;min-width:0;height:calc(100vh - 116px);min-height:600px;padding:18px 0 0;display:flex;position:sticky;top:92px;overflow:hidden}.phead{justify-content:space-between;align-items:flex-end;gap:18px;padding:0 26px;display:flex}.phead .crumb{margin-bottom:4px}.phead .title{font-size:32px}.ptools{flex-wrap:wrap;flex:none;justify-content:flex-end;align-items:center;gap:8px;max-width:340px;display:flex}.now{border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);grid-template-rows:1fr auto;gap:12px;min-height:176px;margin-top:14px;padding:16px 26px;transition:box-shadow .3s;display:grid}.now.good{box-shadow:inset 3px 0 0 var(--c-best)}.now.bad{box-shadow:inset 3px 0 0 var(--c-blunder)}.nsay h2{align-items:center;gap:10px;font-size:28px;display:flex}.nsay p{max-width:70ch;margin-top:6px;font-size:15.5px;line-height:1.45}.nsay p.soft{font-size:14px}.nacts{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.nacts .think{margin-left:6px;font-size:13.5px}.grid{scrollbar-width:thin;scrollbar-color:var(--glass-line) transparent;flex:1;min-height:0;margin:0 14px;position:relative;overflow:hidden auto}.gsheet{position:relative}.gband{pointer-events:none;background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--ink) 6%, transparent) 26%, color-mix(in srgb, var(--ink) 6%, transparent) 74%, transparent);transition:transform .55s var(--ease), height .55s var(--ease);position:absolute;top:0;left:0;right:0}.grail{background:var(--glass-line);pointer-events:none;border-radius:1px;width:2px;margin-left:-1px;position:absolute}.grail.lit{background:var(--c-move);box-shadow:0 0 12px color-mix(in srgb, var(--c-move) 70%, transparent);transition:height .55s var(--ease)}.gnum{font-variant-numeric:tabular-nums;width:22px;height:22px;color:var(--soft);background:color-mix(in srgb, var(--bg) 84%, var(--ink));border:1px solid var(--glass-line);pointer-events:none;transition:top .55s var(--ease), border-color .3s, color .3s;border-radius:50%;place-items:center;margin:-11px 0 0 -11px;font-size:11.5px;line-height:1;display:grid;position:absolute}.gnum.past,.gnum.here{border-color:var(--c-move);color:var(--ink)}.gnum.here{background:var(--c-move);color:#1b1403;font-weight:650}.gcap,.gcol{white-space:nowrap;pointer-events:none;font-size:12.5px;line-height:20px;position:absolute;top:12px}.gcap{color:var(--soft);align-items:center;gap:14px;display:flex}.gcap em{color:color-mix(in srgb, var(--c-blunder) 50%, var(--ink));align-items:center;gap:6px;font-style:normal;display:inline-flex}.gcap em i{background:color-mix(in srgb, var(--c-blunder) 40%, transparent);border:1.5px solid var(--c-blunder);border-radius:50%;width:9px;height:9px}.gcol{color:var(--faint);transform:translate(-50%)}.gcol.you{color:var(--c-move);font-weight:600}.gbook{border-top:1px dashed var(--glass-line);text-align:right;color:var(--faint);pointer-events:none;transition:top .55s var(--ease);padding:3px 4px 0 0;font-size:11px;line-height:1.2;position:absolute;left:0;right:0}.gdot{width:0;height:0;color:inherit;z-index:1;transition:transform .55s var(--ease);background:0 0;border:0;padding:0;position:absolute;top:0;left:0}.gdot:hover{z-index:3}.gdot:focus-visible{outline:none}.gdot .disc{width:var(--s);height:var(--s);left:calc(var(--s) / -2);top:calc(var(--s) / -2);transition:width .55s var(--ease), height .55s var(--ease), left .55s var(--ease), top .55s var(--ease), transform .2s var(--ease), box-shadow .35s, background .3s, border-color .2s, opacity .3s;animation:gpop .45s var(--ease) backwards;border-radius:50%;place-items:center;display:grid;position:absolute}@keyframes gpop{0%{opacity:0;transform:scale(.3)}}.gdot b{white-space:nowrap;font-variant-numeric:tabular-nums;transition:font-size .55s var(--ease);font-weight:650;line-height:1;position:relative}.gdot:focus-visible .disc{outline:2px solid var(--accent);outline-offset:3px}.pc{pointer-events:none;opacity:.2;-webkit-mask:var(--pc) no-repeat 50% 56% / 80%;-webkit-mask:var(--pc) no-repeat 50% 56% / 80%;mask:var(--pc) no-repeat 50% 56% / 80%;background:currentColor;border-radius:50%;position:absolute;inset:0}.stop{--ring:var(--c-move)}.stop.w .disc{color:#0d1b27;background:radial-gradient(circle at 32% 26%,#fff 0%,#e4eaf0 55%,#c3cdd8 100%);box-shadow:0 10px 22px -12px #000000a6,inset 0 -3px 8px #0d1b271f}.stop.b .disc{color:#f3f6f9;background:radial-gradient(circle at 32% 26%,#566577 0%,#232d39 55%,#10161d 100%);box-shadow:0 10px 22px -12px #000000bf,inset 0 1px #fff3,inset 0 0 0 1px #ffffff1a}.stop.start .disc{background:color-mix(in srgb, var(--bg) 70%, var(--ink));border:1.5px solid var(--c-move)}.stop.ahead .disc{opacity:.62}.stop.next .disc{opacity:.85}.stop.ahead:hover .disc,.stop.ahead:focus-visible .disc{opacity:1}.stop.veil .disc{background:var(--glass);border:1.5px dashed var(--glass-line);color:var(--faint);box-shadow:none}.stop.veil{cursor:default}.stop.slip{--ring:var(--c-blunder)}.stop.answer{--ring:var(--c-best)}.stop.away{--ring:var(--ink)}.stop.slip .disc,.stop.answer .disc,.stop.away .disc{box-shadow:0 0 0 2.5px var(--ring), 0 10px 22px -12px #000000a6}.stop.here .disc{opacity:1;box-shadow:0 0 0 3.5px var(--ring), 0 0 0 10px color-mix(in srgb, var(--ring) 16%, transparent), 0 0 46px -6px var(--ring)}.stop.next .disc:after{content:"";border:2px solid var(--c-next);border-radius:50%;animation:1.9s ease-in-out infinite breathe;position:absolute;inset:-6px}.stop.next.you .disc:after{border-color:var(--c-move)}.stop:not(.veil):hover .disc{transform:scale(1.07)}.stop .lb{left:calc(var(--s) / 2 - 13px);top:calc(var(--s) / -2 - 5px);pointer-events:none;transition:left .55s var(--ease), top .55s var(--ease);display:grid;position:absolute}.side .disc,.more .disc{background:var(--glass-2);border:1.5px solid var(--glass-line);box-shadow:inset 0 1px 0 var(--glass-hi);opacity:.78}.side.open .disc,.side:hover .disc,.side:focus-visible .disc,.more:hover .disc{opacity:1}.side:hover .disc,.side:focus-visible .disc{transform:scale(1.12)}.side.you:hover .disc,.side.you:focus-visible .disc{border-color:var(--c-move);background:color-mix(in srgb, var(--c-move) 26%, var(--glass-2))}.side.them:hover .disc,.side.them:focus-visible .disc{border-color:var(--c-next);background:color-mix(in srgb, var(--c-next) 26%, var(--glass-2))}.side.trap .disc{border-color:var(--c-mistake)}.side.slip .disc{opacity:1;background:color-mix(in srgb, var(--c-blunder) 28%, var(--glass));border-color:var(--c-blunder)}.side.slip:hover .disc,.side.slip:focus-visible .disc{background:color-mix(in srgb, var(--c-blunder) 52%, var(--glass));border-color:var(--c-blunder)}.side.line .disc{opacity:1;background:color-mix(in srgb, var(--c-move) 14%, transparent);border:1.5px dashed var(--c-move);color:var(--c-move)}.more .disc{border-style:dotted;border-color:var(--glass-hi);box-shadow:none;color:var(--soft);background:0 0}.more:hover .disc{color:var(--ink);border-color:var(--ink)}.gtip{z-index:5;pointer-events:none;background:color-mix(in srgb, var(--bg) 92%, transparent);border-radius:13px;gap:2px;width:max-content;max-width:260px;padding:9px 13px;font-size:13px;line-height:1.4;animation:.18s backwards fade;display:grid;position:absolute;transform:translate(-50%)}.gtip.up{transform:translate(-50%,-100%)}.gtip b{font-size:14px}.gtip span{color:var(--soft)}.pfoot{border-top:1px solid var(--hair);flex-wrap:wrap;align-items:center;gap:8px;padding:10px 26px 12px;display:flex;position:relative}.pfoot .pnote{color:var(--faint);margin-left:auto;font-size:12.5px}.pfoot .plan summary{border:1px solid var(--glass-line);background:var(--glass);box-shadow:inset 0 1px 0 var(--glass-hi);border-radius:999px;gap:10px;padding:7px 14px;font-size:13.5px;font-weight:550;display:inline-flex}.pfoot .plan summary:after{width:6px;height:6px;margin-top:3px;transform:rotate(-135deg)}.pfoot .plan[open] summary:after{margin-top:-3px;transform:rotate(45deg)}.planbody{z-index:6;border-radius:var(--r-lg);background:color-mix(in srgb, var(--bg) 90%, transparent);max-height:62vh;padding:22px 26px;position:absolute;bottom:calc(100% + 8px);left:20px;right:20px;overflow:auto}.planbody p:first-child{margin-top:0}@media (max-width:1500px){.trainer.wide .boardcol{width:min(100vh - 196px,50vw)}.phead .title{font-size:28px}.nsay h2{font-size:25px}}@media (max-width:1100px){.trainer.wide{grid-template-columns:1fr}.trainer.wide .boardcol{--fit:min(100%, calc(100vh - 196px));width:auto}.lpanel{height:auto;position:static}.grid{flex:none;overflow:visible}}:root[data-motion=off] .gdot,:root[data-motion=off] .gdot .disc,:root[data-motion=off] .gdot b,:root[data-motion=off] .gband,:root[data-motion=off] .grail,:root[data-motion=off] .gnum,:root[data-motion=off] .gbook,:root[data-motion=off] .gtip,:root[data-motion=off] .stop .lb,:root[data-motion=off] .stop.next .disc:after{transition:none;animation:none}
