:root{--color-paper:oklch(97% .012 95);--color-paper-glass:oklch(97% .012 95/.9);--color-paper-2:oklch(94% .016 95);--color-paper-3:oklch(91% .02 95);--color-paper-muted:oklch(82% .012 95);--color-ink:oklch(20% .012 250);--color-ink-soft:oklch(32% .012 250);--color-muted:oklch(46% .012 250);--color-rule:oklch(78% .014 95);--color-focus:oklch(52% .2 235);--color-accent:oklch(86% .18 95);--color-accent-ink:oklch(20% .012 250);--color-accent-soft:oklch(93% .08 95);--color-accent-hover:oklch(82% .2 95);--color-accent-deep:oklch(67% .16 95);--color-accent-shadow:oklch(76% .2 95/.45);--color-accent-2:oklch(66% .18 235);--color-accent-2-soft:oklch(91% .06 235);--color-accent-2-hover:oklch(87% .09 235);--color-accent-3:oklch(68% .24 18);--color-accent-3-soft:oklch(93% .055 18);--color-accent-3-hover:oklch(89% .085 18);--color-mint:oklch(80% .16 150);--color-lavender-soft:oklch(93% .055 305);--color-lavender-hover:oklch(89% .085 305);--font-display:"Plus Jakarta Sans", "Geist", ui-rounded, sans-serif;--font-body:"Plus Jakarta Sans", "Geist", ui-rounded, sans-serif;--font-label:"JetBrains Mono", ui-monospace, monospace;--space-3xs:.125rem;--space-2xs:.25rem;--space-xs:.5rem;--space-sm:.75rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2.5rem;--space-2xl:4rem;--space-3xl:6rem;--space-4xl:9rem;--text-xs:.72rem;--text-sm:.84rem;--text-base:1rem;--text-md:clamp(1.05rem, 1.5vw, 1.25rem);--text-lg:clamp(1.35rem, 2vw, 1.65rem);--text-xl:clamp(1.7rem, 3vw, 2.25rem);--text-2xl:clamp(2.1rem, 4vw, 3rem);--text-3xl:clamp(2.6rem, 5vw, 4.5rem);--text-display-s:clamp(3rem, 6vw, 5rem);--text-display:clamp(3.25rem, 7.6vw, 6rem);--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in:cubic-bezier(.7, 0, .84, 0);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--ease-press:cubic-bezier(.2, .7, .3, 1);--dur-micro:.12s;--dur-short:.22s;--dur-long:.42s;--rule-hair:1px;--rule-medium:2px;--rule-bold:3px;--rule-focus:3px;--radius-input:.75rem;--radius-card:1.25rem;--radius-art:1.75rem;--radius-pill:999px;--shadow-card:0 12px 32px -16px oklch(20% .012 250/.16);--shadow-art:0 8px 0 var(--color-ink), 0 24px 54px -28px oklch(20% .012 250/.35);--page-max:78rem;--page-gutter:clamp(1rem, 4vw, 3rem);--banner-h:0rem;--bar-h:4.25rem;--z-base:1;--z-raised:10;--z-dropdown:100;--z-sticky:200;--z-modal:400;--z-toast:500;--z-tooltip:600}*,:before,:after{box-sizing:border-box}html,body{overflow-x:clip}html{scroll-behavior:smooth;background:var(--color-paper);color:var(--color-ink)}body{font-family:var(--font-body);font-size:var(--text-base);font-feature-settings:"ss01" on, "cv11" on;-webkit-font-smoothing:antialiased;margin:0;line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit}h1,h2,h3,p,dl,dd,dt{margin:0}h1,h2,h3{font-family:var(--font-display);overflow-wrap:anywhere;min-width:0;font-style:normal}ul{margin:0;padding:0;list-style:none}.shell{width:min(100%, var(--page-max));padding-inline:var(--page-gutter);margin-inline:auto}.mono-label{font-family:var(--font-label);font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;font-weight:500;line-height:1.35}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}main{padding-block-start:var(--bar-h)}.site-head{z-index:var(--z-sticky);background:var(--color-paper-glass);border-bottom:var(--rule-hair) solid var(--color-rule);-webkit-backdrop-filter:blur(12px)saturate(120%);backdrop-filter:blur(12px)saturate(120%);position:fixed;inset:0 0 auto}.nav{min-height:var(--bar-h);justify-content:space-between;align-items:center;gap:var(--space-md);width:min(100%, var(--page-max));padding-inline:var(--page-gutter);margin-inline:auto;display:flex}.wordmark{font-family:var(--font-display);font-size:var(--text-md);letter-spacing:-.055em;white-space:nowrap;font-weight:700}.wordmark span{background:var(--color-accent);width:.78em;height:.78em;transition:transform var(--dur-short) var(--ease-out);border-radius:48% 52% 44% 56%;place-items:center;display:inline-grid;transform:rotate(-7deg)}.wordmark:hover span,.wordmark:focus-visible span{transform:rotate(7deg)translateY(-2px)}.nav__links{align-items:center;gap:var(--space-lg);display:flex}.nav__links a{white-space:nowrap;font-size:var(--text-sm);font-weight:600}.nav__links a[aria-current=page],.nav__links a:hover{text-decoration:underline;-webkit-text-decoration-color:var(--color-accent-2);text-decoration-color:var(--color-accent-2);text-decoration-thickness:var(--rule-bold);text-underline-offset:var(--space-xs)}.btn{--btn-face:var(--color-accent);--btn-ink:var(--color-accent-ink);--btn-edge:var(--color-accent-deep);--btn-cast:var(--color-accent-shadow);border-radius:var(--radius-pill);background:var(--btn-face);min-height:2.75rem;color:var(--btn-ink);box-shadow:0 4px 0 0 var(--btn-edge), 0 6px 12px -3px var(--btn-cast);cursor:pointer;isolation:isolate;white-space:nowrap;transition:transform .14s var(--ease-press), box-shadow .14s var(--ease-press), background-color .16s var(--ease-out);border:0;justify-content:center;align-items:center;gap:.5em;padding:.8rem 1.4rem;font-weight:600;line-height:1;display:inline-flex;position:relative;transform:translateY(0)}.btn:hover{box-shadow:0 6px 0 0 var(--btn-edge), 0 12px 22px -4px var(--btn-cast);transform:translateY(-2px)}.btn:active{box-shadow:0 1px 0 0 var(--btn-edge), 0 2px 6px -2px var(--btn-cast);transition-duration:70ms;transform:translateY(3px)}.btn:focus-visible,a:focus-visible,button:focus-visible{outline:var(--rule-focus) solid var(--color-focus);outline-offset:var(--space-2xs)}.btn--sm{min-height:2.5rem;font-size:var(--text-sm);padding:.65rem .9rem}.btn--lg{min-height:3.25rem;padding:1rem 1.5rem}.btn__arrow{transition:transform var(--dur-micro) var(--ease-out)}.btn:hover .btn__arrow{transform:translate(3px)}.library-head{gap:var(--space-lg);padding-block:var(--space-3xl) var(--space-2xl);display:grid}.library-head .mono-label{color:var(--color-muted)}.library-head h1{max-width:12ch;font-size:var(--text-display);letter-spacing:-.055em;font-weight:700;line-height:.94}.library-head__lede{max-width:40rem;color:var(--color-ink-soft);font-size:var(--text-md);line-height:1.5}.library-head__stats{gap:var(--space-md);border-top:var(--rule-hair) solid var(--color-rule);flex-wrap:wrap;padding-block-start:var(--space-md);display:flex}.library-head__stats>div{gap:var(--space-2xs);padding-inline-end:var(--space-xl);display:grid}.library-head__stats dt{font-family:var(--font-display);font-size:var(--text-2xl);letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-weight:700;line-height:1}.library-head__stats dd{color:var(--color-muted);font-size:var(--text-sm)}.filters{gap:var(--space-xs);flex-wrap:wrap;margin-block-end:var(--space-lg);display:flex}.filters button{min-height:2.75rem;padding-inline:var(--space-md);border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-pill);background:var(--color-paper-2);color:var(--color-ink);cursor:pointer;font:inherit;font-size:var(--text-sm);white-space:nowrap}.filters button.is-active{border-color:var(--color-ink);background:var(--color-ink);color:var(--color-paper)}.program-list{border-top:var(--rule-bold) solid var(--color-ink);display:grid}li[hidden]{display:none}.program-card{border-bottom:var(--rule-bold) solid var(--color-ink)}.program-card>a{gap:var(--space-md);min-width:0;padding-block:var(--space-xl);transition:background-color var(--dur-short) var(--ease-out);display:grid}.program-card__index{font-family:var(--font-display);font-size:var(--text-xl);letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-weight:700}.program-card__body{gap:var(--space-sm);min-width:0;display:grid}.program-card__meta{gap:var(--space-xs) var(--space-md);color:var(--color-muted);font-family:var(--font-label);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;flex-wrap:wrap;display:flex}.program-card__name{font-family:var(--font-display);font-size:var(--text-xl);letter-spacing:-.035em;font-weight:700;line-height:1.08}.program-card__goal{max-width:44rem;color:var(--color-ink-soft)}.program-card__open{align-items:center;gap:var(--space-sm);justify-self:start;font-weight:700;display:inline-flex}.program-card__open b{font-size:var(--text-lg);transition:transform var(--dur-micro) var(--ease-out)}.program-card--clean-editorial .program-card__index{color:var(--color-muted)}.empty{padding-block:var(--space-2xl);color:var(--color-muted)}.library-cta{background:var(--color-ink);color:var(--color-paper)}.library-cta__inner{gap:var(--space-lg);padding-block:var(--space-4xl);justify-items:start;display:grid}.library-cta .mono-label{color:var(--color-accent)}.library-cta h2{font-size:var(--text-3xl)}.library-cta p:not(.mono-label){max-width:34rem;color:var(--color-paper-muted)}.footer{border-top:var(--rule-bold) solid var(--color-ink);background:var(--color-accent);overflow:clip}.footer__bar{justify-content:space-between;align-items:center;gap:var(--space-md);padding-block:var(--space-lg);border-bottom:var(--rule-medium) solid var(--color-ink);flex-wrap:wrap;display:flex}.footer__links{gap:var(--space-sm) var(--space-lg);flex-wrap:wrap;display:flex}.footer__links a{font-family:var(--font-label);font-size:var(--text-xs);text-underline-offset:var(--space-2xs);white-space:nowrap;font-weight:700}.footer__links a:hover{text-decoration:underline}.footer__track{gap:var(--space-2xl);width:max-content;padding-block:var(--space-lg);animation:28s linear infinite footer-marquee;display:flex}.footer__track span{font-family:var(--font-display);font-size:var(--text-xl);letter-spacing:-.02em;white-space:nowrap;font-weight:700}@keyframes footer-marquee{to{transform:translateX(calc(-50% - var(--space-xl)))}}@media (hover:hover) and (pointer:fine){.program-card>a:hover{background:var(--color-accent-soft)}.program-card>a:hover .program-card__open b{transform:translate(3px,-3px)}.filters button:hover{border-color:var(--color-ink)}}@media (width>=40rem){.program-card>a{align-items:center;gap:var(--space-xl);grid-template-columns:auto minmax(0,1fr) auto}.program-card__body{padding-block:var(--space-sm)}}@media (width<=31rem){.nav .btn span:first-child{display:none}.nav .btn__arrow{font-size:var(--text-md)}.library-head__stats>div{padding-inline-end:var(--space-lg)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.15s!important;animation-duration:.15s!important;animation-iteration-count:1!important}.footer__track{animation:none}.btn:hover,.program-card>a:hover{transform:none}}
