@layer tokens{@property --ring-progress{syntax:"<number>";inherits:true;initial-value:0}@property --ring-from{syntax:"<number>";inherits:true;initial-value:0}@property --ring-gain{syntax:"<number>";inherits:true;initial-value:0}@property --sweep-x{syntax:"<percentage>";inherits:false;initial-value:-130%}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--ground:var(--lightningcss-light,oklch(98.4% .003 75))var(--lightningcss-dark,oklch(13.5% .004 75));--surface:var(--lightningcss-light,oklch(100% 0 0))var(--lightningcss-dark,oklch(16.8% .005 75));--raised:var(--lightningcss-light,oklch(99.2% .002 75))var(--lightningcss-dark,oklch(20.5% .006 75));--sunken:var(--lightningcss-light,oklch(96.5% .004 75))var(--lightningcss-dark,oklch(11.5% .004 75));--line:var(--lightningcss-light,oklch(89% .006 75))var(--lightningcss-dark,oklch(100% 0 0/.08));--line-firm:var(--lightningcss-light,oklch(82% .008 75))var(--lightningcss-dark,oklch(100% 0 0/.15));--line-hair:var(--lightningcss-light,oklch(93.5% .005 75))var(--lightningcss-dark,oklch(100% 0 0/.05));--fg:var(--lightningcss-light,oklch(22% .012 75))var(--lightningcss-dark,oklch(96% .003 75));--fg-mid:var(--lightningcss-light,oklch(40% .013 75))var(--lightningcss-dark,oklch(74% .01 75));--fg-dim:var(--lightningcss-light,oklch(45% .014 75))var(--lightningcss-dark,oklch(64% .012 75));--accent:oklch(80% .155 78);--accent-ink:oklch(15% .02 75);--accent-fg:var(--lightningcss-light,oklch(52% .13 62))var(--lightningcss-dark,oklch(80% .155 78));--accent-quiet:color-mix(in oklab, var(--accent) 12%, transparent);--competence:var(--lightningcss-light,oklch(52% .13 62))var(--lightningcss-dark,oklch(80% .155 78));--breadth:var(--lightningcss-light,oklch(50% .11 168))var(--lightningcss-dark,oklch(79% .14 168));--consistency:var(--lightningcss-light,oklch(52% .16 25))var(--lightningcss-dark,oklch(72% .17 25));--competence-track:color-mix(in oklab, var(--competence) 30%, transparent);--breadth-track:color-mix(in oklab, var(--breadth) 30%, transparent);--consistency-track:color-mix(in oklab, var(--consistency) 30%, transparent);--kind-stalled:var(--consistency);--kind-struggling:var(--competence);--kind-notable:var(--breadth);--kind-narrow:var(--lightningcss-light,oklch(45% .17 262))var(--lightningcss-dark,oklch(74% .14 262));--kind-returning:var(--fg-mid);--font-sans:"Inter Variable", ui-sans-serif, -apple-system, "Segoe UI", system-ui, sans-serif;--font-mono:"JetBrains Mono Variable", ui-monospace, "Cascadia Mono", "SF Mono", monospace;--font-label:var(--font-sans);--text-display:1.75rem;--text-2xl:1.5rem;--text-xl:1.3125rem;--text-lg:1.0625rem;--text-base:.9375rem;--text-sm:.8125rem;--text-xs:.8125rem;--text-2xs:.6875rem;--text-3xs:.6875rem;--lh-tight:1.12;--lh-snug:1.3;--lh-body:1.5;--track-display:-.028em;--track-title:-.02em;--track-body:-.006em;--track-kicker:.13em;--s1:.25rem;--s2:.5rem;--s3:.75rem;--s4:1rem;--s5:1.25rem;--s6:1.5rem;--s8:2rem;--s10:2.5rem;--s12:3rem;--s16:4rem;--r-xs:4px;--r-sm:6px;--r-md:8px;--r-lg:10px;--r-xl:13px;--r-full:999px;--scrim:oklch(0% 0 0/.42);--col:45rem;--col-wide:84rem;--bar-h:3.5rem;--dur-state:.12s;--dur-move:.18s;--dur-enter:.28s;--ease-out:cubic-bezier(.2, 0, 0, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--shadow-raised:var(--lightningcss-light,0 1px 2px oklch(20% .01 75/.06))var(--lightningcss-dark,0 4px 12px -6px oklch(20% .01 75/.1), 0 1px 0 0 oklch(100% 0 0/.04) inset, 0 8px 24px -14px oklch(0% 0 0/.8));--shadow-float:var(--lightningcss-light,0 2px 4px oklch(20% .01 75/.06))var(--lightningcss-dark,0 12px 32px -12px oklch(20% .01 75/.16), 0 1px 0 0 oklch(100% 0 0/.06) inset, 0 18px 44px -18px oklch(0% 0 0/.9));--focus:var(--lightningcss-light,oklch(45% .17 250))var(--lightningcss-dark,oklch(72% .16 250))}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-contrast:more){:root{--line:var(--lightningcss-light,oklch(72% .01 75))var(--lightningcss-dark,oklch(100% 0 0/.24));--line-firm:var(--lightningcss-light,oklch(58% .012 75))var(--lightningcss-dark,oklch(100% 0 0/.4));--line-hair:var(--lightningcss-light,oklch(82% .008 75))var(--lightningcss-dark,oklch(100% 0 0/.14));--fg-dim:var(--lightningcss-light,oklch(38% .014 75))var(--lightningcss-dark,oklch(72% .01 75))}}}@layer base{@font-face{font-family:Inter Variable;font-style:normal;font-weight:100 900;font-display:block;src:url(/assets/inter-latin-opsz-normal-BwkfbSeq.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:JetBrains Mono Variable;font-style:normal;font-weight:100 800;font-display:block;src:url(/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.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}*,:before,:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;view-transition-name:none}body{background:var(--ground);min-height:100dvh;color:var(--fg);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--lh-body);letter-spacing:var(--track-body);font-optical-sizing:auto;font-feature-settings:"cv01", "ss03";-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}h1,h2,h3,h4{font-weight:620;line-height:var(--lh-tight);letter-spacing:var(--track-title);text-wrap:balance}p{text-wrap:pretty;max-width:68ch}button,input,select,textarea{font:inherit;letter-spacing:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none;padding:0}a{color:inherit;-webkit-text-decoration-color:color-mix(in oklab, currentColor 35%, transparent);text-decoration-color:color-mix(in oklab, currentColor 35%, transparent);text-underline-offset:.2em}svg{display:block}img{max-width:100%;display:block}:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:var(--r-xs)}::selection{background:color-mix(in oklab, var(--accent) 30%, transparent)}.mono,.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-feature-settings:normal}.mono{font-size:var(--text-2xs);letter-spacing:.01em}.kicker{font-family:var(--font-label);font-size:var(--text-3xs);letter-spacing:var(--track-kicker);text-transform:uppercase;color:var(--fg-dim);font-weight:600}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.skip{left:var(--s4);top:var(--s2);z-index:100;padding:var(--s2) var(--s3);border-radius:var(--r-md);background:var(--accent);color:var(--accent-ink);font-weight:620;font-size:var(--text-sm);transition:transform var(--dur-move) var(--ease-out);position:absolute;transform:translateY(-200%)}.skip:focus-visible{transform:none}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}::view-transition{pointer-events:none}::view-transition-group(*){pointer-events:none}::view-transition-image-pair(*){pointer-events:none}::view-transition-old(*){pointer-events:none}::view-transition-new(*){pointer-events:none}::view-transition-old(screen){animation-duration:var(--dur-move);animation-timing-function:var(--ease-out)}::view-transition-new(screen){animation-duration:var(--dur-move);animation-timing-function:var(--ease-out)}::view-transition-group(active-tab){animation-duration:var(--dur-move);animation-timing-function:var(--ease-out)}::view-transition-group(activity-launch){animation-duration:.42s;animation-timing-function:var(--ease-out)}html[data-transition=activity-launch] ::view-transition-old(screen){animation-duration:var(--dur-enter)}html[data-transition=activity-launch] ::view-transition-new(screen){animation-duration:var(--dur-enter)}html[data-transition=activity-launch] ::view-transition-old(screen){animation-name:activity-screen-out}html[data-transition=activity-launch] ::view-transition-new(screen){animation-name:activity-screen-in}@keyframes activity-screen-out{to{opacity:0}}@keyframes activity-screen-in{0%{opacity:0}}::view-transition-old(screen){animation-name:vt-out}::view-transition-new(screen){animation-name:vt-in}@keyframes vt-out{to{opacity:0;transform:translateY(-4px)}}@keyframes vt-in{0%{opacity:0;transform:translateY(6px)}}@media (prefers-reduced-motion:reduce){::view-transition-old(screen){animation:none}::view-transition-new(screen){animation:none}::view-transition-group(active-tab){animation:none}::view-transition-group(activity-launch){animation:none}}}@layer primitives{.app{isolation:isolate;background:var(--ground);grid-template-rows:auto 1fr;min-height:100dvh;display:grid;position:relative}.app[data-role=learner]:before{content:"";z-index:0;inset:var(--bar-h) 0 auto;pointer-events:none;background-image:radial-gradient(circle, color-mix(in oklab, var(--fg) 13%, transparent) .7px, transparent .9px), linear-gradient(90deg, transparent, color-mix(in oklab, var(--accent) 4%, transparent), transparent);height:min(34rem,62vh);opacity:var(--lightningcss-light,.5)var(--lightningcss-dark,.36);background-size:24px 24px,100% 100%;position:fixed;-webkit-mask-image:linear-gradient(#000 0%,#0000 88%);mask-image:linear-gradient(#000 0%,#0000 88%)}.app[data-route=play]:before{opacity:var(--lightningcss-light,.28)var(--lightningcss-dark,.2)}.col{width:100%;max-width:var(--col);padding-inline:var(--s5);margin-inline:auto}.col-wide{width:100%;max-width:var(--col-wide);padding-inline:var(--s5);margin-inline:auto}@media (width<30rem){.col,.col-wide{padding-inline:var(--s4)}}.bar{z-index:30;height:var(--bar-h);align-items:center;gap:var(--s4);padding-inline:var(--s5);background:color-mix(in oklab, var(--ground) 88%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid #0000;animation:linear both bar-settle;animation-timeline:scroll();animation-range:0 4rem;display:flex;position:sticky;top:0}@keyframes bar-settle{to{border-bottom-color:var(--line);background:color-mix(in oklab, var(--ground) 96%, transparent)}}@supports not (animation-timeline:scroll()){.bar{border-bottom-color:var(--line);animation:none}}.bar-mark{align-items:center;gap:var(--s2);font-weight:640;font-size:var(--text-sm);letter-spacing:-.01em;white-space:nowrap;text-decoration:none;display:flex}.bar-glyph{flex:none;width:1.125rem;height:1.125rem}.bar-spacer{flex:1;min-width:0}.bar-week{font-family:var(--font-label);font-size:var(--text-3xs);letter-spacing:.08em;text-transform:uppercase;color:var(--fg-dim);white-space:nowrap;font-weight:600}.meters{border:1px solid var(--line);border-radius:var(--r-md);background:var(--sunken);align-items:center;gap:1px;padding:3px;display:flex}.meter{align-items:center;gap:var(--s2);padding:var(--s1) var(--s2);border-radius:var(--r-xs);color:var(--fg-mid);transition:background var(--dur-state) var(--ease-out);display:flex}.meter:hover{background:color-mix(in oklab, var(--fg) 6%, transparent)}.meter[data-updated=true]{animation:meter-signal .9s var(--ease-out) both}@keyframes meter-signal{0%{background:color-mix(in oklab, var(--meter-hue) 20%, transparent);box-shadow:0 0 0 0 color-mix(in oklab, var(--meter-hue) 35%, transparent)}60%{box-shadow:0 0 0 4px #0000}to{box-shadow:none;background:0 0}}.meter-value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--text-3xs);letter-spacing:.01em;white-space:nowrap;color:var(--meter-hue,var(--fg-mid));font-weight:600}.meter-sep{width:1px;margin-block:var(--s1);background:var(--line);align-self:stretch}@media (width<40rem){.meter-value{display:none}.meter{padding-inline:var(--s1);justify-content:center;min-block-size:2.75rem;min-inline-size:2.5rem}}@media (width<52rem){.bar:has(.tabs){height:auto;padding-block:var(--s2);row-gap:var(--s2);flex-wrap:wrap}.bar .tabs{order:10;width:100%}.bar .tab{text-align:center;flex:1}.bar:has(.tabs) .bar-week{order:5}}@media (width<30rem){.bar:has(.tabs) .bar-week{display:none}}.ring{display:block;overflow:visible}.ring-track{fill:none;stroke:var(--ring-track);stroke-width:var(--ring-weight)}.ring-ticks{fill:none;stroke:var(--ring-hue);stroke-width:calc(var(--ring-weight) * .2);stroke-linecap:round;stroke-dasharray:var(--ring-tick-length) var(--ring-tick-gap);opacity:0;transform-origin:50%;transition:opacity var(--dur-state) var(--ease-out), transform var(--dur-move) var(--ease-out);transform:rotate(-90deg)scale(.96)}.ring[data-empty=true] .ring-track{stroke:color-mix(in oklab, var(--ring-hue) 45%, transparent);stroke-width:calc(var(--ring-weight) * .34);stroke-dasharray:1.5 5;stroke-linecap:round}.ring-arc{fill:none;stroke:var(--ring-hue);stroke-width:var(--ring-weight);stroke-linecap:round;stroke-dasharray:var(--ring-circumference);stroke-dashoffset:calc(var(--ring-circumference) * (1 - var(--ring-progress)));transform-origin:50%;transition:--ring-progress var(--dur-enter) var(--ease-out);transform:rotate(-90deg)}.ring[data-split=true] .ring-arc{opacity:.45;transition:none}.ring-gain{fill:none;stroke:var(--ring-hue);stroke-width:var(--ring-weight);stroke-linecap:round;stroke-dasharray:calc(var(--ring-circumference) * var(--ring-gain)) var(--ring-circumference);stroke-dashoffset:calc(-1 * var(--ring-circumference) * var(--ring-from));transform-origin:50%;filter:drop-shadow(0 0 6px color-mix(in oklab, var(--ring-hue) 55%, transparent));transition:--ring-gain .9s var(--ease-out);transform:rotate(-90deg)}.ring-end{fill:var(--ring-hue);opacity:0;transform-box:fill-box;transform-origin:50%;filter:drop-shadow(0 0 4px color-mix(in oklab, var(--ring-hue) 58%, transparent));transition:opacity var(--dur-state) var(--ease-out), transform var(--dur-move) var(--ease-out);transform:scale(.45)}.ring-stack:is(:hover,:focus-visible) .ring-ticks{opacity:.5;transform:rotate(-90deg)scale(1)}.ring-stack:is(:hover,:focus-visible) .ring-end[data-visible=true],.meter[data-updated=true] .ring-end[data-visible=true]{opacity:1;transform:scale(1)}.meter .ring-ticks,.reveal .ring-ticks,.reveal .ring-end{display:none}.ring-over{fill:none;stroke:var(--ring-hue);stroke-width:1.5px;opacity:.5}.ring-stack{align-items:center;gap:var(--s1);padding:var(--s2);border-radius:var(--r-lg);text-align:center;flex-direction:column;margin:0;display:flex;position:relative}.ring-stack[data-has-help=true]{cursor:help}.ring-stack[data-has-help=true]:hover,.ring-stack[data-has-help=true]:focus-visible{z-index:4}.ring-stack .ring-label{font-family:var(--font-label);font-size:var(--text-3xs);letter-spacing:.1em;text-transform:uppercase;color:var(--fg-dim);margin-top:var(--s2);font-weight:600}.ring-stack[data-has-help=true] .ring-label:after{content:"?";width:.875rem;height:.875rem;margin-left:var(--s1);border:1px solid var(--line-firm);border-radius:var(--r-full);letter-spacing:0;color:var(--fg-dim);vertical-align:.08em;place-items:center;font-size:.625rem;display:inline-grid}.ring-stack .ring-sub{font-size:var(--text-xs);color:var(--fg-mid);letter-spacing:-.004em}.ring-help{--ring-help-x:-50%;z-index:10;top:calc(100% + var(--s2));width:min(15rem, calc(100vw - var(--s8)));padding:var(--s3);border:1px solid var(--line-firm);border-radius:var(--r-md);background:var(--raised);box-shadow:var(--shadow-float);color:var(--fg-mid);font-size:var(--text-xs);text-align:left;opacity:0;visibility:hidden;pointer-events:none;transform:translate(var(--ring-help-x), -4px);transition:opacity var(--dur-state) var(--ease-out), transform var(--dur-state) var(--ease-out), visibility 0s linear var(--dur-state);line-height:1.45;position:absolute;left:50%}.ring-stack:hover .ring-help,.ring-stack:focus-visible .ring-help{opacity:1;visibility:visible;transform:translate(var(--ring-help-x), 0);transition-delay:0s}.ring-row{gap:var(--s2);padding-block:var(--s2) var(--s1);grid-template-columns:repeat(3,1fr);display:grid}.ring-row .ring-stack+.ring-stack{border-left:1px solid var(--line-hair)}@media (width<34rem){.ring-row .ring-stack:first-child .ring-help{--ring-help-x:0;left:0}.ring-row .ring-stack:last-child .ring-help{--ring-help-x:0;left:auto;right:0}}.panel{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface)}.card-lead{padding:var(--s6);border:1px solid var(--line-firm);border-radius:var(--r-lg);background:radial-gradient(120% 140% at 0% 0%, var(--accent-quiet), transparent 55%), var(--surface);box-shadow:var(--shadow-raised);position:relative;overflow:hidden}.lead-trace{z-index:2;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.lead-trace rect{fill:none;stroke:var(--accent);stroke-width:1px;vector-effect:non-scaling-stroke;stroke-dasharray:.13 1;stroke-dashoffset:1px;opacity:0;animation:lead-circuit .98s var(--ease-out) .12s both}@keyframes lead-circuit{0%{opacity:0;stroke-dashoffset:1px}18%{opacity:.82}76%{opacity:.82}to{opacity:0;stroke-dashoffset:0}}.rule{background:var(--line);border:0;height:1px}.section{padding-block:var(--s6) var(--s5);border-top:1px solid var(--line)}.section:first-of-type{padding-top:var(--s8);border-top:0}.section-head{align-items:baseline;gap:var(--s2) var(--s3);margin-bottom:var(--s4);flex-wrap:wrap;display:flex}.section-head .kicker{flex:none}.section-note{font-size:var(--text-xs);color:var(--fg-dim);text-align:right;min-width:12rem;margin-left:auto}@media (width<34rem){.section-note{text-align:left;min-width:100%;margin-left:0}}.btn{justify-content:center;align-items:center;gap:var(--s2);height:2.25rem;padding-inline:var(--s4);border-radius:var(--r-md);font-size:var(--text-sm);letter-spacing:-.006em;white-space:nowrap;transition:background var(--dur-state) var(--ease-out), border-color var(--dur-state) var(--ease-out), color var(--dur-state) var(--ease-out), transform var(--dur-state) var(--ease-out);border:1px solid #0000;font-weight:600;display:inline-flex}.btn:active:not(:disabled){transform:translateY(.5px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);box-shadow:var(--shadow-raised)}.btn-primary:hover:not(:disabled){background:color-mix(in oklab, var(--accent) 88%, white)}.btn-quiet{color:var(--fg-mid);border-color:var(--line-firm);background:0 0}.btn-quiet:hover:not(:disabled){color:var(--fg);background:color-mix(in oklab, var(--fg) 5%, transparent)}.btn-bare{height:auto;padding:var(--s1) var(--s2);color:var(--fg-dim);font-weight:550}.btn-bare:hover:not(:disabled){color:var(--fg)}.btn-sm{height:1.875rem;padding-inline:var(--s3);font-size:var(--text-xs)}.btn-row{gap:var(--s2);margin-top:var(--s5);flex-wrap:wrap;display:flex}.chip{align-items:center;gap:var(--s1);padding:var(--s1) var(--s2);border:1px solid var(--line);border-radius:var(--r-sm);background:var(--sunken);font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--text-2xs);color:var(--fg-mid);white-space:nowrap;font-weight:500;display:inline-flex}.chip-hot{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:640}.chip-row{gap:var(--s2);margin-top:var(--s4);flex-wrap:wrap;display:flex}.tag{padding:var(--s1) var(--s2);border-radius:var(--r-xs);border:1px solid color-mix(in oklab, var(--tag-hue) 42%, transparent);background:color-mix(in oklab, var(--tag-hue) 16%, transparent);color:var(--lightningcss-light,color-mix(in oklab, var(--tag-hue) 60%, black))var(--lightningcss-dark,var(--tag-hue));font-family:var(--font-mono);font-size:var(--text-3xs);letter-spacing:.09em;text-transform:uppercase;white-space:nowrap;font-weight:600;display:inline-block}.avatar{border-radius:var(--r-full);border:1px solid var(--line-firm);background:linear-gradient(150deg, var(--raised), var(--sunken));width:1.625rem;height:1.625rem;font-family:var(--font-label);font-size:var(--text-3xs);color:var(--fg-mid);letter-spacing:.02em;flex:none;place-items:center;font-weight:600;display:grid}.avatar-lg{width:2.5rem;height:2.5rem;font-size:var(--text-xs)}.tabs{border:1px solid var(--line);border-radius:var(--r-md);background:var(--sunken);gap:2px;padding:3px;display:flex}.tab{padding:var(--s1) var(--s3);border-radius:var(--r-sm);font-size:var(--text-xs);color:var(--fg-mid);white-space:nowrap;transition:background var(--dur-state) var(--ease-out), color var(--dur-state) var(--ease-out);font-weight:550}.tab:hover{color:var(--fg)}.tab[aria-selected=true]{view-transition-name:active-tab;background:var(--raised);color:var(--fg);box-shadow:var(--shadow-raised);font-weight:620}.field{align-items:center;gap:var(--s2);font-size:var(--text-xs);color:var(--fg-dim);display:inline-flex}.select,.input{height:1.875rem;padding-inline:var(--s2);border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);color:var(--fg);font-size:var(--text-xs);transition:border-color var(--dur-state) var(--ease-out)}.select:hover,.input:hover{border-color:var(--line-firm)}.input-num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;field-sizing:content;width:4rem;min-width:3rem}.icon-btn{border-radius:var(--r-sm);width:1.75rem;height:1.75rem;color:var(--fg-dim);transition:color var(--dur-state) var(--ease-out), background var(--dur-state) var(--ease-out);border:1px solid #0000;place-items:center;display:grid}@media (pointer:coarse){.icon-btn{width:2.75rem;height:2.75rem}}.icon-btn:hover{color:var(--fg);background:color-mix(in oklab, var(--fg) 6%, transparent)}.pop{padding:var(--s2);border:1px solid var(--line-firm);border-radius:var(--r-lg);background:var(--raised);box-shadow:var(--shadow-float);color:var(--fg);position-area:block-end span-inline-start;position-try-fallbacks:flip-block, flip-inline;margin:0;opacity:0;transition:opacity var(--dur-move) var(--ease-out), translate var(--dur-move) var(--ease-out), overlay var(--dur-move) allow-discrete, display var(--dur-move) allow-discrete;margin-block-start:var(--s2);position:absolute;inset:auto;translate:0 -4px}.pop:popover-open{opacity:1;translate:0}@starting-style{.pop:popover-open{opacity:0;translate:0 -4px}}.pop-item{align-items:center;gap:var(--s2);width:100%;padding:var(--s2) var(--s3);border-radius:var(--r-sm);font-size:var(--text-xs);color:var(--fg-mid);text-align:left;display:flex}.pop-item:hover,.pop-item:focus-visible{background:color-mix(in oklab, var(--fg) 7%, transparent);color:var(--fg)}@media (width<34rem){.pop{position-area:none;border-radius:var(--r-xl) var(--r-xl) 0 0;padding:var(--s3);border-bottom:0;margin:0;position:fixed;inset:auto 0 0;translate:0 8px}@starting-style{.pop:popover-open{translate:0 8px}}}.pop::backdrop{background:var(--scrim)}.bar-meter{align-items:center;gap:var(--s4);padding-block:var(--s2);border-bottom:1px solid var(--line-hair);grid-template-columns:minmax(9rem,22rem) minmax(4rem,1fr) 2.5rem;display:grid}.bar-meter:last-child{border-bottom:0}.bar-meter-name{font-size:var(--text-xs);color:var(--fg-mid);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@container (width<30rem){.bar-meter{gap:var(--s2) var(--s3);row-gap:var(--s1);grid-template-columns:minmax(0,1fr) 2.5rem}.bar-meter-track{grid-column:1/-1}}.bar-meter-track{border-radius:var(--r-full);background:color-mix(in oklab, var(--fg) 12%, transparent);height:5px;display:block;overflow:hidden}.bar-meter-fill{border-radius:var(--r-full);background:var(--breadth);min-width:2px;height:100%;display:block}.bar-meter-fill[data-low=true]{background:var(--consistency)}.bar-meter-count{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--text-2xs);color:var(--fg-dim);text-align:right}.state{align-items:flex-start;gap:var(--s3);padding:var(--s8) var(--s6);border:1px dashed var(--line-firm);border-radius:var(--r-lg);background:var(--sunken);flex-direction:column;display:flex}.state-title{font-size:var(--text-lg);letter-spacing:var(--track-title);font-weight:620}.state-body{font-size:var(--text-sm);color:var(--fg-mid);max-width:52ch}.state[data-tone=error]{border-style:solid;border-color:color-mix(in oklab, var(--consistency) 40%, transparent);background:color-mix(in oklab, var(--consistency) 7%, transparent)}.skeleton{border-radius:var(--r-sm);background:linear-gradient(100deg, color-mix(in oklab, var(--fg) 6%, transparent) 40%, color-mix(in oklab, var(--fg) 11%, transparent) 50%, color-mix(in oklab, var(--fg) 6%, transparent) 60%);animation:skeleton 1.4s var(--ease-in-out) infinite;background-size:300% 100%}@keyframes skeleton{to{background-position:-200% 0}}.notice{align-items:flex-start;gap:var(--s3);padding:var(--s3) var(--s4);border:1px solid color-mix(in oklab, var(--kind-narrow) 35%, transparent);border-radius:var(--r-md);background:color-mix(in oklab, var(--kind-narrow) 8%, transparent);font-size:var(--text-xs);color:var(--fg-mid);display:flex}.notice[data-tone=warn]{border-color:color-mix(in oklab, var(--accent) 35%, transparent);background:color-mix(in oklab, var(--accent) 8%, transparent)}.palette{width:min(34rem, calc(100vw - var(--s8)));border:1px solid var(--line-firm);border-radius:var(--r-xl);background:var(--raised);box-shadow:var(--shadow-float);color:var(--fg);margin:12vh auto auto;padding:0;overflow:hidden}.palette::backdrop{background:var(--scrim)}.palette-input{width:100%;height:3rem;padding-inline:var(--s5);border:0;border-bottom:1px solid var(--line);font-size:var(--text-lg);letter-spacing:-.01em;background:0 0;border-radius:0}.palette-input::placeholder{color:var(--fg-dim)}.palette-list{padding:var(--s2);max-height:22rem;margin:0;list-style:none;overflow-y:auto}.palette-item{align-items:center;gap:var(--s3);width:100%;padding:var(--s2) var(--s3);border-radius:var(--r-md);font-size:var(--text-sm);color:var(--fg-mid);text-align:left;display:flex}.palette-item[data-active=true]{background:color-mix(in oklab, var(--fg) 8%, transparent);color:var(--fg)}.palette-item .hint{font-family:var(--font-mono);font-size:var(--text-3xs);color:var(--fg-dim);margin-left:auto}.palette-empty{padding:var(--s6) var(--s5);font-size:var(--text-sm);color:var(--fg-dim)}.reveal{z-index:60;width:100%;max-width:none;height:100%;max-height:none;color:var(--fg);background:0 0;border:0;place-items:center;padding:0;display:grid;position:fixed;inset:0;overflow:hidden}.reveal::backdrop{background:var(--lightningcss-light,oklab(24% .00517638 .0193185/.72))var(--lightningcss-dark,color-mix(in oklab, var(--ground) 86%, transparent));-webkit-backdrop-filter:blur(16px)saturate(.9);backdrop-filter:blur(16px)saturate(.9)}.reveal-stage{width:min(30rem, calc(100vw - var(--s8)));height:min(26rem, calc(100dvh - var(--s16)));background:radial-gradient(90% 70% at 50% 108%, var(--accent-quiet), transparent 62%);place-items:center;display:grid;position:relative}.reveal-done{top:0;text-align:center;font-family:var(--font-mono);font-size:var(--text-3xs);letter-spacing:.16em;text-transform:uppercase;color:var(--fg-dim);font-weight:600;position:absolute;inset-inline:0}.reveal-skip{bottom:0;text-align:center;font-family:var(--font-mono);font-size:var(--text-3xs);letter-spacing:.06em;color:var(--fg-dim);opacity:.75;position:absolute;inset-inline:0}.reveal-beat{text-align:center;place-items:center;display:grid;position:absolute;inset:0}.reveal-b1{align-items:center;gap:var(--s4);transform-origin:50% 31%;transition:transform .62s var(--ease-out), opacity .2s var(--ease-out);flex-direction:column;display:flex}.reveal-b1[data-phase=travel],.reveal-b1[data-phase=two]{transform:translateY(var(--b1-travel,0px)) scale(var(--b1-scale,1));z-index:2}.reveal-b1-text{text-align:center;justify-content:center;gap:var(--s2);height:6.75rem;transition:opacity .22s var(--ease-out);flex-direction:column;display:flex}.reveal-competence{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.reveal-b1[data-phase=travel] .reveal-b1-text,.reveal-b1[data-phase=two] .reveal-b1-text{opacity:0}.reveal-b1[data-phase=two] .ring-gain{filter:none}.reveal-ring{--competence-track:color-mix(in oklab, var(--accent) 13%, transparent);place-items:center;display:grid;position:relative}.reveal-ring .ring-arc{transition-duration:.9s}.reveal-pulse-wrap{pointer-events:none;position:absolute;inset:0;overflow:visible}.reveal-pulse{fill:none;stroke:var(--accent);stroke-width:2px;transform-origin:50%;opacity:0;animation:pulse .9s var(--ease-out) .7s both}@keyframes pulse{0%{opacity:.55;transform:scale(1)}to{opacity:0;transform:scale(1.34)}}.reveal-competence{font-size:var(--text-lg);letter-spacing:-.012em;color:var(--accent-fg);text-wrap:balance;max-width:22ch;font-weight:620}.reveal-label{font-family:var(--font-mono);font-size:var(--text-3xs);letter-spacing:.14em;text-transform:uppercase;color:var(--fg-dim);font-weight:600}.reveal-b1 .reveal-competence{animation:b1-text .42s var(--ease-out) .82s both}.reveal-b1 .reveal-label{animation:b1-text .42s var(--ease-out) .9s both}@keyframes b1-text{0%{opacity:0;transform:translateY(9px)}}.reveal-card{width:17rem;padding:var(--s6) var(--s5) var(--s5);border:1px solid var(--line-firm);border-radius:var(--r-xl);background:linear-gradient(165deg, var(--raised), var(--surface));box-shadow:var(--lightningcss-light,0 2px 6px oklch(20% .01 75/.12))var(--lightningcss-dark,0 24px 56px -20px oklch(20% .01 75/.42), 0 1px 0 0 oklch(100% 0 0/.07) inset, 0 28px 64px -22px oklch(0% 0 0/.95));text-align:center;position:relative;overflow:hidden}.reveal-shine{pointer-events:none;background:linear-gradient(105deg, transparent 42%, color-mix(in oklab, var(--accent) 22%, transparent) 50%, transparent 58%);translate:var(--sweep-x) 0;animation:sweep .9s var(--ease-in-out) .26s both;position:absolute;inset:0}@keyframes sweep{to{--sweep-x:130%}}.reveal-slot{width:2.75rem;height:2.75rem;margin:0 auto var(--s4);border-radius:var(--r-full);border:1px solid color-mix(in oklab, var(--accent) 22%, transparent);background:color-mix(in oklab, var(--accent) 10%, transparent);color:var(--accent-fg);place-items:center;display:grid;position:relative}.reveal-slot[data-phase=two]:after{content:"";border:1px solid color-mix(in oklab, var(--accent) 62%, transparent);border-radius:inherit;opacity:0;pointer-events:none;animation:slot-signal .72s var(--ease-out) .36s both;position:absolute;inset:-.1rem}@keyframes slot-signal{0%{opacity:.68;transform:scale(.82)}to{opacity:0;transform:scale(1.55)}}.reveal-slot svg{opacity:0;transition:opacity .26s var(--ease-out) .42s, transform .26s var(--ease-out) .42s;transform:scale(.7)}.reveal-slot[data-phase=two] svg{opacity:1;transform:none}.reveal-prize{font-size:var(--text-xl);letter-spacing:var(--track-title);text-wrap:balance;font-weight:640}.reveal-prize-sub{margin-top:var(--s2);font-size:var(--text-xs);color:var(--fg-mid);text-wrap:pretty}@media (prefers-reduced-motion:reduce){.reveal-pulse,.reveal-shine,.reveal-slot:after{display:none}.reveal-b1{transition:none}.reveal-b1 .reveal-competence,.reveal-b1 .reveal-label{animation:none}.reveal-slot svg{opacity:1;transition:none;transform:none}}}@layer screens{.screen{z-index:1;padding-bottom:var(--s16);min-width:0;position:relative}@media (width>=75rem){.home{gap:0 var(--s10);grid-template-columns:minmax(0,42rem) minmax(15rem,20rem);align-items:start;max-width:68rem;display:grid}.home>[data-slot=next]{grid-area:1/1}.home>[data-slot=flow]{grid-area:2/1/span 2}.home>[data-slot=rings]{padding-top:var(--s8);border-top:0;grid-area:1/2/span 2}.home>[data-slot=band]{grid-area:3/2}.home>[data-slot=rings] .ring-row{gap:var(--s5);grid-template-columns:1fr}.home>[data-slot=rings] .ring-row .ring-stack+.ring-stack{border-left:0;border-top:1px solid var(--line-hair);padding-top:var(--s5)}}.screen-title{font-size:var(--text-xl);letter-spacing:var(--track-title);margin-bottom:var(--s2);font-weight:640}.screen-lead{font-size:var(--text-sm);color:var(--fg-mid);max-width:62ch}.link-quiet{font-size:var(--text-xs);color:var(--fg-dim);text-decoration:underline;-webkit-text-decoration-color:color-mix(in oklab, currentColor 30%, transparent);text-decoration-color:color-mix(in oklab, currentColor 30%, transparent);text-underline-offset:.2em}.link-quiet:hover{color:var(--fg)}.load-lead{gap:var(--s3);padding:var(--s6);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);flex-direction:column;display:flex}.bar-mark-role{padding-left:var(--s2);margin-left:var(--s1);border-left:1px solid var(--line-firm);color:var(--fg-dim);font-weight:550}.identity-btn{align-items:center;gap:var(--s1);padding:2px;padding-right:var(--s1);border-radius:var(--r-full);color:var(--fg-dim);transition:border-color var(--dur-state) var(--ease-out);border:1px solid #0000;display:flex}.identity-btn:hover{border-color:var(--line-firm)}.pop-identity:popover-open{gap:var(--s2);flex-direction:column;display:flex}.pop-identity{width:17rem;padding:var(--s3)}dialog:not([open]){display:none}[popover]:not(:popover-open){display:none}.pop-title{font-size:var(--text-sm);letter-spacing:-.01em;padding-inline:var(--s1);font-weight:620}.pop-field{justify-content:space-between;align-items:center;gap:var(--s2);padding-inline:var(--s1);font-size:var(--text-xs);color:var(--fg-mid);display:flex}.pop-field .select{max-width:9.5rem}.pop-note{padding-inline:var(--s1);font-size:var(--text-2xs);color:var(--fg-dim);line-height:1.5}@supports not (anchor-name:--probe){.pop{border-radius:var(--r-xl) var(--r-xl) 0 0;border-bottom:0;width:auto;margin:0;position:fixed;inset:auto 0 0}.pop-identity{width:auto}}.palette-search{align-items:center;gap:var(--s3);padding-left:var(--s5);border-bottom:1px solid var(--line);color:var(--fg-dim);display:flex}.palette-search .palette-input{border-bottom:0;padding-left:0}.palette-group{font-family:var(--font-label);font-size:var(--text-3xs);letter-spacing:.1em;text-transform:uppercase;color:var(--fg-dim);padding:var(--s3) var(--s3) var(--s1);font-weight:600}li:first-child>.palette-group{padding-top:var(--s1)}.palette-input:focus-visible{outline:none}.palette-list{scrollbar-width:thin;scrollbar-color:color-mix(in oklab, var(--fg) 22%, transparent) transparent;padding-bottom:var(--s2);overscroll-behavior:contain}.lead-title{font-size:var(--text-2xl);letter-spacing:-.024em;margin:var(--s3) 0 var(--s2);font-weight:660}.lead-blurb{font-size:var(--text-base);color:var(--fg-mid);max-width:54ch}.lead-note{margin-top:var(--s3);font-size:var(--text-xs);color:var(--fg-dim);max-width:54ch}.lead-why{margin-top:var(--s3);padding-left:var(--s3);border-left:2px solid var(--line);font-size:var(--text-sm);color:var(--fg-mid);text-wrap:pretty;max-width:54ch}.comp-list{gap:var(--s1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.comp{align-items:center;gap:var(--s3);padding:var(--s3);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);display:flex}.comp-tick{border-radius:var(--r-xs);border:1px solid color-mix(in oklab, var(--breadth) 38%, transparent);background:color-mix(in oklab, var(--breadth) 15%, transparent);width:1.125rem;height:1.125rem;color:var(--breadth);flex:none;place-items:center;display:grid}.comp-tick svg{width:11px;height:11px}.comp-tick-off{border:1px dashed var(--line-firm);background:0 0}.comp-name{font-size:var(--text-sm);letter-spacing:-.005em;min-width:0}.comp-where{font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--fg-dim);text-align:right;flex:none;margin-left:auto}.comp-pending{background:0 0;border-style:dashed}.comp-pending .comp-name{color:var(--fg-mid)}.band-line{border-top:1px solid var(--line);padding-block:var(--s6) var(--s8);font-size:var(--text-sm);color:var(--fg-mid)}.band-standing{color:var(--fg);font-weight:560}.band-note{margin-top:var(--s2);font-size:var(--text-xs);color:var(--fg-dim)}@media (width<34rem){.comp{flex-wrap:wrap}.comp-where{padding-left:calc(1.125rem + var(--s3));text-align:left;width:100%;margin-left:0}}.strip{gap:var(--s1);grid-template-columns:repeat(9,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.strip-tile{gap:var(--s1);width:100%;height:100%;padding:var(--s2);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);text-align:left;transition:border-color var(--dur-state) var(--ease-out), background var(--dur-state) var(--ease-out);flex-direction:column;display:flex}.strip-tile:hover{border-color:var(--line-firm)}.strip-tile[data-current=true]{border-color:color-mix(in oklab, var(--accent) 45%, transparent);background:color-mix(in oklab, var(--accent) 6%, var(--surface))}.strip-n{font-family:var(--font-mono);font-size:var(--text-3xs);color:var(--fg-dim);letter-spacing:.02em;font-weight:600}.strip-name{font-size:var(--text-2xs);color:var(--fg-mid);overflow-wrap:break-word;min-height:2.5em;line-height:1.25}.strip-pips{padding-top:var(--s1);gap:3px;margin-top:auto;display:flex}.strip-pip{border-radius:var(--r-full);background:color-mix(in oklab, var(--fg) 12%, transparent);flex:1;height:3px}.strip-pip[data-state=done]{background:var(--breadth)}.strip-pip[data-state=now]{background:var(--accent)}@media (width<48rem){.strip{grid-template-columns:repeat(3,minmax(0,1fr))}}.profile{max-width:68rem}.profile-rail,.profile-body{min-width:0}.profile-body>.section:first-child{border-top:1px solid var(--line)}.profile-intro .screen-lead{margin-bottom:var(--s4)}@media (width>=64rem){.profile{align-items:start;gap:var(--s10);grid-template-columns:minmax(15rem,18rem) minmax(0,1fr);display:grid}.profile-rail{top:calc(var(--bar-h) + var(--s4));position:sticky}.profile-body>.section:first-child{padding-top:var(--s8);border-top:0}.profile-intro .ring-row{padding-top:var(--s4);grid-template-columns:1fr;gap:0}.profile-intro .ring-stack{justify-content:center;min-height:9rem}.profile-intro .ring-stack+.ring-stack{padding-top:var(--s4);border-top:1px solid var(--line-hair);border-left:0}.profile-rail .ring-help{--ring-help-x:0;top:50%;right:auto;left:calc(100% + var(--s3));transform:translate(-4px,-50%)}.profile-rail .ring-stack:hover .ring-help,.profile-rail .ring-stack:focus-visible .ring-help{transform:translateY(-50%)}}.record-ledger{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:0;padding:0;list-style:none;display:grid;overflow:hidden}.record-ledger>li{background:var(--surface);min-width:0;position:relative}.record-ledger>li[data-new=true]{z-index:1;animation:record-afterglow 1.2s var(--ease-out) both}@keyframes record-afterglow{0%{box-shadow:inset 0 0 0 1px color-mix(in oklab, var(--competence) 82%, transparent), 0 0 0 0 color-mix(in oklab, var(--competence) 28%, transparent)}55%{box-shadow:inset 0 0 0 1px color-mix(in oklab, var(--competence) 45%, transparent), 0 0 0 5px transparent}to{box-shadow:inset 0 0 0 1px color-mix(in oklab, var(--competence) 24%, transparent)}}.record-ledger>li:last-child:nth-child(odd){grid-column:1/-1}.field{margin:0;padding:0;list-style:none}.field-cell{align-items:center;gap:var(--s2);width:100%;padding:var(--s2) var(--s3);border-radius:var(--r-md);text-align:left;transition:border-color var(--dur-state) var(--ease-out), background var(--dur-state) var(--ease-out), color var(--dur-state) var(--ease-out);border:1px solid #0000;grid-template-columns:auto minmax(0,1fr) auto;display:grid}.field-cell:hover{background:var(--sunken)}.field-cell[data-shown=true]{background:color-mix(in oklab, var(--competence) 8%, transparent)}.field-cell[data-shown=true]:hover{background:color-mix(in oklab, var(--competence) 13%, transparent)}.field-cell[data-selected=true]{border-color:var(--accent)}.field-tick{width:1rem;height:1rem;color:var(--accent-ink);background:var(--competence);border-radius:3px;flex:none;place-items:center;display:grid}.field-tick svg{stroke-width:2.5px;width:10px;height:10px}.field-cell[data-shown=false] .field-tick{visibility:hidden}.field-name{min-width:0;font-size:var(--text-xs);letter-spacing:-.004em;color:var(--fg-mid);line-height:1.4}.field-cell[data-shown=true] .field-name{color:var(--fg);font-weight:570}.field-status{font-family:var(--font-label);font-size:var(--text-3xs);letter-spacing:.06em;text-transform:uppercase;color:var(--fg-dim);white-space:nowrap}.field-cell[data-shown=true] .field-status{color:var(--accent-fg)}.record-cell.field-cell{min-height:6.25rem;padding:var(--s4);background:var(--surface);border:0;border-radius:0;grid-template-columns:auto minmax(0,1fr);align-content:center}.record-cell.field-cell:hover{background:color-mix(in oklab, var(--competence) 9%, var(--surface))}.record-cell.field-cell[data-selected=true]{box-shadow:inset 0 0 0 2px var(--accent)}.record-seal.field-tick{border-radius:var(--r-full);width:2rem;height:2rem;box-shadow:inset 0 0 0 4px color-mix(in oklab, var(--surface) 65%, transparent)}.record-seal.field-tick svg{width:13px;height:13px}.record-copy{gap:var(--s1);flex-direction:column;min-width:0;display:flex}.record-cell .field-name{font-size:var(--text-sm);color:var(--fg);font-weight:600}.record-source{font-size:var(--text-2xs);color:var(--fg-dim)}.record-flags{align-items:center;gap:var(--s2);grid-column:2;display:flex}.record-new,.record-status{font-family:var(--font-label);font-size:var(--text-3xs);letter-spacing:.08em;text-transform:uppercase;color:var(--accent-fg);font-weight:600}.record-new{padding:1px var(--s2);border:1px solid color-mix(in oklab, var(--competence) 42%, transparent);border-radius:var(--r-full);background:color-mix(in oklab, var(--competence) 12%, transparent)}.capability-intro{max-width:58ch;margin-bottom:var(--s4);color:var(--fg-mid);font-size:var(--text-sm)}.capability-map{border-block:1px solid var(--line)}.capability-group+.capability-group{border-top:1px solid var(--line-hair)}.capability-summary{align-items:center;gap:var(--s3);padding:var(--s4) var(--s2);cursor:pointer;transition:background var(--dur-state) var(--ease-out);grid-template-columns:2rem minmax(0,1fr) auto 1rem;list-style:none;display:grid;position:relative;overflow:hidden}.capability-summary::-webkit-details-marker{display:none}.capability-summary:hover,.capability-group[open]>.capability-summary{background:var(--sunken)}.capability-summary>svg{width:1rem;height:1rem;color:var(--fg-dim);transition:transform var(--dur-move) var(--ease-out)}.capability-group[open]>.capability-summary>svg{transform:rotate(180deg)}.capability-seal{border:1px solid var(--line-firm);border-radius:var(--r-full);width:2rem;height:2rem;color:var(--accent-ink);place-items:center;display:grid}.capability-seal>span{border-radius:var(--r-full);background:var(--line-firm);width:.35rem;height:.35rem}.capability-seal svg{stroke-width:2.5px;width:.875rem;height:.875rem}.capability-group[data-complete=true] .capability-seal{border-color:var(--competence);background:var(--competence)}.capability-copy{flex-direction:column;gap:2px;min-width:0;display:flex}.capability-title{color:var(--fg);font-size:var(--text-sm);font-weight:610}.capability-topic{color:var(--fg-dim);font-size:var(--text-2xs)}.capability-count{font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--fg-dim);white-space:nowrap}.capability-group[data-complete=true] .capability-count{color:var(--accent-fg)}.capability-rail{grid-column:2/4;align-self:end;gap:3px;display:flex}.capability-rail>span{border-radius:var(--r-full);background:color-mix(in oklab, var(--fg) 10%, transparent);transform-origin:0;flex:1;min-width:3px;height:3px}.capability-rail>span[data-shown=true]{background:var(--competence)}.capability-group[open] .capability-rail>span{animation:capability-pip .24s var(--ease-out) calc(var(--pip-index) * 24ms) backwards}@keyframes capability-pip{0%{opacity:.25;transform:scaleX(.2)}}.capability-group[data-new=true][open]>.capability-summary:after{content:"";pointer-events:none;background:linear-gradient(90deg, transparent, color-mix(in oklab, var(--competence) 14%, transparent), transparent);width:20%;animation:capability-scan .72s var(--ease-out) both;position:absolute;inset:0 auto 0 -25%}@keyframes capability-scan{to{transform:translate(650%)}}.capability-field{gap:var(--s1) var(--s3);padding:0 var(--s2) var(--s4) calc(2rem + var(--s5));grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.capability-group[open] .capability-field{animation:capability-open var(--dur-enter) var(--ease-out) both}@keyframes capability-open{0%{opacity:0;transform:translateY(-5px)}}.capability-field>li{min-width:0}@media (width<40rem){.record-ledger,.capability-field{grid-template-columns:1fr}.capability-summary{grid-template-columns:2rem minmax(0,1fr) 1rem}.capability-summary>svg{grid-area:1/3}.capability-count{grid-column:2}.capability-rail{grid-column:2/4}.capability-field{padding-left:var(--s2)}.capability-field .field-cell{grid-template-columns:auto minmax(0,1fr)}.capability-field .field-status{grid-column:2;justify-self:start}}.detail-name{font-size:var(--text-lg);letter-spacing:var(--track-title);margin-bottom:var(--s2);font-weight:620}.detail-body{font-size:var(--text-sm);color:var(--fg-mid);margin-bottom:var(--s4)}.detail-note{font-size:var(--text-xs);color:var(--fg-dim)}.programme{max-width:68rem}.programme-layout{gap:var(--s10);grid-template-columns:14rem minmax(0,1fr);align-items:start;display:grid}.programme-track{min-width:0}.programme-spine{top:calc(var(--bar-h) + var(--s5));padding-top:var(--s8);position:sticky}.programme-spine-head{justify-content:space-between;align-items:baseline;gap:var(--s2);padding-bottom:var(--s3);border-bottom:1px solid var(--line);display:flex}.programme-spine-readout{font-family:var(--font-mono);font-size:var(--text-3xs);color:var(--accent-fg)}.programme-spine-list{--spine-step:3.25rem;isolation:isolate;margin:var(--s3) 0 0;padding:0;list-style:none;position:relative}.programme-spine-list:before{content:"";z-index:0;top:calc(var(--spine-step) / 2);bottom:calc(var(--spine-step) / 2);background:linear-gradient(to bottom, color-mix(in oklab, var(--breadth) 44%, var(--line)), var(--line) 45%, var(--line-hair));width:1px;position:absolute;left:.5375rem}.programme-spine-list:after{content:"";z-index:2;border:1px solid color-mix(in oklab, var(--accent) 72%, transparent);border-radius:var(--r-full);width:1.625rem;height:1.625rem;box-shadow:0 0 0 3px color-mix(in oklab, var(--accent) 7%, transparent);pointer-events:none;transform:translateY(calc(var(--spine-index) * var(--spine-step)));transition:transform var(--dur-move) var(--ease-out);position:absolute;top:.8125rem;left:-.25rem}.programme-spine-item{z-index:1;height:var(--spine-step);position:relative}.programme-spine-item button{align-items:center;gap:var(--s3);text-align:left;grid-template-columns:1.125rem minmax(0,1fr);width:100%;height:100%;display:grid}.programme-spine-node{border:1px solid var(--line-firm);border-radius:var(--r-full);background:var(--ground);width:1.125rem;height:1.125rem;color:var(--accent-ink);transition:border-color var(--dur-state) var(--ease-out), background var(--dur-state) var(--ease-out), transform var(--dur-move) var(--ease-out);place-items:center;display:grid;position:relative}.programme-spine-node svg{stroke-width:2.5px;width:.6875rem;height:.6875rem}.programme-spine-item[data-complete=true] .programme-spine-node{border-color:var(--breadth);background:var(--breadth)}.programme-spine-item[data-current=true] .programme-spine-node{border-color:var(--accent);background:var(--accent);box-shadow:inset 0 0 0 3px var(--ground)}.programme-spine-item[data-current=true] .programme-spine-node:after{content:"";border:1px solid color-mix(in oklab, var(--accent) 50%, transparent);border-radius:inherit;opacity:0;animation:spine-beacon .72s var(--ease-out) .18s both;position:absolute;inset:-.35rem}@keyframes spine-beacon{0%{opacity:.72;transform:scale(.7)}to{opacity:0;transform:scale(1.25)}}.programme-spine-copy{flex-direction:column;gap:1px;min-width:0;display:flex}.programme-spine-copy>span{font-family:var(--font-mono);font-size:var(--text-3xs);color:var(--fg-dim)}.programme-spine-copy strong{color:var(--fg-mid);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;transition:color var(--dur-state) var(--ease-out);font-weight:560;overflow:hidden}.programme-spine-item[data-active=true] .programme-spine-copy strong,.programme-spine-item button:hover .programme-spine-copy strong{color:var(--fg)}.topic-head{align-items:baseline;gap:var(--s3);margin-bottom:var(--s4);display:flex;position:relative}.topic{scroll-margin-top:calc(var(--bar-h) + var(--s5))}.topic[data-current=true] .topic-head:before{content:"";top:-.15rem;bottom:-.15rem;left:calc(-1 * var(--s3));border-radius:var(--r-full);background:var(--accent);width:2px;box-shadow:0 0 12px color-mix(in oklab, var(--accent) 28%, transparent);position:absolute}.topic-name{font-size:var(--text-lg);font-weight:620}.topic-now{font-family:var(--font-mono);font-size:var(--text-3xs);letter-spacing:.08em;text-transform:uppercase;color:var(--accent-fg);margin-left:auto}.act-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.act{align-items:center;gap:var(--s3);padding:var(--s3) var(--s2);margin-inline:calc(-1 * var(--s2));border-top:1px solid var(--line-hair);border-radius:var(--r-sm);transition:background var(--dur-state) var(--ease-out), transform var(--dur-move) var(--ease-out);grid-template-columns:auto minmax(0,1fr) auto auto;display:grid;position:relative}.act:hover,.act:focus-within{z-index:1;background:color-mix(in oklab, var(--fg) 3.5%, transparent);transform:translate(3px)}.act:first-child{border-top:0}.act-tick{border-radius:var(--r-full);border:1px solid var(--line-firm);width:1.125rem;height:1.125rem;color:var(--breadth);place-items:center;display:grid}.act[data-done=true] .act-tick{border-color:color-mix(in oklab, var(--breadth) 45%, transparent);background:color-mix(in oklab, var(--breadth) 14%, transparent)}.act-tick svg{width:11px;height:11px}.act-title{font-size:var(--text-sm);letter-spacing:-.008em;font-weight:580}.act-blurb{font-size:var(--text-xs);color:var(--fg-dim);max-width:60ch;margin-top:2px}.act-warn{margin-top:var(--s2);font-size:var(--text-xs);color:var(--accent-fg);max-width:60ch}.act-meta{font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--fg-dim);white-space:nowrap}@media (width<48rem){.act{row-gap:var(--s2);grid-template-columns:auto minmax(0,1fr) auto}.act-meta{grid-column:3}.act .btn{grid-column:2/-1;justify-self:start}}@media (width<64rem){.programme-layout{display:block}.programme-spine{z-index:12;top:var(--bar-h);margin-inline:calc(-1 * var(--s5));padding:var(--s2) var(--s5);border-block:1px solid var(--line);background:color-mix(in oklab, var(--ground) 94%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:sticky;overflow:hidden}.programme-spine-head{display:none}.programme-spine-list{gap:var(--s2);scrollbar-width:none;overscroll-behavior-inline:contain;margin:0;display:flex;overflow-x:auto}.programme-spine-list::-webkit-scrollbar{display:none}.programme-spine-list:before,.programme-spine-list:after{display:none}.programme-spine-item{flex:0 0 7.25rem;height:2.75rem}.programme-spine-item button{gap:var(--s2)}.topic{scroll-margin-top:calc(var(--bar-h) + 4.25rem)}}@media (width<30rem){.programme-spine{margin-inline:calc(-1 * var(--s4));padding-inline:var(--s4)}}.play{gap:var(--s3);padding:var(--s4) var(--s5);max-width:var(--col-wide);flex-direction:column;margin-inline:auto;display:flex}.play-head{align-items:center;gap:var(--s3);flex-wrap:wrap;display:flex}.play-title{font-size:var(--text-lg);letter-spacing:var(--track-title);font-weight:620}.play-moved{margin-top:var(--s3);text-wrap:pretty}.play-stage{view-transition-name:activity-launch;min-height:24rem;height:calc(100dvh - var(--bar-h) - 7.5rem);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-raised);transition:border-color var(--dur-enter) var(--ease-out), box-shadow var(--dur-enter) var(--ease-out);position:relative;overflow:hidden}.play-stage[data-status=ready]{border-color:color-mix(in oklab, var(--breadth) 32%, var(--line))}.play-corners{z-index:4;inset:var(--s2);pointer-events:none;opacity:.42;background:linear-gradient(var(--accent), var(--accent)) left top / 1.25rem 1px no-repeat, linear-gradient(var(--accent), var(--accent)) left top / 1px 1.25rem no-repeat, linear-gradient(var(--accent), var(--accent)) right top / 1.25rem 1px no-repeat, linear-gradient(var(--accent), var(--accent)) right top / 1px 1.25rem no-repeat, linear-gradient(var(--accent), var(--accent)) left bottom / 1.25rem 1px no-repeat, linear-gradient(var(--accent), var(--accent)) left bottom / 1px 1.25rem no-repeat, linear-gradient(var(--accent), var(--accent)) right bottom / 1.25rem 1px no-repeat, linear-gradient(var(--accent), var(--accent)) right bottom / 1px 1.25rem no-repeat;transition:opacity var(--dur-enter) var(--ease-out);position:absolute}.play-stage[data-status=ready] .play-corners{opacity:.72}.play-loader-trace{z-index:3;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.play-loader-trace rect{fill:none;stroke:var(--accent);stroke-width:1px;vector-effect:non-scaling-stroke;stroke-dasharray:.08 .92;animation:1.25s linear infinite stage-trace}@keyframes stage-trace{to{stroke-dashoffset:-1px}}.play-frame{z-index:1;opacity:0;width:100%;height:100%;transition:opacity var(--dur-enter) var(--ease-out);border:0;position:relative}.play-frame[data-ready=true]{opacity:1}.play-loading{justify-content:center;align-items:center;gap:var(--s3);font-size:var(--text-sm);color:var(--fg-dim);z-index:2;flex-direction:column;display:flex;position:absolute;inset:0}.play-spinner{border-radius:var(--r-full);border:2px solid var(--line-firm);border-top-color:var(--accent);width:1.25rem;height:1.25rem;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.play-stage .state{inset:var(--s4);background:0 0;border:0;justify-content:center;position:absolute}.pick-search{align-items:center;gap:var(--s2);margin:var(--s6) 0 var(--s4);color:var(--fg-dim);display:flex}.pick-input{height:2.5rem;font-size:var(--text-base);flex:1}.pick-list{gap:var(--s1);grid-template-columns:repeat(auto-fill,minmax(13rem,1fr));margin:0;padding:0;list-style:none;display:grid}.pick-item{align-items:center;gap:var(--s3);width:100%;padding:var(--s2) var(--s3);border:1px solid var(--line-hair);border-radius:var(--r-md);background:var(--surface);text-align:left;transition:border-color var(--dur-state) var(--ease-out), background var(--dur-state) var(--ease-out);display:flex}.pick-item:hover{border-color:var(--accent);background:color-mix(in oklab, var(--accent) 5%, var(--surface))}.pick-name{font-size:var(--text-sm);font-weight:550}.pick-empty{font-size:var(--text-sm);color:var(--fg-dim)}.wl-head{align-items:flex-end;gap:var(--s6);padding-block:var(--s8) var(--s5);border-bottom:1px solid var(--line);flex-wrap:wrap;display:flex}.wl-head>div:first-child{flex:1;min-width:15rem}.wl-stats{gap:var(--s8);margin:0;display:flex}.wl-stats dt{font-family:var(--font-label);font-size:var(--text-3xs);letter-spacing:.11em;text-transform:uppercase;color:var(--fg-dim);margin-top:var(--s2);font-weight:600}.wl-stats dd{letter-spacing:-.02em;margin:0;font-size:1.375rem;font-weight:650}.wl-stat-of{color:var(--fg-dim);font-size:var(--text-sm);font-weight:500}.wl-filters{gap:var(--s2);padding-block:var(--s4);flex-wrap:wrap;display:flex}.wl-filter{align-items:center;gap:var(--s2);padding:var(--s1) var(--s2);border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);font-family:var(--font-label);font-size:var(--text-3xs);letter-spacing:.08em;text-transform:uppercase;color:var(--fg-mid);transition:opacity var(--dur-state) var(--ease-out), border-color var(--dur-state) var(--ease-out);font-weight:600;display:flex}.wl-filter[data-off=true]{opacity:.4}.wl-filter:disabled{opacity:.3;cursor:not-allowed}.wl-filter-dot{border-radius:var(--r-full);width:6px;height:6px}.wl-filter-n{color:var(--fg-dim)}.wl{margin:0;padding:0;list-style:none;container-type:inline-size}.wl-row{align-items:center;gap:var(--s4);padding:var(--s3) var(--s2);border-bottom:1px solid var(--line-hair);transition:background var(--dur-state) var(--ease-out);grid-template-columns:6.5rem 11rem minmax(0,1fr) auto;display:grid}.wl-row:hover{background:color-mix(in oklab, var(--fg) 2.5%, transparent)}.wl-who{align-items:center;gap:var(--s2);min-width:0;display:flex}.wl-name{font-size:var(--text-sm);letter-spacing:-.008em;text-overflow:ellipsis;white-space:nowrap;font-weight:560;overflow:hidden}.wl-why{font-size:var(--text-sm);color:var(--fg-mid);min-width:0}.wl-evidence{margin-top:var(--s1);color:var(--fg-dim);display:block}.wl-act{align-items:center;gap:var(--s2);grid-template-columns:minmax(0,1fr) auto;justify-self:end;width:15rem;display:grid}.wl-act .btn{justify-content:center;width:100%}@container (width<52rem){.wl-row{row-gap:var(--s2);padding-block:var(--s4);grid-template-columns:auto minmax(0,1fr)}.wl-tag{grid-column:1}.wl-who{grid-column:2}.wl-why,.wl-act{grid-column:1/-1}.wl-act{justify-self:stretch;width:auto}}.wl-coverage{margin-top:var(--s8);padding-top:var(--s6);border-top:1px solid var(--line)}.wl-foot{margin-top:var(--s6);padding-top:var(--s4);border-top:1px solid var(--line);font-size:var(--text-xs);color:var(--fg-dim);max-width:80ch}.wl-foot strong{color:var(--fg-mid)}.draft{width:min(34rem, calc(100vw - var(--s8)));padding:var(--s5);border:1px solid var(--line-firm);border-radius:var(--r-xl);background:var(--raised);color:var(--fg);box-shadow:var(--shadow-float);margin:auto}.draft::backdrop{background:var(--scrim)}.draft-head{align-items:center;gap:var(--s3);margin-bottom:var(--s4);display:flex}.draft-title{font-size:var(--text-lg);flex:1;font-weight:620}.draft-to{font-size:var(--text-xs);color:var(--fg-mid);margin-bottom:var(--s3)}.draft-to .kicker{margin-right:var(--s2)}.draft-body{padding:var(--s4);border:1px solid var(--line);border-radius:var(--r-md);background:var(--sunken);font-size:var(--text-sm);-webkit-user-select:all;user-select:all;line-height:1.6}.draft-why{margin-top:var(--s3);font-size:var(--text-xs);color:var(--fg-dim)}.draft-actions{align-items:center;gap:var(--s3);margin-top:var(--s5);flex-wrap:wrap;display:flex}.draft-note{font-size:var(--text-xs);color:var(--fg-dim)}.ev-bars{margin-bottom:var(--s4);container-type:inline-size}.ev-coverage{column-gap:var(--s8);grid-template-columns:repeat(auto-fit,minmax(min(24rem,100%),1fr));display:grid}.ev-note{font-size:var(--text-xs);color:var(--fg-dim);max-width:68ch;margin-bottom:var(--s4)}.ev-split{gap:var(--s8);grid-template-columns:repeat(auto-fit,minmax(21rem,1fr));display:grid}.ev-split .section{border-top:1px solid var(--line)}.ev-participation{gap:var(--s6) var(--s8);grid-template-columns:repeat(auto-fit,minmax(min(22rem,100%),1fr));align-items:end;display:grid}.ev-weeks{align-items:flex-end;gap:var(--s2);height:9rem;margin:0;padding:0;list-style:none;display:flex;overflow-x:auto}.ev-weeks li{justify-content:flex-end;align-items:center;gap:var(--s1);flex-direction:column;flex:none;width:2.75rem;height:100%;display:flex}.ev-week-track{flex:none;align-items:flex-end;width:100%;height:6.5rem;display:flex}.ev-week-bar{border-radius:var(--r-xs) var(--r-xs) 0 0;background:var(--breadth);width:100%}.ev-weeks li[data-taper=true] .ev-week-bar{background:repeating-linear-gradient(-45deg, var(--breadth) 0 3px, color-mix(in oklab, var(--breadth) 35%, transparent) 3px 6px)}.ev-week-n{font-size:var(--text-2xs);color:var(--fg-mid)}.ev-week-label{color:var(--fg-dim);font-size:var(--text-3xs)}.ev-change{gap:var(--s3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.ev-change li{align-items:baseline;gap:var(--s3);font-size:var(--text-sm);color:var(--fg-mid);display:flex}.ev-change-n{text-align:right;width:2.5rem;font-size:var(--text-xl);letter-spacing:-.02em;flex:none;font-weight:650}.ev-change-rest{color:var(--fg-dim);padding-top:var(--s3);border-top:1px solid var(--line-hair)}.dg{border-collapse:collapse;width:100%;font-size:var(--text-sm);table-layout:fixed}.dg th:first-child,.dg td:first-child{width:clamp(9rem,40%,26rem)}.dg .dg-n{width:6.5rem}.dg th,.dg td{padding:var(--s2) var(--s3);text-align:left;border-bottom:1px solid var(--line-hair)}.dg thead th{font-family:var(--font-label);font-size:var(--text-3xs);letter-spacing:.1em;text-transform:uppercase;color:var(--fg-dim);border-bottom-color:var(--line);font-weight:600}.dg tbody th{color:var(--fg);font-weight:550}.dg th.dg-n,.dg td.dg-n{text-align:right;color:var(--fg-mid);white-space:nowrap;font-variant-numeric:tabular-nums}.dg tbody tr[data-hot=true] .dg-rate{color:var(--consistency);font-weight:650}.dg-list{gap:var(--s2);font-size:var(--text-sm);color:var(--fg-mid);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.dg-list .num{color:var(--fg);margin-right:var(--s1);font-weight:600}.dg-scroll{background:linear-gradient(to right, var(--ground) 40%, transparent) left center / 2rem 100% no-repeat, linear-gradient(to left, var(--ground) 40%, transparent) right center / 2rem 100% no-repeat, radial-gradient(farthest-side at 0 50%, color-mix(in oklab, var(--fg) 14%, transparent), transparent) left center / .75rem 100% no-repeat, radial-gradient(farthest-side at 100% 50%, color-mix(in oklab, var(--fg) 14%, transparent), transparent) right center / .75rem 100% no-repeat;background-attachment:local,local,scroll,scroll;overflow-x:auto}@media (width<40rem){.dg{font-size:var(--text-xs);min-width:max-content}.dg th,.dg td{padding:var(--s2) var(--s2)}.dg th:first-child,.dg td:first-child{z-index:1;background:var(--ground);border-right:1px solid var(--line-hair);width:10rem;position:sticky;left:0}.dg thead th:first-child{z-index:2}.dg .dg-n{width:5.5rem}.dg thead th.dg-n{white-space:normal}}.wl-detail{color:var(--fg-mid)}.comp-next{margin-top:var(--s5)}.comp-next-label{font-size:var(--text-xs);color:var(--fg-dim);margin-bottom:var(--s2)}.comp-why{font-size:var(--text-xs);color:var(--fg-dim);margin-bottom:var(--s3);max-width:60ch}.act-open{margin-top:var(--s1);font-size:var(--text-xs);color:var(--accent-fg);font-weight:550}.featured{border:1px solid var(--accent-fg);border-radius:var(--r-lg);padding:var(--s5);gap:var(--s3);background:linear-gradient(180deg, var(--accent-quiet), transparent 60%), var(--surface);flex-direction:column;align-items:flex-start;display:flex}.featured-head{align-items:center;gap:var(--s3);width:100%;display:flex}.featured-kicker{color:var(--accent-fg)}.featured-head .chip{margin-inline-start:auto}.featured-title{font-size:var(--text-2xl);line-height:var(--lh-tight);margin:0}.featured-blurb{color:var(--fg-mid);max-width:60ch;margin:0}.act[data-locked=true] .act-title,.act[data-locked=true] .act-blurb,.act[data-locked=true] .act-meta{color:var(--fg-dim)}.act[data-featured=true]{border-inline-start:2px solid var(--accent-fg);padding-inline-start:var(--s3)}.act-featured-note{color:var(--accent-fg);font-size:var(--text-sm);margin:0}.viewswitch{border:1px solid var(--line);border-radius:var(--r-md);gap:2px;padding:2px;display:inline-flex}.viewswitch-btn{font:inherit;font-size:var(--text-sm);color:var(--fg-mid);border-radius:var(--r-sm);padding:var(--s1) var(--s3);cursor:pointer;background:0 0;border:0}.viewswitch-btn[aria-pressed=true]{background:var(--raised);color:var(--fg)}.viewswitch-btn:focus-visible{outline:2px solid var(--focus);outline-offset:1px}@media (width<=40rem){.viewswitch-btn{padding:var(--s1) var(--s2)}}}
