.theme-svg{--svg-ink:var(--text-primary);--svg-muted:var(--text-muted);--svg-accent:var(--primary);--svg-accent-2:var(--accent-secondary,var(--primary-gradient-end));--svg-surface:var(--card);--svg-surface-muted:var(--muted);--svg-accent-3:color-mix(in srgb, var(--svg-accent) 55%, var(--text-muted) 45%);--svg-accent-4:color-mix(in srgb, var(--svg-accent-2) 45%, var(--svg-accent-3) 55%);--svg-accent-5:color-mix(in srgb, var(--svg-accent) 38%, var(--svg-surface) 62%);--svg-accent-6:color-mix(in srgb, var(--svg-accent) 18%, var(--svg-surface) 82%);--svg-accent-soft:color-mix(in srgb, var(--svg-accent) 32%, var(--svg-surface) 68%);--svg-accent-deep:color-mix(in srgb, var(--svg-accent) 72%, var(--svg-ink) 28%);--svg-accent-bold:color-mix(in srgb, var(--svg-accent) 90%, var(--svg-ink) 10%);--svg-accent-muted:color-mix(in srgb, var(--svg-accent) 42%, var(--svg-muted) 58%);--svg-border:var(--border);--svg-line:color-mix(in srgb, var(--svg-ink) 72%, var(--svg-border) 28%);--svg-highlight:color-mix(in srgb, var(--svg-accent) 18%, var(--svg-surface) 82%);--svg-positive:#15803d;--svg-positive-soft:color-mix(in srgb, var(--svg-positive) 35%, var(--svg-surface) 65%);--svg-negative:#b91c1c;--svg-negative-soft:color-mix(in srgb, var(--svg-negative) 35%, var(--svg-surface) 65%);--svg-warning:#b45309;--svg-warning-soft:color-mix(in srgb, var(--svg-warning) 35%, var(--svg-surface) 65%);--svg-blue:#2563eb;--svg-blue-soft:color-mix(in srgb, var(--svg-blue) 32%, var(--svg-surface) 68%);--svg-cyan:#0891b2;--svg-cyan-soft:color-mix(in srgb, var(--svg-cyan) 32%, var(--svg-surface) 68%);--svg-teal:#0d9488;--svg-teal-soft:color-mix(in srgb, var(--svg-teal) 32%, var(--svg-surface) 68%);--svg-green:#15803d;--svg-green-soft:color-mix(in srgb, var(--svg-green) 32%, var(--svg-surface) 68%);--svg-lime:#65a30d;--svg-lime-soft:color-mix(in srgb, var(--svg-lime) 32%, var(--svg-surface) 68%);--svg-amber:#d97706;--svg-amber-soft:color-mix(in srgb, var(--svg-amber) 32%, var(--svg-surface) 68%);--svg-orange:#ea580c;--svg-orange-soft:color-mix(in srgb, var(--svg-orange) 32%, var(--svg-surface) 68%);--svg-red:#dc2626;--svg-red-soft:color-mix(in srgb, var(--svg-red) 32%, var(--svg-surface) 68%);--svg-rose:#e11d48;--svg-rose-soft:color-mix(in srgb, var(--svg-rose) 32%, var(--svg-surface) 68%);--svg-pink:#db2777;--svg-pink-soft:color-mix(in srgb, var(--svg-pink) 32%, var(--svg-surface) 68%);--svg-violet:#7c3aed;--svg-violet-soft:color-mix(in srgb, var(--svg-violet) 32%, var(--svg-surface) 68%);--svg-indigo:#4f46e5;--svg-indigo-soft:color-mix(in srgb, var(--svg-indigo) 32%, var(--svg-surface) 68%);--svg-slate:#64748b;--svg-slate-soft:color-mix(in srgb, var(--svg-slate) 28%, var(--svg-surface) 72%);color:var(--svg-ink)}.theme-svg :is(.svg-ink,[data-svg=ink]){fill:var(--svg-ink);stroke:var(--svg-ink)}.theme-svg :is(.svg-muted,[data-svg=muted]){fill:var(--svg-muted);stroke:var(--svg-muted)}.theme-svg :is(.svg-accent,[data-svg=accent]){fill:var(--svg-accent);stroke:var(--svg-accent)}.theme-svg :is(.svg-accent-2,[data-svg=accent-2]){fill:var(--svg-accent-2);stroke:var(--svg-accent-2)}.theme-svg :is(.svg-accent-3,[data-svg=accent-3]){fill:var(--svg-accent-3);stroke:var(--svg-accent-3)}.theme-svg :is(.svg-accent-4,[data-svg=accent-4]){fill:var(--svg-accent-4);stroke:var(--svg-accent-4)}.theme-svg :is(.svg-accent-5,[data-svg=accent-5]){fill:var(--svg-accent-5);stroke:var(--svg-accent-5)}.theme-svg :is(.svg-accent-6,[data-svg=accent-6]){fill:var(--svg-accent-6);stroke:var(--svg-accent-6)}.theme-svg :is(.svg-accent-soft,[data-svg=accent-soft]){fill:var(--svg-accent-soft);stroke:var(--svg-accent-soft)}.theme-svg :is(.svg-accent-deep,[data-svg=accent-deep]){fill:var(--svg-accent-deep);stroke:var(--svg-accent-deep)}.theme-svg :is(.svg-accent-bold,[data-svg=accent-bold]){fill:var(--svg-accent-bold);stroke:var(--svg-accent-bold)}.theme-svg :is(.svg-accent-muted,[data-svg=accent-muted]){fill:var(--svg-accent-muted);stroke:var(--svg-accent-muted)}.theme-svg :is(.svg-surface,[data-svg=surface]){fill:var(--svg-surface)}.theme-svg :is(.svg-surface-muted,[data-svg=surface-muted]){fill:var(--svg-surface-muted)}.theme-svg :is(.svg-border,[data-svg=border]){fill:none;stroke:var(--svg-border)}.theme-svg :is(.svg-line,[data-svg=line]){fill:none;stroke:var(--svg-line)}.theme-svg :is(.svg-highlight,[data-svg=highlight]){fill:var(--svg-highlight);stroke:var(--svg-accent)}.theme-svg :is(.svg-positive,[data-svg=positive]){fill:var(--svg-positive);stroke:var(--svg-positive)}.theme-svg :is(.svg-positive-soft,[data-svg=positive-soft]){fill:var(--svg-positive-soft);stroke:var(--svg-positive-soft)}.theme-svg :is(.svg-negative,[data-svg=negative]){fill:var(--svg-negative);stroke:var(--svg-negative)}.theme-svg :is(.svg-negative-soft,[data-svg=negative-soft]){fill:var(--svg-negative-soft);stroke:var(--svg-negative-soft)}.theme-svg :is(.svg-warning,[data-svg=warning]){fill:var(--svg-warning);stroke:var(--svg-warning)}.theme-svg :is(.svg-warning-soft,[data-svg=warning-soft]){fill:var(--svg-warning-soft);stroke:var(--svg-warning-soft)}.theme-svg :is(.svg-blue,[data-svg=blue]){fill:var(--svg-blue);stroke:var(--svg-blue)}.theme-svg :is(.svg-blue-soft,[data-svg=blue-soft]){fill:var(--svg-blue-soft);stroke:var(--svg-blue-soft)}.theme-svg :is(.svg-cyan,[data-svg=cyan]){fill:var(--svg-cyan);stroke:var(--svg-cyan)}.theme-svg :is(.svg-cyan-soft,[data-svg=cyan-soft]){fill:var(--svg-cyan-soft);stroke:var(--svg-cyan-soft)}.theme-svg :is(.svg-teal,[data-svg=teal]){fill:var(--svg-teal);stroke:var(--svg-teal)}.theme-svg :is(.svg-teal-soft,[data-svg=teal-soft]){fill:var(--svg-teal-soft);stroke:var(--svg-teal-soft)}.theme-svg :is(.svg-green,[data-svg=green]){fill:var(--svg-green);stroke:var(--svg-green)}.theme-svg :is(.svg-green-soft,[data-svg=green-soft]){fill:var(--svg-green-soft);stroke:var(--svg-green-soft)}.theme-svg :is(.svg-lime,[data-svg=lime]){fill:var(--svg-lime);stroke:var(--svg-lime)}.theme-svg :is(.svg-lime-soft,[data-svg=lime-soft]){fill:var(--svg-lime-soft);stroke:var(--svg-lime-soft)}.theme-svg :is(.svg-amber,[data-svg=amber]){fill:var(--svg-amber);stroke:var(--svg-amber)}.theme-svg :is(.svg-amber-soft,[data-svg=amber-soft]){fill:var(--svg-amber-soft);stroke:var(--svg-amber-soft)}.theme-svg :is(.svg-orange,[data-svg=orange]){fill:var(--svg-orange);stroke:var(--svg-orange)}.theme-svg :is(.svg-orange-soft,[data-svg=orange-soft]){fill:var(--svg-orange-soft);stroke:var(--svg-orange-soft)}.theme-svg :is(.svg-red,[data-svg=red]){fill:var(--svg-red);stroke:var(--svg-red)}.theme-svg :is(.svg-red-soft,[data-svg=red-soft]){fill:var(--svg-red-soft);stroke:var(--svg-red-soft)}.theme-svg :is(.svg-rose,[data-svg=rose]){fill:var(--svg-rose);stroke:var(--svg-rose)}.theme-svg :is(.svg-rose-soft,[data-svg=rose-soft]){fill:var(--svg-rose-soft);stroke:var(--svg-rose-soft)}.theme-svg :is(.svg-pink,[data-svg=pink]){fill:var(--svg-pink);stroke:var(--svg-pink)}.theme-svg :is(.svg-pink-soft,[data-svg=pink-soft]){fill:var(--svg-pink-soft);stroke:var(--svg-pink-soft)}.theme-svg :is(.svg-violet,[data-svg=violet]){fill:var(--svg-violet);stroke:var(--svg-violet)}.theme-svg :is(.svg-violet-soft,[data-svg=violet-soft]){fill:var(--svg-violet-soft);stroke:var(--svg-violet-soft)}.theme-svg :is(.svg-indigo,[data-svg=indigo]){fill:var(--svg-indigo);stroke:var(--svg-indigo)}.theme-svg :is(.svg-indigo-soft,[data-svg=indigo-soft]){fill:var(--svg-indigo-soft);stroke:var(--svg-indigo-soft)}.theme-svg :is(.svg-slate,[data-svg=slate]){fill:var(--svg-slate);stroke:var(--svg-slate)}.theme-svg :is(.svg-slate-soft,[data-svg=slate-soft]){fill:var(--svg-slate-soft);stroke:var(--svg-slate-soft)}.theme-svg :is(.svg-fill-none,[data-svg=none]){fill:none}.theme-svg .svg-stroke-none{stroke:none}.theme-svg svg [fill=currentColor]{fill:currentColor}.theme-svg svg [stroke=currentColor]{stroke:currentColor}:is(.sombre,.night,.fire,.maree,.bastille,.givre,.ambre,.marais,.fournaise,.crepuscule,.veille,.suie,.orage,.basalte,.encre,.recif,.polaire,.falaise).theme-svg,:is(.sombre,.night,.fire,.maree,.bastille,.givre,.ambre,.marais,.fournaise,.crepuscule,.veille,.suie,.orage,.basalte,.encre,.recif,.polaire,.falaise) .theme-svg{--svg-blue:#60a5fa;--svg-cyan:#22d3ee;--svg-teal:#2dd4bf;--svg-green:#4ade80;--svg-lime:#a3e635;--svg-amber:#fbbf24;--svg-orange:#fb923c;--svg-red:#f87171;--svg-rose:#fb7185;--svg-pink:#f472b6;--svg-violet:#a78bfa;--svg-indigo:#818cf8;--svg-slate:#94a3b8}.sombre.theme-svg,.sombre .theme-svg{--svg-ink:var(--text-bright);--svg-positive:#88c8a8;--svg-negative:#e08888;--svg-warning:#d8c898}.content-svg-figure{margin:0;overflow:visible}.theme-svg__canvas{justify-content:center;align-items:center;width:100%;padding:.5rem .75rem;display:flex;overflow:visible}@media (min-width:640px){.theme-svg__canvas{padding:.625rem 1rem}}.theme-svg__canvas:not(.theme-svg__canvas--bare){background:color-mix(in srgb, var(--muted) 10%, transparent)}.theme-svg__canvas svg{width:auto;max-width:100%;height:auto;margin-inline:auto;display:block}.theme-svg__canvas svg.circuitikz-svg{width:100%;height:auto;max-height:min(72vh,640px)}.theme-svg__canvas:has(.circuitikz-svg){padding:.25rem .375rem}@media (min-width:640px){.theme-svg__canvas:has(.circuitikz-svg){padding:.375rem .5rem}}.theme-svg__canvas:not(.theme-svg__canvas--bare) svg{max-height:min(70vh,520px)}.theme-svg__canvas--bare svg{max-height:min(60vh,400px)}.content-columns__cell .content-svg-figure{max-width:100%}.tikz-zoom-dialog__backdrop{--tikz-zoom-veil:white;background:color-mix(in oklch, var(--tikz-zoom-veil) 62%, transparent);-webkit-backdrop-filter:blur(14px)saturate(.85);backdrop-filter:blur(14px)saturate(.85)}.sombre .tikz-zoom-dialog__backdrop,html.sombre .tikz-zoom-dialog__backdrop{--tikz-zoom-veil:black;background:color-mix(in oklch, var(--tikz-zoom-veil) 55%, transparent)}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.tikz-zoom-dialog__backdrop{background:color-mix(in oklch, var(--tikz-zoom-veil) 85%, transparent)}.sombre .tikz-zoom-dialog__backdrop,html.sombre .tikz-zoom-dialog__backdrop{background:color-mix(in oklch, var(--tikz-zoom-veil) 78%, transparent)}}.tikz-zoom-dialog,.tikz-zoom-dialog__stage,.tikz-zoom-dialog .theme-svg__canvas--zoom{box-shadow:none!important;background:0 0!important;border:none!important}.tikz-zoom-dialog .theme-svg{--svg-surface:transparent;--svg-surface-muted:transparent}.tikz-zoom-dialog__close{z-index:2;color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#00000059;background:lab(0% 0 0/.35);border:1px solid #ffffff2e;border:1px solid lab(100% 0 0/.18);border-color:oklch(100% 5.96046e-8 none/.18) oklch(100% 5.96046e-8 none/.18) oklch(100% 5.96046e-8 none/.18) oklch(100% 5.96046e-8 none/.18);position:fixed;top:.875rem;right:.875rem}.tikz-zoom-dialog__close:hover{color:#fff;background:#0000008c;background:lab(0% 0 0/.55)}.tikz-zoom-dialog__stage{justify-content:center;align-items:center;width:100%;height:100%;max-height:100svh;display:flex;overflow:auto}.tikz-zoom-dialog .theme-svg__canvas--zoom{justify-content:center;align-items:center;width:fit-content;max-width:100%;min-height:0;padding:2.5rem 1rem 1rem;display:flex}.tikz-zoom-dialog .theme-svg__canvas--zoom svg{width:min(100vw - 2rem,90rem);height:auto;max-height:calc(100svh - 3.5rem);margin-inline:auto;display:block;background:0 0!important}.tikz-zoom-dialog .theme-svg__canvas--zoom svg.circuitikz-svg,.tikz-zoom-dialog .theme-svg__canvas.theme-svg__canvas--zoom svg,.tikz-zoom-dialog .theme-svg__canvas--bare.theme-svg__canvas--zoom svg,.tikz-zoom-dialog .theme-svg__canvas:not(.theme-svg__canvas--bare).theme-svg__canvas--zoom svg{width:min(100vw - 2rem,90rem);max-height:calc(100svh - 3.5rem)}
:root,.clair{--ped-def:#2d2a27;--ped-def-dark:#0f0e0c;--ped-def-bg:#f3f1ed;--ped-thm-bg:color-mix(in oklch, var(--primary,#2d2a27) 7%, var(--card));--ped-thm-band:color-mix(in oklch, var(--primary,#2d2a27) 8%, var(--background));--ped-thm-fg:var(--foreground);--ped-thm-accent:color-mix(in oklch, var(--primary,#2d2a27) 55%, var(--foreground));--ped-thm-border:color-mix(in oklch, var(--primary,#2d2a27) 20%, var(--border));--ped-lemma:#5c5650;--ped-lemma-bg:#ebe8e4;--ped-prop:#5c5650;--ped-prop-bg:#f3f1ed;--ped-proof:#6b6560;--ped-proof-bg:#ebe8e4;--ped-ex:#5c5650;--ped-ex-bg:#faf9f7;--ped-exo:color-mix(in oklch, var(--primary,#2d2a27) 52%, var(--foreground));--ped-exo-bg:color-mix(in oklch, var(--primary,#2d2a27) 8%, var(--card));--ped-exo-border:color-mix(in oklch, var(--primary,#2d2a27) 24%, var(--border));--ped-rem:#5c5650;--ped-info:#3d3935;--ped-info-bg:#ebe8e4;--ped-shadow:0 4px 24px #00000014;--ped-shadow-thm:0 16px 48px -8px #00000038}.sombre{--ped-def:#b8b2aa;--ped-def-dark:#f2f0ec;--ped-def-bg:#2c2b28;--ped-thm-bg:#282624;--ped-thm-band:#22201f;--ped-thm-fg:#f2f0ec;--ped-thm-accent:color-mix(in oklch, var(--primary,#b8b2aa) 58%, var(--foreground));--ped-thm-border:color-mix(in oklch, var(--primary,#b8b2aa) 24%, var(--border));--ped-lemma:#a8a4a0;--ped-lemma-bg:#292825;--ped-prop:#a8a4a0;--ped-prop-bg:#282624;--ped-proof:#8a847c;--ped-proof-bg:#201f1d;--ped-ex:#a8a4a0;--ped-ex-bg:#292825;--ped-exo:color-mix(in oklch, var(--primary,#b8b2aa) 58%, var(--foreground));--ped-exo-bg:color-mix(in oklch, var(--primary,#b8b2aa) 10%, var(--card));--ped-exo-border:color-mix(in oklch, var(--primary,#b8b2aa) 28%, var(--border));--ped-rem:#8a847c;--ped-info:#b8b2aa;--ped-info-bg:#292825;--ped-shadow:0 8px 32px #0000007a;--ped-shadow-thm:0 20px 56px -12px #0000009e}.course-pedagogy{margin:0;scroll-margin-top:7rem}.course-pedagogy__inner{border:1px solid color-mix(in srgb, var(--border) 85%, transparent);background:var(--card);box-shadow:var(--ped-shadow);border-radius:1rem;position:relative;overflow:hidden}:is(.course-pedagogy__inner:has(.content-svg-figure),.course-pedagogy__inner:has(.tikz-figure)){overflow:visible}.course-pedagogy__header{align-items:flex-start;gap:.875rem;padding:1.1rem 1.35rem .75rem;display:flex}.course-pedagogy__icon{border-radius:.7rem;flex-shrink:0;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;display:flex}.course-pedagogy__label{letter-spacing:.16em;text-transform:uppercase;font-size:.62rem;font-weight:800}.course-pedagogy__title{letter-spacing:-.02em;color:var(--foreground);margin-top:.2rem;font-size:1.08rem;font-weight:600;line-height:1.32}.course-pedagogy__body{padding:0 1.35rem 1.25rem}.course-pedagogy__body .rich-text.prose,.course-pedagogy__body .rich-text.prose p,.course-pedagogy__body .rich-text.prose li,.course-pedagogy__body .rich-text.prose blockquote,.course-pedagogy__definition-prose .rich-text.prose,.course-pedagogy__definition-prose .rich-text.prose p,.course-pedagogy__definition-prose .rich-text.prose li,.course-pedagogy--remark .course-pedagogy__body--remark .rich-text.prose,.course-pedagogy--remark .course-pedagogy__body--remark .rich-text.prose p,.course-pedagogy--remark .course-pedagogy__body--remark .rich-text.prose li,.course-pedagogy--info .course-pedagogy__body--info .rich-text.prose,.course-pedagogy--info .course-pedagogy__body--info .rich-text.prose p,.course-pedagogy--info .course-pedagogy__body--info .rich-text.prose li{text-align:justify;text-justify:inter-word;-webkit-hyphens:auto;hyphens:auto}.course-pedagogy__body .rich-text.prose :is(h1,h2,h3,h4,h5,h6,pre,code),.course-pedagogy__definition-prose .rich-text.prose :is(h1,h2,h3,h4,h5,h6,pre,code),.course-pedagogy--remark .course-pedagogy__body--remark .rich-text.prose :is(h1,h2,h3,h4,h5,h6,pre,code),.course-pedagogy--info .course-pedagogy__body--info .rich-text.prose :is(h1,h2,h3,h4,h5,h6,pre,code){text-align:left;-webkit-hyphens:manual;hyphens:manual}.course-pedagogy__body .rich-text.prose>:first-child{margin-top:0}.course-pedagogy__body .rich-text.prose>:last-child{margin-bottom:0}.course-pedagogy--definition{margin:1.85rem 0 1.75rem;padding:0}.course-pedagogy__definition-intro{border-bottom:1px solid color-mix(in srgb, var(--ped-def) 20%, var(--border));margin:0 0 .7rem;padding-bottom:.55rem}.course-pedagogy__definition-kind{letter-spacing:.14em;text-transform:uppercase;color:var(--ped-def);margin:0;font-size:.6875rem;font-weight:700}.course-pedagogy__definition-name{max-width:42rem;font-family:var(--font-heading,var(--font-sans));letter-spacing:-.015em;text-wrap:balance;color:var(--foreground);margin:.45rem 0 0;font-size:clamp(1.04rem,2.1vw,1.16rem);font-style:italic;font-weight:600;line-height:1.38}.course-pedagogy__definition-prose .rich-text.prose{max-width:none;color:var(--foreground);text-justify:inter-word;-webkit-hyphens:auto;hyphens:auto;line-height:1.72;text-align:justify!important}.course-pedagogy__definition-prose .rich-text.prose p,.course-pedagogy__definition-prose .rich-text.prose li,.course-pedagogy__definition-prose .rich-text.prose blockquote{text-justify:inter-word;-webkit-hyphens:auto;hyphens:auto;text-align:justify!important}.course-pedagogy__definition-prose .rich-text.prose>:first-child{margin-top:0}.course-pedagogy__definition-prose .rich-text.prose>:last-child{margin-bottom:0}.course-pedagogy__definition-prose .rich-text.prose :where(strong,b){color:var(--foreground);font-weight:650}.course-pedagogy__definition-prose .rich-text.prose :where(a){color:color-mix(in srgb, var(--ped-def) 72%, var(--primary));text-underline-offset:3px}.course-pedagogy__definition-prose .rich-text.prose :where(em){color:color-mix(in srgb, var(--foreground) 88%, var(--ped-def))}.course-content .course-pedagogy--theorem{--ped-thm-accent:var(--course-nav-accent,var(--course-accent,var(--primary)))}.course-pedagogy--theorem{box-shadow:none;background:0 0;margin:1.75rem 0 1.85rem;padding:0;position:relative}.course-pedagogy__theorem-watermark{pointer-events:none;z-index:0;width:5.5rem;height:5.5rem;color:var(--ped-thm-accent);opacity:.055;position:absolute;top:.35rem;left:50%;transform:translate(-50%)}.course-pedagogy__theorem-intro{z-index:1;align-items:center;gap:.875rem;margin:0 0 .55rem;display:flex;position:relative}.course-pedagogy__theorem-rule{background:linear-gradient(90deg, transparent 0%, color-mix(in oklch, var(--ped-thm-accent) 28%, var(--border)) 18%, color-mix(in oklch, var(--ped-thm-accent) 38%, var(--border)) 50%, color-mix(in oklch, var(--ped-thm-accent) 28%, var(--border)) 82%, transparent 100%);flex:1;height:1px}.course-pedagogy__theorem-kind{letter-spacing:.18em;text-transform:uppercase;color:var(--ped-thm-accent);flex-shrink:0;margin:0;font-size:.6875rem;font-weight:800}.course-pedagogy__theorem-name{z-index:1;max-width:44rem;font-family:var(--font-heading,var(--font-sans));letter-spacing:-.015em;text-align:center;text-wrap:balance;color:var(--foreground);margin:0 0 .85rem;font-size:clamp(1.04rem,2.15vw,1.18rem);font-style:italic;font-weight:600;line-height:1.38;position:relative}.course-pedagogy__theorem-frame{z-index:1;border-top:1px solid color-mix(in oklch, var(--ped-thm-accent) 22%, var(--border));border-bottom:1px solid color-mix(in oklch, var(--ped-thm-accent) 22%, var(--border));box-shadow:none;background:0 0;padding:1rem 0 1.05rem;position:relative}.course-pedagogy__theorem-frame:before,.course-pedagogy__theorem-frame:after{content:"";pointer-events:none;height:1px;position:absolute;left:0;right:0}.course-pedagogy__theorem-frame:before{background:color-mix(in oklch, var(--ped-thm-accent) 10%, transparent);top:3px}.course-pedagogy__theorem-frame:after{background:color-mix(in oklch, var(--ped-thm-accent) 10%, transparent);bottom:3px}.course-pedagogy--theorem .course-pedagogy__body{margin:0;padding:0 .5rem}@media (min-width:640px){.course-pedagogy--theorem .course-pedagogy__body{padding-inline:1.25rem}}.course-pedagogy--theorem .course-pedagogy__body .rich-text.prose{color:var(--foreground);line-height:1.72}.course-pedagogy--theorem .course-pedagogy__body .rich-text.prose :where(strong,b){font-weight:650}.course-pedagogy--theorem .course-pedagogy__body .rich-text.prose :where(a){color:var(--ped-thm-accent);text-underline-offset:3px}.course-pedagogy--lemma .course-pedagogy__inner{border-color:color-mix(in srgb, var(--ped-lemma) 32%, var(--border));background:var(--ped-lemma-bg)}.course-pedagogy--lemma .course-pedagogy__inner:before{content:"";background:linear-gradient(180deg, var(--ped-lemma), transparent);border-radius:0 3px 3px 0;width:3px;position:absolute;top:.85rem;bottom:.85rem;left:0}.course-pedagogy--lemma .course-pedagogy__hex{background:linear-gradient(150deg, var(--ped-lemma), color-mix(in srgb, var(--ped-lemma) 70%, #000));clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);color:#fff;flex-shrink:0;justify-content:center;align-items:center;width:2.5rem;height:2.75rem;display:flex}.course-pedagogy--lemma .course-pedagogy__label{color:var(--ped-lemma)}.course-pedagogy--lemma .course-pedagogy__body{border-left:1px dashed color-mix(in srgb, var(--ped-lemma) 35%, var(--border));margin-left:.5rem;padding-left:1.25rem}.course-content .course-pedagogy--property{--ped-prop:var(--course-nav-accent,var(--course-accent,var(--primary)));--ped-prop-bg:color-mix(in oklch, var(--ped-prop) 5%, var(--background))}.course-pedagogy--property{margin:.5rem 0 1.35rem}.course-pedagogy--property .course-pedagogy__inner{border:none;border-left:3px solid var(--ped-prop);box-shadow:none;background:0 0;border-radius:0;overflow:visible}.course-pedagogy--property .course-pedagogy__hero{border-bottom:1px solid color-mix(in oklch, var(--ped-prop) 14%, var(--border));background:color-mix(in oklch, var(--ped-prop) 6%, var(--background));margin-bottom:.35rem;padding:.3125rem 0 .375rem .875rem;position:relative;overflow:hidden}.course-pedagogy--property .course-pedagogy__watermark{pointer-events:none;z-index:0;width:2.75rem;height:2.75rem;color:var(--ped-prop);opacity:.09;position:absolute;bottom:0;right:.15rem}.course-pedagogy--property .course-pedagogy__header{z-index:1;border-bottom:none;gap:.625rem;padding:0;position:relative}.course-pedagogy--property .course-pedagogy__icon{border:1px solid color-mix(in oklch, var(--ped-prop) 20%, var(--border));background:color-mix(in oklch, var(--ped-prop) 8%, transparent);width:1.75rem;height:1.75rem;color:var(--ped-prop);border-radius:.4375rem}.course-pedagogy--property .course-pedagogy__label{border:1px solid color-mix(in oklch, var(--ped-prop) 20%, var(--border));background:color-mix(in oklch, var(--ped-prop) 7%, transparent);letter-spacing:.08em;color:var(--ped-prop);border-radius:.375rem;align-items:center;margin:0;padding:.125rem .4375rem;font-size:.5625rem;font-weight:800;display:inline-flex}.course-pedagogy--property .course-pedagogy__title{letter-spacing:-.022em;margin-top:.35rem;font-size:clamp(1rem,2vw,1.0625rem);font-weight:700;line-height:1.33}.course-pedagogy--property .course-pedagogy__body{background:0 0;border:none;border-radius:0;margin:0;padding:.2rem 0 .15rem .875rem}.course-pedagogy--property .course-pedagogy__body .rich-text.prose :where(strong){color:var(--foreground)}.course-pedagogy--property .course-pedagogy__body .rich-text.prose :where(a){color:var(--ped-prop);text-underline-offset:3px}.course-pedagogy--proof{margin-left:1.25rem}@media (max-width:640px){.course-pedagogy--proof{margin-left:.5rem}}.course-pedagogy--proof .course-pedagogy__inner{border:none;border-left:3px dotted var(--ped-proof);background:var(--ped-proof-bg);box-shadow:none;border-radius:0 .85rem .85rem 0}.course-pedagogy--proof .course-pedagogy__header{background:color-mix(in srgb, var(--ped-proof) 8%, transparent);border-bottom:1px solid color-mix(in srgb, var(--ped-proof) 20%, var(--border))}.course-pedagogy--proof .course-pedagogy__icon{background:var(--ped-proof);color:#fff;border:none;border-radius:6px;width:1.65rem;height:1.65rem}.course-pedagogy--proof .course-pedagogy__label{color:var(--ped-proof);font-style:italic}.course-pedagogy--proof .course-pedagogy__body .rich-text.prose p{text-indent:1.1rem}.course-pedagogy--proof .course-pedagogy__body .rich-text.prose p:first-child{text-indent:0}.course-pedagogy--proof .course-pedagogy__body:after{content:"∎";text-align:right;color:var(--ped-proof);opacity:.85;margin-top:.75rem;font-size:.85rem;font-weight:900;display:block}.course-example{box-shadow:none;background:0 0;border:none;margin:1.85rem 0 1.65rem;padding:0;scroll-margin-top:7rem}.course-example__intro{border-bottom:1px solid color-mix(in srgb, var(--border) 82%, transparent);margin:0 0 1rem;padding-bottom:.65rem}.course-example__kind{letter-spacing:.14em;text-transform:uppercase;color:var(--muted-foreground);margin:0;font-size:.6875rem;font-weight:700}.course-example__title{max-width:46rem;font-family:var(--font-heading,var(--font-sans));letter-spacing:-.015em;text-wrap:balance;color:var(--foreground);margin:.45rem 0 0;font-size:clamp(1.02rem,2.1vw,1.14rem);font-style:italic;font-weight:600;line-height:1.38}.course-example__body{flex-direction:column;gap:1.1rem;display:flex}.course-example__block>:first-child{margin-top:0}.course-example__block>:last-child{margin-bottom:0}.course-example__prose.rich-text.prose,.course-example__body .rich-text.prose{max-width:none;color:var(--foreground);line-height:1.72}.course-example__prose.rich-text.prose>:first-child,.course-example__body .rich-text.prose>:first-child{margin-top:0}.course-example__prose.rich-text.prose>:last-child,.course-example__body .rich-text.prose>:last-child{margin-bottom:0}.course-pedagogy--example .course-pedagogy__inner{border:1px solid color-mix(in srgb, var(--ped-ex) 30%, var(--border));background:var(--ped-ex-bg);box-shadow:none}.course-pedagogy--example .course-pedagogy__inner:after{content:none}.course-pedagogy--example .course-pedagogy__icon{color:var(--ped-ex);background:color-mix(in srgb, var(--ped-ex) 14%, transparent);border-color:color-mix(in srgb, var(--ped-ex) 28%, transparent)}.course-pedagogy--example .course-pedagogy__label{color:var(--ped-ex)}.course-pedagogy--example .course-pedagogy__body{border-left:3px solid color-mix(in srgb, var(--ped-ex) 40%, transparent);background:color-mix(in srgb, var(--ped-ex) 5%, var(--card));border-radius:0 .65rem .65rem 0;margin:0 1rem 1rem;padding:1rem 1.15rem}.course-exercise{box-shadow:none;background:0 0;border:none;margin:1.85rem 0 1.65rem;padding:0;scroll-margin-top:7rem}.course-exercise__content{padding-left:1.1rem;position:relative}.course-exercise__content:before{content:"";background:var(--primary);border-radius:2px;width:3px;position:absolute;top:.1rem;bottom:.15rem;left:0}.course-exercise__intro{border-bottom:1px solid color-mix(in srgb, var(--border) 82%, transparent);margin:0 0 1rem;padding-bottom:.65rem}.course-exercise__kind{letter-spacing:.14em;text-transform:uppercase;color:var(--primary);align-items:center;gap:.5rem;margin:0;font-size:.6875rem;font-weight:700;display:flex}.course-exercise-q__num{min-width:1.65rem;height:1.65rem;font-family:var(--font-mono,ui-monospace, monospace);letter-spacing:0;font-variant-numeric:tabular-nums;color:var(--primary-foreground,#fff);background:var(--primary);box-shadow:0 1px 0 color-mix(in srgb, var(--primary) 30%, transparent);white-space:nowrap;border-radius:.4rem;flex-shrink:0;justify-content:center;align-items:center;padding:0 .35rem;font-size:.8125rem;font-weight:800;line-height:1;display:inline-flex}.course-exercise__kind-num{font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;box-shadow:none;background:0 0;border-radius:0;min-width:0;height:auto;padding:0}.course-exercise__kind-label{flex-shrink:0}.course-exercise__title{max-width:46rem;font-family:var(--font-heading,var(--font-sans));letter-spacing:-.015em;text-wrap:balance;color:var(--foreground);margin:.45rem 0 0;font-size:clamp(1.02rem,2.1vw,1.14rem);font-weight:600;line-height:1.38}.course-exercise__body{flex-direction:column;gap:.85rem;display:flex}.course-exercise__body>.course-exercise-q-list{margin-top:-.15rem}.course-exercise__block>:first-child{margin-top:0}.course-exercise__block>:last-child{margin-bottom:0}.course-exercise-part{margin:.65rem 0 .2rem;padding:.55rem 0 0}.course-exercise-part:not(:first-child){border-top:1px solid color-mix(in srgb, var(--border) 78%, transparent);margin-top:.85rem;padding-top:.65rem}.course-exercise-part__label{max-width:46rem;font-family:var(--font-heading,var(--font-sans));letter-spacing:-.015em;text-wrap:balance;color:var(--foreground);margin:0;font-size:clamp(.96rem,1.9vw,1.06rem);font-weight:600;line-height:1.38}.course-exercise-part__body{flex-direction:column;gap:.35rem;margin-top:.35rem;display:flex}.course-exercise-part__block>:first-child{margin-top:0}.course-exercise-part__block>:last-child{margin-bottom:0}.course-exercise-part__prose.rich-text.prose{max-width:none;color:color-mix(in srgb, var(--foreground) 92%, var(--muted-foreground));line-height:1.72}.course-exercise-part__prose.rich-text.prose>:first-child{margin-top:0}.course-exercise-part__prose.rich-text.prose>:last-child{margin-bottom:0}.course-exercise-q-list{flex-direction:column;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.course-exercise-q{-moz-column-gap:.55rem;box-shadow:none;font-size:inherit;background:0 0;border:none;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:0 .55rem;margin:0;padding:0;line-height:1.72;display:grid}.course-exercise-q--sub{-moz-column-gap:.45rem;grid-template-columns:auto minmax(0,1fr);column-gap:.45rem}.course-exercise-q--deep{-moz-column-gap:.4rem;grid-template-columns:auto minmax(0,1fr);column-gap:.4rem}.course-exercise-q--deep .course-exercise-q__num{border-radius:.32rem;min-width:1.35rem;height:1.35rem;padding:0 .28rem;font-size:.6875rem}.course-exercise-q--deep .course-exercise-sublist{margin-left:.15rem}.course-exercise-sublist{border:none;flex-direction:column;gap:.1rem;margin:.2rem 0 0;padding:0;list-style:none;display:flex}.course-exercise-q__num{justify-self:start;margin-top:.12em}.course-exercise-q--sub .course-exercise-q__num{border-radius:.35rem;min-width:1.5rem;height:1.5rem;padding:0 .3rem;font-size:.75rem}.course-exercise-q__content{flex-direction:column;grid-column:2;gap:.35rem;min-width:0;display:flex}.course-exercise-q--sub .course-exercise-q__content{gap:.25rem}.course-exercise-q:not(.course-exercise-q--sub)>.course-exercise-q__num{grid-area:1/1;align-self:start}.course-exercise-q:not(.course-exercise-q--sub)>.course-exercise-q__content{grid-area:1/2}.course-exercise-q__block>:first-child{margin-top:0}.course-exercise-q__block>:last-child{margin-bottom:0}.course-exercise-q__prose.rich-text.prose,.course-exercise-q__content .rich-text.prose{max-width:none;line-height:inherit;color:var(--foreground);font-size:inherit}.course-exercise-q__prose.rich-text.prose>:first-child,.course-exercise-q__content .rich-text.prose>:first-child{margin-top:0}.course-exercise-q__prose.rich-text.prose>:last-child,.course-exercise-q__content .rich-text.prose>:last-child{margin-bottom:0}.course-exercise-q__content .rich-text.prose p{margin-top:.3em;margin-bottom:.3em}.course-exercise-q__content .rich-text.prose p:first-child{margin-top:0}.course-exercise-q__content .rich-text.prose p:last-child{margin-bottom:0}.course-exercise__prose.rich-text.prose,.course-exercise__body .rich-text.prose{max-width:none;color:var(--foreground);line-height:1.72}.course-exercise__prose.rich-text.prose>:first-child,.course-exercise__body .rich-text.prose>:first-child{margin-top:0}.course-exercise__prose.rich-text.prose>:last-child,.course-exercise__body .rich-text.prose>:last-child{margin-bottom:0}.course-pedagogy--remark{margin:.5rem 0 1.5rem}.course-pedagogy--remark .course-pedagogy__inner{box-shadow:none;background:0 0;border:none;border-radius:0;overflow:visible}.course-pedagogy--remark .course-pedagogy__remark-head{flex-wrap:wrap;align-items:baseline;gap:.5rem .85rem;margin-bottom:.35rem;padding:0 0 .55rem;display:flex}.course-pedagogy--remark .course-pedagogy__remark-head:has(.course-pedagogy__title):after{content:"";background:linear-gradient(90deg, color-mix(in srgb, var(--ped-rem) 28%, transparent) 0%, color-mix(in srgb, var(--ped-rem) 8%, var(--border)) 42%, transparent 100%);flex-basis:100%;height:1px;margin-top:.15rem}.course-pedagogy--remark .course-pedagogy__badge--remark{border:1px solid color-mix(in srgb, var(--ped-rem) 32%, transparent);border-left:3px solid var(--ped-rem);letter-spacing:.1em;text-transform:uppercase;color:var(--ped-rem);background:color-mix(in srgb, var(--ped-rem) 6%, transparent);box-shadow:none;border-radius:.4rem;align-items:center;gap:.45rem;padding:.34rem .75rem .34rem .5rem;font-size:.63rem;font-weight:750;display:inline-flex}.course-pedagogy--remark .course-pedagogy__remark-mark{width:1.05rem;height:1.05rem;color:var(--ped-rem);background:color-mix(in srgb, var(--ped-rem) 14%, transparent);border-radius:.28rem;flex-shrink:0;justify-content:center;align-items:center;display:flex}.course-pedagogy--remark .course-pedagogy__title{letter-spacing:-.015em;color:var(--ped-rem-title,var(--foreground));margin:0;font-size:1.04rem;font-weight:600;line-height:1.38}.course-pedagogy--remark .course-pedagogy__title:before{content:"—";color:color-mix(in srgb, var(--ped-rem) 55%, var(--muted-foreground));margin-right:.45rem;font-weight:500}.course-pedagogy--remark .course-pedagogy__body--remark{margin:0;padding:.2rem 0 .15rem 1.2rem;position:relative}.course-pedagogy--remark .course-pedagogy__body--remark:before{content:"";background:linear-gradient(180deg, var(--ped-rem) 0%, color-mix(in srgb, var(--ped-rem) 42%, transparent) 72%, transparent 100%);border-radius:1px;width:2px;position:absolute;top:.2rem;bottom:.2rem;left:0}.course-pedagogy--remark .course-pedagogy__body--remark .rich-text.prose{color:color-mix(in srgb, var(--foreground) 90%, var(--ped-rem));font-size:.98rem;line-height:1.65}.course-pedagogy--remark .course-pedagogy__body--remark .rich-text.prose>:first-child{margin-top:0}.course-pedagogy--remark .course-pedagogy__body--remark .rich-text.prose>:last-child{margin-bottom:0}.course-pedagogy--remark .course-pedagogy__body--remark .rich-text.prose :where(strong){color:var(--foreground)}.course-pedagogy--remark .course-pedagogy__body--remark .rich-text.prose :where(a){color:var(--ped-rem);text-underline-offset:3px}.clair .course-pedagogy--remark,.sombre .course-pedagogy--remark{--ped-rem-title:var(--text-bright,var(--foreground))}.course-content .course-pedagogy--info{--ped-info:var(--course-nav-accent,var(--course-accent,var(--ped-info)))}.course-pedagogy--info{margin:.5rem 0 1.25rem}.course-pedagogy--info .course-pedagogy__inner--info{border:none;border-left:3px solid var(--ped-info);box-shadow:none;background:0 0;border-radius:0;padding:.1rem 0 .15rem .875rem;overflow:visible}.course-pedagogy--info .course-pedagogy__inner--info:before{display:none}.course-pedagogy--info .course-pedagogy__info-title{letter-spacing:-.022em;color:var(--foreground);text-wrap:balance;align-items:center;gap:.5rem;margin:0 0 .375rem;font-size:1.0625rem;font-weight:700;line-height:1.32;display:flex}.course-pedagogy--info .course-pedagogy__info-title-icon{width:1.125rem;height:1.125rem;color:var(--ped-info);flex-shrink:0}.course-pedagogy--info .course-pedagogy__body--info{margin:0;padding:0}.course-pedagogy--info .course-pedagogy__body--info:before{display:none}.course-pedagogy--info .course-pedagogy__body--info .rich-text.prose{color:color-mix(in oklch, var(--foreground) 90%, var(--muted-foreground));font-size:.9375rem;line-height:1.6}.course-pedagogy--info .course-pedagogy__body--info .rich-text.prose>:first-child{margin-top:0}.course-pedagogy--info .course-pedagogy__body--info .rich-text.prose>:last-child{margin-bottom:0}.course-pedagogy--info .course-pedagogy__body--info .rich-text.prose :where(strong){color:var(--foreground)}.course-pedagogy--info .course-pedagogy__body--info .rich-text.prose :where(a){color:var(--ped-info);text-underline-offset:3px}
.supports-page{--supports-page-gutter:clamp(1.25rem, 3vw, 3rem);--supports-page-bg:var(--background);--supports-page-surface:var(--cb-surface,var(--card));--supports-page-line:var(--cb-line,var(--border));background:var(--supports-page-bg);width:100%}.supports-page--fixed{flex-direction:column;flex:auto;height:100%;min-height:0;max-height:100%;display:flex;overflow:hidden}.supports-main--fixed{flex-direction:column;flex:auto;min-height:0;display:flex;overflow:hidden}.sombre .supports-page{--supports-page-bg:var(--bg-primary,var(--background));--supports-page-surface:var(--surface-raised,var(--card))}.catalog-page{flex-direction:column;gap:0;min-height:0;display:flex}.catalog-page__filters{padding:clamp(1rem, 2.5vw, 1.35rem) var(--supports-page-gutter,clamp(1.25rem, 3vw, 3rem)) .5rem;flex-direction:column;gap:.65rem;display:flex}.catalog-page__promo-chips{flex-wrap:wrap;gap:.4rem;display:flex}.catalog-page__main{flex-direction:column;gap:clamp(1.5rem,3.5vw,2.25rem);padding-bottom:clamp(2.5rem,6vw,4rem);display:flex}.catalog-library{--catalog-folio-accent:var(--primary);--catalog-library-dwell:5.2s;border-bottom:1px solid var(--supports-page-line);background:linear-gradient(180deg, color-mix(in oklch, var(--muted) 22%, var(--supports-page-bg)) 0%, var(--supports-page-bg) 100%);padding:clamp(1.05rem,2.6vw,1.45rem) 0 clamp(1.2rem,3vw,1.6rem);position:relative}.catalog-library__toolbar{padding:0 var(--supports-page-gutter) .85rem;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.catalog-library__counter{font-variant-numeric:tabular-nums;letter-spacing:.08em;color:var(--muted-foreground);align-items:baseline;gap:.15rem;margin:0;font-size:.6875rem;font-weight:650;display:inline-flex}.catalog-library__counter-current{letter-spacing:-.02em;color:var(--foreground);font-size:.875rem;font-weight:750}.catalog-library__counter-sep{opacity:.4}.catalog-library__nav{gap:.3rem;display:inline-flex}.catalog-library__nav-btn,.catalog-library__toggle{border:1px solid var(--supports-page-line);background:var(--supports-page-surface);width:2rem;height:2rem;color:var(--foreground);cursor:pointer;border-radius:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.catalog-library__nav-btn:hover,.catalog-library__toggle:hover{border-color:color-mix(in oklch, var(--foreground) 22%, var(--border));background:color-mix(in oklch, var(--muted) 35%, var(--supports-page-surface))}.catalog-library__shelf-wrap{padding-inline:var(--supports-page-gutter)}.catalog-library__shelf{overscroll-behavior-x:contain;overflow-anchor:none;scroll-snap-type:x proximity;scrollbar-width:thin;border-top:1px solid var(--supports-page-line);align-items:stretch;gap:.45rem;min-height:15rem;padding:1rem 0 .45rem;display:flex;overflow:auto hidden}.catalog-library__slot{scroll-snap-align:center;flex:none}.catalog-library__slot.is-active{z-index:2}.catalog-library__ledge{border:1px solid var(--supports-page-line);background:repeating-linear-gradient(-45deg, transparent, transparent 4px, color-mix(in oklch, var(--muted-foreground) 10%, transparent) 4px, color-mix(in oklch, var(--muted-foreground) 10%, transparent) 5px), var(--supports-page-surface);border-bottom:none;height:.55rem}.catalog-folio{--catalog-folio-accent:var(--primary);--catalog-item-title-size:1.12rem;--catalog-item-title-leading:1.18;border:1px solid var(--supports-page-line);background:var(--supports-page-surface);width:3.15rem;height:15rem;color:inherit;cursor:pointer;border-radius:0;grid-template-columns:3.15rem 0fr;padding:0;text-decoration:none;transition:width .55s cubic-bezier(.22,1,.36,1),grid-template-columns .55s cubic-bezier(.22,1,.36,1),border-color .2s;display:grid;position:relative;overflow:hidden}.catalog-folio:hover:not(.is-active){border-color:color-mix(in oklch, var(--catalog-folio-accent) 35%, var(--border))}.catalog-folio.is-active{border-color:color-mix(in oklch, var(--catalog-folio-accent) 42%, var(--border));grid-template-columns:3.35rem minmax(0,1fr);width:min(21rem,82vw)}.catalog-folio.is-restricted,.catalog-folio.is-locked{cursor:default}.catalog-folio.is-locked{--catalog-folio-accent:var(--foreground)}.catalog-folio.is-locked .catalog-folio__rail{background:linear-gradient(180deg, color-mix(in oklch, var(--foreground) 78%, var(--supports-page-surface)), color-mix(in oklch, var(--foreground) 62%, var(--supports-page-surface)));color:var(--supports-page-surface)}.clair .catalog-folio.is-locked .catalog-folio__rail{background:linear-gradient(180deg, color-mix(in oklch, var(--foreground) 88%, white), color-mix(in oklch, var(--foreground) 72%, white));color:#fff}.sombre .catalog-folio.is-locked .catalog-folio__rail{background:linear-gradient(180deg, color-mix(in oklch, var(--foreground) 22%, white), color-mix(in oklch, var(--foreground) 55%, white));color:var(--background)}.catalog-folio.is-locked .catalog-folio__flag{color:var(--muted-foreground)}.catalog-folio__hatch{z-index:2;pointer-events:none;background:repeating-linear-gradient(-32deg, transparent 0, transparent 4px, color-mix(in oklch, var(--foreground) 22%, transparent) 4px, color-mix(in oklch, var(--foreground) 22%, transparent) 5.5px);position:absolute;inset:0}.catalog-folio.is-restricted .catalog-folio__rail,.catalog-folio.is-restricted .catalog-folio__body{z-index:3;position:relative}.catalog-folio.is-restricted .catalog-folio__hatch{z-index:4;mix-blend-mode:multiply;opacity:.85}.sombre .catalog-folio.is-restricted .catalog-folio__hatch{mix-blend-mode:soft-light;opacity:1;background:repeating-linear-gradient(-32deg,#0000 0 4px,#ffffff29 4px 5.5px);background:repeating-linear-gradient(-32deg,#0000 0 4px,lab(100% 0 0/.16) 4px 5.5px)}.catalog-folio__rail{z-index:1;background:linear-gradient(180deg, color-mix(in oklch, var(--catalog-folio-accent) 88%, black 6%), color-mix(in oklch, var(--catalog-folio-accent) 72%, black 14%));min-width:0;height:100%;min-height:0;color:color-mix(in oklch, white 92%, var(--catalog-folio-accent));flex-direction:column;justify-content:flex-start;align-items:center;gap:.65rem;padding:.85rem .35rem .75rem;display:flex;position:relative}.catalog-folio__rail-index{font-variant-numeric:tabular-nums;letter-spacing:.1em;opacity:.85;flex-shrink:0;font-size:.625rem;font-weight:750}.catalog-folio__rail-icon{opacity:.95;flex-shrink:0;width:1.15rem;height:1.15rem}.catalog-folio__rail-title{writing-mode:vertical-rl;text-overflow:ellipsis;white-space:nowrap;letter-spacing:.05em;opacity:.92;flex:auto;justify-content:center;align-items:center;min-height:0;font-size:.72rem;font-weight:650;transition:opacity .18s;display:flex;overflow:hidden;transform:rotate(180deg)}.catalog-folio.is-active .catalog-folio__rail-title{opacity:0;pointer-events:none}.catalog-folio__body{opacity:0;pointer-events:none;flex-direction:column;gap:.4rem;min-width:0;height:100%;min-height:0;padding:0;transition:opacity .2s;display:flex;overflow:hidden}.catalog-folio.is-active .catalog-folio__body{opacity:1;pointer-events:auto;padding:.95rem 1.05rem .9rem 1rem;transition:opacity .35s .12s}.catalog-folio__head{flex-shrink:0;align-items:center;gap:.5rem;min-height:1rem;display:flex}.catalog-folio__eyebrow{text-overflow:ellipsis;white-space:nowrap;letter-spacing:.08em;text-transform:uppercase;min-width:0;color:var(--muted-foreground);font-size:.625rem;font-weight:700;overflow:hidden}.catalog-folio__head-end{flex-shrink:0;align-items:center;gap:.4rem;margin-left:auto;display:inline-flex}.catalog-folio__flag{letter-spacing:.1em;text-transform:uppercase;color:color-mix(in oklch, var(--catalog-folio-accent) 55%, var(--foreground));font-size:.5625rem;font-weight:750}.catalog-folio__lock{width:.9rem;height:.9rem;color:var(--muted-foreground)}.catalog-folio__title{-webkit-line-clamp:2;min-height:0;font-family:var(--font-heading,var(--font-sans));font-size:var(--catalog-item-title-size);letter-spacing:-.035em;font-weight:700;line-height:var(--catalog-item-title-leading);color:var(--foreground);-webkit-box-orient:vertical;flex:0 auto;display:-webkit-box;overflow:hidden}.catalog-folio__lede{-webkit-line-clamp:1;min-height:0;color:var(--muted-foreground);-webkit-box-orient:vertical;flex:0 auto;font-size:.75rem;line-height:1.35;display:-webkit-box;overflow:hidden}.catalog-folio__foot{border-top:1px solid color-mix(in oklch, var(--border) 82%, transparent);flex-shrink:0;margin-top:auto;padding-top:.5rem}.catalog-folio__cta{letter-spacing:.01em;color:var(--foreground);align-items:center;gap:.35rem;font-size:.75rem;font-weight:700;display:inline-flex}.catalog-folio__cta-icon{flex-shrink:0;width:.95rem;height:.95rem;transition:transform .18s}.catalog-folio.is-active:hover .catalog-folio__cta-icon{transform:translate(.12rem,-.12rem)}.catalog-folio__cta--muted{color:var(--muted-foreground);font-weight:600}.catalog-library__progress{left:var(--supports-page-gutter);right:var(--supports-page-gutter);transform-origin:0;background:color-mix(in oklch, var(--foreground) 32%, transparent);height:2px;animation:catalog-library-progress var(--catalog-library-dwell) linear forwards;position:absolute;bottom:0}.catalog-library__progress.is-paused{animation-play-state:paused}@keyframes catalog-library-progress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@media (prefers-reduced-motion:reduce){.catalog-folio,.catalog-folio__body,.catalog-folio__rail-title{transition:none}.catalog-library__progress{display:none}}.catalog-library--loading .catalog-folio{pointer-events:none;grid-template-columns:3.15rem 0fr;width:3.15rem}.catalog-library--loading .catalog-folio.is-active{grid-template-columns:3.35rem 1fr;width:min(21rem,82vw)}.catalog-sections{padding-inline:var(--supports-page-gutter);flex-direction:column;gap:clamp(1.75rem,4vw,2.5rem);display:flex}.catalog-sections__promo{flex-direction:column;gap:1.15rem;scroll-margin-top:5rem;display:flex}.catalog-sections__promo-head{border-bottom:1px solid var(--supports-page-line);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem 1rem;padding-bottom:.75rem;display:flex}.catalog-sections__promo-title{flex-wrap:wrap;align-items:baseline;gap:.55rem .75rem;min-width:0;margin:0;display:flex}.catalog-sections__promo-code{background:color-mix(in oklch, var(--primary) 12%, var(--muted));letter-spacing:.06em;text-transform:uppercase;color:color-mix(in oklch, var(--primary) 55%, var(--foreground));border:none;border-radius:0;align-items:center;padding:.15rem .45rem;font-size:.6875rem;font-weight:750;display:inline-flex}.catalog-sections__promo-label{font-family:var(--font-heading,var(--font-sans));letter-spacing:-.025em;color:var(--foreground);font-size:clamp(1.125rem,2.2vw,1.375rem);font-weight:700;line-height:1.2}.catalog-sections__promo-count{color:var(--muted-foreground);font-size:.75rem;font-weight:600}.catalog-sections__semesters{flex-direction:column;gap:1.35rem;display:flex}.catalog-sections__semester-head{justify-content:space-between;align-items:center;gap:.75rem;margin:0 0 .65rem;display:flex}.catalog-sections__semester-label{letter-spacing:-.01em;color:var(--foreground);font-size:.8125rem;font-weight:650}.catalog-sections__semester-count{font-variant-numeric:tabular-nums;color:var(--muted-foreground);font-size:.6875rem;font-weight:700}.catalog-sections__list,.catalog-sections__list--masonry{-moz-columns:1;columns:1;-moz-column-gap:.55rem;column-gap:.55rem;margin:0;padding:0;list-style:none;display:block}@media (min-width:640px){.catalog-sections__list,.catalog-sections__list--masonry{-moz-columns:2;columns:2}}@media (min-width:1024px){.catalog-sections__list,.catalog-sections__list--masonry{-moz-columns:3;columns:3}}.catalog-sections__item{-moz-column-break-inside:avoid;break-inside:avoid;page-break-inside:avoid;-webkit-column-break-inside:avoid;width:100%;min-width:0;margin:0 0 .55rem;display:block}.catalog-sections__item:last-child{margin-bottom:0}.catalog-fiche{--catalog-fiche-accent:var(--primary);--catalog-item-title-size:1.12rem;--catalog-item-title-leading:1.18;border:1px solid var(--supports-page-line);background:var(--supports-page-surface);width:100%;min-width:0;min-height:10.75rem;color:inherit;border-radius:0;grid-template-columns:2.85rem minmax(0,1fr);text-decoration:none;transition:border-color .2s,background-color .2s;display:grid;position:relative;overflow:hidden}.catalog-fiche:hover{border-color:color-mix(in oklch, var(--catalog-fiche-accent) 40%, var(--border));background:color-mix(in oklch, var(--muted) 12%, var(--supports-page-surface))}.catalog-fiche:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.catalog-fiche__rail{background:linear-gradient(180deg, color-mix(in oklch, var(--catalog-fiche-accent) 88%, black 6%), color-mix(in oklch, var(--catalog-fiche-accent) 72%, black 14%));min-height:0;color:color-mix(in oklch, white 92%, var(--catalog-fiche-accent));flex-direction:column;justify-content:flex-start;align-self:stretch;align-items:center;padding:1rem .4rem;display:flex}.catalog-fiche__rail-icon{flex-shrink:0;width:1.15rem;height:1.15rem}.catalog-fiche__body{flex-direction:column;gap:.4rem;min-width:0;height:100%;min-height:100%;padding:.95rem 1rem .9rem;display:flex}.catalog-fiche__head{flex-shrink:0;align-items:center;gap:.5rem;min-height:1rem;display:flex}.catalog-fiche__eyebrow{text-overflow:ellipsis;white-space:nowrap;letter-spacing:.08em;text-transform:uppercase;min-width:0;color:var(--muted-foreground);font-size:.625rem;font-weight:700;overflow:hidden}.catalog-fiche__head-end{flex-shrink:0;align-items:center;gap:.4rem;margin-left:auto;display:inline-flex}.catalog-fiche__flag{letter-spacing:.1em;text-transform:uppercase;color:color-mix(in oklch, var(--catalog-fiche-accent) 55%, var(--foreground));font-size:.5625rem;font-weight:750}.catalog-fiche__title{-webkit-line-clamp:2;min-height:0;font-family:var(--font-heading,var(--font-sans));font-size:var(--catalog-item-title-size);letter-spacing:-.035em;font-weight:700;line-height:var(--catalog-item-title-leading);color:var(--foreground);-webkit-box-orient:vertical;flex:0 auto;display:-webkit-box;overflow:hidden}.catalog-fiche:hover .catalog-fiche__title{color:color-mix(in oklch, var(--foreground) 82%, var(--catalog-fiche-accent))}.catalog-fiche__lede{-webkit-line-clamp:1;min-height:0;color:var(--muted-foreground);-webkit-box-orient:vertical;flex:0 auto;font-size:.75rem;line-height:1.35;display:-webkit-box;overflow:hidden}.catalog-fiche__foot{border-top:1px solid color-mix(in oklch, var(--border) 82%, transparent);flex-shrink:0;margin-top:auto;padding-top:.5rem}.catalog-fiche__cta{letter-spacing:.01em;color:var(--foreground);align-items:center;gap:.35rem;font-size:.75rem;font-weight:700;display:inline-flex}.catalog-fiche__cta-icon{flex-shrink:0;width:.95rem;height:.95rem;transition:transform .18s}.catalog-fiche:hover .catalog-fiche__cta-icon{transform:translate(.12rem,-.12rem)}.catalog-fiche.is-restricted,.catalog-fiche.is-locked{cursor:default}.catalog-fiche.is-locked{--catalog-fiche-accent:var(--foreground)}.catalog-fiche.is-locked .catalog-fiche__rail{background:linear-gradient(180deg, color-mix(in oklch, var(--foreground) 78%, var(--supports-page-surface)), color-mix(in oklch, var(--foreground) 62%, var(--supports-page-surface)));color:var(--supports-page-surface)}.clair .catalog-fiche.is-locked .catalog-fiche__rail{background:linear-gradient(180deg, color-mix(in oklch, var(--foreground) 88%, white), color-mix(in oklch, var(--foreground) 72%, white));color:#fff}.sombre .catalog-fiche.is-locked .catalog-fiche__rail{background:linear-gradient(180deg, color-mix(in oklch, var(--foreground) 22%, white), color-mix(in oklch, var(--foreground) 55%, white));color:var(--background)}.catalog-fiche.is-locked:hover{border-color:var(--supports-page-line);background:var(--supports-page-surface)}.catalog-fiche.is-locked:hover .catalog-fiche__title{color:var(--foreground)}.catalog-fiche.is-locked .catalog-fiche__flag{color:var(--muted-foreground)}.catalog-fiche__lock{width:.9rem;height:.9rem;color:var(--muted-foreground)}.catalog-fiche__cta--muted{color:var(--muted-foreground);font-weight:600}.catalog-fiche.is-restricted:hover{border-color:color-mix(in oklch, var(--catalog-fiche-accent) 40%, var(--border));background:var(--supports-page-surface)}.catalog-fiche.is-restricted:hover .catalog-fiche__title{color:var(--foreground)}.catalog-fiche.is-restricted:hover .catalog-fiche__cta-icon{transform:none}.catalog-fiche__hatch{z-index:4;pointer-events:none;mix-blend-mode:multiply;opacity:.85;background:repeating-linear-gradient(-32deg, transparent 0, transparent 4px, color-mix(in oklch, var(--foreground) 22%, transparent) 4px, color-mix(in oklch, var(--foreground) 22%, transparent) 5.5px);position:absolute;inset:0}.sombre .catalog-fiche__hatch{mix-blend-mode:soft-light;opacity:1;background:repeating-linear-gradient(-32deg,#0000 0 4px,#ffffff29 4px 5.5px);background:repeating-linear-gradient(-32deg,#0000 0 4px,lab(100% 0 0/.16) 4px 5.5px)}.catalog-fiche.is-restricted .catalog-fiche__rail,.catalog-fiche.is-restricted .catalog-fiche__body{z-index:1;position:relative}.catalog-sections__unavailable{border-top:1px dashed color-mix(in oklch, var(--supports-page-line) 85%, transparent);margin-top:.5rem;padding:1rem 0 0}.catalog-sections__unavailable-title{letter-spacing:.1em;text-transform:uppercase;color:var(--muted-foreground);margin:0 0 .65rem;font-size:.6875rem;font-weight:700}.catalog-sections__unavailable-list{flex-wrap:wrap;gap:.45rem;margin:0;padding:0;list-style:none;display:flex}.catalog-sections__unavailable-item{border:1px dashed var(--supports-page-line);background:color-mix(in oklch, var(--muted) 40%, transparent);opacity:.72;align-items:center;gap:.45rem;padding:.35rem .65rem;display:inline-flex}.catalog-sections__unavailable-code{letter-spacing:.06em;text-transform:uppercase;color:var(--muted-foreground);font-size:.625rem;font-weight:750}.catalog-sections__unavailable-label{color:var(--muted-foreground);font-size:.75rem;font-weight:550}.supports-header{border-bottom:1px solid var(--supports-page-line);background:var(--supports-page-bg)}.supports-header__inner{padding:clamp(2rem, 5vw, 2.75rem) var(--supports-page-gutter)}.supports-header__intro{border-left:3px solid var(--primary);padding-left:1.15rem}@media (min-width:640px){.supports-header__intro{padding-left:1.35rem}}.supports-header__layout{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem 1.5rem;display:flex}.supports-header__primary{flex:16rem;min-width:0;max-width:42rem}.supports-header__secondary{flex-shrink:0;align-self:flex-start}.supports-header__eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--muted-foreground);margin:0;font-size:.6875rem;font-weight:700}.supports-header__title{letter-spacing:-.03em;text-wrap:balance;color:var(--foreground);margin:.45rem 0 0;font-size:clamp(1.5rem,3vw,2.25rem);font-weight:700;line-height:1.12}.supports-header__lead{max-width:36rem;color:var(--muted-foreground);margin:.55rem 0 0;font-size:.9375rem;line-height:1.55}.supports-header__guest-note{max-width:18rem;color:var(--muted-foreground);text-align:right;margin:0;font-size:.8125rem;line-height:1.5}@media (max-width:639px){.supports-header__guest-note{text-align:left}}.supports-header__inline-link{color:var(--primary);font-weight:600;text-decoration:none}.supports-header__inline-link:hover{text-decoration:underline}.supports-header__action-chip{border:1px solid var(--supports-page-line);background:var(--supports-page-surface);height:2.25rem;color:var(--foreground);border-radius:0;align-items:center;gap:.5rem;padding-inline:.875rem;font-size:.8125rem;font-weight:600;text-decoration:none;transition:border-color .16s,background-color .16s;display:inline-flex}.supports-header__action-chip:hover{border-color:color-mix(in oklch, var(--primary) 28%, var(--border));background:color-mix(in oklch, var(--primary) 5%, var(--supports-page-surface))}.sombre .supports-header__action-chip{border-color:color-mix(in oklch, var(--foreground) 10%, var(--supports-page-line));background:color-mix(in oklch, var(--foreground) 3%, var(--supports-page-surface))}.sombre .supports-header__action-chip:hover{border-color:color-mix(in oklch, var(--primary) 32%, var(--border));background:color-mix(in oklch, var(--primary) 8%, var(--supports-page-surface))}.supports-filters-bar{top:calc(var(--header-offset,4rem) - 1px);z-index:20;border-bottom:1px solid var(--supports-page-line);background:var(--supports-page-bg);position:sticky}.supports-filters-bar--mobile{padding:.75rem var(--supports-page-gutter);background:var(--supports-page-bg);display:block}.supports-filters-bar--desktop{display:none}.supports-filters-bar__sheet-trigger{border-radius:0;justify-content:center;width:100%;height:2.5rem}@media (min-width:1024px){.supports-filters-bar--desktop{display:block}.supports-filters-bar--mobile{display:none}}.supports-filters-bar__inner{padding:1rem var(--supports-page-gutter) 1.125rem}.supports-filters-bar__title{letter-spacing:.14em;text-transform:uppercase;color:var(--muted-foreground);margin:0 0 1rem;font-size:.6875rem;font-weight:800}.supports-filters-bar__active{padding:.625rem var(--supports-page-gutter);border-bottom:1px solid var(--supports-page-line);background:var(--supports-page-bg)}.supports-filters{flex-direction:column;gap:.875rem;display:flex}.supports-filters__toolbar{flex-direction:column;gap:.75rem;display:flex}@media (min-width:768px){.supports-filters__toolbar{flex-direction:row;align-items:flex-end;gap:1rem}}.supports-filters--compact .supports-filters__search-label{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.supports-filters__quick{flex-wrap:wrap;align-items:center;gap:.375rem;display:flex}@media (min-width:768px){.supports-filters__quick{flex:1;justify-content:flex-end}}.supports-filters__search{flex:1;min-width:0}@media (min-width:768px){.supports-filters__search{max-width:26rem}}.supports-filters__search-label{letter-spacing:.1em;text-transform:uppercase;color:var(--muted-foreground);margin-bottom:.375rem;font-size:.625rem;font-weight:800;display:block}.supports-filters__search-field{border:1px solid var(--supports-page-line);background:var(--supports-page-surface);border-radius:0;align-items:center;height:2.5rem;transition:border-color .16s,box-shadow .16s;display:flex;position:relative}.sombre .supports-filters__search-field{box-shadow:none}.supports-filters__search-field:focus-within{border-color:color-mix(in oklch, var(--ring) 55%, var(--border));box-shadow:0 0 0 3px color-mix(in oklch, var(--ring) 28%, transparent)}.clair .supports-filters__search-field .supports-filters__search-input:focus-visible,.sombre .supports-filters__search-field .supports-filters__search-input:focus-visible,.supports-filters__search-field .supports-filters__search-input:focus,.supports-filters__search-field .supports-filters__search-input:focus-visible{outline:none}.supports-filters__search-icon{pointer-events:none;width:1rem;height:1rem;color:var(--muted-foreground);flex-shrink:0;margin-inline:.875rem .25rem}.supports-filters__search-input{width:100%;min-width:0;height:100%;color:var(--foreground);background:0 0;border:none;outline:none;padding:0 .5rem 0 0;font-size:.875rem}.supports-filters__search-input::placeholder{color:color-mix(in oklch, var(--muted-foreground) 85%, transparent)}.supports-filters__search-input::-webkit-search-cancel-button{display:none}.supports-filters__search-clear{width:1.75rem;height:1.75rem;color:var(--muted-foreground);cursor:pointer;background:0 0;border:none;border-radius:.4375rem;flex-shrink:0;justify-content:center;align-items:center;margin-inline-end:.5rem;display:flex}.supports-filters__search-clear:hover{background:var(--muted);color:var(--foreground)}.supports-filters__section-title{letter-spacing:.12em;text-transform:uppercase;color:var(--muted-foreground);margin:0 0 .625rem;font-size:.625rem;font-weight:800}.supports-filters__section-head{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.625rem;display:flex}.supports-filters__section-action{color:var(--primary);cursor:pointer;background:0 0;border:none;padding:0;font-size:.6875rem;font-weight:700}.supports-filters__section-action:hover{text-decoration:underline}.supports-filters__chip{border:1px solid var(--supports-page-line);background:var(--supports-page-surface);color:var(--muted-foreground);cursor:pointer;border-radius:0;align-items:center;gap:.375rem;padding:.375rem .75rem;font-size:.75rem;font-weight:600;transition:border-color .15s,background-color .15s,color .15s;display:inline-flex}.supports-filters__chip:hover{border-color:color-mix(in oklch, var(--foreground) 18%, var(--border));color:var(--foreground)}.supports-filters__chip--active{border-color:color-mix(in oklch, var(--primary) 35%, var(--border));background:color-mix(in oklch, var(--primary) 10%, transparent);color:var(--foreground)}.supports-filters__section-title--inline{margin:0}.supports-filters__reset-inline{color:var(--muted-foreground);cursor:pointer;background:0 0;border:none;border-radius:0;align-items:center;gap:.25rem;padding:.375rem .625rem;font-size:.75rem;font-weight:600;display:inline-flex}.supports-filters__reset-inline:hover{color:var(--foreground);background:var(--accent-bg)}.supports-active-filters{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.supports-active-filters__chip{background:color-mix(in oklch, var(--primary) 12%, transparent);color:var(--foreground);cursor:pointer;border:none;border-radius:0;align-items:center;gap:.375rem;padding:.3125rem .625rem .3125rem .75rem;font-size:.6875rem;font-weight:700;transition:background-color .14s;display:inline-flex}.supports-active-filters__chip:hover{background:color-mix(in oklch, var(--primary) 18%, transparent)}.supports-active-filters__chip-icon{opacity:.55;width:.75rem;height:.75rem}.supports-active-filters__clear-all{color:var(--muted-foreground);cursor:pointer;background:0 0;border:none;padding:.25rem .375rem;font-size:.6875rem;font-weight:600}.supports-active-filters__clear-all:hover{color:var(--foreground);text-decoration:underline}.supports-main{background:var(--supports-page-bg);width:100%;min-width:0}.supports-catalog-columns{-moz-column-gap:1.5rem;padding:1rem var(--supports-page-gutter) 2.75rem;grid-template-columns:minmax(0,1fr);gap:1.75rem 1.5rem;display:grid}@media (min-width:768px){.supports-catalog-columns{grid-template-columns:repeat(min(2, var(--supports-col-count,2)), minmax(0, 1fr))}}@media (min-width:1024px){.supports-catalog-columns{grid-template-columns:repeat(min(3, var(--supports-col-count,3)), minmax(0, 1fr))}}.supports-catalog-stage{--stage-gap:.85rem;--stage-slide-w:94%;--stage-side-scale:.96;--stage-side-opacity:.2;flex-direction:column;flex:auto;min-width:0;min-height:0;padding:.65rem 0 .85rem;display:flex}@media (min-width:768px){.supports-catalog-stage{--stage-slide-w:90%;--stage-gap:1rem;--stage-side-scale:.95;--stage-side-opacity:.18}}@media (min-width:1024px){.supports-catalog-stage{--stage-slide-w:86%;--stage-gap:1.15rem;--stage-side-opacity:.16}}.supports-catalog-stage__legend{max-width:100%;margin:0 var(--supports-page-gutter) .65rem;border-bottom:1px solid var(--supports-page-line);flex-shrink:0;align-items:stretch;gap:.625rem;padding:.35rem;display:flex}.supports-catalog-stage__rail{scrollbar-width:none;flex-wrap:nowrap;flex:auto;gap:.15rem;min-width:0;display:flex;overflow-x:auto}.supports-catalog-stage__rail::-webkit-scrollbar{display:none}.supports-catalog-stage__rail-item{min-width:4.25rem;color:color-mix(in oklch, var(--muted-foreground) 88%, transparent);text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;flex:none;align-items:flex-start;gap:.125rem;padding:.5rem .85rem .65rem;transition:color .18s;display:inline-flex;position:relative}.supports-catalog-stage__rail-item:after{content:"";background:0 0;height:2px;transition:background-color .2s;position:absolute;bottom:0;left:.35rem;right:.35rem}.supports-catalog-stage__rail-item:hover,.supports-catalog-stage__rail-item.is-active{color:var(--foreground)}.supports-catalog-stage__rail-item.is-active:after{background:var(--primary)}.supports-catalog-stage__rail-code{letter-spacing:.06em;font-size:.75rem;font-weight:800;line-height:1.15}.supports-catalog-stage__rail-label{letter-spacing:.01em;text-overflow:ellipsis;white-space:nowrap;opacity:.72;max-width:10rem;font-size:.625rem;font-weight:500;line-height:1.25;overflow:hidden}.supports-catalog-stage__rail-item.is-active .supports-catalog-stage__rail-code{color:var(--primary)}.supports-catalog-stage__rail-item.is-active .supports-catalog-stage__rail-label{opacity:.92}.supports-catalog-stage__rail-item.is-unavailable{color:color-mix(in oklch, var(--muted-foreground) 55%, transparent);opacity:.45;cursor:not-allowed}.supports-catalog-stage__rail-item.is-unavailable:hover{color:color-mix(in oklch, var(--muted-foreground) 55%, transparent)}.supports-catalog-stage__rail-item.is-unavailable .supports-catalog-stage__rail-label{opacity:.55;text-decoration:line-through}.sombre .supports-catalog-stage{--stage-accent:color-mix(in oklch, var(--primary) 42%, white 58%);--stage-accent-soft:color-mix(in oklch, var(--primary) 28%, white 35%);--stage-side-opacity:.12}.sombre .supports-catalog-stage__rail-item{color:color-mix(in oklch, var(--muted-foreground) 72%, transparent)}.sombre .supports-catalog-stage__rail-item:hover{color:var(--foreground);background:#ffffff0a;background:lab(100% 0 0/.04)}.sombre .supports-catalog-stage__rail-item.is-active{color:var(--foreground);background:color-mix(in oklch, var(--stage-accent) 14%, transparent)}.sombre .supports-catalog-stage__rail-item.is-active:after{background:var(--stage-accent);height:2.5px}.sombre .supports-catalog-stage__rail-item.is-active .supports-catalog-stage__rail-code{color:var(--stage-accent)}.sombre .supports-catalog-stage__rail-item.is-active .supports-catalog-stage__rail-label{opacity:1;color:color-mix(in oklch, var(--foreground) 88%, var(--stage-accent) 12%)}.sombre .supports-catalog-stage__rail-item.is-unavailable{color:color-mix(in oklch, var(--muted-foreground) 48%, transparent);opacity:.4}.sombre .supports-catalog-stage__rail-item.is-unavailable:hover{color:color-mix(in oklch, var(--muted-foreground) 48%, transparent);background:0 0}.sombre .supports-catalog-stage__arrow{border-color:color-mix(in oklch, var(--stage-accent) 28%, var(--supports-page-line))}.sombre .supports-catalog-stage__arrow:hover{border-color:color-mix(in oklch, var(--stage-accent) 55%, var(--supports-page-line));background:color-mix(in oklch, var(--stage-accent) 12%, var(--supports-page-surface));color:var(--stage-accent)}.supports-catalog-stage__arrow{border:1px solid var(--supports-page-line);background:var(--supports-page-surface);width:2.125rem;height:2.125rem;color:var(--foreground);cursor:pointer;border-radius:0;flex-shrink:0;justify-content:center;align-self:center;align-items:center;transition:background-color .15s,border-color .15s;display:inline-flex}.supports-catalog-stage__arrow:hover{border-color:color-mix(in oklch, var(--primary) 40%, var(--supports-page-line));background:color-mix(in oklch, var(--primary) 8%, var(--supports-page-surface))}.supports-catalog-stage__frame{min-width:0;min-height:0;padding-inline:var(--supports-page-gutter);flex-direction:column;flex:auto;display:flex;position:relative}.supports-catalog-stage__viewport{flex-direction:column;flex:auto;min-width:0;min-height:0;display:flex}.supports-catalog-stage__viewport>div{flex:auto;min-height:0;padding-block:.5rem .75rem;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000 0%,#000 2.5% 97.5%,#0000 100%);mask-image:linear-gradient(90deg,#0000 0%,#000 2.5% 97.5%,#0000 100%)}.supports-catalog-stage__track{align-items:stretch;height:100%;margin-left:0!important}.supports-catalog-stage__slide{box-sizing:border-box;min-width:0;height:100%;transform:scale(var(--stage-side-scale));transform-origin:50%;opacity:var(--stage-side-opacity);will-change:transform, opacity;transition:transform .4s cubic-bezier(.22,1,.36,1),opacity .35s;display:flex;flex:0 0 var(--stage-slide-w)!important;padding-inline:calc(var(--stage-gap) / 2)!important}.supports-catalog-stage__slide.is-active{z-index:2;opacity:1;transform:none}.supports-catalog-stage--solo .supports-catalog-stage__slide{opacity:1;max-width:none;margin-inline:0;transform:none;flex-basis:100%!important}.supports-catalog-stage--solo .supports-catalog-stage__viewport>div{-webkit-mask-image:none;mask-image:none}.supports-catalog-stage__column{border:1px solid color-mix(in oklch, var(--supports-page-line) 92%, transparent);background:var(--supports-page-surface);cursor:pointer;flex-direction:column;flex:auto;width:100%;height:100%;min-height:0;padding:0;transition:border-color .25s,outline-color .25s;display:flex;overflow:hidden}.supports-catalog-stage__slide:not(.is-active) :is(a,button){pointer-events:none}.supports-catalog-stage__column--focus{cursor:default;border-color:color-mix(in oklch, var(--primary) 55%, var(--supports-page-line));box-shadow:none;outline:1px solid color-mix(in oklch, var(--primary) 28%, transparent);outline-offset:-1px}.supports-catalog-stage__column--focus .supports-catalog-column__code{background:color-mix(in oklch, var(--primary) 14%, transparent)}.sombre .supports-catalog-stage__column{border-color:color-mix(in oklch, var(--supports-page-line) 70%, transparent);background:color-mix(in oklch, var(--supports-page-surface) 92%, black 8%)}.sombre .supports-catalog-stage__column--focus{border-color:color-mix(in oklch, var(--stage-accent) 62%, var(--supports-page-line));outline:1px solid color-mix(in oklch, var(--stage-accent) 42%, transparent);background:color-mix(in oklch, var(--stage-accent-soft) 14%, var(--supports-page-surface));box-shadow:0 0 0 1px color-mix(in oklch, var(--stage-accent) 18%, transparent), 0 16px 36px -24px #000000b3}@supports (color:lab(0% 0 0)){.sombre .supports-catalog-stage__column--focus{box-shadow:0 0 0 1px color-mix(in oklch, var(--stage-accent) 18%, transparent), 0 16px 36px -24px lab(0% 0 0/.7)}}.sombre .supports-catalog-stage__column--focus .supports-catalog-column__code{background:color-mix(in oklch, var(--stage-accent) 22%, transparent);color:var(--stage-accent)}.sombre .supports-catalog-stage__column--focus .supports-catalog-column__head{border-bottom-color:color-mix(in oklch, var(--stage-accent) 36%, var(--supports-page-line));background:color-mix(in oklch, var(--stage-accent) 12%, var(--supports-page-surface))}.sombre .supports-catalog-stage__column--focus .supports-catalog-column__label{color:var(--foreground)}.sombre .supports-catalog-stage .supports-catalog-semester__head{border-bottom-color:color-mix(in oklch, var(--stage-accent) 18%, var(--supports-page-line))}.supports-catalog-stage .supports-catalog-column{padding-top:0}.supports-catalog-stage .supports-catalog-column__head{border-bottom:1px solid color-mix(in oklch, var(--supports-page-line) 88%, transparent);flex-shrink:0;margin:0;padding:.9rem 1.05rem .8rem}.supports-catalog-stage__column--focus .supports-catalog-column__head{border-bottom-color:color-mix(in oklch, var(--primary) 22%, var(--supports-page-line));background:color-mix(in oklch, var(--primary) 4%, var(--supports-page-surface))}.supports-catalog-stage .supports-catalog-column__body{scrollbar-width:thin;flex-direction:column;flex:auto;gap:1.1rem;min-height:0;margin:0;padding:.95rem 1.05rem 1.1rem;display:flex;overflow:hidden auto}.supports-catalog-stage .supports-catalog-semester__head{border-bottom:1px dashed color-mix(in oklch, var(--supports-page-line) 80%, transparent);margin:0 0 .55rem;padding:0 0 .4rem}.supports-catalog-stage__column--focus .supports-card{border-color:color-mix(in oklch, var(--supports-page-line) 90%, transparent)}.supports-catalog-stage__column--focus .supports-card--has-accent{border-color:var(--supports-card-accent-border)}.supports-catalog-column{flex-direction:column;min-width:0;padding-top:1.25rem;display:flex}.supports-catalog-column__head{border-bottom:1px solid var(--supports-page-line);justify-content:space-between;align-items:center;gap:.625rem;margin-bottom:.875rem;padding-bottom:.75rem;display:flex}.supports-catalog-column__title{flex-wrap:wrap;align-items:center;gap:.5rem;min-width:0;margin:0;display:flex}.supports-catalog-column__code{background:color-mix(in oklch, var(--primary) 11%, transparent);letter-spacing:.07em;color:var(--primary);border-radius:.375rem;align-items:center;padding:.1875rem .5rem;font-size:.6875rem;font-weight:800;line-height:1.2;display:inline-flex}.supports-catalog-column__label{letter-spacing:-.01em;color:var(--foreground);font-size:.8125rem;font-weight:600;line-height:1.35}.supports-catalog-column__count{border:1px solid var(--supports-page-line);background:var(--supports-page-surface);font-variant-numeric:tabular-nums;text-align:center;min-width:1.375rem;color:var(--muted-foreground);border-radius:0;flex-shrink:0;padding:.125rem .4375rem;font-size:.625rem;font-weight:800}.supports-catalog-column__list{flex-direction:column;gap:.375rem;margin:0;padding:0;list-style:none;display:flex}.supports-catalog-column__body{flex-direction:column;gap:1rem;display:flex}.supports-catalog-semester__head{border-bottom:1px solid color-mix(in oklch, var(--supports-page-line) 85%, transparent);justify-content:space-between;align-items:center;gap:.5rem;margin:0 0 .5rem;padding:0 0 .375rem;display:flex}.supports-catalog-semester__label{letter-spacing:.12em;text-transform:uppercase;color:color-mix(in oklch, var(--muted-foreground) 92%, var(--foreground));font-size:.625rem;font-weight:800}.supports-catalog-semester__count{font-variant-numeric:tabular-nums;color:color-mix(in oklch, var(--muted-foreground) 80%, transparent);flex-shrink:0;font-size:.625rem;font-weight:700}.supports-catalog-semester__list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.supports-catalog-semester__list--grid,.supports-catalog-semester__list--masonry{-moz-columns:1;columns:1;-moz-column-gap:.65rem;column-gap:.65rem;margin:0;padding:0;list-style:none;display:block}@media (min-width:640px){.supports-catalog-semester__list--grid,.supports-catalog-semester__list--masonry{-moz-columns:2;columns:2}}.supports-catalog-semester__list--grid>.supports-catalog-semester__item,.supports-catalog-semester__list--masonry>.supports-catalog-semester__item{-moz-column-break-inside:avoid;break-inside:avoid;page-break-inside:avoid;-webkit-column-break-inside:avoid;width:100%;margin:0 0 .65rem;display:block}.supports-catalog-semester__list--grid>.supports-catalog-semester__item:last-child,.supports-catalog-semester__list--masonry>.supports-catalog-semester__item:last-child{margin-bottom:0}.supports-catalog-semester__item{min-width:0}.supports-catalog-stage .supports-card{align-items:flex-start;height:auto;min-height:0}.supports-catalog-column__item{min-width:0}.supports-card{--supports-card-accent-tint:var(--supports-page-surface);--supports-card-accent-tint-hover:color-mix(in oklch, var(--muted) 35%, var(--supports-page-surface));--supports-card-accent-border:var(--supports-page-line);--supports-card-accent-muted:var(--muted-foreground);isolation:isolate;border:1px solid var(--supports-page-line);background:var(--supports-page-surface);width:100%;height:auto;min-height:0;color:inherit;box-shadow:none;border-top:none;border-radius:0;align-items:flex-start;gap:.75rem;padding:.85rem .875rem .8rem;text-decoration:none;transition:border-color .14s,background-color .14s,color .14s;display:flex;position:relative;overflow:hidden}.supports-card:before{content:"";inset-inline:0;z-index:2;background:color-mix(in oklch, var(--muted-foreground) 28%, var(--supports-page-line));pointer-events:none;height:2px;position:absolute;top:0}.supports-card--has-accent{--supports-card-accent-tint:color-mix(in oklch, var(--supports-card-accent) 11%, var(--supports-page-bg));--supports-card-accent-tint-hover:color-mix(in oklch, var(--supports-card-accent) 16%, var(--supports-page-bg));--supports-card-accent-border:color-mix(in oklch, var(--supports-card-accent) 18%, var(--supports-page-line));--supports-card-accent-muted:color-mix(in oklch, var(--supports-card-accent) 42%, var(--muted-foreground));border-color:var(--supports-card-accent-border);background:var(--supports-card-accent-tint)}.supports-card--has-accent:before{background:var(--supports-card-accent)}.sombre .supports-card--has-accent{--supports-card-accent-tint:color-mix(in oklch, var(--supports-card-accent) 14%, var(--supports-page-surface));--supports-card-accent-tint-hover:color-mix(in oklch, var(--supports-card-accent) 20%, var(--supports-page-surface));--supports-card-accent-border:color-mix(in oklch, var(--supports-card-accent) 26%, var(--supports-page-line));--supports-card-accent-muted:color-mix(in oklch, var(--supports-card-accent) 48%, var(--muted-foreground))}.supports-card--interactive:hover{border-color:color-mix(in oklch, var(--foreground) 12%, var(--supports-page-line));background:var(--supports-card-accent-tint-hover);transform:none}.clair .supports-card--interactive:hover{box-shadow:none}.sombre .supports-card--interactive:hover{border-color:color-mix(in oklch, var(--foreground) 14%, var(--supports-page-line));box-shadow:none}.supports-card--has-accent.supports-card--interactive:hover{border-color:color-mix(in oklch, var(--supports-card-accent) 30%, var(--supports-page-line));background:var(--supports-card-accent-tint-hover)}.clair .supports-card--has-accent.supports-card--interactive:hover,.sombre .supports-card--has-accent.supports-card--interactive:hover{box-shadow:none}.supports-card--interactive:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.supports-card--has-accent.supports-card--interactive:focus-visible{outline-color:color-mix(in oklch, var(--supports-card-accent) 55%, var(--ring))}.supports-card--restricted,.supports-card--locked{cursor:not-allowed}.supports-card--restricted:after{content:"";pointer-events:none;z-index:3;border-radius:inherit;background:repeating-linear-gradient(-45deg, transparent 0, transparent 8px, color-mix(in oklch, color-mix(in oklch, var(--supports-card-accent,var(--muted-foreground)) 22%, var(--supports-page-surface)), transparent 48%) 8px, color-mix(in oklch, color-mix(in oklch, var(--supports-card-accent,var(--muted-foreground)) 22%, var(--supports-page-surface)), transparent 48%) 16px);position:absolute;inset:0}.supports-card--locked:before{content:"";pointer-events:none;z-index:3;border-radius:inherit;background:color-mix(in oklch, var(--supports-page-bg) 52%, transparent);position:absolute;inset:0}.supports-card--restricted .supports-card__icon,.supports-card--restricted .supports-card__body,.supports-card--restricted .supports-card__watermark,.supports-card--restricted .supports-card__lock-overlay,.supports-card--locked .supports-card__icon,.supports-card--locked .supports-card__body,.supports-card--locked .supports-card__watermark,.supports-card--locked .supports-card__lock-overlay{z-index:4;position:relative}.supports-card__lock-overlay{z-index:5;pointer-events:none;justify-content:center;align-items:center;padding-left:.75rem;display:flex;position:absolute;inset:0}.supports-card__lock-watermark{width:3.5rem;height:3.5rem;color:var(--foreground);opacity:.18;flex-shrink:0}.sombre .supports-card__lock-watermark{opacity:.22}.supports-card--restricted .supports-card__lock-watermark{color:color-mix(in oklch, var(--supports-card-accent,var(--foreground)) 50%, var(--foreground));opacity:.22}.supports-card--restricted .supports-card__cta,.supports-card--locked .supports-card__cta{display:none}.supports-card--draft{border-style:dashed}.supports-card--has-accent.supports-card--draft{border-color:color-mix(in oklch, var(--supports-card-accent) 38%, var(--supports-page-line))}.supports-card--draft:not(.supports-card--has-accent){border-color:color-mix(in oklch, var(--muted-foreground) 28%, var(--border))}.supports-card__watermark{z-index:0;pointer-events:none;width:4.25rem;height:4.25rem;color:var(--supports-card-accent);opacity:.1;justify-content:center;align-items:center;display:flex;position:absolute;bottom:-.35rem;right:2.75rem}.sombre .supports-card__watermark{opacity:.14}.supports-card__watermark-glyph{width:100%;height:100%}.supports-card__icon{z-index:1;background:var(--muted);width:2.5rem;height:2.5rem;color:var(--muted-foreground);border:none;border-radius:0;flex-shrink:0;justify-content:center;align-self:flex-start;align-items:center;margin-top:.1rem;transition:background-color .14s,color .14s;display:flex;position:relative}.supports-card--has-accent .supports-card__icon{background:color-mix(in oklch, var(--supports-card-accent) 14%, var(--muted));color:color-mix(in oklch, var(--supports-card-accent) 55%, var(--foreground));border:none}.supports-card--interactive:hover .supports-card__icon{transform:none}.supports-card--has-accent.supports-card--interactive:hover .supports-card__icon{background:color-mix(in oklch, var(--supports-card-accent) 18%, var(--muted));color:color-mix(in oklch, var(--supports-card-accent) 60%, var(--foreground))}.supports-card__glyph{width:1.2rem;height:1.2rem}.supports-card__body{z-index:1;flex-direction:column;flex:1;gap:.1875rem;min-width:0;padding-right:.125rem;display:flex;position:relative}.supports-card__meta{flex-wrap:wrap;gap:.3125rem;margin-bottom:.0625rem;display:flex}.supports-card__meta-pill{background:var(--muted);letter-spacing:.05em;text-transform:uppercase;color:var(--muted-foreground);border:none;border-radius:0;align-items:center;padding:.125rem .4375rem;font-size:.5625rem;font-weight:700;display:inline-flex}.supports-card--has-accent .supports-card__meta-pill{background:color-mix(in oklch, var(--supports-card-accent) 14%, var(--muted));color:color-mix(in oklch, var(--supports-card-accent) 55%, var(--foreground));border:none}.supports-card__parts{flex-direction:column;align-items:flex-start;gap:.2rem;width:100%;min-width:0;margin-top:.35rem;display:flex}.supports-card__parts-list{flex-direction:column;gap:.15rem;width:100%;min-width:0;margin:0;padding:0;list-style:none;display:flex}.supports-card__parts-item{min-width:0;color:var(--muted-foreground);align-items:baseline;gap:.4rem;font-size:.6875rem;line-height:1.35;display:flex}.supports-card--has-accent .supports-card__parts-item{color:var(--supports-card-accent-muted)}.supports-card__parts-num{font-variant-numeric:tabular-nums;letter-spacing:.06em;opacity:.72;flex-shrink:0;font-size:.625rem;font-weight:700}.supports-card--has-accent .supports-card__parts-num{color:var(--supports-card-accent);opacity:.85}.supports-card__parts-label{text-overflow:ellipsis;white-space:nowrap;letter-spacing:-.01em;min-width:0;font-weight:500;overflow:hidden}.supports-card__parts-toggle{appearance:none;color:var(--muted-foreground);cursor:pointer;letter-spacing:.02em;background:0 0;border:0;margin:.05rem 0 0;padding:0;font-size:.6875rem;font-weight:650;line-height:1.2;text-decoration:none}.supports-card__parts-toggle:hover{color:var(--foreground)}.supports-card--has-accent .supports-card__parts-toggle{color:var(--supports-card-accent);opacity:.85}.supports-card--has-accent .supports-card__parts-toggle:hover{opacity:1}.supports-card__title{font-family:var(--font-heading,var(--font-sans));letter-spacing:-.018em;text-wrap:pretty;color:var(--foreground);font-size:.9375rem;font-weight:650;line-height:1.32;transition:color .18s}.supports-card__subtitle{-webkit-line-clamp:1;color:color-mix(in oklch, var(--muted-foreground) 94%, transparent);-webkit-box-orient:vertical;font-size:.75rem;line-height:1.4;display:-webkit-box;overflow:hidden}.supports-card--has-accent .supports-card__subtitle{color:var(--supports-card-accent-muted)}.supports-card__byline{color:color-mix(in oklch, var(--muted-foreground) 88%, transparent);align-items:center;gap:.3125rem;margin-top:.0625rem;font-size:.6875rem;font-weight:500;line-height:1.35;display:inline-flex}.supports-card--has-accent .supports-card__byline{color:var(--supports-card-accent-muted)}.supports-card--interactive:hover .supports-card__title{color:color-mix(in oklch, var(--foreground) 78%, var(--primary) 22%)}.supports-card--has-accent.supports-card--interactive:hover .supports-card__title{color:color-mix(in oklch, var(--foreground) 72%, var(--supports-card-accent) 28%)}.supports-card__cta{z-index:1;background:var(--muted);width:1.75rem;height:1.75rem;color:var(--muted-foreground);border:none;border-radius:0;flex-shrink:0;justify-content:center;align-self:flex-start;align-items:center;margin-top:.2rem;margin-right:0;transition:color .14s,background-color .14s;display:flex;position:relative}.supports-card__cta-icon{width:.8125rem;height:.8125rem}.supports-card--has-accent .supports-card__cta{background:color-mix(in oklch, var(--supports-card-accent) 14%, var(--muted));color:color-mix(in oklch, var(--supports-card-accent) 55%, var(--foreground));border:none}.supports-card--interactive:hover .supports-card__cta{transform:none}.supports-card--interactive:not(.supports-card--has-accent):hover .supports-card__cta{background:color-mix(in oklch, var(--primary) 12%, var(--muted));color:var(--primary);border:none}.supports-card--has-accent.supports-card--interactive:hover .supports-card__cta{background:color-mix(in oklch, var(--supports-card-accent) 22%, var(--muted));color:color-mix(in oklch, var(--supports-card-accent) 60%, var(--foreground));border:none}.supports-empty{margin:clamp(2rem, 5vw, 3rem) var(--supports-page-gutter);border:1px dashed var(--supports-page-line);background:var(--supports-page-surface);text-align:center;border-radius:0;flex-direction:column;justify-content:center;align-items:center;padding:clamp(2.5rem,6vw,4rem) 1.5rem;display:flex}.sombre .supports-empty{box-shadow:none}.supports-empty__icon{border:1px solid var(--supports-page-line);background:var(--supports-page-bg);width:3rem;height:3rem;color:var(--muted-foreground);border-radius:0;justify-content:center;align-items:center;display:flex}.supports-empty__title{letter-spacing:-.02em;color:var(--foreground);margin:1.25rem 0 0;font-size:1.25rem;font-weight:700}.supports-empty__text{max-width:22rem;color:var(--muted-foreground);margin:.5rem 0 0;font-size:.875rem;line-height:1.6}.supports-empty__action{margin-top:1.5rem}@media (prefers-reduced-motion:reduce){.supports-card,.supports-card__cta,.supports-card__icon{transition:none}.supports-card--interactive:hover,.supports-card--interactive:hover .supports-card__icon,.supports-card--interactive:hover .supports-card__cta{transform:none}.supports-card--locked:before{-webkit-backdrop-filter:none;backdrop-filter:none}}
.course-entry{--ce-accent:var(--primary);--ce-enter:.42s;--ce-exit:.52s;--ce-schema-w:min(22rem, 38vw);--ce-x:0px;--ce-y:0px;--ce-sx:1;--ce-sy:.04;z-index:200;isolation:isolate;cursor:progress;display:block;position:fixed;inset:0;overflow:hidden}.course-entry[data-stalled=true]{cursor:pointer}.course-entry__scrim{z-index:0;opacity:0;pointer-events:none;background:#00000052;position:absolute;inset:0}.course-entry__panel{z-index:1;transform-origin:0 0;background:var(--background);box-shadow:0 0 0 1px color-mix(in oklch, var(--foreground) 12%, transparent), 0 30px 80px -24px #00000080;pointer-events:none;will-change:transform;position:absolute;inset:0}.course-entry__panel:after{content:"";inset-inline:0;background:linear-gradient(90deg, var(--ce-accent), color-mix(in oklch, var(--ce-accent) 55%, transparent));height:3px;position:absolute;bottom:0}.course-entry__shell{z-index:2;grid-template-columns:var(--ce-schema-w) minmax(0, 1fr);width:100%;height:100%;min-height:100%;color:var(--foreground);pointer-events:none;display:grid;position:relative}.course-entry__shell:not(:has(.course-entry__schema)){grid-template-columns:minmax(0,1fr)}.course-entry__content{flex-direction:column;justify-content:center;align-items:flex-start;gap:.85rem;min-width:0;height:100%;padding-block:clamp(2rem,6vh,4rem);padding-inline:clamp(1.5rem,5vw,4.5rem);display:flex}.course-entry__mark{background:linear-gradient(180deg, color-mix(in oklch, var(--ce-accent) 88%, black 6%), color-mix(in oklch, var(--ce-accent) 72%, black 14%));color:#fff;place-items:center;width:clamp(2.75rem,6vw,3.5rem);height:clamp(2.75rem,6vw,3.5rem);display:grid}.course-entry__mark-icon{width:55%;height:55%}.course-entry__kicker{letter-spacing:.16em;text-transform:uppercase;color:var(--muted-foreground);flex-wrap:wrap;align-items:center;gap:.5rem .75rem;font-size:.6875rem;font-weight:800;display:flex}.course-entry__chip{border:1px solid color-mix(in oklch, var(--ce-accent) 38%, transparent);background:color-mix(in oklch, var(--ce-accent) 12%, transparent);color:color-mix(in oklch, var(--ce-accent) 55%, var(--foreground));align-items:center;padding:.2rem .5rem;display:inline-flex}.course-entry__title{max-width:20ch;font-family:var(--font-heading,var(--font-sans));letter-spacing:-.035em;text-wrap:balance;color:var(--foreground);margin:0;font-size:clamp(1.9rem,5.5vw,3.25rem);font-weight:700;line-height:1.06}.course-entry__lede{max-width:34rem;color:var(--muted-foreground);margin:0;font-size:clamp(.9375rem,1.8vw,1.0625rem);line-height:1.45}.course-entry__schema{opacity:0;background:0 0;border:none;flex-direction:column;gap:.65rem;width:100%;min-width:0;height:100%;min-height:100%;padding:clamp(1.1rem,3vh,1.85rem) 0;display:flex;overflow:hidden}.course-entry__schema-k{letter-spacing:.16em;text-transform:uppercase;color:var(--muted-foreground);flex:none;margin:0;padding-inline:clamp(1rem,2.2vw,1.65rem);font-size:.625rem;font-weight:700}.course-entry__schema-path{letter-spacing:-.025em;color:var(--foreground);flex:none;margin:0 0 .25rem;padding-inline:clamp(1rem,2.2vw,1.65rem);font-size:clamp(1.05rem,2vw,1.35rem);font-weight:650;line-height:1.2}.course-entry__schema-list{border-top:1px solid color-mix(in oklch, var(--foreground) 12%, transparent);overscroll-behavior:contain;flex-direction:column;flex:auto;min-height:0;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.course-entry__schema-item{opacity:0;border-bottom:1px solid color-mix(in oklch, var(--foreground) 12%, transparent);flex:none}.course-entry__schema-band{width:100%;color:inherit;align-items:center;gap:clamp(.75rem,2vw,1.25rem);padding:clamp(.95rem,2.2vh,1.35rem) clamp(1rem,2.2vw,1.65rem);display:flex}.course-entry__schema-bn{letter-spacing:-.05em;font-variant-numeric:tabular-nums;width:2.65rem;color:color-mix(in oklch, var(--foreground) 34%, transparent);flex:none;font-size:clamp(1.35rem,2.6vw,1.85rem);font-weight:200;line-height:1}.course-entry__schema-bt{letter-spacing:-.045em;min-width:0;color:var(--foreground);overflow-wrap:anywhere;flex:1;font-size:clamp(1.2rem,2.4vw,1.65rem);font-weight:200;line-height:1.15}.course-entry__schema-item.is-done .course-entry__schema-bn{color:color-mix(in srgb, var(--ce-accent) 70%, color-mix(in oklch, var(--foreground) 34%, transparent))}.course-entry__schema-item.is-done .course-entry__schema-bt{color:color-mix(in oklch, var(--foreground) 78%, var(--muted-foreground))}.course-entry__schema-item.is-now .course-entry__schema-band{background:var(--ce-accent);color:var(--ce-on-accent)}.course-entry__schema-item.is-now .course-entry__schema-bn{color:color-mix(in srgb, var(--ce-on-accent) 55%, transparent)}.course-entry__schema-item.is-now .course-entry__schema-bt{color:var(--ce-on-accent)}.course-entry__schema.is-pending .course-entry__schema-bt{color:#0000;background:color-mix(in oklch, var(--foreground) 10%, transparent)}.course-entry__schema.is-pending .course-entry__schema-bn{color:#0000;background:color-mix(in oklch, var(--foreground) 8%, transparent)}.course-entry__status{opacity:0;flex-wrap:wrap;align-items:center;gap:.55rem .9rem;margin-top:.35rem;transition:opacity .28s;display:flex}.course-entry[data-stalled=true] .course-entry__status{opacity:1}.course-entry__rail{background:color-mix(in oklch, var(--foreground) 14%, transparent);width:min(16rem,45vw);height:2px;display:block;position:relative;overflow:hidden}.course-entry__rail-fill{inset-block:0;background:var(--ce-accent);width:38%;animation:1.15s cubic-bezier(.65,0,.35,1) infinite course-entry-rail;position:absolute;left:0}.course-entry__status-label{letter-spacing:.14em;text-transform:uppercase;color:var(--muted-foreground);font-size:.6875rem;font-weight:700}.course-entry.is-enter .course-entry__panel{animation:course-entry-panel-in var(--ce-enter) cubic-bezier(.22, 1, .36, 1) both}.course-entry.is-enter .course-entry__scrim{animation:.3s both course-entry-fade-in}.course-entry.is-enter .course-entry__schema{animation:.48s cubic-bezier(.22,1,.36,1) .18s both course-entry-rise}.course-entry.is-enter .course-entry__schema-item{animation:.38s cubic-bezier(.22,1,.36,1) both course-entry-dot-in;animation-delay:calc(.32s + (var(--ce-dot,0) * 70ms))}.course-entry.is-enter .course-entry__mark{animation:.42s cubic-bezier(.22,1,.36,1) .22s both course-entry-rise}.course-entry.is-enter .course-entry__kicker{animation:.42s cubic-bezier(.22,1,.36,1) .28s both course-entry-rise}.course-entry.is-enter .course-entry__title{animation:.42s cubic-bezier(.22,1,.36,1) .33s both course-entry-rise}.course-entry.is-enter .course-entry__lede{animation:.42s cubic-bezier(.22,1,.36,1) .38s both course-entry-rise}.course-entry.is-exit{pointer-events:none;cursor:default}.course-entry.is-exit .course-entry__panel{animation:course-entry-panel-out var(--ce-exit) cubic-bezier(.76, 0, .24, 1) both}.course-entry.is-exit .course-entry__scrim{animation:.32s both course-entry-fade-out}.course-entry.is-exit .course-entry__shell{animation:.3s cubic-bezier(.55,0,1,.45) both course-entry-content-out}@keyframes course-entry-panel-in{0%{transform:translate(var(--ce-x), var(--ce-y)) scale(var(--ce-sx), var(--ce-sy))}to{transform:translate(0)scale(1)}}@keyframes course-entry-panel-out{0%{transform:translateY(0)}to{transform:translateY(-101%)}}@keyframes course-entry-rise{0%{opacity:0;transform:translateY(1rem)}to{opacity:1;transform:translateY(0)}}@keyframes course-entry-content-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-2.5rem)}}@keyframes course-entry-fade-in{0%{opacity:0}to{opacity:1}}@keyframes course-entry-fade-out{0%{opacity:1}to{opacity:0}}@keyframes course-entry-rail{0%{transform:translate(-105%)}to{transform:translate(265%)}}@keyframes course-entry-dot-in{0%{opacity:0;transform:scale(.65)}to{opacity:1;transform:scale(1)}}@media (max-width:860px){.course-entry{--ce-schema-w:min(17.5rem, 42vw)}.course-entry__schema-bn{width:2.25rem;font-size:1.2rem}.course-entry__schema-bt{font-size:1.1rem}}@media (max-width:640px){.course-entry{--ce-schema-w:100%}.course-entry__shell{grid-template-rows:minmax(42vh,1fr) auto;grid-template-columns:1fr}.course-entry__schema{border:none;height:100%;min-height:0}.course-entry__content{justify-content:flex-start;height:auto;padding-block:1.35rem 1.75rem}}@media (prefers-reduced-motion:reduce){.course-entry.is-enter .course-entry__panel,.course-entry.is-exit .course-entry__panel{animation:none;transform:none}.course-entry.is-enter .course-entry__scrim{opacity:1;animation:none}.course-entry.is-enter .course-entry__mark,.course-entry.is-enter .course-entry__kicker,.course-entry.is-enter .course-entry__title,.course-entry.is-enter .course-entry__lede,.course-entry.is-enter .course-entry__schema,.course-entry.is-enter .course-entry__schema-item{opacity:1;animation:none;transform:none}.course-entry.is-exit .course-entry__scrim,.course-entry.is-exit .course-entry__shell,.course-entry.is-exit .course-entry__panel{animation:.18s both course-entry-fade-out}.course-entry__rail-fill{animation-duration:2.4s}}
:is([data-slot=button],.tutor-badge,.course-status-badge,.course-page-header__meta-pill,.course-page-header__action-chip,.course-page-header__home-tags li,.course-sidebar__meta-pill,.project-card__badge,.project-card__go,.project-github__panel-cta,.project-github__metric,.project-github__lang-chip,.supports-filters__chip,.supports-filters__reset-inline,.supports-card__meta-pill,.supports-card__cta,.catalog-library__toggle,.catalog-library__nav-btn,.catalog-folio__rail,.catalog-folio__flag,.catalog-fiche__rail,.catalog-fiche__flag,.home-quick-link,.home-banner,.home-carousel--cards .home-carousel__slide--card,.home-stats--cards .home-stats__item,.home-hero__aside,.home-hero__highlight-icon,.profile-hero__chip,.profile-hero__monogram,.profile-hero__logout,.profile-aside,.profile-aside__icon,.profile-form__submit,.profile-danger__reveal,.profile-danger__submit,.course-int-link__cta,.course-qcm-link__cta,.course-pdf-card__cta,.qcm-block__go,.profile-admin-cta__btn,.auth-page__submit){border-radius:0}.home-quick-link--primary{border-color:color-mix(in oklch, var(--primary) 40%, var(--border));background:var(--primary);color:var(--primary-foreground);box-shadow:none}.home-quick-link--primary .home-quick-link__cta{color:inherit}
.sombre{--course-block-surface:color-mix(in srgb, var(--surface-raised) 94%, var(--bg-secondary) 6%);--course-block-surface-muted:color-mix(in srgb, var(--bg-secondary) 40%, var(--muted) 60%);--course-block-inset:color-mix(in srgb, var(--surface-raised) 78%, var(--bg-secondary) 22%);--cb-surface:color-mix(in srgb, var(--surface-raised) 96%, var(--bg-secondary) 4%);--cb-surface-2:color-mix(in srgb, var(--muted) 44%, var(--bg-secondary) 56%)}
:root,.clair{--cb-brand:color-mix(in oklch, var(--primary) 68%, var(--foreground));--cb-brand-2:color-mix(in oklch, var(--primary) 52%, var(--muted-foreground));--cb-link:var(--link-color,var(--primary));--cb-page:color-mix(in oklch, var(--primary) 55%, var(--foreground));--cb-video:color-mix(in oklch, var(--primary) 48%, var(--foreground));--cb-pdf:color-mix(in oklch, var(--primary) 42%, var(--muted-foreground));--cb-qcm:color-mix(in oklch, var(--primary) 58%, var(--foreground));--cb-text:color-mix(in oklch, var(--primary) 48%, var(--muted-foreground));--ped-def:color-mix(in oklch, var(--primary) 42%, var(--foreground));--ped-def-dark:color-mix(in oklch, var(--primary) 28%, var(--background));--ped-def-bg:color-mix(in oklch, var(--primary) 8%, var(--card));--ped-lemma:color-mix(in oklch, var(--primary) 38%, var(--foreground));--ped-lemma-bg:color-mix(in oklch, var(--primary) 6%, var(--card));--ped-ex:color-mix(in oklch, var(--primary) 50%, var(--foreground));--ped-ex-bg:color-mix(in oklch, var(--primary) 7%, var(--card));--ped-exo:color-mix(in oklch, var(--primary) 62%, var(--foreground));--ped-exo-bg:color-mix(in oklch, var(--primary) 9%, var(--card));--ped-exo-border:color-mix(in oklch, var(--primary) 22%, var(--border));--ped-info:color-mix(in oklch, var(--primary) 48%, var(--foreground));--ped-info-bg:color-mix(in oklch, var(--primary) 7%, var(--card));--ped-rem:color-mix(in oklch, var(--primary) 52%, var(--muted-foreground));--ped-prop:color-mix(in oklch, var(--primary) 46%, var(--foreground));--ped-prop-bg:color-mix(in oklch, var(--primary) 6%, var(--card));--ped-thm-accent:color-mix(in oklch, var(--primary) 55%, var(--foreground));--ped-thm-bg:color-mix(in oklch, var(--primary) 7%, var(--card));--ped-thm-band:color-mix(in oklch, var(--primary) 8%, var(--background));--ped-thm-border:color-mix(in oklch, var(--primary) 20%, var(--border));--ped-thm-fg:var(--foreground);--course-canvas:var(--background);--course-block-surface:color-mix(in oklch, var(--card) 94%, var(--bg-secondary) 6%);--course-block-surface-muted:color-mix(in oklch, var(--muted) 44%, var(--card) 56%);--course-block-inset:color-mix(in oklch, var(--card) 78%, var(--bg-secondary) 22%);--cb-surface:color-mix(in oklch, var(--card) 96%, var(--bg-secondary) 4%);--cb-surface-2:color-mix(in oklch, var(--card) 78%, var(--bg-secondary) 22%);--code-panel-bg:color-mix(in oklch, var(--muted) 14%, var(--card));--code-mac-header:color-mix(in oklch, var(--muted) 22%, var(--card));--code-inline-bg:color-mix(in srgb, var(--muted) 82%, transparent);--code-inline-fg:var(--foreground);--code-inline-border:color-mix(in srgb, var(--border) 88%, transparent)}.sombre{--cb-brand:color-mix(in oklch, var(--primary) 62%, var(--foreground));--cb-brand-2:color-mix(in oklch, var(--primary) 48%, var(--muted-foreground));--cb-link:var(--link-color,var(--primary));--cb-page:color-mix(in oklch, var(--primary) 52%, var(--foreground));--cb-video:color-mix(in oklch, var(--primary) 46%, var(--foreground));--cb-pdf:color-mix(in oklch, var(--primary) 40%, var(--muted-foreground));--cb-qcm:color-mix(in oklch, var(--primary) 55%, var(--foreground));--cb-text:color-mix(in oklch, var(--primary) 45%, var(--muted-foreground));--course-block-surface:color-mix(in srgb, var(--surface-raised) 94%, var(--bg-secondary) 6%);--course-block-surface-muted:color-mix(in srgb, var(--bg-secondary) 40%, var(--muted) 60%);--course-block-inset:color-mix(in srgb, var(--surface-raised) 78%, var(--bg-secondary) 22%);--cb-surface:color-mix(in srgb, var(--surface-raised) 96%, var(--bg-secondary) 4%);--cb-surface-2:color-mix(in srgb, var(--muted) 44%, var(--bg-secondary) 56%);--code-panel-bg:color-mix(in oklch, var(--muted) 22%, var(--card));--code-mac-header:color-mix(in oklch, var(--muted) 32%, var(--card));--code-inline-bg:color-mix(in srgb, var(--muted) 55%, transparent);--code-inline-fg:#fff;--code-inline-border:color-mix(in srgb, var(--border) 80%, transparent)}.course-shell{--course-nav-accent:var(--course-accent,var(--primary));--course-heading-accent:var(--course-nav-accent,var(--course-accent,var(--primary)));--course-text-accent:var(--course-nav-accent,var(--course-accent,var(--primary)));--cb-brand:color-mix(in oklch, var(--course-accent,var(--primary)) 68%, var(--foreground));--cb-brand-2:color-mix(in oklch, var(--course-accent,var(--primary)) 52%, var(--muted-foreground));--cb-text:color-mix(in oklch, var(--course-accent,var(--primary)) 48%, var(--muted-foreground));--cb-link:var(--course-accent,var(--link-color,var(--primary)));--cb-page:color-mix(in oklch, var(--course-accent,var(--primary)) 55%, var(--foreground));--cb-video:color-mix(in oklch, var(--course-accent,var(--primary)) 48%, var(--foreground));--cb-pdf:color-mix(in oklch, var(--course-accent,var(--primary)) 42%, var(--muted-foreground));--cb-qcm:color-mix(in oklch, var(--course-accent,var(--primary)) 58%, var(--foreground));--code-inline-bg:color-mix(in srgb, var(--course-accent,var(--primary)) 14%, var(--background));--code-inline-fg:var(--foreground);--code-inline-border:color-mix(in srgb, var(--course-accent,var(--primary)) 55%, transparent)}.sombre .course-content,.sombre .course-shell{--code-inline-bg:color-mix(in srgb, var(--course-nav-accent,var(--course-accent,var(--primary))) 22%, var(--background));--code-inline-fg:#fff;--code-inline-border:color-mix(in srgb, var(--course-nav-accent,var(--course-accent,var(--primary))) 60%, transparent)}.course-shell .tutorat-inline-text__code{background:var(--code-inline-bg);color:var(--code-inline-fg);border:1px solid var(--code-inline-border);box-shadow:none;border-radius:0}.course-shell .rich-text.prose blockquote,.course-shell .rich-text blockquote{border-left-color:color-mix(in oklch, var(--course-text-accent,var(--course-accent,var(--primary))) 55%, var(--border));background:color-mix(in oklch, var(--course-text-accent,var(--course-accent,var(--primary))) 6%, transparent);color:color-mix(in oklch, var(--foreground) 82%, var(--course-text-accent,var(--course-accent,var(--primary))))}.course-subsection-card__index{border:1px solid color-mix(in oklch, var(--course-nav-accent,var(--course-accent,var(--primary))) 26%, var(--border));background:color-mix(in oklch, var(--course-nav-accent,var(--course-accent,var(--primary))) 11%, transparent);color:var(--course-nav-accent,var(--course-accent,var(--primary)))}.course-subsection-card:not(.course-subsection-card--collapsed) .course-subsection-card__index{border-color:color-mix(in oklch, var(--course-nav-accent,var(--course-accent,var(--primary))) 34%, var(--border));background:color-mix(in oklch, var(--course-nav-accent,var(--course-accent,var(--primary))) 14%, transparent)}.course-content .rich-text{--rt-table-accent:var(--course-nav-accent,var(--course-accent,var(--primary)));--rt-table-header-bg:color-mix(in oklch, var(--rt-table-accent) 88%, black 6%);--rt-table-header-fg:color-mix(in oklch, white 92%, var(--rt-table-accent));--rt-table-header-divider:#ffffff42;--rt-table-row-hover:color-mix(in oklch, var(--rt-table-accent) 6%, var(--card));--rt-table-border-color:color-mix(in oklch, var(--rt-table-accent) 12%, var(--border))}@supports (color:lab(0% 0 0)){.course-content .rich-text{--rt-table-header-divider:lab(100% 0 0/.26)}}
