: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: #e6d3d2;--hue-terracotta: #96502f;--hue-teal: #2e6a64;--hue-indigo: #514f87;--hue-plum: #804a72;--hue-stone: #797163;--hue-terracotta-soft: #e8d8cb;--hue-teal-soft: #d7e2dd;--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: #dbd2c4;--syntax-text: #2c2520;--syntax-name: #514f87;--syntax-attribute: #2e6a64;--syntax-value: #96502f;--syntax-punctuation: #7d7164;--syntax-comment: #a3957f;--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;--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;--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}.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.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}.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}.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{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}}@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}.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-primary{background:var(--primary-soft);border-color:transparent;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)}.card-accent{border-top:3px solid var(--module-accent, var(--border))}.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)}.meta-panel{background:var(--bg-surface);border:1px solid var(--border-subtle);border-top:3px solid var(--module-accent, var(--primary));border-radius:var(--radius-lg);padding:var(--space-4);font-size:.85rem;font-family:var(--font-ui);box-shadow:var(--shadow-sm);align-self:start}.meta-panel dt{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:.68rem;margin:var(--space-3) 0 var(--space-1)}.meta-panel dt:first-child{margin-top:0}.meta-panel dd{margin:0}.meta-panel dd+dt{border-top:1px dotted var(--border-subtle);padding-top:var(--space-3)}.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)}.page-list .page-list-head{margin:var(--space-4) 0 var(--space-2);font-family:var(--font-ui);font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-tertiary);border-bottom:1px solid var(--border-subtle);padding-bottom:var(--space-1)}.page-list li.page-list-head:first-child{margin-top:0}.page-list .page-mode{flex:none;font-size:.78rem;color:var(--text-tertiary);white-space:nowrap}.page-list .step-extra{margin:var(--space-1) 0 0 calc(1.6rem + 2 * var(--space-3));display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:baseline;font-size:.85rem}.card-linked{position:relative}.card-cover:after{content:"";position:absolute;inset:0;border-radius:var(--radius-lg)}.card-linked .card-more{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-concepts{font-size:.8rem;margin:0}.card-concepts-label{display:block;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:.68rem;margin-bottom:var(--space-1)}.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}.ps-course{margin-bottom:var(--space-3);padding-bottom:var(--space-3);border-bottom:1px solid var(--border-subtle)}.ps-course-label{display:flex;align-items:center;gap:var(--space-2);font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:var(--space-1)}.ps-course-label .chip{font-size:.62rem;text-transform:none;letter-spacing:0}.ps-course-name{font-weight:600;color:var(--text-secondary)}.ps-bloc{color:var(--text-muted);margin:var(--space-1) 0}.ps-step-pos{color:var(--module-accent, var(--primary-text));font-weight:600;margin-bottom:var(--space-2)}.page-side.ps-has-course .ps-structure{opacity:.65}.page-side+.meta-panel{margin-top:var(--space-4)}@media(max-width:59.99rem){.page-side{display:none}}.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}.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);overflow:hidden}:is(.prose,.teach-screen) thead th,.data-table thead th{text-align:left;background: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:var(--bg-base)}: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)}.schedule th:nth-child(1),.schedule td:nth-child(1),.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){text-align:center}.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}.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)}.box{border-left:3px solid var(--callout);background:var(--callout-background);border-radius:var(--radius-sm) var(--radius-md) var(--radius-md) var(--radius-sm);padding:var(--space-4) var(--space-5);margin:var(--space-5) 0;font-size:.95em}.box-title{font-family:var(--font-ui);font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;margin-bottom:var(--space-2);color:var(--callout)}.box p:last-child{margin-bottom:0}.box-further{border-color:var(--going-further);background:var(--going-further-background)}.box-further .box-title{color:var(--going-further)}.box-eval{border-color: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{border-color: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-md)}.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-user,.prompt-example .pe-model{padding:var(--space-3) var(--space-4)}.prompt-example .pe-user{border-bottom:1px solid var(--border-subtle)}.prompt-example .pe-user .pe-label{color:var(--primary-text)}.prompt-example p:last-child{margin-bottom:0}.rex{border:1px solid var(--border);border-top:3px solid var(--module-accent, 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{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(--bg-surface-alt);border-bottom:1px solid var(--border-subtle)}.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-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-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;max-width:96vw;max-height:92vh;overflow:visible}.zoom-dialog::backdrop{background:#261e18b8}.zoom-dialog img{display:block;max-width:96vw;max-height:92vh;width:auto;height:auto;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface);padding:var(--space-3)}img[data-zoom]{cursor:zoom-in}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{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[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 .22s ease}@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}.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);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);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{background:var(--bg-surface);border:1px solid var(--border);border-top:3px solid var(--module-accent, var(--primary));border-radius:var(--radius-md);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)}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);border:1px solid var(--border);border-top:4px solid var(--module-accent);border-radius:var(--radius-lg);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:60rem;margin:0 auto;padding:var(--space-6) var(--space-8)}.teach-boxed .box-title{font-size:1.15rem}.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-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:1rem}.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-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{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-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,ul,ol)):has(.fig) .fig img{max-height:calc(24vh * var(--teach-fit, 1))}.teach-screen.teach-dense:has(>:is(p,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{font-size:1rem;text-align:center}.teach-screen .cal-note{display:none}.teach-screen :is(table,.data-table){font-size:calc(clamp(.95rem,1.3vw,1.15rem) * var(--teach-fit, 1))}.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;background:var(--primary-soft);border-left:4px solid var(--primary-ring);border-radius:var(--radius-md);padding:var(--space-4) var(--space-5);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);font-size:1rem;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);font-size:.85rem;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)}.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){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)}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:62rem}.teach-notes{max-width:34rem;border:1px solid var(--border);border-top:4px solid var(--module-accent);border-radius:var(--radius-lg);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:1px solid var(--border-strong);border-top:3px solid var(--module-accent, var(--border-strong));border-radius:var(--radius-lg);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-form{font-family:var(--font-ui)}.flag-form h2{font-size:1.1rem;margin-bottom:var(--space-2)}.flag-where{font-size:.85rem;color:var(--text-tertiary);margin:var(--space-3) 0}.flag-form label{display:block;font-size:.85rem;font-weight:600;margin-top:var(--space-3);margin-bottom:var(--space-1)}.flag-form textarea,.flag-form input{font:inherit;font-size:.9rem;width:100%;padding:.4rem .6rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-base);color:var(--text-primary)}.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;border:1px solid var(--border);border-top:3px solid var(--module-accent, var(--border));border-radius:var(--radius-md);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));position:relative}.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,.flag-form textarea:focus,.flag-form input:focus{outline:none;border-color:var(--primary-ring)}body.is-admin .admin-hidden{display:none!important}.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}
