@font-face{font-family:DM Sans;font-style:normal;font-weight:100 1000;font-display:swap;src:url(/assets/dm-sans-latin-BNY05QUC.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-weight:100 1000;font-display:swap;src:url(/assets/dm-sans-latin-ext-BH18Pfgv.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:italic;font-weight:100 1000;font-display:swap;src:url(/assets/dm-sans-italic-latin-ll47TIEM.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:italic;font-weight:100 1000;font-display:swap;src:url(/assets/dm-sans-italic-latin-ext-Dn8Y1iLA.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}:root{--bg-page:#f9f8f8;--bg-sunken:#f2f1f1;--surface:#fff;--surface-hover:#fcfcfd;--surface-sunken:#00000006;--text-primary:#1e232c;--text-secondary:#000000b3;--text-dim:#0000008f;--accent:#4d6bfe;--accent-strong:#3a65c2;--accent-ink:#3552c9;--accent-soft:#4d6bfe12;--accent-tint:#4d6bfe21;--accent-edge:#4d6bfe47;--accent-wash:#4d6bfe0d;--surface-tinted:#f4f6ff;--divider-subtle:#0000000f;--divider:#0000001a;--divider-strong:#0000002b;--shadow-sm:0 1px 2px #1018280a;--shadow-md:0 2px 4px #1018280a, 0 8px 24px #1018280f;--shadow-lg:0 4px 8px #1018280a, 0 16px 40px #10182817;--radius-xs:.375rem;--radius-sm:.5rem;--radius-input:.625rem;--radius-md:.75rem;--radius-panel:1rem;--radius-card:1.25rem;--radius-pill:100px;--font-sans:"DM Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--content-max-width:78rem;--reading-width:44rem;--transition:.18s cubic-bezier(.2, .7, .3, 1);background:var(--bg-page);color:var(--text-primary);font-family:var(--font-sans);font-synthesis:none;-webkit-font-smoothing:antialiased;line-height:1.6}*{box-sizing:border-box}html{background:var(--bg-page);scroll-behavior:smooth}body{min-width:20rem;margin:0}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}a:hover{color:var(--accent-ink)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}code,pre{font-family:var(--font-mono)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.muted{color:var(--text-secondary)}.app-shell{background:var(--bg-page);flex-direction:column;min-height:100vh;display:flex;position:relative}.app-shell:before{content:"";pointer-events:none;background:radial-gradient(80rem 40rem at 50% -12rem,#4d6bfe21,#0000 64%);position:fixed;inset:0}.site-header{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--divider-subtle);min-height:4.9rem;padding:.8rem max(1.25rem, calc((100vw - var(--content-max-width)) / 2));z-index:10;background:#f9f8f8d9;grid-template-columns:minmax(0,1.55fr) minmax(11rem,19rem) minmax(0,1fr);align-items:center;gap:clamp(.8rem,2vw,1.5rem);display:grid;position:sticky;top:0}.header-identity{align-items:center;gap:clamp(.8rem,1.8vw,1.5rem);min-width:0;display:flex}.site-name{color:var(--text-primary);letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;flex:0 auto;min-width:4rem;font-size:.84rem;font-weight:600;overflow:hidden}.course-navigation{border-left:1px solid var(--divider);flex:none;gap:.35rem;padding-left:clamp(.7rem,1.4vw,1.2rem);display:flex}.course-navigation a{border-radius:var(--radius-sm);color:var(--text-secondary);transition:background var(--transition), color var(--transition);padding:.35rem .6rem;font-size:.82rem;font-weight:500;position:relative}.course-navigation a:hover,.course-navigation a:focus-visible{background:var(--surface-sunken);color:var(--text-primary)}.course-navigation a.active{background:var(--accent-soft);color:var(--accent-ink)}.session-controls{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.9rem;display:flex}.course-search{width:100%;position:relative}.course-search form{background:var(--surface);border:1px solid var(--divider);border-radius:var(--radius-pill);transition:border-color var(--transition), box-shadow var(--transition);grid-template-columns:minmax(0,1fr) 2.25rem;align-items:center;display:grid;overflow:hidden}.course-search form:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.course-search input{color:var(--text-primary);background:0 0;border:0;outline:0;width:100%;min-width:0;padding:.55rem .95rem;font-size:.82rem}.course-search input::placeholder{color:var(--text-dim)}.course-search form button{color:var(--text-dim);transition:background var(--transition), color var(--transition);background:0 0;border:0;align-self:stretch;padding:0}.course-search form button:hover{background:var(--accent-soft);color:var(--accent-ink)}.search-panel{background:var(--surface);border:1px solid var(--divider);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);max-height:min(28rem,100vh - 6rem);margin-top:.45rem;padding:.35rem;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.search-message{color:var(--text-secondary);margin:0;padding:1rem;font-size:.8rem}.search-results{gap:.1rem;margin:0;padding:0;list-style:none;display:grid}.search-results button{border-radius:var(--radius-sm);color:inherit;text-align:left;transition:background var(--transition);background:0 0;border:0;grid-template-columns:1.7rem minmax(0,1fr) auto;align-items:center;gap:.65rem;width:100%;padding:.7rem .68rem;display:grid}.search-results button:hover,.search-results button:focus-visible{background:var(--surface-sunken)}.search-result-order{color:var(--accent-ink);font-size:.7rem;font-weight:600}.search-result-copy{gap:.08rem;min-width:0;display:grid}.search-result-copy strong{font-size:.85rem;font-weight:550;line-height:1.35}.search-result-copy small{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;overflow:hidden}.search-result-copy>span{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;font-size:.68rem;overflow:hidden}.search-result-arrow{color:var(--text-dim);font-size:.8rem}.admin-link,.quiet-button{color:var(--text-secondary);font-size:.8rem}.session-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;max-width:12rem;font-size:.78rem;overflow:hidden}.impra-brand{border-right:1px solid var(--divider);flex:none;align-items:center;padding:.1rem 1rem .1rem 0;display:inline-flex}.impra-brand img{object-fit:contain;width:auto;height:3.15rem;display:block}.impra-brand:hover img,.impra-brand:focus-visible img{opacity:.78}.quiet-button{background:0 0;border:0;padding:.3rem 0}.quiet-button:hover{color:var(--accent-ink)}.role-switcher{color:var(--text-dim);align-items:center;gap:.45rem;font-size:.74rem;display:flex}.role-switcher select{background:var(--surface);border:1px solid var(--divider);border-radius:var(--radius-sm);color:var(--text-primary);font:inherit;padding:.3rem .45rem;font-size:.74rem}main,.status{width:100%;max-width:var(--content-max-width);margin:0 auto;padding:clamp(3rem,5.5vw,5rem) 1.5rem 6rem;position:relative}h1,h2,h3{font-family:var(--font-sans);letter-spacing:-.014em;font-weight:600;line-height:1.15}h1{margin:0;font-size:clamp(2rem,3.4vw,3rem)}h2{margin:0;font-size:clamp(1.35rem,2.2vw,1.75rem)}h3{font-size:1.15rem}.eyebrow{color:var(--text-dim);letter-spacing:.05em;text-transform:uppercase;margin:0 0 .6rem;font-size:.7rem;font-weight:600}.timeline-page{padding-top:clamp(3rem,6vw,5rem)}.timeline-intro{max-width:48rem;padding:0 0 2.6rem;position:relative}.timeline-intro h1{letter-spacing:-.018em;text-wrap:balance;max-width:38rem;font-weight:600;line-height:1.14}.timeline-intro:after{background:var(--divider-subtle);content:"";height:1px;position:absolute;bottom:0;left:0;right:0}.timeline-intro>p:last-child{color:var(--text-secondary);max-width:37rem;margin:1.1rem 0 0;font-size:clamp(1rem,1.5vw,1.1rem);line-height:1.65}.timeline-layout{grid-template-columns:1.6rem minmax(0,1fr);gap:clamp(2rem,4vw,4rem);margin-top:clamp(2.5rem,4.5vw,4rem);display:grid}.stage-nav{align-self:start;position:sticky;top:6.5rem}.stage-nav ol{border-left:1px solid var(--accent-tint);margin:0;padding:.1rem 0;list-style:none}.stage-nav li{height:2rem;position:relative}.stage-nav a{color:var(--text-dim);padding-left:.65rem;font-size:.66rem;font-weight:600;text-decoration:none;position:absolute;left:-.05rem}.stage-nav a:before{background:var(--bg-page);border:1px solid var(--divider-strong);content:"";height:.4rem;transition:background var(--transition), border-color var(--transition), box-shadow var(--transition);border-radius:50%;width:.4rem;position:absolute;top:.29rem;left:-.24rem}.stage-nav a:hover,.stage-nav a:focus-visible{color:var(--accent-ink)}.stage-nav a:hover:before,.stage-nav a:focus-visible:before{background:var(--accent);border-color:var(--accent);box-shadow:0 0 0 .28rem var(--accent-soft)}.stages{max-width:64rem}.stage{padding-bottom:clamp(2.75rem,5vw,4.5rem);scroll-margin-top:5.5rem}.stage-heading{background:linear-gradient(90deg, var(--accent-wash), transparent 72%);border-left:3px solid var(--accent-edge);border-radius:var(--radius-sm);align-items:center;gap:.85rem;margin-bottom:1.15rem;padding:.8rem 1rem;display:flex}.stage-heading .eyebrow{color:var(--accent-ink);margin-bottom:.2rem}.stage-heading h2{letter-spacing:-.015em;font-size:clamp(1.35rem,2.2vw,1.8rem);font-weight:600}.stage ol{gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.stage li a{background:var(--surface);border:1px solid var(--divider-subtle);border-radius:var(--radius-panel);box-shadow:var(--shadow-sm);min-height:4.9rem;transition:border-color var(--transition), box-shadow var(--transition), transform var(--transition);grid-template-columns:2.5rem minmax(0,1fr) auto;align-items:center;gap:1.1rem;padding:1.05rem 1.25rem;display:grid;position:relative}.stage li a:hover,.stage li a:focus-visible{border-color:var(--divider);box-shadow:var(--shadow-md);color:var(--text-primary);transform:translateY(-2px)}.stage li.contextual-current a{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.timeline-node-order{color:var(--text-dim);font-variant-numeric:tabular-nums;font-size:.75rem;font-weight:600}.timeline-node-copy{gap:.18rem;display:grid}.timeline-node-copy strong{letter-spacing:-.015em;font-size:clamp(1rem,1.3vw,1.1rem);font-weight:550}.timeline-node-copy span{color:var(--text-secondary);font-size:.82rem}.timeline-arrow{color:var(--text-dim);transition:color var(--transition), transform var(--transition);font-size:1.05rem}.stage li a:hover .timeline-arrow,.stage li a:focus-visible .timeline-arrow{color:var(--accent);transform:translate(.25rem)}.concepts-page,.transversal-page{max-width:66rem;padding-top:clamp(3rem,6vw,5rem)}.concepts-intro,.transversal-intro{max-width:42rem;margin-bottom:clamp(2rem,4vw,3rem)}.concepts-intro h1,.concept-focus h1,.transversal-intro h1,.transversal-focus h1{letter-spacing:-.018em;font-size:clamp(2rem,3.2vw,2.85rem);font-weight:600}.concepts-intro>p:last-child,.concept-focus header>p:last-child,.transversal-intro>p:last-child,.transversal-focus header>p:last-child{color:var(--text-secondary);margin:1rem 0 0;font-size:clamp(.98rem,1.4vw,1.08rem)}.concept-filter,.transversal-filter{max-width:29rem;margin-bottom:1.35rem;display:block}.concept-filter input,.transversal-filter input{background:var(--surface);border:1px solid var(--divider);border-radius:var(--radius-input);color:var(--text-primary);transition:border-color var(--transition), box-shadow var(--transition);width:100%;padding:.68rem .85rem}.concept-filter input::placeholder,.transversal-filter input::placeholder{color:var(--text-dim)}.concept-filter input:focus,.transversal-filter input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:0}.concept-index,.transversal-index{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.concept-index a,.transversal-index a{background:var(--surface);border:1px solid var(--divider-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);min-height:4.4rem;transition:border-color var(--transition), box-shadow var(--transition), transform var(--transition);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.7rem;padding:.9rem 1.05rem;display:grid}.concept-index a:hover,.concept-index a:focus-visible,.transversal-index a:hover,.transversal-index a:focus-visible{border-color:var(--divider);box-shadow:var(--shadow-md);color:var(--text-primary);transform:translateY(-2px)}.concept-index strong,.transversal-index strong{font-size:.95rem;font-weight:550}.concept-index a>span:nth-child(2),.transversal-index a>span:nth-child(2){background:var(--accent-soft);border-radius:var(--radius-pill);color:var(--accent-ink);padding:.22rem .55rem;font-size:.72rem;font-weight:600}.concept-index a>span:last-child,.transversal-index a>span:last-child{color:var(--text-dim);font-size:.8rem}.concept-empty,.transversal-empty{color:var(--text-secondary);margin:2rem 0}.concept-scope{margin-bottom:clamp(2.4rem,5vw,3.6rem)}.concept-scope+.concept-scope>header{border-top:1px solid var(--divider);padding-top:1.8rem}.concept-scope>header{margin-bottom:1.35rem}.concept-scope h2{letter-spacing:-.012em;margin:0;font-size:clamp(1.1rem,1.6vw,1.25rem);font-weight:600}.concept-scope>header p{color:var(--text-secondary);max-width:40rem;margin:.4rem 0 0;font-size:.9rem}.concept-glossary{gap:1.55rem;margin:0;padding:0;list-style:none;display:grid}.concept-glossary h3{align-items:baseline;gap:.55rem;margin:0 0 .6rem;font-size:.92rem;font-weight:600;display:flex}.concept-glossary h3>span{color:var(--accent-ink);font-variant-numeric:tabular-nums;font-size:.72rem}.concept-glossary h3 a{color:var(--text-primary)}.concept-glossary h3 a:hover,.concept-glossary h3 a:focus-visible{color:var(--accent-ink)}.concept-glossary ul{flex-wrap:wrap;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.concept-glossary ul a{background:var(--surface);border:1px solid var(--divider-subtle);border-radius:var(--radius-pill);color:var(--text-secondary);transition:background var(--transition), border-color var(--transition), color var(--transition);padding:.35rem .8rem;font-size:.85rem;display:inline-block}.concept-glossary ul a:hover,.concept-glossary ul a:focus-visible{background:var(--accent-wash);border-color:var(--accent-edge);color:var(--accent-ink)}.concept-focus,.transversal-focus{background:var(--surface);border:1px solid var(--divider-subtle);border-radius:var(--radius-card);box-shadow:var(--shadow-sm);padding:clamp(1.6rem,3.5vw,3rem)}.concept-focus header,.transversal-focus header{border-bottom:1px solid var(--divider-subtle);padding-bottom:clamp(1.5rem,3vw,2.5rem)}.concept-node-list,.transversal-node-list{gap:.35rem;margin:clamp(1.4rem,2.5vw,2.2rem) 0 0;padding:0;list-style:none;display:grid}.concept-node-list a,.transversal-node-list a{border-radius:var(--radius-sm);transition:background var(--transition);border:0;grid-template-columns:2.2rem minmax(0,1fr) auto;align-items:center;gap:1rem;padding:.8rem .7rem;display:grid}.concept-node-list a:hover,.concept-node-list a:focus-visible,.transversal-node-list a:hover,.transversal-node-list a:focus-visible{background:var(--surface-sunken);color:var(--text-primary)}.concept-node-list a>span:first-child,.concept-node-list a>span:last-child,.transversal-node-list a>span:first-child,.transversal-node-list a>span:last-child{color:var(--text-dim);font-variant-numeric:tabular-nums;font-size:.72rem;font-weight:600}.concept-node-list a>span:nth-child(2),.transversal-node-list a>span:nth-child(2){gap:.14rem;display:grid}.concept-node-list strong,.transversal-node-list strong{font-size:.98rem;font-weight:550}.concept-node-list small,.transversal-node-list small{color:var(--text-secondary);font-size:.78rem}.node-page{max-width:var(--content-max-width)}.reading-progress{background:var(--divider-subtle);z-index:20;height:2px;position:fixed;top:0;left:0;right:0;overflow:hidden}.reading-progress>span{background:var(--accent);transform-origin:0;width:100%;height:100%;transition:transform .1s linear;display:block}.back-link{color:var(--text-secondary);gap:.4rem;margin-bottom:clamp(1.75rem,3vw,2.75rem);font-size:.82rem;display:inline-flex}.back-link:hover{color:var(--accent-ink)}.node-hero{background:linear-gradient(135deg, #4d6bfe21, #4d6bfe0a 52%, var(--surface) 88%);border:1px solid var(--divider-subtle);border-radius:var(--radius-card);box-shadow:var(--shadow-sm);max-width:100%;padding:clamp(1.8rem,4vw,3.4rem);position:relative;overflow:hidden}.node-hero>*{position:relative}.node-course-context{justify-content:space-between;align-items:start;gap:2rem;margin-bottom:1.5rem;display:flex}.node-course-context .eyebrow{margin-bottom:.3rem}.node-stage-title{color:var(--text-secondary);margin:0;font-size:.85rem}.node-position{color:var(--text-dim);flex:none;margin:0;font-size:.74rem;font-weight:600}.node-period{color:var(--text-secondary);margin:0 0 1.1rem;font-size:.9rem}.node-hero h1{letter-spacing:-.018em;text-wrap:balance;max-width:44rem;font-size:clamp(1.9rem,3.2vw,2.9rem);font-weight:600;line-height:1.16}.level-selector{background:var(--bg-sunken);border-radius:var(--radius-pill);border:0;flex-wrap:wrap;align-items:center;gap:.15rem;margin:2rem 0 0;padding:.25rem;display:inline-flex}.level-selector legend{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}.level-selector label{border-radius:var(--radius-pill);color:var(--text-secondary);cursor:pointer;transition:background var(--transition), box-shadow var(--transition), color var(--transition);padding:.45rem .95rem;font-size:.8rem;font-weight:500;position:relative}.level-selector label:hover{color:var(--text-primary)}.level-selector label.selected{background:var(--surface);box-shadow:var(--shadow-sm);color:var(--text-primary)}.level-selector input{opacity:0;width:1px;height:1px;position:absolute}.node-reading-layout{grid-template-columns:minmax(0, var(--reading-width)) minmax(11rem, 14rem);justify-content:center;align-items:start;gap:clamp(2rem,3.5vw,3.5rem);padding-top:clamp(2.5rem,4vw,3.75rem);display:grid}.node-context{display:none}.reading-flow{background:var(--surface);border:1px solid var(--divider-subtle);border-radius:var(--radius-panel);box-shadow:var(--shadow-sm);min-width:0;padding:clamp(1.5rem,3vw,2.75rem)}.markdown{color:var(--text-primary);max-width:var(--reading-width);font-family:inherit;font-size:clamp(1rem,1.3vw,1.06rem);line-height:1.78}.markdown>:first-child{margin-top:0}.markdown>:last-child{margin-bottom:0}.markdown h1,.markdown h2,.markdown h3{color:var(--text-primary);letter-spacing:-.012em;margin:2.4em 0 .7em;font-family:inherit;font-weight:600}.markdown h1{font-size:1.55rem}.markdown h2{font-size:1.3rem}.markdown h3{font-size:1.1rem}.markdown p,.markdown ul,.markdown ol{margin:0 0 1.45em}.markdown li+li{margin-top:.42em}.markdown blockquote{border-left:2px solid var(--accent);color:var(--text-secondary);margin:1.9rem 0;padding:.2rem 0 .2rem 1.1rem}.markdown table{border-collapse:collapse;max-width:100%;margin:0 0 1.5em;font-size:.9em;display:block;overflow-x:auto}.markdown td,.markdown th{border-bottom:1px solid var(--divider-subtle);text-align:left;padding:.55rem .7rem}.markdown pre{background:var(--bg-sunken);border:1px solid var(--divider-subtle);border-radius:var(--radius-sm);padding:1rem;font-size:.88em;overflow-x:auto}.markdown img{max-width:100%}.node-aside{color:var(--text-secondary);gap:1.9rem;padding-top:.55rem;font-size:.8rem;display:grid}.node-aside section{background:var(--surface);border:1px solid var(--divider-subtle);border-left:3px solid var(--accent-edge);border-radius:var(--radius-md);padding:.95rem 1rem 1.05rem}.node-aside .eyebrow{margin-bottom:.75rem}.editorial-id-list{flex-wrap:wrap;gap:.5rem .65rem;margin:0;padding:0;list-style:none;display:flex}.editorial-id-list li{color:var(--text-secondary);font-size:.75rem}.editorial-id-list li:before{color:var(--text-dim);content:"·";margin-right:.38rem}.concept-metadata-list a,.transversal-metadata-list a{color:var(--text-secondary)}.concept-metadata-list a:hover,.concept-metadata-list a:focus-visible,.transversal-metadata-list a:hover,.transversal-metadata-list a:focus-visible{color:var(--accent-ink)}.concept-metadata-list a span,.transversal-metadata-list a span{color:var(--text-dim)}.connection-list{gap:.68rem;margin:0;padding:0;list-style:none;display:grid}.connection-list a{grid-template-columns:1.65rem minmax(0,1fr);gap:.08rem;display:grid}.connection-list a>span{color:var(--text-dim);font-variant-numeric:tabular-nums;grid-row:1/3;padding-top:.08rem;font-size:.7rem;font-weight:600}.connection-list strong{color:var(--text-primary);font-size:.78rem;font-weight:550;line-height:1.35}.connection-list small{color:var(--text-dim);font-size:.7rem;line-height:1.35}.connection-list a:hover strong,.connection-list a:focus-visible strong{color:var(--accent-ink)}.section-outline-desktop{background:var(--surface-tinted);border:1px solid var(--divider-subtle);border-radius:var(--radius-md);scrollbar-color:var(--divider-strong) transparent;max-height:min(48vh,26rem);padding:.95rem .7rem 1rem;position:sticky;top:6.5rem;overflow-y:auto}.section-outline-mobile{display:none}.section-outline-list{gap:.12rem;margin:0;padding:0;list-style:none;display:grid}.section-outline-list a{border-radius:var(--radius-xs);color:var(--text-dim);transition:background var(--transition), color var(--transition);grid-template-columns:1.55rem minmax(0,1fr);align-items:start;gap:.5rem;padding:.35rem;display:grid}.section-outline-list a>span{color:inherit;font-variant-numeric:tabular-nums;padding-top:.1rem;font-size:.64rem;font-weight:600}.section-outline-list strong{font-size:.73rem;font-weight:500;line-height:1.38}.section-outline-list a:hover,.section-outline-list a:focus-visible{background:var(--surface-sunken);color:var(--text-primary)}.section-outline-list a[aria-current=location]{background:var(--accent-soft);color:var(--accent-ink)}.section-outline-list a[aria-current=location]>span{color:var(--accent)}.markdown{counter-reset:seccion}.markdown h2[id]{border-top:1px solid var(--divider);counter-increment:seccion;gap:.7rem;margin:3.6em 0 1.05em;padding-top:1.8rem;scroll-margin-top:6rem;display:grid}.markdown h2[id]:before{background:var(--accent-soft);border:1px solid var(--accent-tint);border-radius:var(--radius-pill);color:var(--accent-ink);content:"Sección " counter(seccion, decimal-leading-zero);letter-spacing:.07em;text-transform:uppercase;justify-self:start;padding:.38rem .72rem;font-size:.66rem;font-weight:600;line-height:1}.markdown h2[id]:first-of-type{border-top:0;margin-top:2.2em;padding-top:0}.markdown h2[tabindex="-1"]:focus{outline:1px solid var(--accent);outline-offset:.35rem;border-radius:.18rem}.bibliography-section{border-top:1px solid var(--divider-subtle);max-width:var(--reading-width);margin:clamp(3rem,5vw,5rem) auto 0;padding-top:1.5rem}.bibliography-section>.eyebrow{margin-bottom:1.1rem}.bibliography-list{margin:0;padding:0;list-style:none}.bibliography-list li{padding:1.1rem 0}.bibliography-list li+li{border-top:1px solid var(--divider-subtle)}.bibliography-list p{margin:0}.bibliography-author{color:var(--text-primary);font-size:.85rem;font-weight:600}.bibliography-list cite{color:var(--text-primary);margin-top:.18rem;font-size:.95rem;font-style:normal;line-height:1.5;display:block}.bibliography-publication{color:var(--text-dim);font-size:.78rem;margin-top:.18rem!important}.bibliography-note{color:var(--text-secondary);max-width:42rem;font-size:.8rem;line-height:1.6;margin-top:.6rem!important}.case-section,.questions-section{margin-top:clamp(2.5rem,4.5vw,4rem)}.case-section{background:var(--accent-wash);border:1px solid var(--accent-tint);border-left:3px solid var(--accent);border-radius:var(--radius-md);padding:1.35rem 1.5rem}.case-section>p:last-child{color:var(--text-primary);margin:0;font-size:1rem;line-height:1.7}.questions-section{border-top:1px solid var(--divider-subtle);padding-top:1.35rem}.question-list{counter-reset:question;margin:0;padding:0;list-style:none}.question-list li{color:var(--text-primary);counter-increment:question;padding:1rem 0 1rem 2.5rem;font-size:1rem;line-height:1.6;position:relative}.question-list li+li{border-top:1px solid var(--divider-subtle)}.question-list li:before{color:var(--accent-ink);content:counter(question, decimal-leading-zero);font-variant-numeric:tabular-nums;font-size:.74rem;font-weight:600;position:absolute;top:1.2rem;left:0}.node-navigation{grid-template-columns:1fr 1fr;gap:.75rem;margin:clamp(3rem,5vw,5rem) 0 0;display:grid}.node-navigation>div{gap:.75rem;display:grid}.node-navigation>div:last-child{text-align:right}.node-navigation a{background:var(--surface);border:1px solid var(--divider-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);min-height:5.5rem;transition:border-color var(--transition), box-shadow var(--transition), transform var(--transition);gap:.18rem;padding:1.1rem 1.25rem;display:grid}.node-navigation a:hover,.node-navigation a:focus-visible{border-color:var(--divider);box-shadow:var(--shadow-md);color:var(--text-primary);transform:translateY(-2px)}.node-navigation strong{letter-spacing:-.015em;font-size:1.05rem;font-weight:550}.navigation-order{color:var(--text-dim);font-variant-numeric:tabular-nums;font-size:.75em}.node-navigation span{color:var(--text-secondary);font-size:.82rem}.navigation-direction{font-weight:600;color:var(--text-dim)!important;font-size:.72rem!important}.login-page{max-width:var(--content-max-width);align-items:center;min-height:calc(100vh - 4.9rem);padding-top:3rem;padding-bottom:5rem;display:flex}.login-layout{grid-template-columns:minmax(0,1.1fr) minmax(17rem,.9fr);align-items:center;gap:clamp(2rem,6vw,6rem);width:100%;display:grid}.login-form{z-index:1;max-width:37rem;position:relative}.login-kicker{color:var(--accent-ink);letter-spacing:.05em;text-transform:uppercase;margin:0 0 .9rem;font-size:.74rem;font-weight:600}.login-form h1{letter-spacing:-.018em;text-wrap:balance;max-width:30rem;font-size:clamp(2.1rem,3.6vw,3.1rem);font-weight:600;line-height:1.12}.login-introduction{color:var(--text-secondary);max-width:34rem;margin:1.15rem 0 2rem;font-size:clamp(1rem,1.4vw,1.1rem);line-height:1.62}.login-entry{align-items:stretch;gap:.6rem;max-width:34rem;display:flex}.login-form input{background:var(--surface);border:1px solid var(--divider);border-radius:var(--radius-input);color:var(--text-primary);min-width:0;transition:border-color var(--transition), box-shadow var(--transition);flex:1;padding:.8rem 1rem}.login-form input::placeholder{color:var(--text-dim)}.login-form input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:0}.login-form button,.admin-create-form button,.table-actions button,.button-row button{background:var(--accent);border:1px solid var(--accent);border-radius:var(--radius-input);color:#fff;letter-spacing:0;text-transform:none;transition:background var(--transition), box-shadow var(--transition);padding:.8rem 1.25rem;font-size:.88rem;font-weight:500}.login-form button:hover,.admin-create-form button:hover,.table-actions button:hover,.button-row button:hover{background:var(--accent-strong);border-color:var(--accent-strong);box-shadow:var(--shadow-sm)}.login-form [role=alert]{color:#b42318;margin:1rem 0 0}.register-panel{z-index:1;max-width:37rem;position:relative}.register-panel h1{letter-spacing:-.016em;text-wrap:balance;font-size:clamp(1.75rem,2.8vw,2.4rem);font-weight:600;line-height:1.14}.register-panel code{background:var(--accent-soft);border-radius:var(--radius-xs);color:var(--accent-ink);padding:.1rem .35rem}.register-form{gap:.35rem;max-width:34rem;margin-top:1.4rem;display:grid}.register-form label{color:var(--text-secondary);font-size:.82rem}.register-form input{background:var(--surface);border:1px solid var(--divider);border-radius:var(--radius-input);color:var(--text-primary);transition:border-color var(--transition), box-shadow var(--transition);margin-bottom:.85rem;padding:.8rem 1rem}.register-form input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:0}.register-form .muted{margin:-.4rem 0 1rem}.register-form [role=alert],.register-panel [role=alert]{color:#b42318;margin:0 0 1rem}.register-panel>button{background:var(--surface);border:1px solid var(--divider);border-radius:var(--radius-input);color:var(--text-primary);transition:background var(--transition), border-color var(--transition);margin-top:1.4rem;padding:.6rem .9rem}.register-panel>button:hover{background:var(--surface-sunken);border-color:var(--divider-strong)}.login-alternative{color:var(--text-secondary);margin:1.5rem 0 0;font-size:.92rem}.login-form .link-button,.link-button{color:var(--accent-ink);cursor:pointer;font:inherit;text-transform:none;background:0 0;border:0;padding:0;text-decoration:underline}.admin-tabs{border-bottom:1px solid var(--divider-subtle);flex-wrap:wrap;gap:.25rem;margin-bottom:1.6rem;display:flex}.admin-tab{color:var(--text-secondary);cursor:pointer;transition:color var(--transition);background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:.7rem .95rem;font-size:.86rem;font-weight:500}.admin-tab:hover{color:var(--text-primary)}.admin-tab.active{border-bottom-color:var(--accent);color:var(--accent-ink);font-weight:600}.schedule-toggle{align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.schedule-table{border-collapse:collapse;margin:1.5rem 0}.schedule-table th{color:var(--text-secondary);text-align:left;padding:.3rem 1.5rem .3rem 0;font-weight:500}.schedule-table td{padding:.3rem 0}.label-picker{color:var(--text-secondary);justify-self:start;gap:.3rem;max-width:26rem;margin-bottom:1rem;font-size:.82rem;display:grid}.label-picker select{background:var(--surface);border:1px solid var(--divider);border-radius:var(--radius-sm);color:var(--text-primary);padding:.5rem}.label-members{color:var(--text-secondary);gap:.2rem;margin:0 0 .5rem;padding:0;font-size:.88rem;list-style:none;display:grid}.approval-controls{border:1px solid var(--divider-subtle);border-radius:var(--radius-md);gap:.75rem;margin-top:1.2rem;padding:1rem;display:grid}.approval-controls legend{color:var(--text-secondary);padding:0 .35rem;font-size:.78rem}.approval-controls>label{color:var(--text-secondary);justify-self:start;gap:.3rem;font-size:.82rem;display:grid}.approval-controls select{background:var(--surface);border:1px solid var(--divider);border-radius:var(--radius-sm);color:var(--text-primary);padding:.5rem}.login-visual{aspect-ratio:1.05;background:radial-gradient(circle at 45% 45%, #4d6bfe29, transparent 62%), var(--surface);border:1px solid var(--divider-subtle);border-radius:var(--radius-card);box-shadow:var(--shadow-md);min-height:20rem;position:relative;overflow:hidden}.login-visual:before{content:"";background-image:linear-gradient(#4d6bfe29 1px,#0000 1px),linear-gradient(90deg,#4d6bfe29 1px,#0000 1px);background-size:2.8rem 2.8rem;animation:32s linear infinite deriva-reticula;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle,#000,#0000 72%);mask-image:radial-gradient(circle,#000,#0000 72%)}.login-visual:after{content:"";border:1px solid #4d6bfe80;border-radius:50%;width:23%;height:23%;animation:7s ease-in-out infinite respiro-anillo;position:absolute;top:38%;left:38%}.login-visual canvas{pointer-events:none;width:100%;height:100%;display:block;position:absolute;top:0;left:0}@keyframes deriva-reticula{to{background-position:2.8rem 2.8rem}}@keyframes respiro-anillo{0%,to{opacity:.45;transform:scale(.97)}50%{opacity:1;transform:scale(1.05)}}.status{text-align:center;max-width:40rem;padding-top:14vh}.status h1{font-size:clamp(1.9rem,3.2vw,2.75rem)}.status p{color:var(--text-secondary)}.status a{color:var(--accent-ink);margin-top:1rem;display:inline-block}.page-heading{border-bottom:1px solid var(--divider-subtle);margin-bottom:2rem;padding-bottom:1.25rem}.admin-create-form{flex-wrap:wrap;align-items:end;gap:1rem;margin-bottom:2rem;display:flex}.admin-create-form label{color:var(--text-secondary);gap:.3rem;font-size:.82rem;display:grid}.admin-create-form input,.admin-create-form select,.admin-table input,.admin-table select{background:var(--surface);border:1px solid var(--divider);border-radius:var(--radius-sm);color:var(--text-primary);padding:.5rem}.admin-create-form button,.table-actions button,.button-row button{padding:.55rem .9rem;font-size:.82rem}.admin-table-wrapper{background:var(--surface);border:1px solid var(--divider-subtle);border-radius:var(--radius-md);overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;font-size:.85rem}.admin-table th,.admin-table td{border-bottom:1px solid var(--divider-subtle);text-align:left;vertical-align:top;padding:.7rem .9rem}.admin-table tr:last-child td{border-bottom:0}.admin-table th{background:var(--bg-sunken);color:var(--text-secondary);letter-spacing:.04em;text-transform:uppercase;font-size:.72rem;font-weight:600}.table-actions,.button-row{flex-wrap:wrap;gap:.4rem;display:flex}.one-time-code{background:var(--accent-soft);border:1px solid var(--accent-tint);border-radius:var(--radius-md);margin-top:1.5rem;margin-bottom:2rem;padding:1.25rem}.one-time-code code{background:var(--surface);border:1px solid var(--divider-subtle);border-radius:var(--radius-sm);overflow-wrap:anywhere;margin:1rem 0;padding:.7rem .85rem;font-size:1.05rem;display:block}.one-time-code:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.reflection-filters{flex-wrap:wrap;align-items:end;gap:1rem;margin-bottom:1.2rem;display:flex}.reflection-filters label{gap:.3rem;font-size:.82rem;display:grid}.reflection-review-list{gap:1rem;display:grid}.reflection-record{background:var(--surface);border:1px solid var(--divider-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:1rem 1.2rem}.reflection-record header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.6rem;display:flex}.reflection-record header span{color:var(--text-secondary);font-size:.82rem}.node-reflection{background:var(--surface);border:1px solid var(--divider-subtle);border-radius:var(--radius-panel);box-shadow:var(--shadow-sm);margin-top:2.5rem;padding:1.5rem}.node-reflection h2{margin:.2rem 0 .7rem;font-size:1.1rem}.node-reflection textarea{background:var(--surface);border:1px solid var(--divider);border-radius:var(--radius-sm);color:var(--text-primary);font:inherit;resize:vertical;transition:border-color var(--transition), box-shadow var(--transition);width:100%;margin-top:1rem;padding:.8rem}.node-reflection textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:0}.node-reflection button{background:var(--accent);border:1px solid var(--accent);border-radius:var(--radius-sm);color:#fff;transition:background var(--transition);padding:.55rem .9rem;font-size:.85rem}.node-reflection button:hover:not(:disabled){background:var(--accent-strong)}.node-reflection button:disabled{opacity:.45}.reflection-actions{justify-content:space-between;align-items:center;gap:1rem;margin-top:.7rem;display:flex}.reflection-ready{color:var(--accent-ink)}.reflection-meta{color:var(--text-secondary);font-size:.85rem}.reflection-body{border-left:2px solid var(--accent);white-space:pre-wrap;margin:1rem 0;padding-left:1rem}.delivery-note{color:var(--text-secondary);margin:0 0 1rem}.grant-record button.destructive{background:var(--surface);color:#b42318;border-color:#b4231859}.grant-record button.destructive:hover{background:#b423180f;border-color:#b4231880}.operation-message{border-left:2px solid var(--accent);padding-left:.75rem}.admin-page{max-width:74rem}.admin-section{border-top:1px solid var(--divider-subtle);margin-top:3rem;padding-top:1.5rem}.admin-section>h2{margin-bottom:1rem;font-size:1.3rem}.admin-section textarea{background:var(--surface);border:1px solid var(--divider);border-radius:var(--radius-sm);color:var(--text-primary);resize:vertical;width:100%;max-width:48rem;min-height:9rem;margin:1rem 0;padding:.75rem;display:block}.admin-section>button,.grant-record button,.node-scope-selector button,.one-time-code button{background:var(--surface);border:1px solid var(--divider);border-radius:var(--radius-sm);color:var(--text-primary);transition:background var(--transition), border-color var(--transition);padding:.55rem .85rem;font-size:.82rem}.admin-section>button:hover,.grant-record button:hover,.node-scope-selector button:hover,.one-time-code button:hover{background:var(--surface-sunken);border-color:var(--divider-strong)}.file-control{color:var(--text-secondary);flex-wrap:wrap;gap:.7rem;margin:.8rem 0;font-size:.82rem;display:flex}.node-scope-selector{border:1px solid var(--divider-subtle);border-radius:var(--radius-md);gap:.5rem;min-width:min(100%,36rem);margin:.75rem 0;padding:.95rem;display:grid}.node-scope-selector legend{color:var(--text-secondary);padding:0 .35rem;font-size:.78rem}.node-scope-selector>label,.node-checklist>label{align-items:start;gap:.55rem;display:flex}.node-checklist{border-top:1px solid var(--divider-subtle);gap:.45rem;max-height:22rem;padding-top:.75rem;display:grid;overflow-y:auto}.node-checklist label{color:var(--text-secondary);font-size:.8rem}.grant-list{gap:1rem;display:grid}.grant-record{background:var(--surface);border:1px solid var(--divider-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:1.15rem}.grant-record>header{justify-content:space-between;align-items:start;gap:1rem;display:flex}.grant-record h3{margin:0;font-size:1rem}.grant-record header p,.grant-record header>span{color:var(--text-secondary);margin:.2rem 0 0;font-size:.76rem}.grant-record dl{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin:1rem 0;display:grid}.grant-record dl div{min-width:0}.grant-record dt{color:var(--text-dim);letter-spacing:.04em;text-transform:uppercase;font-size:.68rem;font-weight:600}.grant-record dd{overflow-wrap:anywhere;margin:.15rem 0 0;font-size:.78rem}.grant-record details{border-bottom:1px solid var(--divider-subtle);border-top:1px solid var(--divider-subtle);margin:1rem 0;padding:.75rem 0}.grant-record summary{color:var(--accent-ink);cursor:pointer;font-size:.8rem}.grant-edit-grid{grid-template-columns:2fr 1fr 1fr;gap:.75rem;margin-top:1rem;display:grid}.grant-edit-grid label{color:var(--text-secondary);gap:.3rem;font-size:.76rem;display:grid}.grant-edit-grid input,.grant-edit-grid select{background:var(--surface);border:1px solid var(--divider);border-radius:var(--radius-sm);color:var(--text-primary);min-width:0;padding:.5rem}.bulk-code-list{gap:.5rem;margin:1rem 0;display:grid}.bulk-code-list p{border-bottom:1px solid var(--divider-subtle);grid-template-columns:minmax(10rem,1fr) auto;align-items:center;gap:.5rem;margin:0;padding:.65rem 0;display:grid}.bulk-code-list code{margin:0}.admin-login-form{background:var(--surface);border:1px solid var(--divider-subtle);border-radius:var(--radius-panel);box-shadow:var(--shadow-md);width:min(100%,32rem);margin:auto;padding:clamp(1.4rem,4vw,2.5rem)}.admin-login-form label{color:var(--text-secondary);gap:.3rem;margin-bottom:.85rem;font-size:.8rem;display:grid}.site-footer{border-top:1px solid var(--divider-subtle);color:var(--text-secondary);padding:1.75rem max(1.25rem, calc((100vw - var(--content-max-width)) / 2));grid-template-columns:1fr auto auto;align-items:center;gap:1rem;margin-top:auto;display:grid;position:relative}.footer-brand{align-items:center;gap:.8rem;display:flex}.footer-brand-copy{display:grid}.site-footer strong{color:var(--text-primary);letter-spacing:-.005em;font-size:.8rem;font-weight:600}.site-footer span,.site-footer small,.site-footer a{font-size:.74rem}.site-footer a{color:var(--text-secondary)}.site-footer a:hover{color:var(--accent-ink)}@media (width<=66rem){.login-layout{grid-template-columns:minmax(0,1fr) minmax(15rem,.75fr);gap:3rem}.node-reading-layout{grid-template-columns:minmax(0, var(--reading-width)) minmax(10rem, 13rem)}}@media (width<=52rem){.site-header{grid-template-columns:minmax(0,1fr) auto}.course-search{grid-area:2/1/auto/-1}.stage-nav{display:none}.timeline-layout,.node-reading-layout{display:block}.node-aside{border-top:1px solid var(--divider-subtle);grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;margin-top:2.5rem;padding-top:1.25rem}.node-aside section{border-left:0;padding-left:0}.section-outline-desktop{display:none}.section-outline-mobile{background:var(--surface);border:1px solid var(--divider-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);margin-bottom:2rem;padding:.8rem .9rem;display:block}.section-outline-mobile summary{color:var(--text-primary);cursor:pointer;justify-content:space-between;align-items:center;font-size:.8rem;font-weight:600;list-style:none;display:flex}.section-outline-mobile summary::-webkit-details-marker{display:none}.section-outline-mobile summary small{color:var(--text-dim);font-size:.7rem;font-weight:500}.section-outline-mobile[open] summary{border-bottom:1px solid var(--divider-subtle);margin-bottom:.65rem;padding-bottom:.65rem}.section-outline-mobile .section-outline-list{gap:.15rem}.section-outline-mobile .section-outline-list a{min-height:2.5rem;padding:.52rem .3rem}.login-layout{grid-template-columns:1fr}.login-visual{order:-1;min-height:15rem;max-height:18rem}.concept-index,.transversal-index{grid-template-columns:1fr}.grant-record dl{grid-template-columns:repeat(2,minmax(0,1fr))}.grant-edit-grid{grid-template-columns:1fr}.site-footer{grid-template-columns:1fr auto}.site-footer small{grid-column:1/-1}}@media (width<=38rem){main,.status{padding-left:1.1rem;padding-right:1.1rem}.site-header{gap:.7rem;padding-left:1.1rem;padding-right:1.1rem}.site-name{font-size:.78rem}.header-identity{flex-direction:column;align-items:flex-start;gap:.35rem}.course-navigation{border-left:0;gap:.2rem;padding-left:0}.course-navigation a{padding:.3rem .45rem;font-size:.76rem}.session-controls{gap:.45rem}.search-panel{max-height:min(24rem,100vh - 8rem)}.role-switcher{font-size:.68rem}.timeline-intro{padding-bottom:2rem}.stage-heading{align-items:flex-start}.stage li a{grid-template-columns:2.2rem minmax(0,1fr) auto;min-height:4.6rem;padding:.95rem}.node-hero{border-radius:var(--radius-panel);padding:1.35rem}.node-course-context{gap:1rem}.node-stage-title{max-width:13rem}.reading-flow{border-radius:var(--radius-md);padding:1.2rem}.node-aside{grid-template-columns:1fr;display:grid}.node-navigation{grid-template-columns:1fr}.node-navigation>div:last-child{text-align:left}.login-entry{flex-direction:column;align-items:stretch}.login-form button{min-height:2.9rem}.login-visual{display:none}.concept-index a,.transversal-index a{grid-template-columns:minmax(0,1fr) auto auto;min-height:4.2rem}.concept-focus,.transversal-focus{padding:1.3rem}.session-name{max-width:8rem}.impra-brand{padding-right:.55rem}.impra-brand img{height:2.35rem}.grant-record dl{grid-template-columns:1fr}.bulk-code-list p,.site-footer{grid-template-columns:1fr;align-items:start}.site-footer small{grid-column:auto}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}.reading-progress>span{transition:none}.login-visual:before,.login-visual:after{animation:none!important}}
