@font-face{font-family:"Noto Sans Symbols 2";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/noto-sans-symbols-2-chess-Ce2lPASS.woff2)format("woff2");unicode-range:U+2654-265F,U+FE0E}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#110d0a;--room:#15110d;--panel:#1b1511;--panel-2:#241c16;--rule:#35291f;--ink:#efe6d2;--ink-2:#b8aa92;--ink-3:#7f7261;--white:#e9b872;--black:#6fa3c7;--threat:#e0523f;--key:#f4e6c1;--ghost:#9a8f80;--good:#9cc28a;--brass:#c9a063;--stage-ink:#f4e6c1;--stage-ink-2:#b8aa92;--stage-shadow:#000000b3;--display:"Geist Variable", "Geist", system-ui, sans-serif;--serif:"Geist Variable", "Geist", system-ui, sans-serif;--figurine:"Noto Sans Symbols 2", "Segoe UI Symbol", "Apple Symbols", sans-serif;--ui:"Geist Variable", "Geist", system-ui, sans-serif;--mono:"Geist Mono Variable", "Geist Mono", ui-monospace, "SF Mono", Menlo, monospace}html,body{height:100%}[hidden]{display:none!important}body{background:var(--bg);color:var(--ink);font:15px/1.5 var(--ui);-webkit-font-smoothing:antialiased;margin:0;overflow:hidden}button{font:inherit;color:inherit}#app{box-sizing:border-box;grid-template-columns:minmax(0,1fr) 390px;gap:16px;height:100%;padding-block:16px;padding-inline:16px;display:grid}#stage{background:var(--room);border:1px solid var(--rule);border-radius:10px;min-height:0;position:relative;overflow:hidden}#c{touch-action:none;cursor:grab;width:100%;height:100%;display:block}#c.pointing{cursor:pointer}.brand{pointer-events:none;flex-direction:column;gap:2px;display:flex;position:absolute;top:16px;left:20px}.brand b{font:600 19px/1 var(--ui);letter-spacing:-.025em;color:var(--stage-ink)}.brand span{font:500 10.5px/1.2 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--stage-ink-2)}#views{border:1px solid var(--rule);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#140f0bb8;border-radius:8px;gap:2px;padding:3px;display:flex;position:absolute;top:14px;right:14px}.seg{font:500 11.5px var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:6px 11px}.seg[aria-pressed=true]{background:var(--panel-2);color:var(--key)}.seg:hover{color:var(--ink)}#plate{left:calc(50% + var(--col) / 2);text-align:center;pointer-events:none;font:500 11px/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--stage-ink-2);position:absolute;top:16px;transform:translate(-50%)}#plate b{font:600 15px/1.3 var(--ui);letter-spacing:-.01em;text-transform:none;color:var(--stage-ink);display:block}#plate i{color:var(--brass);font-style:normal}#transport{left:calc(50% + var(--col) / 2);border:1px solid var(--rule);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#140f0bc7;border-radius:999px;align-items:center;gap:4px;padding:5px 8px;display:flex;position:absolute;bottom:16px;transform:translate(-50%)}.tbtn{cursor:pointer;width:40px;height:40px;color:var(--ink-2);background:0 0;border:0;border-radius:50%;place-items:center;display:grid}.tbtn:hover{color:var(--key);background:var(--panel-2)}.tbtn svg{fill:currentColor;width:18px;height:18px}#play{background:var(--key);color:#1a130d;width:46px;height:46px}#play:hover{color:#1a130d;background:#fff4dc}.speed{font:500 12px var(--mono);border-radius:999px;width:44px}#banner{left:calc(50% + var(--col) / 2);text-align:left;pointer-events:none;width:max-content;max-width:min(520px,calc(100% - var(--col) - 260px));box-sizing:border-box;border:1px solid var(--rule);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#140f0bdb;border-radius:999px;align-items:baseline;gap:10px;padding:8px 16px;display:flex;position:absolute;top:14px;transform:translate(-50%)}body:has(#stepBar:not([hidden])) #banner{top:60px}#banner:not([hidden]){animation:.42s cubic-bezier(.16,1,.3,1) both pillIn}@keyframes pillIn{0%{opacity:0;translate:0 -4px}}@media (prefers-reduced-motion:reduce){#banner{animation:none}}#banner .q{font:600 16px/1.2 var(--ui);letter-spacing:-.01em;color:var(--ink);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}#banner .s{font:500 11px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);flex:none}#banner .s:empty{display:none}#toast{z-index:40;left:50%;bottom:calc(96px + env(safe-area-inset-bottom));background:var(--panel-2);border:1px solid var(--rule);color:var(--ink);pointer-events:none;opacity:0;white-space:nowrap;border-radius:8px;padding:8px 14px;font-size:13px;transition:opacity .25s;position:fixed;transform:translate(-50%)}#toast.on{opacity:1}#syncStamp{z-index:30;pointer-events:none;text-align:center;border:1px solid color-mix(in srgb, var(--brass) 55%, transparent);background:#140e09e0;border-radius:18px;flex-direction:column;align-items:center;gap:6px;padding:14px 26px 12px;display:flex;position:absolute;top:20%;left:50%;transform:translate(-50%);box-shadow:0 18px 40px #0a060380}#syncStamp b{font:650 34px/1 var(--ui);letter-spacing:-.03em;color:var(--brass);white-space:nowrap}#syncStamp span{font:500 12px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);white-space:nowrap}#syncStamp span:empty{display:none}#syncStamp.on{animation:1.8s cubic-bezier(.16,1,.3,1) both stampIn}@keyframes stampIn{0%{opacity:0;transform:translate(-50%,10px)scale(.96)}14%{opacity:1;transform:translate(-50%)scale(1)}78%{opacity:1}to{opacity:0}}#xpGain{z-index:30;font:500 13px var(--mono);letter-spacing:.06em;color:var(--brass);border:1px solid var(--rule);opacity:0;pointer-events:none;background:#140e09c7;border-radius:999px;padding:4px 12px;position:absolute;top:14px;left:50%;transform:translate(-50%)}#xpGain.on{animation:1.6s cubic-bezier(.16,1,.3,1) both gainUp}@keyframes gainUp{0%{opacity:0;transform:translate(-50%,8px)}15%{opacity:1;transform:translate(-50%)}75%{opacity:1}to{opacity:0;transform:translate(-50%,-6px)}}@media (prefers-reduced-motion:reduce){#syncStamp.on{animation:none}#xpGain.on{animation:1.6s linear both fadeOnly}}@keyframes fadeOnly{0%,80%{opacity:1}to{opacity:0}}.path-xp{border:1px solid var(--rule);background:var(--panel);border-radius:14px;flex-direction:column;gap:6px;margin:0 0 12px;padding:10px 14px;display:flex}.px-top{align-items:center;gap:10px;display:flex}.px-top b{font:600 16px/1.2 var(--ui);letter-spacing:-.01em;color:var(--ink);flex:1;min-width:0}.px-top small{font:500 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--brass);flex:none}.px-ladder{flex-direction:row-reverse;flex:none;gap:2px;display:flex}.px-sq{background:var(--rule);width:14px;height:14px;font:400 11px/1 var(--figurine);color:var(--ink);border-radius:3px;place-items:center;font-style:normal;display:grid}.px-sq:nth-child(2n){background:color-mix(in srgb, var(--rule) 55%, var(--ink-3))}.px-sq.past{background:color-mix(in srgb, var(--brass) 40%, var(--panel-2))}.px-sq.here{background:var(--brass);color:#1b130c}.px-bar{background:var(--panel-2);border-radius:999px;height:5px;display:block;overflow:hidden}.px-bar i{background:var(--brass);border-radius:inherit;height:100%;display:block}.px-n{color:var(--ink-2);font-size:12.5px}.introsheet .px-ladder{flex-direction:row-reverse;justify-content:center;gap:3px;margin:4px auto 10px}.introsheet .px-sq{width:26px;height:26px;font-size:20px}.px-pick{grid-template-columns:1fr 1fr;gap:8px;margin-top:6px;display:grid}.px-pick .btn{justify-content:center;align-items:center;gap:8px;display:flex}.px-pick .fig{font:400 22px/1 var(--figurine)}#usageAsk{z-index:45;left:50%;bottom:calc(16px + env(safe-area-inset-bottom));background:var(--panel-2);border:1px solid var(--rule);border-radius:12px;align-items:center;gap:8px;width:max-content;max-width:calc(100% - 32px);padding:8px 8px 8px 16px;animation:.32s cubic-bezier(.16,1,.3,1) both askIn;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 12px 32px #0a060373}#usageAsk[hidden]{display:none}#usageAsk p{color:var(--ink);text-wrap:balance;margin:0 8px 0 0;font-size:13px;line-height:1.4}#usageAsk .btn{flex:none}@keyframes askIn{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){#usageAsk{animation:none}}@media (width<=600px){#usageAsk{flex-wrap:wrap;justify-content:flex-end;padding:12px}#usageAsk p{flex:100%;margin:0 0 4px}}#evalbar{background:var(--black);opacity:.9;border-radius:4px;width:7px;position:absolute;top:84px;bottom:96px;left:14px;overflow:hidden}#evalbar i{background:var(--white);transform-origin:bottom;transition:transform .6s cubic-bezier(.3,.7,.2,1);position:absolute;inset:0;transform:scaleY(.5)}#evalbar:after{content:"";background:#00000080;height:1px;position:absolute;top:50%;left:-2px;right:-2px}#evalnum{font:500 11px var(--mono);color:var(--ink-2);font-variant-numeric:tabular-nums;position:absolute;bottom:70px;left:10px}#scene{z-index:3;background:radial-gradient(#0c0907b8,#080604eb);place-items:center;padding-inline:16px;display:grid;position:absolute;inset:0}#scene .inner{text-align:center;flex-direction:column;align-items:center;gap:14px;max-width:560px;display:flex}#scene .when{font:500 11.5px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--brass)}#scene h2{font:600 clamp(34px,5vw,56px)/1 var(--display);letter-spacing:-.045em;color:var(--key);text-wrap:balance;margin:0}#scene p{font:400 17px/1.6 var(--ui);color:var(--ink);text-wrap:pretty;margin:0}#scene small{color:var(--ink-3);max-width:44ch;font-size:12px}#panel{scrollbar-width:thin;flex-direction:column;gap:14px;min-height:0;padding-inline:4px;display:flex;overflow-y:auto}.tabs{border-bottom:1px solid var(--rule);gap:2px;display:flex}.tab{font:500 12px var(--mono);letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 12px 11px}.tab[aria-selected=true]{color:var(--key);border-color:var(--brass)}.pane{flex-direction:column;gap:14px;display:flex}.eyebrow{font:500 11.5px var(--mono);letter-spacing:.05em;text-transform:uppercase;color:var(--brass)}h1{font:600 30px/1.08 var(--display);letter-spacing:-.035em;text-wrap:balance;margin:6px 0 0}.meta{color:var(--ink-2);margin-top:6px;font-size:13.5px}.idea{color:var(--ink-2);font:400 15px/1.55 var(--ui);margin:10px 0 0}.card{background:var(--panel);border:1px solid var(--rule);border-radius:8px;padding:16px 18px}#caption{font:400 16px/1.6 var(--ui);letter-spacing:-.005em;text-wrap:pretty;min-height:3.1em}#caption .who{font:500 11px var(--mono);letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3);margin-bottom:6px;display:block}#caption em{color:var(--key);font-style:normal}#caption .mind{font:500 17.5px/1.5 var(--ui);letter-spacing:-.015em;color:var(--key)}#caption .verdict{font:500 10.5px var(--mono);letter-spacing:.04em;text-transform:uppercase;vertical-align:2px;border:1px solid;border-radius:999px;margin-right:6px;padding:2px 8px;display:inline-block}.v-best{color:var(--good)}.v-good{color:var(--white)}.v-bad{color:var(--threat)}#coach{border-bottom:1px solid var(--rule);font:400 15px/1.55 var(--ui);margin-bottom:12px;padding-bottom:12px}#coach .who{font:500 11px var(--mono);letter-spacing:.05em;text-transform:uppercase;color:var(--brass);margin-bottom:4px;display:block}.row{flex-wrap:wrap;gap:8px;display:flex}#moreActions[hidden]{display:none}.btn{border:1px solid var(--rule);background:var(--panel-2);cursor:pointer;color:var(--ink);border-radius:7px;padding:8px 13px;font-size:13.5px;font-weight:500}.btn:hover{border-color:var(--brass);color:var(--key)}.btn.primary{background:var(--key);border-color:var(--key);color:#1a130d}.btn,.node,.great,.lesson,.pill,.tab,.seg,.tbtn,.path-cont,.unit.folded,.steps-pill{transition:background-color .2s,border-color .2s,color .2s,transform .12s cubic-bezier(.22,.61,.36,1)}.btn:active,.node:not([disabled]):active,.great:active,.lesson:active,.pill:active,.tbtn:active,.path-cont:active,.unit.folded:active{transform:scale(.98)}.btn.primary:hover{color:#1a130d;background:#fff4dc}.btn.big{padding:12px 20px;font-size:15px}.btn[disabled]{opacity:.4;cursor:default}.lib-btn{text-align:left;justify-content:space-between;align-items:center;width:100%;display:flex}.lib-btn small{color:var(--ink-3);font-weight:400}.seatcta{text-align:left;border:1px solid var(--brass);cursor:pointer;background:linear-gradient(#2a2016,#211912);border-radius:8px;flex-direction:column;gap:4px;padding:13px 15px;display:flex}.seatcta b{font:600 18px/1.2 var(--ui);letter-spacing:-.02em;color:var(--key)}.seatcta span{color:var(--ink-2);font-size:13px}.seatcta:hover{background:#2e2318}.score{color:var(--ink-2);gap:18px;font-size:13px;display:flex}.score b{font:500 22px/1.1 var(--mono);color:var(--ink);font-variant-numeric:tabular-nums;display:block}#moves{font-variant-numeric:tabular-nums;color:var(--ink-2);flex-wrap:wrap;gap:0 4px;font-family:Geist Mono Variable,"Noto Sans Symbols 2",ui-monospace,monospace;font-size:13px;line-height:2;display:flex}#moves .fg{vertical-align:-.04em;margin-right:.04em;font-family:"Noto Sans Symbols 2",Segoe UI Symbol,sans-serif;font-size:1.25em;line-height:0}#moves .n{color:var(--ink-3);margin-left:6px}#moves button,#moves span.m{cursor:pointer;color:var(--ink-2);font:inherit;background:0 0;border:0;border-radius:4px;padding:0 3px}#moves button:hover{color:var(--ink)}#moves .cur{background:var(--panel-2);color:var(--key)}#moves .key{text-decoration:underline;-webkit-text-decoration-color:var(--brass);text-decoration-color:var(--brass);text-underline-offset:4px}#moves .sync{color:var(--good)}#moves .miss{color:var(--threat)}#moves .more{color:var(--ink-3);margin-left:6px}#story{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}#story li{box-sizing:border-box;min-height:40px;color:var(--ink-2);border-radius:8px;align-items:center;gap:12px;padding:6px 10px;font-size:15px;line-height:1.35;display:flex}#story li b{color:var(--ink);font-weight:600}#story li span{flex:1;min-width:0}#story li small{font:500 11px var(--mono);letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3);flex:none}#story li.cur{background:var(--panel-2);color:var(--ink)}#story li[tabindex]{cursor:pointer}#story li[tabindex]:hover{color:var(--ink)}#story li.sync b{color:var(--good)}#story li.miss b{color:var(--threat)}#story li.none{color:var(--ink-3)}#notationToggle{color:var(--ink-3);font:500 13px var(--ui);text-underline-offset:4px;cursor:pointer;background:0 0;border:0;margin:8px 0 0 10px;padding:6px 0;text-decoration:underline}#moves{margin-top:8px}.label{font:500 11px var(--mono);letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3);margin-bottom:8px}.pills{flex-wrap:wrap;gap:6px;display:flex}.pill{border:1px solid var(--rule);cursor:pointer;color:var(--ink-2);background:0 0;border-radius:999px;align-items:center;gap:7px;padding:6px 12px;font-size:13px;display:flex}.pill i{background:var(--ink-3);border-radius:50%;width:8px;height:8px}.pill[aria-pressed=true]{border-color:var(--brass);color:var(--key);background:var(--panel-2)}.pill[aria-pressed=true] i{background:var(--brass)}.greats{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px;display:grid}.great{text-align:left;border:1px solid var(--rule);background:var(--panel);cursor:pointer;border-radius:8px;flex-direction:column;gap:2px;padding:9px 11px;display:flex}.great b{font:600 14.5px/1.25 var(--ui);letter-spacing:-.01em;color:var(--ink)}.great small{color:var(--ink-3);font-size:11.5px;line-height:1.3}.great:hover{border-color:var(--brass)}.great[aria-pressed=true]{border-color:var(--brass);background:var(--panel-2)}.great[aria-pressed=true] b{color:var(--key)}#plateSay{font:500 15px/1.4 var(--ui);letter-spacing:0;text-transform:none;color:var(--stage-ink);max-width:420px;text-shadow:0 1px 12px var(--stage-shadow);opacity:0;margin-top:6px;transition:opacity .4s;display:block}#plateSay.on{opacity:1}.legend{color:var(--ink-2);grid-template-columns:auto 1fr;align-items:center;gap:6px 10px;margin-top:12px;font-size:13px;display:grid}.sw{border-radius:2px;width:22px;height:4px}.hint-steps{gap:4px;margin-top:10px;display:flex}.hint-steps span{background:var(--rule);border-radius:2px;flex:1;height:3px}.hint-steps span.on{background:var(--brass)}.foot{color:var(--ink-3);padding-bottom:8px;font-size:12px}.credits{color:var(--ink-3);margin:0;padding-bottom:12px;font-size:11px}.credits a{color:inherit;text-underline-offset:2px;text-decoration:underline}.credits a:hover{color:var(--brass)}:focus-visible{outline:2px solid var(--brass);outline-offset:2px}.teach{outline:2.5px solid var(--key);outline-offset:3px;box-shadow:0 0 0 7px #f4e6c129}#library{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10;background:#080604b8;place-items:center;padding-inline:16px;display:grid;position:fixed;inset:0}#library .sheet{background:var(--panel);border:1px solid var(--rule);box-sizing:border-box;border-radius:12px;width:min(820px,100%);max-height:86vh;padding:22px 22px 26px;overflow:auto}#library header{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:6px;display:flex}#library h2{font:600 28px/1.1 var(--display);letter-spacing:-.035em;margin:0}#library .lvl{margin-top:22px}#library .lvl h3{font:500 11px var(--mono);letter-spacing:.05em;text-transform:uppercase;color:var(--brass);margin:0 0 8px}#library .grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;display:grid}.lesson{text-align:left;border:1px solid var(--rule);background:var(--panel-2);cursor:pointer;border-radius:8px;flex-direction:column;gap:3px;padding:11px 13px;display:flex}.lesson:hover{border-color:var(--brass)}.lesson b{font:600 15px/1.25 var(--ui);letter-spacing:-.015em}.lesson small{color:var(--ink-3);font-size:12px}.lesson span{color:var(--ink-2);font-size:12.5px;line-height:1.35}.lesson em{font:500 10.5px var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--brass);margin-top:4px}.lesson.seen b:after{content:"  seen";font:500 10px var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--good)}#stub{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:11;background:#080604b8;place-items:center;padding-inline:16px;display:grid;position:fixed;inset:0}.stubwrap{perspective:900px;flex-direction:column;align-items:center;gap:18px;display:flex}.stubcard{--cut:176px;--rx:0deg;--ry:0deg;--mx:50%;--my:30%;color:#231a12;width:min(300px,100vw - 32px);transform:rotateX(var(--rx)) rotateY(var(--ry));-webkit-mask:radial-gradient(circle 9px at 0 var(--cut),#0000 97%,#000) left/51% 100% no-repeat,radial-gradient(circle 9px at 100% var(--cut),#0000 97%,#000) right/51% 100% no-repeat;-webkit-mask:radial-gradient(circle 9px at 0 var(--cut),#0000 97%,#000) left/51% 100% no-repeat,radial-gradient(circle 9px at 100% var(--cut),#0000 97%,#000) right/51% 100% no-repeat;mask:radial-gradient(circle 9px at 0 var(--cut),#0000 97%,#000) left/51% 100% no-repeat,radial-gradient(circle 9px at 100% var(--cut),#0000 97%,#000) right/51% 100% no-repeat;background:#f3ecdf;border-radius:10px;transition:transform .6s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff80,0 18px 40px #00000073,0 4px 10px #0000004d}.stubcard.held{transition:transform .12s ease-out}.stubcard:after{content:"";pointer-events:none;background:radial-gradient(circle at var(--mx) var(--my),#ffffff47,transparent 55%);opacity:0;transition:opacity .3s;position:absolute;inset:0}.stubcard.held:after{opacity:1}.stubart{height:var(--cut);background:#2a2016;position:relative}.stubart img{object-fit:cover;width:100%;height:100%;display:block}.stubhead{font:500 10.5px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:#f4e6c1;background:linear-gradient(#110d0a9e,#0000);justify-content:space-between;padding:12px 14px 22px;display:flex;position:absolute;inset:0 0 auto}.stubbody{border-top:1.5px dashed #c9bda8;padding:16px 40px 16px 18px;position:relative}.stubno{align-items:baseline;gap:6px;margin-bottom:8px;display:flex}.stubno span{font:500 12px var(--mono);color:#7a6c59}.stubno b{font:600 40px/1 var(--display);letter-spacing:-.04em;font-variant-numeric:tabular-nums}.stubrows{grid-template-columns:auto 1fr;gap:5px 14px;margin:0 0 10px;display:grid}.stubrows dt{font:500 10.5px/1.9 var(--mono);letter-spacing:.05em;text-transform:uppercase;color:#7a6c59}.stubrows dd{font:500 14px/1.6 var(--ui);color:#231a12;margin:0}.stubnote{font:italic 400 14px/1.45 var(--ui);color:#4a3e30;text-wrap:pretty;margin:0}.stubnote:empty{display:none}.stubissuer{writing-mode:vertical-rl;font:500 9.5px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#a89a84;position:absolute;bottom:16px;right:12px}.stubactions{gap:8px;display:flex}@media (prefers-reduced-motion:reduce){.stubcard{transform:none}.stubcard:after{display:none}}#intro{z-index:12;padding:0 16px calc(16px + env(safe-area-inset-bottom));background:linear-gradient(#08060440,#080604d1 55%);place-items:end center;display:grid;position:fixed;inset:0}@media (width>=821px){#intro{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#080604b8;align-items:center}}.introsheet{background:var(--panel);border:1px solid var(--rule);box-sizing:border-box;border-radius:20px;width:min(460px,100%);padding:18px 18px 16px;box-shadow:0 30px 60px #00000073}.introsheet .rooky{aspect-ratio:200/280;filter:drop-shadow(0 18px 24px #00000073);width:140px;height:auto;margin:-84px auto 4px;display:block}.introsheet .rooky.small{flex:none;width:64px;margin:0}.introsheet .dots{justify-content:center;gap:6px;margin:0 0 12px;display:flex}.introsheet .dots i{background:var(--rule);border-radius:50%;width:6px;height:6px}.introsheet .dots i.on{background:var(--brass)}.introsheet .say{font:600 20px/1.3 var(--display);letter-spacing:-.02em;color:var(--ink);text-align:center;text-wrap:balance;margin:0 0 14px}.introsheet .say small{font:400 15px/1.45 var(--ui);letter-spacing:0;color:var(--ink-2);margin-top:6px;display:block}.introsheet .say em{color:var(--key);font-style:normal}.introsheet .bigword{font:600 40px/1 var(--display);letter-spacing:-.04em;text-align:center;color:var(--key);margin:0 0 6px;display:block}.introsheet .tiles{grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0 16px;display:grid}.introsheet .tile{border:1px solid var(--rule);background:var(--panel-2);border-radius:12px;padding:10px 12px}.introsheet .tile span{font:500 10.5px var(--mono);letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3);display:block}.introsheet .tile b{font:600 24px/1.1 var(--display);color:var(--ink);font-variant-numeric:tabular-nums;margin-top:6px;display:block}.introsheet .go{width:100%;min-height:52px;font-size:16px}.introsheet .go2{margin-top:8px}.closet button small{color:var(--ink-3);font-size:11.5px;line-height:1.3}.introsheet .say.ask{margin:4px 0 10px;font-size:17px}.introsheet .played{flex-direction:column;gap:8px;display:flex}.introsheet .played .btn{width:100%;min-height:52px;font-size:16px}.introsheet .skip{width:100%;min-height:44px;color:var(--ink-2);font:500 14px var(--ui);cursor:pointer;text-underline-offset:4px;background:0 0;border:0;margin-top:6px;text-decoration:underline;display:block}.steps-pill{border:1px solid var(--brass);background:var(--panel-2);min-height:32px;font:500 12.5px var(--ui);color:var(--key);cursor:pointer;border-radius:999px;align-self:center;margin-left:auto;padding:0 12px}.steps-pill b{font:500 12px var(--mono);color:var(--brass);margin-left:4px}.steps-pill:hover{background:#2e241b}.introsheet .stepshead{align-items:center;gap:12px;margin:0 0 12px;display:flex}.introsheet .stepshead .say{text-align:left;margin:0}.introsheet .stepbar{grid-template-columns:repeat(6,1fr);gap:4px;margin:0 0 12px;display:grid}.introsheet .stepbar i{background:var(--rule);border-radius:2px;height:4px}.introsheet .stepbar i.on{background:var(--brass)}.introsheet .steplist{flex-direction:column;gap:6px;margin:0 0 14px;padding:0;list-style:none;display:flex}.introsheet .steplist li{border:1px solid var(--rule);background:var(--panel-2);border-radius:12px;align-items:center;gap:12px;min-height:52px;padding:8px 12px;display:flex}.introsheet .steplist li b{color:var(--ink);font-size:15px;font-weight:600;display:block}.introsheet .steplist li small{color:var(--ink-3);font-size:13px;line-height:1.35;display:block}.introsheet .steplist .n{border:1px solid var(--rule);width:26px;height:26px;font:500 12px var(--mono);color:var(--ink-3);border-radius:50%;flex:none;place-items:center;display:grid}.introsheet .steplist .n svg{width:14px;height:14px}.introsheet .steplist li:has(.steprow){padding:0}.introsheet .steplist .steprow{all:unset;box-sizing:border-box;width:100%;min-height:inherit;cursor:pointer;border-radius:12px;align-items:center;gap:12px;padding:8px 12px;display:flex}.introsheet .steplist .steprow:focus-visible{outline:2px solid var(--key);outline-offset:2px}.introsheet .steplist .steprow:after{content:"";border-top:1.5px solid var(--ink-3);border-right:1.5px solid var(--ink-3);flex:none;width:7px;height:7px;margin-left:auto;transform:rotate(45deg)}.introsheet .steplist .tag{font:500 11px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);margin-left:6px;font-style:normal}.introsheet .skips{justify-content:center;gap:24px;display:flex}.introsheet .skips .skip{width:auto;padding:0 4px}.introsheet .steplist li.done{background:0 0}.introsheet .steplist li.done b{color:var(--ink-2)}.introsheet .steplist li.done .n{background:var(--brass);border-color:var(--brass);color:#1a130d}.introsheet .steplist li.just{border-color:var(--brass);background:0 0}.introsheet .steplist li.just b{color:var(--key)}.introsheet .steplist li.next{border-color:var(--brass);background:#2e241b}.introsheet .steplist li.next .n{border-color:var(--key);color:var(--key)}@media (width<=820px){.introsheet .steplist li small{display:none}.introsheet .steplist li.next small{display:block}.introsheet .steplist li{min-height:44px}}.introsheet .closet-rooky .rooky{width:132px;margin:-84px auto 0}.introsheet .closet{grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 14px;display:grid}.introsheet .closet button{border:1px solid var(--rule);background:var(--panel-2);min-height:44px;font:500 12.5px var(--ui);color:var(--ink-2);cursor:pointer;border-radius:12px;flex-direction:column;align-items:center;gap:4px;padding:8px 6px 10px;display:flex}.introsheet .closet button .rooky{filter:none;flex:none;width:72px;margin:0}.introsheet .closet button[aria-pressed=true]{border-color:var(--brass);color:var(--key);background:#2e241b}.introsheet .closet button:disabled{opacity:.4;cursor:default}.introsheet:has(.closet){--over:84px;max-height:calc(100dvh - var(--over) - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom));flex-direction:column;display:flex}.introsheet:has(.closet)>*{flex:none}.introsheet .closet{overscroll-behavior:contain;flex:0 auto;grid-auto-rows:max-content;min-height:0;margin:0 -2px 14px;padding:2px;overflow-y:auto}@media (height<=720px){.introsheet:has(.closet){--over:56px}.introsheet .closet-rooky .rooky{width:96px;margin-top:-56px}}#rookyCoach{z-index:4;pointer-events:none;align-items:flex-start;gap:10px;display:flex;position:relative}#rookyCoach .rooky{aspect-ratio:200/280;filter:drop-shadow(0 10px 16px #00000080);flex:none;width:64px;height:auto}#rookyCoach .bubble{pointer-events:auto;background:var(--panel);border:1.5px solid var(--brass);min-width:0;font:500 17px/1.45 var(--ui);color:var(--ink);text-wrap:pretty;border-radius:16px;flex:1;max-width:440px;margin-top:6px;padding:14px 16px;box-shadow:0 16px 40px #00000073}#rookyCoach .rooky{animation:.36s cubic-bezier(.16,1,.3,1) both coachIn}#rookyCoach .bubble{animation:.3s cubic-bezier(.16,1,.3,1) 80ms both coachIn}@keyframes coachIn{0%{transform:translateY(12px)}to{transform:none}}@media (prefers-reduced-motion:reduce){#rookyCoach .rooky,#rookyCoach .bubble{animation:none}}.more-btn{display:none}#stage{--col:0px}@media (width>=821px){#stage{--col:332px}}#callout{z-index:6;box-sizing:border-box;border:1.5px solid var(--brass);background:var(--panel);scrollbar-width:thin;border-radius:16px;width:300px;max-height:calc(100% - 180px);padding:14px 16px;position:absolute;top:84px;left:16px;overflow-y:auto;box-shadow:0 18px 44px #08060480}#callout .co-in{flex-direction:column;gap:10px;display:flex}#callout:not([hidden]){animation:.26s cubic-bezier(.22,.61,.36,1) both coIn}#callout .co-in.say>*{animation:.42s cubic-bezier(.16,1,.3,1) both coSay}#callout .co-in.say>:nth-child(2){animation-delay:60ms}#callout .co-in.say>:nth-child(3){animation-delay:.12s}@keyframes coIn{0%{opacity:0}}@keyframes coSay{0%{opacity:0;transform:translateY(4px)}}#callout #rookyCoach{pointer-events:auto;align-items:flex-start;gap:10px;display:flex;position:static}#callout #rookyCoach .rooky{width:48px}#callout #rookyCoach .bubble{box-shadow:none;font:500 15.5px/1.45 var(--ui);background:0 0;border:0;max-width:none;margin:0;padding:0}#rookyCoach .bubble:has(.tip-x){padding-right:40px;position:relative}#callout #rookyCoach .bubble:has(.tip-x){padding-right:32px}.tip-x{width:32px;height:32px;color:var(--ink-3);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;transition:color .2s cubic-bezier(.16,1,.3,1),background-color .2s cubic-bezier(.16,1,.3,1);display:grid;position:absolute;top:6px;right:6px}#callout .tip-x{top:-6px;right:-8px}.tip-x:hover{color:var(--ink);background:var(--panel-2)}.tip-x:focus-visible{outline:2px solid var(--brass);outline-offset:1px}#callout .card{background:0 0;border:0;padding:0}#callout #caption{font-size:15.5px;line-height:1.5}#callout #actions{flex-wrap:wrap;gap:8px;display:flex}#callout #actions:empty{display:none}#callout #actions .btn{min-height:40px}#callout:has(#rookyCoach:not([hidden])) .card{display:none}@media (width<=820px){#callout{display:none}}@media (prefers-reduced-motion:reduce){#callout,#callout .co-in.say>*{animation:none}}@media (width<=820px){#rookyCoach{max-width:none;top:auto;left:12px;right:12px;bottom:calc(14px + env(safe-area-inset-bottom));z-index:9;align-items:flex-end;position:fixed}#rookyCoach .rooky{width:70px}#rookyCoach .bubble{margin-top:0;font-size:16px}#rookyCoach:before{content:"";z-index:-1;top:-48px;left:-12px;right:-12px;bottom:calc(-14px - env(safe-area-inset-bottom));background:linear-gradient(#110d0a00,var(--bg) 48px);position:absolute}}#rookyCoach .bubble em{color:var(--key);font-style:normal}#rookyCoach .bubble .btn{margin-top:8px}body.onboarding #transport,body.onboarding #banner{display:none}.hop{animation:.56s cubic-bezier(.16,1,.3,1) both rookyhop}@keyframes rookyhop{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.hop{animation:none}}#panel.home>:not(.tabs,#homePane,.credits){display:none}#panel.home>.tabs{z-index:6;background:var(--bg);position:sticky;top:0}#pathSlot{display:none}#path{padding-bottom:40px;position:relative}.band{border-top:1px solid var(--rule);align-items:baseline;gap:10px;margin:8px 4px 14px;padding-top:18px;display:flex}.band small{font:500 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.band b{font:600 15px/1.3 var(--ui);color:var(--ink-2)}.unit{background:var(--panel);border:1px solid var(--rule);text-align:left;color:var(--ink);font:inherit;box-sizing:border-box;border-radius:16px;align-items:center;gap:14px;width:100%;margin:0 0 24px;padding:12px 14px 12px 16px;display:flex}.unit-sec>.unit{z-index:4;position:sticky;top:46px}.unit .t{flex:1;min-width:0}.unit small{font:500 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--brass);display:block}.unit b{font:600 19px/1.25 var(--ui);letter-spacing:-.02em;margin-top:2px;display:block}.unit .ring{flex:none;width:48px;height:48px}.unit .ring text{font:600 12px var(--mono);fill:var(--ink)}.unit .list{border:1px solid var(--rule);background:var(--panel-2);width:44px;height:44px;color:var(--ink-2);cursor:pointer;border-radius:10px;flex:none;place-items:center;display:grid}.unit .list:hover{border-color:var(--brass);color:var(--key)}.unit.folded{cursor:pointer;background:0 0;margin-bottom:12px;padding-block:8px}.unit.folded small{color:var(--ink-3)}.unit.folded b{color:var(--ink-2);font-size:16px}.unit.folded .ring{width:40px;height:40px}.unit.folded:hover{border-color:var(--brass)}.trail{flex-direction:column;gap:18px;margin-bottom:36px;display:flex;position:relative}.trail svg.line{pointer-events:none;z-index:0;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.node{z-index:1;box-sizing:border-box;border:1px solid var(--rule);background:var(--panel);text-align:left;cursor:pointer;width:78%;min-height:64px;color:var(--ink);font:inherit;border-radius:16px;align-items:center;gap:12px;padding:10px 12px 10px 10px;display:flex;position:relative}.node.l{align-self:flex-start}.node.r{align-self:flex-end}.node .dot{background:var(--panel-2);border:1px solid var(--rule);width:40px;height:40px;color:var(--ink-3);border-radius:12px;flex:none;place-items:center;display:grid}.node .dot svg{width:18px;height:18px}.node .tx{flex:1;min-width:0}.node .kind{font:500 10.5px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);display:block}.node .name{font:600 15.5px/1.3 var(--ui);letter-spacing:-.01em;color:var(--ink);display:block}.node:hover:not([disabled]){border-color:var(--brass)}.node[disabled]{cursor:default}.node.done .dot{background:var(--brass);border-color:var(--brass);color:#1a130d}.node.done .name{color:var(--ink-2)}.node.now{border-color:var(--brass);background:#2e241b;box-shadow:0 0 0 4px #c9a0631f,0 18px 40px #08060480}.node.now .dot{background:var(--key);border-color:var(--key);color:#1a130d}.node.now .kind{color:var(--brass)}.node .go,.mile .go{background:var(--key);color:#1a130d;font:600 14px var(--ui);border-radius:999px;flex:none;padding:9px 16px}.node.just .dot{animation:.42s cubic-bezier(.16,1,.3,1) .1s both checkIn}@keyframes checkIn{0%{background:var(--panel-2);border-color:var(--rule);color:#0000;transform:scale(.6)}}.node.now.lights{animation:.64s cubic-bezier(.16,1,.3,1) .5s both lightUp}@keyframes lightUp{0%{border-color:var(--rule);background:var(--panel);box-shadow:none;transform:translateY(4px)}}.rooky-here.arrive{animation:.42s cubic-bezier(.22,.61,.36,1) .6s both coIn}@media (prefers-reduced-motion:reduce){.node.just .dot,.node.now.lights,.rooky-here.arrive{animation:none}}.node.ahead{background:var(--bg)}.node.ahead .name{color:var(--ink-2)}.node.coming{background:var(--bg);cursor:default;border-style:dashed}.node.coming .name{color:var(--ink-3)}.node .tag{font:500 10.5px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);flex:none}.rooky-here{z-index:2;pointer-events:none;width:64px;position:absolute}.rooky-here .rooky{aspect-ratio:200/280;filter:drop-shadow(0 12px 16px #00000073);width:64px;height:auto;display:block}.mile{z-index:1;text-align:center;max-width:280px;color:var(--ink);font:inherit;background:0 0;border:0;flex-direction:column;align-self:center;align-items:center;gap:6px;margin-top:6px;padding:0;display:flex;position:relative}button.mile{cursor:pointer}button.mile[disabled]{cursor:default}.mile .medal{background:var(--panel-2);border:2px solid var(--rule);width:76px;height:76px;font:400 38px/1 var(--figurine);color:var(--ink-3);border-radius:50%;place-items:center;margin-bottom:4px;display:grid}.mile .medal:has(.kb-medal){background:0 0;border:0}.mile .medal .kb-medal{width:100%;height:100%;display:block}.mile.ahead .medal .kb-medal,.mile.locked .medal .kb-medal{opacity:.55}.mile .kind{font:500 10.5px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--brass)}.mile .name{font:600 17px/1.3 var(--ui);letter-spacing:-.015em}.mile .can{color:var(--ink-2);text-wrap:pretty;font-size:14px;line-height:1.45}.mile.done .medal{background:var(--brass);border-color:var(--brass);color:#1a130d}.mile.now .medal{border-color:var(--brass);color:var(--key);box-shadow:0 0 0 4px #c9a0631f}.mile.coming .kind,.mile.coming .name,.mile.coming .can{color:var(--ink-3)}.mile.coming .medal{border-style:dashed}button.mile:not([disabled]):hover .medal{border-color:var(--brass)}.path-cont{border:1px solid var(--brass);background:var(--panel-2);text-align:left;width:100%;color:var(--ink);font:inherit;cursor:pointer;border-radius:14px;flex-direction:column;gap:2px;margin:0 0 18px;padding:12px 16px;display:flex}.path-cont small{font:500 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--brass)}.path-cont b{font:600 16px/1.3 var(--ui)}.path-cont span{color:var(--ink-2);font-size:13px}.path-week{flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:8px;display:flex}.path-week .cells{gap:4px;display:flex}.path-week i{font:500 10px var(--mono);border:1px solid var(--rule);width:22px;height:22px;color:var(--ink-3);border-radius:6px;place-items:center;font-style:normal;display:grid}.path-week i.on{background:var(--brass);border-color:var(--brass);color:#1b1206}.path-week i.today{border-color:var(--brass)}.path-week .count{font-variant-numeric:tabular-nums}#homeCard{z-index:5;max-width:calc(100% - 32px);position:absolute;top:84px;left:16px}.hc-coach{flex-direction:column;align-items:flex-start;gap:0;display:flex}#hcRooky .rooky{aspect-ratio:200/280;filter:drop-shadow(0 10px 16px #00000080);flex:none;width:72px;height:auto}#homeCard .hc{box-sizing:border-box;background:var(--panel);border:1.5px solid var(--brass);border-radius:16px;width:300px;max-width:100%;margin-top:14px;padding:16px 18px 18px;animation:.36s cubic-bezier(.16,1,.3,1) both hcIn;box-shadow:0 16px 40px #00000073}#homeCard .eyebrow{letter-spacing:.08em}#homeCard h2{font:600 26px/1.1 var(--display);letter-spacing:-.02em;color:var(--ink);text-wrap:balance;margin:6px 0 0}#homeCard p{font:500 16px/1.45 var(--ui);color:var(--ink-2);text-wrap:pretty;margin:8px 0 0}#homeCard p:empty{display:none}#homeCard .btn.big{width:100%;min-height:48px;font:600 16px var(--ui);border-radius:10px;margin-top:14px}@keyframes hcIn{0%{opacity:0;transform:translateY(8px)}}@media (prefers-reduced-motion:reduce){#homeCard .hc{animation:none}}@media (width>=821px){.rooky-here{display:none}}#stepBar{z-index:6;top:14px;left:calc(50% + var(--col) / 2);border:1px solid var(--rule);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--ink-2);font:500 12.5px var(--ui);cursor:pointer;background:#140f0bd1;border-radius:999px;align-items:center;gap:12px;padding:8px 14px;display:flex;position:absolute;transform:translate(-50%)}#stepBar .segs{align-items:center;gap:4px;display:flex}#stepBar .bit{background:#efe6d238;border-radius:3px;flex:none;width:28px;height:6px;display:block}#stepBar .lbl{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}#stepBar .bit.on{background:var(--brass)}#stepBar .bit.cur:not(.on){box-shadow:inset 0 0 0 1.5px var(--brass);background:0 0}#stepDone{z-index:7;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#110d0a94;place-items:center;padding:24px;animation:.26s cubic-bezier(.22,.61,.36,1) both coIn;display:grid;position:absolute;inset:0}#stepDone .sd-card{box-sizing:border-box;border:1.5px solid var(--brass);background:var(--panel);text-align:center;border-radius:20px;flex-direction:column;align-items:center;gap:6px;width:min(400px,100%);padding:22px 26px 24px;animation:.34s cubic-bezier(.16,1,.3,1) both sdIn;display:flex;box-shadow:0 24px 60px #0806048c}#stepDone .sd-rooky .rooky{aspect-ratio:200/280;filter:drop-shadow(0 12px 18px #00000073);width:104px;height:auto;display:block}#stepDone .tick{display:none}#stepDone .txt{min-width:0}#stepDone b{font:600 30px/1.1 var(--display);letter-spacing:-.03em;color:var(--key);display:block}#stepDone small{color:var(--ink-2);margin-top:6px;font-size:16px;display:block}#stepDone .btn.big{width:100%;min-height:54px;font:600 17px var(--ui);border-radius:12px;margin-top:14px}@keyframes sdIn{0%{opacity:0;transform:translateY(8px)}}@media (prefers-reduced-motion:reduce){#stepDone{animation:none}}#pbar,#dock,.sheet-head,#camSlot,#gameMenu,body.card-waiting #seatCta,body.in-step #seatCta,body.in-step #libOpen,body.onboarding #libOpen{display:none}@media (width<=820px){html,body{height:100%;overflow:hidden}#app{flex-direction:column;gap:0;height:100dvh;padding:0;display:flex}#pbar{min-height:48px;padding:env(safe-area-inset-top) 8px 0;box-sizing:border-box;align-items:center;display:flex}#pbar .tabs{border:0;flex:1;align-items:center}#pbar .tab{padding:14px 10px}#stage{--board:98vw;--pad:16px;height:min(var(--board) + var(--pad), 100dvh - 48px - 232px - env(safe-area-inset-top) - env(safe-area-inset-bottom));border-inline:0;border-radius:0;flex:none}body[data-view=above] #stage{--board:104vw}body[data-mode=lesson] #stage{--pad:72px}body.onboarding[data-mode=lesson] #stage{--pad:16px}body[data-mode=play]:not(.in-step) #stage{height:min(var(--board) + var(--pad), 100dvh - 48px - 176px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}.brand,#homeCard{display:none}#stepBar{justify-content:space-between;padding:6px 12px;top:8px;left:12px;right:12px;transform:none}#stepBar .bit{width:20px}#stepBar .lbl{min-width:0;font-size:12px}#stepDone{z-index:25;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;padding:0;display:block;position:fixed;inset:auto 0 0}#stepDone .sd-card{text-align:left;border-width:1px 0 0;border-radius:16px 16px 0 0;flex-direction:row;align-items:center;width:auto;box-shadow:0 -12px 32px #08060473}#stepDone .sd-rooky,#stepDone .txt{display:none}#stepDone .tick{background:var(--brass);color:#1a130d;width:36px;height:36px;font:700 18px var(--ui);border-radius:50%;flex:none;place-items:center;display:grid}#stepDone .sd-card{padding:8px 16px calc(10px + env(safe-area-inset-bottom));gap:12px}#stepDone .btn.big{flex:auto;width:auto;min-width:0;min-height:48px;margin-top:0;font-size:16px}#moreActions{flex-wrap:wrap;gap:8px;margin:0 0 12px;display:flex}#first,#speed{display:none}#dock{min-height:0;padding:12px 16px calc(10px + env(safe-area-inset-bottom));background:var(--bg);flex-direction:column;flex:1;gap:10px;display:flex}#dockLine{overscroll-behavior:contain;flex:1;min-height:0;overflow-y:auto}#dockLine .card{padding:12px 14px}#dockGo{flex-wrap:wrap;align-items:center;gap:8px;min-height:48px;display:flex}#dockGo #actions{flex-wrap:wrap;flex:auto;gap:8px;min-width:0;display:flex}#dockGo .btn{white-space:nowrap}#dockGo #actions:empty{display:none}#dockGo .btn{min-height:44px}#dockGo .btn.wide{flex:100%}.more-btn{flex:none;min-height:44px;margin-left:auto;display:block}#dockGo #seatCta{background:var(--key);color:#1a130d;border:0;border-radius:10px;flex:100%;justify-content:center;align-items:center;min-height:44px;padding:0 16px}#dockGo #seatCta b{color:inherit;font-size:15px}#dockGo #seatCta span,body:not([data-mode=lesson]) #dockGo #seatCta,body[data-mode=home] #dock .card,body[data-mode=home] #dockGo #actions,body:not([data-mode=play]) #dockGo :is(#undo,#phint),body[data-mode=home] #stage,body[data-mode=home] #dock{display:none}body[data-mode=home] #pathSlot{overscroll-behavior:contain;min-height:0;padding:16px 16px calc(24px + env(safe-area-inset-bottom));flex:1;display:block;overflow-y:auto}.unit-sec>.unit{top:0}.node{width:80%}#panel{z-index:30;overscroll-behavior:contain;background:var(--panel);border-top:1px solid var(--rule);max-height:84dvh;padding:0 16px calc(24px + env(safe-area-inset-bottom));visibility:hidden;border-radius:16px 16px 0 0;transition:transform .32s cubic-bezier(.16,1,.3,1),visibility 0s .32s;position:fixed;bottom:0;left:0;right:0;overflow-y:auto;transform:translateY(100%);box-shadow:0 -20px 50px #00000080}body.more #panel{visibility:visible;transition:transform .32s cubic-bezier(.16,1,.3,1);transform:none}body.more:after{content:"";z-index:29;background:#0806048c;position:fixed;inset:0}#playPane{scroll-margin-top:52px}#gameMenu{flex-direction:column;gap:6px;display:flex}.menu-row{border:1px solid var(--rule);background:var(--panel-2);min-height:56px;color:var(--ink);font:inherit;text-align:left;cursor:pointer;border-radius:12px;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 40px 10px 14px;display:flex;position:relative}.menu-row b{font:600 16px/1.25 var(--ui)}.menu-row small{color:var(--ink-3);font-size:13px}.menu-row:after{content:"";border-top:1.5px solid var(--ink-3);border-right:1.5px solid var(--ink-3);width:7px;height:7px;margin-top:-4px;position:absolute;top:50%;right:18px;transform:rotate(45deg)}#panel #playRow,body:not(.picking) #playPane .pick,body.picking #panel>:not(.sheet-head,#playPane),body.picking #playPane>:not(.pick){display:none}#sheetBack{margin-right:auto}.sheet-head{z-index:1;background:var(--panel);justify-content:flex-end;padding:10px 0 6px;display:flex;position:sticky;top:0}#dockLine #plate{text-align:left;color:var(--ink-2);letter-spacing:.08em;margin:0 2px 8px;position:static;transform:none}#dockLine #plate b{color:var(--ink);margin-right:8px;font-size:14px;display:inline}#dockLine #plate b:before{content:"Across the board: ";color:var(--ink-2);font-weight:400}#dockLine #plateSay{color:var(--ink);text-shadow:none;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:3px;font-size:14px;display:-webkit-box;overflow:hidden}#dockLine #plateSay:not(.on){display:none}#dockLine #banner{text-align:left;-webkit-backdrop-filter:none;backdrop-filter:none;width:auto;max-width:none;box-shadow:none;background:0 0;border:0;border-radius:0;margin:0 2px 8px;padding:0;display:block;position:static;transform:none}#dockLine #banner .q{white-space:normal}#dockLine #banner .s{margin-top:4px}#dockLine #banner .q{color:var(--ink);text-shadow:none;font-size:20px}#dockLine #banner .s{color:var(--ink-2);text-shadow:none}#dockLine.fit1 #caption{min-height:0;font-size:15px;line-height:1.45}#dockLine.fit1 #banner .q{font-size:17px}#dockLine.fit1 #banner{margin-bottom:6px}#dockLine.fit2 #banner .s,#dockLine.fit3 #banner{display:none}#dockLine.more{-webkit-mask-image:linear-gradient(#000 calc(100% - 28px),#0000);mask-image:linear-gradient(#000 calc(100% - 28px),#0000)}#camSlot{display:block}#camSlot #views{-webkit-backdrop-filter:none;backdrop-filter:none;margin-top:8px;display:inline-flex;position:static}#transport{bottom:12px}.tbtn{width:38px;height:38px}#evalbar{top:60px;bottom:130px;left:10px}#evalnum{display:none}#dockLine #rookyCoach{align-items:flex-start;max-width:none;margin:0;position:static}#dockLine #rookyCoach:before{display:none}#dockLine #rookyCoach .rooky{width:56px}#dockLine:has(>#rookyCoach:not([hidden]))>:is(.card,#banner,#plate){display:none}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}.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}.path-people{border:1px solid var(--rule);border-radius:14px;flex-direction:column;gap:6px;margin:-8px 0 18px;padding:10px 16px;display:flex}.path-people:empty{display:none}.path-people small{font:500 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.path-people .person{justify-content:space-between;align-items:center;gap:12px;font-size:15px;display:flex}.path-people .person em{color:var(--ink-3);font-size:13px;font-style:normal}.path-people .linkbtn{color:var(--ink-3);margin-left:10px;font-size:12px}.path-people .linkbtn.sure{color:var(--threat)}.me-name,.remind-at select{font:500 15px var(--ui);color:var(--ink);background:var(--panel-2);border:1px solid var(--brass);border-radius:10px;margin-top:8px;padding:8px 10px}.me-name{width:100%;max-width:280px;display:block}.remind-at{color:var(--ink-2);align-items:center;gap:8px;margin-top:6px;display:inline-flex}.install-steps{text-align:left;gap:6px;margin:4px 0 10px;padding-left:22px;display:grid}.privacy-row{gap:14px;margin-top:6px}.privacy-row .linkbtn.sure{color:var(--threat)}.kb{--w:240px;width:var(--w);text-transform:none;letter-spacing:normal;font-family:var(--ui);filter:drop-shadow(0 18px 22px #00000059)drop-shadow(0 2px 3px #0000004d);margin:0;position:relative}.kb-rod{height:calc(var(--w) * .04);margin:0 calc(var(--w) * -.07);z-index:2;background:linear-gradient(#f3d9a4,#c9a063 45%,#8a6a3a);border-radius:99px;position:relative}.kb-rod:before,.kb-rod:after{content:"";width:calc(var(--w) * .07);aspect-ratio:1;background:radial-gradient(circle at 35% 30%,#fbe7bd,#c9a063 50%,#7c5d31);border-radius:50%;position:absolute;top:-35%}.kb-rod:before{left:-3%}.kb-rod:after{right:-3%}.kb-cloth{height:calc(var(--w) * 1.62);clip-path:polygon(0 0,100% 0,100% 100%,50% 84%,0 100%);color:var(--thread);padding-top:calc(var(--w) * .1);background:linear-gradient(90deg,#00000024,#ffffff0d 18%,#0000000f 34%,#ffffff12 52%,#0000000d 70%,#ffffff0a 84%,#00000029),linear-gradient(#00000038,transparent 9%),var(--felt);flex-direction:column;align-items:center;margin-top:-2px;display:flex;position:relative}.kb-cloth:after{content:"";inset:calc(var(--w) * .035) calc(var(--w) * .035) auto;height:calc(100% - var(--w) * .07);clip-path:polygon(0 0,100% 0,100% 100%,50% 84%,0 100%);border:1.5px dashed var(--stitch);opacity:.55;pointer-events:none;position:absolute}.kb-est{font:500 calc(var(--w) * .04)/1 var(--mono);letter-spacing:.18em;text-transform:uppercase;opacity:.78}.kb-medal{width:calc(var(--w) * .58);height:auto;margin:calc(var(--w) * .05) 0 calc(var(--w) * .055)}.kb-pc{filter:sepia(.45)saturate(.9)brightness(.98)}.kb-name{font:650 calc(var(--w) * .104)/1 var(--ui);letter-spacing:.14em;text-transform:uppercase;margin-left:.14em}.kb-motto{font:400 calc(var(--w) * .054)/1.3 var(--ui);opacity:.88;margin-top:calc(var(--w) * .025);text-align:center;padding:0 8%}.kb-rule{width:calc(var(--w) * .11);background:var(--thread);opacity:.55;height:1.5px;margin:calc(var(--w) * .07) 0 calc(var(--w) * .045)}.kb-line{font:500 calc(var(--w) * .037)/1.9 var(--mono);letter-spacing:.14em;text-transform:uppercase;opacity:.75;text-align:center;padding:0 12%}.kb-you{opacity:1;border-bottom:1px solid;font-weight:700}html.opening-schools body{background:var(--bg)}html.opening-schools #app>:not(#schoolPage){visibility:hidden}#schoolPage{z-index:40;background:var(--bg);color:var(--ink);padding:0 16px calc(48px + env(safe-area-inset-bottom,0px));position:fixed;inset:0;overflow-y:auto}.sp-in{max-width:880px;padding-top:calc(16px + env(safe-area-inset-top,0px));flex-direction:column;gap:32px;margin:0 auto;display:flex}.sp-back{align-self:flex-start}.sp-hero{flex-wrap:wrap;align-items:center;gap:28px 40px;display:flex}.sp-hero .kb{--w:220px;flex:none;margin-inline:16px}.sp-head{flex:260px;gap:8px;min-width:0;display:grid}.sp-head small,.sp-others small{font:500 11px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--brass)}.sp-head h1{font:650 clamp(28px,5vw,40px)/1.05 var(--ui);letter-spacing:-.02em;text-wrap:balance;margin:0}.sp-head p{color:var(--ink-2);max-width:62ch;margin:0;line-height:1.55}.sp-head .sp-motto{font:500 20px var(--ui);color:var(--ink)}.sp-axes{font:500 12px var(--mono);letter-spacing:.06em;text-transform:uppercase}#schoolPage section{gap:10px;max-width:66ch;display:grid}#schoolPage h2{font:600 20px var(--ui);letter-spacing:-.01em;margin:0}#schoolPage section p{color:var(--ink-2);margin:0;line-height:1.6}#schoolPage section p b{color:var(--ink)}#schoolPage section .btn{justify-self:start}.sp-open{gap:12px;margin:0;padding:0;list-style:none;display:grid}.sp-open li{gap:2px;display:grid}.sp-open span{color:var(--ink-2);line-height:1.5}.sp-others{gap:12px;display:grid}.sp-others div{flex-wrap:wrap;gap:14px;display:flex}.sp-chip{border:1px solid var(--rule);color:var(--ink);border-radius:999px;align-items:center;gap:10px;padding:8px 14px 8px 8px;text-decoration:none;display:flex}.sp-chip .kb-medal{width:40px;margin:0}.sp-head.wide{max-width:66ch}.sp-hang{flex-wrap:wrap;justify-content:center;gap:40px 44px;padding-top:10px;display:flex}.sp-hung{color:var(--ink-2);font:500 11px var(--mono);letter-spacing:.06em;text-transform:uppercase;text-align:center;justify-items:center;gap:14px;max-width:200px;text-decoration:none;display:grid}.sp-hung .kb{--w:176px}.sp-in:has(.sp-hang){max-width:1000px}@media (width<=520px){.sp-hang .kb{--w:150px}.sp-hang{gap:28px 20px}.sp-hero .kb{--w:190px;margin-inline:auto}}.sp-cta{align-self:flex-start}.sp-reveal{text-align:center;align-items:center;padding-top:48px;position:relative}.sp-reveal .kb{--w:230px;animation:.9s cubic-bezier(.22,1,.36,1) both kb-drop}.sp-glow{pointer-events:none;background:radial-gradient(closest-side,#e1b27a2e,#0000);width:520px;max-width:100%;height:420px;position:absolute;top:0;left:50%;transform:translate(-50%)}.sp-head.center{justify-items:center}.sp-head.center p{margin-inline:auto}.sp-note{color:var(--ink-3);font-size:14px}.sp-acts{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px 12px;display:flex}.sp-acts .linkbtn{font:inherit;color:var(--ink-2);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:8px 4px;font-size:15px;text-decoration:underline}.sp-acts .linkbtn:hover{color:var(--ink)}.school-chip{cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;align-self:center;width:34px;height:34px;margin-left:auto;margin-right:8px;padding:0}.school-chip .kb-medal{width:100%;height:100%;display:block}.school-chip:focus-visible{outline:2px solid var(--brass);outline-offset:2px}.school-chip:not([hidden])+.steps-pill{margin-left:0}:root[data-my-school=romantic]{--brass:#e0707a}:root[data-my-school=classical]{--brass:#e2cfa6}:root[data-my-school=positional]{--brass:#74bf92}:root[data-my-school=dynamic]{--brass:#86a6ea}@keyframes kb-drop{0%{opacity:0;transform:translateY(-36px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.sp-reveal .kb{animation:none}}.path-cup{color:var(--ink-2);font-variant-numeric:tabular-nums;flex-direction:column;gap:2px;margin:-8px 0 18px;padding:0 16px;font-size:13px;display:flex}.path-cup:empty{display:none}.path-cup small{font:500 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.path-cup .mine{color:var(--ink);font-weight:600}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-vietnamese-wght-normal-6IgcOCM7.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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-ext-wght-normal-X_5orZeX.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-wght-normal-DiZS0aHC.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-symbols2-wght-normal-CO5SzqOn.woff2)format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-vietnamese-wght-normal-DadHysG0.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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-ext-wght-normal-Bwz-egvJ.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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-wght-normal-XN7g48iV.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}
