@font-face{font-family:Outfit Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/outfit-latin-ext-wght-normal-DdQaqQDo.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/outfit-latin-wght-normal-Bc-8i84L.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-vietnamese-wght-normal-CnvboYUG.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-ext-wght-normal-Ca2vKHc0.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-wght-normal-ukD16Tqj.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0c0f12;--bg-elev:#11161b;--surface:#161c22;--surface-2:#1c242c;--border:#2a343e;--text:#e9eef3;--muted:#8b98a5;--accent:#3dd68c;--accent-2:#1f8f5b;--accent-ink:#062114;--gold:#e6c36a;--danger:#ff6b6b;--danger-soft:#8a3a3a;--good:#3dd68c;--shadow:0 18px 50px #00000059;--board-shadow:0 16px 40px #00000073;--last-from:#e6c36a61;--last-to:#3dd68c66;--selected-sq:#5b8cff6b;--hint:#e6c36a;--wrong-sq:#ff6b6b80;--dot:#14181c66;--grid:#ffffff0d;--font:"Outfit Variable", Outfit, system-ui, sans-serif;--serif:"Fraunces Variable", Fraunces, Georgia, serif;--radius:16px}html[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f3efe6;--bg-elev:#f8f4ec;--surface:#fffcf6;--surface-2:#f3ece0;--border:#ddd2c0;--text:#1b1f23;--muted:#66707a;--accent:#1c8a57;--accent-2:#146843;--accent-ink:#f4fff8;--gold:#9a6f12;--danger:#c43c3c;--danger-soft:#e8b4b4;--good:#1c8a57;--shadow:0 14px 36px #503c1e1a;--board-shadow:0 12px 28px #3c281429;--last-from:#9a6f1247;--last-to:#1c8a5752;--selected-sq:#325ab447;--dot:#14181c47;--grid:#0000000f}*{box-sizing:border-box}html,body,#root{min-height:100%}html{-webkit-text-size-adjust:100%}body{font-family:var(--font);background:radial-gradient(1200px 600px at 10% -10%, #3dd68c14, transparent 50%), radial-gradient(900px 500px at 110% 0%, #e6c36a0f, transparent 46%), var(--bg);color:var(--text);margin:0;line-height:1.5}button,input{font:inherit;color:inherit}button{cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:disabled{opacity:.45}h1,h2,h3{font-family:var(--serif);letter-spacing:-.02em;margin:0 0 .4em;font-weight:560}h1{font-size:clamp(1.8rem,3vw,2.5rem);line-height:1.15}h2{font-size:1.25rem}p{margin:0 0 .75rem}a{color:var(--accent)}.eyebrow{text-transform:uppercase;letter-spacing:.14em;color:var(--accent);align-items:center;gap:.4rem;margin-bottom:.35rem;font-size:.72rem;font-weight:600;display:inline-flex}.lede{color:var(--muted);max-width:42rem;font-size:1.05rem}.muted{color:var(--muted)}.fine{color:var(--muted);font-size:.82rem}.shell{flex-direction:column;min-height:100dvh;display:flex}.body{flex:1;width:100%;max-width:1680px;margin:0 auto;padding:0 1.25rem 5.5rem}.topbar{padding:calc(.65rem + env(safe-area-inset-top)) 1.25rem .65rem;z-index:20;background:color-mix(in oklab, var(--bg) 82%, transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--border);align-items:center;gap:.75rem;display:flex;position:sticky;top:0}.brand{background:0 0;border:0;align-items:center;gap:.6rem;padding:0;display:flex}.brand span{text-align:left;flex-direction:column;line-height:1.05;display:flex}.brand strong{font-family:var(--serif);font-size:1.15rem}.brand em{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-size:.7rem;font-style:normal}.mark{background:linear-gradient(160deg, var(--accent), var(--accent-2));width:36px;height:36px;color:var(--accent-ink);border-radius:10px;place-items:center;font-size:1.25rem;display:grid}.mark.lg{border-radius:16px;width:56px;height:56px;font-size:1.8rem}.topnav{gap:.2rem;margin-left:.5rem;display:flex}.topnav button,.dock button{color:var(--muted);background:0 0;border:0;border-radius:10px;align-items:center;gap:.4rem;padding:.5rem .7rem;display:inline-flex}.topnav button.active,.dock button.active,.icon-btn.active{color:var(--text);background:var(--surface)}.top-actions{align-items:center;gap:.4rem;margin-left:auto;display:flex}.auth-slot{align-items:center;display:flex}.auth-chip{min-height:44px;padding:.4rem .7rem;font-size:.85rem}.auth-row{flex-wrap:wrap;align-items:center;gap:.5rem;margin:.85rem 0 .4rem;display:flex}.auth-row .fine{width:100%;margin:0 0 .15rem}.auth-actions{flex-direction:column;gap:.45rem;margin:.35rem 0 .25rem;display:flex}.auth-split{color:var(--muted);align-items:center;gap:.65rem;margin:.9rem 0 .65rem;display:flex}.auth-split:before,.auth-split:after{content:"";background:var(--border);flex:1;height:1px}.settings-auth{margin-bottom:.85rem}.cl-userButton-root,.cl-userButtonTrigger{width:40px;height:40px}.cl-avatarBox{width:36px!important;height:36px!important}.icon-btn{border:1px solid var(--border);background:var(--surface);border-radius:12px;flex-shrink:0;place-items:center;width:44px;height:44px;display:grid}.rating-pill{background:var(--surface);border:1px solid var(--border);border-radius:999px;align-items:center;gap:.4rem;padding:.3rem .65rem;font-size:.88rem;display:flex}.rating-pill b{font-variant-numeric:tabular-nums}.rating-pill span{color:var(--muted)}.rating-pill i{background:var(--accent);color:var(--accent-ink);border-radius:999px;padding:0 .4rem;font-size:.75rem;font-style:normal;font-weight:700}.dock{background:color-mix(in oklab, var(--bg) 92%, transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid var(--border);padding:.25rem .2rem calc(.3rem + env(safe-area-inset-bottom));z-index:30;justify-content:space-around;display:none;position:fixed;bottom:0;left:0;right:0}.dock button{border-radius:12px;flex-direction:column;flex:1;gap:.15rem;min-height:48px;padding:.35rem .2rem;font-size:.68rem;font-weight:500}.shell:has(.play-layout){height:100dvh;overflow:hidden}.body:has(.play-layout){flex-direction:column;flex:1;align-items:center;max-width:none;min-height:0;padding:.3rem 1rem .4rem;display:flex;overflow:hidden}.body:has(.play-layout) .site-legal{display:none}.play-layout{--hud:292px;--board-size:min(calc(100dvh - 5rem), calc(100vw - var(--hud) - 2.75rem));flex:auto;justify-content:center;align-items:stretch;width:max-content;min-width:0;max-width:100%;height:100%;min-height:0;margin-inline:auto;padding-top:0;display:flex}.play-layout .session{--board-size:inherit;grid-template-columns:var(--board-size) var(--hud);flex:0 auto;grid-template-rows:auto minmax(0,1fr) auto;grid-template-areas:"board head""board side""board tools";justify-content:center;align-items:stretch;gap:0 1rem;width:max-content;min-width:0;max-width:100%;height:100%;min-height:0;margin-inline:auto;display:grid}.play-layout .session-board{width:var(--board-size);aspect-ratio:1;grid-area:board;place-self:center;min-width:0;max-width:100%;min-height:0}.play-layout .board-wrap,.play-layout .board-skel{aspect-ratio:1;width:100%;max-width:100%;height:auto}.play-layout .session-head{background:var(--surface);border:1px solid var(--border);border-bottom:0;border-radius:12px 12px 0 0;flex-wrap:wrap;grid-area:head;justify-content:space-between;align-items:center;gap:.5rem;min-height:52px;padding:.7rem .9rem;display:flex}.play-layout .session-meta{flex:1;min-width:0;margin:0}.play-layout .session-meta .chip{display:none}.play-layout .turn-pill{background:0 0;border:0;padding:0;font-size:1.02rem}.play-layout .goal{font-size:.9rem;font-family:var(--font);flex-basis:100%;margin:0;font-weight:600}.play-layout .session-side{background:var(--surface);border-left:1px solid var(--border);border-right:1px solid var(--border);border-radius:0;grid-area:side;gap:.7rem;min-height:0;padding:.35rem .9rem .6rem;overflow:auto}.play-layout .coach-idle{display:none}.play-layout .play-rated{text-align:left;box-shadow:none;background:0 0;border:0;border-radius:0;flex-direction:column;flex:1;justify-content:center;gap:.55rem;padding:.4rem 0 .2rem;display:flex}.play-layout .play-rated-main{justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.play-layout .play-rated em{font-variant-numeric:tabular-nums;font-size:2.35rem;line-height:1}.play-layout .play-rated-main span{color:var(--muted);font-size:.82rem}.play-layout .play-rated-bar{height:8px;margin:.1rem 0 .15rem}.play-layout .play-rated-meta{color:var(--muted);flex-wrap:wrap;gap:.35rem .75rem;font-size:.75rem;display:flex}.play-layout .session-tools{background:var(--surface);border:1px solid var(--border);border-top:0;border-radius:0 0 12px 12px;flex-direction:column;grid-area:tools;gap:.35rem;max-width:none;padding:.65rem .75rem .75rem;display:flex}.play-layout .move-input{display:none}.play-layout .tool-row{flex-wrap:wrap;align-items:center;gap:.35rem;margin-top:0;display:flex}.play-layout .tool-row .ghost,.play-layout .tool-row .primary{justify-content:center;min-height:40px;padding:.4rem .7rem;font-size:.84rem}.play-layout .tool-row .hint-action,.play-layout .tool-row .next-action{grid-column:auto}.play-layout .tool-row .hint-action{min-height:40px;font-weight:500}.play-layout .skip-action{color:var(--muted);background:0 0;border:0;min-height:36px;margin-left:auto;padding:.35rem .45rem;font-size:.8rem}.play-layout .skip-action:hover{color:var(--text)}.play-layout .ply-nav{margin-top:0}.rail{align-items:center;max-height:none;padding:0;display:flex;position:static;overflow:visible}.rail-set{background:var(--surface-2);border:1px solid var(--border);border-radius:999px;flex-shrink:0;align-items:center;gap:.4rem;min-height:34px;padding:.28rem .7rem .28rem .8rem;font-size:.82rem;font-weight:600;display:inline-flex}.rail-set .chev{margin-top:-2px;transform:rotate(45deg)}.phase-scroll{scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:.4rem;padding:0 0 .55rem;display:none;overflow-x:auto}.phase-scroll::-webkit-scrollbar{display:none}.rail-toggle{margin:.35rem 0 .6rem;display:none}.themes-launch{flex-shrink:0}.rail-kicker{text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin:1.1rem 0 .4rem;font-size:.68rem;font-weight:600}.acc{border-bottom:1px solid var(--border)}.acc-head{text-align:left;width:100%;color:var(--text);background:0 0;border:0;grid-template-columns:1fr auto auto;align-items:center;gap:.55rem;padding:.7rem .15rem;font-weight:600;display:grid}.acc.has-active>.acc-head{color:var(--accent)}.acc-head em{color:var(--muted);text-align:right;min-width:1.2rem;font-size:.72rem;font-style:normal;font-weight:600}.chev{opacity:.55;border-bottom:1.8px solid;border-right:1.8px solid;width:.45rem;height:.45rem;transition:transform .16s;transform:rotate(-45deg)}.acc.open .chev{transform:rotate(45deg)}.acc-list{margin:0 0 .55rem;padding:0 0 .25rem;list-style:none}.acc-list button{text-align:left;background:0 0;border:0;border-left:2px solid #0000;border-radius:0 8px 8px 0;grid-template-columns:1fr auto;gap:.15rem .6rem;width:100%;padding:.45rem .55rem .45rem .65rem;display:grid}.acc-list .acc-name{font-size:.9rem;font-weight:500}.acc-list small{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;grid-column:1;font-size:.75rem;line-height:1.3;display:-webkit-box;overflow:hidden}.acc-list b{color:var(--muted);grid-row:1/span 2;align-self:center;font-size:.75rem;font-weight:600}.acc-list button.active{border-left-color:var(--accent);background:color-mix(in oklab, var(--accent) 10%, transparent)}.acc-list button.active .acc-name{color:var(--accent)}.rail-list{flex-direction:column;gap:.35rem;display:flex}.rail-list button{text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:.65rem .75rem}.rail-list button small{color:var(--muted);font-size:.75rem;display:block}.rail-list button.active,.chip-btn.active,.choice-row button.active,.tabs button.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent);background:color-mix(in oklab, var(--accent) 12%, var(--surface))}.chip-cloud{flex-wrap:wrap;gap:.35rem;display:flex}.chip-btn,.chip{border:1px solid var(--border);background:var(--surface);white-space:nowrap;border-radius:999px;min-height:40px;padding:.45rem .85rem;font-size:.82rem}.chip{min-height:0;padding:.2rem .6rem}.chip-btn i{color:var(--muted);margin-left:.3rem;font-style:normal}.chip.ghost{color:var(--muted);background:0 0}.session{--board-size:min(100%, calc(100dvh - 13.5rem), 860px);grid-template-columns:var(--board-size) minmax(240px, 1fr);grid-template-areas:"head side""board side""tools side";align-items:start;gap:.75rem 1.25rem;display:grid}.session-head{grid-area:head}.session-board{grid-area:board}.session-tools{grid-area:tools}.session-side{grid-area:side}.session-meta{flex-wrap:wrap;gap:.4rem;margin-bottom:.45rem;display:flex}.turn-pill{background:var(--surface);border:1px solid var(--border);border-radius:999px;align-items:center;gap:.4rem;padding:.2rem .65rem;font-size:.82rem;font-weight:600;display:inline-flex}.turn-pill i{background:#e8e8e8;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 1px #333}.turn-pill.b i{background:#222}.goal{margin:.2rem 0 .15rem}.principle-line{color:var(--gold);margin-bottom:.8rem;font-size:.92rem}.board-wrap{aspect-ratio:1;width:100%;max-width:var(--board-size,100%);position:relative}.board-wrap #motif-board{aspect-ratio:1;width:100%!important;height:auto!important}body>div [id^=motif-board-piece-]{width:var(--motif-square,80px)!important;height:var(--motif-square,80px)!important;max-width:var(--motif-square,80px)!important;max-height:var(--motif-square,80px)!important}.skel{background:linear-gradient(90deg, var(--surface), var(--surface-2), var(--surface));background-size:200% 100%;border-radius:10px;width:100%;height:100%;animation:1.2s infinite shine}@keyframes shine{to{background-position:-200% 0}}.promo-mask{background:#0006;border-radius:10px;place-items:center;display:grid;position:absolute;inset:0}.promo-card{background:var(--surface);border:1px solid var(--border);text-align:center;min-width:220px;box-shadow:var(--shadow);border-radius:14px;padding:1rem}.promo-row{flex-wrap:wrap;justify-content:center;gap:.4rem;margin:.5rem 0;display:flex}.promo-row button,.primary,.ghost,.danger{border:1px solid var(--border);border-radius:10px;align-items:center;gap:.35rem;padding:.55rem .85rem;display:inline-flex}.primary{background:var(--accent);color:var(--accent-ink);border-color:#0000;font-weight:600}.primary.wide,.ghost.wide{justify-content:center;width:100%}.ghost{background:var(--surface)}.danger{color:var(--danger);border-color:var(--danger);background:0 0}.linkish{color:var(--muted);background:0 0;border:0;text-decoration:underline}.session-tools{max-width:100%}.move-input label{color:var(--muted);margin-bottom:.25rem;font-size:.75rem;display:block}.move-row{gap:.4rem;display:flex}.move-row input{background:var(--surface);border:1px solid var(--border);border-radius:10px;flex:1;padding:.6rem .75rem}.move-row button{background:var(--surface-2);border:1px solid var(--border);border-radius:10px;padding:0 .9rem}.tool-row{flex-wrap:wrap;gap:.4rem;margin-top:.6rem;display:flex}.tool-row button{align-items:center;gap:.35rem;display:inline-flex}.session-side{flex-direction:column;gap:.8rem;display:flex}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.1rem;box-shadow:0 1px #ffffff08}.card h2,.card h3{margin-top:0}.result.solved{border-color:color-mix(in oklab, var(--accent) 50%, var(--border))}.result.failed{border-color:color-mix(in oklab, var(--danger) 50%, var(--border))}.result-head{align-items:center;gap:.7rem;margin-bottom:.6rem;display:flex}.result-head strong{display:block}.delta{font-variant-numeric:tabular-nums;font-weight:700}.delta.up,.up{color:var(--good)}.delta.down,.down{color:var(--danger)}.principle-tag{color:var(--accent-ink);background:var(--accent);border-radius:999px;padding:.15rem .6rem;font-size:.78rem;font-weight:600;display:inline-block}.san-line{flex-wrap:wrap;gap:.25rem;font-family:ui-monospace,Menlo,monospace;font-size:.95rem;display:flex}.san-line button{font:inherit;background:0 0;border:0;border-radius:6px;padding:.15rem .35rem}.san-line button.on{background:color-mix(in oklab, var(--accent) 22%, var(--surface));font-weight:600}.ply-nav{justify-content:center;align-items:center;gap:.35rem;max-width:100%;margin-top:.65rem;display:flex}.ply-nav .ghost{justify-content:center;min-width:44px;min-height:40px;padding:.4rem}.ply-count{font-variant-numeric:tabular-nums;color:var(--muted);text-align:center;min-width:3.2rem;font-size:.85rem}.ply-hint{color:var(--muted);margin-left:.25rem;font-size:.78rem}.stats-mini{text-align:center;grid-template-columns:repeat(3,1fr);display:grid}.stats-mini em{font-style:normal;font-family:var(--serif);font-size:1.4rem;display:block}.stats-mini span{color:var(--muted);font-size:.75rem}.soft-warn{color:var(--gold);font-size:.9rem}.explore-hint{color:var(--gold);margin:.65rem 0 .85rem;font-size:.92rem}.banner.error{color:var(--danger)}.page{padding:1.25rem 0 2rem}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1.25rem;display:flex}.stat-grid{grid-template-columns:repeat(4,1fr);gap:.8rem;margin-bottom:1rem;display:grid}.hero-stat strong,.stat-grid strong{font-family:var(--serif);font-size:2rem;display:block}.stat-grid span{color:var(--muted);font-size:.8rem}.level-bar,.mini-bar{background:var(--surface-2);border-radius:99px;height:6px;margin:.5rem 0;overflow:hidden}.level-bar>div,.mini-bar>i{background:var(--accent);border-radius:99px;height:100%;display:block}.split{grid-template-columns:1.2fr .8fr;gap:.8rem;margin:.8rem 0;display:grid}.chart{width:100%}.phase-list,.theme-table,.history{margin:0;padding:0;list-style:none}.phase-list li,.theme-table li{border-bottom:1px solid var(--border);grid-template-columns:1fr auto;gap:.3rem .8rem;padding:.45rem 0;display:grid}.phase-list .mini-bar{grid-column:1/-1}.theme-table li{grid-template-columns:1fr auto auto}.heat{grid-template-rows:repeat(7,1fr);grid-auto-flow:column;gap:4px;display:grid}.heat i{background:var(--surface-2);border-radius:3px;width:12px;height:12px;display:block}.heat i[data-l="1"]{background:color-mix(in oklab, var(--accent) 30%, var(--surface-2))}.heat i[data-l="2"]{background:color-mix(in oklab, var(--accent) 55%, var(--surface-2))}.heat i[data-l="3"]{background:color-mix(in oklab, var(--accent) 78%, var(--surface-2))}.heat i[data-l="4"]{background:var(--accent)}.lesson-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.9rem;display:grid}.lesson-card{text-align:left;cursor:pointer}.lesson-card ul{color:var(--muted);padding-left:1.1rem;font-size:.9rem}.lesson-top{color:var(--accent);justify-content:space-between;display:flex}.lesson-foot{color:var(--muted);margin-top:.6rem;font-size:.82rem}.lesson-bar{grid-template-columns:auto 1fr 140px;align-items:center;gap:.8rem;margin-bottom:1rem;display:grid}.lesson-bar span{color:var(--muted);margin-left:.5rem;font-size:.85rem}.daily-dots{gap:.4rem;display:flex}.dot{border:1px solid var(--border);background:var(--surface);border-radius:50%;place-items:center;width:38px;height:38px;display:grid}.dot.on{box-shadow:0 0 0 2px var(--accent)}.dot.solved{background:var(--accent);color:var(--accent-ink);border-color:#0000}.dot.failed{background:var(--danger);color:#fff;border-color:#0000}.daily-now{color:var(--muted);margin-bottom:.6rem}.tabs{gap:.3rem;display:flex}.tabs button{border:1px solid var(--border);background:var(--surface);text-transform:capitalize;border-radius:999px;padding:.35rem .8rem}.history li button{background:var(--surface);border:1px solid var(--border);text-align:left;border-radius:12px;align-items:center;gap:.7rem;width:100%;margin-bottom:.45rem;padding:.7rem .85rem;display:flex}.history .grow{flex-direction:column;flex:1;display:flex}.history small{color:var(--muted)}.history .dot{width:10px;height:10px}.settings .card+.card{margin-top:.8rem}.settings input[type=text],.settings input:not([type=checkbox]),.onboard input{background:var(--bg);border:1px solid var(--border);border-radius:10px;width:100%;margin:.3rem 0 .7rem;padding:.65rem .75rem}.toggles label{align-items:center;gap:.6rem;padding:.35rem 0;display:flex}.choice-row{flex-wrap:wrap;gap:.4rem;margin:.4rem 0 .8rem;display:flex}.choice-row button{border:1px solid var(--border);background:var(--surface);text-transform:capitalize;border-radius:10px;align-items:center;gap:.4rem;padding:.45rem .7rem;display:inline-flex}.swatch{border-radius:4px;width:16px;height:16px;display:inline-block}.onboard{place-items:center;min-height:100dvh;padding:1.5rem;display:grid}.onboard-card{background:var(--surface);border:1px solid var(--border);width:min(560px,100%);box-shadow:var(--shadow);border-radius:24px;padding:2rem}.theme-pick{gap:.4rem;margin:.8rem 0;display:flex}.theme-pick button{border:1px solid var(--border);background:var(--bg);border-radius:10px;flex:1;min-height:44px;padding:.7rem}.sheet-mask{z-index:40;background:#06080a8c;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--surface);border:1px solid var(--border);width:min(640px,100%);max-height:min(82dvh,720px);padding:1rem 1rem calc(1.25rem + env(safe-area-inset-bottom));box-shadow:var(--shadow);overscroll-behavior:contain;border-radius:20px 20px 0 0;overflow:auto}.sheet-head{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.4rem;display:flex}.sheet-head h2{margin:0}.sheet-lead{font-size:.9rem}.shake{animation:.28s linear shake}@keyframes shake{20%{transform:translate(-4px)}40%{transform:translate(4px)}60%{transform:translate(-3px)}80%{transform:translate(2px)}}@media (width<=980px){.shell:has(.play-layout){height:auto;min-height:100dvh;overflow:visible}.body:has(.play-layout){padding:0 0 calc(4.65rem + env(safe-area-inset-bottom));align-items:stretch;overflow:visible}.play-layout{--hud:0px;--board-size:100%;flex-direction:column;justify-content:flex-start;align-items:center;width:100%;height:auto;min-height:0;display:flex}.play-layout .session{--board-size:100%;grid-template:"head""board""tools""side"/minmax(0,1fr);justify-content:stretch;justify-items:center;gap:.45rem 0;width:100%;height:auto;margin-inline:0}.play-layout .session-board{aspect-ratio:1;justify-self:stretch;width:100%;min-width:0;max-width:100%;height:auto}.play-layout .board-wrap,.play-layout .board-skel{aspect-ratio:1;width:100%;max-width:100%;height:auto}.play-layout .session-head{border:1px solid var(--border);border-radius:12px;flex-wrap:wrap;margin:.45rem .75rem 0}.play-layout .goal{display:none}.play-layout .is-explore .goal{display:block}.play-layout .session-tools{background:0 0;border:0;border-radius:0;padding:.15rem .75rem .5rem}.play-layout .session-side{background:0 0;border:0;padding:0 .75rem .35rem;overflow:visible}.play-layout .play-rated{display:none}.play-layout .tool-row{flex-wrap:wrap;display:flex}.play-layout .tool-row .hint-action{flex:100%;min-height:44px}.play-layout .skip-action{margin-left:0}.session{--board-size:min(100%, calc(100dvh - 16.5rem));grid-template-columns:1fr;grid-template-areas:"head""board""side""tools";gap:.7rem}.topnav,.desktop-only{display:none}.dock{display:flex}.stat-grid,.split{grid-template-columns:1fr 1fr}.brand em{display:none}.brand strong{font-size:1.05rem}.mark{border-radius:8px;width:32px;height:32px;font-size:1.1rem}.goal{font-size:1.15rem}.principle-line{margin-bottom:.35rem;font-size:.88rem}.move-input,.coach-idle,.session.is-done:not(.is-explore) .session-tools{display:none}.tool-row{grid-template-columns:1fr 1fr 1fr;gap:.45rem;display:grid}.tool-row .ghost{justify-content:center;min-height:44px;padding:.55rem .4rem;font-size:.85rem}.tool-row .next-action{grid-column:1/-1;justify-content:center;min-height:48px}.board-wrap,.board-skel{width:var(--board-size);max-width:100%;margin-inline:auto}.page{padding:.85rem 0 1.25rem}.page-head{align-items:flex-start;margin-bottom:.9rem}.page-head h1{font-size:1.55rem}.lede{font-size:.95rem}.lesson-bar{grid-template-columns:1fr;gap:.45rem;margin-bottom:.75rem}.heat{padding-bottom:.3rem;overflow-x:auto}.onboard{padding:calc(1rem + env(safe-area-inset-top)) 1rem calc(1rem + env(safe-area-inset-bottom))}.onboard-card{border-radius:18px;padding:1.35rem 1.15rem}.onboard-card h1{font-size:1.55rem}.primary.wide,.sheet .acc-head,.sheet .acc-list button{min-height:48px}}@media (width<=640px){.stat-grid,.split{grid-template-columns:1fr}.rating-pill span{display:none}.rating-pill{padding:.35rem .6rem}.body{padding-left:max(.75rem, env(safe-area-inset-left));padding-right:max(.75rem, env(safe-area-inset-right));padding-bottom:calc(5.25rem + env(safe-area-inset-bottom))}.topbar{padding-left:max(.75rem, env(safe-area-inset-left));padding-right:max(.75rem, env(safe-area-inset-right));gap:.45rem}.top-actions{gap:.3rem}h1{font-size:1.45rem}.hero-stat strong,.stat-grid strong{font-size:1.6rem}.result .muted{font-size:.92rem}.history li button{min-height:52px;padding:.75rem}.history small{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.tabs{width:100%}.tabs button{flex:1;min-height:40px}.daily-dots{flex-wrap:wrap}.settings input:not([type=checkbox]),.onboard input,.move-row input{font-size:16px}.toggles label,.choice-row button{min-height:44px}}@media (hover:none) and (pointer:coarse){.move-input{display:none}}.legal-shell{flex-direction:column;min-height:100dvh;display:flex}.legal-top{padding:calc(.75rem + env(safe-area-inset-top)) 1.25rem .75rem;border-bottom:1px solid var(--border);background:color-mix(in oklab, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:10;justify-content:space-between;align-items:center;gap:1rem;display:flex;position:sticky;top:0}.legal-doc{width:min(42rem,100%);margin:0 auto;padding:2rem 1.25rem 3rem}.legal-doc h2{margin-top:1.85rem}.legal-doc h3{font-family:var(--font);margin:1.15rem 0 .35rem;font-size:1.02rem;font-weight:650}.legal-doc ul{color:var(--muted);padding-left:1.2rem}.legal-doc li{margin:.35rem 0}.legal-doc code{background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:.05rem .35rem;font-size:.86em}.legal-meta{color:var(--muted);margin-bottom:1.35rem;font-size:.88rem}.legal-end{width:min(42rem,100%);padding:0 1.25rem calc(2rem + env(safe-area-inset-bottom));margin:auto auto 0}.legal-links{flex-wrap:wrap;gap:.75rem 1rem;margin:.85rem 0 .4rem;display:flex}.legal-links button,.text-link{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.legal-credit,.legal-end .fine{color:var(--muted);font-size:.82rem}.legal-agree{margin-top:.65rem}.site-legal{border-top:1px solid var(--border);margin-top:2rem;padding:1rem 0 .5rem}.cookie-bar{z-index:50;background:var(--surface);border:1px solid var(--border);max-width:34rem;box-shadow:var(--shadow);border-radius:16px;margin:0 auto;padding:1rem 1.1rem;position:fixed;bottom:1rem;left:1rem;right:1rem}.cookie-bar p{color:var(--muted);margin:0 0 .75rem;font-size:.92rem}.cookie-bar-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.cookie-bar-actions .primary{margin-left:auto}@media (width<=980px){.cookie-bar{bottom:calc(4.75rem + env(safe-area-inset-bottom))}}.board-wrap{--last-move:#f5f669}.board-wrap [data-square]{position:relative}.board-wrap .sq-fill{position:absolute;inset:0}.board-wrap .sq-last{background-color:var(--last-move)}.board-wrap [data-piece]{z-index:2;filter:drop-shadow(.05em .11em .04em #140e0861);position:relative}.board-wrap [data-piece] svg{width:100%;height:100%;display:block;overflow:visible}body>div [id^=motif-board-piece-]{filter:drop-shadow(.05em .12em .05em #140e0861)}body>div [id^=motif-board-piece-] svg{width:100%;height:100%;display:block;overflow:visible}.board-wrap [data-square]>span{pointer-events:none;z-index:3;font-variant-numeric:tabular-nums;letter-spacing:.01em;line-height:1}.board-wrap #motif-board{overflow:hidden;border-radius:2px!important}
