:root{--bg-base: #e2d9cc;--bg-surface: #ece5da;--bg-surface-alt: #dbd2c4;--bg-hover: #d3cabc;--bg-overlay: rgba(87, 75, 60, .5);--text-primary: #2c2520;--text-secondary: #4c433a;--text-tertiary: #7d7164;--text-muted: #a3957f;--text-inverse: #faf7f2;--border: #c8bca8;--border-strong: #bdb09a;--border-subtle: #d3cabc;--burgundy: #7c1f30;--burgundy-dark: #5e1523;--burgundy-text: #75202f;--burgundy-light: #a85a66;--burgundy-soft: #e7d3ce;--hue-petrol: #116286;--hue-terracotta: #96502f;--hue-teal: #39654f;--hue-indigo: #514f87;--hue-plum: #804a72;--hue-stone: #797163;--hue-petrol-soft: #d5e1eb;--hue-terracotta-soft: #e8d8cb;--hue-teal-soft: #dce1d9;--hue-indigo-soft: #d7d7e5;--hue-plum-soft: #e5d8e0;--hue-stone-soft: #e2dfda;--primary: var(--burgundy);--primary-hover: var(--burgundy-dark);--primary-text: var(--burgundy-text);--primary-ring: var(--burgundy-light);--primary-soft: var(--burgundy-soft);--primary-underline: color-mix(in srgb, var(--burgundy-text) 40%, transparent);--key-points: #4b6634;--key-points-background: #d7ddd1;--definition: #155e5f;--definition-background: #cbdfdf;--callout: #51627d;--callout-background: #d5dce8;--going-further: #816b18;--going-further-background: #e4dabb;--syntax-background: #f2ece2;--syntax-text: #2c2520;--syntax-name: #514f87;--syntax-attribute: #2e6a64;--syntax-value: #96502f;--syntax-punctuation: #73685c;--syntax-comment: #756854;--syntax-keyword: #804a72;--evaluation: #725269;--evaluation-background: #e5d8e1;--state-ok: #2a754f;--state-ok-background: #d1dfd6;--state-partial: #9a6007;--state-partial-background: #e5d9cf;--state-wrong: #a94045;--state-wrong-background: #ead7d6;--compare-a: var(--hue-terracotta);--compare-a-background: var(--hue-terracotta-soft);--compare-b: var(--hue-petrol);--compare-b-background: var(--hue-petrol-soft);--compare-both: var(--hue-teal);--compare-both-background: var(--hue-teal-soft);--mqm-accuracy: var(--hue-terracotta);--mqm-accuracy-background: var(--hue-terracotta-soft);--mqm-fluency: var(--hue-petrol);--mqm-fluency-background: var(--hue-petrol-soft);--mqm-terminology: var(--hue-plum);--mqm-terminology-background: var(--hue-plum-soft);--mqm-style: var(--hue-teal);--mqm-style-background: var(--hue-teal-soft);--mqm-locale: var(--hue-indigo);--mqm-locale-background: var(--hue-indigo-soft);--mqm-other: var(--hue-stone);--mqm-other-background: var(--hue-stone-soft);--shadow-sm: 0 1px 2px rgba(87, 75, 60, .08);--shadow-md: 0 4px 6px rgba(87, 75, 60, .1);--shadow-lg: 0 10px 25px rgba(87, 75, 60, .15);--font-prose: "Charter", "Iowan Old Style", "Palatino", "Georgia", serif;--font-ui: -apple-system, "Segoe UI", "Inter", system-ui, sans-serif;--font-mono: "SF Mono", "Cascadia Code", "JetBrains Mono", ui-monospace, monospace;--size-prose: 1.06rem;--leading-prose: 1.65;--content-width: 44rem;--margin-col: 15rem;--reading-block: calc(var(--content-width) + var(--space-6) + var(--margin-col));--page-max: 72rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-8: 3rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px}*,*:before,*:after{box-sizing:border-box}[hidden]{display:none!important}html{min-height:100dvh}body{margin:0;min-height:100dvh;background:var(--bg-base);color:var(--text-secondary);font-family:var(--font-ui);line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{color:var(--text-primary);font-family:var(--font-prose);line-height:1.25;margin:0 0 var(--space-4)}a{color:var(--primary-text);text-decoration-color:var(--primary-underline);text-underline-offset:2px}a:hover{color:var(--primary-hover)}code,pre{font-family:var(--font-mono);font-size:.9em}pre{background:var(--syntax-background);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-4);white-space:pre-wrap;overflow-wrap:break-word}:not(pre)>code{background:var(--bg-surface-alt);border-radius:var(--radius-sm);padding:.1em .35em}.codeblock{position:relative;margin:0 0 var(--space-4)}.codeblock>pre{margin:0}.file-view>pre{max-height:28rem;overflow-y:auto}.file-view[data-code-lang]:after{text-transform:none}.codeblock[data-code-lang]:after{content:attr(data-code-lang);position:absolute;top:-.55rem;right:.75rem;font-family:var(--font-ui);font-size:.62rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:.05rem .35rem;pointer-events:none}.site-header{background:var(--bg-surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:40}.site-header-inner{max-width:var(--page-max);margin:0 auto;padding:var(--space-3) var(--space-5);display:flex;align-items:center;gap:var(--space-5);flex-wrap:wrap}.header-corner{position:absolute;top:var(--space-3);right:var(--space-5);display:flex;align-items:center;gap:var(--space-2)}.site-header-inner{padding-right:calc(var(--space-5) + 10rem)}.masthead{font-family:var(--font-prose);font-weight:700;font-size:1.15rem;color:var(--text-primary);text-decoration:none}.masthead .masthead-accent{color:var(--primary-text)}.site-nav{display:flex;gap:var(--space-4);flex-wrap:wrap;font-size:.92rem}.site-nav a{color:var(--text-tertiary);text-decoration:none;padding:var(--space-1) 0}.site-nav a:hover,.site-nav a[aria-current=page]{color:var(--primary-text)}.header-spacer{flex:1}.nav-toggle{display:none;font:inherit;font-size:1.1rem;line-height:1;background:none;border:1px solid var(--border);border-radius:var(--radius-sm);padding:.15rem .45rem;cursor:pointer;color:var(--text-tertiary)}@media(max-width:62rem){.nav-toggle{display:block}.site-nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;background:var(--bg-surface);border-bottom:1px solid var(--border);box-shadow:var(--shadow-md);padding:var(--space-3) var(--space-5);z-index:39}body.nav-open .site-nav{display:flex}.site-nav a{padding:var(--space-2) 0}}.profile-chip{font-size:.8rem;border:1px solid var(--border);border-radius:999px;padding:.15rem .7rem;color:var(--text-tertiary);background:var(--bg-surface-alt);text-decoration:none}body:not(.is-admin) .admin-only{display:none!important}html[data-lang=en] .i18n[lang=fr],html[data-lang=fr] .i18n[lang=en]{display:none!important}.lang-pill{position:relative;display:inline-flex;font:inherit;font-family:var(--font-ui);font-size:.78rem;font-weight:600;letter-spacing:.04em;background:var(--bg-surface-alt);border:1px solid var(--border);border-radius:999px;padding:2px;cursor:pointer;color:var(--text-tertiary);line-height:1}.lang-pill:hover{border-color:var(--primary-ring)}.lang-pill-opt{position:relative;z-index:1;padding:.28rem .7rem;border-radius:999px;transition:color .18s ease}.lang-pill-slider{position:absolute;top:2px;bottom:2px;left:2px;width:calc(50% - 2px);border-radius:999px;background:var(--primary-ring);box-shadow:var(--shadow-sm);transition:transform .18s ease}html[data-lang=fr] .lang-pill-slider{transform:translate(100%)}html[data-lang=en] .lang-pill-opt[data-lang=en],html[data-lang=fr] .lang-pill-opt[data-lang=fr]{color:var(--text-inverse)}.lang-pill-big{font-size:.95rem;box-shadow:var(--shadow-sm)}.lang-pill-big .lang-pill-opt{padding:.4rem 1.4rem}.site-search{position:relative}.site-search input{font:inherit;font-family:var(--font-ui);font-size:.85rem;padding:.25rem .7rem;border:1px solid var(--border);border-radius:999px;background:var(--bg-surface-alt);color:var(--text-primary);width:13rem}.site-search input:focus{outline:none;border-color:var(--primary-ring);background:var(--bg-surface)}.search-results{position:absolute;top:calc(100% + .4rem);right:0;width:22rem;max-width:90vw;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:50;overflow:hidden}.search-results a{display:flex;gap:var(--space-2);align-items:baseline;padding:var(--space-2) var(--space-3);text-decoration:none;font-family:var(--font-ui);font-size:.88rem;border-bottom:1px solid var(--border-subtle)}.search-results a:last-child{border-bottom:none}.search-results a:hover{background:var(--bg-hover)}.sr-kind{font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);min-width:3.4rem}.sr-title{color:var(--text-primary)}.sr-sub{color:var(--text-muted);font-size:.78rem}body:not(.is-admin):not([data-profile=tra2600]) .course-only[data-course=tra2600]{display:none!important}body:not(.is-admin):not([data-profile=tra6008]) .course-only[data-course=tra6008]{display:none!important}body.is-admin .course-locked[data-course=tra2600],body[data-profile=tra2600] .course-locked[data-course=tra2600],body.is-admin .course-locked[data-course=tra6008],body[data-profile=tra6008] .course-locked[data-course=tra6008]{display:none!important}.page-shell{max-width:var(--page-max);margin:0 auto;padding:var(--space-6) var(--space-5) var(--space-8)}.page-shell:has(>.nav-strip-scope:first-child){padding-top:var(--space-4)}.page-shell.shell-narrow{max-width:calc(var(--content-width) + var(--space-5) * 2)}body:has(.flag-issue) .footer-flag{display:none}.site-footer{border-top:1px solid var(--border-subtle);color:var(--text-muted);font-size:.8rem;max-width:var(--page-max);margin:var(--space-8) auto 0;padding:var(--space-4) var(--space-5)}.prose-layout{display:grid;grid-template-columns:minmax(0,var(--content-width)) var(--margin-col);gap:var(--space-6);align-items:start;max-width:var(--reading-block);margin-inline:auto}.prose{font-family:var(--font-prose);font-size:var(--size-prose);line-height:var(--leading-prose);color:var(--text-secondary)}.prose p{margin:0 0 var(--space-4)}.prose h2{margin-top:var(--space-6);font-size:1.5rem}.prose h3{margin-top:var(--space-5);font-size:1.2rem}.prose ul,.prose ol{padding-left:1.4rem}:is(.prose,.teach-screen) p:has(+:is(ul,ol)){margin-bottom:var(--space-2)}:is(.prose,.teach-screen) p+:is(ul,ol){margin-top:var(--space-2)}.prose em{color:var(--text-primary)}.prose{counter-reset:sidenote}.sidenote-wrap{counter-increment:sidenote}.sidenote-mark:after{content:counter(sidenote);color:var(--primary-text);font-size:.75em;vertical-align:super;font-family:var(--font-ui)}.sidenote:before{content:counter(sidenote) ". ";color:var(--primary-text);font-weight:600}.sidenote{font-family:var(--font-ui);font-size:.82rem;line-height:1.5;color:var(--text-tertiary)}.sidenote-mark{color:var(--primary-text);font-size:.75em;vertical-align:super}@media(min-width:60rem){.sidenote,.side-figure,.prose-layout>.prose>.i18n>.box-summary{float:right;clear:right;width:var(--margin-col);margin-right:calc(-1 * var(--margin-col) - var(--space-6));margin-bottom:var(--space-3);padding-left:0}.prose-layout>.prose>.i18n>.box-summary{margin-top:0;padding:var(--space-3) var(--space-3) var(--space-2);font-size:.86rem;line-height:1.5}.prose-layout>.prose>.i18n>.box-summary ul{padding-left:1.1rem}.prose-layout>.prose>.i18n>.box-summary li+li{margin-top:var(--space-2)}}@media(max-width:59.99rem){.prose-layout{grid-template-columns:minmax(0,1fr)}.sidenote{display:block;border-left:2px solid var(--border);padding-left:var(--space-3);margin:var(--space-3) 0}.side-figure{max-width:20rem}}.figure-side{float:right;clear:right;width:32%;margin:0 0 var(--space-4) var(--space-5)}.figure-side figure.fig{margin:0}@media(max-width:40rem){.figure-side{float:none;width:100%;margin:var(--space-4) 0}}.side-figure figure.fig{margin:0 0 var(--space-2)}.side-figure figure.fig img{padding:var(--space-2);max-height:6rem;object-fit:cover;object-position:top center}.side-figure figure.fig figcaption{font-size:.78rem}.fig-credit{display:block;margin-top:var(--space-1);color:var(--text-tertiary);font-style:italic}.fig-prompt{margin-top:var(--space-1)}.fig-prompt>summary{cursor:pointer;color:var(--text-tertiary);font-style:italic}.fig-prompt>summary:hover{color:var(--primary-text)}.fig-prompt>p{margin:var(--space-2) 0 0;padding-left:var(--space-3);border-left:2px solid var(--border);color:var(--text-tertiary)}.date-written{white-space:nowrap}.ordinal{font-size:.7em;vertical-align:super;line-height:0;text-transform:none}.prose details.expand{margin:var(--space-3) 0 var(--space-4)}.prose details.expand>summary{display:inline-flex;align-items:baseline;gap:.45em;cursor:pointer;list-style:none;font-family:var(--font-ui);font-size:.92rem;color:var(--primary-text)}.prose details.expand>summary::-webkit-details-marker{display:none}.prose details.expand>summary:before{content:"▸";display:inline-block;transition:transform .15s ease}.prose details.expand[open]>summary:before{transform:rotate(90deg)}.prose details.expand>summary:hover,.prose details.expand>summary:focus-visible{text-decoration:underline;text-underline-offset:.2em}.prose details.expand>.expand-body{padding-left:1.1em;margin-top:var(--space-2)}.prose details.expand>.expand-body>:first-child{margin-top:0}.prose details.expand>.expand-body>:last-child{margin-bottom:0}@media print{.prose details.expand>summary:before{content:none}}.teach-screen .fig-prompt{display:none}.side-figure-note{font-family:var(--font-ui);font-size:.78rem;color:var(--text-tertiary);margin-top:0;margin-bottom:var(--space-2)}.card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-sm)}.card h3{margin-bottom:var(--space-2)}a.card{display:block;text-decoration:none;color:inherit}.chip-row{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}.chip{display:inline-block;font-family:var(--font-ui);font-size:.78rem;border-radius:999px;padding:.12rem .65rem;border:1px solid var(--border);color:var(--text-tertiary);background:var(--bg-surface);text-decoration:none}a.chip:hover{border-color:var(--primary-ring);color:var(--primary-text)}.chip-tag{background:var(--bg-surface-alt)}.chip-todo{color:var(--primary-text);border-color:var(--primary-ring);background:var(--primary-soft)}.chip-go{display:inline-flex;align-items:baseline;gap:.35em}.chip-go-arrow{transition:transform .15s ease}a.chip-go:hover,a.chip-go:focus-visible{color:var(--module-accent, var(--primary-text));border-color:var(--module-accent, var(--primary-ring));text-decoration:underline}a.chip-go:hover .chip-go-arrow{transform:translate(2px)}.shell-reference{--module-accent: var(--hue-stone);--module-accent-soft: var(--hue-stone-soft)}.chip-accent{color:var(--module-accent, var(--text-tertiary));border-color:var(--module-accent, var(--border));background:var(--module-accent-soft, var(--bg-surface))}.prose blockquote{margin:var(--space-4) 0;padding:var(--space-1) 0 var(--space-1) var(--space-4);border-left:3px solid var(--module-accent, var(--border-strong));color:var(--text-secondary)}.prose blockquote>:first-child{margin-top:0}.prose blockquote>:last-child{margin-bottom:0}.todo-flag{display:inline-block;font-family:var(--font-ui);font-size:.78rem;color:var(--primary-text);background:var(--primary-soft);border:1px dashed var(--primary-ring);border-radius:var(--radius-sm);padding:.1rem .5rem;margin:var(--space-1) 0}.grid-2{display:grid;grid-template-columns:repeat(auto-fill,minmax(18rem,1fr));gap:var(--space-4)}.page-list{list-style:none;margin:0 0 var(--space-5);padding:0}.page-list li+li{margin-top:var(--space-2)}.page-list a{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);text-decoration:none;color:var(--text-primary);font-family:var(--font-ui)}.page-list .page-no{flex:none;width:1.6rem;height:1.6rem;display:grid;place-items:center;border-radius:999px;background:var(--module-accent-soft, var(--primary-soft));color:var(--module-accent, var(--primary-text));font-size:.8rem;font-weight:600}.page-list .page-title{flex:1}.page-list .page-arrow{color:var(--text-muted)}.week-group{--bracket: var(--border-strong);padding:var(--space-2) var(--space-3) var(--space-3);margin:0 0 var(--space-4);background:var(--bg-surface)}.week-group.lane-home{background:transparent}.week-group.lane-further{--bracket: var(--going-further);background:color-mix(in srgb,var(--bg-base) 93%,var(--text-primary))}.week-group .page-list{margin:0}.week-topic{margin:0;font-size:.95rem;color:var(--text-secondary)}.week-head{font-family:var(--font-ui);font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:var(--space-2)}.lane-home .week-head{color:var(--text-tertiary)}.lane-further .week-head,.page-list li.step-further .page-mode{color:var(--going-further)}.page-status{font-size:.7rem;padding:.06rem .5rem}.page-list .page-status{flex:none}.page-status .status-course{font-weight:600;letter-spacing:.03em}.page-status.status-class{color:var(--module-accent);border-color:var(--module-accent)}.page-status.status-read,.page-status.status-do{color:var(--text-secondary)}.page-status.status-further{color:var(--going-further);border-color:var(--going-further)}.page-status-line{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:0 0 var(--space-4)}.page-list .page-mode{flex:none;font-size:.78rem;color:var(--text-tertiary);white-space:nowrap}.card-linked{position:relative}.card-cover:after{content:"";position:absolute;inset:0;border-radius:var(--radius-lg)}.card-linked :is(.card-pages,.card-relations,.card-more,.card-actions){position:relative;z-index:1}.card-more{margin-top:var(--space-3);font-family:var(--font-ui)}.card-more summary{cursor:pointer;font-size:.82rem;color:var(--text-tertiary)}.card-more summary:hover{color:var(--primary-text)}.card-more[open] summary{margin-bottom:var(--space-2)}.card-pages{list-style:decimal;margin:0 0 var(--space-2);padding-left:1.4rem;font-size:.85rem}.card-pages li{margin:.15rem 0}.card-pages .page-status{margin-left:var(--space-2);font-size:.66rem;vertical-align:1px}.card-concepts{font-size:.8rem;margin:0}.card-relations{display:grid;grid-template-columns:auto 1fr;gap:.1rem var(--space-2);margin:var(--space-2) 0 0;font-family:var(--font-ui);font-size:.78rem}.card-relations dt{color:var(--text-muted)}.card-relations dd{margin:0;color:var(--text-tertiary)}.card-relations a{color:inherit}.card-actions{margin:var(--space-3) 0 0;display:flex;gap:var(--space-4);font-size:.8rem}.chapter-slot>.card{height:100%}.next-target{display:block;scroll-margin-top:6rem}.chapter-slot,.page-list li[id]{scroll-margin-top:6rem}.next-up{display:none}.page-list li:has(>.next-target:target)>a{border-color:var(--module-accent, var(--primary-ring));box-shadow:0 0 0 1px var(--module-accent, var(--primary-ring)),var(--shadow-md)}.chapter-slot:has(>.next-target:target) .next-up,.page-list li:has(>.next-target:target) .next-up{display:inline-block;font-family:var(--font-ui);font-size:.68rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--module-accent, var(--primary-text));margin:0 0 var(--space-1)}.page-list .page-count{display:block;font-size:.78rem;color:var(--text-tertiary)}.nav-strip{font-family:var(--font-ui);background:var(--bg-surface);--bracket: var(--module-accent, var(--primary-ring));padding:var(--space-2) var(--space-4) var(--space-3);max-width:var(--reading-block);margin:0 auto var(--space-5)}.ns-top{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-1) var(--space-3)}.ns-path{display:flex;flex-wrap:wrap;list-style:none;margin:0;padding:0;flex:1;font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-tertiary)}.ns-path li+li:before{content:"›";margin:0 .45rem;color:var(--text-muted)}.ns-path a{color:inherit;text-decoration:none}.ns-path a:hover{color:var(--module-accent, var(--primary-text));text-decoration:underline}.ns-chips:empty{display:none}.ns-level{display:grid;grid-template-columns:7rem minmax(0,1fr);gap:0 var(--space-3);align-items:center;margin-top:var(--space-2)}.ns-count{font-size:.76rem;color:var(--text-tertiary);white-space:nowrap}.ns-count b{color:var(--text-secondary);font-weight:600}.ns-chapter-row{display:flex;align-items:center;gap:var(--space-3);min-width:0}.ns-chapter{margin:0;flex:none;max-width:50%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.92rem;font-weight:600;color:var(--module-accent, var(--text-primary))}.ns-track{display:flex;flex:1;gap:3px;list-style:none;margin:0;padding:0;height:8px}.ns-track li{position:relative}.ns-track a{display:block;height:100%;border-radius:3px;box-shadow:inset 0 0 0 1.5px var(--module-accent)}.ns-track .ns-before a{background:var(--module-accent-soft)}.ns-track .ns-current a{background:var(--module-accent);box-shadow:none}.ns-track a:hover{outline:2px solid var(--module-accent);outline-offset:1px}.ns-tip{position:absolute;bottom:calc(100% + 6px);left:0;white-space:nowrap;font-size:.75rem;color:var(--text-inverse);background:var(--text-primary);border-radius:var(--radius-sm);padding:.1rem .45rem;pointer-events:none;z-index:5}.ns-track li:last-child .ns-tip{left:auto;right:0}.ns-track a:not(:hover,:focus-visible) .ns-tip,.ns-pages li:not(.ns-current) :is(a:not(:hover,:focus-visible),span) .ns-page-title{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.ns-pages{display:flex;flex-wrap:wrap;gap:.25rem;list-style:none;margin:0;padding:0}.ns-pages :is(a,span[aria-current]){display:flex;align-items:center;gap:.35rem;font-size:.8rem;color:var(--text-secondary);text-decoration:none;border:1px solid var(--border-subtle);background:var(--bg-base);border-radius:999px;padding:.1rem}.ns-pages .ns-current span[aria-current],.ns-pages a:is(:hover,:focus-visible){padding-right:.6rem}.ns-pages a:hover{border-color:var(--module-accent)}.ns-no{display:grid;place-items:center;min-width:1.25rem;height:1.25rem;border-radius:999px;font-size:.68rem;font-weight:700;color:var(--module-accent);box-shadow:inset 0 0 0 1.5px var(--module-accent)}.ns-pages .ns-current span[aria-current]{border-color:var(--module-accent);background:var(--module-accent-soft);color:var(--text-primary);font-weight:600}.ns-opt{color:var(--going-further)}.ns-pages .ns-optional :is(a,span[aria-current]){border-style:dashed;border-color:var(--going-further)}.ns-pages .ns-optional .ns-no{color:var(--going-further);box-shadow:inset 0 0 0 1.5px var(--going-further)}.ns-pages .ns-current .ns-no{background:var(--module-accent);color:var(--text-inverse);box-shadow:none}@media(max-width:40rem){.nav-strip{padding:var(--space-2) var(--space-3);margin-bottom:var(--space-4)}.ns-path li:not(:last-child){display:none}.ns-path li+li:before{content:none}.ns-level{grid-template-columns:auto minmax(0,1fr)}.ns-chapter-row{flex-wrap:wrap;row-gap:var(--space-1)}.ns-chapter{max-width:100%;flex-basis:100%;order:2}.ns-pages .ns-current span[aria-current]{padding-right:.1rem}.ns-pages .ns-current .ns-page-title{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}}.card-title-link{color:inherit;text-decoration:none}.breadcrumb{font-family:var(--font-ui);font-size:.85rem;color:var(--text-tertiary);margin-bottom:var(--space-4)}.breadcrumb a{color:var(--text-tertiary);text-decoration:none}.breadcrumb a:hover{color:var(--primary-text)}.page-side{font-family:var(--font-ui);font-size:.8rem;line-height:1.45;color:var(--text-tertiary);background:var(--bg-surface);border-radius:var(--radius-md);padding:var(--space-4)}.page-side a{color:inherit;text-decoration:none}.page-side a:hover{color:var(--primary-text)}.ps-part{text-transform:uppercase;letter-spacing:.06em;font-size:.7rem;color:var(--text-muted)}.ps-module{margin:var(--space-1) 0 var(--space-3);font-weight:600}.ps-adjacent{display:block;color:var(--text-tertiary);margin:var(--space-2) 0}.ps-adjacent-dir{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.ps-current{border-left:2px solid var(--module-accent, var(--primary-ring));padding-left:var(--space-3);margin:var(--space-2) 0}.ps-chapter{font-weight:600;color:var(--text-secondary);margin-bottom:var(--space-1)}.ps-pages li{margin:.2rem 0}.ps-pages .ps-active{color:var(--module-accent, var(--primary-text));font-weight:600}@media(max-width:59.99rem){.page-side{display:none}}.teach-col .lang-unavailable{margin:0 0 var(--space-4)}.lang-unavailable{color:var(--text-muted);font-style:italic;margin:var(--space-4) 0}.lang-unavailable .lang-switch{font-style:normal;font-size:.85rem;margin-left:var(--space-3)}.sources{margin-top:var(--space-6);padding-top:var(--space-3);border-top:1px solid var(--border)}.sources h2{font-size:1rem}.sources ul{font-size:.85rem;color:var(--text-tertiary);list-style:none;padding-left:0}.sources li{margin-bottom:.45rem;padding-left:1.8rem;text-indent:-1.8rem}.sources a{color:inherit;overflow-wrap:anywhere}.page-meta{font-family:var(--font-ui);font-size:.8rem;color:var(--text-muted);margin-top:var(--space-5)}.page-meta>*+*:before{content:" · "}.page-updated{font-family:var(--font-ui);font-size:.8rem;color:var(--text-muted)}.card>.page-updated{display:block;margin-top:var(--space-2)}.flag-issue{font-family:var(--font-ui);margin:0}.prevnext-mid{align-self:center}.prevnext{display:flex;justify-content:space-between;gap:var(--space-4);margin-top:var(--space-8);border-top:1px solid var(--border-subtle);padding-top:var(--space-4);font-family:var(--font-ui);font-size:.9rem}.prevnext a,.btn.btn-surface,.btn.btn-flag{display:inline-block;text-decoration:none;color:var(--text-primary);background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-2) var(--space-4);box-shadow:var(--shadow-sm)}.prevnext .dir,.flag-ask{display:block;font-size:.72rem;color:var(--text-muted)}.prevnext .dir{text-transform:uppercase;letter-spacing:.06em}.prevnext .pn-next{text-align:right}.prevnext a.pn-boundary{border-color:var(--module-accent, var(--primary-ring));background:var(--module-accent-soft, var(--primary-soft))}.prevnext a.pn-boundary .dir{color:var(--module-accent, var(--primary-text));font-weight:600}.pn-sub{display:block;font-size:.78rem;color:var(--text-tertiary);margin-top:.1rem}.btn.btn-surface,.btn.btn-flag{font-size:.9rem;text-align:center}.flag-act{display:block}.flag-word{color:var(--primary-text)}:is(.prose,.teach-screen) table,.data-table{width:100%;border-collapse:separate;border-spacing:0;font-family:var(--font-ui);font-size:.9rem;margin:var(--space-5) 0;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md)}:is(.prose,.teach-screen) table>:first-child>tr:first-child>:first-child,.data-table>:first-child>tr:first-child>:first-child{border-top-left-radius:calc(var(--radius-md) - 1px)}:is(.prose,.teach-screen) table>:first-child>tr:first-child>:last-child,.data-table>:first-child>tr:first-child>:last-child{border-top-right-radius:calc(var(--radius-md) - 1px)}:is(.prose,.teach-screen) table>:last-child>tr:last-child>:first-child,.data-table>:last-child>tr:last-child>:first-child{border-bottom-left-radius:calc(var(--radius-md) - 1px)}:is(.prose,.teach-screen) table>:last-child>tr:last-child>:last-child,.data-table>:last-child>tr:last-child>:last-child{border-bottom-right-radius:calc(var(--radius-md) - 1px)}:is(.prose,.teach-screen) thead th,.data-table thead th{text-align:left;background:var(--module-accent-soft, var(--bg-surface-alt));color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.72rem;padding:var(--space-2) var(--space-3);border-bottom:2px solid var(--module-accent, var(--border-strong))}:is(.prose,.teach-screen) td,.data-table td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border-subtle);vertical-align:top}:is(.prose,.teach-screen) tbody tr:last-child td,.data-table tbody tr:last-child td{border-bottom:none}:is(.prose,.teach-screen) tbody tr:nth-child(2n) td,.data-table tbody tr:nth-child(2n) td{background:color-mix(in srgb,var(--module-accent-soft, var(--bg-surface-alt)) 50%,var(--bg-surface))}figure.table-fig{margin:var(--space-5) 0}figure.table-keep-first :is(th,td):first-child{white-space:nowrap}figure.table-side-by-side :is(th,td)+:is(th,td){border-left:2px solid var(--module-accent, var(--border-strong))}figure.table-grouped td:first-child{font-weight:600;color:var(--text-primary)}figure.table-grouped tbody tr:not(:first-child):has(>td:first-child:not(:empty))>td{border-top:2px solid var(--module-accent, var(--border-strong))}.formula{white-space:nowrap}.judged{border-radius:2px;padding:0 .12em;text-decoration-line:underline;text-decoration-thickness:1.5px;text-underline-offset:.18em;-webkit-box-decoration-break:clone;box-decoration-break:clone}.judged-ok{background:var(--state-ok-background);text-decoration-color:var(--state-ok);text-decoration-style:solid}.judged-partial{background:var(--state-partial-background);text-decoration-color:var(--state-partial);text-decoration-style:dotted}.judged-wrong{background:var(--state-wrong-background);text-decoration-color:var(--state-wrong);text-decoration-style:wavy}.judged-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}:is(.prose,.teach-screen) figure.table-fig table{margin:0}:is(.prose,.teach-screen) td[colspan],.data-table td[colspan]{text-align:center}:is(.prose,.teach-screen) tbody tr.row-eval td,.data-table tbody tr.row-eval td{background:var(--evaluation-background)}.agreement-controls{display:flex;flex-wrap:wrap;gap:var(--space-3);margin:var(--space-4) 0;font-family:var(--font-ui);font-size:.88rem}.agreement-controls label{display:flex;align-items:center;gap:var(--space-2)}.agreement-controls select{font:inherit;padding:.3rem .7rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface);color:var(--text-primary)}.agreement-legend{display:flex;align-items:center;gap:var(--space-2);font-family:var(--font-ui);font-size:.82rem;color:var(--text-secondary);margin-bottom:var(--space-2)}.agreement-ramp{width:9rem;height:.7rem;border-radius:3px;background:linear-gradient(to right,var(--module-accent-soft),var(--module-accent))}.agreement-matrix td,.agreement-matrix th,.agreement-vs-majority td,.agreement-vs-majority th{text-align:center;font-variant-numeric:tabular-nums}.agreement-cell{background:color-mix(in srgb,var(--module-accent) calc(var(--t, 0) * 100%),var(--module-accent-soft))!important;color:var(--text-primary);font-weight:600}.agreement-dark{color:var(--text-inverse)}.agreement-matrix .agreement-cell{padding:0}.agreement-pick{all:unset;box-sizing:border-box;display:block;width:100%;padding:.45rem .4rem;cursor:pointer;text-align:center}.agreement-pick:is(:hover,:focus-visible){outline:2px solid var(--text-primary);outline-offset:-2px}.agreement-pick[aria-pressed=true]{outline:3px solid var(--text-primary);outline-offset:-3px;font-weight:700}.agreement-self{color:var(--text-muted)}.agreement-mean{font-weight:600}.agreement-size{color:var(--text-secondary)}.agreement-pair{margin-top:var(--space-4);padding:var(--space-3) var(--space-4);border-top:1px solid var(--border-strong);border-bottom:1px solid var(--border-strong)}.agreement-pair-hint{color:var(--text-tertiary);font-family:var(--font-ui);font-size:.88rem;margin:0}.agreement-venn{display:block;width:100%;max-width:560px;margin:0 auto;font-family:var(--font-ui)}.ag-initials.ag-venn-a-label{fill:var(--compare-a)}.ag-initials.ag-venn-b-label{fill:var(--compare-b)}.agreement-pair-text{margin:var(--space-2) 0 0}.agreement-sub{margin-top:var(--space-5)}.agreement-hist,.agreement-scatter{display:block;width:100%;font-family:var(--font-ui)}.agreement-hist{max-width:560px}.agreement-scatter{max-width:560px;margin-bottom:var(--space-4)}.data-table.agreement-vs-majority{width:auto;min-width:24rem}.ag-axis,.ag-grid{stroke:var(--border);stroke-width:1}.ag-grid{stroke:var(--border-subtle)}.ag-diagonal{stroke:var(--border-strong);stroke-width:1.2;stroke-dasharray:4 4}.ag-threshold{stroke:var(--text-primary);stroke-width:1.4;stroke-dasharray:5 4}.ag-bar-in{fill:var(--module-accent)}.ag-bar-out{fill:var(--module-accent-soft);stroke:var(--module-accent);stroke-width:1}.ag-num{font-size:12px;fill:var(--text-primary);font-variant-numeric:tabular-nums}.ag-tick{font-size:11.5px;fill:var(--text-tertiary)}.ag-label{font-size:12px;fill:var(--text-secondary)}.ag-corner{font-size:11px;fill:var(--text-tertiary);font-style:italic}.ag-dot{fill:var(--module-accent)}.ag-initials{font-size:12.5px;font-weight:700;fill:var(--text-primary)}.ag-venn-a{fill:color-mix(in srgb,var(--compare-a) 22%,var(--compare-a-background))}.ag-venn-b{fill:color-mix(in srgb,var(--compare-b) 22%,var(--compare-b-background))}.ag-venn-both{fill:color-mix(in srgb,var(--compare-both) 30%,var(--compare-both-background))}.ag-venn-a-edge,.ag-venn-b-edge{fill:none;stroke-width:1.8}.ag-venn-a-edge{stroke:var(--compare-a)}.ag-venn-b-edge{stroke:var(--compare-b)}.ag-venn-num{font-size:15px;font-weight:700;fill:var(--text-primary);font-variant-numeric:tabular-nums}.agreement-group-head{font-family:var(--font-ui);font-size:.85rem;color:var(--text-secondary);margin:var(--space-3) 0 var(--space-1)}.agreement-terms{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:var(--space-2)}.agreement-terms .chip{font-family:var(--font-ui);background:color-mix(in srgb,var(--module-accent) calc(var(--t, 0) * 40%),var(--module-accent-soft));border-color:var(--module-accent);color:var(--text-primary)}.agreement-summary td,.agreement-summary th{font-variant-numeric:tabular-nums}.agreement-summary td+td,.agreement-summary thead th{text-align:center}.agreement-summary-lang th{text-align:left;background:var(--bg-surface)}.agreement-foot{color:var(--text-tertiary);font-size:.88rem;margin-top:var(--space-4)}.scorer-step{margin:var(--space-4) 0 0;padding:var(--space-2) 0 var(--space-3);border:0;border-top:1px solid var(--border-strong)}.scorer-step legend{padding:0 var(--space-2) 0 0;font-family:var(--font-ui);font-weight:700;color:var(--module-accent)}.scorer-step .agreement-controls{margin:var(--space-2) 0}.scorer-row{display:flex;flex-wrap:wrap;gap:var(--space-3) var(--space-5);align-items:end}.scorer-file,.scorer-cutoff{display:flex;flex-direction:column;gap:var(--space-1);font-family:var(--font-ui);font-size:.88rem;color:var(--text-secondary);margin:var(--space-2) 0}.scorer-file input{font:inherit;color:var(--text-primary)}.scorer-cutoff input{font:inherit;width:9rem;padding:.3rem .6rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface);color:var(--text-primary)}.scorer-paste{font-family:var(--font-ui);font-size:.88rem;color:var(--text-secondary)}.scorer-paste summary{cursor:pointer}.scorer-paste textarea{display:block;width:100%;margin-top:var(--space-2);padding:var(--space-2);font:.88rem/1.4 var(--font-mono);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface);color:var(--text-primary)}.scorer-status{font-family:var(--font-ui);font-size:.88rem;color:var(--text-secondary);margin:var(--space-1) 0 0;min-height:1.3em}.scorer-results{border-top:1px solid var(--border-strong);border-bottom:1px solid var(--border-strong);margin-top:var(--space-4);padding-bottom:var(--space-4)}.scorer-table td,.scorer-table th{text-align:center;font-variant-numeric:tabular-nums}.scorer-table tbody th{text-align:left}.scorer-hint{font-size:.82rem;color:var(--text-secondary)}.scorer-charts{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-4)}.scorer-chart{flex:1 1 14rem;max-width:20rem;margin:0}.scorer-chart figcaption{font-family:var(--font-ui);font-size:.85rem;font-weight:600;color:var(--text-secondary);margin-bottom:var(--space-1)}.scorer-chart svg{display:block;width:100%}.scorer-legend{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-4);font-family:var(--font-ui);font-size:.85rem;color:var(--text-secondary);margin:var(--space-2) 0 0}.scorer-legend span{display:inline-flex;align-items:center;gap:var(--space-1)}.scorer-swatch{width:1rem;height:.75rem}.scorer-rules{display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:var(--space-3)}.scorer-rules h5{font-family:var(--font-ui);font-size:.85rem;margin:0 0 var(--space-1);color:var(--text-secondary)}.scorer-band{fill:var(--bg-surface-alt);stroke:var(--border-strong);stroke-width:.8}.scorer-note{font-family:var(--font-ui);font-size:.88rem;color:var(--text-secondary);margin:var(--space-2) 0}.scorer-system{margin-top:var(--space-5)}.scorer-system h4{font-family:var(--font-ui);margin:0 0 var(--space-2)}.agreement-list{margin:var(--space-2) 0;font-family:var(--font-ui);font-size:.9rem}.agreement-list summary{cursor:pointer;color:var(--text-primary)}.agreement-list .agreement-terms{margin-top:var(--space-2)}.agreement-list .chip{color:var(--text-primary);background:var(--bg-surface)}.ngram-demo{font-family:var(--font-ui);font-size:.9rem;margin:var(--space-4) 0}.ngram-label{font-size:.82rem;font-weight:700;color:var(--text-secondary)}.ngram-source{margin:0 0 var(--space-3);color:var(--text-secondary)}.ngram-texts{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:var(--space-3)}.ngram-text{display:flex;flex-direction:column;gap:var(--space-1)}.ngram-text select,.ngram-text textarea{font:inherit;padding:.3rem .6rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface);color:var(--text-primary)}.ngram-text textarea{resize:vertical;line-height:1.4}.ngram-controls{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-5);margin:var(--space-4) 0 var(--space-3)}.ngram-choice{display:inline-flex;flex-wrap:wrap;border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.ngram-choice button{font:inherit;padding:.3rem .75rem;border:0;border-right:1px solid var(--border);background:var(--bg-surface);color:var(--text-primary);cursor:pointer}.ngram-choice button:last-child{border-right:0}.ngram-choice button[aria-checked=true]{background:var(--module-accent);color:var(--text-inverse)}.ngram-rows{border-top:1px solid var(--border-strong);border-bottom:1px solid var(--border-strong);padding:var(--space-2) 0}.ngram-row{display:grid;grid-template-columns:6rem 1fr auto;gap:var(--space-2) var(--space-3);align-items:start;padding:var(--space-2) 0}.ngram-boxes{display:flex;flex-wrap:wrap;gap:3px}.ngram-stat{font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.ngram{display:inline-block;padding:.05rem .35rem;border:1px solid;border-radius:var(--radius-sm);font-family:var(--font-prose);font-style:italic;line-height:1.5}.ngram-chars .ngram-boxes .ngram{font-family:var(--font-mono);font-style:normal;padding:.05rem .25rem}.ngram.ok{background:var(--state-ok-background);border-color:var(--state-ok)}.ngram.miss{background:var(--state-wrong-background);border-color:var(--state-wrong)}.ngram.is-same{outline:2px solid var(--text-primary);outline-offset:1px}.ngram-legend{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-4);color:var(--text-secondary);font-size:.82rem;margin:var(--space-2) 0 var(--space-3)}.ngram-table td,.ngram-table th{font-variant-numeric:tabular-nums}.ngram-table tr.is-current td{font-weight:700}.ngram-score{margin:var(--space-3) 0 0}@media(max-width:40rem){.ngram-row{grid-template-columns:1fr}}.ranking-demo{font-family:var(--font-ui);font-size:.9rem;margin:var(--space-4) 0}.ranking-inputs{display:grid;gap:var(--space-3)}.ranking-outputs{margin-top:var(--space-4)}.ranking-output{display:grid;grid-template-columns:13rem minmax(0,1fr) 1.8rem;gap:var(--space-2);align-items:start;margin:0 0 var(--space-2)}.ranking-output input,.ranking-output textarea{font:inherit;padding:.3rem .6rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface);color:var(--text-primary)}.ranking-output textarea{resize:vertical;line-height:1.4}.ranking-output.is-picked input,.ranking-output.is-picked textarea{border-color:var(--module-accent)}.ranking-remove{font:inherit;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface);color:var(--text-secondary);cursor:pointer;padding:.25rem 0}.ranking-buttons{display:flex;flex-wrap:wrap;gap:var(--space-2)}.ranking-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-4);align-items:start}.ranking-table td,.ranking-table th{font-variant-numeric:tabular-nums}.ranking-table tbody th{text-align:left;font-weight:400}.ranking-rank{color:var(--text-secondary);font-size:.82rem}.ranking-table tr.is-picked th,.ranking-table tr.is-picked td{font-weight:700;color:var(--module-accent)}.ranking-chart{margin:0}.ranking-chart figcaption{font-size:.82rem;font-weight:600;color:var(--text-secondary);margin-bottom:var(--space-1)}.ranking-chart svg{display:block;width:100%;height:auto}.ranking-axis{font-size:10px;fill:var(--text-tertiary)}.ranking-col{font-size:10.5px;font-weight:700;fill:var(--text-primary)}.ranking-col-ref{font-weight:400;fill:var(--text-secondary)}.ranking-line polyline{fill:none;stroke:var(--border-strong);stroke-width:1.6}.ranking-line circle{fill:var(--bg-surface);stroke:var(--border-strong);stroke-width:1.4}.ranking-demo.has-pick .ranking-line:not(.is-picked){opacity:.35}.ranking-line.is-picked polyline{stroke:var(--module-accent);stroke-width:2.6}.ranking-line.is-picked circle{fill:var(--module-accent);stroke:var(--module-accent)}@media(max-width:48rem){.ranking-body,.ranking-output{grid-template-columns:1fr}}.scorer-download{margin-top:var(--space-4)}.p2-mine{font-size:var(--size-prose);margin:var(--space-2) 0}.p2-teams tbody tr.p2-row-mine:nth-child(n) td{background:var(--module-accent-soft, var(--bg-surface-alt));font-weight:600}.mqm-grid tbody tr:nth-child(n) :is(td,th){background:var(--bg-surface)}.mqm-grid tbody tr.mqm-group-band:nth-child(n) :is(td,th){background:color-mix(in srgb,var(--module-accent-soft, var(--bg-surface-alt)) 50%,var(--bg-surface))}.mqm-grid tbody tr.mqm-group-start:not(:first-child)>:is(td,th){border-top:2px solid var(--module-accent, var(--border-strong))}.mqm-grid tbody th[rowspan]{vertical-align:middle}.mqm-short{font:inherit;padding:var(--space-1) var(--space-2);border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg-surface)}.mqm-files{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:var(--space-3);margin:var(--space-3) 0}.mqm-import{margin-top:var(--space-4)}.mqm-tabs{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:var(--space-2) 0}.mqm-tabs [aria-pressed=true]{border-color:var(--module-accent, var(--primary));color:var(--module-accent, var(--primary-text));font-weight:600}.mqm-segments{list-style:none;padding:0;margin:var(--space-3) 0 0}.mqm-seg{margin:var(--space-3) 0;font-size:1rem}.mqm .mqm-seg-head{background:var(--bg-surface-alt);padding:var(--space-1) var(--space-4)}.mqm-seg-num{font-weight:600;color:var(--text-primary)}.mqm-seg-count{color:var(--text-secondary)}.mqm-seg-main{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr)}@media(max-width:45rem){.mqm-seg-main{grid-template-columns:minmax(0,1fr)}}.mqm-texts{padding:var(--space-3) var(--space-4)}.mqm-text{margin:0 0 var(--space-2);font-family:var(--font-prose);font-size:var(--size-prose);line-height:var(--leading-prose)}.mqm-text:last-child{margin-bottom:0}.mqm-text[data-side=source]{color:var(--text-secondary)}.mqm-text[data-side=target]{color:var(--text-primary)}.mqm-seg-body{padding:var(--space-3) var(--space-4);border-left:1px solid var(--border-subtle);font-family:var(--font-ui);font-size:.95rem}@media(max-width:45rem){.mqm-seg-body{border-left:none;border-top:1px solid var(--border-subtle)}}.mqm-seg>.mqm-row{padding:0 var(--space-4)}.mqm-seg>.mqm-row:last-child{padding-bottom:var(--space-3)}.mqm-hl{padding:0 1px;border-radius:2px;color:inherit;border-bottom:2px solid}.mqm-hl[data-cat=accuracy]{background:var(--mqm-accuracy-background);border-color:var(--mqm-accuracy)}.mqm-hl[data-cat=fluency]{background:var(--mqm-fluency-background);border-color:var(--mqm-fluency)}.mqm-hl[data-cat=terminology]{background:var(--mqm-terminology-background);border-color:var(--mqm-terminology)}.mqm-hl[data-cat=style]{background:var(--mqm-style-background);border-color:var(--mqm-style)}.mqm-hl[data-cat=locale]{background:var(--mqm-locale-background);border-color:var(--mqm-locale)}.mqm-hl:is([data-cat=other],[data-cat=source]){background:var(--mqm-other-background);border-color:var(--mqm-other)}.mqm-open,.mqm-cancel{border:none;background:none;padding:0;font:inherit;color:var(--primary-text);cursor:pointer}.mqm-open:hover,.mqm-open:focus-visible{text-decoration:underline}.mqm-hint{display:block;margin-top:var(--space-1);color:var(--text-tertiary)}.mqm-addrow:not([hidden]){margin-top:var(--space-2)}.mqm-seg-body:has(.mqm-addrow:not([hidden])) :is(.mqm-open,.mqm-hint){display:none}.mqm-cancel{color:var(--text-tertiary);font-size:1rem}.mqm-tab-count{display:inline-block;min-width:1.4em;padding:0 var(--space-1);border-radius:999px;background:var(--bg-surface-alt);font-size:.8em;text-align:center}.mqm-tag{font-family:var(--font-ui);font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary)}.mqm-cat{display:inline-block;padding:0 var(--space-2);border-radius:var(--radius-sm);font-family:var(--font-ui);font-size:.85rem;font-weight:600;white-space:nowrap}.mqm-cat[data-cat=accuracy]{color:var(--mqm-accuracy);background:var(--mqm-accuracy-background)}.mqm-cat[data-cat=fluency]{color:var(--mqm-fluency);background:var(--mqm-fluency-background)}.mqm-cat[data-cat=terminology]{color:var(--mqm-terminology);background:var(--mqm-terminology-background)}.mqm-cat[data-cat=style]{color:var(--mqm-style);background:var(--mqm-style-background)}.mqm-cat[data-cat=locale]{color:var(--mqm-locale);background:var(--mqm-locale-background)}.mqm-cat:is([data-cat=other],[data-cat=source]){color:var(--mqm-other);background:var(--mqm-other-background)}.mqm .mqm-errs{list-style:none;padding:0;margin:0 0 var(--space-2);font-family:var(--font-ui);font-size:.85rem}.mqm .mqm-errs li+li{margin-top:var(--space-1)}.mqm-err{display:flex;align-items:baseline;gap:var(--space-2)}.mqm-del{border:none;background:none;color:var(--text-tertiary);cursor:pointer;font-size:1rem}.mqm-del:hover,.mqm-del:focus-visible{color:var(--primary-text)}.mqm-addrow{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center;font-family:var(--font-ui);font-size:.85rem}.mqm-addrow select,.mqm-addrow input{font:inherit;padding:2px var(--space-1);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-surface)}.mqm-addrow input{flex:1 1 10rem}.mqm-addrow [data-f=words]{flex:2 1 16rem}.mqm-err-msg{flex-basis:100%;color:var(--state-wrong);min-height:0}.mqm-err-msg:empty{display:none}.mqm-done{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-3);font-family:var(--font-ui);font-size:.9rem}.mqm-runs{display:grid;gap:var(--space-4);margin-top:var(--space-3)}.mqm-run textarea{width:100%;font:inherit;font-family:var(--font-mono, monospace);font-size:.8rem;padding:var(--space-2);border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg-surface);resize:vertical}.mqm-unread{color:var(--state-wrong)}.mqm-copy{white-space:pre-wrap;font-size:.8rem;padding:var(--space-2);background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-sm);user-select:all}.mqm-table .mqm-sub-row th{font-weight:400;padding-left:var(--space-5)}.mqm-table .mqm-sev-row th{font-style:italic;font-weight:400}.mqm-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-4)}.agreement-pair-more{margin:var(--space-2) 0 0;font-family:var(--font-ui);font-size:.9rem}.pair-columns{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);margin-top:var(--space-4)}.pair-col-both{grid-column:1 / -1}.pair-col-a{--pair: var(--compare-a);--pair-bg: var(--compare-a-background)}.pair-col-b{--pair: var(--compare-b);--pair-bg: var(--compare-b-background)}.pair-col-both{--pair: var(--compare-both);--pair-bg: var(--compare-both-background)}.pair-column h4{color:var(--pair)}.pair-column .agreement-terms .chip{background:var(--pair-bg);border-color:var(--pair)}@media(max-width:40rem){.pair-columns{grid-template-columns:1fr}}.pair-column h4{font-family:var(--font-ui);margin:0 0 var(--space-2)}.pair-downloads{align-items:center}@media(max-width:60rem){.agreement-view{overflow-x:auto}}.schedule th:nth-child(1),.schedule td:nth-child(1):not([colspan]),.schedule th:nth-child(2),.schedule td:nth-child(2){width:1%;white-space:nowrap}.schedule th:nth-child(1),.schedule td:nth-child(1):not([colspan]){text-align:center}.schedule td[colspan]{white-space:normal}.cal{margin:var(--space-6) 0;font-family:var(--font-ui)}.cal-months{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:var(--space-5)}.cal-caption{font-family:var(--font-ui);font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary);margin:0 0 var(--space-2)}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;font-size:.8rem}.cal-dow{text-align:center;color:var(--text-muted);font-size:.68rem;padding-bottom:var(--space-1)}.cal-day{text-align:center;padding:.3rem 0;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--text-tertiary)}.cal-session{border-color:var(--module-accent, var(--primary-ring));color:var(--text-primary);font-weight:600}.cal-eval{background:color-mix(in srgb,var(--evaluation) 22%,var(--evaluation-background));color:var(--text-primary);font-weight:600}.cal-due{color:var(--text-primary);text-decoration:underline;text-decoration-color:var(--evaluation);text-decoration-thickness:2px;text-underline-offset:2px}.cal-off{color:var(--text-muted);text-decoration:line-through}.cal-day.cal-empty{visibility:hidden}.cal-legend{margin-top:var(--space-4);font-size:.8rem;color:var(--text-tertiary)}.cal-legend .cal-day{display:inline-block;min-width:1.5rem;padding:.1rem .3rem;margin:0 .15rem 0 var(--space-4);font-size:.75rem}.cal-legend .cal-day:first-child{margin-left:0}.cal-note{margin-top:var(--space-2)}.cal-day .term-tip{width:14rem;text-align:left;font-weight:400}.cal-tip-line{display:block}.cal-tip-line+.cal-tip-line{margin-top:var(--space-1)}.cal-day.has-tip{cursor:help}.cal-legend .cal-day{cursor:default}.calw-grid{display:grid;grid-template-columns:var(--calw-cols, repeat(7, minmax(0, 1fr)));gap:3px;font-size:.74rem;line-height:1.35}.calw-dow{text-align:center;color:var(--text-muted);font-size:.7rem;padding-bottom:var(--space-1)}.calw-day{min-height:3.6rem;padding:.3rem;border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text-secondary)}.calw-weekend{background:var(--bg-surface-alt)}.calw-date{display:block;color:var(--text-muted);margin-bottom:.2rem}.calw-month{font-size:.66rem;text-transform:uppercase;letter-spacing:.04em}.calw-full{display:none}.prose .calw-entry,.calw-entry{margin:0 0 .25rem;padding:.2rem .3rem;border:1px solid transparent;border-radius:var(--radius-sm)}.calw-entry:is(.cal-session,.cal-eval,.cal-due,.cal-off){font-weight:400;text-decoration:none;color:var(--text-secondary)}.calw-entry strong{color:var(--text-primary);font-weight:600}.calw-entry.cal-session{border-color:var(--module-accent, var(--primary-ring))}.calw-entry.cal-eval{background:color-mix(in srgb,var(--evaluation) 22%,var(--evaluation-background))}.calw-entry.cal-due strong{text-decoration:underline;text-decoration-color:var(--evaluation);text-decoration-thickness:2px;text-underline-offset:2px}.calw-entry.cal-off strong{color:var(--text-muted);font-weight:400}.calw-off .calw-num{text-decoration:line-through}@media(min-width:60rem){.prose-layout :is(.table-wide,.mqm){margin-right:calc(-1 * (var(--margin-col) + var(--space-6)));clear:right}}@media(min-width:60rem){.prose-layout .calw{margin-right:calc(-1 * (var(--margin-col) + var(--space-6)));clear:right}}@media(max-width:40rem){.calw-grid{display:block}.calw-dow,.calw-idle{display:none}.calw-day{min-height:0;margin-bottom:var(--space-2)}.calw-num{display:none}.calw-full{display:inline;font-weight:600;color:var(--text-primary)}}.term{color:inherit;font-weight:600;text-decoration:none;border-bottom:1px dotted transparent;cursor:help;position:relative}.has-tip{position:relative}.has-tip .term-tip{display:none;position:absolute;left:50%;transform:translate(calc(-50% + var(--tip-shift, 0px)));bottom:calc(100% + .4rem);width:20rem;max-width:calc(100vw - 2rem);background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:var(--space-3);font-family:var(--font-ui);font-size:.82rem;line-height:1.5;color:var(--text-secondary);z-index:30}.has-tip:hover .term-tip,.has-tip:focus .term-tip,.has-tip.term-open .term-tip{display:block}.has-tip.term-below .term-tip{bottom:auto;top:calc(100% + .4rem)}.term-tip strong{color:var(--text-primary);display:block;margin-bottom:.15rem}.term:after{content:"ⓘ";font-size:.62em;vertical-align:super;margin-left:.08em;color:var(--primary-ring)}:root{--bracket-w: 3px;--bracket-arm: 16px}.teach-screen :is(.box,.teach-expansion){--bracket-w: 3px;--bracket-arm: 20px}.box:not(.box-summary),.teach-expansion,.card-accent,.gl-card,.bloc,.teach-screen{position:relative;border:0;border-radius:var(--radius-sm)}:where(.box:not(.box-summary),.teach-expansion,.card-accent,.gl-card,.bloc,.teach-screen):before,:where(.box:not(.box-summary),.teach-expansion,.card-accent,.gl-card,.bloc,.teach-screen):after{content:"";position:absolute;pointer-events:none;border:var(--bracket-w) solid var(--bracket);transition:width .35s ease,height .35s ease}:is(.box:not(.box-summary),.teach-expansion):before,:is(.box:not(.box-summary),.teach-expansion):after{top:0;bottom:0;width:var(--bracket-arm)}:is(.box:not(.box-summary),.teach-expansion):before{left:0;border-right:0;border-radius:var(--radius-sm) 0 0 var(--radius-sm)}:is(.box:not(.box-summary),.teach-expansion):after{right:0;border-left:0;border-radius:0 var(--radius-sm) var(--radius-sm) 0}:is(.card-accent,.gl-card,.bloc,.teach-screen):before,:is(.card-accent,.gl-card,.bloc,.teach-screen):after{left:0;right:0;height:var(--bracket-arm)}:is(.card-accent,.gl-card,.bloc,.teach-screen):before{top:0;border-bottom:0;border-radius:var(--radius-sm) var(--radius-sm) 0 0}:is(.card-accent,.gl-card,.bloc,.teach-screen):after{bottom:0;border-top:0;border-radius:0 0 var(--radius-sm) var(--radius-sm)}:is(a.card-accent,.card-linked,.gl-card):is(:hover,:focus-within),.chapter-slot:has(>.next-target:target)>.card{--bracket-arm: 50%}.card-accent{--bracket: var(--module-accent, var(--border-strong))}.card-building,.course-locked,.bloc:not(.card-linked){--bracket: var(--border-strong)}@media(prefers-reduced-motion:reduce){:is(.card-accent,.gl-card,.bloc,.teach-screen):before,:is(.card-accent,.gl-card,.bloc,.teach-screen):after{transition:none}}.nav-strip,.week-group,.teach-notes,.print-controls{border:0;border-top:var(--bracket-w) solid var(--bracket);border-bottom:var(--bracket-w) solid var(--bracket);border-radius:0}.box{--bracket: var(--callout);background:var(--callout-background);border-radius:var(--radius-sm);padding:var(--space-4) calc(var(--space-5) + var(--bracket-w));margin:var(--space-5) 0;font-size:.95em}.box-definition{display:flow-root}.box-title{font-family:var(--font-ui);font-weight:600;font-size:.88rem;margin-bottom:var(--space-2);color:var(--callout)}.box p:last-child{margin-bottom:0}.def-refs,.def-refs a{color:var(--text-muted)}.def-refs{font-size:.85em}.box-further{--bracket: var(--going-further);background:var(--going-further-background)}.box-further .box-title{color:var(--going-further)}.box-eval{--bracket: var(--evaluation);background:var(--evaluation-background)}.box-eval .box-title{color:var(--evaluation)}.box-eval ul{margin:0;padding-left:1.2rem}.box-eval li+li{margin-top:var(--space-1)}.box-title:before{content:"";display:inline-block;width:.95em;height:.95em;margin-right:.45em;vertical-align:-.12em;background:currentColor;-webkit-mask:var(--box-icon) center / contain no-repeat;mask:var(--box-icon) center / contain no-repeat}.box{--box-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M8 0a8 8 0 1 0 0 16A8 8 0 0 0 8 0zm0 1.6a6.4 6.4 0 1 1 0 12.8A6.4 6.4 0 0 1 8 1.6z'/><circle cx='8' cy='4.7' r='1.05'/><rect x='7.2' y='6.7' width='1.6' height='5.3' rx='.8'/></svg>")}.box-summary{--box-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M8 0l2 6 6 2-6 2-2 6-2-6-6-2 6-2z'/></svg>")}.box-definition{--box-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M1.2 2.4c2-.9 4-.9 6 .2v11c-2-1-4-1-6-.2zM14.8 2.4c-2-.9-4-.9-6 .2v11c2-1 4-1 6-.2z'/></svg>")}.box-further{--box-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M8 .8a5.2 5.2 0 0 0-2.9 9.5c.5.4.9 1 .9 1.7h4c0-.7.4-1.3.9-1.7A5.2 5.2 0 0 0 8 .8z'/><rect x='6.1' y='13' width='3.8' height='1.1' rx='.55'/><rect x='6.7' y='14.8' width='2.6' height='1.1' rx='.55'/></svg>")}.box-eval{--box-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M6 .8h4v1.4h2.8a1 1 0 0 1 1 1v11a1 1 0 0 1-1 1H3.2a1 1 0 0 1-1-1v-11a1 1 0 0 1 1-1H6zM6.9 11.4 4.4 8.9l1-1 1.5 1.5 3.7-3.7 1 1z'/></svg>")}.box-definition{--bracket: var(--definition);background:var(--definition-background)}.box-definition .box-title{color:var(--definition)}.box-summary{border:2px solid var(--key-points);background:var(--key-points-background);border-radius:var(--radius-sm);padding:var(--space-4) var(--space-5)}.box-summary .box-title{color:var(--key-points)}.prompt-example{border:1px solid var(--border);border-radius:var(--radius-lg);margin:var(--space-5) 0;overflow:hidden;font-family:var(--font-ui);font-size:.9rem;background:var(--bg-surface)}.prompt-example .pe-head{padding:var(--space-2) var(--space-4);background:var(--bg-surface-alt);border-bottom:1px solid var(--border-subtle);font-size:.75rem;color:var(--text-muted);display:flex;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.prompt-example .pe-turns{max-height:34rem;overflow-y:auto}.prompt-example .pe-scroll-hint{display:none;color:var(--primary-text)}.prompt-example.pe-scrolls .pe-scroll-hint{display:inline}.prompt-example.pe-scrolls .pe-turns{box-shadow:inset 0 -14px 12px -12px var(--border-strong)}.prompt-example .pe-caption{margin:0;padding:var(--space-2) var(--space-4);border-top:1px solid var(--border-subtle)}.print-doc .prompt-example .pe-scroll-hint{display:none}.prompt-example .pe-user,.prompt-example .pe-model{padding:var(--space-3) var(--space-4)}.prompt-example .pe-user{background:var(--bg-surface-alt)}.prompt-example .pe-user+.pe-model,.prompt-example .pe-model+.pe-user{border-top:1px solid var(--border-subtle)}.prompt-example table{font-size:.85rem;margin:var(--space-2) 0}.prompt-example .pe-user .pe-label{color:var(--primary-text)}.prompt-example p:last-child{margin-bottom:0}.rex,.mqm-seg{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface);margin:var(--space-5) 0;font-family:var(--font-ui);font-size:.9rem;overflow:hidden}.rex-head,.mqm-seg-head{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-3);flex-wrap:wrap;padding:var(--space-2) var(--space-4);background:var(--module-accent-soft, var(--bg-surface-alt));border-bottom:1px solid var(--border-subtle)}.rex.rex-done{border-color:var(--state-ok);box-shadow:0 0 0 1px var(--state-ok)}.rex-done .rex-head{background:var(--state-ok-background)}.rex-name{font-weight:600;color:var(--text-primary)}.rex-meta{display:flex;gap:var(--space-2);align-items:baseline}.rex-level{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.rex-status{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;border:1px solid var(--border);border-radius:999px;padding:.05rem .55rem;color:var(--text-tertiary);background:var(--bg-surface)}.rex-done .rex-status{color:var(--state-ok);border-color:var(--state-ok);background:var(--state-ok-background)}.rex-tried .rex-status{color:var(--state-partial);border-color:var(--state-partial);background:var(--state-partial-background)}.rex-status-done,.rex-status-tried,.rex-done .rex-status-todo,.rex-tried .rex-status-todo{display:none}.rex-done .rex-status-done,.rex-tried .rex-status-tried{display:inline}.rex-body{padding:var(--space-3) var(--space-4) var(--space-4)}.rex-desc{margin-bottom:var(--space-3)}.rex-desc p{margin:0 0 var(--space-2)}.rex-desc p:last-child{margin-bottom:0}.prompt-example .pe-label,.rex-label,.rex-sub-title{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:var(--space-1)}.rex-text{font-family:var(--font-mono);font-size:.85rem;line-height:1.6;background:var(--bg-base);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);margin:0 0 var(--space-3);white-space:pre-wrap;overflow-wrap:break-word}.rex-match{background:var(--module-accent-soft, var(--bg-hover));box-shadow:inset 0 0 0 1px var(--module-accent, var(--border-strong));border-radius:2px}.rex-match-empty{color:var(--module-accent, var(--primary));font-weight:700}.rex-expected{margin-bottom:var(--space-3);line-height:1.9}.rex-label-inline{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-right:var(--space-1)}.rex-chip{background:var(--bg-base);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:.05rem .35rem;font-size:.85em}.rex-ws{color:var(--text-muted)}.rex-more,.rex-legend{font-size:.78rem;color:var(--text-muted);margin-left:var(--space-1)}.rex-more{font-family:inherit;background:none;border:0;padding:0;cursor:pointer;color:var(--primary-text);text-decoration:underline dotted;text-underline-offset:2px}.rex-more:hover,.rex-more:focus-visible{text-decoration-style:solid}@media print{.rex-rest[hidden]{display:inline!important}.rex-more{display:none}}.rex-legend{display:block;line-height:1.4}.rex-input-row{display:flex;gap:var(--space-2);flex-wrap:wrap;align-items:stretch}.rex-delims{flex:1;min-width:12rem;display:flex;align-items:center;font-family:var(--font-mono);background:var(--bg-base);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:0 var(--space-2)}.rex-delims:focus-within{border-color:var(--primary-ring);box-shadow:0 0 0 2px var(--primary-soft)}.rex-delim{color:var(--text-muted)}.rex-chip .rex-delim{padding:0 .25em}.rex-flags{color:var(--text-tertiary);font-size:.85em}.rex-input{flex:1;border:none;outline:none;background:transparent;font-family:var(--font-mono);font-size:.9rem;padding:var(--space-2) var(--space-1);color:var(--text-primary)}.sa-input{flex:1;min-width:10rem;max-width:20rem;background:var(--bg-base);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:var(--space-2);font-size:.9rem;color:var(--text-primary)}.sa-input:focus{outline:none;border-color:var(--primary-ring);box-shadow:0 0 0 2px var(--primary-soft)}.rex-btn{font-family:var(--font-ui);font-size:.82rem;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text-secondary);padding:var(--space-1) var(--space-3);cursor:pointer}.rex-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.rex-btn:disabled{opacity:.45;cursor:not-allowed}.rex-check{border-color:var(--primary-ring);color:var(--primary-text);font-weight:600}.rex-check:hover:not(:disabled){background:var(--primary-soft);color:var(--primary-hover)}.rex-counter{font-size:.8rem;color:var(--text-tertiary);margin-top:var(--space-1);min-height:1.2em}.rex-invalid{color:var(--state-wrong)}.rex-buttons{display:flex;gap:var(--space-2);align-items:center;flex-wrap:wrap;margin-top:var(--space-2)}.rex-attempts{font-size:.78rem;color:var(--text-muted);margin-left:auto}.rex-feedback{border-radius:var(--radius-sm);font-size:.88rem}.rex-feedback.rex-ok,.rex-feedback.rex-err{margin-top:var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid}.rex-feedback.rex-ok{border-color:var(--state-ok);background:var(--state-ok-background)}.rex-feedback.rex-err{border-color:var(--state-wrong);background:var(--state-wrong-background)}.rex-feedback p{margin:0}.rex-feedback ul{margin:var(--space-1) 0 0;padding-left:1.2rem}.rex-feedback li+li{margin-top:var(--space-1)}.rex-hints,.rex-solution{margin-top:var(--space-3)}.rex-hints:empty,.rex-solution:empty{display:none}.rex-hints ul{margin:0;padding-left:1.2rem}.rex-hints li+li{margin-top:var(--space-1)}.rex-more-hints{margin:var(--space-1) 0 0;font-size:.78rem;color:var(--text-muted)}.rex-solution-pattern{margin:0 0 var(--space-2);font-size:1rem}.rex-explanation p{margin:0 0 var(--space-2)}.rex-explanation p:last-child{margin-bottom:0}.mcq-question{margin-bottom:var(--space-3)}.mcq-question mark{background:var(--module-accent-soft, var(--bg-hover));box-shadow:inset 0 0 0 1px var(--module-accent, var(--border-strong));border-radius:2px;color:inherit;padding:0 .1em}.mcq-options{display:flex;flex-direction:column;gap:var(--space-1);margin-bottom:var(--space-2)}.mcq-option{display:flex;gap:var(--space-2);align-items:baseline;cursor:pointer}.mcq-option input{accent-color:var(--primary)}.mcq-letter{color:var(--text-muted);font-size:.85em}.mcq-solution{margin-top:var(--space-3);font-size:.88rem}.mcq-solution summary{cursor:pointer;color:var(--text-tertiary)}.mcq-solution>div{margin-top:var(--space-2)}.zoom-dialog{border:none;background:none;padding:0;margin:0;width:100vw;height:100dvh;max-width:none;max-height:none;overflow:hidden}.zoom-dialog::backdrop{background:#261e18b8}.zoom-stage{width:100%;height:100%;overflow:auto;display:flex;padding:var(--space-6) var(--space-3) var(--space-3);box-sizing:border-box}.zoom-stage>:is(img,svg){display:block;margin:auto;flex:none;height:auto;max-width:none;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface);padding:var(--space-3);box-sizing:border-box}.zoom-close{position:fixed;top:var(--space-2);right:var(--space-2);width:2.5rem;height:2.5rem;border:1px solid var(--border);border-radius:50%;background:var(--bg-surface);color:var(--text-primary);font-size:1.5rem;line-height:1;cursor:pointer}figure.fig>img{cursor:zoom-in}figure.fig{position:relative}.fig-zoom-btn{position:absolute;top:var(--space-2);right:var(--space-2);display:grid;place-items:center;width:2rem;height:2rem;padding:0;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text-secondary);cursor:zoom-in;opacity:0;transition:opacity .15s}figure.fig:hover .fig-zoom-btn,.fig-zoom-btn:focus-visible{opacity:1}@media(hover:none){.fig-zoom-btn{opacity:.92}}.fig-zoom-btn:hover{color:var(--primary-text);border-color:var(--border-strong)}.teach-screen .fig-zoom-btn,.side-figure .fig-zoom-btn{display:none}figure.fig{margin:var(--space-5) 0}figure.fig .fig-placeholder{border:1px dashed var(--border-strong);border-radius:var(--radius-md);background:var(--bg-surface);color:var(--text-muted);font-family:var(--font-ui);font-size:.85rem;display:flex;align-items:center;justify-content:center;min-height:10rem;text-align:center;padding:var(--space-4)}figure.fig img{display:block;max-width:100%;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface);padding:var(--space-4)}figure.fig figcaption,figure.table-fig figcaption,.prompt-example .pe-caption{font-family:var(--font-ui);font-size:.82rem;color:var(--text-tertiary);margin-top:var(--space-2)}figure.fig .fig-number{font-weight:600;color:var(--text-secondary)}figure.fig .fig-build-svg{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface);padding:var(--space-4)}figure.fig .fig-build[data-current] .fig-build-svg{cursor:pointer}figure.fig .fig-build-svg svg{display:block;width:100%;height:auto}figure.fig .fig-build-cue{display:none;font-family:var(--font-ui);font-size:.8rem;color:var(--text-tertiary);margin:var(--space-3) 0 0}figure.fig .fig-build-cue b{color:var(--primary-text)}figure.fig .fig-build-next{font:inherit;color:var(--primary-text);background:none;border:0;border-radius:var(--radius-sm);padding:.15rem .35rem;margin:-.15rem -.35rem;cursor:pointer;text-align:left}figure.fig .fig-build-next:hover{background:var(--bg-hover)}figure.fig .fig-build[data-current] .fig-build-cue{display:block}figure.fig .fig-build[data-current] .fig-steps{margin-top:var(--space-2)}figure.fig .fig-steps{list-style:none;counter-reset:fig-step;margin:var(--space-3) 0 0;padding:0;display:grid;gap:2px}figure.fig .fig-steps button{counter-increment:fig-step;display:flex;align-items:baseline;gap:var(--space-2);width:100%;text-align:left;font-family:var(--font-ui);font-size:.86rem;line-height:1.4;color:var(--text-secondary);background:none;border:0;border-radius:var(--radius-sm);padding:.3rem .5rem;cursor:pointer}figure.fig .fig-steps button:before{content:counter(fig-step);flex:none;width:1.35rem;height:1.35rem;display:grid;place-items:center;border-radius:50%;border:1px solid var(--border-strong);font-size:.72rem;font-variant-numeric:tabular-nums;color:var(--text-tertiary)}figure.fig .fig-steps button:hover{background:var(--bg-hover)}figure.fig .fig-steps button[aria-current]{color:var(--text-primary);font-weight:600}figure.fig .fig-steps button[aria-current]:before{background:var(--module-accent, var(--primary));border-color:var(--module-accent, var(--primary));color:var(--text-inverse)}figure.fig .fig-build[data-current] [data-step]{transition:opacity .38s ease var(--wait, 0s),transform .95s ease var(--wait, 0s)}@media(prefers-reduced-motion:reduce){figure.fig .fig-build[data-current] [data-step]{transition:none}}figure.fig .fig-build[data-current] [data-step].is-later{opacity:0;transform:var(--from, none);transition-delay:0s}.hero{text-align:center;padding:var(--space-8) 0 var(--space-6)}.hero h1{font-size:2.4rem;margin-bottom:var(--space-3)}.hero .tagline{color:var(--text-tertiary);max-width:38rem;margin:0 auto var(--space-6)}.profile-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:var(--space-4);max-width:52rem;margin:0 auto;text-align:left}.profile-card>button{width:100%;font:inherit;text-align:left;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-5);cursor:pointer;color:var(--text-secondary);box-shadow:var(--shadow-sm)}.profile-card button:hover{border-color:var(--primary-ring);box-shadow:var(--shadow-md)}.profile-card h3{margin-bottom:var(--space-2)}.profile-card .pc-note{font-size:.82rem;color:var(--text-muted)}.password-row{display:flex;gap:var(--space-2);margin-top:var(--space-3)}.password-row input{flex:1;min-width:0;font:inherit;padding:var(--space-2) var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--bg-surface);color:var(--text-primary)}.password-row input:focus{outline:none;box-shadow:0 0 0 2px var(--bg-surface),0 0 0 4px var(--primary-ring)}.btn{font:inherit;font-family:var(--font-ui);display:inline-block;background:var(--primary);color:var(--text-inverse);border:none;border-radius:var(--radius-md);padding:var(--space-2) var(--space-4);text-decoration:none;cursor:pointer}.btn:hover{background:var(--primary-hover)}.btn-ghost{background:none;color:var(--primary-text);border:1px solid var(--border)}.btn-ghost:hover{background:var(--bg-hover);color:var(--primary-text)}.title-row{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-4);margin-bottom:var(--space-4)}.title-row>:is(h1,h2){margin-bottom:0}.list-filter{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:var(--space-5) 0 var(--space-4);font-family:var(--font-ui)}.list-filter input,.list-filter select{font:inherit;font-size:.88rem;padding:.3rem .7rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface);color:var(--text-primary)}.list-filter input{flex:1;min-width:12rem}.gl-az{display:flex;flex-wrap:wrap;gap:.2rem;font-family:var(--font-ui);font-size:.85rem;margin-bottom:var(--space-4)}.gl-az a{display:inline-block;min-width:1.5rem;text-align:center;padding:.15rem .25rem;border-radius:var(--radius-sm);text-decoration:none}.gl-az a:hover{background:var(--bg-hover)}.list-entry{margin-bottom:var(--space-4);scroll-margin-top:5rem}.list-entry .chip-row{margin:.25rem 0 .35rem}.list-empty{color:var(--text-muted);font-style:italic}.gl-footnote{font-family:var(--font-ui);font-size:.8rem;color:var(--text-tertiary);margin:var(--space-4) 0 0;padding-top:var(--space-3);border-top:1px dotted var(--border-subtle)}.map-clusters{display:grid;grid-template-columns:repeat(auto-fill,minmax(19rem,1fr));gap:var(--space-4)}.map-cluster{background:var(--bg-surface);padding:var(--space-4)}.map-cluster h3{font-size:.95rem;font-family:var(--font-ui);display:flex;gap:var(--space-2);align-items:baseline}.map-cluster h3 a{color:var(--module-accent, var(--text-primary));text-decoration:none}.map-cluster h3 a:hover{text-decoration:underline}.graph-wrap{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-4);margin:var(--space-5) 0;overflow-x:auto}.graph-wrap svg text{font-family:var(--font-ui)}.graph-wrap svg a{text-decoration:none}.graph-wrap svg [data-node],.graph-wrap svg [data-edge]{transition:opacity .15s ease}.graph-wrap svg.focus [data-node]:not(.hl){opacity:.15}.graph-wrap svg.focus [data-edge]:not(.hl){opacity:.06}.graph-wrap svg [data-edge].hl{stroke:var(--primary);opacity:1}.graph-wrap svg .graph-node{fill:var(--module-accent-soft);stroke:var(--module-accent)}.graph-wrap svg .graph-label{fill:var(--text-primary)}.graph-wrap svg [data-node].hl text{font-weight:600}.pal{margin-top:var(--space-8);font-family:var(--font-ui)}.pal h3{font-size:.95rem;margin:var(--space-5) 0 var(--space-2);color:var(--text-secondary)}.pal-roles{list-style:none;margin:0;padding:0;font-size:.82rem}.pal-roles li{display:grid;grid-template-columns:3.4rem 13rem 1fr;align-items:center;gap:var(--space-3);padding:var(--space-1) 0;border-bottom:1px solid var(--border-subtle)}.pal-job{color:var(--text-tertiary)}.pal-pair{display:flex;gap:2px}.pal-chip{flex:1;height:1.1rem;border-radius:var(--radius-sm);border:1px solid var(--border)}.pal-hues{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--space-3);font-size:.78rem}.pal-hues li{display:flex;align-items:center;gap:var(--space-1)}.pal-swatch{width:1.4rem;height:1.4rem;border-radius:var(--radius-sm);border:1px solid var(--border)}.pal-part{margin-bottom:var(--space-3)}.pal-part-name{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary);margin-bottom:var(--space-1)}.pal-part-name em{text-transform:none;letter-spacing:0;color:var(--text-muted)}.pal-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:var(--space-4)}.pal-options .box{margin:0}.path-group{margin-bottom:var(--space-6)}.path-group h2{font-size:1.25rem;border-bottom:1px solid var(--border-subtle);padding-bottom:var(--space-2)}.path-steps li{display:flex;gap:var(--space-3);align-items:baseline;padding:var(--space-2) 0;border-bottom:1px dotted var(--border-subtle);flex-wrap:wrap}.path-steps li:last-child{border-bottom:none}.step-note{font-size:.82rem;color:var(--text-muted);font-family:var(--font-ui)}.def-notes{margin-top:var(--space-4);font-size:.92rem;color:var(--text-secondary)}.def-context{float:right;margin:-.1em 0 var(--space-1) var(--space-3);padding:.15em .5em;border-radius:var(--radius-sm);background:var(--definition);color:var(--text-inverse);font-size:.7rem;font-weight:600;letter-spacing:.06em}.gl-card-context{float:right;margin:0 0 var(--space-1) var(--space-2)}.tip-context{display:block;font-size:.78rem;color:var(--text-tertiary)}.gate{max-width:26rem;margin:var(--space-8) auto;text-align:center}.blocs{list-style:none;margin:var(--space-5) 0;padding:0;display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(16rem,1fr))}.bloc{--bracket: var(--module-accent, var(--primary));background:var(--bg-surface);padding:var(--space-4) var(--space-5) var(--space-5)}.bloc-head{display:flex;align-items:baseline;gap:var(--space-3);margin:0 0 var(--space-2);font-family:var(--font-ui)}.bloc-n{font-size:1.6rem;font-weight:700;line-height:1;color:var(--module-accent, var(--primary))}.bloc-when{font-size:.85rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary)}.bloc-name{font-family:var(--font-prose);font-size:1.15rem;line-height:1.3;margin:0 0 var(--space-3);color:var(--text-primary)}.bloc-line{margin:0 0 var(--space-2);font-size:.95rem;line-height:var(--leading-prose);color:var(--text-secondary)}.bloc-line:last-child{margin-bottom:0}.bloc-label{font-family:var(--font-ui);font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--module-accent, var(--primary));margin-right:var(--space-2)}.blocs-stack{grid-template-columns:minmax(0,1fr)}.blocs-aside-head{margin:var(--space-5) 0 0;font-size:1.1rem}.blocs-aside-head+.blocs-stack{margin-top:var(--space-3)}details.bloc-expand{padding:0}details.bloc-expand>summary{list-style:none;cursor:pointer;padding:var(--space-4) var(--space-5) var(--space-5)}details.bloc-expand>summary::-webkit-details-marker{display:none}details.bloc-expand>summary:hover .bloc-name,details.bloc-expand>summary:focus-visible .bloc-name{color:var(--module-accent, var(--primary-text))}.bloc-toggle{margin-left:auto;align-self:center;font-family:var(--font-ui);font-size:.8rem;font-weight:600;letter-spacing:0;text-transform:none;color:var(--module-accent, var(--primary-text));background:var(--module-accent-soft, var(--primary-soft));border-radius:var(--radius-sm);padding:.2rem .6rem;white-space:nowrap}.bloc-suite-mark{font-weight:400;color:var(--text-tertiary)}.bloc-toggle-open{display:none}details.bloc-expand[open]>summary .bloc-toggle-closed{display:none}details.bloc-expand[open]>summary .bloc-toggle-open{display:inline}.bloc-body{padding:0 var(--space-5) var(--space-5);border-top:1px solid var(--border);margin-top:0}.bloc-body>:first-child{margin-top:var(--space-4)}.bloc-body .box-eval{margin-bottom:0}body.teach-body{background:var(--bg-base)}.teach-deck{padding-bottom:var(--space-8)}.teach-layout{display:grid;grid-template-columns:minmax(0,1fr) var(--margin-col);gap:var(--space-6);align-items:start;max-width:96rem;margin:0 auto;padding:var(--space-5) var(--space-5) 0}.teach-layout .page-side{padding-top:var(--space-4)}@media(max-width:76rem){.teach-layout{grid-template-columns:1fr}.teach-layout .page-side{display:none}}.teach-screen{position:relative;min-height:52dvh;display:flex;flex-direction:column;justify-content:center;margin:0 0 var(--space-6);padding:var(--space-6) clamp(var(--space-5),4vw,var(--space-8));background:var(--bg-surface);--bracket: var(--module-accent);--bracket-w: 4px;--bracket-arm: 28px;box-shadow:var(--shadow-md);animation:teach-in .28s ease both}@keyframes teach-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.teach-screen{animation:none}}.teach-statement{font-family:var(--font-prose);font-size:calc(clamp(1.6rem,3.2vw,2.6rem) * var(--teach-fit, 1));line-height:1.4;color:var(--text-primary);margin:0 0 var(--space-5)}.teach-term{font:inherit;color:var(--primary-text);background:none;border:none;border-bottom:3px dotted var(--primary-ring);cursor:pointer;padding:0}.teach-term[aria-expanded=true]{background:var(--primary-soft)}.teach-page-label{font-family:var(--font-ui);font-size:.9rem;text-transform:uppercase;letter-spacing:.06em;color:var(--module-accent);margin:0 0 var(--space-5)}.teach-points{margin:0 0 var(--space-5);padding-left:1.2rem}.teach-points li{margin-bottom:var(--space-4)}.teach-points li::marker{color:var(--module-accent)}.teach-screen-page .teach-statement{font-size:calc(clamp(1.1rem,2.1vw,1.7rem) * var(--teach-fit, 1))}.teach-screen-authored>:is(h2,h3){font-family:var(--font-prose);font-size:calc(clamp(1.9rem,3.6vw,3rem) * var(--teach-fit, 1));line-height:1.2;margin:0 0 var(--space-5);color:var(--text-primary)}.teach-screen-authored>:is(h2,h3):after{content:"";display:block;width:3.5rem;margin-top:var(--space-3);border-top:3px solid var(--module-accent)}.teach-screen-authored>p,.teach-screen-authored>blockquote>p,.teach-screen-authored>:is(ul,ol)>li{font-family:var(--font-prose);font-size:calc(clamp(1.3rem,2.6vw,2.1rem) * var(--teach-fit, 1));line-height:1.45;color:var(--text-secondary);margin:0 0 var(--space-4)}.teach-screen-authored>:is(ul,ol){margin:0 0 var(--space-4);padding-left:1.4rem}.teach-screen-authored>:is(ul,ol)>li::marker{color:var(--module-accent)}.teach-screen-authored>blockquote{margin:0 0 var(--space-4);padding-left:var(--space-5);border-left:3px solid var(--module-accent)}.teach-marked:after{content:"";position:absolute;right:var(--space-5);bottom:var(--space-5);width:5.5rem;height:5.5rem;background:var(--screen-mark) no-repeat right bottom / contain;opacity:.65;pointer-events:none}.teach-boxed .box{max-width:74rem;margin:0 auto;padding:var(--space-6) var(--space-8)}.teach-boxed .box-title{font-size:calc(clamp(1.5rem,2.4vw,2rem) * var(--teach-fit, 1));letter-spacing:.04em;margin-bottom:var(--space-4)}.teach-boxed .def-context{font-size:.42em}.teach-boxed .box :is(p,li){font-family:var(--font-prose);font-size:calc(clamp(1.2rem,1.9vw,1.6rem) * var(--teach-fit, 1));line-height:1.45}.teach-screen .box-definition :is(.def-notes,.step-note){display:none}.teach-screen .box-summary{font-size:inherit;padding:var(--space-5) var(--space-6)}.teach-screen .box-summary :is(p,li){font-family:var(--font-prose);font-size:calc(clamp(1.1rem,1.6vw,1.45rem) * var(--teach-fit, 1));line-height:1.45;margin-bottom:var(--space-3)}.teach-screen .box-summary .box-title{font-size:calc(1rem * var(--teach-fit, 1))}.teach-screen-authored strong{color:var(--module-accent);font-weight:700}.teach-title{background:var(--module-accent-soft);text-align:center;align-items:center}.teach-title>:is(h2,h3){font-size:calc(clamp(2.4rem,5vw,4rem) * var(--teach-fit, 1))}.teach-title>:is(h2,h3):after{margin-left:auto;margin-right:auto;width:5rem}.teach-contents-list{margin:var(--space-4) 0 0;padding-left:1.6em;max-width:60rem;font-size:calc(clamp(1.2rem,1.9vw,1.65rem) * var(--teach-fit, 1))}.teach-contents-list>li{margin-bottom:var(--space-3);break-inside:avoid}.teach-contents-list:has(li:nth-child(7)){columns:2;column-gap:calc(1.6em + var(--space-6))}.teach-contents-nested,.teach-contents-nested:has(li:nth-child(7)){columns:auto}.teach-contents-nested>.teach-contents-other{color:var(--text-tertiary)}.teach-contents-nested>.teach-contents-current{font-weight:600;color:var(--module-accent)}.teach-contents-nested>.teach-contents-current>ol{margin:var(--space-3) 0 var(--space-2);padding-left:1.6em;font-weight:400;color:var(--text-primary);list-style:lower-alpha}.teach-contents-nested>.teach-contents-current>ol>li{margin-bottom:var(--space-2)}.teach-question{text-align:center;align-items:center}.teach-question>ul{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-3);padding:0;margin:var(--space-4) 0 0}.teach-question>ul>li{margin:0;font-family:var(--font-ui);font-size:calc(clamp(1rem,1.7vw,1.4rem) * var(--teach-fit, 1));color:var(--text-secondary);background:var(--module-accent-soft);border:1px solid var(--module-accent);border-radius:999px;padding:var(--space-2) var(--space-5)}.teach-question>ul>li{animation:teach-in .3s ease both}.teach-question>ul>li:nth-child(2){animation-delay:.05s}.teach-question>ul>li:nth-child(3){animation-delay:.1s}.teach-question>ul>li:nth-child(4){animation-delay:.15s}.teach-question>ul>li:nth-child(5){animation-delay:.2s}.teach-question>ul>li:nth-child(n+6){animation-delay:.25s}@media(prefers-reduced-motion:reduce){.teach-question>ul>li{animation:none}}.teach-screen-authored>blockquote:before{content:"“";display:block;font-family:var(--font-prose);font-size:3rem;line-height:.6;color:var(--module-accent)}.teach-title .teach-expansion,.teach-question .teach-expansion{text-align:left}.teach-question>:is(h2,h3){font-size:calc(clamp(2.2rem,4.6vw,3.4rem) * var(--teach-fit, 1))}.teach-question>:is(h2,h3):after{margin-left:auto;margin-right:auto}.teach-question>p{font-size:calc(clamp(1.2rem,2.2vw,1.8rem) * var(--teach-fit, 1))}.teach-dense{justify-content:flex-start}.teach-dense.teach-boxed,.teach-dense.teach-figured,.teach-dense:has(>.blocs),.teach-dense:has(>h2+.blocs){justify-content:center}.teach-screen-authored>:is(p,blockquote){max-width:54rem}.teach-title>*,.teach-question>*{margin-inline:auto}.teach-dense>h2{font-size:calc(clamp(1.7rem,3vw,2.4rem) * var(--teach-fit, 1))}.teach-screen-authored>h3{font-size:calc(clamp(1.25rem,2vw,1.7rem) * var(--teach-fit, 1));color:var(--module-accent)}.teach-screen-authored>h3:after{width:2rem;border-top-width:2px}.teach-part-of{font-weight:400;font-size:.62em;color:var(--text-tertiary);white-space:nowrap}.teach-dense>p,.teach-dense>blockquote>p,.teach-dense>:is(ul,ol)>li{font-size:calc(clamp(1.2rem,1.9vw,1.65rem) * var(--teach-fit, 1))}.teach-screen .fig{width:100%;margin:0 auto var(--space-5)}.teach-screen:has(.fig~.fig) .fig img{max-height:calc(30vh * var(--teach-fit, 1))}.teach-screen.teach-dense:has(>:is(p:not(.teach-page-label),ul,ol)):has(.fig) .fig img{max-height:calc(24vh * var(--teach-fit, 1))}.teach-screen.teach-dense:has(>:is(p:not(.teach-page-label),ul,ol)):has(.fig~.fig) .fig img{max-height:calc(22vh * var(--teach-fit, 1))}.teach-screen .fig img{width:100%;margin-inline:auto;height:auto;max-height:calc(50vh * var(--teach-fit, 1));object-fit:contain;border:none;padding:0;background:none}.fig img[style*=--fig-w]{width:var(--fig-w);max-width:100%}.teach-screen .fig-projected img[style*=--fig-w]{width:calc(var(--fig-w) * 1.2 * var(--teach-fit, 1))}.teach-screen .fig figcaption{text-align:center}.teach-screen :is(.fig,.teach-figure,.teach-brief-figures) figcaption{font-size:calc(clamp(.85rem,1.05vw,1rem) * var(--teach-fit, 1))}.teach-screen .cal-note{display:none}.teach-screen .cal-months{grid-template-columns:repeat(2,minmax(0,1fr));max-width:78%;margin-inline:auto;gap:var(--space-6)}.teach-screen .cal-grid{font-size:calc(1rem * var(--teach-fit, 1))}.teach-screen .cal-caption{font-size:calc(.9rem * var(--teach-fit, 1))}.teach-screen .calw-grid{font-size:calc(1.05rem * var(--teach-fit, 1))}.teach-screen .calw-dow{font-size:calc(.9rem * var(--teach-fit, 1))}.teach-screen .calw-month{font-size:calc(.8rem * var(--teach-fit, 1))}body.teach-audience .has-tip .term-tip{font-size:calc(1.6rem * var(--teach-fit, 1));width:34rem;padding:var(--space-5);border-radius:var(--radius-lg)}body.teach-audience .cal-day .term-tip{width:30rem}body.teach-audience .tip-context{font-size:.72em}body.teach-audience .cal-tip-line+.cal-tip-line{margin-top:var(--space-2)}.teach-screen :is(table,.data-table){font-size:calc(clamp(.95rem,1.3vw,1.15rem) * var(--teach-fit, 1))}.teach-screen thead th{font-size:.8em}.teach-screen .blocs{grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3)}.teach-screen .bloc{padding:var(--space-3) var(--space-4) var(--space-4)}.teach-screen .blocs:has(>.bloc:only-child){grid-template-columns:1fr}.teach-screen .bloc:only-child{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-3) var(--space-6);align-items:start}.teach-screen .bloc:only-child .bloc-head{grid-column:1 / -1;margin-bottom:0}.teach-screen .bloc:only-child .bloc-name{grid-column:1 / -1;margin-bottom:var(--space-2)}.teach-screen .bloc:only-child .bloc-line{margin-bottom:0}.teach-screen .bloc:only-child{padding:var(--space-5) var(--space-6) var(--space-6)}.teach-screen .bloc:only-child .bloc-n{font-size:calc(clamp(2.2rem,3.4vw,3.2rem) * var(--teach-fit, 1))}.teach-screen .bloc:only-child .bloc-when{font-size:calc(clamp(.95rem,1.2vw,1.15rem) * var(--teach-fit, 1))}.teach-screen .bloc:only-child .bloc-name{font-size:calc(clamp(1.5rem,2.3vw,2.1rem) * var(--teach-fit, 1))}.teach-screen .bloc:only-child .bloc-line{font-size:calc(clamp(1.2rem,1.9vw,1.65rem) * var(--teach-fit, 1))}.teach-screen .bloc:only-child .bloc-label{font-size:calc(clamp(.95rem,1.2vw,1.15rem) * var(--teach-fit, 1))}.teach-screen .bloc-name{margin-bottom:var(--space-2);font-size:calc(1.15rem * var(--teach-fit, 1))}.teach-screen .bloc-line{font-size:calc(.95rem * var(--teach-fit, 1))}.teach-screen .bloc-label{font-size:calc(.78rem * var(--teach-fit, 1))}.teach-expansion{font-family:var(--font-ui);font-size:1.05rem;--bracket: var(--primary-ring);background:var(--primary-soft);padding:var(--space-4) calc(var(--space-5) + var(--bracket-w));margin:0 0 var(--space-4);color:var(--text-secondary)}.teach-expansion strong{color:var(--text-primary)}.teach-expansion :is(p,li){font-family:var(--font-ui);font-size:1.05rem;color:inherit}.teach-figure{width:100%;margin:0 auto;max-width:min(92vw,72rem)}.teach-figure img{display:block;width:100%;height:auto;max-height:calc(62vh * var(--teach-fit, 1));object-fit:contain;border:none;background:none}.teach-figure figcaption{margin-top:var(--space-3);font-family:var(--font-ui);color:var(--text-tertiary);text-align:center}.teach-screen .fig .fig-build-svg svg{max-height:calc(52vh * var(--teach-fit, 1))}.teach-screen .fig .fig-steps button{font-size:calc(1.05rem * var(--teach-fit, 1));padding:calc(.35rem * var(--teach-fit, 1)) .6rem}.teach-screen .fig .fig-steps button:before{width:calc(1.6rem * var(--teach-fit, 1));height:calc(1.6rem * var(--teach-fit, 1));font-size:calc(.85rem * var(--teach-fit, 1))}.teach-screen .fig .fig-build-cue{display:none!important}.teach-progress{position:fixed;left:0;right:0;bottom:0;height:4px;background:var(--border-subtle);z-index:2}.teach-progress span{display:block;height:100%;width:0;background:var(--module-accent);transition:width .28s ease}@media(prefers-reduced-motion:reduce){.teach-progress span{transition:none}}.teach-controls{position:fixed;bottom:var(--space-4);left:50%;transform:translate(-50%);display:flex;gap:var(--space-2);align-items:center;background:var(--bg-surface);border:1px solid var(--border);border-radius:999px;padding:var(--space-2) var(--space-4);font-family:var(--font-ui);font-size:.85rem;color:var(--text-tertiary);box-shadow:var(--shadow-lg);z-index:3}.teach-sectioned-body{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,9fr);gap:var(--space-6);align-items:start}.teach-toc-title{font-family:var(--font-prose);font-size:calc(clamp(1.1rem,1.6vw,1.4rem) * var(--teach-fit, 1));line-height:1.25;color:var(--text-primary);margin:0 0 var(--space-4);padding-bottom:var(--space-3);border-bottom:2px solid var(--module-accent)}.teach-toc{list-style:none;counter-reset:toc;margin:0;padding:0}.teach-toc li{counter-increment:toc;font-family:var(--font-ui);font-size:calc(clamp(.95rem,1.3vw,1.15rem) * var(--teach-fit, 1));line-height:1.3;color:var(--text-tertiary);padding:var(--space-3) var(--space-4);border-left:3px solid transparent}.teach-toc li:before{content:counter(toc) ". ";color:var(--module-accent);font-weight:700}.teach-toc-active{position:relative;background:var(--module-accent-soft);border-left-color:var(--module-accent)!important;border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--text-primary)!important;font-weight:600}.teach-toc-active:after{content:"";position:absolute;top:50%;left:100%;width:0;height:0;border:9px solid transparent;border-left-color:var(--module-accent-soft);transform:translateY(-50%)}.teach-screen-key>h2,.teach-screen-page>h2,.teach-section-body>h2{font-family:var(--font-prose);font-size:calc(clamp(1.5rem,2.6vw,2.1rem) * var(--teach-fit, 1));line-height:1.2;margin:0 0 var(--space-4);color:var(--text-primary)}.teach-screen-key>h2:after,.teach-screen-page>h2:after,.teach-section-body>h2:after{content:"";display:block;width:3.5rem;margin-top:var(--space-3);border-top:3px solid var(--module-accent)}.teach-section-body>p,.teach-section-body>blockquote>p,.teach-section-body>:is(ul,ol)>li{font-family:var(--font-prose);font-size:calc(clamp(1.2rem,1.9vw,1.65rem) * var(--teach-fit, 1));line-height:1.45;color:var(--text-secondary);margin:0 0 var(--space-4)}.teach-section-body>:is(ul,ol){margin:0 0 var(--space-4);padding-left:1.4rem}.teach-section-body>:is(ul,ol)>li::marker{color:var(--module-accent)}.teach-dense>.teach-toc{margin-top:var(--space-4)}.teach-dense>.teach-toc li{padding-block:var(--space-2)}@media(max-width:60rem){.teach-sectioned-body{grid-template-columns:1fr}.teach-toc-active:after{display:none}}.teach-brief-body{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:var(--space-6);align-items:start}.teach-brief-body.teach-brief-wide{grid-template-columns:1fr}.teach-brief .teach-points{margin:0;padding-left:1.3rem}.teach-brief .teach-points li{font-family:var(--font-prose);font-size:calc(clamp(1.2rem,1.9vw,1.65rem) * var(--teach-fit, 1));line-height:1.45;color:var(--text-secondary);margin-bottom:var(--space-4)}.teach-brief-wide .teach-points li{font-size:calc(clamp(1.35rem,2.2vw,1.95rem) * var(--teach-fit, 1))}.teach-brief-body:has(.teach-brief-figures){grid-template-columns:minmax(0,1fr) var(--brief-fig-w, minmax(0, 8fr))}.teach-brief-figures{display:grid;gap:var(--space-4)}.teach-brief-figures figure{margin:0}.teach-brief-figures:has(figure+figure) img{max-height:calc(26vh * var(--teach-fit, 1))}.teach-brief-figures img{display:block;width:100%;height:auto;max-height:calc(40vh * var(--teach-fit, 1));object-fit:contain;object-position:top;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-base)}.teach-brief-figures figcaption{margin-top:var(--space-2);font-family:var(--font-ui);color:var(--text-tertiary)}@media(max-width:60rem){.teach-brief-body{grid-template-columns:1fr}}.teach-screen-authored>:is(ul,ol)>li,.teach-section-body>:is(ul,ol)>li,.teach-brief .teach-points li{margin-bottom:var(--space-3)}.teach-next{margin-top:var(--space-5);border-top:1px solid var(--border);padding-top:var(--space-4)}.teach-next-label{font-family:var(--font-ui);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-tertiary);margin:0 0 var(--space-3)}body.teach-presenting .teach-layout{grid-template-columns:minmax(0,36%) minmax(0,1fr);max-width:none}body.teach-presenting .teach-layout .page-side{display:none}body.teach-presenting .teach-next{margin-top:0;border-top:0;padding-top:0;position:sticky;top:var(--space-4)}body.teach-presenting .teach-next-body{height:calc(100dvh - 9rem);padding:0;font-size:inherit;pointer-events:auto;overflow:auto}.teach-page-frame{width:100%;height:100%;border:0;display:block}.teach-next-body{height:9rem;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-surface);padding:var(--space-3);font-size:.62rem;color:var(--text-secondary);pointer-events:none}.teach-next-body *{font-size:inherit!important;line-height:1.35!important;margin:0 0 .35rem!important;min-height:0!important;max-width:none!important;animation:none!important}.teach-next-body :is(h2,h3){font-weight:700}.teach-next-body :is(h2,h3):after{display:none}.teach-next-body img{max-height:4rem;object-fit:contain}.teach-next-body :is(table,.blocs,.cal-months){display:none}.teach-blocked{position:absolute;bottom:calc(100% + var(--space-2));left:50%;transform:translate(-50%);width:max-content;max-width:90vw;background:var(--state-partial-background);border:1px solid var(--state-partial);border-radius:var(--radius-md);padding:var(--space-2) var(--space-4);color:var(--text-primary)}body.teach-audience :is(.site-header,.site-footer,.teach-margin,.teach-controls,.to-top,.teach-col .lang-unavailable){display:none}body.teach-audience .teach-layout{grid-template-columns:1fr;max-width:none;padding:0}body.teach-audience .teach-deck{padding-bottom:0}body.teach-audience{--teach-audience-gap: clamp(.5rem, 1.4vh, 1.1rem);--teach-measure: 84%}body.teach-audience .teach-screen{min-height:calc(100dvh - 2 * var(--teach-audience-gap) - 10px);margin:var(--teach-audience-gap);padding:clamp(var(--space-6),4vw,var(--space-8)) clamp(var(--space-6),6vw,5rem)}body.teach-audience .teach-screen-authored>:is(p,blockquote){max-width:var(--teach-measure)}body.teach-audience .teach-boxed .box{max-width:92%}body.teach-audience .teach-screen-authored>:is(ul,ol){max-width:var(--teach-measure)}body.teach-audience .teach-screen.teach-wide{padding-left:clamp(var(--space-4),2vw,var(--space-6));padding-right:clamp(var(--space-4),2vw,var(--space-6))}body.teach-audience .teach-wide.teach-screen-authored>:is(p,blockquote,ul,ol){max-width:100%}body.teach-audience .teach-wide .teach-section-body>:is(p,blockquote,ul,ol){max-width:100%}body.teach-audience .teach-wide.teach-boxed .box{max-width:100%}body.teach-audience .teach-screen.teach-column>*{width:100%;max-width:var(--teach-measure);margin-inline:auto}body.teach-audience .teach-wide.teach-column>*{max-width:100%}body.teach-audience .teach-screen.teach-dense:has(>:is(p:not(.teach-page-label),ul,ol)):has(.fig) .fig img{max-height:calc(50vh * var(--teach-fit, 1))}body.teach-audience .teach-screen.teach-dense:has(>:is(p:not(.teach-page-label),ul,ol)):has(.fig~.fig) .fig img{max-height:calc(32vh * var(--teach-fit, 1))}.teach-notes{max-width:34rem;--bracket: var(--module-accent);background:var(--bg-surface);color:var(--text-secondary);padding:var(--space-6);box-shadow:var(--shadow-lg)}.teach-notes::backdrop{background:var(--bg-overlay)}.teach-notes h2{font-family:var(--font-prose);font-size:1.3rem;margin:0 0 var(--space-4);color:var(--text-primary)}.teach-note+.teach-note{margin-top:var(--space-4)}.teach-notes .btn{margin-top:var(--space-5)}.plain-link{color:var(--text-primary);text-decoration:none;border-bottom:1px solid var(--border-strong)}.link-button{font:inherit;background:none;border:none;padding:0;cursor:pointer;color:var(--primary-text);text-decoration:underline;text-decoration-color:var(--primary-underline);text-underline-offset:2px}.link-button:hover{color:var(--primary-hover)}.table-scroll{overflow-x:auto}.rs-table{min-width:58rem}.rs-table th:nth-child(1),.rs-table td:nth-child(1){width:11rem}.rs-table th:nth-child(2),.rs-table td:nth-child(2){width:9rem}.rs-table th:nth-child(4),.rs-table td:nth-child(4){width:5.5rem}.rs-table th:nth-child(5),.rs-table td:nth-child(5){width:6rem}.rs-table th:nth-child(6),.rs-table td:nth-child(6){width:7rem}.rs-table th:nth-child(7),.rs-table td:nth-child(7){width:8.5rem}.rs-title{font-weight:600}.rs-creator{color:var(--text-tertiary)}.rs-lang .step-note{display:block;margin-top:.15rem}.rs-sort{font:inherit;color:inherit;background:none;border:none;padding:0;cursor:pointer;text-transform:inherit;letter-spacing:inherit;text-align:left}.rs-sort:hover{color:var(--primary-text)}.rs-filters td{background:var(--bg-surface-alt);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border)}.rs-filters input,.rs-filters select{font:inherit;font-size:.82rem;width:100%;padding:.2rem .4rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text-primary)}.flag-dialog,.gl-dialog{border:var(--bracket-w) solid var(--module-accent, var(--border-strong));border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text-primary);box-shadow:var(--shadow-lg);padding:var(--space-5) var(--space-6);max-height:85dvh}.flag-dialog::backdrop,.gl-dialog::backdrop{background:var(--bg-overlay)}.flag-dialog{width:min(34rem,calc(100vw - 2rem))}.flag-body{font-family:var(--font-ui)}.flag-body h2{font-size:1.1rem;margin-bottom:var(--space-2)}.flag-mail{font-size:1.15rem;margin:var(--space-4) 0}.flag-address{user-select:all;word-break:break-all}.flag-actions{display:flex;justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-4)}.gl-about{font-family:var(--font-ui);font-size:.9rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface);padding:var(--space-3) var(--space-4);margin:var(--space-4) 0}.gl-about summary{cursor:pointer;font-weight:600;color:var(--text-secondary)}.gl-about dl{margin:var(--space-4) 0 0}.gl-about dt{font-weight:600;color:var(--text-primary);margin-top:var(--space-3)}.gl-about dd{margin:var(--space-1) 0 0;color:var(--text-secondary)}.gl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(20rem,1fr));gap:var(--space-3)}.gl-card{margin-bottom:0;--bracket: var(--module-accent, var(--border-strong));background:var(--bg-surface)}.gl-card-open{font:inherit;display:block;width:100%;text-align:left;background:none;border:none;cursor:pointer;color:inherit;padding:var(--space-3) var(--space-4)}.gl-card-terms{display:block;margin-bottom:var(--space-2)}.gl-term-lead{display:block;font-family:var(--font-prose);font-weight:700;color:var(--text-primary)}.gl-term-other{display:block;font-family:var(--font-ui);font-size:.82rem;color:var(--text-tertiary)}.gl-lang-tag{text-transform:uppercase;letter-spacing:.06em;font-size:.62rem;color:var(--text-muted)}.gl-card-terms .chip-row{margin-top:var(--space-2)}.gl-card-def{display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font-size:.88rem;color:var(--text-secondary)}.gl-dialog{width:min(50rem,calc(100vw - 2rem))}.gl-dialog-close{position:absolute;top:var(--space-3);right:var(--space-4);font:inherit;font-size:1.4rem;line-height:1;background:none;border:none;cursor:pointer;color:var(--text-tertiary)}.gl-dialog-close:hover{color:var(--primary-text)}.gl-dialog-body{overflow-y:auto;max-height:66dvh;padding-right:var(--space-2)}.gl-dialog-foot{font-family:var(--font-ui);font-size:.8rem;margin:var(--space-4) 0 0;padding-top:var(--space-3);border-top:1px solid var(--border-subtle)}.gl-detail-head{padding-right:var(--space-6);margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--border-subtle)}.gl-detail-terms{margin:0}.gl-detail-head .gl-term-lead{font-size:1.3rem}.gl-detail-head .gl-term-other{font-size:.95rem}.gl-detail-head .chip-row{margin-top:var(--space-2)}.gl-detail-body{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(0,1fr);gap:var(--space-5)}.gl-detail-def{margin-top:0}.gl-detail-side{font-family:var(--font-ui);font-size:.82rem;color:var(--text-secondary);border-left:1px solid var(--border-subtle);padding-left:var(--space-4)}.gl-field{margin:0 0 var(--space-4)}.field-label{display:block;font-family:var(--font-ui);font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary);margin-bottom:var(--space-1)}.gl-detail-main .gl-field{font-family:var(--font-ui);font-size:.85rem}.gl-field .chip-row{display:flex;margin-bottom:var(--space-1)}.gl-usage{list-style:none;margin:0;padding:0;font-family:var(--font-ui);font-size:.78rem;line-height:1.4}.gl-usage li+li{margin-top:var(--space-3)}.gl-usage a{text-decoration:none;border-bottom:1px solid transparent}.gl-usage-module{display:block;color:var(--text-secondary)}.gl-usage-intro .gl-usage-module{color:var(--module-accent, var(--text-secondary))}.gl-usage-chapter{display:block;padding-left:var(--space-3);color:var(--text-tertiary)}.gl-usage-chapter+.gl-usage-chapter{margin-top:var(--space-1)}.gl-usage-chapter>a{color:inherit}.gl-usage-pages{display:block;color:var(--text-muted);font-size:.74rem}.gl-usage-pages a{color:inherit}.gl-usage-pages a:hover{color:var(--primary-text)}@media(max-width:46rem){.gl-detail-body{grid-template-columns:1fr}.gl-detail-side{border-left:none;padding-left:0;border-top:1px solid var(--border-subtle);padding-top:var(--space-3)}}.to-top{position:fixed;right:var(--space-5);bottom:var(--space-5);z-index:30;width:2.4rem;height:2.4rem;border-radius:999px;border:1px solid var(--border-strong);background:var(--bg-surface);color:var(--text-secondary);box-shadow:var(--shadow-md);cursor:pointer;font-size:1rem;line-height:1;opacity:0;visibility:hidden;transition:opacity .2s ease}.to-top.is-visible{opacity:1;visibility:visible}.page-toc{font-family:var(--font-ui);font-size:.9rem;margin:var(--space-5) 0 var(--space-6);padding:var(--space-4) var(--space-5);background:var(--bg-surface);border-radius:var(--radius-md);border:1px solid var(--border-subtle)}.page-toc-label{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary);margin-bottom:var(--space-3)}.page-toc a{display:block;padding:var(--space-1) 0;color:var(--text-primary);text-decoration:none}.page-toc a+a{border-top:1px solid var(--border-subtle)}.page-toc a:before{content:"↓";display:inline-block;width:1.2rem;color:var(--text-muted)}.page-toc a:hover{color:var(--primary-text)}.page-toc a:hover:before{color:var(--primary-text)}.page-section{margin-bottom:var(--space-8)}.page-section h2{font-size:1.35rem;padding-bottom:var(--space-2);border-bottom:2px solid var(--border);scroll-margin-top:5rem}.module-blurb{font-family:var(--font-prose);font-size:1.15rem;line-height:1.5;color:var(--text-primary);border-bottom:1px solid var(--border-subtle);padding-bottom:var(--space-4);margin-bottom:var(--space-5)}.module-about{display:grid;grid-template-columns:9rem minmax(0,1fr);gap:var(--space-2) var(--space-4);font-family:var(--font-prose);font-size:var(--size-prose);line-height:var(--leading-prose);margin:0 0 var(--space-6)}.module-about dt{font-family:var(--font-ui);font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);padding-top:.35rem}.module-about dd{margin:0}.module-about dd p{margin:0 0 var(--space-2)}.module-about dd p:last-child{margin-bottom:0}@media(max-width:40rem){.module-about{grid-template-columns:minmax(0,1fr);gap:var(--space-1)}.module-about dt{padding-top:var(--space-3)}}.module-meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-2) var(--space-3);font-family:var(--font-ui);font-size:.85rem;margin:var(--space-3) 0}.module-meta-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.term-flow{flex:1;min-width:0;font-family:var(--font-prose);font-size:.95rem;line-height:2;color:var(--text-secondary)}a.card:hover,.card-linked:hover,.prevnext a:hover,.btn.btn-surface:hover,.btn.btn-flag:hover{border-color:var(--module-accent, var(--primary-ring));box-shadow:var(--shadow-md)}.btn.btn-surface:hover,.btn.btn-flag:hover{background:var(--bg-surface)}.page-list a:hover,.gl-card:hover{border-color:var(--module-accent, var(--primary-ring));box-shadow:var(--shadow-sm)}a.card:hover h3,.card-linked:hover .card-title-link,.card-title-link:hover,.page-list a:hover .page-arrow,.rs-arrow{color:var(--module-accent, var(--primary-text))}.nav-toggle:hover,.to-top:hover,.chip-lock{color:var(--primary-text);border-color:var(--primary-ring)}.term:hover,.term:focus,.term.term-open,.plain-link:hover,.gl-usage a:hover{color:var(--primary-text);border-bottom-color:var(--primary-ring)}.card-pages a:hover,.map-cluster .path-steps a:hover{color:var(--primary-text);text-decoration:underline}.card-pages a,.map-cluster .path-steps a{color:var(--text-secondary);text-decoration:none}.ps-pages,.path-steps{list-style:none;margin:0;padding:0}.list-filter input:focus,.list-filter select:focus,.rs-filters input:focus,.rs-filters select:focus{outline:none;border-color:var(--primary-ring)}body.is-admin .admin-hidden{display:none!important}.chip-approval{font-size:.7rem;padding:.06rem .5rem;background:transparent}.chip-approval.approval-open{color:var(--state-ok);border-color:var(--state-ok)}.chip-approval.approval-draft{color:var(--state-partial);border-color:var(--state-partial)}.card-building{opacity:.75}.card-building h3{margin-bottom:var(--space-2)}.building-note{margin:0;font-family:var(--font-ui);font-size:.85rem;letter-spacing:.04em;text-transform:uppercase;color:var(--text-tertiary)}.page-list .page-row-inert{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5)}.page-list .page-row-inert .building-note{margin-left:auto}.teach-fs{position:fixed;top:var(--space-3);right:var(--space-3);z-index:20}.print-doc{max-width:calc(var(--content-width) + var(--space-5) * 2);margin:0 auto;padding:var(--space-5) var(--space-5) var(--space-8)}.page-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);margin:var(--space-5) 0}.week-head{display:flex;align-items:center;gap:var(--space-3)}.bloc-print{display:flex;justify-content:flex-end;font-family:var(--font-ui);font-size:.78rem;margin-bottom:var(--space-3)}:is(.week-head,.bloc-print) .print-link{margin-left:auto;text-transform:none;letter-spacing:0;color:var(--text-tertiary);text-decoration:none;border-bottom:1px dotted var(--border-strong)}:is(.week-head,.bloc-print) .print-link:hover{color:var(--primary-text)}.print-controls{--bracket: var(--module-accent, var(--primary-text));background:var(--bg-surface);padding:var(--space-4) var(--space-5);margin-bottom:var(--space-6);font-family:var(--font-ui);font-size:.85rem}.print-controls-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4)}.print-controls-title{font-size:.95rem;color:var(--text-primary)}.print-controls-row+.print-controls-row{margin-top:var(--space-3)}.print-controls-row #print-go{margin-left:auto}.print-switches label,.print-page-switches label{display:inline-flex;align-items:center;gap:var(--space-2);cursor:pointer}.print-pages{margin-top:var(--space-3)}.print-pages>summary{cursor:pointer;color:var(--text-secondary);font-weight:600}.print-page-switches{display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:var(--space-2) var(--space-4);margin-top:var(--space-3)}.print-cover{text-align:center;padding:var(--space-8) 0 var(--space-6);border-bottom:3px solid var(--module-accent, var(--primary-text))}.print-cover h1{margin:var(--space-4) 0;font-size:2.1rem}.print-site{font-family:var(--font-ui);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary);margin:0}.print-context{font-family:var(--font-ui);color:var(--module-accent, var(--text-secondary));font-weight:600;margin:var(--space-3) 0 0}.print-issued{font-family:var(--font-ui);font-size:.78rem;color:var(--text-tertiary);margin:0}.print-sep{margin:0 .4rem}.print-toc{margin:var(--space-6) 0;font-family:var(--font-ui)}.print-toc h2{font-size:1.1rem;margin:0 0 var(--space-4)}.print-toc ol{list-style:none;padding:0;margin:0}.print-toc>ol>li+li{margin-top:var(--space-4)}.print-toc-chapter{display:block;font-weight:600;color:var(--module-accent, var(--text-primary));margin-bottom:var(--space-2)}.print-toc ol ol{counter-reset:printtoc;padding-left:var(--space-4)}.print-toc ol ol li{counter-increment:printtoc}.print-toc ol ol li:before{content:counter(printtoc) ".";color:var(--text-tertiary);margin-right:var(--space-2)}.print-toc a{color:var(--text-secondary);text-decoration:none}.print-toc a:hover{color:var(--primary-text)}.print-part+.print-part{break-before:page}.print-chapter-title{font-size:1.7rem;margin:var(--space-8) 0 var(--space-5);padding-bottom:var(--space-2);border-bottom:2px solid var(--module-accent, var(--border-strong))}.print-provenance{margin:0 0 var(--space-6)}.print-page+.print-page{margin-top:var(--space-8)}.print-page-title{font-size:1.35rem;margin:0 0 var(--space-4);color:var(--text-primary);break-after:avoid}.print-page .prose h2{font-size:1.15rem;margin-top:var(--space-5)}.print-page .prose h3{font-size:1rem}.print-page .prose h2,.print-page .prose h3{break-after:avoid}.print-doc .fig,.print-doc table,.print-doc .codeblock,.print-doc [class*=box-]{break-inside:avoid}.print-locked{border-left:3px solid var(--border-strong);padding:var(--space-3) var(--space-4);color:var(--text-tertiary);font-family:var(--font-ui);font-size:.85rem}.print-doc.print-no-figures .fig{display:none}.print-doc.print-no-bg{--key-points-background: transparent;--definition-background: transparent;--callout-background: transparent;--going-further-background: transparent;--evaluation-background: transparent;--state-ok-background: transparent;--state-partial-background: transparent;--state-wrong-background: transparent;--syntax-background: transparent;--bg-surface: transparent;--bg-surface-alt: transparent;--module-accent-soft: transparent;--primary-soft: transparent}.print-doc.print-no-bg .codeblock>pre{border:1px solid var(--border-subtle)}.print-doc .file-view>pre,.print-doc .prompt-example .pe-turns{max-height:none;overflow:visible}.print-solution{display:none}.print-doc.print-solutions .print-solution{display:block;margin-top:var(--space-3);padding:var(--space-3) var(--space-4);border-left:3px solid var(--state-ok);background:var(--state-ok-background);font-size:.9rem}.print-solution-label{display:block;font-family:var(--font-ui);font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--state-ok);margin-bottom:var(--space-2)}.print-solution-note{margin-top:var(--space-2);color:var(--text-secondary)}.print-doc.print-solutions .mcq-option.print-correct{font-weight:700}.print-doc.print-solutions .mcq-option.print-correct .mcq-letter:before{content:"✓ ";color:var(--state-ok)}@media print{.site-header,.site-footer,.to-top,.no-print,.flag-dialog,.zoom-dialog,.fig-zoom-btn{display:none!important}body{background:#fff}.print-doc{max-width:none;padding:0}.print-cover{break-after:page;padding-top:var(--space-6)}.print-toc{break-after:page}a{color:inherit;text-decoration:none}.term:after{content:none}.term-tip{display:none!important}}.btn.source-file{display:inline-flex;flex-direction:column;align-items:flex-start;gap:.1rem;line-height:1.3;position:relative;padding:.7rem 1.1rem .7rem 3rem;color:var(--text-primary);border:1px solid var(--module-accent, var(--primary));background:var(--module-accent-soft, var(--primary-soft));border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.btn.source-file:before{content:"";position:absolute;left:1.05rem;top:50%;transform:translateY(-50%);width:1.3rem;height:1.3rem;background:var(--module-accent, var(--primary));-webkit-mask:var(--download-icon) center / contain no-repeat;mask:var(--download-icon) center / contain no-repeat}.btn.source-file{--download-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M7.1 1h1.8v6.4h2.6L8 11.6 4.5 7.4h2.6z'/><path d='M2.4 12.1h1.6v1.3h8v-1.3h1.6v1.9a1 1 0 0 1-1 1H3.4a1 1 0 0 1-1-1z'/></svg>")}.btn.source-file:hover,.btn.source-file:focus-visible{background:color-mix(in srgb,var(--module-accent, var(--primary)) 14%,var(--module-accent-soft, var(--primary-soft)))}.source-file .source-file-name{font-weight:600;color:var(--module-accent, var(--primary))}.source-file .source-file-meta{font-size:.8rem;color:var(--text-secondary)}.video{margin:var(--space-4) 0}.video-poster,.video-frame{display:flex;width:100%;aspect-ratio:16 / 9;border-radius:var(--radius-md)}.video-poster{flex-direction:column;align-items:center;justify-content:center;gap:.4rem;padding:1rem 1.5rem;text-align:center;text-decoration:none;color:var(--text-primary);border:1px solid var(--module-accent, var(--primary));background:var(--module-accent-soft, var(--primary-soft));box-shadow:var(--shadow-sm)}.video-poster:hover,.video-poster:focus-visible{background:color-mix(in srgb,var(--module-accent, var(--primary)) 14%,var(--module-accent-soft, var(--primary-soft)))}.video-play{width:3.6rem;height:3.6rem;border-radius:50%;background:var(--module-accent, var(--primary));position:relative}.video-play:after{content:"";position:absolute;left:40%;top:30%;border-style:solid;border-width:.75rem 0 .75rem 1.2rem;border-color:transparent transparent transparent var(--module-accent-soft, var(--primary-soft))}.video-title{font-weight:600;color:var(--module-accent, var(--primary))}.video-meta{font-size:.8rem;color:var(--text-secondary)}.video-frame{border:0;background:var(--text-primary)}.video-note{margin:.3rem 0 0;font-size:.8rem;color:var(--text-secondary)}@media print{.video-poster{aspect-ratio:auto;box-shadow:none}.video-play,.video-note{display:none}.video-poster:after{content:attr(href);font-size:.8rem;color:var(--text-secondary)}}
