.qcm-code-fill{--code-panel-bg:color-mix(in oklch,var(--muted) 28%,var(--card));--qcm-code-surface:var(--code-panel-bg);position:relative;margin:0;border:1px solid color-mix(in oklch,var(--border) 90%,transparent);border-radius:0;background:var(--qcm-code-surface);box-shadow:none;overflow:hidden}.qcm-code-fill__head{display:flex;align-items:center;justify-content:space-between;gap:.65rem;padding:.55rem .9rem;border-bottom:1px solid color-mix(in oklch,var(--border) 88%,transparent);background:color-mix(in oklch,var(--qcm-accent) 5%,var(--card))}.qcm-code-fill__lang{font-size:.6875rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:color-mix(in oklch,var(--foreground) 58%,var(--muted-foreground))}.qcm-code-fill__badge{flex-shrink:0;padding:.18rem .5rem;border-radius:999px;font-size:.625rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:color-mix(in oklch,var(--qcm-accent) 85%,var(--foreground));background:color-mix(in oklch,var(--qcm-accent) 10%,var(--card));border:1px solid color-mix(in oklch,var(--qcm-accent) 22%,var(--border))}.qcm-code-fill__skeleton{margin:0;border:none!important;border-radius:0!important;box-shadow:none!important}.qcm-code-fill__body{padding:0;background:var(--qcm-code-surface)}.qcm-code-fill__pre{margin:0;padding:1rem 1.1rem 1.1rem;overflow-x:auto;font-family:ui-monospace,SF Mono,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.8125rem;line-height:1.65;-moz-tab-size:2;-o-tab-size:2;tab-size:2;white-space:pre-wrap;word-break:break-word;color:var(--foreground);background-color:var(--qcm-code-surface)!important;-webkit-font-smoothing:antialiased}.qcm-code-fill__pre :where(code,.line,span){background-color:transparent!important;background:transparent!important;box-shadow:none!important}.qcm-code-fill__segment :where(span,.line){background-color:transparent!important;background:transparent!important;box-shadow:none!important}.qcm-prose .code-panel__body>pre.shiki,.qcm-prose pre.code-panel__body{background-color:var(--qcm-code-surface)!important}.qcm-prose .code-panel,.qcm-prose figure.code-panel{--code-panel-bg:color-mix(in oklch,var(--muted) 28%,var(--card));--qcm-code-surface:var(--code-panel-bg)}.qcm-code-fill__code{display:block;font:inherit;color:inherit;background:transparent}.qcm-code-fill__row,.qcm-code-fill__segment,.qcm-code-fill__segment .line,.qcm-code-fill__segment span{display:inline;white-space:pre-wrap}.qcm-code-fill__blank-wrap{display:inline;vertical-align:baseline;white-space:nowrap}.qcm-code-fill__blank{display:inline-block;min-width:3.25rem;max-width:min(100%,18rem);margin:0 .12rem;padding:.1rem .55rem .14rem;border:none;border-radius:6px;font:inherit;font-weight:600;line-height:1.4;color:var(--foreground);background:color-mix(in oklch,var(--qcm-accent) 16%,var(--qcm-code-surface));box-shadow:inset 0 0 0 1.5px color-mix(in oklch,var(--qcm-accent) 55%,var(--border)),0 1px 0 color-mix(in oklch,var(--foreground) 6%,transparent);outline:none;transition:box-shadow .15s ease,background .15s ease}.qcm-code-fill__blank::-moz-placeholder{color:color-mix(in oklch,var(--muted-foreground) 65%,transparent);font-weight:500}.qcm-code-fill__blank::placeholder{color:color-mix(in oklch,var(--muted-foreground) 65%,transparent);font-weight:500}.qcm-code-fill__blank:hover:not(:disabled){background:color-mix(in oklch,var(--qcm-accent) 22%,var(--qcm-code-surface))}.qcm-code-fill__blank:focus{background:color-mix(in oklch,var(--qcm-code-surface) 92%,var(--card));box-shadow:inset 0 0 0 2px var(--qcm-accent),0 0 0 3px color-mix(in oklch,var(--qcm-accent) 22%,transparent)}.qcm-code-fill__blank:disabled{opacity:.72;cursor:not-allowed}.qcm-code-fill--display-only .qcm-code-fill__segment{opacity:1}.qcm-code-fill__blank--display{display:inline-block;vertical-align:baseline;min-width:4.5rem;min-height:1.35em;margin:0 .12rem;padding:.1rem .55rem .14rem;border:none;border-radius:6px;font:inherit;font-weight:600;line-height:1.4;color:transparent;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none;cursor:default;background:color-mix(in oklch,var(--qcm-accent) 16%,var(--qcm-code-surface));box-shadow:inset 0 0 0 1.5px color-mix(in oklch,var(--qcm-accent) 55%,var(--border)),0 1px 0 color-mix(in oklch,var(--foreground) 6%,transparent)}.tlq-projo-q .code-fill-panel--display-only .code-fill-panel__blank,.tlq-projo-q .qcm-code-fill__blank--display{min-width:clamp(4rem,8vw,5.5rem);min-height:1.45em}.qcm-code-fill--disabled .qcm-code-fill__segment{opacity:.88}.qcm-code-fill__hint{margin:0;padding:.5rem .9rem .65rem;font-size:.75rem;color:var(--muted-foreground);border-top:1px solid color-mix(in oklch,var(--border) 88%,transparent);background:transparent}.qcm-code-fill--reveal{margin:0}.qcm-code-fill--reveal .qcm-code-fill__badge,.qcm-code-fill--reveal .qcm-code-fill__hint{display:none}.qcm-code-fill-reveal{margin-top:.35rem}.qcm-code-fill-reveal .qcm-reveal__title{margin:0 0 .5rem}.qcm-prose .code-panel,.qcm-prose figure.code-panel{margin:.85rem 0}.qcm-prose .code-panel__body>pre.shiki,.qcm-prose pre.code-panel__body,.qcm-reveal{font-size:.8125rem}.qcm-reveal{margin-top:.25rem;padding:.65rem .8rem;border-radius:8px;color:var(--muted-foreground);background:color-mix(in oklch,var(--muted) 45%,transparent);border:1px solid var(--border)}.qcm-reveal__title{margin:0 0 .35rem;font-size:.6875rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--foreground)}.qcm-reveal__list{margin:0;padding-left:1.15rem}.qcm-reveal__list--ordered{list-style:decimal}@media (max-width:640px){.qcm-bool{grid-template-columns:1fr}.qcm-workshop__body{padding-inline:.75rem}.qcm-workshop__footer,.qcm-workshop__status{padding-inline:.75rem;gap:.5rem}.qcm-workshop__footer-nav{flex:1 1 auto}.qcm-workshop__footer-spacer{display:none}.qcm-workshop__footer [data-slot=button].qcm-workshop__nav-btn--finish,.qcm-workshop__footer [data-slot=button].qcm-workshop__nav-btn--next{margin-left:auto}.qcm-workshop__status-meta{align-items:flex-start}.qcm-workshop__status-counter{padding:.24rem .55rem .24rem .48rem}.qcm-workshop__status-num{font-size:.8125rem}.qcm-workshop__guide{padding-inline:.75rem}.qcm-workshop__stem{font-size:1rem}.qcm-q__head{padding:.8rem .85rem .9rem}.qcm-opt{padding:.72rem .8rem;gap:.55rem}.qcm-opt__letter{width:1.65rem;height:1.65rem;font-size:.6875rem}.qcm-bool__btn{padding:.72rem .8rem;gap:.55rem}.qcm-bool__mark{width:1.65rem;height:1.65rem;font-size:.6875rem}.qcm-ordering__row{padding:.72rem .8rem;gap:.55rem}.qcm-ordering__rank{width:1.65rem;height:1.65rem;font-size:.6875rem}}.qcm-session{--qcm-accent:var(--cb-qcm,oklch(0.52 0.12 35));box-sizing:border-box;margin-top:calc(-1 * var(--course-content-pad, 1.25rem));margin-inline:calc(-1 * var(--course-content-pad, 1.25rem));width:calc(100% + 2 * var(--course-content-pad, 1.25rem));max-width:none;padding-bottom:clamp(2rem,5vw,3rem)}.qcm-page-header{width:100%;margin-bottom:clamp(1.5rem,3vw,2.25rem);scroll-margin-top:5rem}.qcm-page-header__hero{position:relative;width:100%;margin-bottom:0}.qcm-page-header__hero--accent{--course-header-accent:var(--course-accent,var(--qcm-accent));position:relative;overflow:hidden;width:100%;padding:var(--course-content-pad,1.25rem);padding-left:calc(var(--course-content-pad, 1.25rem) + var(--course-rail-w));padding-bottom:clamp(1.25rem,2.5vw,1.5rem);border-radius:0;border-bottom:1px solid var(--border);background:var(--course-chrome-surface);color:var(--foreground)}.qcm-page-header__hero--accent:before{content:"";position:absolute;inset-block:0;left:0;z-index:0;width:var(--course-rail-w);background:var(--course-rail-fill);pointer-events:none}.qcm-page-header__watermark{pointer-events:none;position:absolute;left:calc((var(--course-rail-w) - var(--course-rail-icon)) / 2);top:var(--course-rail-icon-top);z-index:1;width:var(--course-rail-icon);height:var(--course-rail-icon);color:var(--course-rail-ink);opacity:1}.qcm-page-header__hero>:not(.qcm-page-header__watermark){position:relative;z-index:1}.qcm-page-header__preview{display:inline-flex;margin:0 0 .875rem;font-size:.6875rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:color-mix(in oklch,var(--course-header-accent,var(--qcm-accent)) 55%,var(--muted-foreground))}.qcm-page-header__crumb{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;margin:0 0 .625rem;font-size:.8125rem;color:var(--muted-foreground)}.qcm-page-header__crumb-link{max-width:min(100%,20rem);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500;color:color-mix(in oklch,var(--foreground) 78%,var(--muted-foreground));text-decoration:none;transition:color .15s ease}.qcm-page-header__crumb-link:hover{color:var(--foreground)}.qcm-page-header__crumb-sep{opacity:.85;color:var(--course-header-accent,var(--qcm-accent))}.qcm-page-header__crumb-current{font-weight:600;color:var(--foreground)}.qcm-page-header__meta-row{display:flex;flex-wrap:wrap;gap:.375rem;margin-bottom:.5rem}.qcm-page-header__meta-pill{display:inline-flex;align-items:center;border-radius:var(--radius-sm);border:none;background:color-mix(in oklch,var(--course-header-accent,var(--qcm-accent)) 14%,var(--muted));padding:.125rem .4375rem;font-size:.5625rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:color-mix(in oklch,var(--course-header-accent,var(--qcm-accent)) 55%,var(--foreground))}.qcm-page-header__title{display:block;margin:0;max-width:48rem;font-family:var(--font-heading,var(--font-sans));font-size:clamp(1.375rem,2.8vw,1.875rem);font-weight:700;line-height:1.12;letter-spacing:-.035em;text-wrap:balance;color:var(--foreground)}.qcm-page-header__lead{margin:.85rem 0 0;max-width:44rem;font-size:.9375rem;line-height:1.55;color:var(--muted-foreground)}.qcm-page-header__lead .qcm-prose .rich-text,.qcm-page-header__lead .rich-text{font-size:inherit;line-height:inherit;color:inherit}.qcm-page-header__lead .qcm-prose .rich-text :where(p,li,span,strong,em,h1,h2,h3,h4,blockquote),.qcm-page-header__lead .rich-text :where(p,li,span,strong,em,h1,h2,h3,h4,blockquote){color:inherit}.qcm-page-header__lead .qcm-prose .rich-text p{margin:0 0 .5em}.qcm-page-header__lead .qcm-prose .rich-text p:last-child{margin-bottom:0}.qcm-prose--on-accent .rich-text,.qcm-prose--on-accent .rich-text :where(p,li,span,strong,em,h1,h2,h3,h4,blockquote){color:#fff}.qcm-prose--on-accent .rich-text a{color:#fff;text-decoration:underline;text-underline-offset:3px}.qcm-prose--on-accent .rich-text a:hover{color:color-mix(in oklch,white 88%,var(--course-header-accent,var(--qcm-accent)))}.qcm-session .qcm-workshop--standalone{width:100%;padding-inline:var(--course-content-pad,1.25rem);border:none;border-radius:0;background:transparent;box-shadow:none;overflow:visible}.qcm-session .qcm-workshop--standalone .qcm-workshop__shell{width:100%;min-height:0}.qcm-session .qcm-workshop--standalone .qcm-workshop__main{width:100%;min-width:0}.qcm-session .qcm-workshop--standalone .qcm-workshop__status{padding:0;border-bottom:none;background:transparent}.qcm-session .qcm-workshop--standalone .qcm-workshop__guide{padding-inline:0}.qcm-session .qcm-workshop--standalone .qcm-workshop__body{padding:0}.qcm-session .qcm-workshop--standalone .qcm-workshop__footer{padding:1rem 0 0;border-top:none;background:transparent}.qcm-session .qcm-workshop--standalone.qcm-workshop--done{border:none;border-radius:0;background:transparent;box-shadow:none;overflow:visible}.qcm-session .qcm-workshop--standalone.qcm-workshop--done .qcm-workshop__main--results,.qcm-session .qcm-workshop--standalone.qcm-workshop--done .qcm-workshop__shell--results{width:100%;min-width:0}.qcm-session .qcm-results--standalone .qcm-results__hero{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto;align-items:center;-moz-column-gap:clamp(1.25rem,3vw,2rem);column-gap:clamp(1.25rem,3vw,2rem);row-gap:1.15rem;padding:0 0 clamp(1.25rem,2.5vw,1.75rem);text-align:left;border-bottom:1px solid color-mix(in oklch,var(--border) 88%,transparent);background:transparent}.qcm-session .qcm-results--standalone .qcm-results__hero:before{content:none}.qcm-session .qcm-results--standalone .qcm-results__ring{grid-row:1/span 2;width:clamp(7rem,14vw,8.75rem);height:clamp(7rem,14vw,8.75rem)}.qcm-session .qcm-results--standalone .qcm-results__pct{font-size:clamp(2rem,4vw,2.65rem)}.qcm-session .qcm-results--standalone .qcm-results__copy{grid-column:2;align-self:center}.qcm-session .qcm-results--standalone .qcm-results__verdict{font-size:clamp(1.35rem,3vw,1.75rem);letter-spacing:-.03em}.qcm-session .qcm-results--standalone .qcm-results__primary{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.35rem;margin-top:.45rem;padding:0;border-radius:0;font-size:.8125rem;background:transparent;border:none;color:color-mix(in oklch,var(--qcm-accent) 75%,var(--foreground))}.qcm-session .qcm-results--standalone .qcm-results__detail{margin-top:.55rem;font-size:.9375rem;max-width:36rem}.qcm-session .qcm-results--standalone .qcm-results__stats{margin-top:.85rem;gap:.55rem .75rem}.qcm-session .qcm-results--standalone .qcm-results__stat{padding:.14rem .42rem;border-radius:0;font-size:.8125rem}.qcm-session .qcm-results--standalone .qcm-results__actions{justify-content:flex-start;gap:.65rem;padding:0 0 clamp(1.25rem,2.5vw,1.75rem);background:transparent;border-bottom:1px solid color-mix(in oklch,var(--border) 88%,transparent)}.qcm-session .qcm-results--standalone .qcm-results-review__head{padding:clamp(1.25rem,2.5vw,1.75rem) 0 .85rem;background:transparent;border-bottom:none}.qcm-session .qcm-results--standalone .qcm-results-review__nav{padding:0 0 clamp(1rem,2vw,1.25rem);background:transparent;border-bottom:1px solid color-mix(in oklch,var(--border) 88%,transparent)}.qcm-session .qcm-results--standalone .qcm-results-review__panel{padding:0}.qcm-session .qcm-results--standalone .qcm-results-review__panel .qcm-workshop__body,.qcm-session .qcm-results--standalone .qcm-results-review__panel .qcm-workshop__guide,.qcm-session .qcm-results--standalone .qcm-results-review__panel .qcm-workshop__status{padding-inline:0}.qcm-session .qcm-results--standalone .qcm-results-review__panel .qcm-workshop__status{padding-top:clamp(1rem,2vw,1.25rem);border-bottom:none;background:transparent}.qcm-session .qcm-results--standalone .qcm-results-review__panel .qcm-workshop__guide{padding-inline:0}.qcm-session .qcm-results--standalone .qcm-results-review__panel .qcm-workshop__body{padding:0}.qcm-session .qcm-results--standalone .qcm-results-review__panel .qcm-workshop__footer{padding:1rem 0 0;border-top:none;background:transparent}.qcm-session .qcm-results--standalone .qcm-results-review__pill{min-width:2.5rem;height:2.5rem;font-size:.875rem}@media (max-width:519px){.qcm-session .qcm-results--standalone .qcm-results__hero{grid-template-columns:1fr;grid-template-rows:auto;text-align:center}.qcm-session .qcm-results--standalone .qcm-results__ring{grid-row:auto;margin-inline:auto}.qcm-session .qcm-results--standalone .qcm-results__copy{grid-column:1}.qcm-session .qcm-results--standalone .qcm-results__stats{justify-content:center}.qcm-session .qcm-results--standalone .qcm-results__actions{flex-direction:column;align-items:stretch}}﻿

.exo-sets-page{max-width:none}.exo-page-header,.exo-sets-page__header{position:relative;z-index:5;margin-top:calc(-1 * var(--course-content-pad, 1.25rem));margin-inline:calc(-1 * var(--course-content-pad, 1.25rem));width:calc(100% + 2 * var(--course-content-pad, 1.25rem));margin-bottom:clamp(1.25rem,3vw,1.75rem)}.exo-page-header:has(.exo-track__seg:focus-visible),.exo-page-header:has(.exo-track__seg:hover){z-index:50}.exo-page-header__hero,.exo-sets-page__hero{position:relative;overflow:hidden;padding:var(--course-content-pad,1.25rem);padding-top:1.35rem;padding-left:calc(var(--course-content-pad, 1.25rem) + var(--course-rail-w));padding-bottom:1.55rem;border-radius:0;border-bottom:1px solid var(--border);background:var(--course-chrome-surface);color:var(--foreground)}.exo-page-header__hero{overflow:visible;z-index:4}.exo-page-header__hero:before,.exo-sets-page__hero:before{content:"";position:absolute;inset-block:0;left:0;z-index:0;width:var(--course-rail-w);background:var(--course-rail-fill);pointer-events:none}.exo-page-header__watermark,.exo-sets-page__watermark{pointer-events:none;position:absolute;left:calc((var(--course-rail-w) - var(--course-rail-icon)) / 2);top:var(--course-rail-icon-top);z-index:1;width:var(--course-rail-icon);height:var(--course-rail-icon);color:var(--course-rail-ink);opacity:1}.exo-page-header__hero>:not(.exo-page-header__watermark,.exo-page-header__score),.exo-sets-page__hero>:not(.exo-sets-page__watermark){position:relative;z-index:1}.exo-page-header__crumb,.exo-sets-page__crumb{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;margin:0 0 .625rem;font-size:.8125rem;color:var(--muted-foreground)}.exo-page-header__crumb-link,.exo-sets-page__crumb-link{max-width:min(100%,20rem);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:color-mix(in oklch,var(--foreground) 78%,var(--muted-foreground));text-decoration:none;font-weight:500;transition:color .15s ease}.exo-page-header__crumb-link:hover,.exo-sets-page__crumb-link:hover{color:var(--foreground)}.exo-page-header__crumb-sep,.exo-sets-page__crumb-sep{opacity:.85;color:var(--course-header-accent,var(--course-accent,var(--primary)))}.exo-page-header__crumb-current,.exo-sets-page__crumb-current{color:var(--foreground);font-weight:600}.exo-page-header__kicker,.exo-sets-page__kicker{margin:0 0 .15rem;font-size:.625rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:color-mix(in oklch,var(--course-header-accent,var(--course-accent,var(--primary))) 55%,var(--muted-foreground))}.exo-page-header__title,.exo-sets-page__title{display:block;margin:.2rem 0 0;max-width:22ch;font-family:var(--font-heading,var(--font-sans));font-size:clamp(1.65rem,3.4vw,2.35rem);font-weight:700;line-height:1.08;letter-spacing:-.04em;text-wrap:balance;color:var(--foreground)}.exo-sets-page__title{max-width:48rem;font-size:clamp(1.375rem,2.8vw,2rem);letter-spacing:-.035em;line-height:1.12}.exo-page-header__stats{display:flex;flex-wrap:wrap;gap:.65rem 1.35rem;margin:.95rem 0 0;padding:0}.exo-page-header__stat{display:grid;gap:.2rem;margin:0;min-width:4.5rem}.exo-page-header__stat dt{margin:0;font-size:.5625rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted-foreground)}.exo-page-header__stat dd{margin:0;display:inline-flex;align-items:baseline;gap:.12rem;font-variant-numeric:tabular-nums;font-size:.875rem;font-weight:600;color:color-mix(in oklch,var(--foreground) 70%,var(--muted-foreground))}.exo-page-header__stat dd b{font-family:var(--font-heading,var(--font-sans));font-size:1.125rem;font-weight:700;letter-spacing:-.03em;color:var(--foreground)}.exo-page-header__stat dd span{opacity:.5;font-weight:500}.exo-page-header__stat--accent dd b{color:color-mix(in oklch,var(--course-header-accent,var(--course-accent,var(--primary))) 70%,var(--foreground))}.exo-page-header__lead,.exo-sets-page__lead{margin:.9rem 0 0;max-width:44rem;font-size:.9375rem;line-height:1.55;color:color-mix(in oklch,var(--foreground) 78%,var(--muted-foreground))}.exo-page-header__hero{--exo-header-pts:var(--course-header-accent,var(--course-accent,var(--primary)))}.exo-page-header__hero:has(.exo-page-header__score){padding-right:max(var(--course-content-pad,1.25rem),7.5rem)}.exo-page-header__score{position:absolute;right:var(--course-content-pad,1.25rem);top:1.35rem;z-index:1;display:flex;align-items:center;gap:.4rem;pointer-events:none;color:color-mix(in oklch,var(--exo-header-pts) 26%,transparent);-webkit-user-select:none;-moz-user-select:none;user-select:none}.sombre .exo-page-header__score{color:color-mix(in oklch,var(--exo-header-pts) 34%,transparent)}.exo-page-header__score-icon{width:clamp(1.75rem,3.5vw,2.35rem)!important;height:clamp(1.75rem,3.5vw,2.35rem)!important;opacity:.85}.exo-page-header__score-n{font-family:var(--font-heading,var(--font-sans));font-size:clamp(3.25rem,8vw,5rem);font-weight:700;letter-spacing:-.06em;line-height:.9;font-variant-numeric:tabular-nums}.exo-page-header__hero>.exo-page-header__progress{position:relative;z-index:6;display:grid;gap:.45rem;margin-top:1rem;width:100%;max-width:none;overflow:visible}.exo-page-header__track.exo-track{width:100%;max-width:none;overflow:visible}.exo-page-header__meta-row{display:flex;flex-wrap:wrap;gap:.375rem;margin-bottom:.5rem}.exo-page-header__meta-pill{display:inline-flex;align-items:center;border-radius:0;border:none;background:color-mix(in oklch,var(--course-header-accent,var(--course-accent,var(--primary))) 14%,var(--muted));padding:.125rem .4375rem;font-size:.5625rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:color-mix(in oklch,var(--course-header-accent,var(--course-accent,var(--primary))) 55%,var(--foreground))}.exo-sets-page__lock-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.85rem}.exo-sets-page__lock-cta{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .75rem;border-radius:0;font-size:.8125rem;font-weight:650;text-decoration:none;color:var(--foreground);background:color-mix(in oklch,var(--course-header-accent,var(--course-accent,var(--primary))) 10%,var(--background));border:1px solid color-mix(in oklch,var(--course-header-accent,var(--course-accent,var(--primary))) 22%,var(--border));transition:background .12s ease,border-color .12s ease}.exo-sets-page__lock-cta:hover{background:color-mix(in oklch,var(--course-header-accent,var(--course-accent,var(--primary))) 16%,var(--background));border-color:color-mix(in oklch,var(--course-header-accent,var(--course-accent,var(--primary))) 32%,var(--border))}.exo-sets-page__lock-cta--muted{cursor:default;color:var(--muted-foreground)}.exo-sets-page__lock-cta--muted,.exo-sets-page__lock-cta--muted:hover{background:color-mix(in oklch,var(--muted) 55%,transparent);border-color:var(--border)}.course-follow-cta,.exo-set-piste__follow-link{display:inline-flex;align-items:center;gap:.35rem;margin-top:.35rem;padding:.35rem .7rem;border:1px solid color-mix(in oklch,var(--course-header-accent,var(--exo-set-accent,var(--primary))) 22%,var(--border));border-radius:0;background:color-mix(in oklch,var(--course-header-accent,var(--exo-set-accent,var(--primary))) 10%,var(--background));font-size:.75rem;font-weight:650;color:var(--foreground);text-decoration:none;cursor:pointer}.course-follow-cta:disabled{opacity:.65;cursor:wait}.exo-set-piste.is-locked .course-follow-cta,.exo-set-piste.is-locked .exo-set-piste__follow-link{opacity:1;pointer-events:auto;cursor:pointer}.exo-sets-page__lock-follow .course-follow-cta{margin-top:0;padding:.4rem .75rem;font-size:.8125rem}.exo-sets{--exo-sets-accent:var(--course-accent,var(--primary));--exo-green:oklch(0.52 0.12 145);--exo-orange:oklch(0.72 0.14 70);--exo-red:oklch(0.58 0.18 30);--exo-darkred:oklch(0.42 0.16 25);--exo-black:oklch(0.22 0.02 40);--exo-t-green:oklch(0.58 0.14 145);--exo-t-lime:oklch(0.68 0.14 115);--exo-t-orange:oklch(0.72 0.15 70);--exo-t-orangered:oklch(0.64 0.17 45);--exo-t-red:oklch(0.58 0.19 30);--exo-t-reddark:oklch(0.48 0.17 25);--exo-t-darkred:oklch(0.40 0.15 18);--exo-t-maroon:oklch(0.38 0.14 350);--exo-t-violet:oklch(0.44 0.16 310);--exo-t-deepviolet:oklch(0.32 0.14 295);padding-inline:0}.exo-sets__empty{margin:0;padding:.75rem 0 1rem;color:var(--muted-foreground);font-size:.9375rem}.exo-sets__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.exo-sets__item{min-width:0}.exo-set-piste{--exo-set-accent:var(--exo-sets-accent,var(--course-grades-accent,var(--course-accent,var(--primary))));--exo-green:oklch(0.52 0.12 145);--exo-orange:oklch(0.72 0.14 70);--exo-red:oklch(0.58 0.18 30);--exo-darkred:oklch(0.42 0.16 25);--exo-t-green:oklch(0.58 0.14 145);--exo-t-lime:oklch(0.68 0.14 115);--exo-t-orange:oklch(0.72 0.15 70);--exo-t-orangered:oklch(0.64 0.17 45);--exo-t-red:oklch(0.58 0.19 30);--exo-t-reddark:oklch(0.48 0.17 25);--exo-t-darkred:oklch(0.40 0.15 18);--exo-t-maroon:oklch(0.38 0.14 350);--exo-t-violet:oklch(0.44 0.16 310);--exo-t-deepviolet:oklch(0.32 0.14 295);display:grid;gap:.45rem;padding:1.2rem .1rem 1.25rem;border-bottom:1px solid color-mix(in oklch,var(--border) 88%,transparent);text-decoration:none;color:inherit;background:transparent;transition:background-color .14s ease}.exo-sets__item:first-child .exo-set-piste{border-top:1px solid color-mix(in oklch,var(--border) 88%,transparent)}a.exo-set-piste:hover{background:color-mix(in oklch,var(--exo-set-accent) 6%,transparent)}.exo-set-piste.is-locked{opacity:.52;cursor:not-allowed}.exo-set-piste__kicker{display:inline-flex;align-items:center;gap:.4rem;margin:0;font-size:.5625rem;font-weight:750;letter-spacing:.14em;text-transform:uppercase;color:color-mix(in oklch,var(--exo-set-accent) 52%,var(--muted-foreground))}.exo-set-piste__kicker b{font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:.08em;color:color-mix(in oklch,var(--exo-set-accent) 72%,var(--foreground))}.exo-set-piste__lock{width:.7rem;height:.7rem;opacity:.75}.exo-set-piste__title{font-family:var(--font-heading,var(--font-sans));font-size:clamp(1.15rem,2.4vw,1.4rem);font-weight:750;letter-spacing:-.035em;line-height:1.15;color:var(--foreground)}.exo-set-piste__track{display:block;width:100%;max-width:none;margin-top:.35rem}.exo-set-piste__track .exo-track{height:.85rem;padding:.16rem;gap:.22rem}.exo-set-piste__meta{margin-top:.1rem;font-size:.8125rem;font-weight:500;font-variant-numeric:tabular-nums;color:color-mix(in oklch,var(--foreground) 70%,var(--muted-foreground))}.exo-session{--exo-accent:var(--course-accent,var(--cb-qcm,oklch(0.52 0.12 35)));--exo-green:oklch(0.52 0.12 145);--exo-orange:oklch(0.72 0.14 70);--exo-red:oklch(0.58 0.18 30);--exo-darkred:oklch(0.42 0.16 25);--exo-black:oklch(0.22 0.02 40);--exo-t-green:oklch(0.58 0.14 145);--exo-t-lime:oklch(0.68 0.14 115);--exo-t-orange:oklch(0.72 0.15 70);--exo-t-orangered:oklch(0.64 0.17 45);--exo-t-red:oklch(0.58 0.19 30);--exo-t-reddark:oklch(0.48 0.17 25);--exo-t-darkred:oklch(0.40 0.15 18);--exo-t-maroon:oklch(0.38 0.14 350);--exo-t-violet:oklch(0.44 0.16 310);--exo-t-deepviolet:oklch(0.32 0.14 295);max-width:none;padding-bottom:calc(3rem + var(--nav-dock-height, 0px))}.course-sidebar-exo__lock-hint,.exo-workspace__nav-lock-hint{display:block;margin-top:.15rem;font-size:.625rem;font-weight:600;letter-spacing:.02em;line-height:1.25;color:var(--muted-foreground)}.exo-session__main{display:grid;gap:1.25rem}.exo-session__board{position:relative;z-index:1;display:grid;gap:1.35rem;animation:exo-board-in .35s ease both}.exo-session__board:has(.exo-track__seg:focus-visible),.exo-session__board:has(.exo-track__seg:hover){z-index:40}@keyframes exo-board-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.exo-progress{--exo-pts:var(--course-accent,var(--exo-accent,var(--primary)));position:relative;display:grid;gap:.85rem;margin:0;padding:0 0 1.35rem;overflow:visible;border:none;border-bottom:1px solid color-mix(in oklch,var(--border) 88%,transparent);background:transparent}.exo-progress--with-exercise{gap:.75rem;padding-bottom:1.55rem}.exo-progress--index{gap:.95rem}.exo-progress__ex-head{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.85rem 1.15rem;min-width:0}.exo-progress__ex-index{font-family:var(--font-heading,var(--font-sans));font-size:clamp(2.75rem,7vw,3.75rem);font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.07em;line-height:.9;color:color-mix(in oklch,var(--exo-pts) 28%,transparent);-webkit-user-select:none;-moz-user-select:none;user-select:none}.exo-progress__ex-copy{display:grid;gap:.2rem;min-width:0;padding-top:.35rem}.exo-progress__ex-kicker{margin:0;font-size:.5625rem;font-weight:750;letter-spacing:.14em;text-transform:uppercase;color:color-mix(in oklch,var(--exo-pts) 52%,var(--muted-foreground))}.exo-progress__ex-title{margin:0;font-family:var(--font-heading,var(--font-sans));font-size:clamp(1.25rem,2.8vw,1.55rem);font-weight:750;letter-spacing:-.035em;line-height:1.15;color:var(--foreground)}@media (max-width:420px){.exo-progress__ex-head{gap:.65rem .85rem}.exo-progress__ex-index{font-size:2.35rem}}.exo-progress__head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:.85rem 1.5rem}.exo-progress__lead{display:grid;gap:.2rem;min-width:0}.exo-progress__kicker{margin:0;font-size:.5625rem;font-weight:750;letter-spacing:.14em;text-transform:uppercase;color:color-mix(in oklch,var(--exo-pts) 52%,var(--muted-foreground))}.exo-progress__counter{margin:0;display:inline-flex;align-items:baseline;gap:.12rem;font-variant-numeric:tabular-nums;font-size:1.125rem;font-weight:550;letter-spacing:-.02em;color:color-mix(in oklch,var(--foreground) 55%,var(--muted-foreground));line-height:1}.exo-progress__counter b{font-family:var(--font-heading,var(--font-sans));font-size:clamp(1.85rem,3.6vw,2.35rem);font-weight:700;letter-spacing:-.045em;color:var(--foreground)}.exo-progress__counter-sep{margin-inline:.05rem;opacity:.4;font-weight:500}.exo-progress__current{margin:.15rem 0 0;max-width:36ch;font-size:.875rem;font-weight:550;letter-spacing:-.015em;line-height:1.3;color:color-mix(in oklch,var(--foreground) 72%,var(--muted-foreground));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.exo-progress__stats{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.65rem 1.25rem;margin:0;padding:0}.exo-progress__stat{display:grid;gap:.22rem;margin:0;min-width:3.5rem}.exo-progress__stat dt{margin:0;font-size:.5rem;font-weight:750;letter-spacing:.12em;text-transform:uppercase;color:var(--muted-foreground)}.exo-progress__stat dd{margin:0;display:inline-flex;align-items:baseline;gap:.1rem;font-variant-numeric:tabular-nums;font-size:.875rem;font-weight:600;line-height:1;color:color-mix(in oklch,var(--foreground) 68%,var(--muted-foreground))}.exo-progress__stat dd b{font-family:var(--font-heading,var(--font-sans));font-size:1.125rem;font-weight:700;letter-spacing:-.03em;color:var(--foreground)}.exo-progress__stat dd span{opacity:.5;font-weight:500}.exo-progress__stat--accent dt{color:color-mix(in oklch,var(--exo-pts) 45%,var(--muted-foreground))}.exo-progress__stat--accent dd b{color:color-mix(in oklch,var(--exo-pts) 72%,var(--foreground))}.exo-progress__stat--accent dd{align-items:center;gap:.28rem}.exo-progress__pts-icon{width:.9rem!important;height:.9rem!important;align-self:center;opacity:.85}.exo-progress__tracks{display:grid;gap:.55rem;overflow:visible}.exo-progress__lane{display:grid;gap:.3rem;overflow:visible}.exo-progress__lane-label{margin:0;font-size:.5rem;font-weight:750;letter-spacing:.12em;text-transform:uppercase;color:var(--muted-foreground)}.exo-progress__under{display:flex;align-items:stretch;width:100%;gap:4px;overflow:visible}.exo-progress__under-cell{flex:1 1 0;min-width:0}.exo-progress__under-cell.is-active{min-width:5rem}.exo-progress--exercise{margin:0}.exo-progress--solo-questions .exo-track{height:.7rem}@media (max-width:560px){.exo-progress__head{align-items:flex-start}.exo-progress__stats{width:100%}}.exo-track{--exo-pts:var(--course-accent,var(--exo-accent,var(--supports-card-accent,var(--primary))));--exo-track-gap:0.2rem;display:flex;align-items:stretch;width:100%;gap:var(--exo-track-gap);height:.65rem;padding:.14rem;border:0;border-radius:0;background:color-mix(in oklch,var(--muted-foreground) 9%,transparent);box-shadow:inset 0 0 0 1px color-mix(in oklch,var(--border) 70%,transparent);overflow:visible}.exo-track--compact{height:.42rem;gap:.12rem;padding:.08rem}.exo-track--nested{height:.48rem;padding:.1rem;gap:.16rem}.exo-track__seg{--seg-fill:color-mix(in oklch,var(--muted-foreground) 22%,transparent);position:relative;flex:1 1 0;min-width:.35rem;height:100%;border-radius:0;background:linear-gradient(180deg,color-mix(in oklch,var(--seg-fill) 92%,white 8%),color-mix(in oklch,var(--seg-fill) 82%,black 10%));opacity:0;animation:exo-seg-in .32s ease forwards;cursor:default;transition:filter .14s ease,transform .14s ease,box-shadow .14s ease}.exo-track__seg.is-edge-end,.exo-track__seg.is-edge-start,.exo-track__seg.is-edge-start.is-edge-end{border-radius:0}.exo-track__seg:focus-visible,.exo-track__seg:hover{filter:brightness(1.08);z-index:5;outline:none;transform:translateY(-1px)}.exo-track--compact .exo-track__seg:focus-visible,.exo-track--compact .exo-track__seg:hover{filter:none;transform:none}.exo-track__seg.is-active{z-index:3;box-shadow:0 0 0 1.5px color-mix(in oklch,var(--exo-pts) 75%,transparent),0 0 0 3px color-mix(in oklch,var(--exo-pts) 14%,transparent);outline:none;transform:none}.exo-track__seg.is-active:after{content:none}.exo-track__seg--todo{--seg-fill:color-mix(in oklch,var(--muted-foreground) 20%,transparent)}.exo-track__seg--partial{--seg-fill:var(--exo-orange,var(--exo-t-orange))}.exo-track__seg--green{--seg-fill:var(--exo-t-green,var(--exo-green))}.exo-track__seg--lime{--seg-fill:var(--exo-t-lime)}.exo-track__seg--orange{--seg-fill:var(--exo-t-orange,var(--exo-orange))}.exo-track__seg--orangered{--seg-fill:var(--exo-t-orangered)}.exo-track__seg--red{--seg-fill:var(--exo-t-red,var(--exo-red))}.exo-track__seg--reddark{--seg-fill:var(--exo-t-reddark)}.exo-track__seg--darkred{--seg-fill:var(--exo-t-darkred,var(--exo-darkred))}.exo-track__seg--maroon{--seg-fill:var(--exo-t-maroon)}.exo-track__seg--violet{--seg-fill:var(--exo-t-violet)}.exo-track__seg--deepviolet{--seg-fill:var(--exo-t-deepviolet)}.exo-track__seg--black{--seg-fill:var(--exo-t-deepviolet,var(--exo-black))}.exo-track__seg.is-locked{opacity:.32;filter:grayscale(.35);animation:none;background:repeating-linear-gradient(-45deg,color-mix(in oklch,var(--muted-foreground) 14%,transparent),color-mix(in oklch,var(--muted-foreground) 14%,transparent) 3px,color-mix(in oklch,var(--muted-foreground) 6%,transparent) 3px,color-mix(in oklch,var(--muted-foreground) 6%,transparent) 6px)}.exo-track--compact .exo-track__seg.is-locked{opacity:.38}.exo-pop{--pop-tone:var(--muted-foreground);position:absolute;left:50%;top:calc(100% + .5rem);z-index:60;display:grid;gap:.22rem;box-sizing:border-box;width:-moz-max-content;width:max-content;max-width:min(13.5rem,72vw);min-width:8rem;padding:.5rem .6rem .45rem;border:1px solid var(--border);border-top:2px solid var(--pop-tone);border-radius:0;background:var(--course-chrome-surface,var(--popover,var(--background)));color:var(--foreground);font-family:var(--font-sans,inherit);line-height:1.25;opacity:0;visibility:hidden;pointer-events:none;transform:translate3d(-50%,-3px,0);transform-origin:top center;transition:opacity .12s ease,transform .12s ease,visibility .12s}.exo-page-header__track .exo-track__seg:focus-visible,.exo-page-header__track .exo-track__seg:hover{z-index:61}.exo-pop--todo{--pop-tone:color-mix(in oklch,var(--muted-foreground) 55%,var(--border))}.exo-pop--partial{--pop-tone:var(--exo-t-orange,var(--exo-orange,oklch(0.72 0.14 70)))}.exo-pop--green{--pop-tone:var(--exo-t-green,var(--exo-green,oklch(0.58 0.14 145)))}.exo-pop--lime{--pop-tone:var(--exo-t-lime,oklch(0.68 0.14 115))}.exo-pop--orange{--pop-tone:var(--exo-t-orange,var(--exo-orange,oklch(0.72 0.15 70)))}.exo-pop--orangered{--pop-tone:var(--exo-t-orangered,oklch(0.64 0.17 45))}.exo-pop--red{--pop-tone:var(--exo-t-red,var(--exo-red,oklch(0.58 0.19 30)))}.exo-pop--reddark{--pop-tone:var(--exo-t-reddark,oklch(0.48 0.17 25))}.exo-pop--darkred{--pop-tone:var(--exo-t-darkred,var(--exo-darkred,oklch(0.40 0.15 18)))}.exo-pop--maroon{--pop-tone:var(--exo-t-maroon,oklch(0.38 0.14 350))}.exo-pop--violet{--pop-tone:var(--exo-t-violet,oklch(0.44 0.16 310))}.exo-pop--black,.exo-pop--deepviolet{--pop-tone:var(--exo-t-deepviolet,oklch(0.32 0.14 295))}.exo-pop--locked{--pop-tone:var(--muted-foreground)}.exo-track__seg.is-edge-start .exo-pop{left:0;transform:translate3d(0,-3px,0);transform-origin:top left}.exo-track__seg.is-edge-end .exo-pop{left:auto;right:0;transform:translate3d(0,-3px,0);transform-origin:top right}.exo-track__seg:focus-visible .exo-pop,.exo-track__seg:hover .exo-pop{opacity:1;visibility:visible;transform:translate3d(-50%,0,0)}.exo-track__seg.is-edge-start:focus-visible .exo-pop,.exo-track__seg.is-edge-start:hover .exo-pop{transform:translateZ(0)}.exo-track__seg.is-edge-end:focus-visible .exo-pop,.exo-track__seg.is-edge-end:hover .exo-pop{transform:translateZ(0)}.exo-pop__meta{display:flex;align-items:center;gap:.35rem;min-width:0}.exo-pop__n{flex-shrink:0;font-family:var(--font-mono,ui-monospace,monospace);font-size:.625rem;font-weight:750;letter-spacing:.04em;color:color-mix(in oklch,var(--pop-tone) 50%,var(--foreground))}.exo-pop__status{flex-shrink:0;font-size:.5625rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted-foreground)}.exo-pop__status.is-done,.exo-pop__status.is-fail{color:color-mix(in oklch,var(--pop-tone) 48%,var(--foreground))}.exo-pop__status.is-locked{color:var(--muted-foreground)}.exo-pop__live{margin-left:auto;flex-shrink:0;font-size:.5rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase;color:color-mix(in oklch,var(--pop-tone) 55%,var(--foreground))}.exo-pop__title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;margin:0;font-family:var(--font-heading,var(--font-sans));font-size:.8125rem;font-weight:700;letter-spacing:-.02em;line-height:1.25;color:var(--foreground);white-space:normal;word-break:break-word}.exo-pop__detail{display:flex;align-items:center;gap:.28rem;margin:0;min-width:0;font-size:.6875rem;font-weight:550;font-variant-numeric:tabular-nums;letter-spacing:.01em;line-height:1.3;color:var(--muted-foreground);white-space:nowrap;overflow:hidden}.exo-pop__pts{display:inline-flex;align-items:center;gap:.18rem;flex-shrink:0;color:color-mix(in oklch,var(--pop-tone) 55%,var(--foreground))}.exo-pop__pts-n{font-weight:750;letter-spacing:-.02em}.exo-pop__pts-icon{width:.85rem!important;height:.85rem!important;opacity:.92}.exo-pop__detail-sep{opacity:.45;flex-shrink:0}.exo-pop__detail-text{overflow:hidden;text-overflow:ellipsis}.sombre .exo-pop{background:var(--card,var(--background));border-color:color-mix(in oklch,var(--border) 90%,transparent)}.sombre .exo-pop__status.is-done,.sombre .exo-pop__status.is-fail{color:color-mix(in oklch,var(--pop-tone) 42%,#fff)}@keyframes exo-seg-in{0%{opacity:0}to{opacity:1}}.course-sidebar-exo{--exo-sidebar-accent:var(--course-nav-accent,var(--course-accent,var(--primary)));--exo-green:oklch(0.52 0.12 145);--exo-orange:oklch(0.72 0.14 70);--exo-red:oklch(0.58 0.18 30);--exo-t-green:oklch(0.58 0.14 145);--exo-t-lime:oklch(0.68 0.14 115);--exo-t-orange:oklch(0.72 0.15 70);--exo-t-orangered:oklch(0.64 0.17 45);--exo-t-red:oklch(0.58 0.19 30);--exo-t-reddark:oklch(0.48 0.17 25);--exo-t-darkred:oklch(0.40 0.15 18);--exo-t-maroon:oklch(0.38 0.14 350);--exo-t-violet:oklch(0.44 0.16 310);--exo-t-deepviolet:oklch(0.32 0.14 295);--step-tone:var(--muted-foreground)}.course-sidebar-exo__sets,.course-sidebar-exo__steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.1rem;max-height:min(68vh,40rem);overflow:auto}.course-sidebar-exo__set,.course-sidebar-exo__step{margin:0;color:var(--foreground)}.course-sidebar-exo__set-row,.course-sidebar-exo__step-row{display:grid;grid-template-columns:.45rem 1.6rem minmax(0,1fr) auto;align-items:center;gap:.45rem;width:100%;min-height:2.15rem;padding:.35rem .2rem;border:none;border-radius:0;background:transparent;text-decoration:none;color:inherit;transition:background-color .14s ease}.course-sidebar-exo__set-row{grid-template-columns:.45rem 1.6rem minmax(0,1fr)}.course-sidebar-exo__set.is-locked .course-sidebar-exo__set-row,.course-sidebar-exo__step.is-locked .course-sidebar-exo__step-row{opacity:.45;cursor:not-allowed}a.course-sidebar-exo__set-row:hover,a.course-sidebar-exo__step-row:hover{background:color-mix(in oklch,var(--exo-sidebar-accent) 7%,transparent)}.course-sidebar-exo__set.is-active .course-sidebar-exo__set-row,.course-sidebar-exo__step.is-active .course-sidebar-exo__step-row{background:color-mix(in oklch,var(--exo-sidebar-accent) 10%,transparent)}.course-sidebar-exo__dot,.course-sidebar-exo__q-dot{width:.4rem;height:.4rem;border-radius:0;background:color-mix(in oklch,var(--step-tone) 70%,transparent);justify-self:center}.course-sidebar-exo__step--todo{--step-tone:color-mix(in oklch,var(--muted-foreground) 55%,var(--border))}.course-sidebar-exo__step--green{--step-tone:var(--exo-t-green)}.course-sidebar-exo__step--lime{--step-tone:var(--exo-t-lime)}.course-sidebar-exo__step--orange,.course-sidebar-exo__step--partial{--step-tone:var(--exo-t-orange)}.course-sidebar-exo__step--orangered{--step-tone:var(--exo-t-orangered)}.course-sidebar-exo__step--red{--step-tone:var(--exo-t-red)}.course-sidebar-exo__step--reddark{--step-tone:var(--exo-t-reddark)}.course-sidebar-exo__step--darkred{--step-tone:var(--exo-t-darkred)}.course-sidebar-exo__step--maroon{--step-tone:var(--exo-t-maroon)}.course-sidebar-exo__step--violet{--step-tone:var(--exo-t-violet)}.course-sidebar-exo__step--black,.course-sidebar-exo__step--deepviolet{--step-tone:var(--exo-t-deepviolet)}.course-sidebar-exo__set--todo .course-sidebar-exo__dot{background:color-mix(in oklch,var(--muted-foreground) 45%,transparent)}.course-sidebar-exo__set--progress .course-sidebar-exo__dot{background:var(--exo-sidebar-accent)}.course-sidebar-exo__set--done .course-sidebar-exo__dot{background:var(--exo-t-green)}.course-sidebar-exo__set--locked .course-sidebar-exo__dot{background:color-mix(in oklch,var(--muted-foreground) 35%,transparent)}.course-sidebar-exo__q-index,.course-sidebar-exo__set-num,.course-sidebar-exo__step-index{font-family:var(--font-mono,ui-monospace,monospace);font-size:.625rem;font-weight:750;font-variant-numeric:tabular-nums;letter-spacing:.04em;color:var(--muted-foreground)}.course-sidebar-exo__set.is-active .course-sidebar-exo__set-num,.course-sidebar-exo__step.is-active .course-sidebar-exo__step-index{color:color-mix(in oklch,var(--exo-sidebar-accent) 55%,var(--foreground))}.course-sidebar-exo__q-label,.course-sidebar-exo__set-title,.course-sidebar-exo__step-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.8125rem;font-weight:550;letter-spacing:-.01em;color:color-mix(in oklch,var(--foreground) 88%,var(--muted-foreground))}.course-sidebar-exo__set.is-active .course-sidebar-exo__set-title,.course-sidebar-exo__step.is-active .course-sidebar-exo__step-label{font-weight:650;color:var(--foreground)}.course-sidebar-exo__lock{width:.75rem;height:.75rem;opacity:.55;color:var(--muted-foreground)}.course-sidebar-exo__set-body{display:grid;gap:.05rem;min-width:0}.course-sidebar-exo__set-meta{font-size:.5625rem;font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:var(--muted-foreground)}.course-sidebar-exo__questions{list-style:none;margin:.1rem 0 .35rem;padding:0 0 0 1.05rem;display:flex;flex-direction:column;gap:.05rem}.course-sidebar-exo__q{--q-tone:var(--muted-foreground);display:grid;grid-template-columns:.35rem 1.35rem minmax(0,1fr);align-items:center;gap:.35rem;min-height:1.55rem;padding:.15rem;color:var(--muted-foreground)}.course-sidebar-exo__q-dot{width:.3rem;height:.3rem;background:color-mix(in oklch,var(--q-tone) 70%,transparent)}.course-sidebar-exo__q--todo{--q-tone:color-mix(in oklch,var(--muted-foreground) 50%,var(--border))}.course-sidebar-exo__q--green{--q-tone:var(--exo-t-green)}.course-sidebar-exo__q--lime{--q-tone:var(--exo-t-lime)}.course-sidebar-exo__q--orange,.course-sidebar-exo__q--partial{--q-tone:var(--exo-t-orange)}.course-sidebar-exo__q--orangered{--q-tone:var(--exo-t-orangered)}.course-sidebar-exo__q--red{--q-tone:var(--exo-t-red)}.course-sidebar-exo__q--reddark{--q-tone:var(--exo-t-reddark)}.course-sidebar-exo__q--darkred{--q-tone:var(--exo-t-darkred)}.course-sidebar-exo__q--maroon{--q-tone:var(--exo-t-maroon)}.course-sidebar-exo__q--violet{--q-tone:var(--exo-t-violet)}.course-sidebar-exo__q--black,.course-sidebar-exo__q--deepviolet{--q-tone:var(--exo-t-deepviolet)}.course-sidebar-exo__q-label{font-size:.75rem;font-weight:500}.exo-player{--exo-green:oklch(0.52 0.12 145);--exo-orange:oklch(0.72 0.14 70);--exo-red:oklch(0.58 0.18 30);--exo-darkred:oklch(0.42 0.16 25);--exo-t-green:oklch(0.58 0.14 145);--exo-t-lime:oklch(0.68 0.14 115);--exo-t-orange:oklch(0.72 0.15 70);--exo-t-orangered:oklch(0.64 0.17 45);--exo-t-red:oklch(0.58 0.19 30);--exo-t-reddark:oklch(0.48 0.17 25);--exo-t-darkred:oklch(0.40 0.15 18);--exo-t-maroon:oklch(0.38 0.14 350);--exo-t-violet:oklch(0.44 0.16 310);--exo-t-deepviolet:oklch(0.32 0.14 295);--exo-player-tone:var(--muted-foreground);display:grid;gap:1.35rem;padding:0 0 1.5rem;border:none;background:transparent;box-shadow:none}.exo-player--tone-todo{--exo-player-tone:color-mix(in oklch,var(--muted-foreground) 55%,transparent)}.exo-player--tone-partial{--exo-player-tone:var(--exo-t-orange,var(--exo-orange))}.exo-player--tone-green{--exo-player-tone:var(--exo-t-green,var(--exo-green))}.exo-player--tone-lime{--exo-player-tone:var(--exo-t-lime)}.exo-player--tone-orange{--exo-player-tone:var(--exo-t-orange,var(--exo-orange))}.exo-player--tone-orangered{--exo-player-tone:var(--exo-t-orangered)}.exo-player--tone-red{--exo-player-tone:var(--exo-t-red,var(--exo-red))}.exo-player--tone-reddark{--exo-player-tone:var(--exo-t-reddark)}.exo-player--tone-darkred{--exo-player-tone:var(--exo-t-darkred,var(--exo-darkred))}.exo-player--tone-maroon{--exo-player-tone:var(--exo-t-maroon)}.exo-player--tone-violet{--exo-player-tone:var(--exo-t-violet)}.exo-player--tone-black,.exo-player--tone-deepviolet{--exo-player-tone:var(--exo-t-deepviolet)}.exo-player__head{display:grid;gap:.28rem;margin:0;padding:0 0 1rem;border:none;border-bottom:1px solid color-mix(in oklch,var(--border) 88%,transparent);background:transparent}.exo-player__kicker{margin:0;font-size:.625rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:color-mix(in oklch,var(--exo-accent,var(--primary)) 52%,var(--muted-foreground))}.exo-player__kicker b{font-family:var(--font-mono,ui-monospace,monospace);font-weight:750;letter-spacing:.06em;color:color-mix(in oklch,var(--exo-accent,var(--primary)) 65%,var(--foreground))}.exo-player__kicker-total{opacity:.55;font-weight:650;letter-spacing:.06em}.exo-player__title{margin:0;max-width:34ch;font-family:var(--font-heading,var(--font-sans));font-size:clamp(1.4rem,2.8vw,1.65rem);font-weight:700;letter-spacing:-.035em;line-height:1.2;color:var(--foreground);text-wrap:balance}.exo-player__meta{margin:.35rem 0 0;display:inline-flex;flex-wrap:wrap;align-items:center;gap:.3rem .4rem;font-size:.8125rem;font-weight:550;color:color-mix(in oklch,var(--foreground) 72%,var(--muted-foreground))}.exo-player__meta-dot{opacity:.4}.exo-player__meta-item{display:inline-flex;align-items:center;gap:.28rem}.exo-player__meta-item--pts .exo-player__badge-icon{width:.85rem;height:.85rem}.exo-player__meta-item--diff-1{color:color-mix(in oklch,var(--exo-green) 60%,var(--foreground))}.exo-player__meta-item--diff-2{color:color-mix(in oklch,var(--exo-orange) 60%,var(--foreground))}.exo-player__meta-item--diff-3{color:color-mix(in oklch,var(--exo-red) 60%,var(--foreground))}.exo-player__meta-item--ok{color:color-mix(in oklch,var(--exo-green) 65%,var(--foreground))}.exo-player__meta-item--try{color:color-mix(in oklch,var(--exo-orange) 60%,var(--foreground))}.exo-player__badge-unit{font-size:.5625rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.7}.exo-player__badges{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.35rem}.exo-player__badge{display:inline-flex;align-items:center;padding:.22rem .5rem;font-size:.5625rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;border:none;border-radius:0;background:var(--muted);color:var(--muted-foreground)}.sombre .exo-player__badge{background:color-mix(in oklch,var(--muted) 55%,transparent);color:color-mix(in oklch,var(--foreground) 82%,var(--muted-foreground))}.exo-player__badge--type{background:color-mix(in oklch,var(--exo-accent,var(--primary)) 14%,var(--muted));color:color-mix(in oklch,var(--exo-accent,var(--primary)) 55%,var(--foreground))}.sombre .exo-player__badge--type{background:color-mix(in oklch,var(--exo-accent,var(--primary)) 18%,var(--muted));color:color-mix(in oklch,var(--exo-accent,var(--primary)) 50%,#fff)}.exo-player__badge--pts{gap:.28rem;background:color-mix(in oklch,var(--exo-accent,var(--primary)) 14%,var(--muted));color:color-mix(in oklch,var(--exo-accent,var(--primary)) 55%,var(--foreground));font-variant-numeric:tabular-nums;text-transform:none;letter-spacing:0;font-size:.6875rem;font-weight:700}.exo-player__badge--pts .exo-player__badge-icon{width:.85rem;height:.85rem;flex-shrink:0}.exo-player__badge--pts .exo-player__badge-unit{font-size:.62rem;font-weight:650;letter-spacing:.04em;text-transform:uppercase;opacity:.72}.sombre .exo-player__badge--pts{background:color-mix(in oklch,var(--exo-accent,var(--primary)) 18%,var(--muted));color:color-mix(in oklch,var(--exo-accent,var(--primary)) 50%,#fff)}.exo-player__badge--diff-1{background:color-mix(in oklch,var(--exo-green) 14%,var(--muted));color:color-mix(in oklch,var(--exo-green) 65%,var(--foreground))}.exo-player__badge--diff-2{background:color-mix(in oklch,var(--exo-orange) 16%,var(--muted));color:color-mix(in oklch,var(--exo-orange) 62%,var(--foreground))}.exo-player__badge--diff-3{background:color-mix(in oklch,var(--exo-red) 14%,var(--muted));color:color-mix(in oklch,var(--exo-red) 65%,var(--foreground))}.sombre .exo-player__badge--diff-1{color:color-mix(in oklch,var(--exo-green) 50%,#fff)}.sombre .exo-player__badge--diff-2{color:color-mix(in oklch,var(--exo-orange) 48%,#fff)}.sombre .exo-player__badge--diff-3{color:color-mix(in oklch,var(--exo-red) 50%,#fff)}.exo-player__badge--ok{background:color-mix(in oklch,var(--exo-green) 14%,var(--muted));color:color-mix(in oklch,var(--exo-green) 65%,var(--foreground))}.exo-player__badge--try{background:color-mix(in oklch,var(--exo-orange) 16%,var(--muted));color:color-mix(in oklch,var(--exo-orange) 60%,var(--foreground))}.sombre .exo-player__badge--ok{color:color-mix(in oklch,var(--exo-green) 48%,#fff)}.sombre .exo-player__badge--try{color:color-mix(in oklch,var(--exo-orange) 46%,#fff)}.exo-player__stage{display:grid;gap:1.35rem}.exo-player__context{margin-bottom:1rem;padding:0 0 .85rem;border:none;border-bottom:1px solid color-mix(in oklch,var(--border) 88%,transparent)}.exo-player__context:has(.exo-enonce-blocks){padding:0;border-left:none}.exo-player__enonce{margin:0;font-size:1rem;line-height:1.62;color:color-mix(in oklch,var(--foreground) 90%,var(--muted-foreground))}.exo-player__body{display:grid;gap:.55rem}.exo-player__answer-label{margin:0;font-size:.625rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-foreground)}.exo-player .code-panel,.exo-session .code-panel{--code-panel-max-lines:10;--code-panel-scroll-max-height:15.5rem}.code-fill-panel .code-panel__scroll,.exo-code-insert .code-panel__scroll,.exo-player .code-panel__scroll,.exo-session .code-panel__scroll{max-height:var(--code-panel-scroll-max-height,15.5rem);overflow:auto}.exo-player__dock{position:sticky;bottom:calc(var(--nav-dock-height, 0px) + env(safe-area-inset-bottom, 0px));z-index:20;display:flex;flex-direction:column;gap:.75rem;margin-top:.5rem;padding:.95rem 0 .35rem;border:none;border-top:1px solid color-mix(in oklch,var(--border) 88%,transparent);background:color-mix(in oklch,var(--background) 92%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.sombre .exo-player__dock{background:color-mix(in oklch,var(--background) 90%,var(--muted))}.exo-player__dock-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.1rem}.exo-player__dock-bar--graded{justify-content:space-between}.exo-player__cta-row{--exo-cta-h:2.75rem;display:flex;flex-wrap:wrap;gap:.45rem;align-items:center;flex-shrink:0}.exo-player__dock-bar--graded .exo-player__cta-row{margin-left:auto}.exo-player__validate{--validate-bg:var(--exo-accent,var(--course-accent,var(--primary)));--validate-fg:color-mix(in oklch,white 92%,var(--validate-bg));box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-width:8.25rem;height:var(--exo-cta-h);padding:0 1.25rem;border-radius:0;border:1px solid color-mix(in oklch,var(--validate-bg) 72%,black 14%);background:linear-gradient(180deg,color-mix(in oklch,var(--validate-bg) 88%,black 6%),color-mix(in oklch,var(--validate-bg) 72%,black 14%));color:var(--validate-fg);font:inherit;font-size:.875rem;font-weight:750;letter-spacing:.015em;cursor:pointer;box-shadow:none;transition:background .14s ease,border-color .14s ease,opacity .15s ease}.exo-player__validate:hover:not(:disabled){background:linear-gradient(180deg,color-mix(in oklch,var(--validate-bg) 80%,black 10%),color-mix(in oklch,var(--validate-bg) 64%,black 18%));border-color:color-mix(in oklch,var(--validate-bg) 64%,black 18%)}.exo-player__validate:active:not(:disabled){background:color-mix(in oklch,var(--validate-bg) 68%,black 16%)}.exo-player__validate:disabled{opacity:.55;cursor:not-allowed}.exo-player__validate.is-busy{opacity:.78;cursor:wait}.exo-player__validate--done,.exo-player__validate--done:disabled{--validate-bg:var(--exo-player-tone,var(--exo-green));opacity:1;cursor:default}.exo-player__validate-icon{width:1rem;height:1rem;flex-shrink:0}.exo-player__retry{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;height:var(--exo-cta-h);padding:0 1rem;border-radius:0;border:1px solid color-mix(in oklch,var(--border) 90%,transparent);background:transparent;color:color-mix(in oklch,var(--exo-player-tone,var(--exo-accent,var(--primary))) 70%,var(--foreground));font:inherit;font-size:.875rem;font-weight:700;letter-spacing:.01em;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.exo-player__retry:focus-visible,.exo-player__retry:hover:not(:disabled){background:color-mix(in oklch,var(--exo-player-tone,var(--exo-accent,var(--primary))) 10%,transparent);border-color:color-mix(in oklch,var(--exo-player-tone,var(--exo-accent,var(--primary))) 35%,var(--border))}.exo-player__retry:disabled{opacity:.55;cursor:not-allowed}.exo-player__retry-icon{width:1rem;height:1rem;flex-shrink:0}.exo-retry-modal__backdrop{position:fixed;inset:0;z-index:100;background:color-mix(in oklch,black 42%,transparent);transition:opacity .15s ease}.exo-retry-modal__backdrop[data-ending-style],.exo-retry-modal__backdrop[data-starting-style]{opacity:0}.exo-retry-modal{--exo-t-green:oklch(0.58 0.14 145);--exo-t-lime:oklch(0.68 0.14 115);--exo-t-orange:oklch(0.72 0.15 70);--exo-t-orangered:oklch(0.64 0.17 45);--exo-t-red:oklch(0.58 0.19 30);--exo-t-reddark:oklch(0.48 0.17 25);--exo-t-darkred:oklch(0.40 0.15 18);--exo-t-maroon:oklch(0.38 0.14 350);--exo-t-violet:oklch(0.44 0.16 310);--exo-t-deepviolet:oklch(0.32 0.14 295);--exo-player-tone:var(--course-accent,var(--primary));position:fixed;top:50%;left:50%;z-index:101;width:min(calc(100vw - 2rem),22.5rem);padding:1.25rem 1.25rem 1.1rem;border:1px solid color-mix(in oklch,var(--border) 88%,transparent);border-radius:0;background:var(--course-chrome-surface,var(--background));color:var(--foreground);box-shadow:none;transform:translate(-50%,-50%);transition:opacity .15s ease,transform .15s ease}.exo-retry-modal[data-tone=green]{--exo-player-tone:var(--exo-t-green)}.exo-retry-modal[data-tone=lime]{--exo-player-tone:var(--exo-t-lime)}.exo-retry-modal[data-tone=orange],.exo-retry-modal[data-tone=partial]{--exo-player-tone:var(--exo-t-orange)}.exo-retry-modal[data-tone=orangered]{--exo-player-tone:var(--exo-t-orangered)}.exo-retry-modal[data-tone=red]{--exo-player-tone:var(--exo-t-red)}.exo-retry-modal[data-tone=reddark]{--exo-player-tone:var(--exo-t-reddark)}.exo-retry-modal[data-tone=darkred]{--exo-player-tone:var(--exo-t-darkred)}.exo-retry-modal[data-tone=maroon]{--exo-player-tone:var(--exo-t-maroon)}.exo-retry-modal[data-tone=violet]{--exo-player-tone:var(--exo-t-violet)}.exo-retry-modal[data-tone=black],.exo-retry-modal[data-tone=deepviolet]{--exo-player-tone:var(--exo-t-deepviolet)}.exo-retry-modal[data-ending-style],.exo-retry-modal[data-starting-style]{opacity:0;transform:translate(-50%,-48%)}.exo-retry-modal__title{margin:0;font-family:var(--font-heading,var(--font-sans));font-size:1.125rem;font-weight:750;letter-spacing:-.03em;line-height:1.2}.exo-retry-modal__text{margin:.55rem 0 0;font-size:.875rem;line-height:1.45;color:color-mix(in oklch,var(--foreground) 78%,var(--muted-foreground))}.exo-retry-modal__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.45rem;margin-top:1.15rem}.exo-retry-modal__btn{min-width:6.5rem;border-radius:0!important}.exo-retry-modal__btn--confirm{background:var(--exo-player-tone,var(--exo-accent,var(--primary)))!important;color:color-mix(in oklch,white 92%,var(--exo-player-tone,var(--primary)))!important;border-color:color-mix(in oklch,var(--exo-player-tone,var(--exo-accent,var(--primary))) 72%,black 14%)!important}.exo-player__icon-btn{box-sizing:border-box;position:relative;display:inline-grid;place-items:center;width:var(--exo-cta-h);height:var(--exo-cta-h);padding:0;border:1px solid color-mix(in oklch,var(--border) 90%,transparent);border-radius:0;background:transparent;color:color-mix(in oklch,var(--exo-accent,var(--primary)) 70%,var(--foreground));cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.exo-player__icon-btn:focus-visible,.exo-player__icon-btn:hover{background:color-mix(in oklch,var(--exo-accent,var(--primary)) 10%,transparent);border-color:color-mix(in oklch,var(--exo-accent,var(--primary)) 35%,var(--border))}.exo-player__icon-btn--hint{color:color-mix(in oklch,oklch(.78 .14 95) 55%,var(--exo-accent,var(--primary)));border-color:color-mix(in oklch,oklch(.78 .14 95) 35%,var(--border));background:color-mix(in oklch,oklch(.86 .14 95) 14%,transparent)}.sombre .exo-player__icon-btn--hint{color:oklch(.86 .1 95);background:color-mix(in oklch,oklch(.78 .12 95) 16%,transparent)}.exo-player__hint-wrap{position:relative;display:inline-flex}.exo-player__hint-tip{position:absolute;left:50%;bottom:calc(100% + .55rem);z-index:30;width:min(18rem,72vw);padding:.6rem .7rem;border-top:1px solid var(--border);border:1px solid var(--border);border-top:2px solid color-mix(in oklch,oklch(.78 .14 95) 70%,var(--exo-accent,var(--primary)));border-radius:0;background:var(--course-chrome-surface,var(--background));box-shadow:none;color:var(--foreground);opacity:0;visibility:hidden;pointer-events:none;transform:translateX(-50%) translateY(4px);transition:opacity .14s ease,transform .14s ease,visibility .14s}.exo-player__hint-wrap:focus-within .exo-player__hint-tip,.exo-player__hint-wrap:hover .exo-player__hint-tip{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}.exo-player__hint-tip-label{display:block;margin:0 0 .3rem;font-size:.5625rem;font-weight:750;letter-spacing:.12em;text-transform:uppercase;color:color-mix(in oklch,oklch(.72 .12 85) 55%,var(--foreground))}.exo-player__hint-tip-body{font-size:.8125rem;line-height:1.45}.exo-player__hint-tip-body.rich-content p{margin:0 0 .45em}.exo-player__hint-tip-body.rich-content p:last-child{margin-bottom:0}.exo-player__error{margin:0;color:oklch(.55 .18 25);font-size:.875rem}.exo-player__result{--result-tone:var(--exo-player-tone,var(--muted-foreground));position:relative;display:flex;align-items:center;gap:.85rem 1.1rem;flex:1 1 14rem;min-width:0;margin:0;padding:0;overflow:hidden;border-radius:0;border:none;background:transparent;color:var(--foreground);animation:exo-result-in .28s ease}@keyframes exo-result-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.exo-player__result-mark,.exo-player__result-rail{display:none}.exo-player__result-copy{min-width:0;display:flex;flex-direction:column;gap:.08rem}.exo-player__result-kicker{font-size:.625rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:color-mix(in oklch,var(--result-tone) 55%,var(--muted-foreground))}.exo-player__result-title{font-family:var(--font-heading,var(--font-sans));font-size:1.125rem;font-weight:750;letter-spacing:-.03em;line-height:1.15;color:color-mix(in oklch,var(--result-tone) 72%,var(--foreground))}.exo-player__result-text{font-size:.8125rem;font-weight:500;line-height:1.4;color:color-mix(in oklch,var(--foreground) 78%,var(--muted-foreground))}.exo-player__result-score{position:relative;display:inline-flex;align-items:baseline;gap:.05rem;flex-shrink:0;padding:.15rem .15rem .15rem 0;border:none;border-radius:0;background:transparent;color:var(--result-tone);font-variant-numeric:tabular-nums;line-height:1;-webkit-user-select:none;-moz-user-select:none;user-select:none}.exo-player__result-score-icon{position:absolute;left:-.15rem;top:50%;display:grid;place-items:center;width:2.35rem;height:2.35rem;transform:translateY(-52%);opacity:.22;color:var(--result-tone);pointer-events:none}.exo-player__result-score-icon svg{width:100%;height:100%}.exo-player__result-score-n{position:relative;z-index:1;font-family:var(--font-heading,var(--font-sans));font-size:clamp(2.35rem,5.5vw,3.15rem);font-weight:700;letter-spacing:-.06em;line-height:.9;color:var(--result-tone)}.exo-player__result-score-sep{position:relative;z-index:1;font-size:1.15rem;font-weight:600;margin-inline:.08rem;color:color-mix(in oklch,var(--result-tone) 55%,var(--muted-foreground))}.exo-player__result-score-max{position:relative;z-index:1;font-size:1.2rem;font-weight:700;letter-spacing:-.03em;color:color-mix(in oklch,var(--result-tone) 62%,var(--muted-foreground))}.exo-player__result-score-unit{position:relative;z-index:1;margin-left:.32rem;align-self:flex-end;padding-bottom:.2rem;font-size:.625rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:color-mix(in oklch,var(--result-tone) 48%,var(--muted-foreground))}.exo-player__result--ko,.exo-player__result--ok,.exo-player__result--partial{--result-tone:var(--exo-player-tone,var(--muted-foreground))}.exo-player__dock>.exo-player__result{--result-tone:var(--exo-t-red,var(--exo-red))}@media (max-width:560px){.exo-player__dock-bar--graded{flex-direction:column;align-items:stretch}.exo-player__dock-bar--graded .exo-player__cta-row{margin-left:0}.exo-player__result{flex-wrap:wrap}}.exo-code-window{border:1px solid color-mix(in oklch,var(--border) 88%,transparent);background:color-mix(in oklch,oklch(.94 .02 85) 55%,var(--card));overflow:hidden}.sombre .exo-code-window{background:color-mix(in oklch,var(--muted) 40%,var(--card))}.exo-code-window__chrome{display:flex;align-items:center;gap:.65rem;padding:.45rem .65rem;border-bottom:1px solid color-mix(in oklch,var(--border) 80%,transparent);background:color-mix(in oklch,var(--muted) 30%,transparent)}.exo-code-window__dots{display:inline-flex;gap:.28rem}.exo-code-window__dots i{width:.55rem;height:.55rem;border-radius:999px;background:#ff5f57}.exo-code-window__dots i:nth-child(2){background:#febc2e}.exo-code-window__dots i:nth-child(3){background:#28c840}.exo-code-window__lang{font-size:.65rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase;color:var(--muted-foreground)}.exo-code-window__copy{margin-left:auto;display:inline-flex;padding:.2rem;border:none;background:transparent;color:var(--muted-foreground);cursor:pointer}.exo-completion__pre{margin:0;padding:.85rem 1rem;overflow-x:auto;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.8125rem;line-height:1.6;white-space:pre-wrap;background:transparent}.exo-completion__blank{display:inline-block;margin:0 .15rem;padding:.12rem .4rem;min-width:3.25rem;border:1px solid color-mix(in oklch,var(--border) 80%,transparent);background:var(--background);font:inherit;color:inherit}.exo-completion__blank.is-ok{border-color:var(--exo-green)}.exo-completion__blank.is-ko{border-color:oklch(.6 .18 25)}.exo-player__choices{--choice-accent:var(--exo-accent,var(--course-accent,var(--primary)));list-style:none;margin:0;padding:0;display:grid;gap:0;border-top:1px solid color-mix(in oklch,var(--border) 88%,transparent)}.exo-player__empty-choices{margin:0;padding:.75rem 0;font-size:.875rem;color:var(--muted-foreground)}.exo-player__choice{position:relative;display:flex;align-items:center;gap:.85rem;margin:0;padding:.78rem .15rem .78rem 0;border:none;border-bottom:1px solid color-mix(in oklch,var(--border) 88%,transparent);border-radius:0;background:transparent;cursor:pointer;transition:background .14s ease}.exo-player__choice:hover:not(.is-disabled){background:color-mix(in oklch,var(--choice-accent) 5%,transparent)}.exo-player__choice input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.exo-player__choice-letter{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:1.85rem;height:1.85rem;font-family:var(--font-mono,ui-monospace,monospace);font-size:.75rem;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:.03em;line-height:1;color:color-mix(in oklch,var(--foreground) 55%,var(--muted-foreground));background:color-mix(in oklch,var(--muted) 55%,transparent);border:none;transition:color .14s ease,background .14s ease}.exo-player__choice:hover:not(.is-disabled) .exo-player__choice-letter{color:var(--choice-accent);background:color-mix(in oklch,var(--choice-accent) 12%,var(--muted))}.exo-player__choice.is-checked .exo-player__choice-letter{color:color-mix(in oklch,white 92%,var(--choice-accent));background:linear-gradient(180deg,color-mix(in oklch,var(--choice-accent) 88%,black 6%),color-mix(in oklch,var(--choice-accent) 72%,black 14%))}.exo-player__choice-text{flex:1;min-width:0;font-size:.975rem;line-height:1.5;color:var(--foreground)}.exo-prose--choice .rich-text{font-size:inherit;line-height:inherit}.exo-prose--choice .rich-text p{margin:0}.exo-player__choice.is-checked{background:color-mix(in oklch,var(--choice-accent) 7%,transparent)}.exo-player__choice.is-correct .exo-player__choice-letter{color:color-mix(in oklch,white 92%,var(--exo-green));background:linear-gradient(180deg,color-mix(in oklch,var(--exo-green) 88%,black 6%),color-mix(in oklch,var(--exo-green) 72%,black 14%))}.exo-player__choice.is-correct{background:color-mix(in oklch,var(--exo-green) 5%,transparent)}.exo-player__choice.is-wrong .exo-player__choice-letter{color:color-mix(in oklch,white 92%,var(--exo-red));background:linear-gradient(180deg,color-mix(in oklch,var(--exo-red) 88%,black 6%),color-mix(in oklch,var(--exo-red) 72%,black 14%))}.exo-player__choice.is-wrong{background:color-mix(in oklch,var(--exo-red) 5%,transparent)}.exo-player__choice.is-wrong .exo-player__choice-text{color:color-mix(in oklch,var(--foreground) 72%,var(--muted-foreground))}.exo-player__choice.is-disabled{cursor:default}.exo-player__bool{--choice-accent:var(--exo-accent,var(--course-accent,var(--primary)));display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid color-mix(in oklch,var(--border) 88%,transparent)}.exo-player__bool-btn{display:inline-flex;align-items:center;gap:.75rem;min-height:3.1rem;padding:.7rem .85rem .7rem 0;border:none;border-radius:0;border-bottom:1px solid color-mix(in oklch,var(--border) 88%,transparent);background:transparent;font:inherit;color:var(--foreground);cursor:pointer;text-align:left;transition:background .14s ease}.exo-player__bool-btn:hover:not(:disabled){background:color-mix(in oklch,var(--choice-accent) 5%,transparent)}.exo-player__bool-btn:disabled{cursor:default}.exo-player__bool-mark{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:1.85rem;height:1.85rem;font-family:var(--font-mono,ui-monospace,monospace);font-size:.75rem;font-weight:800;letter-spacing:.03em;color:color-mix(in oklch,var(--foreground) 55%,var(--muted-foreground));background:color-mix(in oklch,var(--muted) 55%,transparent);border:none;transition:color .14s ease,background .14s ease}.exo-player__bool-btn:hover:not(:disabled) .exo-player__bool-mark{color:var(--choice-accent);background:color-mix(in oklch,var(--choice-accent) 12%,var(--muted))}.exo-player__bool-label{font-size:.975rem;font-weight:650;letter-spacing:-.015em}.exo-player__bool-btn.is-on{background:color-mix(in oklch,var(--choice-accent) 7%,transparent)}.exo-player__bool-btn.is-on .exo-player__bool-mark{color:color-mix(in oklch,white 92%,var(--choice-accent));background:linear-gradient(180deg,color-mix(in oklch,var(--choice-accent) 88%,black 6%),color-mix(in oklch,var(--choice-accent) 72%,black 14%))}.exo-player__bool-btn.is-correct{background:color-mix(in oklch,var(--exo-green) 5%,transparent)}.exo-player__bool-btn.is-correct .exo-player__bool-mark{color:color-mix(in oklch,white 92%,var(--exo-green));background:linear-gradient(180deg,color-mix(in oklch,var(--exo-green) 88%,black 6%),color-mix(in oklch,var(--exo-green) 72%,black 14%))}.exo-player__bool-btn.is-wrong{background:color-mix(in oklch,var(--exo-red) 5%,transparent)}.exo-player__bool-btn.is-wrong .exo-player__bool-mark{color:color-mix(in oklch,white 92%,var(--exo-red));background:linear-gradient(180deg,color-mix(in oklch,var(--exo-red) 88%,black 6%),color-mix(in oklch,var(--exo-red) 72%,black 14%))}@media (max-width:420px){.exo-player__bool{grid-template-columns:1fr}}.exo-code-interactif__editor,.exo-player__numeric,.exo-player__open,.exo-player__short{width:100%;padding:.75rem .85rem;border:1.5px solid color-mix(in oklch,var(--border) 92%,transparent);border-radius:0;background:color-mix(in oklch,var(--muted) 10%,var(--background));font:inherit;resize:vertical;transition:border-color .15s ease,background .15s ease}.exo-player__numeric:focus-visible,.exo-player__open:focus-visible,.exo-player__short:focus-visible{outline:none;border-color:color-mix(in oklch,var(--exo-accent,var(--primary)) 45%,var(--border));background:var(--background)}.exo-code-interactif__editor{border:none;border-radius:0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.8125rem;line-height:1.55;max-height:var(--code-panel-scroll-max-height,15.5rem);overflow:auto;resize:vertical}.exo-code-interactif__stdout{display:grid;gap:.35rem;margin-top:.65rem;padding:.75rem;font-size:.8125rem}.exo-code-insert{display:grid;gap:.85rem}.exo-code-insert__panel{margin:0}.exo-code-insert__slot{display:inline-flex;align-items:center;vertical-align:baseline;min-width:4.25rem;min-height:1.55rem;margin:0 .12rem;padding:.05rem .15rem;border:1.5px dashed color-mix(in oklch,var(--code-accent,var(--primary)) 42%,var(--border));border-radius:0;background:color-mix(in oklch,var(--code-accent,var(--primary)) 10%,var(--code-panel-bg,transparent));box-shadow:inset 0 -1px 0 color-mix(in oklch,var(--code-accent,var(--primary)) 25%,transparent);transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.exo-code-insert__slot.is-target{border-style:solid;border-color:var(--code-accent,var(--primary));background:color-mix(in oklch,var(--code-accent,var(--primary)) 16%,var(--code-panel-bg,transparent));box-shadow:inset 0 0 0 1px color-mix(in oklch,var(--code-accent,var(--primary)) 35%,transparent),0 0 0 2px color-mix(in oklch,var(--code-accent,var(--primary)) 18%,transparent)}.exo-code-insert__slot.has-chip{border-style:solid;padding:.05rem;background:color-mix(in oklch,var(--code-panel-bg,var(--card)) 88%,var(--card));box-shadow:inset 0 0 0 1px color-mix(in oklch,var(--code-accent,var(--primary)) 28%,var(--border))}.exo-code-insert__slot.is-ok{border-color:color-mix(in oklch,var(--success,#16a34a) 65%,var(--border));background:color-mix(in oklch,var(--success,#16a34a) 16%,var(--code-panel-bg,transparent));box-shadow:inset 0 0 0 1px color-mix(in oklch,var(--success,#16a34a) 45%,transparent)}.exo-code-insert__slot.is-ko{border-color:color-mix(in oklch,var(--destructive,#dc2626) 55%,var(--border));background:color-mix(in oklch,var(--destructive,#dc2626) 12%,var(--code-panel-bg,transparent));box-shadow:inset 0 0 0 1px color-mix(in oklch,var(--destructive,#dc2626) 40%,transparent)}.exo-code-insert__slot-hint{padding:0 .4rem;font-size:.68rem;font-weight:600;letter-spacing:.02em;color:color-mix(in oklch,var(--muted-foreground) 80%,transparent);font-family:inherit;-webkit-user-select:none;-moz-user-select:none;user-select:none}.exo-code-insert__placed{gap:.2rem;padding:.12rem .4rem;background:color-mix(in oklch,var(--code-accent,var(--primary)) 12%,transparent);box-shadow:inset 0 0 0 1.5px color-mix(in oklch,var(--code-accent,var(--primary)) 45%,var(--border));line-height:1.35}.exo-code-insert__chip,.exo-code-insert__placed{display:inline-flex;align-items:center;max-width:100%;border:none;border-radius:0;color:inherit;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.8125rem;cursor:grab;text-align:left}.exo-code-insert__chip{padding:.35rem .65rem;background:transparent;box-shadow:inset 0 0 0 1.5px color-mix(in oklch,var(--foreground) 18%,var(--border));font-weight:550;line-height:1.4;transition:box-shadow .15s ease,background .15s ease,color .15s ease}.exo-code-insert__chip:hover:not(:disabled){background:color-mix(in oklch,var(--code-accent,var(--primary)) 8%,transparent);box-shadow:inset 0 0 0 1.5px color-mix(in oklch,var(--code-accent,var(--primary)) 55%,var(--border))}.exo-code-insert__chip:active:not(:disabled),.exo-code-insert__placed:active:not(:disabled){cursor:grabbing}.exo-code-insert__chip:disabled,.exo-code-insert__placed:disabled{cursor:default;opacity:.9}.exo-code-insert__chip.is-dragging{opacity:.35}.exo-code-insert__grip{width:.75rem;height:.75rem;flex-shrink:0;opacity:.35}.exo-code-insert__chip-code,.exo-code-insert__chip-text{white-space:pre;overflow:hidden;text-overflow:ellipsis;min-width:0}.exo-code-insert__chip-code :where(.line,span){display:inline;background:transparent!important;box-shadow:none!important}.exo-code-insert__bank{margin:0;padding:0;border:none;background:transparent}.exo-code-insert__bank-status{margin:.45rem 0 0;font-size:.75rem;font-weight:600;color:var(--code-accent,var(--primary))}.exo-code-insert__bank-empty{margin:0;font-size:.8125rem;color:var(--muted-foreground)}.exo-code-insert__chips{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;background:transparent}.exo-code-insert--disabled .exo-code-insert__chip,.exo-code-insert--disabled .exo-code-insert__placed{cursor:default}.exo-player__ordering{list-style:none;margin:0;padding:0;display:grid;gap:.45rem}.exo-player__ordering-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.7rem;padding:.6rem .55rem .6rem .65rem;border:none;border-left:3px solid color-mix(in oklch,var(--exo-accent,var(--primary)) 35%,transparent);border-radius:0;background:color-mix(in oklch,var(--muted) 10%,transparent)}.exo-player__ordering-index{display:inline-flex;align-items:center;justify-content:center;min-width:1.7rem;height:1.7rem;border:none;font-family:var(--font-mono,ui-monospace,monospace);font-size:.625rem;font-weight:750;font-variant-numeric:tabular-nums;letter-spacing:.04em;color:color-mix(in oklch,white 92%,var(--exo-accent,var(--primary)));background:linear-gradient(180deg,color-mix(in oklch,var(--exo-accent,var(--primary)) 88%,black 6%),color-mix(in oklch,var(--exo-accent,var(--primary)) 72%,black 14%))}.exo-player__ordering-label{min-width:0;font-size:.9rem;line-height:1.45}.exo-player__ordering-actions{display:inline-flex;gap:.25rem}.exo-player__ordering-actions button{width:1.85rem;height:1.85rem;border:1.5px solid color-mix(in oklch,var(--exo-accent,var(--primary)) 30%,var(--border));border-radius:0;background:color-mix(in oklch,var(--exo-accent,var(--primary)) 6%,transparent);color:var(--exo-accent,var(--primary));font-weight:700;cursor:pointer;transition:background .15s ease,border-color .15s ease}.exo-player__ordering-actions button:hover:not(:disabled){background:color-mix(in oklch,var(--exo-accent,var(--primary)) 14%,transparent);border-color:color-mix(in oklch,var(--exo-accent,var(--primary)) 50%,var(--border))}.exo-player__ordering-actions button:disabled{opacity:.35;cursor:not-allowed}.exo-player__numeric{max-width:12rem}.exo-enonce-blocks{display:flex;flex-direction:column;gap:0}.exo-enonce-question{--q-accent:var(--exo-accent,var(--course-accent,var(--primary)));margin:0;padding:1.15rem 0 1.25rem;border:none;border-bottom:1px solid color-mix(in oklch,var(--border) 88%,transparent);background:transparent;display:flex;flex-direction:column;gap:.75rem;transition:opacity .2s ease}.exo-enonce-question:last-child{border-bottom:none;padding-bottom:.25rem}.exo-enonce-question--locked{opacity:.92}.exo-enonce-question__head{display:grid;gap:.2rem}.exo-enonce-question__kicker{margin:0;font-size:.625rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:color-mix(in oklch,var(--q-accent) 48%,var(--muted-foreground))}.exo-enonce-question__kicker b{font-family:var(--font-mono,ui-monospace,monospace);font-weight:750;letter-spacing:.06em;color:color-mix(in oklch,var(--q-accent) 60%,var(--foreground))}.exo-enonce-question__titles{display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem .85rem;min-width:0}.exo-enonce-question__label{margin:0;flex:1 1 12rem;min-width:0;font-family:var(--font-heading,var(--font-sans));font-size:clamp(1.05rem,2vw,1.2rem);font-weight:650;letter-spacing:-.03em;line-height:1.22;color:var(--foreground)}.exo-enonce-question__meta{display:inline-flex;align-items:center;gap:.5rem;margin-inline-start:auto}.exo-enonce-question__status{padding:0;border:none;background:none;font-size:.625rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted-foreground)}.exo-enonce-question__status.is-ok{color:color-mix(in oklch,var(--exo-green) 60%,var(--muted-foreground))}.exo-enonce-question__status.is-ko{color:color-mix(in oklch,var(--exo-red) 60%,var(--muted-foreground))}.exo-enonce-question__pts{font-size:.6875rem;font-weight:650;font-variant-numeric:tabular-nums;letter-spacing:.02em;color:var(--muted-foreground)}.exo-enonce-question__input{margin-top:.1rem}.exo-enonce-question__feedback{margin:0;padding:0;border:none;background:none;font-size:.8125rem;font-weight:500;color:color-mix(in oklch,var(--exo-red) 50%,var(--foreground))}.exo-enonce-question--locked,.exo-enonce-question--ok{--q-accent:var(--exo-accent,var(--course-accent,var(--primary)))}.exo-enonce-question--ko{--q-accent:var(--exo-red)}.exo-enonce-content{padding-block:.85rem;border-bottom:1px solid color-mix(in oklch,var(--border) 88%,transparent)}.exo-player__context-label{margin:0 0 .4rem;font-size:.625rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:color-mix(in oklch,var(--exo-accent,var(--course-accent,var(--primary))) 48%,var(--muted-foreground))}.exo-player__short{max-width:28rem}