:root{--paper: #ffffff;--paper-2: #f8f6f2;--paper-3: #efece6;--ink: #221e19;--ink-2: #5a5249;--ink-3: #857b70;--rule: #e7e2d9;--rule-strong: #d3cbbd;--brass: #9a7646;--brass-ink: #7a5c33;--brass-soft: #f3ecdf;--mark: #f0dfb4;--k-general: #2a5bc7;--k-structure: #157f59;--k-topography: #98670a;--k-function: #be3450;--k-supply: #0a8ca6;--k-clinical: #7a45c2;--k-slides: #c2571a;--k-recall: #6c6974;--k-neutral: #857b70;--hy-bg: #fff3cc;--hy-line: #e0b940;--hy-ink: #5a4200;--sans: "Inter", system-ui, sans-serif;--bar: 72px;--wrap: 1240px;--gutter: 40px;color-scheme:light;-webkit-text-size-adjust:100%;text-size-adjust:100%}*{box-sizing:border-box}html{scroll-padding-top:calc(var(--bar) + 24px)}html.is-locked{overflow:hidden}body{margin:0;background:var(--paper);color:var(--ink);font:400 15px/1.6 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}:focus-visible{outline:2px solid var(--brass);outline-offset:3px;border-radius:2px}::selection{background:var(--mark);color:var(--ink)}[hidden]{display:none!important}.app{display:flex;flex-direction:column;min-height:100dvh}main{flex:1;outline:none}.kicker{display:inline-flex;align-items:center;gap:6px;margin:0 0 14px;font:500 11.5px/1.4 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.icon-button{display:grid;place-items:center;width:40px;height:40px;border-radius:999px;color:var(--ink-2)}.icon-button:hover{background:var(--paper-3);color:var(--ink)}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip-link{position:fixed;top:12px;left:12px;z-index:100;padding:10px 14px;background:var(--ink);color:var(--paper);transform:translateY(-200%)}.skip-link:focus{transform:none}.masthead{position:sticky;top:0;z-index:30;background:color-mix(in srgb,var(--paper) 92%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--rule)}.masthead.has-panel{background:var(--paper);-webkit-backdrop-filter:none;backdrop-filter:none}.masthead-bar{display:flex;align-items:center;gap:32px;max-width:var(--wrap);height:var(--bar);margin:0 auto;padding:0 var(--gutter)}.masthead-bar .brand{margin-left:-8px}.brand{display:flex;align-items:center;justify-content:flex-start;gap:10px;padding:0 8px 2px;flex-shrink:0;line-height:0}.brand-logo{display:block;width:52px;flex-shrink:0;height:auto;filter:brightness(.67)}.brand-name{color:var(--ink);font:600 21px/1 var(--sans);letter-spacing:.04em}.brand-letter{display:inline-block;opacity:0;clip-path:inset(0 100% 0 0)}.brand-x-final{opacity:0}.brand.is-intro-playing .brand-letter{animation:codex-letter-unveil .4s cubic-bezier(.4,0,.2,1) both}.brand.is-intro-playing .brand-x-outline{animation:codex-x-draw 2s linear both}.brand.is-intro-playing .brand-x-upper{animation:codex-x-draw .55s linear .55s both}.brand.is-intro-playing .brand-x-lower{animation:codex-x-draw .75s linear 1.25s both}.brand.is-intro-playing .brand-x-final{animation:codex-x-final 1ms linear 2s forwards}.brand.is-intro-playing .brand-x-traced{animation:codex-x-settle 1ms linear 2s forwards}@keyframes codex-x-draw{0%{stroke-dashoffset:1}to{stroke-dashoffset:0}}@keyframes codex-letter-unveil{0%{opacity:0;clip-path:inset(0 100% 0 0)}to{opacity:1;clip-path:inset(0 0 0 0)}}@keyframes codex-x-final{to{opacity:1}}@keyframes codex-x-settle{to{opacity:0}}.primary-nav{display:flex;align-items:center;gap:4px;height:100%}.nav-year{position:relative;height:100%}.nav-link{position:relative;display:inline-flex;align-items:center;gap:4px;height:100%;padding:0 12px;font-size:14px;font-weight:500;color:var(--ink-2)}.nav-link:hover,.nav-link[aria-current=page],.nav-link.is-current,.nav-link[aria-expanded=true]{color:var(--ink)}.nav-link[aria-current=page]:after,.nav-link.is-current:after{content:"";position:absolute;left:12px;right:12px;bottom:-1px;height:2px;background:var(--brass)}.primary-nav .chev{color:var(--ink-3);transition:transform .2s}.primary-nav button[aria-expanded=true] .chev{transform:rotate(180deg)}.year-menu{position:absolute;top:calc(100% + 8px);left:0;z-index:40;display:grid;gap:18px;width:max-content;min-width:260px;max-width:340px;padding:18px 8px 10px;background:var(--paper);border:1px solid var(--rule-strong);border-radius:10px;box-shadow:0 24px 48px -24px #140e0866}.year-menu-group .kicker{display:flex;margin:0 0 6px;padding:0 12px}.year-menu ul{margin:0;padding:0;list-style:none}.year-menu a{display:block;padding:8px 12px;border-radius:6px;font-size:14.5px;line-height:1.35;color:var(--ink-2)}.year-menu a:hover{background:var(--paper-2);color:var(--ink)}.year-menu a[aria-current=page]{color:var(--brass-ink);font-weight:500}.year-menu-empty{margin:0;padding:0 12px 8px;font-size:14px;color:var(--ink-3)}.slidebox-name{display:block}.slidebox-detail{display:block;margin-top:2px;font-size:12.5px;color:var(--ink-3)}.year-menu .slidebox-soon{display:block;padding:8px 12px;font-size:14.5px;line-height:1.35;color:var(--ink-3);cursor:default}.masthead-tools{display:flex;align-items:center;gap:8px;margin-left:auto}.search-trigger{display:inline-flex;align-items:center;gap:10px;width:260px;height:40px;padding:0 8px 0 14px;border:1px solid var(--rule-strong);border-radius:999px;color:var(--ink-3);font-size:14px;transition:border-color .15s,background .15s}.search-trigger:hover{border-color:var(--brass);background:var(--paper-2)}.search-trigger-label{flex:1;text-align:left}kbd{padding:2px 7px;border:1px solid var(--rule);border-radius:999px;font:500 10.5px/1.5 var(--sans);color:var(--ink-3);background:var(--paper)}.donate-button{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 16px;border-radius:999px;background:var(--brass);color:var(--paper);font-size:14px;font-weight:600;transition:background .15s}.donate-button:hover{background:var(--brass-ink)}.menu-trigger{display:none}.read-progress{position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--brass);transform-origin:left;transform:scaleX(var(--progress, 0))}.subject-panel{position:absolute;top:100%;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--rule);box-shadow:0 24px 48px -32px #1e140a59}.subject-panel-inner{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px;max-width:var(--wrap);margin:0 auto;padding:32px var(--gutter) 40px}.panel-primary{display:none}.panel-year .kicker{display:flex;padding-bottom:12px;margin-bottom:8px;border-bottom:1px solid var(--rule)}.panel-year ul{margin:0;padding:0;list-style:none}.panel-year a{display:block;padding:6px 0;font:400 16px/1.4 var(--sans);color:var(--ink-2);transition:color .15s,transform .15s}.panel-year a:hover,.panel-year a[aria-current=page]{color:var(--brass-ink);transform:translate(4px)}.panel-empty,.panel-year .slidebox-soon{display:block;margin:0;padding:6px 0;font:400 16px/1.4 var(--sans);color:var(--ink-3)}.scrim{position:fixed;inset:0;z-index:20;background:#140e0847}.page{max-width:var(--wrap);margin:0 auto;padding:40px var(--gutter) 120px}.page-head{max-width:760px;padding:24px 0 48px}h1{margin:0 0 18px;font:600 clamp(34px,4.4vw,54px) / 1.08 var(--sans);letter-spacing:-.025em;overflow-wrap:break-word}h2{margin:0;font:600 24px/1.25 var(--sans);letter-spacing:-.015em}.lede{max-width:56ch;margin:0;font:400 18px/1.6 var(--sans);color:var(--ink-2)}.crumbs ol{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0;padding:0;list-style:none;font:500 12px/1.5 var(--sans);letter-spacing:.04em;color:var(--ink-3)}.crumbs li+li:before{content:"/";margin-right:6px;color:var(--rule-strong)}.crumbs a:hover{color:var(--brass-ink)}.crumbs [aria-current=page]{color:var(--ink-2)}.home{max-width:var(--wrap);margin:0 auto;padding:0 var(--gutter)}.reveal{opacity:0;transform:translateY(40px);transition:opacity .9s cubic-bezier(.2,.7,.2,1) var(--delay, 0ms),transform .9s cubic-bezier(.2,.7,.2,1) var(--delay, 0ms)}.reveal.is-visible{opacity:1;transform:none}@property --draw{syntax: "<percentage>"; inherits: false; initial-value: 0%;}.draw-in{--draw: 0%;-webkit-mask-image:linear-gradient(to top,#000 calc(var(--draw) - 14%),transparent var(--draw));mask-image:linear-gradient(to top,#000 calc(var(--draw) - 14%),transparent var(--draw));transition:--draw 2.8s cubic-bezier(.45,0,.25,1) var(--delay, 0ms)}.draw-in.is-visible{--draw: 114%}main:has(>.home){display:flex;flex-direction:column}.home{display:flex;flex:1;flex-direction:column;width:100%}.motto{display:flex;align-items:center;justify-content:flex-end;gap:clamp(20px,3vw,40px);margin:auto 0 0;text-align:right}.motto-text{display:grid;justify-items:end}.motto-portrait{flex:none;width:clamp(200px,22vw,300px);aspect-ratio:606 / 720;pointer-events:none;color:var(--ink);-webkit-mask-image:linear-gradient(to bottom,#000 62%,transparent);mask-image:linear-gradient(to bottom,#000 62%,transparent)}.motto-portrait svg{display:block;width:100%;height:auto}.motto blockquote{margin:0}.motto blockquote p{margin:0;font:italic 400 clamp(22px,2.25vw,32px) / 1.2 var(--sans);letter-spacing:-.01em;color:var(--ink)}.motto figcaption{display:grid;justify-items:end;gap:6px;margin-top:14px;color:var(--ink-3)}.motto-author{font:500 12px/1.4 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}.motto-source{font-size:13px;line-height:1.4}.motto cite{font-style:italic;color:var(--brass-ink)}.about{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px;padding:72px 0 48px}.about-num{margin-right:.4em;color:var(--brass-ink)}.about-entry h2{margin-bottom:16px}.about-entry p{margin:0;font-size:15.5px;line-height:1.8;color:var(--ink-2)}.account-link{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 14px;border-radius:999px;color:var(--ink-2);font-size:14px;font-weight:500;transition:background .15s,color .15s}.account-link:hover,.account-link[aria-current=page]{background:var(--paper-3);color:var(--ink)}.account-form{display:grid;gap:22px;max-width:420px;padding-top:32px;border-top:1px solid var(--ink)}.field{display:grid;gap:8px}.field>span{font:500 12px/1.4 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}.field input{height:48px;padding:0 14px;border:1px solid var(--rule-strong);border-radius:10px;background:var(--paper);font:400 16px/1 var(--sans);color:var(--ink);transition:border-color .15s}.field input:hover{border-color:var(--brass)}.field input:focus-visible{outline-offset:0;border-color:var(--brass)}.field small{font-size:13px;color:var(--ink-3)}.form-error{margin:-6px 0 0;min-height:1.4em;font-size:14px;color:var(--k-function)}.form-error:empty{display:none}.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:48px;padding:0 24px;border-radius:999px;font-size:15px;font-weight:600;transition:background .15s,border-color .15s,color .15s}.primary-button{background:var(--brass);color:var(--paper)}.primary-button:hover{background:var(--brass-ink)}.primary-button:disabled{opacity:.6;cursor:progress}.secondary-button{justify-self:start;border:1px solid var(--rule-strong);color:var(--ink-2)}.secondary-button:hover{border-color:var(--brass);color:var(--ink)}.form-switch{margin:0;font-size:14px;color:var(--ink-3)}.form-switch a{color:var(--brass-ink);font-weight:500;text-decoration:underline;text-underline-offset:3px}.feature-row{cursor:default}.feature-row .contents-num{align-self:center;color:var(--brass)}.feature-soon{align-self:center;padding:5px 10px;border:1px solid var(--rule-strong);border-radius:999px;font:600 11px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);white-space:nowrap}.contents-row.feature-row:hover strong{color:inherit}.account-summary{display:grid;gap:24px;max-width:760px;padding-top:72px}.account-summary .kicker{margin:0}.account-summary dl{display:grid;margin:0;border-top:1px solid var(--ink)}.account-summary dl>div{display:grid;grid-template-columns:160px minmax(0,1fr);gap:24px;padding:16px 4px;border-bottom:1px solid var(--rule)}.account-summary dt{color:var(--ink-3)}.account-summary dd{margin:0;overflow-wrap:anywhere}.subject-head{max-width:none}.contents{margin:0;padding:0;list-style:none;border-top:1px solid var(--ink)}.contents li{border-bottom:1px solid var(--rule)}.contents-part h2{padding:44px 4px 12px;font:600 12px/1.4 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--brass-ink)}.contents-part:first-child h2{padding-top:24px}.kind-legend{display:flex;flex-wrap:wrap;gap:10px 18px;margin:24px 0 0;padding:0;list-style:none}.kind-legend li{display:inline-flex;align-items:center;gap:7px;font:600 11px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--c)}.kind-legend li:before{content:"";width:9px;height:9px;border-radius:3px;background:var(--c)}.kind-legend .k-hy:before{background:var(--hy-line)}.contents-row{display:grid;grid-template-columns:72px minmax(0,1fr) auto 18px;gap:24px;align-items:baseline;padding:32px 4px}.contents-num{font:500 22px/1 var(--sans);color:var(--brass)}.contents-body strong{display:block;font:600 clamp(19px,1.8vw,22px) / 1.3 var(--sans);letter-spacing:-.01em;transition:color .15s}.contents-body span{display:block;max-width:64ch;margin-top:8px;color:var(--ink-2)}.contents-min{font:500 12px/1 var(--sans);color:var(--ink-3);white-space:nowrap}.contents-arrow{align-self:center;color:var(--ink-3);transition:transform .2s,color .15s}.contents-row:hover strong,.contents-row:hover .contents-arrow{color:var(--brass-ink)}.contents-row:hover .contents-arrow{transform:translate(4px)}.reader{display:grid;grid-template-columns:240px minmax(0,1fr) 220px;justify-content:space-between;gap:48px;max-width:none;margin:0 auto;padding:40px var(--gutter) 120px}.reader-rail,.reader-toc{position:sticky;top:calc(var(--bar) + 40px);align-self:start;max-height:calc(100dvh - var(--bar) - 80px);overflow-y:auto}.reader-rail ol,.reader-toc ol{margin:0;padding:0;list-style:none}.rail-back{display:flex;align-items:center;gap:8px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--rule);font-size:13.5px;font-weight:500;color:var(--ink)}.rail-back:hover{color:var(--brass-ink)}.reader-rail ol a{display:grid;grid-template-columns:28px minmax(0,1fr);padding:7px 0;font-size:13.5px;line-height:1.45;color:var(--ink-3)}.reader-rail ol a:hover{color:var(--ink)}.reader-rail ol a[aria-current=page]{color:var(--brass-ink);font-weight:500}.rail-num{font:500 11px/1.9 var(--sans)}.reader-toc .kicker{margin-bottom:12px}.reader-toc a{display:flex;gap:9px;padding:6px 0 6px 14px;border-left:1px solid var(--rule);font-size:13px;line-height:1.45;color:var(--ink-3);transition:color .15s,border-color .15s}.reader-toc a:hover{color:var(--ink)}.reader-toc a:before{content:"";flex:none;width:6px;height:6px;margin-top:7px;border-radius:2px;background:var(--c);opacity:.5}.reader-toc a.is-active{color:var(--ink);border-left:2px solid var(--c);padding-left:13px}.reader-toc a.is-active:before{opacity:1}.reader-toc a.k-hy:before{background:var(--hy-line)}.rail-part{margin:18px 0 4px;font:600 10.5px/1.4 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.rail-part:first-child{margin-top:0}.doc{min-width:0}.doc-head{padding:32px 0 40px;margin-bottom:8px;border-bottom:1px solid var(--rule)}.doc-title{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 22px;align-items:start}.doc-num{font:200 76px/.8 var(--sans);letter-spacing:-.05em;color:var(--brass);font-variant-numeric:lining-nums tabular-nums;padding-top:4px}.doc-head h1{font-size:clamp(28px,3.2vw,40px);line-height:1.15}.doc-head .lede{max-width:none}.outline-flag{display:inline-flex;align-items:flex-start;gap:8px;margin:18px 0 0;font:500 12.5px/1.4 var(--sans);color:var(--ink-3)}.outline-flag:before{content:"";flex:none;margin-top:5px;width:7px;height:7px;border-radius:50%;background:var(--brass)}.notice,.contents-body .contents-notice{display:block;width:fit-content;padding:6px 12px;border:1px solid color-mix(in srgb,var(--brass) 35%,var(--rule));border-radius:8px;background:var(--brass-soft);font:500 13px/1.45 var(--sans);color:var(--brass-ink)}.notice{margin:14px 0 0}.contents-body .contents-notice{margin-top:12px}.k-general{--c: var(--k-general)}.k-structure{--c: var(--k-structure)}.k-topography{--c: var(--k-topography)}.k-function{--c: var(--k-function)}.k-supply{--c: var(--k-supply)}.k-clinical{--c: var(--k-clinical)}.k-slides{--c: var(--k-slides)}.k-recall{--c: var(--k-recall)}.k-neutral{--c: var(--k-neutral)}.k-hy{--c: var(--hy-ink)}.plan{max-width:640px;margin:32px auto 8px;border:1px solid var(--rule);border-radius:14px;overflow:hidden}.plan-head{display:flex;justify-content:space-between;align-items:center;padding:12px 18px 10px;background:var(--paper-2);border-bottom:1px solid var(--rule)}.plan-title{font:700 11px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--brass-ink)}.plan-count{font-size:12px;color:var(--ink-3);font-variant-numeric:tabular-nums}.plan ol{position:relative;margin:0;padding:8px;list-style:none}.plan ol:before{content:"";position:absolute;left:29px;top:22px;bottom:22px;width:2px;border-radius:2px;background:var(--rule)}.plan-item{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:4px 14px;align-items:center;padding:7px 12px 7px 8px;border-radius:10px;transition:background .15s}.plan-item:hover{background:color-mix(in srgb,var(--c) 7%,transparent)}.plan-num{position:relative;z-index:1;display:grid;place-items:center;width:28px;height:28px;border-radius:9px;font:700 12.5px/1 var(--sans);font-variant-numeric:tabular-nums;color:var(--c);background:color-mix(in srgb,var(--c) 13%,var(--paper));box-shadow:0 0 0 3px var(--paper);transition:background .15s,color .15s}.plan-item:hover .plan-num{background:var(--c);color:var(--paper)}.plan-text{font-weight:600;font-size:15px;line-height:1.35;letter-spacing:-.01em}.plan-kind{font:650 10.5px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--c);white-space:nowrap}.doc .blk{padding:32px 0 8px}.doc .blk+.blk{border-top:1px dashed var(--rule)}.doc .blk>h2{display:inline-flex;align-items:center;gap:9px;margin:0 0 18px;padding:5px 12px 5px 6px;border-radius:8px;font:600 15px/1.3 var(--sans);letter-spacing:-.005em;color:var(--c);background:color-mix(in srgb,var(--c) 10%,transparent)}.section-num{flex:none;display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:6px;background:var(--c);color:var(--paper);font:700 11px/1 var(--sans);letter-spacing:0;font-variant-numeric:tabular-nums}.doc .blk.k-hy{margin:28px 0 8px;padding:22px 26px 12px;border:1px solid var(--hy-line);border-radius:16px;background:var(--hy-bg)}.doc .blk.k-hy>h2{background:color-mix(in srgb,var(--hy-line) 32%,transparent)}.doc .blk.k-hy+.blk{border-top:0}.doc .blk.k-hy blockquote{background:color-mix(in srgb,var(--paper) 55%,transparent);border-left-color:var(--hy-line)}.doc p{margin:0 0 20px;font:400 17px/1.75 var(--sans)}.doc ul{margin:0 0 22px;padding-left:0;list-style:none;font:400 17px/1.75 var(--sans)}.doc ul>li{position:relative;padding-left:18px}.doc ul>li+li{margin-top:6px}.doc ul>li:before{content:"";position:absolute;left:3px;top:.78em;width:5px;height:5px;border-radius:50%;background:var(--c, var(--brass))}.fig-prompt{margin:8px 0 24px;padding:14px 18px;border:1px dashed var(--rule-strong);border-radius:12px;background:var(--paper-2)}.fig-prompt figcaption{margin-bottom:6px;font:600 10.5px/1.4 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}.doc .fig-prompt p{margin:0;font-size:14.5px;line-height:1.6;color:var(--ink-2)}.fig-drawn{margin:8px 0 24px;padding:12px;border:1px solid var(--rule-strong);border-radius:12px;background:#fff}.fig-drawn img{display:block;width:100%;max-width:690px;height:auto;margin:0 auto}.art{margin:8px 0 24px;border:1px solid var(--rule-strong);border-radius:12px;background:#fff;overflow:hidden}.art-wait{height:320px;background:var(--paper-2)}.art-head{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--paper-3)}.art-title{flex:1;min-width:0;font:650 15px/1.3 var(--sans);color:var(--ink)}.art-ctrl{display:flex;gap:4px}.art-ctrl button{min-width:30px;height:28px;border:1px solid var(--rule-strong);border-radius:8px;background:var(--paper);font:600 13px/1 var(--sans);color:var(--ink-2);cursor:pointer}.art-ctrl .art-play{min-width:74px}.art-ctrl button:hover:not(:disabled){border-color:var(--ink-3);color:var(--ink)}.art-ctrl button:disabled{opacity:.4;cursor:default}.art-view{overflow-x:auto}.art-view svg{display:block;width:100%;height:auto}.art text{font-family:var(--sans);fill:var(--ink)}.art .lt{font-size:12.5px;fill:var(--ink-2)}.art .lh{font-size:13.5px;font-weight:650}.art .sm{font-size:11px;fill:var(--ink-3)}.art .lb path{stroke:#8f867a;stroke-width:.9;fill:none}.art .lb circle{fill:#5f574d}.art .lb text{font-size:12px;fill:var(--ink-2)}.art .mv{transition:transform .9s cubic-bezier(.4,0,.2,1),opacity .7s ease}.art .beam{fill:none;stroke:#e0a100;stroke-width:2.4;stroke-dasharray:6 8;animation:art-flow 1.1s linear infinite}.art .beam-glow{fill:none;stroke:#ffe9a8;stroke-width:9;stroke-linecap:round;stroke-linejoin:round;opacity:.8}@keyframes art-flow{to{stroke-dashoffset:-28}}.art .ion{animation:art-ion 2.1s linear infinite}@keyframes art-ion{0%{transform:translateY(-40px);opacity:0}20%{opacity:1}80%{opacity:1}to{transform:translateY(80px);opacity:0}}.art-step{display:flex;gap:10px;align-items:baseline;padding:10px 14px 4px;border-top:1px solid var(--paper-3);min-height:3.6em}.art-n{font:650 11px/1.4 var(--sans);color:var(--ink-3);white-space:nowrap}.art-cap{font:500 14px/1.5 var(--sans);color:var(--ink)}.art-dots{display:flex;gap:6px;padding:4px 14px 12px}.art-dots button{width:22px;height:6px;padding:0;border:0;border-radius:3px;background:var(--paper-3);cursor:pointer}.art-dots .past{background:#d9c3a5}.art-dots .on{background:#b0743a}@media(prefers-reduced-motion:reduce){.art .mv{transition:none}.art .beam,.art .ion{animation:none}}.lineage{margin:8px 0 24px;border:1px solid var(--rule-strong);border-radius:12px;background:#fff;overflow:hidden}.lineage .l-base{--fill: #f1efeb;--stroke: #8a8278}.lineage .l-troph{--fill: #eee7f8;--stroke: #7a5ca8}.lineage .l-ecto{--fill: #e2effb;--stroke: #3b7fc4}.lineage .l-neural{--fill: #cfe0f6;--stroke: #24559e}.lineage .l-crest{--fill: #dbf1ed;--stroke: #23877a}.lineage .l-meso{--fill: #fbe3df;--stroke: #c2453a}.lineage .l-endo{--fill: #fbf0cc;--stroke: #b08410}.lineage-bar{display:flex;align-items:center;gap:6px;padding:10px 12px;border-bottom:1px solid var(--paper-3)}.lineage-bar figcaption{flex:1;min-width:0}.lineage-title{display:block;font:650 15px/1.3 var(--sans);color:var(--ink)}.lineage-hint{display:block;margin-top:2px;font:500 12px/1.4 var(--sans);color:var(--ink-3)}.lineage-bar button{border:1px solid var(--rule-strong);border-radius:8px;background:var(--paper);padding:4px 10px;font:600 12px/1.4 var(--sans);color:var(--ink-2);cursor:pointer}.lineage-bar button:hover:not(:disabled){border-color:var(--ink-3);color:var(--ink)}.lineage-bar button:disabled{opacity:.45;cursor:default}.lineage-view{overflow-x:auto;overflow-y:hidden}.lineage-canvas{position:relative;transition:height .42s cubic-bezier(.33,1,.68,1)}.lineage-world{position:absolute;left:0;top:0;transform-origin:0 0;transition:transform .42s cubic-bezier(.33,1,.68,1)}.lineage-edges{position:absolute;left:0;top:0;overflow:visible}.lineage-edges path{fill:none;stroke:var(--stroke);stroke-width:1.8;stroke-opacity:.55}.lineage-node,.lineage-card{position:absolute;left:0;top:0;box-sizing:border-box;border:1.6px solid var(--stroke);background:var(--fill);color:var(--ink)}.lineage-node{display:flex;flex-direction:column;justify-content:center;padding:4px 11px;border-radius:10px;text-align:left;font-family:var(--sans);cursor:pointer;box-shadow:0 1px 2px #0000000f}.lineage-node:not([aria-expanded]){cursor:default}.lineage-node:hover[aria-expanded]{box-shadow:0 0 0 3px color-mix(in srgb,var(--stroke) 22%,transparent)}.lineage-node:focus-visible{outline:2px solid var(--stroke);outline-offset:2px}.lineage-node.open{box-shadow:0 0 0 3px color-mix(in srgb,var(--stroke) 18%,transparent)}.lineage-node.extra,.lineage-card.extra{border-style:dashed}.lineage-label{font-size:13px;font-weight:650;line-height:1.2}.lineage-note{margin-top:2px;font-size:11px;line-height:1.2;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lineage-fold{position:absolute;left:50%;bottom:-11px;transform:translate(-50%);min-width:26px;height:20px;padding:0 6px;border:1px solid var(--stroke);border-radius:999px;background:#fff;font:650 11px/18px var(--sans);text-align:center;color:var(--stroke)}.lineage-node:hover .lineage-fold,.lineage-node.open .lineage-fold{background:var(--stroke);color:#fff}.lineage-card{padding:8px 11px 9px;border-width:1px 1px 1px 4px;border-style:solid;border-radius:8px;background:#fff;box-shadow:0 6px 16px -12px #00000059}.lineage-card-h{display:block;margin-bottom:4px;font:600 10px/1.4 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--stroke)}.doc .lineage-card ul{margin:0;padding:0}.doc .lineage-card li{position:relative;margin:2px 0 0;padding-left:11px;font-size:12.5px;line-height:1.4;color:var(--ink-2)}.doc .lineage-card li:before{background:var(--stroke);left:0;top:.6em}.lineage .born{animation:lineage-born .42s ease-out}@keyframes lineage-born{0%{opacity:0;scale:.85}}.lineage .ghost{pointer-events:none}.lineage-legend{display:flex;flex-wrap:wrap;gap:4px 14px;padding:10px 12px 12px;border-top:1px solid var(--paper-3);font:500 11.5px/1.4 var(--sans);color:var(--ink-2)}.lineage-legend span{display:inline-flex;align-items:center;gap:6px}.lineage-legend i{width:18px;height:11px;border:1.4px solid var(--stroke, #8a8278);border-radius:3px;background:var(--fill, #ffffff)}.lineage-legend .extra i{border-style:dashed}.doc .k-hy ul>li:before{background:var(--hy-line)}.flow{position:relative;display:flex;flex-wrap:wrap;align-items:baseline;row-gap:4px;margin:4px 0 22px;padding:14px 18px 14px 22px;list-style:none;border:1px solid var(--rule);border-radius:12px;font:400 16px/1.7 var(--sans)}.flow:before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:3px;border-radius:0 3px 3px 0;background:var(--c)}.flow li+li:before{content:"→";padding:0 9px;font-weight:700;color:var(--c)}.questions{margin:0 0 22px;padding:0;list-style:none;counter-reset:q;font:400 16px/1.6 var(--sans)}.questions li{counter-increment:q;display:grid;grid-template-columns:36px minmax(0,1fr);padding:11px 0;border-bottom:1px solid var(--rule)}.questions li:first-child{border-top:1px solid var(--rule)}.questions li:before{content:"Q" counter(q);padding-top:2px;font:600 12px/1.6 var(--sans);color:var(--c);font-variant-numeric:tabular-nums}.prep{margin-top:48px;padding:20px 22px;border:1px solid var(--rule);border-radius:12px;background:var(--paper-2)}.prep .kicker{margin-bottom:12px}.prep dl{display:grid;gap:12px;margin:0}.prep dt{font:600 14px/1.4 var(--sans)}.prep dd{margin:2px 0 0;font-size:14px;line-height:1.55;color:var(--ink-2)}.doc blockquote{margin:32px 0;padding:24px 28px;background:var(--paper-2);border-left:3px solid var(--brass);font:italic 400 19px/1.55 var(--sans);color:var(--ink)}.table-wrap{margin:28px 0;overflow-x:auto;border-top:2px solid var(--ink);border-bottom:1px solid var(--ink);max-width:100%;overscroll-behavior-x:contain}.table-wrap table{min-width:480px}.table-wrap.compact{width:fit-content;margin-inline:auto}.table-wrap.compact table{width:auto;min-width:min(420px,100%)}.table-wrap.compact th,.table-wrap.compact td{padding-inline:18px 28px}.table-wrap.compact td.has-list{min-width:0}table{width:100%;border-collapse:collapse;font-size:14.5px}th,td{padding:14px 16px;text-align:left;vertical-align:top;border-bottom:1px solid var(--rule)}td.has-list{min-width:220px}.doc ul.cell-list{margin:0;font:inherit;line-height:1.5}.doc ul.cell-list>li{padding-left:14px}.doc ul.cell-list>li+li{margin-top:7px}.doc ul.cell-list>li:before{left:2px;top:.6em}.doc ul.cell-sub{margin:5px 0 0;font:inherit;line-height:1.45}.doc ul.cell-sub>li{padding-left:13px}.doc ul.cell-sub>li+li{margin-top:3px}.doc ul.cell-sub>li:before{left:2px;top:.62em;width:4px;height:4px;background:transparent;box-shadow:inset 0 0 0 1px var(--c, var(--brass))}.cell-list small{display:block;font-size:12.5px;line-height:1.45;color:var(--ink-3)}tr:last-child td{border-bottom:0}th{font:600 13px/1.4 var(--sans);color:var(--ink-2)}td:first-child{font-weight:500}.pager{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:72px;padding-top:32px;border-top:1px solid var(--ink)}.pager a{display:block;padding:20px;border:1px solid var(--rule);border-radius:4px;transition:border-color .15s,background .15s}.pager a:hover{border-color:var(--brass);background:var(--paper-2)}.pager .kicker{margin-bottom:8px}.pager strong{display:block;font:600 16px/1.35 var(--sans)}.pager-next{text-align:right}.pager-next .kicker{justify-content:flex-end;width:100%}.search-dialog{width:min(680px,calc(100vw - 32px));max-height:min(640px,calc(100dvh - 120px));margin:12vh auto auto;padding:0;border:1px solid var(--rule-strong);border-radius:12px;background:var(--paper);color:var(--ink);box-shadow:0 40px 80px -24px #140e0873;overflow:hidden}.search-dialog::backdrop{background:#140e0866;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.search-sheet{display:flex;flex-direction:column;max-height:inherit}.search-field{display:flex;align-items:center;gap:12px;padding:10px 10px 10px 20px;border-bottom:1px solid var(--rule);color:var(--ink-3)}.search-field input{flex:1;min-width:0;height:44px;border:0;outline:0;background:none;font:400 18px/1 var(--sans);color:var(--ink)}.search-field input::placeholder{color:var(--ink-3)}.search-body{overflow-y:auto;padding:20px}.search-hint{margin:0;color:var(--ink-3)}.search-results{margin:0 -8px;padding:0;list-style:none}.search-results a{position:relative;display:block;padding:12px 40px 12px 12px;border-radius:6px}.search-results a:hover,.search-results a:focus-visible{background:var(--paper-2)}.search-meta{display:block;font:500 11px/1.4 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.search-results strong{display:block;margin:2px 0 4px;font:600 15.5px/1.35 var(--sans)}.search-snippet{display:block;font-size:13.5px;color:var(--ink-2)}.search-snippet mark{background:var(--mark);color:inherit;border-radius:2px}.search-enter{position:absolute;top:16px;right:14px;color:var(--ink-3)}.colophon{border-top:1px solid var(--rule)}.colophon-inner{max-width:var(--wrap);margin:0 auto;padding:28px var(--gutter) calc(28px + env(safe-area-inset-bottom));font-size:13px;text-align:center;color:var(--ink-3)}.colophon-heart{color:var(--brass)}@media(max-width:1199px){.reader{grid-template-columns:minmax(0,1fr) 200px;justify-content:center}.reader-rail{display:none}}@media(max-width:1023px){:root{--gutter: 28px}.reader{grid-template-columns:minmax(0,1fr)}.reader-toc{display:none}.about{grid-template-columns:1fr;gap:40px}}.masthead-bar{max-width:1360px;gap:24px}.primary-nav{gap:2px}.nav-link{padding:0 8px;white-space:nowrap}.nav-link[aria-current=page]:after,.nav-link.is-current:after{left:8px;right:8px}.account-link{white-space:nowrap}.search-trigger{width:auto}.search-trigger kbd{display:none}@media(max-width:1339px){.search-trigger{width:40px;padding:0;justify-content:center}.search-trigger-label{display:none}}@media(max-width:1259px){.account-label,.donate-label{display:none}.account-link,.donate-button{justify-content:center;width:40px;padding:0}}@media(max-width:1180px){.masthead-bar{gap:12px;padding-top:env(safe-area-inset-top);height:calc(var(--bar) + env(safe-area-inset-top))}.primary-nav{display:none}.search-trigger{width:44px;height:44px;padding:0;justify-content:center;border:0;color:var(--ink-2)}.search-trigger-label,.search-trigger kbd,.donate-label{display:none}.donate-button{justify-content:center;width:40px;padding:0}.menu-trigger{display:grid;width:44px;height:44px;margin-right:-8px}.subject-panel{position:fixed;top:calc(var(--bar) + env(safe-area-inset-top));bottom:0;overflow-y:auto;overscroll-behavior:contain;box-shadow:none}.subject-panel-inner{grid-template-columns:1fr;gap:32px;padding:8px var(--gutter) calc(40px + env(safe-area-inset-bottom))}.panel-primary{display:flex;flex-direction:column}.panel-primary a,.panel-primary button{display:flex;align-items:center;gap:10px;min-height:56px;border-bottom:1px solid var(--rule);font:600 22px/1.2 var(--sans);text-align:left}.panel-primary button{font:500 15px/1 var(--sans);color:var(--ink-2)}.panel-year a{display:flex;align-items:center;min-height:44px;padding:4px 0}.scrim,.account-label{display:none}.account-link{justify-content:center;width:40px;padding:0}}@media(max-width:900px){:root{--bar: 64px;--gutter: max(16px, env(safe-area-inset-left))}.page{padding-top:24px}.page-head{padding:20px 0 36px}.motto{gap:16px}.motto-portrait{width:clamp(120px,36vw,180px)}.motto figcaption{margin-top:12px}.account-summary dl>div{grid-template-columns:1fr;gap:4px}.feature-row{grid-template-columns:40px minmax(0,1fr)}.feature-soon{grid-column:2;justify-self:start}.about{padding:48px 0 40px}.contents-row{grid-template-columns:40px minmax(0,1fr);gap:14px;padding:24px 0}.contents-num{font-size:18px}.contents-min,.contents-arrow{display:none}.reader{padding-top:24px}.doc-head{padding-top:20px}.doc-num{font-size:52px}.doc-title{gap:4px 14px}.plan-item{grid-template-columns:28px minmax(0,1fr)}.plan-kind{grid-column:2}.doc .blk.k-hy{padding:18px 18px 8px}.doc p,.doc ul{font-size:16.5px}.doc blockquote{padding:18px 20px;font-size:17.5px}.pager{grid-template-columns:1fr}.pager>span{display:none}.search-dialog{margin-top:max(16px,env(safe-area-inset-top));max-height:calc(100dvh - 32px)}.search-field input{font-size:17px}}@media(max-width:480px){.lede{font-size:17px}}@media(prefers-reduced-motion:reduce){.brand .brand-name,.brand .brand-letter,.brand .brand-x-final{animation:none!important;opacity:1;clip-path:none}.brand .brand-x-traced{animation:none!important;opacity:0}.brand .brand-x-stroke{animation:none!important;stroke-dashoffset:0}.reveal{opacity:1;transform:none}.draw-in{--draw: 114%}*{transition:none!important;scroll-behavior:auto!important}}
