.app-nav{display:contents}.app-nav__skip-link{z-index:100;border-radius:var(--radius-md);background:var(--foreground);color:var(--background);padding:.625rem 1rem;font-size:.8125rem;font-weight:600;text-decoration:none;transition:transform .18s;position:fixed;top:.75rem;left:.75rem;transform:translateY(-8rem);box-shadow:0 12px 32px #00000052;box-shadow:0 12px 32px lab(0% 0 0/.32)}.app-nav__skip-link:focus-visible{outline:2px solid var(--ring);outline-offset:3px;transform:translateY(0)}:root,.clair{--rail-bg:#f3f1ed;--rail-zone-brand:#ebe8e4;--rail-zone-account:#ebe8e4;--rail-border:#1c1a181a;--rail-fg:color-mix(in oklch, var(--foreground) 68%, var(--muted-foreground));--rail-fg-active:#1c1a18;--rail-muted:#6b6560;--rail-hover:#1c1a180f;--rail-marker:#1c1a1812;--rail-chip:#1c1a180f;--rail-accent:#1c1a18;--rail-active-bg:#1c1a1812;--rail-ring:#1c1a18;--rail-mark-bg:#1c1a18;--rail-mark-fg:#faf9f7;--rail-shadow:0 1px 0 #ffffffa6 inset, 0 18px 40px #1c1a1814, 0 2px 8px #1c1a180a;--rail-hatch:repeating-linear-gradient(-45deg, #1c1a1824, #1c1a1824 1px, transparent 1px, transparent 3px)}.sombre{--rail-bg:#181716;--rail-zone-brand:#201f1d;--rail-zone-account:#201f1d;--rail-border:#b8b2aa1f;--rail-fg:color-mix(in oklch, var(--foreground) 70%, var(--muted-foreground));--rail-fg-active:#f2f0ec;--rail-muted:#8a847c;--rail-hover:#b8b2aa14;--rail-marker:#b8b2aa1a;--rail-chip:#b8b2aa14;--rail-accent:#f2f0ec;--rail-active-bg:#b8b2aa1f;--rail-ring:#f2f0ec;--rail-mark-bg:#f2f0ec;--rail-mark-fg:#111010;--rail-shadow:0 1px 0 #ffffff0a inset, 0 18px 48px #00000073, 0 2px 8px #0000004d;--rail-hatch:repeating-linear-gradient(-45deg, #b8b2aa33, #b8b2aa33 1px, transparent 1px, transparent 3px)}:root{--rail-expanded:15.5rem;--rail-icon-inset:1.375rem}.nav-rail{inset-block:0;z-index:60;width:var(--nav-rail-width);border-right:1px solid var(--rail-border);background:var(--rail-bg);color:var(--rail-fg);flex-direction:column;gap:0;padding:0;transition:width .28s cubic-bezier(.16,1,.3,1),box-shadow .28s;display:none;position:fixed;left:0;overflow:hidden}@media (min-width:640px){.nav-rail{display:flex}}.nav-rail:hover,.nav-rail:focus-within{width:var(--rail-expanded);box-shadow:var(--rail-shadow)}.nav-rail__zone{flex-direction:column;min-width:0;display:flex}.nav-rail__zone--brand{background:var(--rail-zone-brand);flex-shrink:0;gap:.35rem;padding:.95rem 0 1rem;position:relative}.nav-rail__zone--brand:after,.nav-rail__zone--account:before{content:"";background:var(--rail-hatch);opacity:.85;pointer-events:none;height:5px;position:absolute;left:.65rem;right:.65rem}.nav-rail__zone--brand:after{bottom:0}.nav-rail__zone--links{background:var(--rail-bg);flex:auto;min-height:0;padding:.45rem 0}.nav-rail__zone--account{background:var(--rail-zone-account);flex-shrink:0;gap:.15rem;padding:.85rem 0 .7rem;position:relative}.nav-rail__zone--account:before{top:0}.nav-rail__social{flex-direction:column;gap:.1rem;margin-bottom:.2rem;display:flex}.nav-rail__brand{padding:.45rem .55rem .45rem calc(var(--rail-icon-inset) - .45rem);background:color-mix(in oklch, var(--rail-bg) 55%, transparent);border:1px solid #0000;outline:none;flex-shrink:0;align-items:center;gap:.7rem;min-height:3.1rem;margin-inline:.45rem;text-decoration:none;transition:background-color .16s,border-color .16s;display:flex}.nav-rail__brand:hover{border-color:var(--rail-border);background:color-mix(in oklch, var(--rail-bg) 88%, var(--rail-zone-brand))}.nav-rail__brand-mark{border-radius:var(--radius-sm);background:var(--rail-mark-bg);width:1.85rem;height:1.85rem;color:var(--rail-mark-fg);box-shadow:0 0 0 1px color-mix(in oklch, var(--rail-mark-bg) 35%, transparent);flex-shrink:0;justify-content:center;align-items:center;transition:transform .22s cubic-bezier(.34,1.4,.64,1);display:flex;position:relative}.nav-rail__brand-mark-letters{letter-spacing:.04em;font-size:.5625rem;font-weight:800;line-height:1}.nav-rail__brand-mark:after{content:"";background:var(--rail-mark-bg);opacity:.35;height:2px;position:absolute;bottom:-.28rem;left:15%;right:15%}.nav-rail__brand:hover .nav-rail__brand-mark{transform:rotate(-4deg)scale(1.06)}.nav-rail__brand:focus-visible{outline:2px solid var(--rail-ring);outline-offset:1px}.nav-rail__brand-copy{flex-direction:column;gap:.08rem;min-width:0;line-height:1.15;display:flex}.nav-rail__brand-kicker{white-space:nowrap;letter-spacing:.12em;text-transform:uppercase;color:var(--rail-muted);font-size:.5625rem;font-weight:700}.nav-rail__brand-name{white-space:nowrap;letter-spacing:-.03em;color:var(--rail-fg-active);font-size:.8125rem;font-weight:700}.nav-rail__brand-tagline{white-space:nowrap;letter-spacing:.02em;color:var(--rail-muted);font-size:.5625rem;font-weight:600}.nav-rail__tip{z-index:80;letter-spacing:-.01em;border-radius:0;font-weight:600}.nav-rail__label,.nav-rail__brand-copy,.nav-rail__account-copy{opacity:0;white-space:nowrap;pointer-events:none;transition:opacity .18s,transform .24s cubic-bezier(.16,1,.3,1);transform:translate(-.375rem)}.nav-rail:hover .nav-rail__label,.nav-rail:focus-within .nav-rail__label,.nav-rail:hover .nav-rail__brand-copy,.nav-rail:focus-within .nav-rail__brand-copy,.nav-rail:hover .nav-rail__account-copy,.nav-rail:focus-within .nav-rail__account-copy{opacity:1;pointer-events:auto;transform:translate(0)}.nav-rail__list{scrollbar-width:none;flex-direction:column;flex:1;gap:.125rem;min-height:0;margin:.5rem 0 0;padding:0 .5rem;list-style:none;display:flex;position:relative;overflow:hidden auto}.nav-rail__list::-webkit-scrollbar{display:none}.nav-rail__marker{display:none}.nav-rail__link{z-index:1;min-height:2.625rem;padding-left:calc(var(--rail-icon-inset) - .5rem);border-radius:var(--radius-md);letter-spacing:-.01em;color:var(--rail-fg);align-items:center;gap:.75rem;padding-right:.75rem;font-size:.8125rem;font-weight:500;text-decoration:none;transition:color .16s,background-color .16s;display:flex;position:relative}.nav-rail__link:hover,.nav-rail__link:focus-visible{background:var(--rail-hover);color:var(--rail-fg-active)}.nav-rail__link:focus-visible{outline:2px solid var(--rail-ring);outline-offset:-2px}.nav-rail__icon{opacity:.72;flex-shrink:0;justify-content:center;align-items:center;width:1.75rem;height:1.75rem;transition:opacity .16s,transform .2s,color .16s;display:flex;position:relative}.nav-rail__link:hover .nav-rail__icon{opacity:.95}.nav-rail__link:active .nav-rail__icon{transform:scale(.94)}.nav-rail__link.is-active{color:var(--rail-fg-active);background:0 0;font-weight:650}.nav-rail__link.is-active .nav-rail__icon{opacity:1;color:var(--rail-fg-active)}.nav-rail__link.is-active .nav-rail__icon:after{content:"";background:var(--rail-accent);width:.28rem;height:.28rem;transition:opacity .16s;position:absolute;bottom:-.15rem;left:50%;transform:translate(-50%)}.nav-rail:hover .nav-rail__link.is-active .nav-rail__icon:after,.nav-rail:focus-within .nav-rail__link.is-active .nav-rail__icon:after{opacity:0}.nav-rail__link--locked{opacity:.45;cursor:default}.nav-rail__badge{border-radius:var(--radius-sm);background:var(--rail-chip);letter-spacing:.04em;text-transform:uppercase;color:var(--rail-muted);opacity:0;margin-left:auto;padding:.125rem .375rem;font-size:.5625rem;font-weight:700;transition:opacity .18s}.nav-rail:hover .nav-rail__badge,.nav-rail:focus-within .nav-rail__badge{opacity:1}.nav-rail__action{min-height:2.375rem;padding-left:calc(var(--rail-icon-inset) - .5rem);border-radius:var(--radius-md);color:var(--rail-fg);cursor:pointer;background:0 0;flex-shrink:0;align-items:center;gap:.75rem;margin-inline:.5rem;padding-right:.75rem;font-size:.8125rem;font-weight:500;transition:background-color .16s,color .16s;display:flex}.nav-rail__action:hover{background:var(--rail-hover);color:var(--rail-fg-active)}.nav-rail__action:focus-visible{outline:2px solid var(--rail-ring);outline-offset:-2px}.nav-rail__action>svg{flex-shrink:0;width:1.0625rem;height:1.0625rem;margin-left:.34375rem}.nav-rail__action--search{margin-top:.15rem}.nav-rail__action--placeholder{pointer-events:none;opacity:.5}.nav-rail__action--social{color:var(--rail-fg);text-decoration:none}.nav-rail__action--social:hover{color:var(--rail-fg-active)}.nav-rail__action--logout{color:var(--destructive)}.nav-rail__action--logout:hover{background:color-mix(in oklch, var(--destructive) 12%, transparent);color:var(--destructive)}.nav-rail__action--logout:focus-visible{outline-color:color-mix(in oklch, var(--destructive) 55%, var(--ring))}.nav-rail__zone--account .nav-rail__account{margin-top:.25rem}.nav-rail__admin{min-height:2.375rem;padding-left:calc(var(--rail-icon-inset) - .5rem);border-radius:var(--radius-md);color:var(--rail-fg);align-items:center;gap:.75rem;margin-inline:.5rem;padding-right:.75rem;text-decoration:none;transition:background-color .16s,color .16s;display:flex;position:relative}.nav-rail__admin .nav-rail__icon{opacity:.72;position:relative}.nav-rail__admin:hover{background:var(--rail-hover);color:var(--rail-fg-active)}.nav-rail__admin:hover .nav-rail__icon{opacity:.95}.nav-rail__admin:focus-visible{outline:2px solid var(--rail-ring);outline-offset:-2px}.nav-rail__admin.is-active{color:var(--rail-fg-active);background:0 0}.nav-rail__admin.is-active .nav-rail__icon{opacity:1;color:var(--rail-fg-active)}.nav-rail__admin.is-active .nav-rail__icon:after{content:"";background:var(--rail-accent);width:.28rem;height:.28rem;transition:opacity .16s;position:absolute;bottom:-.15rem;left:50%;transform:translate(-50%)}.nav-rail:hover .nav-rail__admin.is-active .nav-rail__icon:after,.nav-rail:focus-within .nav-rail__admin.is-active .nav-rail__icon:after{opacity:0}.nav-rail__account{min-height:2.75rem;padding-left:calc(var(--rail-icon-inset) - .5rem);border-radius:var(--radius-md);align-items:center;gap:.75rem;margin-inline:.5rem;padding-right:.75rem;text-decoration:none;transition:background-color .16s;display:flex}.nav-rail__account:hover{background:var(--rail-hover)}.nav-rail__account:focus-visible{outline:2px solid var(--rail-ring);outline-offset:-2px}.nav-rail__account.is-active{background:0 0}.nav-rail__account.is-active .nav-rail__avatar{box-shadow:0 0 0 2px var(--rail-accent)}.nav-rail__avatar{border-radius:var(--radius-sm);background:var(--rail-mark-bg);width:1.75rem;height:1.75rem;color:var(--rail-mark-fg);letter-spacing:-.02em;flex-shrink:0;justify-content:center;align-items:center;font-size:.625rem;font-weight:700;display:flex}.nav-rail__avatar--guest{background:var(--rail-chip);color:var(--rail-fg-active)}.nav-rail__account-copy{flex-direction:column;min-width:0;line-height:1.25;display:flex}.nav-rail__account-name{text-overflow:ellipsis;white-space:nowrap;letter-spacing:-.02em;color:var(--rail-fg-active);font-size:.8125rem;font-weight:600;overflow:hidden}.nav-rail__account-role{white-space:nowrap;color:var(--rail-muted);font-size:.6875rem;font-weight:500}.nav-panel{inset-block:0;left:var(--nav-rail-width);z-index:55;width:var(--nav-panel-width);border-right:1px solid var(--border);background:var(--background);flex-direction:column;padding:1.25rem .75rem 1rem;display:none;position:fixed}@media (min-width:640px){html[data-nav-layout=left] .nav-panel,html:not([data-nav-layout]) .nav-panel,html[data-nav-layout=right] .nav-panel,html[data-account-shell=true] .nav-panel{display:flex}html[data-account-shell=true] .nav-panel{border-left:none;border-right:1px solid var(--border);left:0;right:auto}html[data-account-shell=true][data-nav-layout=left] .nav-panel,html[data-account-shell=true]:not([data-nav-layout]) .nav-panel{left:var(--nav-rail-width)}html[data-account-shell=true][data-nav-layout=top] .nav-panel{top:var(--nav-rail-height);bottom:0}html[data-account-shell=true][data-nav-layout=bottom] .nav-panel{top:0;bottom:var(--nav-rail-height)}}.nav-panel__head{padding:0 .5rem .875rem}.nav-panel__kicker{letter-spacing:.14em;text-transform:uppercase;color:var(--muted-foreground);margin:0 0 .25rem;font-size:.625rem;font-weight:700}.nav-panel__title{letter-spacing:-.03em;color:var(--foreground);margin:0;font-size:1.0625rem;font-weight:700}.nav-panel__nav{flex-direction:column;flex:1;gap:.125rem;min-height:0;display:flex;overflow-y:auto}.nav-panel__link{border-radius:var(--radius-md);min-height:2.375rem;color:var(--muted-foreground);align-items:center;gap:.625rem;padding-inline:.5rem;font-size:.8125rem;font-weight:500;text-decoration:none;transition:background-color .14s,color .14s;display:flex}.nav-panel__link:hover{background:color-mix(in oklch, var(--foreground) 6%, transparent);color:var(--foreground)}.nav-panel__link:focus-visible{outline:2px solid var(--ring);outline-offset:-2px}.nav-panel__link.is-active{background:color-mix(in oklch, var(--foreground) 8%, transparent);color:var(--foreground);box-shadow:inset 3px 0 0 var(--foreground);font-weight:620}.nav-panel__link-icon{border-radius:var(--radius-sm);background:color-mix(in oklch, var(--muted) 60%, var(--background));width:1.5rem;height:1.5rem;color:var(--muted-foreground);flex-shrink:0;justify-content:center;align-items:center;display:flex}.nav-panel__link.is-active .nav-panel__link-icon{background:color-mix(in oklch, var(--foreground) 10%, var(--background));color:var(--foreground)}.nav-panel__link-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.nav-panel__logout{border-radius:var(--radius-md);border:1px solid var(--destructive);background:var(--destructive);color:#fff;cursor:pointer;justify-content:center;align-items:center;gap:.5rem;min-height:2.375rem;margin-top:.75rem;font-size:.8125rem;font-weight:600;transition:background-color .14s,border-color .14s;display:flex}.nav-panel__logout:hover{border-color:color-mix(in oklch, var(--destructive) 82%, black);background:color-mix(in oklch, var(--destructive) 82%, black);color:#fff}.app-nav__handle,.app-nav__scrim{display:none}.app-nav__drawer{display:contents}@media (max-width:639px){.nav-rail,.nav-panel,.app-nav__handle,.app-nav__scrim{display:none!important}}@media (min-width:640px){html[data-nav-layout=right] .nav-rail{border-right:none;border-left:1px solid var(--rail-border);left:auto;right:0}html[data-nav-layout=right] .nav-rail__brand,html[data-nav-layout=right] .nav-rail__link,html[data-nav-layout=right] .nav-rail__admin,html[data-nav-layout=right] .nav-rail__account,html[data-nav-layout=right] .nav-rail__action{flex-direction:row-reverse}html[data-nav-layout=right] .nav-rail__link,html[data-nav-layout=right] .nav-rail__admin,html[data-nav-layout=right] .nav-rail__account,html[data-nav-layout=right] .nav-rail__action{padding-left:.75rem;padding-right:calc(var(--rail-icon-inset) - .5rem)}html[data-nav-layout=right] .nav-rail__brand{padding-left:.55rem;padding-right:calc(var(--rail-icon-inset) - .45rem)}html[data-nav-layout=right] .nav-rail__action>svg{margin-left:0;margin-right:.34375rem}html[data-nav-layout=right] .nav-rail__label,html[data-nav-layout=right] .nav-rail__brand-copy,html[data-nav-layout=right] .nav-rail__account-copy{transform:translate(.375rem)}html[data-nav-layout=right] .nav-rail:hover .nav-rail__label,html[data-nav-layout=right] .nav-rail:focus-within .nav-rail__label,html[data-nav-layout=right] .nav-rail:hover .nav-rail__brand-copy,html[data-nav-layout=right] .nav-rail:focus-within .nav-rail__brand-copy,html[data-nav-layout=right] .nav-rail:hover .nav-rail__account-copy,html[data-nav-layout=right] .nav-rail:focus-within .nav-rail__account-copy{transform:translate(0)}html[data-nav-layout=right] .nav-rail__badge{margin-left:0;margin-right:auto}html[data-nav-layout=right] .nav-rail__account-copy,html[data-nav-layout=right] .nav-rail__brand-copy{text-align:right;align-items:flex-end}html[data-nav-layout=right]:not([data-account-shell=true]) .nav-panel{left:auto;right:var(--nav-rail-width);border-right:none;border-left:1px solid var(--border)}html[data-account-shell=true][data-nav-layout=right] .nav-panel{left:0;right:auto}html[data-nav-layout=top] .nav-rail,html[data-nav-layout=bottom] .nav-rail{inset-block:auto;inset-inline:0;width:100%;height:var(--nav-rail-height);scrollbar-width:none;background:var(--rail-bg);border-right:none;flex-direction:row;align-items:stretch;gap:0;padding:0;left:0;right:0;overflow:auto hidden}html[data-nav-layout=top] .nav-rail::-webkit-scrollbar{display:none}html[data-nav-layout=bottom] .nav-rail::-webkit-scrollbar{display:none}html[data-nav-layout=top] .nav-rail{border-bottom:1px solid var(--rail-border);top:0;bottom:auto}html[data-nav-layout=bottom] .nav-rail{border-top:1px solid var(--rail-border);top:auto;bottom:0}html[data-nav-layout=top] .nav-rail:hover,html[data-nav-layout=top] .nav-rail:focus-within,html[data-nav-layout=bottom] .nav-rail:hover,html[data-nav-layout=bottom] .nav-rail:focus-within{width:100%;box-shadow:var(--rail-shadow)}html[data-nav-layout=top] .nav-rail__zone,html[data-nav-layout=bottom] .nav-rail__zone{flex-direction:row;align-items:center;padding:.3rem .55rem}html[data-nav-layout=top] .nav-rail__zone--brand,html[data-nav-layout=bottom] .nav-rail__zone--brand{flex-shrink:0;gap:.15rem;padding-right:.75rem}html[data-nav-layout=top] .nav-rail__zone--brand:after,html[data-nav-layout=bottom] .nav-rail__zone--brand:after,html[data-nav-layout=top] .nav-rail__zone--account:before,html[data-nav-layout=bottom] .nav-rail__zone--account:before{width:5px;height:auto;inset:.55rem 0 .55rem auto}html[data-nav-layout=top] .nav-rail__zone--account:before,html[data-nav-layout=bottom] .nav-rail__zone--account:before{left:0;right:auto}html[data-nav-layout=top] .nav-rail__zone--links,html[data-nav-layout=bottom] .nav-rail__zone--links{flex:auto;justify-content:center;min-width:0}html[data-nav-layout=top] .nav-rail__zone--account,html[data-nav-layout=bottom] .nav-rail__zone--account{flex-shrink:0;gap:.1rem;margin-left:auto;padding-left:.75rem}html[data-nav-layout=top] .nav-rail__social,html[data-nav-layout=bottom] .nav-rail__social{flex-direction:row;margin-bottom:0;margin-right:.15rem}html[data-nav-layout=top] .nav-rail__brand,html[data-nav-layout=bottom] .nav-rail__brand{background:0 0;border:0;gap:.55rem;min-height:2.35rem;margin-inline:0;padding:.25rem .55rem}html[data-nav-layout=top] .nav-rail__brand:hover,html[data-nav-layout=bottom] .nav-rail__brand:hover{background:var(--rail-hover)}html[data-nav-layout=top] .nav-rail__brand-mark:after,html[data-nav-layout=bottom] .nav-rail__brand-mark:after{display:none}html[data-nav-layout=top] .nav-rail__brand-copy,html[data-nav-layout=bottom] .nav-rail__brand-copy{opacity:1;pointer-events:auto;display:flex;transform:none}html[data-nav-layout=top] .nav-rail__brand-kicker,html[data-nav-layout=bottom] .nav-rail__brand-kicker,html[data-nav-layout=top] .nav-rail__brand-tagline,html[data-nav-layout=bottom] .nav-rail__brand-tagline,html[data-nav-layout=top] .nav-rail__label,html[data-nav-layout=bottom] .nav-rail__label,html[data-nav-layout=top] .nav-rail__account-copy,html[data-nav-layout=bottom] .nav-rail__account-copy{display:none}html[data-nav-layout=top] .nav-rail__list,html[data-nav-layout=bottom] .nav-rail__list{flex-direction:row;flex:auto;justify-content:center;align-items:center;gap:.2rem;min-height:0;margin:0;padding:0;display:flex;overflow:visible}html[data-nav-layout=top] .nav-rail__marker,html[data-nav-layout=bottom] .nav-rail__marker{display:none}html[data-nav-layout=top] .nav-rail__link,html[data-nav-layout=bottom] .nav-rail__link,html[data-nav-layout=top] .nav-rail__admin,html[data-nav-layout=bottom] .nav-rail__admin,html[data-nav-layout=top] .nav-rail__account,html[data-nav-layout=bottom] .nav-rail__account,html[data-nav-layout=top] .nav-rail__action,html[data-nav-layout=bottom] .nav-rail__action{justify-content:center;min-height:2.55rem;margin-inline:0;padding-left:.55rem;padding-right:.55rem}html[data-nav-layout=top] .nav-rail__action>svg,html[data-nav-layout=bottom] .nav-rail__action>svg{margin-left:0;margin-right:0}html[data-nav-layout=top] .nav-rail__zone--account .nav-rail__account,html[data-nav-layout=bottom] .nav-rail__zone--account .nav-rail__account{margin-top:0}html[data-nav-layout=top] .nav-rail__badge,html[data-nav-layout=bottom] .nav-rail__badge{display:none}html[data-nav-layout=top] .nav-rail:hover .nav-rail__link.is-active .nav-rail__icon:after,html[data-nav-layout=bottom] .nav-rail:hover .nav-rail__link.is-active .nav-rail__icon:after,html[data-nav-layout=top] .nav-rail:focus-within .nav-rail__link.is-active .nav-rail__icon:after,html[data-nav-layout=bottom] .nav-rail:focus-within .nav-rail__link.is-active .nav-rail__icon:after,html[data-nav-layout=top] .nav-rail:hover .nav-rail__admin.is-active .nav-rail__icon:after,html[data-nav-layout=bottom] .nav-rail:hover .nav-rail__admin.is-active .nav-rail__icon:after,html[data-nav-layout=top] .nav-rail:focus-within .nav-rail__admin.is-active .nav-rail__icon:after,html[data-nav-layout=bottom] .nav-rail:focus-within .nav-rail__admin.is-active .nav-rail__icon:after{opacity:1}html[data-nav-layout=top]:not([data-account-shell=true]) .nav-panel,html[data-nav-layout=bottom]:not([data-account-shell=true]) .nav-panel{display:none!important}}@media (min-width:640px) and (max-width:819px){html[data-nav-layout=top] .nav-rail__brand-copy,html[data-nav-layout=bottom] .nav-rail__brand-copy{display:none}}@media (prefers-reduced-motion:reduce){.nav-rail,.nav-rail__label,.nav-rail__brand-copy,.nav-rail__brand-mark,.nav-rail__account-copy,.nav-rail__marker,.nav-rail__link,.nav-rail__icon,.nav-rail__action,.nav-rail__account,.nav-rail__badge,.nav-panel__link,.app-nav__handle,.app-nav__scrim,.app-nav__drawer{transition-duration:.01ms!important}}
.site-user-menu__panel{border:1px solid color-mix(in oklch, var(--foreground) 10%, var(--border));background:var(--popover);overflow:hidden;box-shadow:0 24px 64px #00000047,0 4px 16px #0000001f;box-shadow:0 24px 64px lab(0% 0 0/.28),0 4px 16px lab(0% 0 0/.12)}.site-user-menu__head{border-bottom:1px solid var(--border);background:0 0;align-items:center;gap:.625rem;padding:.875rem 1rem;display:flex}.site-user-menu__avatar{border-radius:var(--radius-sm);background:var(--muted);width:1.75rem;height:1.75rem;color:var(--muted-foreground);box-shadow:none;--tw-ring-color:transparent;border:none;flex-shrink:0;justify-content:center;align-items:center;font-size:.625rem;font-weight:700;display:flex}.site-user-menu__role{color:var(--muted-foreground);letter-spacing:-.01em;background:0 0;border-radius:0;margin:0;padding:0;font-weight:500;line-height:1.35;display:inline-block;font-size:.6875rem!important}.site-user-menu__label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted-foreground);margin:.25rem .5rem .375rem;font-size:.625rem;font-weight:700}.site-user-menu__item{transition:background-color .12s;position:relative;border-radius:var(--radius-md)!important;box-shadow:none!important;background:0 0!important;border:none!important}.site-user-menu__item:hover,.site-user-menu__item:focus{transform:none;background:color-mix(in oklch, var(--muted) 55%, transparent)!important;color:var(--foreground)!important}.site-user-menu__item--active{background:color-mix(in oklch, var(--primary) 10%, var(--background))!important;color:var(--foreground)!important;box-shadow:none!important}.site-user-menu__item-icon{border-radius:var(--radius-sm);background:var(--muted);width:1.75rem;height:1.75rem;color:var(--muted-foreground);border:none;flex-shrink:0;justify-content:center;align-items:center;transition:background-color .12s,color .12s;display:flex}.site-user-menu__item--active .site-user-menu__item-icon{background:color-mix(in oklch, var(--primary) 16%, var(--background));color:var(--primary);border:none}.site-user-menu__item-dot{display:none}.site-user-menu__separator{background:var(--border)}.site-user-menu__foot{border-top:1px solid var(--border);background:color-mix(in oklch, var(--muted) 35%, var(--background));padding:.5rem}.site-user-menu__logout{border-radius:var(--radius-md);background:0 0;border:none;transition:background-color .12s}.site-user-menu__logout:hover{background:color-mix(in oklch, var(--destructive) 10%, transparent);border:none;transform:none}.site-user-menu__logout-icon{border-radius:var(--radius-sm);background:color-mix(in oklch, var(--destructive) 12%, var(--muted));width:1.75rem;height:1.75rem;color:var(--destructive);flex-shrink:0;justify-content:center;align-items:center;display:flex}@media (prefers-reduced-motion:reduce){.site-user-menu__item,.site-user-menu__item-icon,.site-user-menu__logout{transition:none}}
.theme-controls{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--background);height:2rem;box-shadow:none;align-items:center;gap:.125rem;padding:.125rem;display:inline-flex}.theme-controls__mode{border-radius:var(--radius-sm);width:1.75rem;height:1.75rem;color:var(--foreground);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;transition:background-color .15s,color .15s;display:inline-flex}.theme-controls__mode:hover:not(:disabled){background:var(--accent-bg);transform:none}.theme-controls__mode:focus-visible{outline:2px solid var(--ring);outline-offset:1px}.theme-controls__mode--placeholder{pointer-events:none;opacity:.55}.site-header__theme.theme-controls{height:2rem}@media (prefers-reduced-motion:reduce){.theme-controls__mode{transition:none}}
.course-content{--course-heading-accent:var(--course-nav-accent,var(--course-accent,var(--primary)));--course-text-accent:var(--course-nav-accent,var(--course-accent,var(--primary)))}.course-content .rich-text :is(h1,h2,h3,h4,h5,h6),.course-content :is(.content-heading__title,.course-section-heading__title){font-family:var(--font-heading,var(--font-sans));text-wrap:balance;color:var(--foreground)}.course-content .rich-text :is(h1,h2,h3,h4,h5,h6){scroll-margin-top:calc(var(--header-offset,5.75rem) + .75rem)}.course-content .rich-text h1{letter-spacing:-.025em;border-bottom:2px solid color-mix(in srgb, var(--primary) 35%, var(--border));-webkit-text-fill-color:unset;background:0 0;margin:1.125rem 0 .55rem;padding-bottom:.375rem;font-size:clamp(1.85rem,4vw,2.15rem);font-style:italic;font-weight:650;line-height:1.2}.course-content .rich-text h1:after{display:none}.course-content .rich-text h2{letter-spacing:-.04em;width:fit-content;max-width:100%;color:var(--foreground);text-wrap:balance;background:0 0;border:none;border-radius:0;margin:2rem 0 .85rem;padding:0 0 .55rem;font-size:clamp(1.5rem,3.1vw,1.85rem);font-weight:700;line-height:1.15;display:block;position:relative}.course-content .rich-text h2:before{display:none}.course-content .rich-text h2:after{content:"";background:var(--course-heading-accent);pointer-events:none;width:2.25rem;height:3px;margin-top:.55rem;display:block}.course-content .rich-text h3{letter-spacing:-.018em;color:color-mix(in oklch, var(--foreground) 84%, var(--muted-foreground));border:none;border-bottom:1px solid var(--border);margin:.75rem 0 .25rem;padding:0 0 .125rem .125rem;font-size:clamp(1.0625rem,1.95vw,1.1875rem);font-weight:600;line-height:1.35;display:block}.course-content .rich-text h3:before{display:none}.course-content .rich-text h4{color:var(--muted-foreground);margin:.625rem 0 .25rem;padding-left:.15rem;font-size:1.05rem;font-style:italic;font-weight:600;line-height:1.38}.course-content .rich-text h5{letter-spacing:.14em;text-transform:uppercase;color:color-mix(in srgb, var(--primary) 62%, var(--muted-foreground));margin:.575rem 0 .2rem;font-size:.8125rem;font-weight:700;line-height:1.45}.course-content .rich-text h6{letter-spacing:-.012em;text-transform:none;border:none;border-left:2px solid color-mix(in oklch, var(--course-heading-accent) 55%, transparent);color:color-mix(in oklch, var(--foreground) 78%, var(--course-heading-accent));background:0 0;border-radius:0;margin:.55rem 0 .2rem;padding:.05rem 0 .05rem .65rem;font-size:.84375rem;font-weight:600;line-height:1.4;display:block}.course-content .rich-text :is(h1,h2,h3,h4,h5,h6):first-child{margin-top:0}.course-content .content-heading{scroll-margin-top:calc(var(--header-offset,5.75rem) + .75rem);flex-direction:column;gap:.125rem;margin:0;display:flex}.course-content .content-heading__eyebrow{letter-spacing:.1em;text-transform:uppercase;color:color-mix(in oklch, var(--course-heading-accent) 72%, var(--muted-foreground));order:-1;margin:0;padding:0;font-size:.625rem;font-weight:700;line-height:1.2}.course-content .content-heading__title{letter-spacing:-.028em;color:var(--foreground);margin:0;font-weight:700;line-height:1.26}.course-content .content-heading--h2{background:0 0;border:none;gap:.2rem;width:fit-content;max-width:100%;margin:2rem 0 .85rem;padding:0 0 .55rem;position:relative}.course-content .content-heading--h2:before{display:none}.course-content .content-heading--h2:after{content:"";background:var(--course-heading-accent);pointer-events:none;width:2.25rem;height:3px;margin-top:.1rem;display:block}.course-content .content-heading--h2 .content-heading__eyebrow{margin-bottom:.1rem;padding-left:0}.course-content .content-heading--h2 .content-heading__title{letter-spacing:-.04em;background:0 0;border:none;border-radius:0;padding:0;font-size:clamp(1.5rem,3.1vw,1.85rem);font-weight:700;line-height:1.15}.course-content .content-heading--h3{margin:.75rem 0 .25rem}.course-content .content-heading--h3 .content-heading__eyebrow{padding-left:.125rem}.course-content .content-heading--h3 .content-heading__title{letter-spacing:-.018em;color:color-mix(in oklch, var(--foreground) 84%, var(--muted-foreground));border:none;border-bottom:1px solid var(--border);padding-bottom:.125rem;font-size:clamp(1.0625rem,1.95vw,1.1875rem);font-weight:600;line-height:1.35}.course-content .content-heading--h4{margin:.675rem 0 .35rem}.course-content .content-heading--h4 .content-heading__title{color:var(--muted-foreground);font-size:1.05rem;font-style:italic;font-weight:600}.course-content .content-heading--h5{margin:.575rem 0 .275rem}.course-content .content-heading--h5 .content-heading__title{letter-spacing:.14em;text-transform:uppercase;color:color-mix(in srgb, var(--primary) 60%, var(--muted-foreground));font-size:.8125rem;font-weight:700}.course-content .content-heading--h6{border-left:2px solid color-mix(in oklch, var(--course-heading-accent) 55%, transparent);margin:.55rem 0 .2rem;padding:.05rem 0 .05rem .65rem}.course-content .content-heading--h6 .content-heading__title{letter-spacing:-.012em;text-transform:none;color:color-mix(in oklch, var(--foreground) 78%, var(--course-heading-accent));background:0 0;border:none;border-radius:0;padding:0;font-size:.84375rem;font-weight:600;line-height:1.4;display:block}.course-content .content-heading--h6 .content-heading__eyebrow{margin-bottom:.1rem;padding-left:0}.course-content .course-section-heading{border:none;border-bottom:1px solid var(--border);box-shadow:none;background:0 0;border-radius:0;margin:0 0 .4375rem;padding:0 0 .3125rem}.sombre .course-content .course-section-heading{box-shadow:none}.course-content .course-section-heading__title{letter-spacing:-.022em;color:var(--foreground);font-size:1.0625rem;font-weight:700;line-height:1.33}.course-content .course-section-heading__icon{border:1px solid color-mix(in oklch, var(--course-nav-accent,var(--course-accent,var(--primary))) 20%, var(--border));background:color-mix(in oklch, var(--course-nav-accent,var(--course-accent,var(--primary))) 8%, transparent);width:1.75rem;height:1.75rem;color:var(--course-nav-accent,var(--course-accent,var(--primary)));box-shadow:none;border-radius:.4375rem}.course-content .rich-text.prose,.course-content .course-pedagogy__body .rich-text.prose,.course-content .course-pedagogy__definition-prose .rich-text.prose,.course-content .course-pedagogy__body--remark .rich-text.prose,.course-content .course-exercise__prose.rich-text.prose,.course-content .course-exercise__body .rich-text.prose,.course-content .course-exercise-q__prose.rich-text.prose,.course-content .course-exercise-q__content .rich-text.prose,.course-content .section-text-content .rich-text{text-align:justify;text-justify:inter-word;-webkit-hyphens:auto;hyphens:auto}.course-content .rich-text.prose p,.course-content .course-pedagogy__body .rich-text.prose p,.course-content .course-pedagogy__definition-prose .rich-text.prose p,.course-content .course-pedagogy__body--remark .rich-text.prose p,.course-content .course-exercise__prose.rich-text.prose p,.course-content .course-exercise__body .rich-text.prose p,.course-content .section-text-content .rich-text p{text-align:justify;-webkit-hyphens:auto;hyphens:auto}.course-content .rich-text.prose :is(h1,h2,h3,h4,h5,h6),.course-content .course-pedagogy__body .rich-text.prose :is(h1,h2,h3,h4,h5,h6),.course-content .course-pedagogy__definition-prose .rich-text.prose :is(h1,h2,h3,h4,h5,h6),.course-content .course-pedagogy__body--remark .rich-text.prose :is(h1,h2,h3,h4,h5,h6),.course-content .course-exercise__prose.rich-text.prose :is(h1,h2,h3,h4,h5,h6),.course-content .course-exercise__body .rich-text.prose :is(h1,h2,h3,h4,h5,h6),.course-content .section-text-content .rich-text :is(h1,h2,h3,h4,h5,h6),.course-content .rich-text.prose :is(pre,code,table,th,td),.course-content .course-pedagogy__body .rich-text.prose :is(pre,code,table,th,td),.course-content .course-pedagogy__definition-prose .rich-text.prose :is(pre,code,table,th,td),.course-content .course-exercise__prose.rich-text.prose :is(pre,code,table,th,td),.course-content .course-exercise__body .rich-text.prose :is(pre,code,table,th,td){text-align:left;-webkit-hyphens:manual;hyphens:manual}.course-content .rich-text.prose li,.course-content .course-pedagogy__body .rich-text.prose li,.course-content .course-pedagogy__definition-prose .rich-text.prose li,.course-content .course-pedagogy__body--remark .rich-text.prose li,.course-content .course-exercise__prose.rich-text.prose li,.course-content .course-exercise__body .rich-text.prose li,.course-content .section-text-content .rich-text li,.course-content .rich-text.prose blockquote,.course-content .course-pedagogy__body .rich-text.prose blockquote,.course-content .course-pedagogy__definition-prose .rich-text.prose blockquote,.course-content .course-pedagogy__body--remark .rich-text.prose blockquote,.course-content .course-exercise__prose.rich-text.prose blockquote,.course-content .course-exercise__body .rich-text.prose blockquote,.course-content .section-text-content .rich-text blockquote,.course-content .course-exercise-q__prose.rich-text.prose,.course-content .course-exercise-q__content .rich-text.prose,.course-content .course-exercise-q__prose.rich-text.prose p,.course-content .course-exercise-q__content .rich-text.prose p{text-align:justify;-webkit-hyphens:auto;hyphens:auto}
.code-panel,.code-panel--accent,.code-panel--mac{--code-radius:0;--code-accent:var(--course-nav-accent,var(--course-accent,var(--primary)));--code-panel-pad-block:.95rem;--code-panel-pad-inline-code:1.05rem;--code-panel-pad-inline-gutter:.7rem;--code-panel-font-size:.8125rem;--code-panel-line-height:1.65;--code-panel-max-lines:10;--code-panel-scroll-max-height:15.5rem;--code-panel-bg:color-mix(in oklch, var(--muted) 10%, var(--card));--code-header-bg:color-mix(in oklch, var(--muted) 18%, var(--card));--code-gutter-bg:color-mix(in oklch, var(--foreground) 2%, var(--code-panel-bg));--code-tab-accent:var(--code-accent);--code-terminal-bg:color-mix(in oklch, var(--foreground) 3.5%, var(--code-panel-bg));--code-terminal-gutter:color-mix(in oklch, var(--foreground) 5%, var(--code-panel-bg));--code-terminal-head-bg:color-mix(in oklch, var(--muted) 24%, var(--card));--code-terminal-fg:var(--foreground);--code-terminal-line-num:color-mix(in srgb, var(--muted-foreground) 58%, transparent);--code-terminal-divider-a:color-mix(in srgb, var(--border) 88%, transparent);--code-terminal-divider-b:color-mix(in srgb, var(--border) 62%, transparent);isolation:isolate;border:1px solid color-mix(in oklch, var(--border) 92%, transparent);background:var(--code-panel-bg);box-shadow:none;border-radius:0;margin:1.35rem 0;position:relative;overflow:hidden}.sombre .code-panel,.sombre .code-panel--accent,.sombre .code-panel--mac,html.sombre .code-panel,html.sombre .code-panel--accent,html.sombre .code-panel--mac{--code-panel-bg:color-mix(in oklch, var(--muted) 18%, var(--card));--code-header-bg:color-mix(in oklch, var(--muted) 28%, var(--card));--code-gutter-bg:color-mix(in oklch, var(--foreground) 3.5%, var(--code-panel-bg));--code-terminal-bg:color-mix(in oklch, var(--foreground) 5%, var(--card));--code-terminal-gutter:color-mix(in oklch, var(--foreground) 7%, var(--card));--code-terminal-head-bg:color-mix(in oklch, var(--muted) 36%, var(--card));--code-terminal-fg:var(--foreground);--code-terminal-line-num:color-mix(in oklch, var(--muted-foreground) 72%, transparent);--code-terminal-divider-a:color-mix(in oklch, var(--border) 80%, transparent);--code-terminal-divider-b:color-mix(in oklch, var(--border) 55%, transparent);border-color:color-mix(in oklch, var(--border) 78%, transparent);box-shadow:none}.code-panel:before{content:none}.code-panel__dots,.code-panel__dot,.code-panel__traffic{display:none!important}.code-panel__mark{background:linear-gradient(180deg, color-mix(in oklch, var(--code-accent) 88%, black 6%), color-mix(in oklch, var(--code-accent) 72%, black 14%));width:2rem;height:2rem;color:color-mix(in oklch, white 92%, var(--code-accent));border:none;border-radius:0;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.code-panel__mark-icon{width:1.15rem;height:1.15rem}.code-panel__mark:not(:has(.code-panel__mark-icon)):before{content:"";background:currentColor;width:.95rem;height:.95rem;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 8l-4 4 4 4'/%3E%3Cpath d='M17 8l4 4-4 4'/%3E%3Cpath d='M14 4l-4 16'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 8l-4 4 4 4'/%3E%3Cpath d='M17 8l4 4-4 4'/%3E%3Cpath d='M14 4l-4 16'/%3E%3C/svg%3E") 50%/contain no-repeat}.code-panel__chrome{background:var(--code-header-bg);border-bottom:1px solid color-mix(in oklch, var(--border) 85%, transparent);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem;min-height:2.75rem;padding:.5rem .85rem .5rem .95rem;display:grid}.code-panel__accent-bar{display:none}.code-panel__chrome--tabs{border-bottom:1px solid color-mix(in oklch, var(--border) 85%, transparent);background:var(--code-header-bg);grid-template-columns:auto minmax(0,1fr) auto;align-items:stretch;gap:.6rem;min-height:2.85rem;padding:0 .7rem 0 .85rem}.code-panel__chrome--tabs .code-panel__mark{align-self:center}.code-panel__file-count{letter-spacing:.04em;text-transform:uppercase;color:color-mix(in srgb, var(--muted-foreground) 88%, transparent);background:color-mix(in oklch, var(--muted) 28%, transparent);border:1px solid color-mix(in srgb, var(--border) 72%, transparent);border-radius:0;flex-shrink:0;padding:.14rem .4rem;font-family:ui-monospace,SF Mono,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.58rem;font-weight:650;display:none}.code-panel__tabs-wrap{align-self:stretch;align-items:flex-end;min-width:0;display:flex;position:relative}.code-panel__tabs-wrap:before,.code-panel__tabs-wrap:after{content:"";z-index:2;pointer-events:none;opacity:0;width:1.35rem;transition:opacity .18s;position:absolute;top:0;bottom:0}.code-panel__tabs-wrap:before{background:linear-gradient(90deg, var(--code-header-bg) 15%, color-mix(in srgb, var(--code-header-bg) 72%, transparent) 55%, transparent);left:0}.code-panel__tabs-wrap:after{background:linear-gradient(270deg, var(--code-header-bg) 15%, color-mix(in srgb, var(--code-header-bg) 72%, transparent) 55%, transparent);right:0}.code-panel__tabs-wrap--scroll-left:before,.code-panel__tabs-wrap--scroll-right:after{opacity:1}.code-panel__chrome--tabs .code-panel__actions{align-self:center;padding-bottom:0}.code-panel__tabs{scrollbar-width:none;flex:1;align-items:stretch;gap:.15rem;min-width:0;padding:.42rem .1rem 0;display:flex;overflow-x:auto}.code-panel__tabs::-webkit-scrollbar{display:none}.code-panel__tab{letter-spacing:.015em;max-width:13.5rem;color:color-mix(in srgb, var(--foreground) 44%, var(--muted-foreground));cursor:pointer;background:0 0;border:1px solid #0000;border-bottom:none;border-radius:0;flex-shrink:0;align-items:center;padding:.42rem .82rem .46rem;font-family:ui-monospace,SF Mono,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.7125rem;font-weight:600;transition:background-color .16s,border-color .16s,color .16s,box-shadow .16s;display:inline-flex}.code-panel__tab:before{content:none}.code-panel__tab-label{align-items:baseline;gap:0;min-width:0;display:inline-flex;overflow:hidden}.code-panel__tab-base{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.code-panel__tab-ext{color:color-mix(in srgb, currentColor 62%, transparent);flex-shrink:0;font-weight:500}.code-panel__tab[data-ext=ts] .code-panel__tab-ext,.code-panel__tab[data-ext=tsx] .code-panel__tab-ext{color:color-mix(in srgb, #3178c6 78%, currentColor)}.code-panel__tab[data-ext=js] .code-panel__tab-ext,.code-panel__tab[data-ext=jsx] .code-panel__tab-ext{color:color-mix(in srgb, #c9a100 82%, currentColor)}.code-panel__tab[data-ext=py] .code-panel__tab-ext{color:color-mix(in srgb, #3776ab 82%, currentColor)}.code-panel__tab[data-ext=java] .code-panel__tab-ext{color:color-mix(in srgb, #e76f00 82%, currentColor)}.code-panel__tab[data-ext=sql] .code-panel__tab-ext{color:color-mix(in srgb, #336791 82%, currentColor)}.code-panel__tab[data-ext=css] .code-panel__tab-ext{color:color-mix(in srgb, #264de4 82%, currentColor)}.code-panel__tab[data-ext=html] .code-panel__tab-ext{color:color-mix(in srgb, #e34f26 82%, currentColor)}.code-panel__tab:hover{color:var(--foreground);background:color-mix(in srgb, var(--background) 38%, transparent);border-color:color-mix(in srgb, var(--border) 55%, transparent)}.code-panel__tab.is-active,.code-panel__tab[aria-selected=true]{z-index:1;border-color:color-mix(in srgb, var(--border) 82%, transparent);background:var(--code-panel-bg,color-mix(in oklch, var(--muted) 38%, var(--card)));color:var(--foreground);box-shadow:0 -1px 0 color-mix(in srgb, var(--foreground) 5%, transparent) inset, 0 1px 0 var(--code-panel-bg);margin-bottom:-1px;position:relative}.code-panel__tab.is-active:after,.code-panel__tab[aria-selected=true]:after{content:"";background:color-mix(in oklch, var(--code-accent,var(--primary)) 78%, var(--foreground));border-radius:0;height:2px;position:absolute;top:0;left:.55rem;right:.55rem}.code-panel__tab[data-ext=ts].is-active:after,.code-panel__tab[data-ext=tsx].is-active:after{background:#3178c6}.code-panel__tab[data-ext=js].is-active:after,.code-panel__tab[data-ext=jsx].is-active:after{background:#c9a100}.code-panel__tab[data-ext=py].is-active:after{background:#3776ab}.code-panel__tab[data-ext=java].is-active:after{background:#e76f00}.code-panel__tab[data-ext=sql].is-active:after{background:#336791}.code-panel__tab[data-ext=css].is-active:after{background:#264de4}.code-panel__tab[data-ext=html].is-active:after{background:#e34f26}.code-panel__tab:focus-visible{outline:2px solid var(--ring);outline-offset:1px}.code-panel__title{justify-content:flex-start;justify-self:start;align-items:center;gap:.65rem;min-width:0;padding:0;display:inline-flex}.code-panel__label{text-overflow:ellipsis;white-space:nowrap;letter-spacing:-.01em;max-width:min(100%,18rem);color:color-mix(in oklch, var(--foreground) 90%, var(--muted-foreground));font-family:ui-monospace,SF Mono,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.78rem;font-weight:600;overflow:hidden}.code-panel__title-meta{flex-direction:column;gap:.08rem;min-width:0;display:inline-flex}.code-panel__kicker{letter-spacing:.08em;text-transform:uppercase;color:color-mix(in oklch, var(--muted-foreground) 88%, transparent);font-size:.625rem;font-weight:650}.code-panel__lang{border:1px solid color-mix(in oklch, var(--border) 82%, transparent);background:color-mix(in oklch, var(--muted) 22%, transparent);letter-spacing:.04em;text-transform:uppercase;color:var(--muted-foreground);border-radius:0;flex-shrink:0;align-items:center;gap:.35rem;padding:.28rem .5rem .28rem .4rem;font-family:ui-monospace,SF Mono,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.625rem;font-weight:650;display:inline-flex}.code-panel__lang-icon{width:.95rem;height:.95rem;color:var(--code-accent,var(--primary));flex-shrink:0}.code-panel__lang>.code-panel__lang-icon:empty{color:var(--code-accent,var(--primary));background:currentColor;display:block;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 8l-4 4 4 4'/%3E%3Cpath d='M17 8l4 4-4 4'/%3E%3Cpath d='M14 4l-4 16'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 8l-4 4 4 4'/%3E%3Cpath d='M17 8l4 4-4 4'/%3E%3Cpath d='M14 4l-4 16'/%3E%3C/svg%3E") 50%/contain no-repeat}.code-panel__lang-text{line-height:1}.code-panel__lang[data-lang=typescript] .code-panel__lang-icon,.code-panel__lang[data-lang=javascript] .code-panel__lang-icon{color:#3178c6}.code-panel__lang[data-lang=javascript] .code-panel__lang-icon{color:#c9a100}.code-panel__lang[data-lang=python] .code-panel__lang-icon{color:#3776ab}.code-panel__lang[data-lang=php] .code-panel__lang-icon{color:#777bb4}.code-panel__lang[data-lang=java] .code-panel__lang-icon{color:#e76f00}.code-panel__lang[data-lang=html] .code-panel__lang-icon{color:#e34f26}.code-panel__lang[data-lang=css] .code-panel__lang-icon{color:#264de4}.code-panel__lang[data-lang=sql] .code-panel__lang-icon{color:#336791}.code-panel__lang[data-lang=bash] .code-panel__lang-icon{color:color-mix(in oklch, var(--foreground) 72%, var(--muted-foreground))}.code-panel__actions{flex-shrink:0;align-items:center;gap:.4rem;padding:0;display:inline-flex}.code-panel__copy{border:1px solid color-mix(in oklch, var(--border) 88%, transparent);letter-spacing:-.01em;color:var(--muted-foreground);cursor:pointer;background:0 0;border-radius:0;flex-shrink:0;align-items:center;gap:.35rem;padding:.34rem .68rem;font-size:.6875rem;font-weight:600;transition:background .15s,color .15s,border-color .15s,transform .12s;display:inline-flex}.code-panel__copy:hover{color:var(--foreground);border-color:color-mix(in oklch, var(--code-accent,var(--primary)) 34%, var(--border));background:color-mix(in oklch, var(--code-accent,var(--primary)) 9%, transparent)}.code-panel__copy:active{background:color-mix(in oklch, var(--code-accent,var(--primary)) 14%, transparent);transform:none}.code-panel__copy--copied{color:var(--foreground);border-color:color-mix(in srgb, var(--border) 95%, transparent);background:color-mix(in oklch, var(--muted) 50%, var(--card))}.code-panel__copy-icon{opacity:.8;background:currentColor;width:12px;height:12px;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='14' height='14' x='8' y='8' rx='2' ry='2'/%3E%3Cpath d='M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='14' height='14' x='8' y='8' rx='2' ry='2'/%3E%3Cpath d='M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2'/%3E%3C/svg%3E") 50%/contain no-repeat}.code-panel__copy--copied .code-panel__copy-icon{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E")}.code-panel__scroll{max-height:var(--code-panel-scroll-max-height,15.5rem);overscroll-behavior:contain;background:var(--code-panel-bg);border-radius:0 0 var(--code-radius) var(--code-radius);scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--muted-foreground) 45%, transparent) transparent;overflow:auto}.code-panel__scroll::-webkit-scrollbar{width:10px;height:10px}.code-panel__scroll::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--muted-foreground) 42%, transparent);background-clip:padding-box;border:2px solid #0000;border-radius:0}.code-panel__scroll::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb, var(--muted-foreground) 58%, transparent);background-clip:padding-box}.code-panel__code-grid{grid-template-columns:auto minmax(0,1fr);align-items:stretch;min-width:min-content;display:grid}.code-panel__gutter{box-sizing:border-box;padding:var(--code-panel-pad-block) var(--code-panel-pad-inline-gutter) var(--code-panel-pad-block) .85rem;border-right:1px solid color-mix(in srgb, var(--border) 52%, transparent);background:var(--code-gutter-bg);-webkit-user-select:none;user-select:none;flex-direction:column;flex-shrink:0;align-self:stretch;display:flex}.code-panel__line-num{text-align:right;min-width:1.85rem;font-family:ui-monospace,SF Mono,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:var(--code-panel-font-size);font-weight:500;line-height:var(--code-panel-line-height);font-variant-numeric:tabular-nums;color:color-mix(in srgb, var(--muted-foreground) 58%, transparent);padding-right:.35rem;display:block}.code-panel__body{background:0 0;min-width:0;position:relative}.code-panel__body--loading .code-panel-skeleton{box-shadow:none;border:none;border-radius:0}.code-panel__body pre.shiki,.code-panel__body>pre.shiki,pre.code-panel__body{padding:var(--code-panel-pad-block) var(--code-panel-pad-inline-code) var(--code-panel-pad-block) .75rem;font-family:ui-monospace,SF Mono,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:var(--code-panel-font-size);line-height:var(--code-panel-line-height);tab-size:2;white-space:pre;-webkit-font-smoothing:antialiased;font-variant-ligatures:none;border-radius:0;margin:0;overflow:visible;background-color:#0000!important}.code-panel__body pre.shiki code{font-family:inherit;font-size:inherit;line-height:inherit;white-space:inherit;color:inherit;background:0 0;border:none;padding:0;display:block}.code-panel__body pre.shiki span{font-style:inherit;font-weight:inherit;box-shadow:none!important;background:0 0!important}.code-panel__body pre.shiki :where(.line,code){box-shadow:none!important;background:0 0!important}.code-panel__body pre.shiki ::selection{background:var(--selection-bg,color-mix(in oklch, var(--foreground) 16%, transparent))}.code-panel__body pre.shiki ::-moz-selection{background:var(--selection-bg,color-mix(in oklch, var(--foreground) 16%, transparent))}.code-panel__body pre.shiki .line{display:inline}.rich-text.prose :not(pre)>code,.prose :not(pre)>code{background:var(--code-inline-bg,color-mix(in srgb, var(--muted) 82%, transparent));color:var(--code-inline-fg,var(--foreground));border:1px solid var(--code-inline-border,color-mix(in srgb, var(--border) 88%, transparent));box-shadow:none;letter-spacing:-.01em;border-radius:0;padding:.12em .38em;font-family:ui-monospace,SF Mono,Menlo,Monaco,Consolas,monospace;font-size:.84em;font-weight:500}.course-shell .rich-text.prose :not(pre)>code,.course-shell .prose :not(pre)>code,.course-shell .rich-text :not(pre)>code,.course-shell .tutorat-inline-text__code{background:color-mix(in srgb, var(--course-accent,var(--course-force-accent,var(--primary))) 14%, var(--background));color:var(--foreground);border:1px solid color-mix(in srgb, var(--course-accent,var(--course-force-accent,var(--primary))) 55%, transparent)}.sombre .course-shell .rich-text.prose :not(pre)>code,.sombre .course-shell .prose :not(pre)>code,.sombre .course-shell .rich-text :not(pre)>code,.sombre .course-shell .tutorat-inline-text__code{background:color-mix(in srgb, var(--course-accent,var(--course-force-accent,var(--primary))) 22%, var(--background));color:#fff;border-color:color-mix(in srgb, var(--course-accent,var(--course-force-accent,var(--primary))) 60%, transparent)}.rich-text.prose a>code,.prose a>code{color:inherit;border-color:color-mix(in oklch, currentColor 22%, var(--border))}.code-panel-skeleton{box-shadow:none;border:1px solid color-mix(in oklch, var(--border) 88%, transparent)}.code-panel-skeleton__chrome{background:var(--code-header-bg);border-bottom:1px solid color-mix(in oklch, var(--border) 85%, transparent);min-height:2.75rem}.code-panel-skeleton__body{background:var(--code-panel-bg,color-mix(in oklch, var(--muted) 38%, var(--card)));grid-template-columns:auto 1fr;display:grid}.code-panel-skeleton__gutter{padding:var(--code-panel-pad-block) var(--code-panel-pad-inline-gutter) var(--code-panel-pad-block) .85rem;border-right:1px solid color-mix(in oklch, var(--border) 52%, transparent);flex-direction:column;gap:.42rem;display:flex}.code-panel-skeleton__gutter-line{background:color-mix(in oklch, var(--foreground) 8%, var(--code-panel-bg,var(--muted)));border-radius:0;width:1.1rem;height:.55rem}.code-panel-skeleton__code{padding:var(--code-panel-pad-block) var(--code-panel-pad-inline-code) var(--code-panel-pad-block) .75rem;gap:.5rem;display:grid}.code-panel-skeleton__line{background:linear-gradient(90deg, color-mix(in oklch, var(--foreground) 8%, var(--code-panel-bg,var(--muted))) 0%, color-mix(in oklch, var(--foreground) 14%, var(--code-panel-bg,var(--muted))) 50%, color-mix(in oklch, var(--foreground) 8%, var(--code-panel-bg,var(--muted))) 100%);background-size:200% 100%;border-radius:0;height:.65rem;animation:1.1s ease-in-out infinite code-panel-skeleton-shimmer}.code-panel-skeleton__line--w92{width:92%}.code-panel-skeleton__line--w78{width:78%}.code-panel-skeleton__line--w85{width:85%}.code-panel-skeleton__line--w60{width:60%}@keyframes code-panel-skeleton-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.code-panel--with-terminal>[role=tabpanel] .code-panel__scroll,.code-panel--with-terminal>.code-panel__scroll:first-of-type,.code-panel--with-terminal>div:not(.code-panel__terminal) .code-panel__scroll{border-radius:0}.code-panel__terminal-divider{background:color-mix(in oklch, var(--border) 78%, transparent);flex-shrink:0;height:1px}.code-panel__terminal-head{background:var(--code-terminal-head-bg);border-bottom:1px solid var(--code-terminal-divider-b);justify-content:space-between;align-items:center;gap:.5rem;min-height:1.85rem;padding:.32rem .85rem;display:flex}.code-panel__terminal-label{letter-spacing:.05em;text-transform:uppercase;color:color-mix(in srgb, var(--code-terminal-fg) 72%, var(--muted-foreground));font-family:ui-monospace,SF Mono,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.68rem;font-weight:650}.code-panel__lang--terminal{font-size:.6rem}.code-panel__terminal .code-panel__scroll{border-radius:0 0 var(--code-radius) var(--code-radius);background:var(--code-terminal-bg)}.code-panel__terminal .code-panel__gutter{background:var(--code-terminal-gutter);border-right-color:var(--code-terminal-divider-b)}.code-panel__terminal .code-panel__line-num{color:var(--code-terminal-line-num)}.code-panel__terminal .code-panel__body pre.shiki,.code-panel__terminal .code-panel__tutor-code{color:var(--code-terminal-fg)}@media (min-width:640px){.code-panel__chrome--tabs .code-panel__file-count{display:inline-flex}}@media (max-width:420px){.code-panel__lang-text{display:none}.code-panel__lang{padding:.3rem}}@media (max-width:480px){.code-panel__copy-text{display:none}.code-panel__copy{border-radius:0;padding:.34rem}.code-panel__title{flex-wrap:wrap;justify-self:start;align-items:center;gap:.45rem .65rem}.code-panel__gutter{padding-left:.55rem;padding-right:.45rem}.code-panel__line-num{min-width:1.45rem;font-size:.68rem}}@media (prefers-reduced-motion:reduce){.code-panel__copy,.code-panel__tab{transition:none}.code-panel-skeleton__line{animation:none}}.code-fill-panel .code-panel__scroll{max-height:var(--code-panel-scroll-max-height,15.5rem);overflow:auto}.code-fill-panel{margin:0}.code-fill-panel__badge{letter-spacing:.06em;text-transform:uppercase;color:color-mix(in oklch, var(--code-accent) 85%, var(--foreground));background:color-mix(in oklch, var(--code-accent) 10%, var(--card));border:1px solid color-mix(in oklch, var(--code-accent) 22%, var(--border));border-radius:0;flex-shrink:0;padding:.18rem .5rem;font-size:.625rem;font-weight:700}.code-fill-panel__skeleton{margin:0;box-shadow:none!important;border:none!important;border-radius:0!important}.code-fill-panel__body{min-width:0}.code-fill-panel__pre{padding:var(--code-panel-pad-block) var(--code-panel-pad-inline-code);font-family:ui-monospace,SF Mono,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:var(--code-panel-font-size);line-height:var(--code-panel-line-height);tab-size:2;white-space:pre-wrap;word-break:break-word;color:var(--foreground);-webkit-font-smoothing:antialiased;margin:0;overflow-x:auto;background:0 0!important}.code-fill-panel__pre :where(code,.line,span){box-shadow:none!important;background:0 0!important}.code-fill-panel__code{font:inherit;color:inherit;white-space:inherit;display:block}.code-fill-panel__row,.code-fill-panel__segment{display:inline}.code-fill-panel__segment .line,.code-fill-panel__segment span{white-space:pre-wrap;display:inline}.code-fill-panel__blank-wrap{vertical-align:baseline;white-space:nowrap;display:inline}.code-fill-panel__blank{min-width:3.25rem;max-width:min(100%,18rem);font:inherit;color:var(--foreground);background:color-mix(in oklch, var(--code-accent) 14%, var(--code-panel-bg));box-shadow:inset 0 0 0 1.5px color-mix(in oklch, var(--code-accent) 50%, var(--border)), 0 1px 0 color-mix(in oklch, var(--foreground) 6%, transparent);border:none;border-radius:0;outline:none;margin:0 .12rem;padding:.1rem .55rem .14rem;font-weight:600;line-height:1.4;transition:box-shadow .15s,background .15s;display:inline-block}.code-fill-panel__blank::placeholder{color:color-mix(in oklch, var(--muted-foreground) 65%, transparent);font-weight:500}.code-fill-panel__blank:hover:not(:disabled){background:color-mix(in oklch, var(--code-accent) 20%, var(--code-panel-bg))}.code-fill-panel__blank:focus{background:color-mix(in oklch, var(--code-panel-bg) 92%, var(--card));box-shadow:inset 0 0 0 2px var(--code-accent), 0 0 0 3px color-mix(in oklch, var(--code-accent) 22%, transparent)}.code-fill-panel__blank:disabled{opacity:.72;cursor:not-allowed}.code-fill-panel__blank.is-ok,.code-fill-panel__blank-wrap.is-ok .code-fill-panel__blank{background:color-mix(in oklch, var(--success,#16a34a) 18%, var(--code-panel-bg));box-shadow:inset 0 0 0 1.5px color-mix(in oklch, var(--success,#16a34a) 58%, var(--border));color:color-mix(in oklch, var(--success,#16a34a) 55%, var(--foreground))}.code-fill-panel__blank.is-ok:disabled,.code-fill-panel__blank.is-ok[readonly]{opacity:1;cursor:default;background:color-mix(in oklch, var(--success,#16a34a) 22%, var(--code-panel-bg));box-shadow:inset 0 0 0 1.5px color-mix(in oklch, var(--success,#16a34a) 62%, var(--border))}.code-fill-panel__blank.is-ko,.code-fill-panel__blank-wrap.is-ko .code-fill-panel__blank{background:color-mix(in oklch, var(--destructive,#dc2626) 16%, var(--code-panel-bg));box-shadow:inset 0 0 0 1.5px color-mix(in oklch, var(--destructive,#dc2626) 55%, var(--border));color:color-mix(in oklch, var(--destructive,#dc2626) 45%, var(--foreground))}.code-fill-panel__blank.is-ko:hover:not(:disabled){background:color-mix(in oklch, var(--destructive,#dc2626) 22%, var(--code-panel-bg))}.code-fill-panel__blank.is-ko:focus{background:color-mix(in oklch, var(--destructive,#dc2626) 12%, var(--code-panel-bg));box-shadow:inset 0 0 0 2px color-mix(in oklch, var(--destructive,#dc2626) 70%, var(--border)), 0 0 0 3px color-mix(in oklch, var(--destructive,#dc2626) 20%, transparent)}.code-fill-panel--disabled .code-fill-panel__segment{opacity:.92}.code-fill-panel--display-only .code-fill-panel__blank{color:#0000;-webkit-user-select:none;user-select:none;pointer-events:none;cursor:default}
:root,.clair{--cb-line:#1c1a181a;--cb-surface:var(--card);--cb-surface-2:var(--bg-secondary);--cb-olive:color-mix(in oklch, var(--primary) 42%, var(--muted-foreground));--cb-olive-d:color-mix(in oklch, var(--primary) 55%, var(--foreground));--cb-gold:color-mix(in oklch, var(--primary) 38%, var(--muted-foreground));--cb-shadow:0 2px 12px #0000000f;--cb-shadow-hover:0 12px 28px #0000001a}.sombre{--cb-line:#b8b2aa1f;--cb-surface:var(--card);--cb-surface-2:color-mix(in oklch, var(--card) 78%, var(--bg-secondary) 22%);--cb-olive:color-mix(in oklch, var(--primary) 48%, var(--muted-foreground));--cb-olive-d:color-mix(in oklch, var(--primary) 62%, var(--foreground));--cb-gold:color-mix(in oklch, var(--primary) 40%, var(--muted-foreground));--cb-shadow:0 4px 24px #0000006b;--cb-shadow-hover:0 14px 40px #00000085}.section-card{border:1px solid var(--cb-line);background:var(--cb-surface);box-shadow:var(--cb-shadow);border-radius:14px;margin:0;padding:1.1rem 1.1rem 1.1rem 1.25rem;position:relative;overflow:hidden}.section-card:before{content:"";border-radius:18px 0 0 18px;width:5px;position:absolute;inset:0 auto 0 0}.section-card--texte:before{background:var(--cb-text)}.section-card--video:before{background:var(--cb-video)}.section-card--pdf:before{background:var(--cb-pdf)}.section-card--link:before{background:var(--cb-link)}.section-card--page:before{background:var(--cb-page)}.section-card--qcm:before{background:var(--cb-qcm)}.section-card--image:before{background:var(--cb-brand)}.course-section-heading__icon{justify-content:center;align-items:center;display:inline-flex}.section-card--texte .course-section-heading__icon{border-color:color-mix(in srgb, var(--cb-text) 32%, var(--border));background:color-mix(in srgb, var(--cb-text) 14%, var(--card));color:var(--cb-text)}.section-card--video .course-section-heading__icon{border-color:color-mix(in srgb, var(--cb-video) 34%, var(--border));background:color-mix(in srgb, var(--cb-video) 16%, var(--card));color:var(--cb-video)}.section-card--pdf .course-section-heading__icon{border-color:color-mix(in srgb, var(--cb-pdf) 36%, var(--border));background:color-mix(in srgb, var(--cb-pdf) 16%, var(--card));color:var(--cb-pdf)}.section-card--link .course-section-heading__icon{border-color:color-mix(in srgb, var(--cb-link) 36%, var(--border));background:color-mix(in srgb, var(--cb-link) 16%, var(--card));color:var(--cb-link)}.section-card--page .course-section-heading__icon{border-color:color-mix(in srgb, var(--cb-page) 34%, var(--border));background:color-mix(in srgb, var(--cb-page) 16%, var(--card));color:var(--cb-page)}.section-card--qcm .course-section-heading__icon{border-color:color-mix(in srgb, var(--cb-qcm) 36%, var(--border));background:color-mix(in srgb, var(--cb-qcm) 16%, var(--card));color:var(--cb-qcm)}.section-text-content{border:1px solid color-mix(in srgb, var(--cb-text) 18%, var(--cb-line));background:color-mix(in srgb, var(--cb-surface-2) 88%, var(--card));box-shadow:inset 0 1px 0 color-mix(in oklch, var(--card) 28%, transparent), 0 1px 2px color-mix(in srgb, var(--cb-text) 6%, transparent);border-radius:14px;padding:1rem 1.1rem}.section-text-content .rich-text{text-align:justify;text-justify:inter-word;-webkit-hyphens:auto;hyphens:auto;font-size:1.02rem;line-height:1.75}.section-text-content .rich-text p{text-align:justify;-webkit-hyphens:auto;hyphens:auto}.section-text-content .rich-text :is(h1,h2,h3,h4,h5,h6){text-align:left;-webkit-hyphens:manual;hyphens:manual}.section-text-content .rich-text li,.section-text-content .rich-text blockquote{text-align:justify;-webkit-hyphens:auto;hyphens:auto}.sombre .section-text-content{box-shadow:inset 0 1px 0 color-mix(in oklch, var(--foreground) 6%, transparent)}.section-text-content blockquote,.section-text-content .rich-text blockquote{border-left:3px solid color-mix(in srgb, var(--course-text-accent,var(--course-accent,var(--cb-text,var(--primary)))) 68%, transparent);background:color-mix(in srgb, var(--course-text-accent,var(--course-accent,var(--cb-text,var(--primary)))) 9%, transparent);border-radius:8px;margin:.8rem 0;padding:.62rem .86rem}.section-video-content{border:1px solid color-mix(in srgb, var(--cb-video) 24%, var(--cb-line));background:linear-gradient(145deg, color-mix(in srgb, var(--cb-video) 10%, transparent), transparent);border-radius:14px;padding:10px}.section-video-content iframe{aspect-ratio:16/9;width:100%;box-shadow:0 8px 20px color-mix(in srgb, var(--cb-video) 28%, transparent);border:0;border-radius:10px}.block-resource-link{border:1px solid var(--cb-line);background:var(--cb-surface);color:inherit;box-shadow:inset 0 1px 0 color-mix(in oklch, var(--card) 28%, transparent);border-radius:14px;align-items:center;gap:12px;padding:12px 14px;text-decoration:none;display:flex}.block-resource-link--pdf{border-left:5px solid var(--cb-pdf)}.block-resource-link--ext{border-left:5px solid var(--cb-link)}.block-resource-link--page{border-left:5px solid var(--cb-page)}.block-resource-link__icon{border:1px solid var(--cb-line);background:color-mix(in srgb, var(--muted) 60%, var(--card));width:36px;height:36px;color:var(--muted-foreground);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.block-resource-link__body{flex:1;min-width:0}.block-resource-link__title{color:var(--foreground);font-size:.9rem;font-weight:700;display:block}.block-resource-link__meta{color:var(--muted-foreground);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:.72rem;display:block;overflow:hidden}.block-resource-link__badge{letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--cb-line);color:var(--muted-foreground);background:var(--cb-surface-2);border-radius:999px;flex-shrink:0;padding:4px 8px;font-size:.62rem;font-weight:800}.content-heading{flex-direction:column;gap:.125rem;scroll-margin-top:7rem;display:flex}.content-heading__eyebrow{letter-spacing:.1em;text-transform:uppercase;color:color-mix(in oklch, var(--course-heading-accent,var(--course-accent,var(--cb-brand,var(--primary)))) 78%, var(--muted-foreground));order:-1;margin:0;padding:0;font-size:.625rem;font-weight:700;line-height:1.2}.content-heading__title{letter-spacing:-.02em;margin:0;font-weight:650;line-height:1.28}.content-heading__title .tutorat-inline-math .katex{font-size:1em}.content-heading__title .tutorat-inline-text__code{font-size:.86em;font-weight:600}.content-heading--h2{--h2-accent:var(--cb-brand,var(--course-heading-accent,var(--course-accent,var(--primary))));background:0 0;border:none;gap:.2rem;width:fit-content;max-width:100%;margin:2rem 0 .85rem;padding:0 0 .55rem;position:relative}.content-heading--h2:before{display:none}.content-heading--h2:after{content:"";background:var(--h2-accent);pointer-events:none;width:2.25rem;height:3px;margin-top:.1rem;display:block}.content-heading--h2 .content-heading__eyebrow{margin-bottom:.1rem;padding-left:0}.content-heading--h2 .content-heading__title{letter-spacing:-.04em;background:0 0;border:none;padding:0;font-size:clamp(1.5rem,3.1vw,1.85rem);font-weight:700;line-height:1.15}.content-heading--h3{margin:.75rem 0 .25rem}.content-heading--h3 .content-heading__eyebrow{padding-left:.125rem}.content-heading--h3 .content-heading__title{color:color-mix(in srgb, var(--foreground) 84%, var(--muted-foreground));border:none;border-bottom:1px solid var(--border);padding-bottom:.125rem;font-size:clamp(1.0625rem,1.95vw,1.1875rem);font-weight:600}.content-heading--h4{margin:.625rem 0 .325rem}.content-heading--h4 .content-heading__title{color:var(--muted-foreground);font-size:1.05rem;font-style:italic}.content-heading--h5{margin:.55rem 0 .25rem}.content-heading--h5 .content-heading__title{letter-spacing:.14em;text-transform:uppercase;color:color-mix(in srgb, var(--cb-brand,var(--primary)) 58%, var(--muted-foreground));font-size:.8125rem;font-weight:700}.content-heading--h6{margin:.5rem 0 .2rem}.content-heading--h6 .content-heading__title{letter-spacing:.16em;text-transform:uppercase;color:color-mix(in srgb, var(--cb-brand,var(--primary)) 65%, var(--muted-foreground));background:color-mix(in srgb, var(--cb-brand,var(--primary)) 9%, var(--muted));border:1px solid color-mix(in srgb, var(--cb-brand,var(--primary)) 14%, var(--border));border-radius:6px;padding:.22rem .55rem;font-size:.6875rem;font-weight:800;display:inline-block}.content-separator{background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--cb-brand) 35%, var(--border)) 20%, color-mix(in srgb, var(--cb-brand) 35%, var(--border)) 80%, transparent);border:none;height:1px;margin:0}.content-separator--sm{margin:.5rem 0}.content-separator--md{margin:.85rem 0}.content-separator--lg{margin:1.35rem 0}.content-columns--card .content-columns__cell,.content-columns__cell--card{border:1px solid var(--cb-line);background:var(--cb-surface);box-shadow:var(--cb-shadow);border-radius:16px;padding:1rem 1.1rem}.content-columns--percent{width:100%}@media (max-width:767px){.content-columns--percent{grid-template-columns:minmax(0,1fr)!important}}.content-columns__cell--minimal{text-align:center;padding:.25rem .35rem}.content-image-figure{border:1px solid var(--cb-line);max-width:100%;box-shadow:var(--cb-shadow);background:color-mix(in srgb, var(--muted) 40%, var(--card));display:block;overflow:hidden}.content-image-figure--rounded{border-radius:16px}.content-image-figure--align-center{margin-inline:auto}.content-image-figure--align-left{margin-inline:0 auto}.content-image-figure--align-right{margin-inline:auto 0}.content-image-figure--natural{width:fit-content}.content-image-figure__media{background:color-mix(in srgb, var(--muted) 50%, transparent);line-height:0;display:block}.content-image-figure__img{-o-object-fit:contain;object-fit:contain;-o-object-position:center;object-position:center;width:100%;max-width:100%;height:auto;display:block}.content-image-figure--natural .content-image-figure__img{width:auto;max-width:100%}.content-image-figure__caption,.content-image-figure figcaption{border-top:1px solid var(--cb-line);background:color-mix(in srgb, var(--cb-brand) 5%, var(--muted));text-align:center;color:var(--muted-foreground);padding:.65rem 1rem;font-size:.75rem}.content-link-card{border:1px solid var(--cb-line);background:linear-gradient(180deg, var(--cb-surface), var(--cb-surface-2));color:inherit;box-shadow:var(--cb-shadow);border-radius:16px;text-decoration:none;display:flex;overflow:hidden}.content-link-card--primary{border-color:var(--foreground);background:var(--foreground);color:var(--background)}.content-link-card--primary .rich-text.prose{color:color-mix(in oklch, var(--background) 88%, transparent)}.content-link-card--primary .rich-text.prose :is(p,li,h1,h2,h3,h4,h5,h6,strong,em,span,blockquote){color:inherit}.content-link-card--primary .rich-text.prose a{color:var(--background);-webkit-text-decoration-color:color-mix(in oklch, var(--background) 45%, transparent);text-decoration-color:color-mix(in oklch, var(--background) 45%, transparent)}.content-link-card--ghost{background:0 0;border-style:dashed}.course-subsection-card{--subsection-accent:var(--course-nav-accent,var(--course-accent,var(--primary)));--subsection-band-bg:color-mix(in oklch, var(--subsection-accent) 7%, var(--background));--subsection-band-line:color-mix(in oklch, var(--subsection-accent) 16%, var(--border));border:1px solid color-mix(in oklch, var(--border) 88%, var(--subsection-accent));background:var(--cb-surface,var(--card));box-shadow:0 1px 2px color-mix(in oklch, var(--foreground) 4%, transparent), 0 8px 24px color-mix(in oklch, var(--subsection-accent) 4%, transparent);border-radius:.875rem;transition:border-color .2s,box-shadow .2s;position:relative;overflow:hidden}.course-subsection-card:before{content:"";z-index:1;background:color-mix(in oklch, var(--subsection-accent) 35%, transparent);opacity:0;pointer-events:none;width:3px;transition:opacity .2s,background-color .2s;position:absolute;inset:0 auto 0 0}.course-subsection-card:not(.course-subsection-card--collapsed):before{opacity:1;background:var(--subsection-accent)}.course-subsection-card:hover{border-color:color-mix(in oklch, var(--border) 72%, var(--subsection-accent));box-shadow:0 1px 2px color-mix(in oklch, var(--foreground) 5%, transparent), 0 12px 28px color-mix(in oklch, var(--subsection-accent) 7%, transparent)}.course-subsection-card__head{background:linear-gradient(105deg, color-mix(in oklch, var(--subsection-accent) 5%, transparent) 0%, transparent 42%), var(--course-block-inset,var(--cb-surface,var(--card)));border-bottom:1px solid #0000;align-items:center;gap:.9rem;padding:.95rem 1.15rem .95rem 1.2rem;transition:background-color .18s,border-color .18s,box-shadow .18s;display:flex}.course-subsection-card:not(.course-subsection-card--collapsed) .course-subsection-card__head{border-bottom-color:var(--subsection-band-line);background:linear-gradient(105deg, color-mix(in oklch, var(--subsection-accent) 9%, transparent) 0%, transparent 48%), var(--subsection-band-bg)}.course-subsection-card__trigger{width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;border:none;margin:0}.course-subsection-card__trigger:hover{background:linear-gradient(105deg, color-mix(in oklch, var(--subsection-accent) 8%, transparent) 0%, transparent 48%), color-mix(in oklch, var(--subsection-accent) 4%, var(--course-block-inset,var(--card)))}.course-subsection-card:not(.course-subsection-card--collapsed) .course-subsection-card__trigger:hover{background:linear-gradient(105deg, color-mix(in oklch, var(--subsection-accent) 11%, transparent) 0%, transparent 52%), color-mix(in oklch, var(--subsection-accent) 5%, var(--subsection-band-bg))}.course-subsection-card__trigger:focus-visible{box-shadow:inset 0 0 0 2px color-mix(in oklch, var(--subsection-accent) 55%, transparent);outline:none}.course-subsection-card__trigger:hover .course-subsection-card__toggle{border-color:color-mix(in oklch, var(--subsection-accent) 28%, var(--border));color:var(--foreground);background:color-mix(in oklch, var(--subsection-accent) 6%, var(--background))}.course-subsection-card--collapsed .course-subsection-card__head{border-bottom-color:#0000}.course-subsection-card__copy{flex-direction:column;flex:1;gap:.2rem;min-width:0;display:flex}.course-subsection-card__title{font-family:var(--font-heading,var(--font-sans));letter-spacing:-.022em;text-wrap:pretty;color:var(--foreground);margin:0;font-size:clamp(1.05rem,1.8vw,1.2rem);font-weight:650;line-height:1.28}.course-subsection-card__glyph{border:1px solid color-mix(in oklch, var(--subsection-accent) 22%, var(--border));background:color-mix(in oklch, var(--subsection-accent) 10%, transparent);width:2.375rem;height:2.375rem;color:var(--subsection-accent);border-radius:.7rem;flex-shrink:0;justify-content:center;align-items:center;transition:border-color .18s,background-color .18s,color .18s;display:flex}.course-subsection-card__toggle{border:1px solid color-mix(in oklch, var(--border) 92%, transparent);background:var(--background);width:2rem;height:2rem;color:var(--muted-foreground);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;transition:border-color .2s,background-color .2s,color .2s,transform .2s;display:flex}.course-subsection-card:not(.course-subsection-card--collapsed) .course-subsection-card__toggle{border-color:color-mix(in oklch, var(--subsection-accent) 28%, var(--border));background:color-mix(in oklch, var(--subsection-accent) 8%, var(--background));color:var(--subsection-accent)}.course-subsection-card__toggle svg{width:.875rem;height:.875rem;transition:transform .22s}.course-subsection-card__toggle svg.is-open{transform:rotate(180deg)}.course-subsection-card__eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--subsection-accent);margin:0;font-size:.625rem;font-weight:700}.course-subsection-card__body{flex-direction:column;gap:1.15rem;padding:1.15rem 1.2rem 1.25rem;animation:.22s course-subsection-body-in;display:flex}@keyframes course-subsection-body-in{0%{opacity:0;transform:translateY(-.25rem)}to{opacity:1;transform:translateY(0)}}@media (min-width:640px){.course-subsection-card__head{gap:1rem;padding:1.05rem 1.35rem 1.05rem 1.4rem}.course-subsection-card__body{gap:1.35rem;padding:1.35rem 1.4rem 1.5rem}}@media (prefers-reduced-motion:reduce){.course-subsection-card,.course-subsection-card__head,.course-subsection-card__glyph,.course-subsection-card__toggle,.course-subsection-card__toggle svg{transition:none}.course-subsection-card__body{animation:none}}.course-key-points{--kp-accent:var(--course-block-accent,var(--cb-brand,var(--course-accent,var(--primary))));box-shadow:none;background:0 0;border:none;border-radius:0;gap:.35rem;margin:1.5rem 0;padding:0;display:grid;position:relative;overflow:visible}.course-key-points__rail,.course-key-points__body{display:contents}.course-key-points__kicker{letter-spacing:.14em;text-transform:uppercase;color:color-mix(in oklch, var(--kp-accent) 52%, var(--muted-foreground));margin:0;font-size:.5625rem;font-weight:750}.course-key-points__title{font-family:var(--font-heading,var(--font-sans));letter-spacing:-.035em;color:var(--foreground);margin:0 0 .55rem;font-size:clamp(1.15rem,2.4vw,1.4rem);font-weight:750;line-height:1.15}.course-key-points__list{flex-direction:column;gap:0;margin:0;padding:0;list-style:none;display:flex}.course-key-points__item{border-top:1px solid color-mix(in oklch, var(--border) 82%, transparent);grid-template-columns:3.25rem minmax(0,1fr);align-items:start;gap:.85rem 1.1rem;margin:0;padding:.85rem 0;display:grid}.course-key-points__item:first-child{border-top:none;padding-top:.15rem}.course-key-points__item:before{content:none}.course-key-points__n{font-family:var(--font-heading,var(--font-sans));font-variant-numeric:tabular-nums;letter-spacing:-.06em;color:color-mix(in oklch, var(--kp-accent) 28%, transparent);-webkit-user-select:none;user-select:none;font-size:clamp(1.85rem,4vw,2.45rem);font-weight:700;line-height:.95}.course-key-points__point{min-width:0;color:color-mix(in oklch, var(--foreground) 84%, var(--muted-foreground));padding-top:.2rem;font-size:.9375rem;line-height:1.55}.course-key-points__point.rich-text p,.course-key-points__point.prose-sm p{margin:0 0 .4em}.course-key-points__point.rich-text p:last-child,.course-key-points__point.prose-sm p:last-child{margin-bottom:0}@media (max-width:420px){.course-key-points__item{grid-template-columns:2.5rem minmax(0,1fr);gap:.65rem}.course-key-points__n{font-size:1.65rem}}.course-steps{flex-direction:column;gap:.75rem;display:flex}.course-step{border:1px solid var(--cb-line);background:var(--cb-surface);border-radius:12px;grid-template-columns:auto 1fr;gap:.85rem;padding:.9rem 1rem;display:grid}.course-step__num{width:1.75rem;height:1.75rem;color:var(--primary-foreground);background:linear-gradient(135deg, var(--cb-brand), var(--cb-brand-2));border-radius:999px;justify-content:center;align-items:center;font-size:.72rem;font-weight:800;display:flex}.course-section-label{flex-wrap:wrap;align-items:center;gap:.55rem 1rem;padding-top:.5rem;display:flex}.course-section-label__text{letter-spacing:.16em;text-transform:uppercase;color:var(--cb-brand);flex-shrink:0;font-size:.68rem;font-weight:800}.course-section-label__rule{background:linear-gradient(90deg, var(--cb-line), transparent);flex:1;min-width:3rem;height:1px}.course-section-label__desc{color:var(--muted-foreground);flex:1 0 100%;font-size:.78rem}.course-blocks,.course-blocks>.course-block{scroll-margin-top:6rem}.course-blocks>.course-block>.course-pedagogy,.course-blocks>.course-block>section{margin:0}
.content-tabs{--content-tabs-accent:var(--course-nav-accent,var(--course-accent,var(--primary)))}.content-tabs__list{flex-wrap:wrap;align-items:stretch;gap:.25rem;display:flex}.content-tabs__tab{cursor:pointer;font:inherit;color:var(--muted-foreground);background:0 0;border:none;align-items:center;gap:.4375rem;padding:.5rem .8125rem;font-size:.875rem;font-weight:500;transition:color .16s,background-color .16s,border-color .16s;display:inline-flex}.content-tabs__tab:hover{color:var(--foreground)}.content-tabs__tab:focus-visible{outline:2px solid color-mix(in oklch, var(--content-tabs-accent) 55%, transparent);outline-offset:-2px;border-radius:.5rem}.content-tabs__tab-icon{flex-shrink:0;width:1rem;height:1rem}.content-tabs--underline .content-tabs__list{border-bottom:1px solid var(--border);gap:0}.content-tabs--underline .content-tabs__tab{border-bottom:2px solid #0000;margin-bottom:-1px}.content-tabs--underline .content-tabs__tab.is-active{color:var(--foreground);border-bottom-color:var(--content-tabs-accent)}.content-tabs--pills .content-tabs__list{background:color-mix(in oklch, var(--muted) 60%, transparent);border-radius:.75rem;padding:.25rem}.content-tabs--pills .content-tabs__tab{border-radius:.5rem}.content-tabs--pills .content-tabs__tab.is-active{background:var(--card);color:var(--foreground);box-shadow:0 1px 2px color-mix(in oklch, var(--foreground) 8%, transparent)}.content-tabs__panel{padding-top:1rem}.content-tabs__panel:focus-visible{outline:2px solid color-mix(in oklch, var(--content-tabs-accent) 45%, transparent);outline-offset:4px;border-radius:.5rem}@media print{.content-tabs__list{display:none}.content-tabs__panel[hidden]{display:block}}
.mermaid-figure{--mermaid-accent:var(--course-nav-accent,var(--course-accent,var(--primary)));--mermaid-max:100%;width:100%}.mermaid-figure--size-auto{--mermaid-max:max-content}.mermaid-figure--size-moyen{--mermaid-max:34rem}.mermaid-figure--size-large{--mermaid-max:52rem}.mermaid-figure--size-plein{--mermaid-max:100%}.mermaid-figure__frame{border:1px solid var(--cb-line);background:var(--cb-surface);margin:0}.mermaid-figure--bare .mermaid-figure__frame{background:0 0;border:none}.mermaid-figure__canvas{cursor:zoom-in;background:0 0;border:none;width:100%;padding:1rem;display:block}.mermaid-figure--bare .mermaid-figure__canvas{padding:0}.mermaid-figure__canvas:focus-visible{outline:2px solid color-mix(in oklch, var(--mermaid-accent) 55%, transparent);outline-offset:-2px}.mermaid-figure__canvas svg{width:100%;max-width:var(--mermaid-max);height:auto;margin-inline:auto;display:block}.mermaid-figure__caption{border-top:1px solid var(--cb-line);text-align:center;color:var(--muted-foreground);padding:.6rem 1rem;font-size:.72rem}.mermaid-figure--bare .mermaid-figure__caption{border-top:none;padding:.6rem 0 0}.mermaid-figure__placeholder{border:1px dashed var(--cb-line);background:var(--cb-surface-2);min-height:8rem;color:var(--muted-foreground);justify-content:center;align-items:center;font-size:.8125rem;display:flex}.mermaid-figure__error{border:1px solid color-mix(in oklch, var(--destructive) 35%, var(--border));background:color-mix(in oklch, var(--destructive) 8%, var(--card));color:var(--muted-foreground);padding:.75rem .9rem;font-size:.8125rem}.mermaid-figure__error-title{color:var(--destructive);margin:0 0 .25rem;font-weight:700}.mermaid-figure__error p{margin:0}.mermaid-figure--neutre{--mermaid-accent:var(--muted-foreground)}.mermaid-figure__canvas svg .face,.mermaid-zoom__canvas svg .face{fill:var(--cb-surface)!important;stroke:var(--muted-foreground)!important}.mermaid-zoom{padding:0}.mermaid-zoom__stage{cursor:grab;touch-action:none;justify-content:center;align-items:center;width:100%;height:100%;display:flex;overflow:hidden}.mermaid-zoom__stage:active{cursor:grabbing}.mermaid-zoom__canvas{--zoom-base:min(calc(100vw - 6rem), 88rem);--zoom-scale:1;flex-shrink:0}.mermaid-zoom__canvas svg{width:calc(var(--zoom-base) * var(--zoom-scale));height:auto;display:block}.mermaid-zoom__toolbar{z-index:2;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0000009e;background:lab(0% 0 0/.62);border:1px solid #ffffff38;border:1px solid lab(100% 0 0/.22);border-color:oklch(100% 5.96046e-8 none/.22) oklch(100% 5.96046e-8 none/.22) oklch(100% 5.96046e-8 none/.22) oklch(100% 5.96046e-8 none/.22);align-items:center;gap:.25rem;padding:.3rem;display:flex;position:fixed;top:1rem;right:1rem}.mermaid-zoom__scale{font-variant-numeric:tabular-nums;color:#fff;padding:0 .45rem;font-size:.72rem;font-weight:700}.mermaid-zoom__btn{color:#fff;cursor:pointer;background:0 0;border:none;border-radius:0;justify-content:center;align-items:center;width:1.9rem;height:1.9rem;display:inline-flex}.mermaid-zoom__btn:hover{color:#fff;background:#ffffff29;background:lab(100% 0 0/.16)}.mermaid-zoom__hint{z-index:2;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#ffffffd1;color:lab(100% 0 0/.82);text-align:center;pointer-events:none;background:#0000009e;background:lab(0% 0 0/.62);margin:0;padding:.35rem .7rem;font-size:.7rem;position:fixed;bottom:1rem;left:50%;transform:translate(-50%)}
.content-attachments{--content-attachments-accent:var(--course-nav-accent,var(--course-accent,var(--primary)))}.content-attachments__title{font-family:var(--font-heading,var(--font-sans));color:var(--foreground);margin:0 0 .75rem;font-size:.9375rem;font-weight:600}.content-attachments__list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.content-attachments__link{border:1px solid var(--border);background:var(--card);color:inherit;border-radius:.75rem;align-items:center;gap:.75rem;padding:.6875rem .875rem;text-decoration:none;transition:border-color .16s,background-color .16s,box-shadow .16s;display:flex}.content-attachments__link:hover{border-color:color-mix(in oklch, var(--content-attachments-accent) 40%, var(--border));background:color-mix(in oklch, var(--content-attachments-accent) 4%, var(--card));box-shadow:0 1px 3px color-mix(in oklch, var(--foreground) 8%, transparent)}.content-attachments__link:focus-visible{outline:2px solid color-mix(in oklch, var(--content-attachments-accent) 55%, transparent);outline-offset:2px}.content-attachments__icon{background:color-mix(in oklch, var(--content-attachments-accent) 10%, var(--muted));width:2.25rem;height:2.25rem;color:var(--content-attachments-accent);border-radius:.5rem;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.content-attachments__icon svg{width:1.25rem;height:1.25rem}.content-attachments__body{flex-direction:column;flex:1;gap:.125rem;min-width:0;display:flex}.content-attachments__name{overflow-wrap:anywhere;color:var(--foreground);font-size:.875rem;font-weight:500}.content-attachments__desc{color:var(--muted-foreground);font-size:.8125rem}.content-attachments__meta{font-variant-numeric:tabular-nums;color:var(--muted-foreground);white-space:nowrap;flex-shrink:0;font-size:.75rem}
.content-glossary{--content-glossary-accent:var(--course-nav-accent,var(--course-accent,var(--primary)))}.content-glossary__title{font-family:var(--font-heading,var(--font-sans));color:var(--foreground);margin:0 0 .875rem;font-size:1.0625rem;font-weight:600}.content-glossary__list{margin:0}.content-glossary__entry{scroll-margin-top:7rem}.content-glossary__term{flex-wrap:wrap;align-items:baseline;gap:.5rem;display:flex}.content-glossary__term-label{font-family:var(--font-heading,var(--font-sans));color:var(--foreground);font-size:.9375rem;font-weight:600}.content-glossary__aliases{color:var(--muted-foreground);font-size:.75rem}.content-glossary__aliases:before{content:"≈ "}.content-glossary__definition{margin:.25rem 0 0}.content-glossary__prose{color:var(--muted-foreground);font-size:.875rem}.content-glossary__prose>:last-child{margin-bottom:0}.content-glossary--list .content-glossary__entry{border-left:2px solid var(--content-glossary-accent,var(--course-accent,var(--primary)));padding:.6875rem 0 .6875rem .875rem}.content-glossary--list .content-glossary__entry+.content-glossary__entry{border-top:1px solid color-mix(in oklch, var(--border) 70%, transparent)}.content-glossary--cards .content-glossary__list{grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:.625rem;display:grid}.content-glossary--cards .content-glossary__entry{border:1px solid var(--border);background:var(--card);border-radius:.75rem;padding:.875rem 1rem}.content-glossary--cards .content-glossary__entry:target{border-color:color-mix(in oklch, var(--content-glossary-accent) 50%, var(--border));box-shadow:0 0 0 3px color-mix(in oklch, var(--content-glossary-accent) 14%, transparent)}.content-glossary--list .content-glossary__entry:target{border-left-color:var(--content-glossary-accent);background:color-mix(in oklch, var(--content-glossary-accent) 5%, transparent)}
.course-shell__content:has(.course-glossary-index){padding:0!important}.global-glossary-shell{width:100%;min-width:0;max-width:100%;height:calc(100svh - var(--header-offset,0px));flex-direction:column;display:flex;overflow:hidden}.global-glossary-scroll{overscroll-behavior:contain;flex:auto;min-height:0;overflow:hidden auto}.course-glossary-index--global{min-height:100%}.course-glossary-index{--cgi-gutter:clamp(1.25rem, 3vw, 2.5rem);--cgi-line:color-mix(in oklch, var(--border) 92%, transparent);--cgi-accent:var(--content-glossary-accent,var(--course-accent,var(--primary)));width:100%;min-width:0}.course-glossary-index__hero{border-bottom:1px solid var(--cgi-line);background:var(--background)}.course-glossary-index__hero-inner{padding:clamp(1.75rem, 4vw, 2.5rem) var(--cgi-gutter);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1.25rem 1.75rem;display:flex}.course-glossary-index__intro{border-left:3px solid var(--cgi-accent);flex:16rem;min-width:0;max-width:40rem;padding-left:1.15rem}.course-glossary-index__eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--muted-foreground);margin:0;font-size:.6875rem;font-weight:700}.course-glossary-index__title{font-family:var(--font-heading,var(--font-sans));letter-spacing:-.03em;color:var(--foreground);margin:.45rem 0 0;font-size:clamp(1.5rem,3vw,2.125rem);font-weight:700;line-height:1.12}.course-glossary-index__lead{color:var(--muted-foreground);max-width:36rem;margin:.55rem 0 0;font-size:.9375rem;line-height:1.55}.course-glossary-index__search{flex:14rem;max-width:22rem}.course-glossary-index__search-field{align-items:center;display:flex;position:relative}.course-glossary-index__search-icon{width:1rem;height:1rem;color:var(--muted-foreground);pointer-events:none;position:absolute;left:.75rem}.course-glossary-index__search-input{border:1px solid var(--cgi-line);background:var(--card);width:100%;height:2.5rem;color:var(--foreground);border-radius:0;padding:0 2.25rem 0 2.35rem;font-size:.875rem}.course-glossary-index__search-input:focus{outline:2px solid color-mix(in oklch, var(--cgi-accent) 55%, transparent);outline-offset:1px}.course-glossary-index__search-clear{width:1.75rem;height:1.75rem;color:var(--muted-foreground);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;display:inline-flex;position:absolute;right:.35rem}.course-glossary-index__search-clear:hover{color:var(--foreground)}.course-glossary-index__jump{z-index:30;padding:.65rem var(--cgi-gutter);border-bottom:1px solid var(--cgi-line);background:var(--background);flex-wrap:wrap;align-items:center;gap:.2rem .4rem;display:flex;position:sticky;top:0}.course-glossary-index__jump-link{letter-spacing:.04em;min-width:1.5rem;height:1.5rem;color:var(--muted-foreground);justify-content:center;align-items:center;padding-inline:.25rem;font-size:.75rem;font-weight:600;text-decoration:none;transition:color .14s,font-size .14s,font-weight .14s;display:inline-flex}.course-glossary-index__jump-link:hover{color:var(--cgi-accent)}.course-glossary-index__jump-link.is-empty{color:color-mix(in oklch, var(--muted-foreground) 42%, transparent);cursor:default;pointer-events:none;-webkit-user-select:none;user-select:none;font-weight:500}.course-glossary-index__jump-link.is-current{letter-spacing:-.02em;min-width:1.85rem;height:1.85rem;color:var(--cgi-accent);font-size:1.05rem;font-weight:800}.course-glossary-index__groups{padding:1.25rem var(--cgi-gutter) 2.5rem;box-sizing:border-box;width:100%}.course-glossary-index__group{-moz-column-gap:.55rem;grid-template-columns:2.25rem minmax(0,1fr);align-items:start;column-gap:.55rem;width:100%;padding-inline:0;scroll-margin-top:3.5rem;display:grid}.course-glossary-index__group+.course-glossary-index__group{margin-top:1.85rem}.course-glossary-index__letter{font-family:var(--font-heading,var(--font-sans));letter-spacing:-.03em;text-align:right;color:var(--cgi-accent);margin:0;padding-top:.55rem;scroll-margin-top:3.5rem;font-size:clamp(1.85rem,3.2vw,2.35rem);font-weight:700;line-height:1}.course-glossary-index__list{width:100%;min-width:0;margin:0;padding:0;list-style:none}.course-glossary-index__entry{box-sizing:border-box;border-left:5px solid var(--cgi-def-accent,var(--cgi-accent,var(--primary)));width:100%;padding:1rem 0 1rem 1rem;scroll-margin-top:6rem;position:relative}.course-glossary-index__entry+.course-glossary-index__entry{border-top:1px solid color-mix(in oklch, var(--border) 70%, transparent)}.course-glossary-index__term-row{border-bottom:1px solid color-mix(in oklch, var(--foreground) 28%, var(--border));flex-wrap:wrap;align-items:baseline;gap:.35rem .85rem;width:100%;max-width:none;margin:0 0 .55rem;padding:0 0 .5rem;display:flex}.course-glossary-index__term{font-family:var(--font-heading,var(--font-sans));letter-spacing:-.025em;text-wrap:balance;color:var(--foreground);margin:0;font-size:clamp(1.05rem,2vw,1.25rem);font-weight:700;line-height:1.25}.course-glossary-index__aliases{color:var(--muted-foreground);flex-wrap:wrap;align-items:baseline;gap:.35rem;margin:0;font-size:.75rem;line-height:1.35;display:inline-flex}.course-glossary-index__aliases-label{letter-spacing:.1em;text-transform:uppercase;color:color-mix(in oklch, var(--cgi-accent) 72%, var(--muted-foreground));font-size:.625rem;font-weight:700}.course-glossary-index__definition{width:100%;max-width:none;margin:0}.course-glossary-index__prose{width:100%;color:var(--muted-foreground);margin:0;font-size:.875rem;line-height:1.55;max-width:none!important}.course-glossary-index__prose.rich-text,.course-glossary-index__prose.rich-text :is(p,ul,ol,blockquote,pre,table,div){width:100%;max-width:none;margin-inline:0}.course-glossary-index__prose.rich-text>:first-child:first-letter{font-family:var(--font-heading,var(--font-sans));color:var(--cgi-def-accent,var(--cgi-accent,var(--foreground)));font-size:1.45em;font-weight:700;line-height:1}.course-glossary-index__prose.rich-text,.course-glossary-index__prose.rich-text p,.course-glossary-index__prose.rich-text li{text-align:inherit;text-justify:auto;-webkit-hyphens:manual;hyphens:manual}.course-glossary-index__prose.rich-text>:first-child{margin-top:0}.course-glossary-index__prose.rich-text>:last-child{margin-bottom:0}.course-glossary-index__source{color:var(--cgi-accent);margin-top:.45rem;font-size:.8125rem;font-weight:600;text-decoration:none;display:inline-block}.course-glossary-index__source:hover{text-decoration:underline}.course-glossary-index__empty,.course-glossary-index__no-results{padding:2.5rem var(--cgi-gutter)}.course-glossary-index__empty-title{font-family:var(--font-heading,var(--font-sans));margin:0;font-size:1.125rem;font-weight:600}.course-glossary-index__empty-text{max-width:28rem;color:var(--muted-foreground);margin:.5rem 0 0;font-size:.9375rem;line-height:1.55}.course-glossary-index__empty-cta{color:var(--cgi-accent);margin-top:1.15rem;font-size:.875rem;font-weight:600;text-decoration:none;display:inline-flex}.course-glossary-index__empty-cta:hover{text-decoration:underline}.course-glossary-index__no-results{color:var(--muted-foreground);margin:0;font-size:.9375rem}.course-affiche__glossary-link{color:var(--muted-foreground);align-items:center;gap:.35rem;margin-top:.65rem;font-size:.8125rem;font-weight:600;text-decoration:none;display:inline-flex}.course-affiche__glossary-link:hover{color:var(--poste-c,var(--course-accent,var(--foreground)))}.course-affiche__glossary-link-wrap{margin:0;padding:.85rem clamp(1.25rem,4vw,3rem) 1.1rem}.course-affiche__index .course-affiche__glossary-link-wrap{margin-top:.15rem;padding:0}
.admin-parcours{--admin-parcours-gutter:clamp(1.25rem, 3vw, 2.5rem);width:100%;min-width:0;padding:clamp(1.75rem, 4vw, 2.75rem) var(--admin-parcours-gutter) 3rem;box-sizing:border-box}.admin-parcours__head{border-left:3px solid var(--primary);max-width:40rem;margin-bottom:2rem;padding-left:1.15rem}.admin-parcours__kicker{letter-spacing:.14em;text-transform:uppercase;color:var(--muted-foreground);margin:0;font-size:.6875rem;font-weight:700}.admin-parcours__title{font-family:var(--font-heading,var(--font-sans));letter-spacing:-.03em;color:var(--foreground);margin:.45rem 0 0;font-size:clamp(1.5rem,3vw,2.125rem);font-weight:700;line-height:1.12}.admin-parcours__lead{color:var(--muted-foreground);margin:.55rem 0 0;font-size:.9375rem;line-height:1.55}.admin-parcours__empty,.admin-parcours__no-schema{color:var(--muted-foreground);margin:0;font-size:.9375rem}.admin-parcours__list{flex-direction:column;gap:2.75rem;display:flex}.admin-parcours__course{--poste-c:var(--admin-parcours-accent,var(--primary));min-width:0}.admin-parcours__course-head{border-bottom:1px solid color-mix(in oklch, var(--border) 92%, transparent);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem 1.25rem;margin-bottom:.85rem;padding-bottom:.65rem;display:flex}.admin-parcours__course-title{font-family:var(--font-heading,var(--font-sans));letter-spacing:-.02em;color:var(--foreground);margin:0;font-size:clamp(1.15rem,2.2vw,1.45rem);font-weight:700}.admin-parcours__course-title a{color:inherit;text-decoration:none}.admin-parcours__course-title a:hover{color:var(--admin-parcours-accent,var(--primary))}.admin-parcours__course-short,.admin-parcours__course-meta{color:var(--muted-foreground);margin:.2rem 0 0;font-size:.8125rem}.admin-parcours__course-meta{text-transform:uppercase;letter-spacing:.06em;margin:0;font-size:.6875rem;font-weight:700}.parcours-branch{width:100%;min-width:0}.parcours-branch--single .course-affiche__progress-wrap{margin:0}.parcours-branch__fork{--progress-dot:1.85rem;--parcours-rail-pad:.4rem;--parcours-root:.9rem;--parcours-lane-gap:1.1rem;--parcours-root-col:1.25rem;--parcours-dot-center:calc(var(--parcours-rail-pad) + var(--progress-dot) / 2);grid-template-columns:var(--parcours-root-col) minmax(0, 1fr);-moz-column-gap:0;align-items:stretch;column-gap:0;width:100%;min-width:0;display:grid}.parcours-branch__root-col{min-height:100%;position:relative}.parcours-branch__root{z-index:2;top:var(--parcours-dot-center);width:var(--parcours-root);height:var(--parcours-root);box-sizing:border-box;cursor:default;border-radius:999px;place-items:center;display:grid;position:absolute;left:50%;transform:translate(-50%,-50%)}.parcours-branch__root.is-todo{border:1.5px solid color-mix(in oklch, var(--muted-foreground) 38%, transparent);background:var(--background);box-shadow:inset 0 0 0 2.5px color-mix(in oklch, var(--muted) 55%, transparent)}.parcours-branch__root.is-current{border:1.5px solid var(--poste-c);background:var(--background);box-shadow:inset 0 0 0 2.5px color-mix(in srgb, var(--poste-c) 55%, transparent)}.parcours-branch__root.is-done{border:1.5px solid color-mix(in srgb, var(--poste-c) 80%, #000);background:var(--poste-c);color:var(--poste-on-c,#faf9f7);box-shadow:none}.parcours-branch__root-check{width:.55rem;height:.55rem}.parcours-branch__stem{top:var(--parcours-dot-center);bottom:var(--parcours-dot-center);background:color-mix(in srgb, var(--poste-c) 38%, transparent);pointer-events:none;width:1.5px;position:absolute;left:50%;transform:translate(-50%)}.parcours-branch__lanes{gap:var(--parcours-lane-gap);flex-direction:column;min-width:0;padding-top:0;display:flex}.parcours-branch__lane{-moz-column-gap:0;grid-template-columns:.85rem minmax(0,1fr);align-items:center;column-gap:0;min-width:0;display:grid}.parcours-branch__elbow{height:var(--progress-dot);width:100%;position:relative}.parcours-branch__elbow-h{top:50%;left:calc(-1 * var(--parcours-root-col) / 2);background:color-mix(in srgb, var(--poste-c) 42%, transparent);height:1.5px;position:absolute;right:0;transform:translateY(-50%)}.parcours-branch__lane.is-done .parcours-branch__elbow-h{background:var(--poste-c)}.parcours-branch__lane.is-current .parcours-branch__elbow-h{background:color-mix(in srgb, var(--poste-c) 55%, transparent)}.parcours-branch__track.course-affiche__progress-wrap{gap:0;min-width:0;margin:0}.parcours-branch__track .course-affiche__progress-rail{--progress-dot:1.85rem;width:100%}.parcours-branch__legend.course-affiche__progress-wrap{margin-top:.85rem}@media (max-width:639px){.parcours-branch__fork{--progress-dot:1.55rem;--parcours-root:.8rem;--parcours-lane-gap:.85rem;--parcours-root-col:1.1rem}.parcours-branch__track .course-affiche__progress-rail{--progress-dot:1.55rem}}
.course-shell--summary .course-shell__scroll{overflow:hidden}.course-shell__content:has(.course-summary){flex-direction:column;height:100%;min-height:100%;display:flex;padding:0!important}.course-shell--summary .course-shell__main{background:var(--background)}.course-summary{--summary-pad:clamp(1.1rem, 3.5vw, 2.5rem);--summary-line:color-mix(in oklch, var(--foreground) 10%, transparent);--summary-muted:var(--muted-foreground);--summary-col-w:min(19.5rem, 82vw);background:var(--background);flex-direction:column;flex:1;width:100%;min-height:0;display:flex}.course-summary__hero{padding:1.15rem var(--summary-pad) 1rem;border-bottom:1px solid var(--summary-line);background:var(--background);flex:none}.course-summary__hero-top{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.85rem;display:flex}.course-summary__back{min-width:0;color:var(--summary-muted);align-items:center;gap:.4rem;font-size:.8125rem;font-weight:500;text-decoration:none;display:inline-flex}.course-summary__back:hover{color:var(--foreground)}.course-summary__hint{letter-spacing:.14em;text-transform:uppercase;color:color-mix(in oklch, var(--summary-muted) 70%, transparent);margin:0;font-size:.625rem;font-weight:650}.course-summary__hero-main{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:.85rem 1.5rem;display:flex}.course-summary__eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--summary-muted);margin:0 0 .3rem;font-size:.625rem;font-weight:700}.course-summary__title{letter-spacing:-.035em;color:var(--foreground);margin:0;font-size:clamp(1.65rem,3.5vw,2.25rem);font-weight:650;line-height:1.05}.course-summary__sub{color:var(--summary-muted);margin:.35rem 0 0;font-size:.875rem}.course-summary__search{align-items:center;width:min(16rem,100%);display:flex;position:relative}.course-summary__search-icon{width:.9rem;height:.9rem;color:var(--summary-muted);pointer-events:none;position:absolute;left:.7rem}.course-summary__search-input{border:1px solid var(--summary-line);background:color-mix(in oklch, var(--muted) 28%, var(--background));width:100%;font:inherit;color:var(--foreground);padding:.55rem 2rem;font-size:.875rem}.course-summary__search-input::-webkit-search-cancel-button{display:none}.course-summary__search-input::placeholder{color:color-mix(in oklch, var(--summary-muted) 75%, transparent)}.course-summary__search-input:focus{border-color:color-mix(in srgb, var(--poste-c,var(--primary)) 48%, var(--summary-line));background:var(--background);outline:none}.course-summary__search-clear{color:var(--summary-muted);cursor:pointer;background:0 0;border:none;padding:.25rem;display:inline-flex;position:absolute;right:.35rem}.course-summary__search-clear:hover{color:var(--foreground)}.course-summary__compose{--affiche-paper:var(--background);--affiche-muted:var(--summary-muted);--affiche-ink-bright:var(--foreground);--summary-side-w:min(13.5rem, 34vw);flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.course-summary__compose-legend{padding:.55rem var(--summary-pad);border-bottom:1px solid var(--summary-line);background:color-mix(in oklch, var(--muted) 14%, var(--background));flex:none}.course-summary__compose-legend .course-affiche__progress-wrap{margin-top:0}.course-summary__compose-legend .course-affiche__progress-legend{border-top:none;padding-top:0}.course-summary__rows{overscroll-behavior-y:contain;flex:1;min-height:0;overflow-y:auto}.course-summary__row{grid-template-columns:var(--summary-side-w) minmax(0, 1fr);border-bottom:1px solid var(--summary-line);min-height:min(20rem,52vh);display:grid}.course-summary.is-monopath .course-summary__row{flex:1;height:100%;min-height:0}.course-summary.is-monopath .course-summary__rows{flex-direction:column;display:flex}.course-summary__row.is-last{border-bottom:none}.course-summary__row-side{padding:1rem .95rem 1.25rem var(--summary-pad);border-right:1px solid var(--summary-line);background:color-mix(in oklch, var(--muted) 20%, var(--background));flex-direction:column;gap:.35rem;display:flex;position:relative}.course-summary__row.is-current .course-summary__row-side{background:color-mix(in srgb, var(--poste-c,var(--primary)) 8%, var(--background))}.course-summary__row.is-done .course-summary__row-side{background:color-mix(in srgb, var(--poste-c,var(--primary)) 5%, var(--background))}.course-summary__row-n{letter-spacing:-.05em;color:color-mix(in oklch, var(--foreground) 30%, transparent);font-variant-numeric:tabular-nums;font-size:1.75rem;font-weight:200;line-height:1}.course-summary__row.is-current .course-summary__row-n,.course-summary__row.is-done .course-summary__row-n{color:var(--poste-c,var(--primary))}.course-summary__row-side-copy{flex-direction:column;gap:.2rem;min-width:0;display:flex}.course-summary__row-k{letter-spacing:.12em;text-transform:uppercase;color:var(--summary-muted);margin:0;font-size:.625rem;font-weight:700}.course-summary__row-t{letter-spacing:-.02em;color:var(--foreground);margin:0;font-size:1rem;font-weight:650;line-height:1.25}.course-summary__row-status{color:var(--summary-muted);font-variant-numeric:tabular-nums;margin:.15rem 0 0;font-size:.7rem;font-weight:600}.course-summary__row-link{left:calc(var(--summary-pad) + .55rem);z-index:2;color:color-mix(in oklch, var(--foreground) 28%, transparent);pointer-events:none;flex-direction:column;align-items:center;gap:.1rem;display:flex;position:absolute;bottom:-.85rem}.course-summary__row-link-seg{background:color-mix(in oklch, var(--foreground) 22%, transparent);width:1px;height:.85rem;display:block}.course-summary__row.is-done .course-summary__row-link-seg,.course-summary__row.is-current .course-summary__row-link-seg{background:color-mix(in srgb, var(--poste-c,var(--primary)) 55%, transparent)}.course-summary__row-link-arrow{font-size:.75rem;font-weight:300;line-height:1}.course-summary__row-main{flex-direction:column;min-width:0;min-height:0;padding:.75rem 0 0;display:flex}.course-summary__row-main .course-affiche__progress-wrap{padding:0 var(--summary-pad) .55rem;flex:none;margin:0}.course-summary__row-main .course-summary__board{flex:1;min-height:0}.course-summary__board{overscroll-behavior-x:contain;scroll-snap-type:x proximity;min-height:0;scroll-padding-inline:var(--summary-pad);-webkit-overflow-scrolling:touch;flex:1;align-items:stretch;gap:0;padding:0 0 .75rem;display:flex;overflow:auto hidden}.course-summary__board::-webkit-scrollbar{height:.45rem}.course-summary__board::-webkit-scrollbar-thumb{background:color-mix(in oklch, var(--foreground) 18%, transparent)}.course-summary__col{flex:0 0 var(--summary-col-w);width:var(--summary-col-w);overscroll-behavior:contain;scroll-snap-align:start;border-right:1px solid var(--summary-line);background:color-mix(in oklch, var(--muted) 16%, var(--background));flex-direction:column;min-height:0;max-height:100%;padding:1.15rem 1.15rem 1.5rem;display:flex;position:relative;overflow-y:auto}.course-summary__col:first-child{margin-left:var(--summary-pad);border-left:1px solid var(--summary-line)}.course-summary__col:last-child{margin-right:var(--summary-pad)}.course-summary__col:before{content:"";background:0 0;width:2px;transition:background .16s;position:absolute;inset:0 auto 0 0}.course-summary__col:hover:before,.course-summary__col.is-hit:before{background:var(--poste-c,var(--primary))}.course-summary__col-head{border-bottom:1px solid var(--summary-line);flex:none;margin-bottom:.9rem;padding-bottom:.85rem}.course-summary__n{letter-spacing:-.05em;color:color-mix(in oklch, var(--foreground) 30%, transparent);font-variant-numeric:tabular-nums;margin-bottom:.35rem;font-size:1.65rem;font-weight:200;line-height:1;display:block}.course-summary__lesson-link{letter-spacing:-.02em;color:var(--foreground);font-size:1.05rem;font-weight:650;line-height:1.3;text-decoration:none;display:block}.course-summary__lesson-link:hover{color:var(--poste-c,var(--primary))}.course-summary__meta{color:var(--summary-muted);flex-wrap:wrap;align-items:center;gap:.3rem .65rem;margin:.45rem 0 0;font-size:.6875rem;display:flex}.course-summary__draft{letter-spacing:.08em;text-transform:uppercase;font-size:.6rem;font-weight:700}.course-summary__tree{border-left:1px solid color-mix(in oklch, var(--foreground) 12%, transparent);flex-direction:column;gap:.05rem;margin:0;padding:0 0 0 .15rem;list-style:none;display:flex}.course-summary__branch{margin:0;position:relative}.course-summary__branch[data-level="2"]{--branch-indent:.7rem}.course-summary__branch[data-level="3"]{--branch-indent:1.35rem}.course-summary__branch[data-level="4"],.course-summary__branch[data-level="5"],.course-summary__branch[data-level="6"]{--branch-indent:2rem}.course-summary__branch-link{padding:.38rem .35rem .38rem var(--branch-indent,.7rem);color:color-mix(in oklch, var(--foreground) 74%, var(--summary-muted));font-size:.8125rem;line-height:1.4;text-decoration:none;transition:color .14s,background .14s;display:block}.course-summary__branch-link:hover{color:var(--poste-c,var(--primary));background:color-mix(in srgb, var(--poste-c,var(--primary)) 7%, transparent)}.course-summary__branch[data-level="2"]>.course-summary__branch-link{color:color-mix(in oklch, var(--foreground) 88%, var(--summary-muted));font-weight:600}.course-summary__no-heading{color:var(--summary-muted);margin:0;font-size:.8125rem;line-height:1.45}.course-summary__empty{padding:1.75rem var(--summary-pad);color:var(--summary-muted);flex:1;font-size:.9rem}.course-summary__empty p{margin:0}.course-summary__empty-title{letter-spacing:-.02em;color:var(--foreground);font-size:1.05rem;font-weight:650;margin-bottom:.35rem!important}@media (max-width:960px){.course-summary{--summary-col-w:min(17.5rem, 72vw)}}@media (max-width:860px){.course-summary__row{grid-template-columns:1fr;min-height:0}.course-summary__row-side{border-right:none;border-bottom:1px solid var(--summary-line);padding-bottom:.85rem}.course-summary__row-link{display:none}}@media (max-width:640px){.course-summary{--summary-pad:1rem;--summary-col-w:min(15.5rem, 84vw)}.course-summary__hint{display:none}.course-summary__hero{padding-top:1rem}.course-summary__title{font-size:clamp(1.5rem,7vw,2rem)}.course-summary__search{width:100%}.course-summary__col{padding:1rem .95rem 1.25rem}}@media (prefers-reduced-motion:reduce){.course-summary__col:before,.course-summary__branch-link{transition:none}}@media print{.course-shell--summary .course-shell__scroll{overflow:visible}.course-summary__hint,.course-summary__search,.course-summary__compose-legend,.course-summary__row-main .course-affiche__progress-wrap{display:none}.course-summary__compose,.course-summary__rows,.course-summary__row{height:auto;min-height:0;overflow:visible}.course-summary__row{page-break-inside:avoid;display:block}.course-summary__board{display:block;overflow:visible}.course-summary__col{border:none;border-bottom:1px solid var(--summary-line);page-break-inside:avoid;width:100%;max-height:none;margin:0;overflow:visible}}
.course-read-mark{--read-accent:var(--course-accent,var(--primary));border-top:1px solid color-mix(in oklch, var(--foreground) 10%, transparent);margin:2.75rem 0 .5rem;padding:1.5rem 0 .25rem}.course-read-mark__inner{background:linear-gradient(135deg, color-mix(in oklch, var(--muted) 38%, var(--background)) 0%, color-mix(in oklch, var(--muted) 18%, var(--background)) 100%);border:1px solid color-mix(in oklch, var(--foreground) 8%, transparent);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.1rem 1.5rem;padding:1.15rem 1.25rem;display:flex}.course-read-mark.is-read .course-read-mark__inner{background:linear-gradient(135deg, color-mix(in srgb, var(--read-accent) 12%, var(--background)) 0%, color-mix(in srgb, var(--read-accent) 5%, var(--background)) 100%);border-color:color-mix(in srgb, var(--read-accent) 28%, var(--border))}.course-read-mark__copy{flex:14rem;min-width:0}.course-read-mark__kicker{letter-spacing:.16em;text-transform:uppercase;color:var(--muted-foreground);margin:0 0 .3rem;font-size:.625rem;font-weight:700}.course-read-mark.is-read .course-read-mark__kicker{color:color-mix(in srgb, var(--read-accent) 65%, var(--muted-foreground))}.course-read-mark__title{letter-spacing:-.02em;color:var(--foreground);text-wrap:balance;margin:0;font-size:1.05rem;font-weight:650;line-height:1.25}.course-read-mark__hint{max-width:36ch;color:var(--muted-foreground);margin:.35rem 0 0;font-size:.875rem;line-height:1.45}.course-read-mark__btn{border:1px solid color-mix(in oklch, var(--foreground) 14%, transparent);background:var(--background);min-width:0;max-width:100%;min-height:2.75rem;color:var(--foreground);font:inherit;letter-spacing:-.01em;cursor:pointer;flex:0 auto;justify-content:center;align-items:center;gap:.65rem;padding:.55rem 1rem .55rem .55rem;font-size:.875rem;font-weight:600;transition:background .16s,border-color .16s,color .16s,transform .16s;display:inline-flex}.course-read-mark__btn:hover:not(:disabled){border-color:color-mix(in srgb, var(--read-accent) 45%, var(--border));background:color-mix(in srgb, var(--read-accent) 8%, var(--background))}.course-read-mark__btn:focus-visible{outline:2px solid color-mix(in srgb, var(--read-accent) 55%, transparent);outline-offset:2px}.course-read-mark__btn:disabled{cursor:wait;opacity:.72}.course-read-mark__btn.is-read{border-color:color-mix(in srgb, var(--read-accent) 55%, transparent);background:var(--read-accent);color:color-mix(in oklch, white 92%, var(--read-accent))}.course-read-mark__btn.is-read:hover:not(:disabled){background:color-mix(in srgb, var(--read-accent) 90%, #000);border-color:color-mix(in srgb, var(--read-accent) 90%, #000)}.course-read-mark__check{border:1.5px solid color-mix(in oklch, var(--foreground) 22%, transparent);width:1.7rem;height:1.7rem;color:inherit;background:0 0;flex:none;place-items:center;transition:background .16s,border-color .16s,color .16s;display:grid}.course-read-mark__btn:hover:not(:disabled) .course-read-mark__check{border-color:color-mix(in srgb, var(--read-accent) 55%, transparent);color:var(--read-accent)}.course-read-mark__btn.is-read .course-read-mark__check{border-color:color-mix(in srgb, currentColor 35%, transparent);background:color-mix(in srgb, currentColor 14%, transparent);color:inherit}.course-read-mark__check-icon{width:1rem;height:1rem}.course-read-mark__btn-label{min-width:0;padding-right:.15rem;line-height:1.2}.course-read-mark__btn-label-short{display:none}.course-read-mark__error{color:var(--destructive,#b42318);margin:.65rem 0 0;font-size:.8125rem}@media (max-width:960px){.course-read-mark{margin-top:2.25rem;padding-top:1.25rem}.course-read-mark__inner{flex-direction:column;align-items:stretch;gap:1rem;padding:1.05rem 1.1rem}.course-read-mark__copy{flex:none;width:100%}.course-read-mark__hint{max-width:none}.course-read-mark__btn{width:100%;min-height:3rem;padding:.65rem .85rem .65rem .65rem}}@media (max-width:640px){.course-read-mark{margin-top:1.75rem;padding-top:1rem}.course-read-mark__inner{gap:.85rem;padding:.9rem .85rem}.course-read-mark__title{font-size:.98rem}.course-read-mark__hint{font-size:.8125rem}.course-read-mark__btn{gap:.55rem;min-height:2.85rem;padding:.55rem .75rem .55rem .55rem;font-size:.8125rem}.course-read-mark__check{width:1.55rem;height:1.55rem}.course-read-mark__check-icon{width:.9rem;height:.9rem}}@media (max-width:420px){.course-read-mark__btn-label{display:none}.course-read-mark__btn-label-short{display:inline}.course-read-mark__title{font-size:.9375rem}}@media (prefers-reduced-motion:reduce){.course-read-mark__btn,.course-read-mark__check{transition:none}}
