@font-face{font-family:Chakra Petch;src:url(/assets/ChakraPetch-Bold-BUP93nwv.ttf)format("truetype");font-weight:700;font-style:normal;font-display:swap}:root,[data-theme=light]{--paper:#eaf5ff;--paper2:#f8fcff;--paper3:#d6eafa;--ink:#122e50;--soft:#304f70;--mute:#4b6580;--brass:#135b8f;--rule:#b8d6ec;--edge:#9abedb;--good:#167467;--warn:#946007;--bad:#c03949;--shadow:#0a244638;--scrim:#071733b8}[data-theme=dark]{--paper:#10264a;--paper2:#17365c;--paper3:#20456e;--ink:#f0f7ff;--soft:#c4d8ee;--mute:#a8c2dd;--brass:#ffd166;--rule:#31537a;--edge:#42678b;--good:#58e1c3;--warn:#ffd166;--bad:#ff9199;--shadow:#030f2480;--scrim:#040f22c7}*{box-sizing:border-box}html,body{background:var(--paper);color:var(--ink);margin:0}body{font-family:Avenir Next,Avenir,Segoe UI,sans-serif;font-size:16px;line-height:1.65;transition:background .2s,color .2s}select,button,input{font-family:inherit}.app{max-width:1180px;padding:12px 8px calc(56px + 44px + 16px + env(safe-area-inset-bottom));margin:0 auto}header{margin-bottom:10px}.layout{grid-template-columns:1fr;gap:14px;display:grid}.layout>.coachcard{border-bottom:none;margin:0;padding:0}@media (width<=899px){.layout>.coachcard{font-size:14.5px}.layout>.coachcard .lines{max-height:180px;overflow:auto}.layout>.coachcard>.bust{width:44px;height:44px}}.layout>*{min-width:0}h1{font-family:Chakra Petch,Trebuchet MS,sans-serif}header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:14px;display:flex;position:relative}h1{letter-spacing:-.8px;margin:0;font-size:27px;font-weight:700}h1 em{color:inherit;font-style:normal}.controls{flex-wrap:wrap;gap:6px;display:flex}select,button{background:var(--paper2);color:var(--soft);border:1px solid var(--edge);border-radius:2px;min-height:34px;padding:6px 10px;font-size:12.5px}button{cursor:pointer}button.primary{background:var(--brass);border-color:var(--brass);color:var(--paper2);font-weight:600}button:disabled{opacity:.45;cursor:default}.boardwrap{width:100%;margin:0 auto;position:relative}.frame{background:var(--frame);box-shadow:0 1px 0 var(--board-edge),0 14px 30px var(--shadow);border-radius:3px;padding:10px}.board{aspect-ratio:1;-webkit-user-select:none;user-select:none;touch-action:none;grid-template-rows:repeat(8,1fr);grid-template-columns:repeat(8,1fr);width:100%;display:grid;position:relative;box-shadow:inset 0 0 0 1px #00000059,inset 0 2px 10px #00000047}.sq{cursor:pointer;justify-content:center;align-items:center;line-height:1;display:flex;position:relative}.board-row{display:contents}.sq:focus-visible{outline-offset:-5px;z-index:4;outline:3px solid #fff;box-shadow:inset 0 0 0 7px #30271b}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.sq.light{background:var(--sq-light)}.sq.dark{background:var(--sq-dark)}.board:after{content:"";z-index:1;pointer-events:none;filter:url(#grain);opacity:var(--grain);mix-blend-mode:multiply;background:#fff;position:absolute;inset:0}.sq.last:after{content:"";background:var(--mark);position:absolute;inset:0}.sq.sel:after{content:"";background:var(--sel);position:absolute;inset:0}.sq.target:after{content:"";background:var(--dot);z-index:2;border-radius:50%;width:26%;height:26%;position:absolute}.sq.target.cap:after{border:4px solid var(--dot);background:0 0;width:88%;height:88%}.sq.danger{box-shadow:inset 0 0 0 3px #b4503c}.sq.check{background:radial-gradient(circle,#b4503cd9 0%,#b4503c59 62%,#0000 78%)}.pc{z-index:3;filter:drop-shadow(0 2px 2px #281c0c66);pointer-events:none;width:82%;height:82%;position:relative}.coord{z-index:4;opacity:.75;pointer-events:none;font-size:9.5px;font-weight:700;position:absolute}.coord.f{bottom:2px;right:3px}.coord.r{top:2px;left:3px}.light .coord{color:var(--coord-on-light)}.dark .coord{color:var(--coord-on-dark)}.arrows{pointer-events:none;z-index:5;width:100%;height:100%;position:absolute;inset:0}.drag-ghost{z-index:60;pointer-events:none;will-change:transform;position:fixed;top:0;left:0}.drag-ghost svg{filter:drop-shadow(0 10px 10px #281c0c73)drop-shadow(0 2px 2px #281c0c4d);width:100%;height:100%;transform:scale(1.12)}body.dragging,body.dragging .sq{cursor:grabbing}.optbtn{background:var(--paper2);width:34px;height:34px;color:var(--soft);border:1px solid var(--edge);cursor:pointer;border-radius:2px;justify-content:center;align-items:center;padding:0;display:inline-flex}.optbtn.on{border-color:var(--brass);color:var(--brass)}.gear{width:18px;height:18px;stroke:var(--brass);fill:none;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round}.headright{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.accountbar{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.accountbar .acctopt{align-items:center;gap:5px;display:inline-flex}.acctbtn{white-space:nowrap;height:34px;padding:0 12px;font-size:12.5px}.acctwho{text-overflow:ellipsis;white-space:nowrap;max-width:22ch;overflow:hidden}.acctmsg{color:var(--brass)}.optback{z-index:39;position:fixed;inset:0}.optpanel{z-index:40;background:var(--paper2);border:1px solid var(--edge);width:356px;max-width:calc(100vw - 32px);box-shadow:0 18px 40px var(--shadow);border-radius:3px;max-height:calc(100vh - 90px);padding:16px 18px 20px;position:absolute;top:44px;right:0;overflow:auto}.optpanel select,.optpanel button{width:100%;margin-bottom:6px}.optpanel .optrow{gap:6px;display:flex}.optpanel .optrow button{margin-bottom:0}.opthead{justify-content:space-between;align-items:baseline;margin-bottom:10px;display:flex}.opthead h2{margin:0;font-size:17px;font-weight:400}.optpanel h3{letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin:16px 0 7px;font-size:11px;font-weight:600}.optpanel h3:first-of-type{margin-top:4px}.linkish{color:var(--brass);cursor:pointer;background:0 0;border:none;width:auto;min-height:0;padding:0;font-size:12.5px}.swatches{grid-template-columns:repeat(5,1fr);align-items:start;gap:8px;margin-bottom:12px;display:grid}.setswatches{grid-template-columns:repeat(2,1fr);align-items:start;gap:8px;display:grid}.swatch,.setsw{cursor:pointer;text-align:center;background:0 0;border:none;flex-direction:column;align-items:stretch;width:auto;min-width:0;min-height:0;margin:0;padding:0;display:flex}.swatch .chip{aspect-ratio:1;box-shadow:0 1px 2px var(--shadow);border-radius:2px;grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr;padding:2px;display:grid;overflow:hidden}.swatch.on .chip{outline:2px solid var(--brass);outline-offset:2px}.setsw .setrow{border:1px solid var(--edge);background:linear-gradient(90deg,var(--sq-light) 50%,var(--sq-dark) 50%);--sq-light:#e8d7b5;--sq-dark:#9c7a52;border-radius:2px;justify-content:center;align-items:center;height:44px;display:flex}.setsw .setrow .pc{width:22px;height:22px}.setsw.on .setrow{border-color:var(--brass);box-shadow:0 0 0 1px var(--brass)}.swname{color:var(--soft);white-space:nowrap;text-overflow:ellipsis;margin-top:6px;margin-left:-4px;margin-right:-4px;font-size:10.5px;display:block;overflow:hidden}.swatch.on .swname,.setsw.on .swname{color:var(--brass);font-weight:600}@media (width<=640px){.optpanel{border:none;border-top:1px solid var(--edge);border-radius:12px 12px 0 0;width:auto;max-width:none;max-height:88vh;padding:18px 16px 28px;position:fixed;inset:auto 0 0;overflow:auto}.optpanel select,.optpanel button{min-height:44px}.optback{background:var(--scrim)}.acctwho{max-width:16ch}}.introback{z-index:70;background:var(--scrim);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.intro{background:var(--paper2);border:1px solid var(--edge);width:100%;max-width:460px;max-height:calc(100vh - 40px);box-shadow:0 24px 60px var(--shadow);border-radius:3px;padding:22px 24px 24px;overflow:auto}.introhead{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.intro h2{margin:0 0 2px;font-size:19px;font-weight:400}.intro p{margin:12px 0 0}.introx{color:var(--mute);cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:20px;line-height:1}.introx:hover{color:var(--ink)}.intro #introBtn{width:100%;min-height:40px;margin-top:20px}.status{letter-spacing:.14em;text-transform:uppercase;color:var(--mute);flex-wrap:wrap;justify-content:space-between;gap:10px;margin-top:12px;font-size:11px;display:flex}.moves{white-space:nowrap;color:var(--soft);scrollbar-width:none;gap:12px;margin:8px 0 0;padding:4px 0;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12.5px;list-style:none;display:flex;overflow-x:auto}.moves::-webkit-scrollbar{display:none}.moves li{flex:none;align-items:baseline;gap:5px;display:flex}.moves .num{color:var(--mute)}.moves .mv.cur{color:var(--brass);background:var(--paper3);border-radius:2px;padding:0 4px;font-weight:600}@media (width>=900px){.moves{white-space:normal;flex-wrap:wrap;row-gap:2px;max-height:120px;overflow:auto}}.coach{flex-direction:column;display:flex}.note{border-bottom:1px solid var(--rule);margin:0 0 22px;padding:0 0 22px}.note:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.note h3{letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin:0 0 8px;font-size:11px;font-weight:600}.note p{margin:0 0 12px}.note p:last-child{margin-bottom:0}.note ul{margin:8px 0;padding-left:20px}.note li{margin:5px 0}.verdict{border-left:none;padding-left:0}.tag{letter-spacing:.1em;text-transform:uppercase;background:0 0;border-radius:0;margin:0 8px 0 0;padding:0;font-size:12px;font-weight:600;display:inline-block}.tag.good{color:var(--good)}.tag.meh{color:var(--warn)}.tag.bad{color:var(--bad)}.san{color:var(--brass);font-weight:500}.line{color:var(--mute);font-family:ui-monospace,Menlo,Consolas,monospace;font-size:13px;line-height:1.9}.small{color:var(--soft);font-size:13px}.checklist{background:0 0;border:none}.checklist ol{color:var(--soft);margin:6px 0 0;padding-left:18px;font-size:14.5px}.checklist li{margin:6px 0}.section>summary{cursor:pointer;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);align-items:center;gap:7px;font-size:11px;font-weight:600;display:flex}.section>summary::-webkit-details-marker{display:none}.section>summary::marker{content:""}.chev{flex:none;width:10px;height:10px;transition:transform .15s}.section[open]>summary .chev{transform:rotate(90deg)}.sectitle{white-space:nowrap;flex:none}.secsum{text-overflow:ellipsis;white-space:nowrap;letter-spacing:normal;text-transform:none;min-width:0;color:var(--soft);flex:1;font-weight:400;overflow:hidden}.speakbtn{width:auto;min-height:0;color:var(--mute);cursor:pointer;background:0 0;border:none;flex:none;padding:2px}.speakbtn:hover{color:var(--brass)}.speakbtn svg{width:15px;height:15px;display:block}.speakbtn.speaking{color:var(--brass)}@media (prefers-reduced-motion:no-preference){.speakbtn.speaking svg{animation:1s ease-in-out infinite alternate pulse}}@keyframes pulse{0%{opacity:.55}to{opacity:1}}.secbody{padding-top:9px}.reveal{text-align:left;width:auto;min-width:0;min-height:0;color:var(--brass);font:inherit;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;flex:1;margin:0;padding:0;overflow:hidden}.ai{border-left:2px solid var(--rule);margin:10px 0 0;padding-left:14px}.ailabel{color:var(--brass);font-weight:600}.aiwait{color:var(--mute)}.err{border:1px solid var(--edge);color:var(--soft);background:0 0;border-radius:2px;padding:12px 14px}@media (prefers-reduced-motion:no-preference){.note{animation:.25s fade}}@keyframes fade{0%{opacity:0}to{opacity:1}}.coachcard{border-bottom:1px solid var(--rule);align-items:flex-start;gap:12px;margin:0 0 18px;padding:0 0 18px;display:flex}.coachcard .bubble{flex:1;min-width:0}.cline{margin:0 0 8px;line-height:1.55;position:relative}.cline:last-child{margin-bottom:0}.cline .badge.inline,.cline .tag{margin-right:6px}.cline.tip{color:var(--soft);font-size:13px}.cardbody{margin:0 0 10px}.cardbody>summary{cursor:pointer;color:var(--brass);font-size:13px;list-style:none}.cardbody>summary::-webkit-details-marker{display:none}.cardbody[open]>summary{margin-bottom:4px}.chips{align-items:center;gap:6px;margin-top:10px;display:flex}.chips .speakbtn{margin-left:auto}.cchip{border:1px solid var(--edge);background:var(--paper2);width:auto;height:26px;min-height:0;color:var(--soft);font:inherit;cursor:pointer;border-radius:13px;align-items:center;margin:0;padding:0 10px;font-size:12.5px;line-height:1;display:inline-flex}.cchip:hover{color:var(--brass);border-color:var(--brass)}.cchip[aria-pressed=true]{border-color:var(--brass);color:var(--brass)}.checkpop{position:relative}.checkpop>summary{list-style:none}.checkpop>summary::-webkit-details-marker{display:none}.checkpop>div{z-index:35;background:var(--paper2);border:1px solid var(--edge);width:min(320px,80vw);box-shadow:0 6px 20px var(--shadow);border-radius:4px;padding:10px 14px;position:absolute;top:calc(100% + 6px);left:0}.checkpop ol{color:var(--soft);margin:0;padding-left:18px;font-size:13.5px}.checkpop li{margin:5px 0}.coachdetails{flex-direction:column;display:flex}.coachdetails[hidden]{display:none}.playerbar{min-height:28px;color:var(--soft);align-items:center;gap:8px;min-width:0;padding:4px 2px;font-size:13px;display:flex}.playerbar .pname{color:var(--ink);font-weight:600}.playerbar .taken{align-items:center;gap:0;min-width:0;display:inline-flex;overflow:hidden}.playerbar .taken .pc{filter:none;width:16px;height:16px;margin-right:-4px}.playerbar .lead{color:var(--mute);margin-left:6px;font-size:12px}.playerbar.opponent{margin-bottom:6px}.playerbar.player{margin-top:6px}.tabbar{z-index:30;background:var(--paper2);border-top:1px solid var(--edge);height:56px;padding-bottom:env(safe-area-inset-bottom);display:flex;position:fixed;bottom:0;left:0;right:0}.tabbar .tab{min-height:0;color:var(--mute);letter-spacing:.04em;background:0 0;border:none;border-radius:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;padding:6px 0;font-size:11px;display:flex}.tabbar .tab.on{color:var(--brass)}.drawer{left:0;right:0;bottom:calc(56px + env(safe-area-inset-bottom));z-index:25;background:var(--paper2);border-top:1px solid var(--edge);height:85vh;box-shadow:0 -10px 30px var(--shadow);border-radius:12px 12px 0 0;flex-direction:column;transition:transform .25s;display:flex;position:fixed;transform:translateY(calc(85vh - 44px))}.drawer.open{transform:none}.drawer .handle{width:100%;min-height:44px;color:var(--mute);cursor:pointer;touch-action:none;background:0 0;border:none;border-radius:12px 12px 0 0;flex-direction:column;flex:none;align-items:center;gap:6px;padding:8px 16px 6px;display:flex}.drawer .grip{background:var(--edge);border-radius:2px;width:36px;height:4px}.drawer .handlelabel{letter-spacing:.14em;text-transform:uppercase;font-size:11px;font-weight:600;line-height:1}.drawer .drawerbody{flex:1;min-height:0;padding:0 16px 24px;overflow:auto}@media (width>=900px){.app{padding:34px 40px 44px}header{margin-bottom:22px}.layout{grid-template-columns:minmax(320px,560px) 1fr;align-items:start;gap:18px 52px}.layout>.coachcard{border-bottom:1px solid var(--rule);grid-area:1/2;padding-bottom:18px}.layout>#playArea{grid-area:1/1/span 2}.layout>.drawer{grid-area:2/2}.tabbar{background:0 0;border:none;gap:6px;height:auto;margin-top:6px;padding:0;display:inline-flex;position:static}.tabbar .tab{border:1px solid var(--edge);background:var(--paper2);height:34px;color:var(--soft);letter-spacing:0;border-radius:2px;flex-direction:row;flex:none;gap:7px;padding:0 12px;font-size:12.5px}.tabbar .tab svg{width:15px;height:15px}.tabbar .tab.on{border-color:var(--brass);color:var(--brass)}.drawer{height:auto;box-shadow:none;background:0 0;border:none;border-radius:0;transition:none;display:block;position:static;transform:none}.drawer .handle{display:none}.drawer .drawerbody{padding:0;overflow:visible}#reviewPanel{grid-template:"board back""board summary""board graph""board moves""board card"1fr"stepper."/minmax(320px,560px) 1fr;grid-column:1/-1;align-items:start;gap:0 52px;display:grid}#reviewPanel>#reviewBackBtn{grid-area:back}#reviewPanel>.summary{grid-area:summary}#reviewPanel>.evalgraph{grid-area:graph}#reviewPanel>.boardwrap{grid-area:board}#reviewPanel>.stepper{grid-area:stepper}#reviewPanel>ol.moves{grid-area:moves}#reviewPanel>.plycard{grid-area:card}#reviewPanel>#gameList{grid-area:1/1/auto/-1;max-width:720px}}.boardrow{align-items:stretch;gap:6px;display:flex}.boardrow .boardwrap{flex:1;min-width:0}.evalbar{background:#2a2622;border-radius:3px;flex:none;width:10px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #00000059}.evalbar .fill{background:#f0ede6;transition:height .4s;position:absolute;bottom:0;left:0;right:0}.evalbar.black-bottom{background:#f0ede6}.evalbar.black-bottom .fill{background:#2a2622}.evalbar.busy .fill{opacity:.7}:root{--badge-good:#254d24;--badge-warn:#63430f;--badge-bad:#78301f}.badge{z-index:4;color:#fff;pointer-events:none;border-radius:50%;justify-content:center;align-items:center;width:38%;height:38%;font-size:11px;font-weight:700;line-height:1;display:flex;position:absolute;top:-6%;right:-6%;box-shadow:0 0 0 2px #ffffffeb,0 1px 3px #0006}.badge.good{background:var(--badge-good)}.badge.meh{background:var(--badge-warn)}.badge.bad{background:var(--badge-bad)}.badge.inline{vertical-align:middle;width:18px;height:18px;box-shadow:none;color:var(--paper);margin-right:8px;font-size:10px;display:inline-flex;position:static}.badge.inline.good{background:var(--good)}.badge.inline.meh{background:var(--warn)}.badge.inline.bad{background:var(--bad)}.statusline{align-items:center;display:inline-flex}@media (width>=900px){.badge{font-size:13px}}.callout{z-index:6;pointer-events:none;justify-content:center;align-items:flex-end;width:37.5%;height:12.5%;padding-bottom:7px;display:flex;position:absolute}.callout.below{align-items:flex-start;padding-top:7px;padding-bottom:0}.callout .ctext{background:var(--ink);width:100%;color:var(--paper);text-align:center;box-shadow:0 2px 8px var(--shadow);border-radius:4px;padding:5px 8px;font-size:11.5px;line-height:1.35;position:relative}.callout .ctext .san{color:var(--brass)}.callout .ctext:after{content:"";left:var(--ptr);border:5px solid #0000;border-top-color:var(--ink);margin-left:-5px;position:absolute;top:100%}.callout.below .ctext:after{border-top-color:#0000;border-bottom-color:var(--ink);top:auto;bottom:100%}@media (width>=900px){.callout .ctext{font-size:12.5px}}@media (prefers-reduced-motion:no-preference){.callout{animation:.15s fade}}.move-ghost{z-index:50;pointer-events:none;will-change:transform;transition:transform .15s;position:absolute;top:0;left:0}.move-ghost .pc{width:82%;height:82%;margin:9%;display:block}@media (prefers-reduced-motion:reduce){.move-ghost{transition:none}}.evalgraph{border:1px solid var(--edge);background:var(--paper2);cursor:pointer;border-radius:3px;width:100%;height:80px;margin:10px 0;display:block}.evalgraph .area{fill:var(--brass);fill-opacity:.35;stroke:var(--brass);stroke-width:1.2px;vector-effect:non-scaling-stroke}.evalgraph .mid{stroke:var(--rule);stroke-width:1px;vector-effect:non-scaling-stroke}.evalgraph .cursor{stroke:var(--ink);stroke-width:1.5px;vector-effect:non-scaling-stroke}.evalgraph .mark line{stroke-linecap:round;vector-effect:non-scaling-stroke}.evalgraph .mark .ring{stroke:#fff;stroke-width:8px}.evalgraph .mark .dot{stroke-width:6px}.evalgraph .mark.meh .dot{stroke:var(--warn)}.evalgraph .mark.bad .dot{stroke:var(--bad)}.gamelist{margin:0;padding:0;list-style:none}.gamerow{text-align:left;grid-template-columns:auto 1fr auto;align-items:baseline;gap:4px 12px;width:100%;min-height:0;margin-bottom:6px;padding:10px 12px;display:grid}.gamerow .when{color:var(--mute);font-size:12px}.gamerow .who{color:var(--ink);font-weight:600}.gamerow .res{color:var(--soft);grid-column:2;font-size:12.5px}.gamerow .acc{color:var(--brass);grid-area:1/3;font-weight:600}.gamerow .marks{color:var(--soft);grid-area:2/3;font-size:12px}.summary{color:var(--soft);flex-wrap:wrap;align-items:center;gap:6px 14px;margin:8px 0 4px;font-size:13px;display:flex}.summary .acc{color:var(--ink);font-size:22px;font-weight:600}.summary .count{align-items:center;gap:4px;display:inline-flex}.stepper{justify-content:center;align-items:center;gap:6px;margin:10px 0;display:flex}.stepper button{width:44px;min-height:44px;padding:0}.stepper .plyno{text-align:center;min-width:80px;color:var(--mute);font-size:12.5px}.plycard{min-height:28px;margin:6px 0 12px;font-size:14px}.plycard .tag{margin-right:6px}.moves button.mv{min-height:0;font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;padding:0 4px}@media (width<=640px){.moves button.mv{padding:4px 6px}}.moves .mv .badge.inline{width:14px;height:14px;margin-right:4px;font-size:8px}#reviewPanel{outline:none}#reviewPanel #board{margin-top:4px}#reviewPanel .board{touch-action:auto}#reviewPanel .sq{cursor:default}.bust{flex:none;display:block}.coachcard>.bust{width:56px;height:56px}.coachpicker{grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:6px;display:grid}.coachpick{border:1px solid var(--edge);background:var(--paper2);color:var(--soft);font:inherit;text-align:center;cursor:pointer;border-radius:4px;flex-direction:column;align-items:center;gap:2px;padding:8px 4px;font-size:12px;display:flex}.optpanel .coachpick{width:auto;min-height:0;margin:0}.coachpick .cname{color:var(--ink);font-weight:600}.coachpick .ctag{font-size:11px;line-height:1.3}.coachpick .cband{color:var(--mute);font-size:11px}.coachpick.on{border-color:var(--brass);box-shadow:0 0 0 1px var(--brass)}.intro .introcoach{letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin:14px 0 6px;font-size:11px;font-weight:600}.intro .coachpicker{margin-bottom:14px}@media (width<=640px){.coachcard>.bust{width:44px;height:44px}}.coachcard[data-typewriter] .cline>.full{opacity:0}.coachcard[data-typewriter] .cline>.typed{padding:inherit;position:absolute;inset:0}.aiwait .dots{margin-left:2px;display:inline-block}.aiwait .dots i{vertical-align:baseline;background:currentColor;border-radius:50%;width:4px;height:4px;margin-left:3px;display:inline-block}@media (prefers-reduced-motion:no-preference){.aiwait .dots i{animation:1.2s ease-in-out infinite dot}.aiwait .dots i:nth-child(2){animation-delay:.2s}.aiwait .dots i:nth-child(3){animation-delay:.4s}}@keyframes dot{0%,60%,to{opacity:.45;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}.coachcard:not([data-typewriter]) .cline>.typed{display:none}.coachcard .bubble{background:var(--paper2);border:1px solid var(--edge);border-radius:10px;padding:10px 12px;position:relative}.coachcard .bubble:before,.coachcard .bubble:after{content:"";border:8px solid #0000;border-left:0;position:absolute;top:18px}.coachcard .bubble:before{border-right-color:var(--edge);left:-9px}.coachcard .bubble:after{border-right-color:var(--paper2);left:-7px}.bust .mouth .open{opacity:0}@media (prefers-reduced-motion:no-preference){.coachcard:is(.typing,.speaking) .bust .mouth .open{animation:.3s step-end infinite mouth-open}.coachcard:is(.typing,.speaking) .bust .mouth .closed{animation:.3s step-end infinite mouth-closed}.coachcard:is(.typing,.speaking)>.bust{animation:1.1s ease-in-out infinite bob}}@keyframes mouth-open{0%,45%{opacity:0}50%,to{opacity:1}}@keyframes mouth-closed{0%,45%{opacity:1}50%,to{opacity:0}}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}.current-coaching .cline:first-child{margin-top:0}.previous-move>summary{cursor:pointer;color:var(--soft);min-height:34px;padding:5px 0;font-size:13px}@media (width>=900px){.previous-move>summary{display:none}}.practice-intro,.lesson-intro{margin:0 0 20px}.practice-intro h2,.lesson-intro h2{margin:4px 0 12px;font-family:Chakra Petch,Trebuchet MS,sans-serif;font-size:30px;font-weight:700;line-height:1.25}.practice-intro p,.lesson-intro p{max-width:52ch;margin:8px 0 14px}.practice-intro .primary,.lesson-result button{min-height:44px}.lesson-result{border-top:1px solid var(--rule);scroll-margin-bottom:calc(72px + env(safe-area-inset-bottom));margin:18px 0;padding:16px 0}.lesson-result h3{text-transform:none;letter-spacing:0;color:var(--ink);margin:0 0 6px;font-size:19px}.lesson-result p{margin:4px 0 16px}.layout>.lesson-train{grid-column:1/-1}.lesson-layout{align-items:start;gap:16px;display:grid}.lesson-layout .lesson-intro{margin:0}.lesson-layout .lesson-intro h2{max-width:24ch}.lesson-board{min-width:0}.lesson-input-help{max-width:48ch;margin:12px 0 0}.lesson-hint:not(:empty){border-left:3px solid var(--brass);margin:14px 0;padding:6px 0 6px 14px}.lesson-hint p{margin:2px 0 0}.lesson-hint-btn{min-height:44px}.lesson-hint-btn[aria-disabled=true]{color:var(--mute);cursor:default}.lesson-layout .lesson-result{margin:0}.lesson-success{border-top-color:var(--good)}.lesson-success h3{color:var(--good)}.lesson-takeaway{color:var(--soft)}.lesson-intro #lessonProgress{margin:0 0 8px}.practice-reason{color:var(--mute);border-left:2px solid var(--brass);max-width:65ch;padding-left:12px;font-size:14px;line-height:1.5}.practice-reason strong{color:var(--ink);font-weight:600}.lesson-complete{max-width:650px;padding:24px 0}.lesson-complete h2{color:var(--good);margin:0 0 20px;font:700 34px/1.2 Chakra Petch,Trebuchet MS,sans-serif}.lesson-complete li{margin:12px 0}.lesson-complete button{min-height:44px}@media (width>=900px){.lesson-layout{grid-template-rows:auto 1fr;grid-template-columns:minmax(320px,560px) minmax(240px,1fr);gap:20px 40px}.lesson-board{grid-area:1/1/3}.lesson-intro{grid-area:1/2}.lesson-result,.lesson-exit{grid-area:2/2}.lesson-layout .lesson-intro h2{font-size:34px}}.intro #introLessonBtn,.intro #introBtn{width:100%;min-height:44px;margin-top:8px}#accountBar:focus-visible{outline:2px solid var(--brass);outline-offset:4px}body{background-image:linear-gradient(to bottom,transparent,var(--paper) 690px),url(/assets/chess-citadel-LyY3_lYv.webp);background-position:top;background-repeat:no-repeat;background-size:100% 100%,cover;background-attachment:fixed}.app{max-width:1280px;padding-top:18px;position:relative}.app>header{background:var(--paper2);border:1px solid var(--edge);border-bottom:4px solid var(--rule);box-shadow:0 6px 24px var(--shadow);border-radius:16px;align-items:center;margin-bottom:24px;padding:12px 16px}h1{align-items:center;gap:7px;line-height:1.1;display:flex}.game-crest{color:#15365c;background:#ffd166;border:2px solid #ffe8a6;border-radius:12px 12px 18px 18px;justify-content:center;align-items:center;width:42px;height:46px;margin-right:4px;font:36px/1 Georgia,serif;display:inline-flex;transform:rotate(-7deg);box-shadow:0 3px #ad792d}button,select{border-width:1px 1px 3px;border-radius:9px;min-height:38px;font-size:13px;font-weight:600}button{transition:background .15s,box-shadow .15s,transform .15s}button:not(:disabled):hover{background:var(--paper3);color:var(--ink)}button:not(:disabled):active{transform:translateY(2px)}button.primary{color:#193255;background:#ffd166;border-color:#fff0b0 #eab14b #b47a25;padding:11px 20px;font-weight:800;box-shadow:0 3px #704b1b,0 5px 14px #071c3333}button.primary:not(:disabled):hover{color:#10264a;background:#ffe08a;box-shadow:0 3px #704b1b,0 6px 22px #ffd16640}button:focus-visible,select:focus-visible{outline:3px solid var(--good);outline-offset:4px}.optbtn{border-radius:11px;width:40px;height:40px}.gear{width:21px;height:21px}.layout{gap:20px}#playArea{background:var(--paper2);border:1px solid var(--edge);box-shadow:0 6px 0 var(--rule),0 20px 45px var(--shadow);border-radius:20px;padding:16px}.arena-title{justify-content:space-between;align-items:center;gap:12px;margin:0 0 14px;display:flex}.arena-title h2{color:var(--ink);margin:0;font:700 23px/1.2 Chakra Petch,sans-serif}.arena-title>span{color:var(--mute);text-align:right;max-width:13ch;font-size:12px;line-height:1.4}.frame{border:1px solid var(--board-edge);border-radius:12px;padding:10px;box-shadow:0 5px #07192c,0 10px 20px #061a3540,inset 0 1px #fff5}.board{border-radius:4px}.playerbar{gap:10px;min-height:44px;padding:5px 0}.playerbar .pname{font-size:14px}.player-emblem{background:#ff9580;border:1px solid #ffba9a;border-radius:10px;flex:none;place-items:center;width:33px;height:33px;display:grid;box-shadow:0 2px #aa5a55}.player-emblem.player{background:#41c8bc;border-color:#8aeee3;box-shadow:0 2px #168680}.player-emblem>.pc{filter:none;width:26px;height:26px}.status{letter-spacing:0;text-transform:none;background:var(--paper3);color:var(--ink);border-radius:9px;margin-top:12px;padding:9px 12px;font-size:13px;font-weight:600}#status:before{content:"";background:var(--good);border-radius:50%;width:7px;height:7px;margin-right:8px;display:inline-block}.moves{padding:8px 3px}.coachcard .bubble{background:var(--paper2);border:1px solid var(--edge);box-shadow:0 8px 26px var(--shadow);border-bottom-width:4px;border-radius:16px;padding:18px}.coachcard>.bust{width:64px;height:64px;filter:drop-shadow(0 3px 0 var(--shadow))}.cchip{border-radius:9px;min-height:34px;padding:7px 12px}.checkpop>div{box-shadow:0 12px 32px var(--shadow);border-radius:12px;padding:16px}.cline.ai{font-size:14px;line-height:1.6}.drawer{border-top:2px solid var(--edge);background:var(--paper2)}.drawer .handlelabel{letter-spacing:0;text-transform:none;font-size:12px}.drawer .grip{background:var(--brass)}.optpanel{box-shadow:0 16px 50px var(--shadow);border-radius:16px}.tabbar{height:calc(62px + env(safe-area-inset-bottom));padding:4px 8px env(safe-area-inset-bottom);background:var(--paper2);border-top:2px solid var(--edge);box-shadow:0 -6px 28px var(--shadow)}.tabbar .tab{letter-spacing:0;border-radius:11px;gap:3px;font-size:12px;font-weight:700}.tabbar .tab.on{background:var(--paper3);color:var(--brass);box-shadow:inset 0 -3px 0 var(--brass)}.tabbar .tab svg{width:23px;height:23px}.training-lobby,.review-lobby{background:var(--paper2);border:1px solid var(--edge);box-shadow:0 6px 0 var(--rule),0 20px 45px var(--shadow);border-radius:20px;grid-column:1/-1;padding:24px}.quest-banner{isolation:isolate;color:#f0f7ff;background:#134878 url(/assets/chess-citadel-LyY3_lYv.webp) top/cover no-repeat;border-radius:14px;flex-direction:column;justify-content:center;align-items:flex-start;min-height:320px;padding:36px;display:flex;position:relative;overflow:hidden}.quest-banner:before{content:"";z-index:-1;background:linear-gradient(90deg,#092c59f5 0%,#0d365acf 40%,#1647780a 78%);position:absolute;inset:0}.quest-banner h2{max-width:12ch;margin:0 0 16px;font:700 clamp(30px,4vw,48px)/1.1 Chakra Petch,sans-serif}.quest-banner p{color:#dcecff;max-width:40ch;margin:0 0 20px;font-size:15px;line-height:1.6}.quest-banner .small{color:#e1ecfa;max-width:40ch;margin-top:14px;margin-bottom:0;font-size:12px}.review-banner{min-height:240px;margin-bottom:22px}.review-banner h2{max-width:17ch}.review-lobby .gamerow{border-radius:12px;margin-bottom:10px;padding:16px}#reviewPanel:not(.review-lobby){background:var(--paper2);border:1px solid var(--edge);border-radius:18px;padding:20px}.lesson-layout{background:var(--paper2);border:1px solid var(--edge);box-shadow:0 6px 0 var(--rule),0 20px 45px var(--shadow);border-radius:20px;padding:20px}.lesson-layout .lesson-intro h2{max-width:20ch;font-size:30px;line-height:1.15}.lesson-intro #lessonProgress{color:var(--mute);margin:14px 0 12px;font-size:12px}.quiz-trail{gap:8px;max-width:350px;margin:0;padding:0;list-style:none;display:flex;position:relative}.quiz-trail li{width:32px;max-width:36px;height:32px;color:var(--mute);background:var(--paper3);border:1px solid var(--edge);border-bottom-width:3px;border-radius:9px;flex:1;place-items:center;font:700 14px/1 Chakra Petch,sans-serif;display:grid;position:relative}.quiz-trail li+li:before{content:"";background:var(--edge);width:9px;height:2px;position:absolute;top:14px;right:100%}.quiz-trail .done{color:#0b3043;background:#39c7b6;border-color:#8bf1dc #22b4a2 #148176}.quiz-trail .current{color:#172e4b;background:#ffd166;border-color:#ffe59c #efba5b #b08031;box-shadow:0 0 0 3px #ffd16628}.practice-reason{border-left:3px solid var(--good);background:var(--paper3);border-radius:0 9px 9px 0;padding:10px 12px;font-size:13px}.lesson-hint:not(:empty){background:var(--paper3);border-radius:0 10px 10px 0;margin-top:16px;padding:12px}.lesson-input-help{font-size:12px}.lesson-result{border:1px solid var(--edge);background:var(--paper3);border-radius:14px;padding:18px;position:relative}.lesson-result h3{padding-right:40px;font:700 25px/1.15 Chakra Petch,sans-serif}.lesson-result p{font-size:14px;line-height:1.65}.lesson-success{border-color:var(--good);box-shadow:0 5px #0c706755}.lesson-result .controls{gap:10px}.victory-emblem{filter:drop-shadow(0 5px #081e4033);width:88px;height:88px}.result-celebration{pointer-events:none;width:50px;height:50px;position:absolute;top:5px;right:8px}.result-celebration .victory-emblem{width:50px;height:50px}.result-celebration i{opacity:0;--dx:30px;--dy:-20px;background:#ffd166;width:6px;height:6px;position:absolute;top:50%;left:50%}.result-celebration i:nth-of-type(2){--dx:-34px;--dy:-26px;background:#39d9ce}.result-celebration i:nth-of-type(3){--dx:22px;--dy:35px;background:#ff7c78}.result-celebration i:nth-of-type(4){--dx:-27px;--dy:23px;background:#39d9ce}.result-celebration i:nth-of-type(5){--dx:2px;--dy:-38px;background:#ff7c78}.result-celebration i:nth-of-type(6){--dx:38px;--dy:0px}.lesson-complete{border:1px solid var(--edge);background:var(--paper2);width:100%;max-width:none;min-height:430px;box-shadow:0 6px 0 var(--rule),0 20px 45px var(--shadow);border-radius:20px;padding:36px;position:relative;overflow:hidden}.lesson-complete:before{content:"";pointer-events:none;opacity:.2;background:url(/assets/chess-citadel-LyY3_lYv.webp) 75%/cover;position:absolute;inset:0 0 0 45%;-webkit-mask-image:linear-gradient(90deg,#0000,#000);mask-image:linear-gradient(90deg,#0000,#000)}.lesson-complete>*{position:relative}.lesson-complete h2{max-width:20ch;color:var(--ink)}.lesson-complete p{max-width:55ch}.lesson-complete .controls{gap:12px;margin-top:24px}.introback{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.intro{border-bottom:5px solid var(--rule);border-radius:22px;max-width:560px;padding:24px;position:relative}.intro-art{background:url(/assets/chess-citadel-LyY3_lYv.webp) 70% 0/cover;height:190px;margin:-24px -24px 22px}.intro h2{max-width:19ch;font:700 31px/1.12 Chakra Petch,sans-serif}.introx{color:#fff;background:#10264ad9;border:1px solid #ffffff80;border-radius:50%;width:38px;height:38px;position:absolute;top:14px;right:14px}.intro .introcoach{text-transform:none;letter-spacing:0;font-size:14px}.coachpick{border-bottom-width:3px;border-radius:12px;padding:12px 6px}.coachpick.on{border-color:var(--good);background:var(--paper3);box-shadow:0 0 0 1px var(--good)}.coachpick.on .cname{color:var(--ink)}@media (width>=900px){.app{padding:28px 32px 60px}.app>header{margin-bottom:30px;padding:18px 24px}h1{font-size:32px}.app>header>div:first-child{flex-wrap:wrap;align-items:center;gap:22px;display:flex}.layout{grid-template-columns:minmax(360px,620px) minmax(260px,1fr);gap:20px 28px}.layout>.coachcard{border:none;padding:0}.tabbar{height:auto;box-shadow:none;background:0 0;border:none;gap:4px;margin:0;padding:0}.tabbar .tab{background:0 0;border:0;border-radius:10px;height:43px;padding:0 16px;font-size:14px}.tabbar .tab.on{background:var(--paper3);box-shadow:inset 0 -3px 0 var(--brass)}.tabbar .tab svg{width:19px;height:19px}.drawer{background:var(--paper2);border:1px solid var(--edge);border-radius:16px;padding:16px}.drawer:has(#coachDetails[hidden]){box-shadow:none;background:0 0;border:0;padding:0}.lesson-layout{grid-template-columns:minmax(340px,580px) minmax(260px,1fr);gap:20px 28px;padding:24px}.lesson-layout .lesson-intro h2{font-size:34px}}@media (width<=899px){.app{padding-bottom:calc(136px + env(safe-area-inset-bottom))}.app>header{margin-bottom:16px;padding:10px 12px}.game-crest{width:34px;height:38px;font-size:29px}h1{gap:4px;font-size:25px}.drawer{bottom:calc(62px + env(safe-area-inset-bottom))}#playArea{border-radius:16px;padding:10px}.arena-title{margin:2px 2px 10px}.arena-title h2{font-size:20px}.arena-title>span{max-width:18ch;font-size:11px}.layout>.coachcard .bubble{padding:12px;font-size:14px}.training-lobby,.review-lobby{border-radius:16px;padding:14px}.quest-banner{background-position:62% 0;min-height:320px;padding:24px 20px}.quest-banner:before{background:linear-gradient(90deg,#092c59f0,#0d365a99 65%,#16477822)}.quest-banner h2{max-width:12ch;font-size:36px}.quest-banner p{max-width:30ch}.lesson-layout{gap:18px;padding:14px}.lesson-layout .lesson-intro h2{font-size:28px}.lesson-layout .lesson-board{margin:0 -6px}.lesson-result{padding:16px}.lesson-complete{min-height:420px;padding:24px}.lesson-complete h2{font-size:31px}.intro{padding:20px}.intro-art{height:160px;margin:-20px -20px 20px}}@media (prefers-reduced-motion:no-preference){.sq.sel .pc{transition:transform .16s;transform:translateY(-3px)scale(1.07)}.lesson-success .victory-emblem{animation:.55s cubic-bezier(.2,.8,.3,1.3) both prize}.lesson-success .result-celebration i{animation:.7s ease-out .1s both confetti}.lesson-complete>.victory-emblem{animation:.7s cubic-bezier(.2,.8,.3,1.3) both prize}.quiz-trail .current{animation:.45s ease-out checkpoint}}@keyframes prize{0%{opacity:0;transform:scale(.35)rotate(-20deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes confetti{0%{opacity:0;transform:translate(0)scale(.2)}20%{opacity:1}to{opacity:0;transform:translate(var(--dx),var(--dy)) rotate(130deg) scale(.5)}}@keyframes checkpoint{0%{transform:scale(.7)}to{transform:scale(1)}}@media (prefers-reduced-motion:reduce){button,.drawer,.pc{transition:none}}.coach-name{color:var(--brass);align-items:baseline;gap:9px;margin:0 0 10px;font:700 19px/1.2 Chakra Petch,sans-serif;display:flex}.coach-name span{color:var(--mute);font:500 12px/1.3 Avenir Next,Segoe UI,sans-serif}.coachpick .bust{width:72px;max-width:100%;height:72px;filter:drop-shadow(0 3px 0 var(--shadow));margin:2px 0 6px}@media (width<=899px){.layout>.coachcard>.bust{width:52px;height:52px}}@media (width<=360px){.coachpick .bust{width:62px;height:62px}}@media (width<=899px){.app:has(.companion-dock){padding:8px 8px calc(218px + env(safe-area-inset-bottom))}.app:has(.companion-dock)>header{min-height:50px;margin-bottom:8px;padding:6px 10px}.app:has(.companion-dock)>header h1{font-size:23px}.app:has(.companion-dock) .layout{gap:0}.app:has(.companion-dock) #playArea{padding:6px 8px}.app:has(.companion-dock) .arena-title{display:none}.app:has(.companion-dock) .boardrow{width:min(100%,calc(100dvh - 378px - env(safe-area-inset-bottom)));margin-inline:auto}.app:has(.companion-dock) .playerbar{min-height:24px;margin:2px 0;padding:0 2px;font-size:12px}.app:has(.companion-dock) .player-emblem{width:23px;height:23px;font-size:19px}.app:has(.companion-dock) .status{margin-top:4px;padding:4px 8px;font-size:12px}.app:has(.companion-dock) .moves{margin-top:3px;padding:2px 0;font-size:11px}.companion-dock.drawer{height:148px;left:8px;right:8px;bottom:calc(68px + env(safe-area-inset-bottom));border:1px solid var(--edge);border-top:3px solid var(--brass);box-shadow:0 6px 0 var(--rule),0 10px 32px var(--shadow);border-radius:18px;transition:height .22s;overflow:hidden;transform:none}.companion-dock.drawer.open{height:min(72dvh,620px)}.companion-dock .handle{color:var(--ink);gap:4px;padding:5px 12px 2px}.companion-dock .grip{opacity:.6;width:28px;height:3px}.companion-peek{text-align:left;align-items:center;gap:10px;width:100%;display:flex}.companion-avatar{flex:none;display:block}.companion-avatar .bust{width:48px;height:48px;display:block}.companion-message{flex:1;min-width:0;font-size:13px;font-weight:500;line-height:1.35}.companion-name{color:var(--brass);margin-bottom:3px;font:700 16px/1.2 Chakra Petch,sans-serif;display:block}#coachHeadline{-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:35px;display:-webkit-box;overflow:hidden}.companion-chevron{color:var(--brass);font-size:22px}.companion-actions{flex:none;justify-content:flex-start;align-items:center;gap:8px;padding:6px 12px 10px;display:flex}.companion-actions>button{min-height:40px;padding:6px 12px;font-size:12px}.companion-actions>button:first-child{background:var(--brass);border-color:var(--brass);color:var(--paper2)}.companion-actions .speakbtn{margin-left:auto}.companion-dock .drawerbody{overscroll-behavior:contain;border-top:1px solid var(--edge);padding:8px 14px 24px}.companion-dock .drawerbody[hidden]{display:none}.companion-dock .moves{white-space:normal;flex-wrap:wrap;overflow:visible}.companion-dock .coachcard{border:none;margin:0 0 16px;padding:0}.companion-dock .coachcard>.bust,.companion-dock .coach-name,.companion-dock #detailsBtn{display:none}.companion-dock .coachcard .bubble{box-shadow:none;background:0 0;border:none;padding:8px 0}.companion-dock .coachcard .bubble:before,.companion-dock .coachcard .bubble:after{display:none}.companion-dock .coachcard .lines{max-height:none;overflow:visible}.mobile-lesson{border:1px solid var(--edge);background:var(--paper2);border-radius:16px;padding:8px}.mobile-lesson h2{margin:5px 0 8px;font:700 20px/1.15 Chakra Petch,sans-serif}.mobile-lesson .quiz-trail{gap:7px;margin:0}.mobile-lesson .quiz-trail li{width:23px;height:23px;font-size:11px}.mobile-lesson .quiz-trail li+li:before{top:10px}.mobile-lesson .lesson-board{width:min(100%,calc(100dvh - 440px - env(safe-area-inset-bottom)));margin-inline:auto}.mobile-lesson .lesson-instruction{margin:6px 0 0;font-size:12px;line-height:1.4}.mobile-lesson .lesson-result{margin:8px 0;padding:12px}.mobile-lesson .lesson-result h3{font-size:20px}.mobile-lesson .lesson-result p{font-size:13px}.mobile-lesson .lesson-result .controls{gap:6px}}@media (width<=899px) and (height<=700px) and (orientation:portrait){.app:has(.companion-dock){padding-bottom:calc(182px + env(safe-area-inset-bottom))}.app:has(.companion-dock)>header{min-height:40px;margin-bottom:6px;padding:3px 8px}.app:has(.companion-dock)>header h1{font-size:21px}.app:has(.companion-dock) .game-crest{width:27px;height:30px;font-size:24px}.app:has(.companion-dock) .boardrow{width:min(100%,calc(100dvh - 276px - env(safe-area-inset-bottom)))}.app:has(.companion-dock) .frame{padding:6px}.app:has(.companion-dock) #playArea>.status{display:none}.app:has(.companion-dock) #barPlayer{display:none}.companion-dock.drawer:not(.open){height:120px}.companion-dock .handle{gap:2px;padding:3px 10px 0}.companion-dock .grip{height:2px}.companion-avatar .bust{width:40px;height:40px}.companion-name{margin-bottom:1px;font-size:14px}.companion-actions{gap:6px;padding:4px 10px 6px}.companion-actions>button{min-height:40px;padding:4px 9px}.mobile-lesson h2{clip-path:inset(50%);width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.mobile-lesson .quiz-trail{margin-bottom:6px}.mobile-lesson .lesson-instruction{display:none}.mobile-lesson .lesson-board{width:min(100%,calc(100dvh - 298px - env(safe-area-inset-bottom)))}}@media (width<=899px) and (height<=600px) and (orientation:landscape){.app:has(.companion-dock){padding-right:calc(43% + 8px);padding-bottom:calc(64px + env(safe-area-inset-bottom))}.app:has(.companion-dock)>header{gap:6px;min-height:50px;margin:0;position:fixed;top:8px;left:58%;right:8px}.app:has(.companion-dock)>header h1{font-size:19px}.companion-dock.drawer,.companion-dock.drawer.open{top:70px;left:58%;bottom:calc(68px + env(safe-area-inset-bottom));height:auto}.app:has(.companion-dock) .boardrow{width:min(100%,calc(100dvh - 100px - env(safe-area-inset-bottom)))}.app:has(.companion-dock) #playArea>.status{display:none}.app:has(.companion-dock) #barPlayer{display:none}.mobile-lesson h2{clip-path:inset(50%);width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.mobile-lesson .lesson-instruction{display:none}.mobile-lesson .quiz-trail{margin-bottom:6px}.mobile-lesson .lesson-board{width:min(100%,calc(100dvh - 120px - env(safe-area-inset-bottom)))}.companion-dock.drawer.open{top:8px}.companion-dock .drawerbody{padding-inline:12px}}@media (prefers-reduced-motion:no-preference){.companion-avatar{animation:.45s ease-out coach-notice}@keyframes coach-notice{50%{transform:translateY(-3px)rotate(-4deg)}to{transform:none}}}@media (prefers-reduced-motion:reduce){.companion-dock.drawer{transition:none}}.coach-current-title{color:var(--ink);margin:0 0 10px;font:700 19px/1.25 Chakra Petch,sans-serif}.previous-move{border-top:1px solid var(--edge);margin-top:16px;padding-top:12px}.previous-move>summary{color:var(--mute);cursor:pointer;font-size:13px;display:list-item}.previous-move .verdict{background:0 0;border:0;padding:0}.coach-explore>summary{cursor:pointer;color:var(--soft);padding:10px 0;font:700 16px/1.3 Chakra Petch,sans-serif}.coach-explore[open]>summary{margin-bottom:12px}.companion-dock .coachcard{margin-bottom:0}
