@font-face{font-family:Figtree;font-style:normal;font-weight:300 900;font-display:swap;src:url(../media/400bf8aa837fcb7e-s.2u3lqdovtp4z3.woff2)format("woff2");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:Figtree;font-style:normal;font-weight:300 900;font-display:swap;src:url(../media/f7aa21714c1c53f8-s.p.0jgzmitmnoe6_.woff2)format("woff2");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:Figtree Fallback;src:local(Arial);ascent-override:94.32%;descent-override:24.82%;line-gap-override:0.0%;size-adjust:100.72%}.figtree_aabc87d4-module___Ver6G__className{font-family:Figtree,Figtree Fallback;font-style:normal}.figtree_aabc87d4-module___Ver6G__variable{--font-sans:"Figtree", "Figtree Fallback"}
@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/033400d475fad6b1-s.11x_mcju407z-.woff2)format("woff2");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:Bricolage Grotesque;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/26daee0352f50a5f-s.456c9vb2_utt8.woff2)format("woff2");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:Bricolage Grotesque;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/017d9bea37084d9b-s.p.2fl0vhx7oyatw.woff2)format("woff2");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:Bricolage Grotesque;font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url(../media/033400d475fad6b1-s.11x_mcju407z-.woff2)format("woff2");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:Bricolage Grotesque;font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url(../media/26daee0352f50a5f-s.456c9vb2_utt8.woff2)format("woff2");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:Bricolage Grotesque;font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url(../media/017d9bea37084d9b-s.p.2fl0vhx7oyatw.woff2)format("woff2");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:Bricolage Grotesque Fallback;src:local(Arial);ascent-override:88.21%;descent-override:25.61%;line-gap-override:0.0%;size-adjust:105.43%}.bricolage_grotesque_46467433-module__xGVffq__className{font-family:Bricolage Grotesque,Bricolage Grotesque Fallback;font-style:normal}.bricolage_grotesque_46467433-module__xGVffq__variable{--font-display:"Bricolage Grotesque", "Bricolage Grotesque Fallback"}
@font-face{font-family:Caveat;font-style:normal;font-weight:700;font-display:swap;src:url(../media/dae4b3dbdd9e4d1b-s.2_ze8n7bwlhtf.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Caveat;font-style:normal;font-weight:700;font-display:swap;src:url(../media/94d210260b00ada2-s.268m440qvy675.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Caveat;font-style:normal;font-weight:700;font-display:swap;src:url(../media/1a9fc94813a0b644-s.0w4ezn9vn3c-q.woff2)format("woff2");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:Caveat;font-style:normal;font-weight:700;font-display:swap;src:url(../media/8495c7a64396f454-s.1pvo0or05xyc_.woff2)format("woff2");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:Caveat Fallback;src:local(Arial);ascent-override:124.77%;descent-override:38.99%;line-gap-override:0.0%;size-adjust:76.94%}.caveat_8614aee6-module__F4Xlaq__className{font-family:Caveat,Caveat Fallback;font-style:normal;font-weight:700}.caveat_8614aee6-module__F4Xlaq__variable{--font-hand:"Caveat", "Caveat Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/606d931d1de1f041-s.1o3bbaalk83oq.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/93ce1fb4a74b790b-s.11ek8ynl2dfci.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/3673b45bb7dd3324-s.2j89xe4p_uile.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/1317291d1835f011-s.3yz4ylzezod45.woff2)format("woff2");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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/4656623e11daf2b7-s.35_9ba4wo4otp.woff2)format("woff2");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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/e1750518007a189a-s.201221j3_rbu8.woff2)format("woff2");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:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.jetbrains_mono_6045ca46-module__PQkPwa__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal;font-weight:500}.jetbrains_mono_6045ca46-module__PQkPwa__variable{--font-mono:"JetBrains Mono", "JetBrains Mono Fallback"}
:root{--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:48px;--s-8:64px;--s-9:96px;--font-sans-stack:var(--font-sans), system-ui, -apple-system, "Segoe UI", sans-serif;--font-display-stack:var(--font-display), var(--font-sans-stack);--font-hand-stack:var(--font-hand), "Bradley Hand", cursive;--font-mono-stack:var(--font-mono), ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--fs-display:36px;--lh-display:1.04;--fw-display:800;--ls-display:-.03em;--fs-title:23px;--lh-title:1.2;--fw-title:700;--ls-title:-.02em;--fs-subtitle:15px;--lh-subtitle:1.35;--fw-subtitle:550;--ls-subtitle:-.005em;--fs-body:15px;--lh-body:1.6;--fs-body-sm:14px;--lh-body-sm:1.55;--fs-caption:12.5px;--lh-caption:1.45;--fs-overline:11.5px;--ls-overline:.09em;--fw-overline:500;--fs-metric:26px;--lh-metric:1.1;--fw-metric:500;--ls-metric:-.03em;--measure:66ch;--r-xs:6px;--r-sm:8px;--r:12px;--r-lg:16px;--r-pill:999px;--control-h-sm:32px;--control-h:40px;--control-h-lg:48px;--tap-min:44px;--bg:#f6f7f2;--surface:#fff;--panel:#eceee6;--panel-2:#e2e5dc;--line:#e1e6da;--text:#16213a;--muted:#5b6275;--border:#16213a1a;--border-strong:#16213a38;--brand:#2f5bff;--pen:#e0482e;--hl:#ffd84a;--accent:var(--text);--good:#14784f;--bad:#c23a22;--warn:#8a5d0c;--on-state:#fff;--on-ink:#f6f7f2;--focus:var(--brand);--star:#c98a12;--shadow-2:0 1px 2px #16213a0f, 0 10px 26px #16213a14;--shadow-3:0 8px 28px #16213a24;--dur-2:.18s;--dur-3:.32s;--ease:cubic-bezier(.2, .6, .3, 1);--dur-pen-circle:.4s;--dur-pen-arrow:.3s;--dur-hl:.3s;--dur-piece:.2s;--ease-pen:cubic-bezier(.25, .8, .35, 1);--page-max:1100px;--page-wide:980px;--page-narrow:560px;--page-gutter:var(--s-4);--site-header-h:calc(var(--s-3) + var(--control-h) + var(--s-4));--bar-h-sm:4px;--bar-h:6px;--bar-h-lg:8px;--bar-h-xl:10px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:var(--font-sans-stack);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}@media (max-width:860px){:root{--fs-display:30px;--fs-title:19px;--fs-metric:21px;--page-gutter:var(--s-5)}}@media (max-width:640px){:root{--page-gutter:var(--s-4)}}
.ui-stack{min-width:0;display:flex}.ui-stack[data-dir=col]{flex-direction:column}.ui-stack[data-dir=row]{flex-direction:row}.ui-stack[data-wrap="1"]{flex-wrap:wrap}.ui-stack[data-align=start]{align-items:flex-start}.ui-stack[data-align=center]{align-items:center}.ui-stack[data-align=baseline]{align-items:baseline}.ui-stack[data-align=stretch]{align-items:stretch}.ui-stack[data-justify=between]{justify-content:space-between}.ui-stack[data-justify=center]{justify-content:center}.ui-stack[data-justify=end]{justify-content:flex-end}.ui-stack[data-gap="0"]{gap:0}.ui-stack[data-gap="1"]{gap:var(--s-1)}.ui-stack[data-gap="2"]{gap:var(--s-2)}.ui-stack[data-gap="3"]{gap:var(--s-3)}.ui-stack[data-gap="4"]{gap:var(--s-4)}.ui-stack[data-gap="5"]{gap:var(--s-5)}.ui-stack[data-gap="6"]{gap:var(--s-6)}.ui-stack[data-gap="7"]{gap:var(--s-7)}.ui-grid{gap:var(--s-3);grid-template-columns:repeat(auto-fit, minmax(min(var(--col-min), 100%), 1fr));align-items:stretch;display:grid}.ui-grid[data-min=sm]{--col-min:200px}.ui-grid[data-min=md]{--col-min:250px}.ui-grid[data-min=lg]{--col-min:300px}.ui-grid[data-fill="1"]{grid-template-columns:repeat(auto-fill, minmax(min(var(--col-min), 100%), 1fr))}@media (max-width:860px){.ui-grid{gap:var(--s-2)}.ui-grid[data-min=sm]{--col-min:150px}}.ui-card{gap:var(--s-2);min-width:0;padding:var(--s-4) var(--s-5);border:1px solid var(--border-strong);border-radius:var(--r);background:var(--surface);color:inherit;flex-direction:column;text-decoration:none;display:flex}.ui-card[data-gap="1"]{gap:var(--s-1)}.ui-card[data-gap="2"]{gap:var(--s-2)}.ui-card[data-gap="3"]{gap:var(--s-3)}.ui-card[data-gap="4"]{gap:var(--s-4)}.ui-card[data-pad=sm]{padding:var(--s-3) var(--s-4)}.ui-card[data-pad=lg]{padding:var(--s-5);border-radius:var(--r-lg)}.ui-card[data-tone=raised]{border:1px solid var(--text);background:var(--surface);box-shadow:var(--shadow-2)}.ui-card[data-tone=quiet]{border-color:var(--border);background:0 0}.ui-card[data-interactive="1"]{transition:border-color var(--dur-2) var(--ease), background var(--dur-2) var(--ease)}.ui-card[data-interactive="1"]:hover{background:var(--panel-2)}.ui-card[data-accent=good]{box-shadow:inset 3px 0 0 var(--good)}.ui-card[data-accent=warn]{box-shadow:inset 3px 0 0 var(--warn)}.ui-card[data-accent=bad]{box-shadow:inset 3px 0 0 var(--bad)}.ui-card-title{font-size:var(--fs-subtitle);line-height:var(--lh-subtitle);font-weight:var(--fw-subtitle);letter-spacing:var(--ls-subtitle);overflow-wrap:anywhere;margin:0}.ui-card-body{font-size:var(--fs-body-sm);line-height:var(--lh-body-sm);color:var(--muted);text-wrap:pretty;margin:0}.ui-card-note{font-size:var(--fs-caption);line-height:var(--lh-caption);color:var(--muted);text-wrap:pretty;margin:0}.ui-card-foot{padding-top:var(--s-1);margin-top:auto}.ui-btn{justify-content:center;align-items:center;gap:var(--s-2);min-height:var(--control-h);padding:0 var(--s-4);border:1px solid var(--border-strong);border-radius:var(--r-sm);background:var(--surface);color:var(--text);font:inherit;font-size:var(--fs-body-sm);text-align:center;white-space:nowrap;cursor:pointer;transition:background var(--dur-2) var(--ease), border-color var(--dur-2) var(--ease), opacity var(--dur-2) var(--ease);font-weight:600;line-height:1.2;text-decoration:none;display:inline-flex}.ui-btn:hover:not(:disabled){background:color-mix(in srgb, var(--panel-2) 88%, var(--text))}.ui-btn:disabled,.ui-btn[aria-disabled=true]{opacity:.4;cursor:default}.ui-btn[data-variant=primary]{background:var(--text);border-color:var(--text);color:var(--on-ink);font-weight:700}.ui-btn[data-variant=primary]:hover:not(:disabled){background:var(--text);opacity:.84}.ui-btn[data-variant=ghost]{color:var(--muted);background:0 0;border-color:#0000}.ui-btn[data-variant=ghost]:hover:not(:disabled){background:var(--panel);color:var(--text)}.ui-btn[data-size=sm]{min-height:var(--control-h-sm);padding:0 var(--s-3);font-size:var(--fs-caption)}.ui-btn[data-size=lg]{min-height:var(--control-h-lg);padding:0 var(--s-5);font-size:var(--fs-body);font-weight:600}.ui-btn[data-shape=pill]{border-radius:var(--r-pill)}.ui-btn[data-block="1"]{width:100%}.ui-btn[data-wrap="1"]{white-space:normal;text-wrap:balance}.ui-btn:active:not(:disabled){transform:translateY(1px)}.ui-btn-group{align-items:stretch;gap:var(--s-2);flex-wrap:wrap;display:flex}.ui-btn-group>.ui-btn{flex:0 auto}.ui-btn-group[data-cols]{grid-template-columns:repeat(var(--cols), minmax(0, 1fr));display:grid}.ui-btn-group[data-justify=between]{justify-content:space-between}.ui-btn-group[data-grow="1"]>.ui-btn{flex:1 1 0}@media (max-width:640px){.ui-btn-group[data-stack="1"]{grid-template-columns:1fr;display:grid}.ui-btn-group[data-stack="1"]>.ui-btn{width:100%}}@media (pointer:coarse){.ui-btn,.ui-btn[data-size=sm]{min-height:var(--tap-min)}}.ui-self-start{align-self:flex-start}.ui-stats{gap:var(--s-3);grid-template-columns:repeat(auto-fit, minmax(min(var(--col-min,200px), 100%), 1fr));align-items:stretch;display:grid}@media (max-width:860px){.ui-stats{gap:var(--s-2);grid-template-columns:repeat(2,minmax(0,1fr))}}.ui-stat{gap:var(--s-1);min-width:0;padding:var(--s-3) var(--s-4);border:1px solid var(--border);border-radius:var(--r);background:var(--panel);grid-template-rows:auto auto 1fr;display:grid}@supports (grid-template-rows:subgrid){.ui-stats{grid-auto-rows:auto}.ui-stat{grid-row:span 3;grid-template-rows:subgrid}}.ui-stat-value{font-size:var(--fs-metric);line-height:var(--lh-metric);font-weight:var(--fw-metric);letter-spacing:var(--ls-metric);font-variant-numeric:tabular-nums;white-space:nowrap}.ui-stat-label{font-size:var(--fs-body-sm);line-height:var(--lh-body-sm);text-wrap:balance;overflow-wrap:anywhere}.ui-stat-note{font-size:var(--fs-caption);line-height:var(--lh-caption);color:var(--muted);text-wrap:pretty;align-self:start}.ui-tone-good{color:var(--good)}.ui-tone-bad{color:var(--bad)}.ui-badge{padding:3px var(--s-2);border:1px solid var(--border);border-radius:var(--r-pill);font-size:var(--fs-overline);font-weight:var(--fw-overline);white-space:nowrap;flex:none;align-items:center;line-height:1.45;display:inline-flex}.ui-badge[data-tone=good]{background:var(--good);border-color:var(--good);color:var(--on-state)}.ui-badge[data-tone=warn]{background:var(--warn);border-color:var(--warn);color:var(--on-state)}.ui-badge[data-tone=bad]{background:var(--bad);border-color:var(--bad);color:var(--on-state)}.ui-badge[data-tone=neutral]{background:var(--panel-2);color:var(--muted)}.ui-badge[data-soft="1"]{border-color:#0000;font-weight:600}.ui-badge[data-soft="1"][data-tone=good]{background:color-mix(in srgb, var(--good) 14%, transparent);color:var(--good)}.ui-badge[data-soft="1"][data-tone=warn]{background:color-mix(in srgb, var(--warn) 16%, transparent);color:var(--warn)}.ui-badge[data-soft="1"][data-tone=bad]{background:color-mix(in srgb, var(--bad) 14%, transparent);color:var(--bad)}.ui-bar{min-width:0;height:var(--bar-h);border-radius:var(--r-pill);background:var(--border);flex:auto;display:flex;overflow:hidden}.ui-bar[data-size=lg]{height:var(--bar-h-lg)}.ui-bar[data-size=xl]{height:var(--bar-h-xl)}.ui-bar[data-track=panel]{background:var(--panel-2);border:1px solid var(--border)}.ui-bar>i{height:100%;transition:width var(--dur-3) var(--ease);display:block}.ui-bar>i[data-tone=good]{background:var(--good)}.ui-bar>i[data-tone=warn]{background:var(--warn)}.ui-bar>i[data-tone=bad]{background:var(--bad);opacity:.85}.ui-bar>i[data-tone=neutral]{background:var(--muted);opacity:.8}.ui-bar>i[data-tone=text]{background:var(--text);opacity:.55}.ui-meter{align-items:center;gap:var(--s-2);min-width:0;font-size:var(--fs-caption);color:var(--muted);display:flex}.ui-meter-value{font-variant-numeric:tabular-nums;white-space:nowrap}.ui-page-header{gap:var(--s-2);margin-bottom:var(--s-5);flex-direction:column;display:flex}.ui-crumbs{font-size:var(--fs-caption);line-height:var(--lh-caption);color:var(--muted)}.ui-crumbs a{color:var(--muted)}.ui-crumbs a:hover{color:var(--text)}.ui-title{font-family:var(--font-display-stack);font-size:var(--fs-display);line-height:var(--lh-display);font-weight:var(--fw-display);letter-spacing:var(--ls-display);text-wrap:balance;margin:0}.ui-title-sub{margin-top:var(--s-1);font-family:var(--font-sans-stack);font-size:var(--fs-subtitle);line-height:var(--lh-subtitle);letter-spacing:0;color:var(--muted);font-weight:500;display:block}.ui-lede{max-width:var(--measure);font-size:var(--fs-body);line-height:var(--lh-body);color:var(--muted);text-wrap:pretty;margin:0}.ui-section{gap:var(--s-3);margin-top:var(--s-7);flex-direction:column;display:flex}.ui-section:first-child{margin-top:0}.ui-section[data-space=tight]{margin-top:var(--s-5)}.ui-section[data-gap="2"]{gap:var(--s-2)}.ui-section[data-gap="3"]{gap:var(--s-3)}.ui-section[data-gap="4"]{gap:var(--s-4)}.ui-section[data-gap="5"]{gap:var(--s-5)}.ui-section-head{gap:var(--s-1);flex-direction:column;display:flex}.ui-section-title{align-items:center;gap:var(--s-2);font-family:var(--font-display-stack);font-size:var(--fs-title);line-height:var(--lh-title);font-weight:var(--fw-title);letter-spacing:var(--ls-title);text-wrap:balance;margin:0;display:flex}.ui-subtitle{font-size:var(--fs-subtitle);line-height:var(--lh-subtitle);font-weight:var(--fw-subtitle);letter-spacing:var(--ls-subtitle);margin:0}.ui-note{max-width:var(--measure);font-size:var(--fs-body-sm);line-height:var(--lh-body-sm);color:var(--muted);text-wrap:pretty;margin:0}.ui-overline{font-size:var(--fs-overline);font-weight:var(--fw-overline);letter-spacing:var(--ls-overline);text-transform:uppercase;color:var(--muted);line-height:1.4}.ui-moveline{align-items:baseline;gap:var(--s-1) var(--s-3);min-width:0;padding:var(--s-2) var(--s-3);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--panel);font-size:var(--fs-caption);line-height:var(--lh-caption);flex-wrap:wrap;display:flex}.ui-moveline[data-tone=bare]{background:0 0;border:0;padding:0}.ui-moveline-label{color:var(--muted);white-space:nowrap}.ui-moveline-moves{min-width:0;font-family:var(--font-mono-stack);font-size:var(--fs-caption);color:var(--text);overflow-wrap:break-word}.ui-moveline[data-tone=bare] .ui-moveline-moves{color:var(--muted)}.ui-callout{--state:var(--muted);gap:var(--s-1);padding:var(--s-3) var(--s-4);border:1px solid var(--border);border-radius:var(--r);background:var(--panel);font-size:var(--fs-body);line-height:var(--lh-body);text-wrap:pretty;transition:background var(--dur-2) var(--ease);flex-direction:column;margin:0;display:flex}.ui-callout[data-tone=good]{--state:var(--good)}.ui-callout[data-tone=bad]{--state:var(--bad)}.ui-callout[data-tone=warn]{--state:var(--warn)}.ui-callout[data-tone]{background:color-mix(in srgb, var(--state) 7%, var(--panel))}.ui-callout[data-tone=neutral]{background:var(--panel)}.ui-callout-kicker{font-size:var(--fs-overline);font-weight:var(--fw-overline);letter-spacing:var(--ls-overline);text-transform:uppercase;color:var(--state);line-height:1.4}.ui-callout[data-tone=bad] .ui-callout-kicker{align-items:center;gap:var(--s-2);text-transform:none;letter-spacing:normal;font-size:var(--fs-body);font-weight:600;display:inline-flex}.ui-callout[data-tone=bad] .ui-callout-kicker:before{content:"×";background:var(--bad);width:1.5em;height:1.5em;color:var(--on-state);letter-spacing:0;border-radius:50%;place-items:center;font-size:1.1em;font-weight:700;line-height:1;display:grid}.ui-callout-body{min-width:0}.ui-callout-body:empty{display:none}.ui-callout[data-size=lg] .ui-callout-body{font-size:var(--fs-subtitle);line-height:var(--lh-subtitle);font-weight:var(--fw-subtitle);letter-spacing:var(--ls-subtitle)}.ui-callout[data-size=lg] .ui-callout-body b{font-weight:700}.ui-board-mark{--sq:12.5%;--mark-size:clamp(24px, 7.5%, 40px);z-index:3;left:calc(var(--x) * var(--sq) + var(--sq) - var(--mark-size) * .62);top:calc(var(--y) * var(--sq) - var(--mark-size) * .38);width:var(--mark-size);height:var(--mark-size);border:2px solid var(--bg);background:var(--mark-bg);color:var(--mark-fg);box-shadow:0 1px 3px #00000047;box-shadow:var(--shadow-2);pointer-events:none;animation:ui-board-mark-in var(--dur-3) var(--ease);border-radius:50%;place-items:center;display:grid;position:absolute}.ui-board-mark[data-kind=good]{--mark-bg:var(--good);--mark-fg:var(--on-state)}.ui-board-mark[data-kind=alt]{--mark-bg:var(--bg);--mark-fg:var(--good);border-color:var(--good)}.ui-board-mark[data-kind=bad]{--mark-bg:var(--bad);--mark-fg:var(--on-state)}.ui-board-mark[data-kind=own]{--mark-bg:var(--warn);--mark-fg:var(--on-state)}.ui-board-mark svg{width:62%;height:62%;display:block}@keyframes ui-board-mark-in{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.ui-board-mark{animation:none}}.chess-token{font-family:var(--font-mono-stack);-webkit-text-decoration:underline dotted color-mix(in srgb, var(--text) 55%, transparent);text-decoration:underline dotted color-mix(in srgb, var(--text) 55%, transparent);text-underline-offset:3px;cursor:default;white-space:nowrap;-webkit-tap-highlight-color:transparent;border-radius:3px;font-size:.92em;text-decoration-thickness:1.5px}.chess-token:hover,.chess-token[data-active]{background:color-mix(in srgb, var(--text) 8%, transparent);-webkit-text-decoration-color:var(--text);text-decoration-color:var(--text)}.board-ghost{z-index:2;left:calc(var(--x) * 12.5%);top:calc(var(--y) * 12.5%);opacity:.45;pointer-events:none;width:12.5%;height:12.5%;position:absolute}.board-ghost svg{width:100%;height:100%;display:block}.ui-tip{vertical-align:middle;display:inline-block;position:relative}.ui-tip>summary{padding:2px var(--s-3);border-radius:var(--r-pill);background:var(--panel);color:var(--muted);font-size:var(--fs-caption);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--dur-2) var(--ease), color var(--dur-2) var(--ease);align-items:center;font-weight:500;line-height:1.6;list-style:none;display:inline-flex}.ui-tip>summary::-webkit-details-marker{display:none}.ui-tip>summary:hover,.ui-tip[open]>summary{color:var(--text);background:var(--panel-2)}.ui-tip-body{z-index:30;top:calc(100% + var(--s-2));width:min(340px,78vw);padding:var(--s-3) var(--s-4);border:1px solid var(--border-strong);border-radius:var(--r);background:var(--panel-2);box-shadow:var(--shadow-3);font-size:var(--fs-caption);color:var(--muted);text-wrap:pretty;font-weight:400;line-height:1.55;position:absolute;left:0}.ui-tip-body em{color:var(--text);font-style:normal;font-weight:500}@media (max-width:860px){.ui-tip-body{inset:auto var(--s-4) var(--s-4) var(--s-4);width:auto;max-height:60vh;font-size:var(--fs-body-sm);line-height:var(--lh-body-sm);position:fixed;overflow-y:auto}}.ui-prose{max-width:var(--measure);font-size:var(--fs-body);line-height:var(--lh-body)}.ui-prose p{margin:0 0 var(--s-3)}.ui-prose p:last-child{margin-bottom:0}.ui-prose ul,.ui-prose ol{padding-left:var(--s-5);margin:0}.ui-prose li{margin-bottom:var(--s-2)}.ui-prose li:last-child{margin-bottom:0}.ui-field{gap:var(--s-2);flex-direction:column;min-width:0;display:flex}.ui-field-label{font-size:var(--fs-body-sm);color:var(--muted)}.ui-input{width:100%;min-height:var(--tap-min);padding:0 var(--s-4);border:1px solid var(--border-strong);border-radius:var(--r-sm);background:var(--surface);color:var(--text);font:inherit;font-size:var(--fs-body);transition:border-color var(--dur-2) var(--ease), background var(--dur-2) var(--ease);outline:none}.ui-input:hover{border-color:var(--text)}.ui-input:focus{border-color:var(--text);box-shadow:0 0 0 1px var(--text)}.ui-input::placeholder{color:var(--muted)}.ui-filterbar{align-items:center;gap:var(--s-2);padding:var(--s-2);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--panel);flex-wrap:wrap;display:flex}.ui-filter-spacer{flex:1 1 0}.ui-filter-chip,.ui-filter-add{align-items:stretch;display:inline-flex;position:relative}.ui-filter-chip{border:1px solid var(--border);border-radius:var(--r);background:var(--bg);font-size:var(--fs-body-sm);line-height:1;box-shadow:0 1px 2px #0000000a}.ui-filter-field,.ui-filter-value,.ui-filter-remove{align-items:center;gap:var(--s-2);min-height:var(--control-h-sm);padding:0 var(--s-3);display:inline-flex}.ui-filter-field{color:var(--muted);white-space:nowrap}.ui-filter-value,.ui-filter-remove,.ui-filter-plus,.ui-filter-option{color:var(--text);font:inherit;cursor:pointer;background:0 0;border:0}.ui-filter-value{border-left:1px solid var(--border);white-space:nowrap;font-weight:600}.ui-filter-remove{border-left:1px solid var(--border);padding:0 var(--s-3);color:var(--muted);font-size:var(--fs-body)}.ui-filter-value:hover,.ui-filter-remove:hover{background:var(--panel)}.ui-filter-chip>:first-child{border-radius:var(--r) 0 0 var(--r)}.ui-filter-chip>button:last-of-type{border-radius:0 var(--r) var(--r) 0}.ui-filter-plus{align-items:center;gap:var(--s-2);min-height:var(--control-h-sm);padding:0 var(--s-3);border-radius:var(--r);color:var(--muted);font-size:var(--fs-body);display:inline-flex}.ui-filter-plus span{font-size:var(--fs-body-sm)}.ui-filter-plus:hover{background:var(--bg);color:var(--text)}.ui-filter-menu{top:calc(100% + var(--s-1));z-index:30;min-width:220px;padding:var(--s-1);border:1px solid var(--border);border-radius:var(--r);background:var(--bg);box-shadow:var(--shadow-2);flex-direction:column;display:flex;position:absolute;left:0}.ui-filterbar>.ui-filter-chip:last-of-type .ui-filter-menu{left:auto;right:0}.ui-filter-option{align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-3);border-radius:var(--r-sm);font-size:var(--fs-body);text-align:left;display:flex}.ui-filter-option:hover,.ui-filter-option[data-on="1"]{background:var(--panel)}.ui-filter-option>:first-child{flex:auto}.ui-filter-count{color:var(--muted);font-size:var(--fs-caption);font-variant-numeric:tabular-nums}.ui-filter-check{text-align:center;width:1em;font-weight:700}.ui-filter-search{align-items:center;gap:var(--s-2);min-height:var(--control-h-sm);padding:0 var(--s-3);border:1px solid var(--border);border-radius:var(--r);background:var(--bg);color:var(--muted);flex:0 280px;display:inline-flex}.ui-filter-search:focus-within{border-color:var(--text)}.ui-filter-search input{min-width:0;color:var(--text);font:inherit;font-size:var(--fs-body-sm);background:0 0;border:0;outline:none;flex:auto}.ui-hl{background:linear-gradient(var(--hl), var(--hl)) no-repeat 0 88% / 100% .42em;-webkit-box-decoration-break:clone;box-decoration-break:clone;animation:ui-hl-sweep var(--dur-hl) var(--ease-pen) both;margin:0 -.08em;padding:0 .08em}@keyframes ui-hl-sweep{0%{background-size:0% .42em}}.ui-hand{font-family:var(--font-hand-stack);color:var(--pen);font-size:1.45em;font-weight:700;line-height:1;display:block}.ui-pen{fill:none;stroke:var(--pen);stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1px;animation:ui-pen-draw var(--dur-pen-circle) var(--ease-pen) forwards}.ui-pen[data-gesture=arrow]{animation-duration:var(--dur-pen-arrow);animation-delay:var(--pen-after,0s)}.ui-pen[data-gesture=head]{animation-duration:.12s;animation-delay:calc(var(--pen-after,0s) + var(--dur-pen-arrow))}.ui-pen-marks{pointer-events:none;z-index:2;width:100%;height:100%;position:absolute;inset:0;overflow:visible}@keyframes ui-pen-draw{to{stroke-dashoffset:0}}@media (prefers-reduced-motion:reduce){.ui-hl{animation:none}.ui-pen{stroke-dashoffset:0;animation:none}}:where(p,li,dd,.ui-note,.ui-lede) a:not([class]){color:var(--brand);-webkit-text-decoration-color:color-mix(in srgb, var(--brand) 40%, transparent);text-decoration-color:color-mix(in srgb, var(--brand) 40%, transparent)}
.site-header{z-index:20;padding:var(--s-3) max(var(--page-gutter), calc((100% - var(--page-max)) / 2 + var(--page-gutter))) 0;pointer-events:none;position:sticky;top:0}@media (max-width:860px){.site-header{transition:transform var(--dur-2) var(--ease)}.site-header[data-hidden="1"]{transform:translateY(calc(-100% - var(--s-2)))}}@media (prefers-reduced-motion:reduce){.site-header{transition:none}}.board-frame,.xr-title{scroll-margin-top:calc(var(--control-h) + var(--s-7))}.site-bar{pointer-events:auto;justify-content:space-between;align-items:center;gap:var(--s-3);min-height:calc(var(--control-h) + var(--s-4));padding:var(--s-2) var(--s-2) var(--s-2) var(--s-4);border:1px solid var(--border);border-radius:var(--r-pill);background:var(--bg);box-shadow:var(--shadow-2);flex-wrap:nowrap;display:flex}.site-nav{align-items:center;gap:var(--s-1);margin-right:auto;margin-left:var(--s-5);display:flex}.site-nav a{padding:var(--s-2) var(--s-3);border-radius:var(--r-pill);font-size:var(--fs-body-sm);color:var(--text);transition:background var(--dur-2) var(--ease);font-weight:500;text-decoration:none}.site-nav a:hover{background:var(--panel)}.site-actions{align-items:center;gap:var(--s-1);flex:none;display:flex}@media (max-width:860px){.site-nav{display:none}.site-bar{padding-left:var(--s-3)}}@media (max-width:640px){.site-cta{display:none}}.xr-mark{flex:none;width:1.35em;height:1.35em}.xr-mark-board{fill:currentColor}.xr-mark-frame{stroke:var(--brand)}.site-brand-accent{color:var(--brand)}.site-brand{align-items:center;gap:var(--s-2);font-family:var(--font-display-stack);letter-spacing:-.03em;color:var(--text);white-space:nowrap;font-size:18px;font-weight:800;text-decoration:none;display:inline-flex}.site-account{flex:none;position:relative}.site-avatar{width:var(--control-h-sm);height:var(--control-h-sm);color:var(--muted);font-size:var(--fs-caption);border:1px solid var(--border);background:var(--panel-2);cursor:pointer;transition:border-color var(--dur-1,.15s);border-radius:50%;flex:none;place-items:center;padding:0;font-weight:600;text-decoration:none;display:grid;position:relative}.site-avatar:after{content:"";width:var(--tap-min);height:var(--tap-min);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.site-avatar:hover,.site-avatar:focus-visible,.site-avatar[aria-expanded=true]{border-color:var(--border-strong)}.site-avatar img{object-fit:cover;border-radius:50%;width:100%;height:100%;display:block}.site-menu{top:calc(100% + var(--s-2));z-index:30;width:max-content;min-width:240px;max-width:min(300px, calc(100vw - 2 * var(--page-gutter)));padding:var(--s-2);border:1px solid var(--border);border-radius:var(--r);background:var(--panel);box-shadow:var(--shadow-2);flex-direction:column;display:flex;position:absolute;right:0}.site-menu-who{padding:var(--s-2) var(--s-3) var(--s-3);border-bottom:1px solid var(--border);color:var(--muted);font-size:var(--fs-caption);text-overflow:ellipsis;white-space:nowrap;margin:0;font-weight:600;overflow:hidden}.site-menu-item{margin-top:var(--s-1);padding:var(--s-2) var(--s-3);border-radius:var(--r-sm);color:var(--text);transition:background var(--dur-1,.15s);flex-direction:column;gap:2px;text-decoration:none;display:flex}.site-menu-item:hover,.site-menu-item:focus-visible,.site-menu-item[data-active="1"]{background:var(--panel-2)}.site-menu-item[aria-disabled=true]{color:var(--muted);cursor:default}.site-menu-label{font-size:var(--fs-body);font-weight:600;line-height:var(--lh-subtitle)}.site-menu-note{color:var(--muted);font-size:var(--fs-caption);line-height:var(--lh-subtitle)}.site-menu-item[aria-disabled=true] .site-menu-label{font-weight:500}.players{gap:var(--s-2);flex-wrap:wrap;display:flex}.players a{padding:var(--s-1) var(--s-3);border:1px solid var(--border);border-radius:var(--r-pill);background:var(--panel);color:var(--muted);font-size:var(--fs-caption);font-weight:500;line-height:calc(var(--control-h-sm) - var(--s-2));transition:border-color var(--dur-2) var(--ease), color var(--dur-2) var(--ease);text-decoration:none}.players a:hover{border-color:var(--border-strong);color:var(--text)}.players a[aria-current=page]{border-color:var(--border-strong);background:var(--panel-2);color:var(--text)}.board-frame{border:1px solid var(--border-strong);border-radius:var(--r);background:var(--panel-2);position:relative;overflow:hidden}.board-frame[data-play="1"]{touch-action:none}.lesson{--lesson-board:max(min(620px, calc(100svh - var(--site-header-h) - 240px)), 320px);grid-template-columns:minmax(0, var(--lesson-board)) minmax(300px, 420px);justify-content:center;column-gap:var(--s-7);row-gap:var(--s-3);grid-template-areas:"top top""board panel";align-items:stretch;display:grid}.lesson-top{justify-content:space-between;align-items:center;gap:var(--s-3);grid-area:top;display:flex}.lesson-back{align-items:center;gap:var(--s-1);min-height:var(--tap-min);margin-left:calc(var(--s-2) * -1);padding:0 var(--s-2);border-radius:var(--r-sm);color:var(--text);font-weight:600;text-decoration:none;display:inline-flex}.lesson-back span{margin-top:-.12em;font-size:1.5em;line-height:1}.lesson-back:hover{background:var(--panel)}.lesson-board{top:calc(var(--site-header-h) + var(--s-3));align-self:start;gap:var(--s-2);flex-direction:column;grid-area:board;display:flex;position:sticky}.lesson-panel{gap:var(--s-4);flex-direction:column;grid-area:panel;min-width:0;display:flex}.lesson-head{gap:var(--s-1);flex-direction:column;display:flex}.lesson-where{font-family:var(--font-display-stack);font-size:var(--fs-title);line-height:var(--lh-title);letter-spacing:var(--ls-title);font-weight:700}.lesson-count{font-size:var(--fs-caption);line-height:var(--lh-caption);color:var(--muted);font-variant-numeric:tabular-nums;flex:none}.lesson-context{gap:var(--s-1);max-width:var(--measure);font-size:var(--fs-caption);line-height:var(--lh-caption);color:var(--muted);text-wrap:pretty;flex-direction:column;display:flex}.lesson-context b{color:var(--text)}.lesson-tools{gap:var(--s-2);flex-wrap:wrap;display:flex}.lesson-tools .ui-btn{flex:1 1 0}.lesson-panel>.lesson-progress{margin-top:auto}.lesson-nav{gap:var(--s-2);display:flex}.lesson-nav .lesson-next,.lesson-nav .lesson-retry{min-height:var(--control-h-lg);font-size:var(--fs-body);flex:auto}.lesson[data-phase=wrong] .board-frame,.lesson[data-phase=same] .board-frame{box-shadow:0 0 0 3px var(--bad)}.lesson-next[data-auto="1"]{background-image:linear-gradient(90deg, color-mix(in srgb, var(--on-ink) 22%, transparent) 0 0);animation:lesson-auto-next var(--auto-next,1.5s) linear forwards;background-repeat:no-repeat;background-size:0% 100%}@keyframes lesson-auto-next{to{background-size:100% 100%}}@media (prefers-reduced-motion:reduce){.lesson-next[data-auto="1"]{animation:none}}.lesson-all{font-size:var(--fs-caption);color:var(--muted);align-self:flex-start}.lesson-all:hover{color:var(--text)}.series-opening{padding:var(--s-7) 0;text-align:center}@media (max-width:640px){.series-lessons.ui-grid{gap:var(--s-2);grid-template-columns:minmax(0,1fr)}.series-lessons .ui-card{align-items:baseline;column-gap:var(--s-3);flex-flow:wrap}.series-lessons .ui-card-title{flex:none}.series-lessons .ui-card-note{flex:auto}}.series-done{gap:var(--s-3);padding:var(--s-5);border:1px solid var(--text);border-radius:var(--r-lg);background:var(--surface);flex-direction:column;display:flex}.lesson[data-phase=solved] .board-frame{box-shadow:0 0 0 3px var(--good)}.lesson[data-done="1"] .lesson-prompt{display:none}.lesson-prompt.ui-callout[data-tone=warn]{border:1px solid var(--border-strong);background:var(--surface)}.lesson-prompt.ui-callout[data-tone=warn] .ui-callout-kicker{color:var(--text)}.clock{justify-content:space-between;align-items:baseline;gap:var(--s-3);padding:0 var(--s-1);min-height:28px;display:flex}.clock-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--fs-caption);line-height:var(--lh-caption);color:var(--muted);overflow:hidden}.clock-time{font-family:var(--font-mono-stack);font-variant-numeric:tabular-nums;font-size:var(--fs-body-sm);color:var(--muted);flex:none}.clock[data-me="1"] .clock-time{color:var(--text)}.clock[data-active="1"] .clock-time{font-weight:700}.clock[data-flagged="1"] .clock-time,.clock[data-flagged="1"] .clock-label{color:var(--bad)}.debrief{gap:var(--s-3);flex-direction:column;display:flex}.debrief-pen{margin-bottom:calc(var(--s-1) * -1);align-self:flex-start;transform:rotate(-2deg)}.debrief-time{font-size:var(--fs-body-sm);line-height:var(--lh-body-sm);color:var(--muted);text-wrap:pretty;margin:0}.debrief-time b{color:var(--text)}.debrief-time[data-tone=good] b{color:var(--good)}.debrief-rows{flex-direction:column;display:flex}.debrief-row{gap:var(--s-3);width:100%;min-height:var(--tap-min);padding:var(--s-3) var(--s-2);border:0;border-top:1px solid var(--border);border-radius:var(--r-xs);font:inherit;font-size:var(--fs-body-sm);line-height:var(--lh-body-sm);color:var(--text);text-align:left;cursor:pointer;transition:background var(--dur-2) var(--ease);background:0 0;margin:0;display:flex}.debrief-row:hover{background:color-mix(in srgb, var(--text) 4%, transparent)}.debrief-row:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.debrief-row[data-active="1"][data-tone=good]{background:color-mix(in srgb, var(--good) 7%, transparent)}.debrief-row[data-active="1"][data-tone=bad]{background:color-mix(in srgb, var(--bad) 7%, transparent)}.debrief-row[data-active="1"][data-tone=neutral]{background:color-mix(in srgb, var(--text) 7%, transparent)}.debrief-tag{font-size:var(--fs-overline);font-weight:var(--fw-overline);letter-spacing:var(--ls-overline);text-transform:uppercase;flex:0 0 84px;padding-top:2px}.debrief-row[data-tone=bad] .debrief-tag{color:var(--bad)}.debrief-row[data-tone=good] .debrief-tag{color:var(--good)}.debrief-row[data-tone=neutral] .debrief-tag{color:var(--muted)}.debrief-body{gap:var(--s-2);flex-direction:column;flex:auto;min-width:0;display:flex}.debrief-head{text-wrap:pretty;display:block}.debrief-play{width:20px;height:20px;color:var(--muted);flex:none;align-self:center}.debrief-play svg{width:100%;height:100%;display:block}.debrief-row[data-active="1"] .debrief-play{color:var(--text)}.debrief-foot{justify-content:flex-end;display:flex}@media (max-width:640px){.debrief-row{align-items:center;gap:var(--s-2) var(--s-3);flex-wrap:wrap}.debrief-tag{flex:auto;order:1;padding-top:0}.debrief-play{order:2}.debrief-body{flex:100%;order:3}}@media (max-width:860px){.lesson{margin-bottom:calc(-1 * var(--s-9));grid-template-columns:minmax(0,1fr);grid-template-areas:"top""head""prompt""board""tools""explain""progress""all""nav";row-gap:0}.lesson-panel{display:contents}.lesson-head{grid-area:head}.lesson-where{font-size:var(--fs-subtitle)}.lesson-prompt{margin:var(--s-3) 0;grid-area:prompt}.lesson-board{position:static}.lesson-tools{margin-top:var(--s-3);grid-area:tools}.lesson-tools .ui-btn{min-height:var(--tap-min)}.lesson-explain{margin-top:var(--s-3);padding-bottom:var(--s-3);grid-area:explain}.lesson-panel>.lesson-progress{margin-top:var(--s-3);grid-area:progress}.lesson-all{margin-top:var(--s-2);grid-area:all}.lesson-nav{z-index:10;margin:var(--s-4) calc(-1 * var(--page-gutter)) 0;padding:var(--s-2) var(--page-gutter) calc(var(--s-2) + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);grid-area:nav;position:sticky;bottom:0}.lesson-nav:empty{display:none}.lesson-nav>.ui-btn{flex:1 1 0}.lesson-nav>.ui-btn:first-child:not(:only-child){flex:0 auto}}.path{gap:var(--s-2);margin:var(--s-7) 0 0;flex-direction:column;padding:0;list-style:none;display:flex}.node{align-items:center;gap:var(--s-4);min-height:var(--tap-min);padding:var(--s-3) var(--s-4);border:1px solid var(--border-strong);border-radius:var(--r-lg);background:var(--surface);color:inherit;transition:transform var(--dur-2) var(--ease), box-shadow var(--dur-2) var(--ease), border-color var(--dur-2) var(--ease);text-decoration:none;display:flex}.node:hover{border-color:var(--text)}.node-dot{flex:0 0 var(--control-h);width:var(--control-h);height:var(--control-h);background:var(--panel);color:var(--muted);font-size:var(--fs-body-sm);font-variant-numeric:tabular-nums;border-radius:50%;place-items:center;font-weight:600;display:grid}.node[data-state=next]{border-color:var(--text);box-shadow:inset 3px 0 0 var(--text)}.node[data-state=next] .node-dot{background:var(--text);color:var(--on-ink)}.node[data-state=done] .node-dot{background:var(--panel-2);color:var(--text)}.node[data-state=done] .node-text b{color:var(--muted);font-weight:500}.node[data-boss="1"] .node-dot{border-radius:var(--r-sm)}.node-text{flex-direction:column;gap:2px;min-width:0;display:flex}.node-text b{font-size:var(--fs-subtitle);line-height:var(--lh-subtitle);font-weight:var(--fw-subtitle);overflow-wrap:anywhere}.node-text small{font-size:var(--fs-caption);line-height:var(--lh-caption);color:var(--muted)}.mc-page{width:100%;max-width:760px;margin:0 auto}.mc-start{isolation:isolate;align-items:center;gap:var(--s-6);padding:var(--s-5) var(--s-6);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-2);border:1px solid var(--text);display:flex;position:relative;overflow:hidden}.mc-start-dots{display:none}.mc-start-xp{gap:var(--s-2);flex-direction:column;flex:1;min-width:0;display:flex}.mc-start-label{font-size:var(--fs-body-sm);font-weight:550}.mc-start .ui-btn{flex:none}@media (max-width:640px){.mc-start{align-items:stretch;gap:var(--s-4);padding:var(--s-4);flex-direction:column}}.deck{--deck-h:clamp(200px, 30vh, 260px)}.deck-track{margin:0 calc(-1 * var(--page-gutter));padding:0 var(--page-gutter);overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-left:var(--page-gutter);scrollbar-width:none;list-style:none;display:flex;overflow-x:auto}.deck-track::-webkit-scrollbar{display:none}.deck-card{padding-right:var(--page-gutter);scroll-snap-align:start;scroll-snap-stop:always;flex:0 0 100%;display:flex}.deck-face{gap:var(--s-2);min-height:var(--deck-h);padding:var(--s-6);border:1px solid var(--border-strong);border-radius:var(--r-lg);background:var(--surface);flex-direction:column;flex:auto;display:flex;overflow-y:auto}.deck-face[data-kind=cover]{text-align:center;justify-content:center;align-items:center}.deck-face[data-kind=cover] .ui-btn{margin-top:var(--s-3)}.deck-face[data-tone=good]{border-color:color-mix(in srgb, var(--good) 40%, var(--border))}.deck-face[data-tone=bad]{border-color:color-mix(in srgb, var(--bad) 40%, var(--border))}.deck{--deck-board:clamp(152px, 46vw, 208px)}.deck-face[data-kind=position]{max-height:calc(var(--deck-board) + 19rem);grid-template:"over""title""board""text"minmax(0,1fr)/minmax(0,1fr);align-content:start;display:grid}.deck-face[data-kind=position]>.ui-overline{grid-area:over}.deck-face[data-kind=position]>.deck-title{grid-area:title}.deck-board{gap:var(--s-1);flex-direction:column;grid-area:board;display:flex}.deck-scroll{overscroll-behavior:contain;grid-area:text;min-height:0;overflow-y:auto}.deck-reach{font-size:var(--fs-caption);color:var(--muted);font-variant-numeric:tabular-nums}@media (min-width:641px){.deck{--deck-board:216px}.deck-face[data-kind=position]{grid-template-columns:var(--deck-board) minmax(0, 1fr);column-gap:var(--s-6);max-height:calc(var(--deck-board) + 2 * var(--s-6) + 2rem);grid-template-rows:auto auto minmax(0,1fr);grid-template-areas:"board over""board title""board text"}}.deck .xr-sprite{width:0;height:0;position:absolute;overflow:hidden}.deck-board .xr-static{aspect-ratio:1;width:var(--deck-board);border:1px solid var(--border-strong);border-radius:var(--r-sm);grid-template-columns:repeat(8,minmax(0,1fr));max-width:100%;display:grid;overflow:hidden}.deck-board .xr-sq{aspect-ratio:1;background:var(--sq-light);position:relative}.deck-board .xr-sq[data-dark="1"]{background:var(--sq-dark)}.deck-board .xr-sq>svg{width:100%;height:100%;display:block}.deck-title{font-size:var(--fs-title);line-height:var(--lh-title);font-weight:var(--fw-title);letter-spacing:var(--ls-title);text-wrap:balance}.deck-body{font-size:var(--fs-body);line-height:var(--lh-body)}.deck-foot{margin-top:var(--s-2);font-size:var(--fs-caption);color:var(--muted)}.deck-list{gap:var(--s-2);margin:var(--s-1) 0 0;flex-direction:column;padding:0;list-style:none;display:flex}.deck-list li{padding-left:var(--s-5);font-size:var(--fs-body-sm);line-height:var(--lh-body-sm);position:relative}.deck-list li:before{font-weight:700;position:absolute;left:0}.deck-face[data-tone=good] .deck-list li:before{content:"+";color:var(--good)}.deck-face[data-tone=bad] .deck-list li:before{content:"−";color:var(--bad)}.deck-nav{align-items:center;gap:var(--s-2);margin-top:var(--s-3);display:flex}.deck-arrow{width:var(--tap-min);height:var(--tap-min);border:1px solid var(--border);background:var(--panel);color:var(--text);font-size:var(--fs-title);cursor:pointer;border-radius:50%;flex:none;place-items:center;line-height:1;display:grid}.deck-arrow:disabled{opacity:.35;cursor:default}.deck-dots{flex:auto;align-items:center;gap:2px;min-width:0;display:flex}.deck-dot{max-width:20px;height:var(--tap-min);cursor:pointer;background:0 0;border:0;flex:1 1 0;padding:0}.deck-dot:after{border-radius:var(--r-pill);background:var(--border-strong);content:"";width:100%;height:4px;transition:background var(--dur-2) var(--ease);display:block}.deck-dot[data-on="1"]:after{background:var(--text)}.deck-count{font-size:var(--fs-caption);color:var(--muted);font-variant-numeric:tabular-nums;flex:none}@media (max-width:640px){.deck-arrow{display:none}}.deck-live{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.sheet{max-width:760px;padding:0 var(--s-4);border:1px solid var(--border);border-radius:var(--r);background:var(--panel)}.sheet+.sheet{margin-top:var(--s-2)}.sheet>summary{padding:var(--s-3) 0;font-size:var(--fs-body-sm);cursor:pointer;font-weight:600}.sheet>summary::marker{color:var(--muted)}.sheet p,.sheet li{font-size:var(--fs-body-sm);line-height:var(--lh-body)}.sheet p{margin:0 0 var(--s-3)}.sheet ol,.sheet ul{margin:0 0 var(--s-3);padding-left:var(--s-5)}.sheet li{margin-bottom:var(--s-2)}.sheet .plus li::marker{content:"+  ";color:var(--good)}.sheet .minus li::marker{content:"−  ";color:var(--bad)}.runner{max-width:var(--page-wide);flex-direction:column;margin:0 auto;display:flex}.runner-top{align-items:center;gap:var(--s-3);margin-bottom:var(--s-3);display:flex}.runner-grid{--runner-board:max(min(520px, calc(100svh - 280px)), 300px);grid-template-columns:minmax(0, var(--runner-board)) minmax(0, 1fr);gap:var(--s-5);align-items:start;display:grid}.runner-panel{gap:var(--s-2);flex-direction:column;min-width:0;display:flex}.bubble{padding:var(--s-3) var(--s-4);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--panel)}.bubble>b{font-size:var(--fs-body-sm);overflow-wrap:anywhere}.bubble p{margin:var(--s-1) 0 0;font-size:var(--fs-body);line-height:var(--lh-body-sm);text-wrap:pretty}.bubble[data-state=ok]{background:color-mix(in srgb, var(--good) 7%, var(--panel))}.bubble[data-state=ok]>b{color:var(--good)}.bubble[data-state=ko]{background:color-mix(in srgb, var(--bad) 7%, var(--panel))}.bubble[data-state=ko]>b{color:var(--bad)}.bubble-kicker{margin-bottom:var(--s-1);font-size:var(--fs-overline);font-weight:var(--fw-overline);letter-spacing:var(--ls-overline);text-transform:uppercase;color:var(--muted);line-height:1.4;display:block}.bubble[data-state=ok] .bubble-kicker{color:var(--good)}.bubble[data-state=ko] .bubble-kicker{color:var(--bad)}.chip{margin-top:var(--s-2);padding:var(--s-2) var(--s-3);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--panel-2);font-size:var(--fs-caption);line-height:var(--lh-caption);color:var(--muted);overflow-wrap:anywhere}.ask{padding:var(--s-2) 0;font-size:var(--fs-subtitle);color:var(--text);font-weight:700}.review-note{font-size:var(--fs-caption);line-height:var(--lh-caption);color:var(--muted)}.ask[data-tone=bad]{color:var(--bad)}.soft-note{padding:var(--s-2) var(--s-3);border-left:3px solid var(--text);border-radius:0 var(--r-sm) var(--r-sm) 0;background:color-mix(in srgb, var(--text) 5%, transparent);font-size:var(--fs-body-sm);line-height:var(--lh-body-sm);color:var(--text);margin:0}.ask-block{gap:var(--s-2);padding:var(--s-3) var(--s-4);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--panel);flex-direction:column;display:flex}.ask-q{font-size:var(--fs-subtitle);font-weight:700;line-height:var(--lh-body-sm);color:var(--text);text-wrap:pretty;margin:0}.ask-note{font-size:var(--fs-caption);line-height:var(--lh-caption);color:var(--muted);margin:0}.ask-note[data-tone=bad]{color:var(--bad);font-weight:600}.ask-options{gap:var(--s-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.ask-option{width:100%;min-height:var(--tap-min);padding:var(--s-2) var(--s-3);border:1px solid var(--border);border-radius:var(--r);background:var(--panel-2);color:var(--text);font:inherit;font-size:var(--fs-body);line-height:var(--lh-body-sm);text-align:left;text-wrap:pretty;cursor:pointer;display:block}.ask-option:hover:not(:disabled){border-color:var(--text)}.ask-option:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.ask-option:disabled{cursor:default;opacity:1}.ask-option[data-state=good]{border-color:var(--good);background:color-mix(in srgb, var(--good) 12%, var(--panel));color:var(--good);font-weight:600}.ask-option[data-state=bad]{border-color:var(--bad);background:color-mix(in srgb, var(--bad) 10%, var(--panel));color:var(--bad)}.xp{align-items:center;gap:var(--s-3);font-size:var(--fs-caption);color:var(--muted);display:flex}.bottombar{z-index:10;margin:var(--s-5) calc(-1 * var(--page-gutter)) 0;padding:var(--s-3) var(--page-gutter) calc(var(--s-3) + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);justify-content:center;display:flex;position:sticky;bottom:0}.bottombar .ui-btn{width:min(100%,420px)}.done-screen{max-width:var(--page-narrow);padding-top:var(--s-6);text-align:center;margin:0 auto}.done-screen .ui-prose{text-align:left;margin:0 auto}.stars{letter-spacing:6px;color:var(--star);font-size:52px;line-height:1.1}.stars span{color:var(--border)}.ui-center{text-align:center}@media (max-width:860px){.runner{margin-bottom:calc(-1 * var(--s-9))}.runner-grid{gap:var(--s-3);grid-template-columns:1fr}.runner-panel{min-height:150px}.bottombar{margin-top:var(--s-4)}.path{max-width:none}}.hero{isolation:isolate;gap:var(--s-6);padding:var(--s-7);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-2);border:1px solid var(--text);grid-template-columns:minmax(0,1fr);align-items:center;display:grid;position:relative;overflow:hidden}.hero[data-board="1"]{grid-template-columns:minmax(0,1fr) minmax(0,260px)}.hero-dots{display:none}.hero-copy{align-items:flex-start;gap:var(--s-2);flex-direction:column;min-width:0;display:flex}.hero h2{font-size:calc(var(--fs-title) * 1.35);line-height:var(--lh-title);font-weight:var(--fw-title);letter-spacing:var(--ls-title);text-wrap:balance;font-family:var(--font-display-stack);margin:0}.hero .ui-note{max-width:52ch;font-size:var(--fs-body);line-height:var(--lh-body)}.hero .ui-btn{margin-top:var(--s-3)}.hero-board{border-radius:var(--r-sm);border:1px solid var(--border-strong);padding:0;overflow:hidden}.board-frame{border-radius:var(--r-sm);position:relative;overflow:hidden}.board-frame .xr-static{--sq-light:var(--panel-2);--sq-dark:var(--border-strong);aspect-ratio:1;grid-template-columns:repeat(8,minmax(0,1fr));width:100%;display:grid}.board-frame .xr-sq{aspect-ratio:1;background:var(--sq-light);position:relative}.board-frame .xr-sq[data-dark="1"]{background:var(--sq-dark)}.board-frame .xr-sq>svg{width:100%;height:100%}.board-frame .xr-sq>span{display:none}.board-frame-empty{aspect-ratio:1;background:repeating-conic-gradient(var(--border-strong) 0% 25%, var(--panel-2) 0% 50%) 0 0 / 25% 25%;display:block}.dash .xr-sprite,.hero-board .xr-sprite{width:0;height:0;position:absolute;overflow:hidden}.hero-board .xr-vis-frame{border-radius:var(--r-sm);position:relative;overflow:hidden}.hero-board .xr-static{--sq-light:var(--panel-2);--sq-dark:var(--border-strong);aspect-ratio:1;grid-template-columns:repeat(8,minmax(0,1fr));width:100%;display:grid}.hero-board .xr-sq{aspect-ratio:1;background:var(--sq-light);position:relative}.hero-board .xr-sq[data-dark="1"]{background:var(--sq-dark)}.hero-board .xr-sq>svg{width:100%;height:100%}.hero-board .xr-sq>span{display:none}@media (max-width:860px){.hero,.hero[data-board="1"]{padding:var(--s-5);border-radius:var(--r-lg);grid-template-columns:1fr}.hero-board{max-width:240px}}@media (max-width:640px){.hero .ui-btn{width:100%}}.dash-head{gap:var(--s-3);margin-bottom:var(--s-6);flex-direction:column;display:flex}.dash-name{font-size:var(--fs-display);line-height:var(--lh-display);font-weight:var(--fw-display);letter-spacing:var(--ls-display);margin:0}.dash-course{align-items:center;gap:var(--s-2) var(--s-5);font-size:var(--fs-body-sm);line-height:var(--lh-body-sm);color:var(--muted);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.dash-course b{color:var(--text);font-variant-numeric:tabular-nums;font-weight:600}.dash-streak{align-items:center;gap:var(--s-2);display:inline-flex}.dash-streak-flame{width:22px;height:22px;color:var(--border-strong);place-items:center;display:inline-grid}.dash-streak-flame svg{width:100%;height:100%}.dash-streak[data-lit="1"] .dash-streak-flame{color:var(--text)}.dash-streak[data-lit="1"] .dash-streak-flame svg{fill:currentColor}.dash-streak-nudge{color:var(--muted)}.dash-next{isolation:isolate;gap:var(--s-7);padding:var(--s-7);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-2);border:1px solid var(--text);grid-template-columns:minmax(0,1fr) minmax(0,320px);align-items:center;display:grid;position:relative;overflow:hidden}.dash-next-dots{display:none}.dash-next-copy{align-items:flex-start;gap:var(--s-2);flex-direction:column;min-width:0;display:flex}.dash-next-copy .ui-overline{color:var(--text)}.dash-next-title{font-size:calc(var(--fs-title) * 1.4);line-height:var(--lh-title);font-weight:var(--fw-title);letter-spacing:var(--ls-title);text-wrap:balance;font-family:var(--font-display-stack);margin:0}.dash-next-prompt{max-width:44ch;font-size:var(--fs-body);line-height:var(--lh-body);text-wrap:pretty;margin:0}.dash-next-meta{font-size:var(--fs-caption);line-height:var(--lh-caption);color:var(--muted);font-variant-numeric:tabular-nums;margin:0}.dash-next-copy .ui-btn{margin-top:var(--s-3)}.dash-next-board{border-radius:var(--r-sm);border:1px solid var(--border-strong);padding:0;overflow:hidden}.dash-block{gap:var(--s-5);margin-top:var(--s-8);flex-direction:column;display:flex}.dash-block-head{gap:var(--s-1);flex-direction:column;display:flex}.dash-h2{font-size:calc(var(--fs-title) * 1.15);line-height:var(--lh-title);font-weight:var(--fw-title);letter-spacing:var(--ls-title);margin:0}.dash-block-lede{font-size:var(--fs-body-sm);line-height:var(--lh-body-sm);color:var(--muted);margin:0}.dash-lessons{gap:var(--s-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.dash-lesson{grid-template-columns:var(--control-h) minmax(0, 1.6fr) auto minmax(0, 160px);align-items:center;gap:var(--s-5);padding:var(--s-4) var(--s-5);border:1px solid var(--border-strong);border-radius:var(--r-lg);background:var(--surface);color:inherit;transition:transform var(--dur-2) var(--ease), box-shadow var(--dur-2) var(--ease), border-color var(--dur-2) var(--ease);text-decoration:none;display:grid}.dash-lesson:hover{border-color:var(--text)}.dash-lesson[data-next="1"]{border-color:var(--text);box-shadow:inset 3px 0 0 var(--text)}.dash-lesson-rank{width:var(--control-h);height:var(--control-h);background:var(--panel);color:var(--muted);font-size:var(--fs-body-sm);font-variant-numeric:tabular-nums;border-radius:50%;place-items:center;font-weight:600;display:grid}.dash-lesson[data-next="1"] .dash-lesson-rank{background:var(--text);color:var(--bg)}.dash-lesson-main{flex-direction:column;gap:2px;min-width:0;display:flex}.dash-lesson-title{align-items:center;gap:var(--s-2);font-size:var(--fs-subtitle);line-height:var(--lh-subtitle);font-weight:var(--fw-subtitle);letter-spacing:var(--ls-subtitle);flex-wrap:wrap;display:flex}.dash-lesson-desc{font-size:var(--fs-caption);line-height:var(--lh-caption);color:var(--muted);text-wrap:pretty}.dash-flag{padding:1px var(--s-2);border-radius:var(--r-pill);background:var(--text);color:var(--on-ink);font-size:var(--fs-overline);letter-spacing:var(--ls-overline);text-transform:uppercase;font-weight:var(--fw-overline);white-space:nowrap}.dash-lesson-count{text-align:right;white-space:nowrap;flex-direction:column;align-items:flex-end;line-height:1.1;display:flex}.dash-lesson-count b{font-size:var(--fs-metric);font-weight:var(--fw-metric);letter-spacing:var(--ls-metric);font-variant-numeric:tabular-nums}.dash-lesson-count small{font-size:var(--fs-caption);color:var(--muted)}.dash-lesson-meter{min-width:0}.dash-lesson-meter .ui-meter{justify-content:flex-end}.dash-lesson-meter .ui-bar{--bar-h:var(--bar-h-lg)}.dash-mcs{gap:var(--s-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.dash-mc:last-child:nth-child(odd){grid-column:1/-1}.dash-mc{align-items:center;gap:var(--s-5);padding:var(--s-4);border:1px solid var(--border-strong);border-radius:var(--r-lg);background:var(--surface);color:inherit;transition:transform var(--dur-2) var(--ease), box-shadow var(--dur-2) var(--ease), border-color var(--dur-2) var(--ease);text-decoration:none;display:flex}.dash-mc:hover{border-color:var(--text)}.dash-mc-board{width:120px;padding:var(--s-2);border-radius:var(--r);background:var(--panel);flex:0 0 120px;display:block}.dash-mc-board .xr-static,.dash-mc-board .board-frame-empty{border-radius:var(--r-xs);overflow:hidden}.dash-mc-body{align-items:flex-start;gap:var(--s-1);flex-direction:column;flex:1;min-width:0;display:flex}.dash-mc-title{font-size:var(--fs-subtitle);line-height:var(--lh-subtitle);font-weight:var(--fw-subtitle);letter-spacing:var(--ls-subtitle);text-wrap:balance}.dash-mc-tagline{font-size:var(--fs-caption);line-height:var(--lh-caption);color:var(--muted);text-wrap:pretty}.dash-mc-meter{width:100%;margin-top:var(--s-2)}.dash-mc-meter .ui-bar{--bar-h:var(--bar-h-lg)}.dash-side{align-items:center;gap:var(--s-1);padding:2px var(--s-2);border-radius:var(--r-pill);font-size:var(--fs-caption);background:var(--panel);color:var(--text);font-weight:500;display:inline-flex}.dash-side[data-color=black]{background:var(--text);color:var(--bg)}.dash-report{gap:var(--s-5);margin-top:calc(var(--s-9) + var(--s-6));padding-top:var(--s-8);border-top:1px solid var(--border);flex-direction:column;display:flex}.dash-report .dash-block-head .ui-overline{color:var(--muted)}.dash-report .ui-stat-value{font-size:var(--fs-metric)}.dash-report .ui-section{margin-top:var(--s-7)}.dash-report .ui-section>.ui-section-title,.dash-report .ui-section-head .ui-section-title{font-size:var(--fs-title)}.dash-report .hero .ui-btn[data-variant=primary]{background:var(--bg);color:var(--text);border-color:var(--border-strong)}.dash-report .hero .ui-btn[data-variant=primary]:hover{background:var(--panel)}@media (max-width:860px){.dash-next{gap:var(--s-5);padding:var(--s-5);border-radius:var(--r-lg);grid-template-columns:1fr}.dash-next-board{max-width:300px}.dash-lesson{grid-template-columns:var(--control-h) minmax(0, 1fr);gap:var(--s-2) var(--s-3);padding:var(--s-3) var(--s-4)}.dash-lesson-count{align-items:baseline;gap:var(--s-1);text-align:left;flex-direction:row;grid-column:2}.dash-lesson-count b{font-size:var(--fs-subtitle)}.dash-lesson-meter{grid-column:2}.dash-lesson-meter .ui-meter{justify-content:flex-start}.dash-mcs{grid-template-columns:1fr}.dash-mc:last-child:nth-child(odd){grid-column:auto}.dash-mc{gap:var(--s-4);padding:var(--s-3)}.dash-mc-board{flex-basis:96px;width:96px;padding:6px}}.openings{gap:var(--s-2);flex-direction:column;display:flex}.opening{align-items:center;gap:var(--s-5);padding:var(--s-4) var(--s-5);border:1px solid var(--border-strong);border-radius:var(--r-lg);background:var(--surface);color:inherit;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) 4.5em minmax(0,140px);text-decoration:none;display:grid}a.opening{transition:transform var(--dur-2) var(--ease), box-shadow var(--dur-2) var(--ease), border-color var(--dur-2) var(--ease)}a.opening:hover{border-color:var(--text)}.opening-main{flex-direction:column;gap:2px;min-width:0;display:flex}.opening-name{font-size:var(--fs-subtitle);font-weight:var(--fw-subtitle);letter-spacing:var(--ls-subtitle);overflow-wrap:anywhere}.opening-facts{font-size:var(--fs-caption);line-height:var(--lh-caption);color:var(--muted);text-wrap:pretty}.opening-score{font-size:var(--fs-subtitle);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;font-weight:600}.scale{height:var(--bar-h-lg);border-radius:var(--r-pill);background:var(--panel-2);position:relative}.scale>i{display:block;position:absolute;top:0;bottom:0}.scale-mid{background:var(--border-strong);width:1px;left:50%}.scale-ref{background:var(--muted);opacity:.7;width:1px}.scale-fill{border-radius:var(--r-pill)}.scale-fill[data-tone=bad]{background:var(--bad)}.scale-fill[data-tone=good]{background:var(--good)}.scale-fill[data-tone=neutral]{background:var(--muted);opacity:.6}.opening-prog{min-width:0}.opening-prog .ui-meter{justify-content:flex-end}.opening-go{text-align:right;font-size:var(--fs-caption);color:var(--muted);display:block}a.opening:hover .opening-go{color:var(--text)}@media (max-width:860px){.opening{gap:var(--s-2) var(--s-3);padding:var(--s-3) var(--s-4);grid-template-columns:minmax(0,1fr) 4.5em}.scale,.opening-prog{grid-column:1/-1}.opening-prog .ui-meter{justify-content:flex-start}}.dash .ui-stat{padding:var(--s-5);border-radius:var(--r-lg);background:var(--surface);gap:var(--s-2)}.dash .ui-stat-value{font-size:calc(var(--fs-metric) * 1.45);font-weight:600}.dash .ui-stat-label{font-weight:500}.dash .ui-stat-value.ui-tone-good:after,.dash .ui-stat-value.ui-tone-bad:after{content:"";width:var(--s-6);height:3px;margin-top:var(--s-2);border-radius:var(--r-pill);background:currentColor;display:block}.rates{gap:var(--s-2);flex-direction:column;display:flex}.rate{align-items:center;gap:var(--s-3);font-size:var(--fs-caption);grid-template-columns:minmax(64px,auto) 1fr auto;display:grid}.rate-label{color:var(--muted);overflow-wrap:anywhere}.rate[data-on="1"] .rate-label{color:var(--text);font-weight:600}.rate-num{font-variant-numeric:tabular-nums}.sound-toggle{width:var(--control-h-sm);height:var(--control-h-sm);border-radius:var(--r-sm);color:var(--muted);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:inline-grid}.sound-toggle:hover{color:var(--text);background:var(--panel)}.sound-toggle:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.sound-toggle svg{width:18px;height:18px}.lesson-side{align-items:center;gap:var(--s-2);flex:none;display:flex}.runner-top .sound-toggle{flex:none}.read-check{background:var(--text);width:56px;height:56px;color:var(--on-ink);border-radius:50%;place-items:center;margin:0 auto;font-size:30px;line-height:1;display:grid}.site-side{align-items:center;gap:var(--s-3);flex:none;display:flex}.streak-pill{align-items:center;gap:var(--s-1);font-size:var(--fs-caption);font-variant-numeric:tabular-nums;color:var(--text);font-weight:600;display:inline-flex}.streak-pill svg{width:16px;height:16px}.streak-pill[data-lit="1"]{color:var(--text);font-weight:700}.streak-pill[data-lit="1"] svg{fill:currentColor}.streak-card{align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-4);margin-top:var(--s-4);border:1px solid var(--border);border-radius:var(--r);background:var(--panel);font-size:var(--fs-body-sm);line-height:var(--lh-body-sm);color:var(--muted);display:flex}.streak-card b{color:var(--text)}.streak-card-flame{color:var(--border-strong);flex:none;place-items:center;display:grid}.streak-card-flame svg{width:22px;height:22px}.streak-card[data-lit="1"] .streak-card-flame{color:var(--text)}.streak-card[data-lit="1"] .streak-card-flame svg{fill:currentColor}.course-banner{--cb-ink:var(--text);--cb-paper:var(--on-ink);align-items:center;gap:var(--s-3) var(--s-4);margin:0 auto var(--s-5);max-width:var(--page-wide);padding:var(--s-3) var(--s-3) var(--s-3) var(--s-5);border-radius:var(--r-lg);background:var(--cb-ink);color:var(--cb-paper);font-size:var(--fs-body-sm);line-height:var(--lh-body-sm);flex-wrap:wrap;display:flex;position:relative}.course-banner-line{min-width:0;color:color-mix(in srgb, var(--cb-paper) 80%, transparent);text-wrap:pretty;flex:18rem;margin:0}.course-banner-name{display:none}.course-banner-line b{color:var(--cb-paper);font-weight:700}.course-banner-cta{align-items:center;gap:var(--s-2);min-height:var(--control-h);padding:0 var(--s-5);border-radius:var(--r-pill);background:var(--cb-paper);color:var(--cb-ink);white-space:nowrap;transition:background var(--dur-2) var(--ease);flex:none;font-weight:700;text-decoration:none;display:inline-flex}.course-banner-cta:hover{background:#fff}.course-banner-cta:focus-visible,.course-banner-close:focus-visible{outline:2px solid var(--cb-paper);outline-offset:2px}.course-banner-close{width:32px;height:32px;color:color-mix(in srgb, var(--cb-paper) 72%, transparent);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;place-items:center;font-size:20px;line-height:1;display:grid}.course-banner-close:hover{background:color-mix(in srgb, var(--cb-paper) 12%, transparent);color:var(--cb-paper)}@media (max-width:640px){.course-banner{z-index:19;gap:var(--s-2);margin:calc(var(--s-5) * -1) calc(var(--page-gutter) * -1) var(--s-4);padding:var(--s-2) var(--s-2) var(--s-2) var(--page-gutter);font-size:var(--fs-caption);line-height:var(--lh-caption);border-radius:0;flex-wrap:nowrap;position:sticky;top:0}.course-banner-line{flex:auto}.course-banner[data-variant=demo] .course-banner-context{display:none}.course-banner[data-variant=demo] .course-banner-name{display:inline}.course-banner-line b{font-size:var(--fs-body-sm)}.course-banner-cta{min-height:36px;padding:0 var(--s-3);font-size:var(--fs-caption)}.course-banner-close{width:28px;height:28px;font-size:18px}}@media (prefers-reduced-motion:reduce){.course-banner-cta{transition:none}}.lesson-progress{align-items:center;gap:var(--s-3);display:flex}.lesson-progress .ui-bar{flex:1}.lesson-progress .lesson-count{font-size:var(--fs-caption);color:var(--muted);font-variant-numeric:tabular-nums;flex:none}.lesson-nav .lesson-retry{flex:1}.debrief-step{gap:var(--s-2);padding:var(--s-3) var(--s-4);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--panel);flex-direction:column;display:flex}.debrief-step[data-tone=good]{background:var(--surface);border-color:var(--border-strong)}.debrief-step[data-tone=bad]{background:color-mix(in srgb, var(--bad) 6%, var(--panel))}.debrief-step[data-tone=bad] .debrief-tag{color:var(--bad)}.debrief-step[data-tone=good] .debrief-tag{color:var(--good)}.debrief-step[data-tone=neutral] .debrief-tag{color:var(--muted)}.debrief-step-top{justify-content:space-between;align-items:center;gap:var(--s-2);display:flex}.debrief-step .debrief-head{margin:0}.debrief-step .debrief-time{font-size:var(--fs-caption);line-height:var(--lh-caption);margin:0}.debrief-dots{gap:6px;display:inline-flex}.debrief-dots button{background:var(--border-strong);cursor:pointer;border:0;border-radius:50%;width:8px;height:8px;padding:0}.debrief-dots button[data-on="1"]{background:var(--text);border-radius:4px;width:18px}.debrief-more,.debrief-replay{font:inherit;font-size:var(--fs-body-sm);color:var(--muted);text-underline-offset:2px;cursor:pointer;background:0 0;border:0;align-self:flex-start;padding:0;text-decoration:underline}.debrief-replay{text-decoration:none}.debrief-replay[data-active="1"]{color:var(--text)}.debrief-step-nav{justify-content:space-between;align-items:center;gap:var(--s-2);margin-top:var(--s-1);display:flex}@media (max-width:860px){.lesson[data-done="1"]{grid-template-areas:"top""head""explain""board""progress""all""nav"}.lesson[data-done="1"] .lesson-prompt{display:none}.lesson[data-done="1"] .lesson-explain{margin:var(--s-3) 0 var(--s-3);padding-bottom:0}.lesson-context{font-size:var(--fs-caption);line-height:var(--lh-caption)}.lesson .clock{padding:2px var(--s-1);min-height:0}.lesson-board{gap:var(--s-1)}}.debrief-links{gap:var(--s-3);flex-wrap:wrap;align-items:center;display:inline-flex}@media (max-width:860px){.debrief-foot{justify-content:flex-start;gap:var(--s-3)}.debrief-foot .ui-btn{min-height:0;font-size:var(--fs-caption);color:var(--muted);text-underline-offset:2px;background:0 0;padding:0;text-decoration:underline}.lesson[data-done="1"] .lesson-explain .debrief{gap:var(--s-2)}.site-header[data-course="1"]{position:relative;transform:none}}.runner-progress{margin-top:var(--s-2)}.runner-top{justify-content:space-between}
*,:before,:after{box-sizing:border-box}body{background:var(--bg);font-size:var(--fs-body);line-height:var(--lh-body);flex-direction:column;min-height:100dvh;margin:0;display:flex}:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:var(--r-xs)}main{width:100%;max-width:var(--page-max);padding:var(--s-5) var(--page-gutter) var(--s-8);flex:1;margin:0 auto}main[data-width=narrow]{max-width:var(--page-narrow)}main[data-width=form]{gap:var(--s-3);flex-direction:column;max-width:340px;padding-top:12vh;display:flex}@media (max-width:860px){main{padding-bottom:var(--s-9)}}h1,h2,h3{font-weight:var(--fw-title);margin:0}p{text-wrap:pretty;margin:0}a{color:inherit;-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong);text-underline-offset:3px}a:hover{text-decoration-color:currentColor}b,strong{font-weight:600}small{font-size:var(--fs-caption);line-height:var(--lh-caption)}button{font:inherit}img,svg{max-width:100%;display:block}
