.acad{--ink:var(--color-fd-foreground);--paper:var(--color-fd-background);--muted:var(--color-fd-muted-foreground);--rule:var(--color-fd-border);--accent:#1d3f72;--accent-soft:rgba(29,63,114,0.08);--font-display:var(--font-fraunces),"Iowan Old Style",Georgia,"Times New Roman",serif;--font-text:var(--font-newsreader),Georgia,"Times New Roman",serif;--font-tech:var(--font-jbmono),ui-monospace,"SF Mono",Menlo,monospace;position:relative;isolation:isolate;color:var(--ink);font-family:var(--font-text);font-size:18px;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:clip}.dark .acad{--accent:#a3c2ef;--accent-soft:rgba(163,194,239,0.12)}.acad:before{z-index:-2;background-image:linear-gradient(var(--rule) 1px,transparent 1px),linear-gradient(90deg,var(--rule) 1px,transparent 1px);background-size:28px 28px;background-position:top;opacity:.5;-webkit-mask-image:radial-gradient(120% 80% at 50% 0,#000 0,transparent 72%);mask-image:radial-gradient(120% 80% at 50% 0,#000 0,transparent 72%)}.acad:after,.acad:before{content:"";position:absolute;inset:0}.acad:after{z-index:-1;background:radial-gradient(100% 60% at 80% -5%,var(--accent-soft) 0,transparent 55%);pointer-events:none}.acad-wrap{width:100%;max-width:1140px;margin-inline:auto;padding-inline:clamp(1.25rem,4vw,3rem)}.acad-rule{height:1px;background:var(--ink);opacity:.85;border:0}.acad-rule--thin{background:var(--rule);opacity:1}.acad-eyebrow{font-family:var(--font-tech);font-size:.72rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);display:inline-flex;align-items:center;gap:.6em}.acad-eyebrow:before{content:"";width:1.8rem;height:1px;background:currentColor;opacity:.6}.acad-serif{font-family:var(--font-text)}.acad-masthead,.acad-mono{font-family:var(--font-tech)}.acad-masthead{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.75rem 1.5rem;padding-block:1.25rem;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}.acad-masthead b{color:var(--ink);font-weight:600}.acad-hero{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,5vw,4.5rem);align-items:center;padding-block:clamp(2.5rem,6vw,4.5rem)}@media (max-width:900px){.acad-hero{grid-template-columns:1fr}}.acad-title{font-family:var(--font-display);font-weight:600;font-size:clamp(2.6rem,6.2vw,4.6rem);line-height:.98;letter-spacing:-.02em;margin:1.4rem 0 0;text-wrap:balance}.acad-title em{font-style:italic;font-weight:500;color:var(--accent)}.acad-lead{margin:1.6rem 0 0;max-width:34ch;font-size:1.22rem;line-height:1.6;color:color-mix(in srgb,var(--ink) 86%,transparent)}.acad-lead strong{font-weight:600;color:var(--ink);box-shadow:inset 0 -.45em 0 var(--accent-soft)}.acad-cmd{margin-top:1.9rem;display:flex;align-items:center;gap:.9rem;max-width:30rem;padding:.7rem .7rem .7rem 1rem;border:1px solid var(--ink);background:var(--color-fd-card);font-family:var(--font-tech);font-size:.92rem;box-shadow:4px 4px 0 var(--ink)}.acad-cmd .prompt{color:var(--accent);user-select:none}.acad-cmd code{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.acad-actions{margin-top:1.9rem;display:flex;flex-wrap:wrap;gap:.9rem}.acad-btn{font-family:var(--font-tech);font-size:.78rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;padding:.85rem 1.4rem;border:1px solid var(--ink);transition:transform .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease;display:inline-flex;align-items:center;gap:.5em}.acad-btn--solid{background:var(--ink);color:var(--paper);box-shadow:4px 4px 0 var(--accent)}.acad-btn--solid:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--accent)}.acad-btn--ghost{background:transparent;color:var(--ink)}.acad-btn--ghost:hover{background:var(--ink);color:var(--paper)}.acad-meta{margin-top:2.4rem;display:flex;flex-wrap:wrap;gap:.4rem 1.4rem;font-family:var(--font-tech);font-size:.74rem;letter-spacing:.04em;color:var(--muted)}.acad-meta span{position:relative}.acad-meta span+span:before{content:"·";position:absolute;left:-.85rem;color:var(--accent)}.acad-meta b{color:var(--ink);font-weight:600}.acad-figure{position:relative;border:1px solid var(--ink);background:var(--color-fd-card);padding:1.1rem 1.1rem .9rem;box-shadow:8px 8px 0 var(--accent-soft)}.acad-figure svg{display:block;width:100%;height:auto}.acad-figcaption{margin-top:.7rem;padding-top:.7rem;border-top:1px solid var(--rule);font-family:var(--font-tech);font-size:.72rem;line-height:1.5;letter-spacing:.02em;color:var(--muted)}.acad-figcaption b{color:var(--ink);font-weight:600;letter-spacing:.06em}.fig-grid line{stroke:var(--rule);stroke-width:1}.fig-axis{stroke:var(--ink);stroke-width:1.4}.fig-label{font-family:var(--font-tech);font-size:11px;fill:var(--muted)}.fig-boundary{fill:none;stroke:var(--accent);stroke-width:2;stroke-dasharray:6 5;stroke-dashoffset:600;animation:figDraw 1.6s ease .5s forwards}.fig-pt{opacity:0;animation:figPop .5s ease forwards}.fig-pt--a{fill:var(--ink)}.dark .fig-pt--b,.fig-pt--b{fill:var(--accent)}@keyframes figDraw{to{stroke-dashoffset:0}}@keyframes figPop{0%{opacity:0;transform:scale(.2)}to{opacity:.92;transform:scale(1)}}.acad-section{padding-block:clamp(3rem,6vw,5rem)}.acad-sec-head{display:grid;grid-template-columns:auto 1fr;align-items:end;gap:.4rem 1.5rem;margin-bottom:2.6rem}.acad-sec-num{grid-row:span 2;font-family:var(--font-tech);font-size:.95rem;font-weight:600;letter-spacing:.1em;color:var(--accent);padding-top:.35rem}.acad-sec-title{font-family:var(--font-display);font-weight:600;font-size:clamp(1.7rem,3.4vw,2.5rem);line-height:1.04;letter-spacing:-.015em;margin:0}.acad-sec-kicker{font-family:var(--font-tech);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);align-self:start}.acad-sec-head .acad-rule{grid-column:1/-1;margin-top:1.1rem}.acad-abstract{display:grid;grid-template-columns:auto 1fr;gap:clamp(1rem,4vw,3rem);padding-block:clamp(2.5rem,5vw,3.5rem);border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}.acad-abstract-label{font-family:var(--font-tech);font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);writing-mode:vertical-rl;transform:rotate(180deg);white-space:nowrap;padding-top:.2rem}@media (max-width:700px){.acad-abstract{grid-template-columns:1fr}.acad-abstract-label{writing-mode:horizontal-tb;transform:none}}.acad-abstract p{margin:0;font-size:1.3rem;line-height:1.6;max-width:62ch}.acad-abstract p:first-of-type:first-letter{font-family:var(--font-display);font-weight:600;float:left;font-size:3.6em;line-height:.74;padding:.06em .12em 0 0;color:var(--accent)}.acad-abstract p+p{margin-top:1.1rem;font-size:1.06rem;color:var(--muted)}.acad-grid{display:grid;gap:0;border:1px solid var(--rule);background:var(--rule)}.acad-grid--2{grid-template-columns:repeat(2,1fr)}.acad-grid--3{grid-template-columns:repeat(3,1fr)}@media (max-width:820px){.acad-grid--2,.acad-grid--3{grid-template-columns:1fr}}.acad-cell{background:var(--paper);padding:1.8rem 1.7rem;display:flex;flex-direction:column;gap:.55rem;transition:background .25s ease}.acad-cell:hover{background:color-mix(in srgb,var(--accent-soft) 60%,var(--paper))}.acad-cell-idx{font-family:var(--font-tech);font-size:.72rem;letter-spacing:.1em;color:var(--accent)}.acad-cell h3{font-family:var(--font-display);font-weight:600;font-size:1.28rem;line-height:1.15;margin:0;letter-spacing:-.01em}.acad-cell p{margin:0;font-size:.99rem;line-height:1.55;color:var(--muted)}.acad-listings{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem}@media (max-width:860px){.acad-listings{grid-template-columns:1fr}}.acad-listing{border:1px solid var(--ink);background:var(--color-fd-card);display:flex;flex-direction:column}.acad-listing-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem 1rem;border-bottom:1px solid var(--ink);background:var(--color-fd-muted);font-family:var(--font-tech);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}.acad-listing-bar .tag{color:var(--accent);font-weight:600}.acad-listing-bar .file{color:var(--muted)}.acad-listing pre{margin:0;padding:1.15rem 1.2rem;overflow-x:auto;font-size:.84rem;line-height:1.7;tab-size:2}.acad-listing code,.acad-listing pre{font-family:var(--font-tech)}.acad-listing .cm{color:var(--muted);font-style:italic}.acad-listing .kw{color:var(--accent);font-weight:600}.acad-listing .st{color:color-mix(in srgb,var(--ink) 70%,var(--accent))}.acad-table{width:100%;border-collapse:collapse;border-top:1px solid var(--ink);font-size:.98rem}.acad-table,.acad-table thead th{border-bottom:1px solid var(--ink)}.acad-table thead th{font-family:var(--font-tech);font-size:.68rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);text-align:left;padding:.85rem 1rem}.acad-table tbody tr{border-bottom:1px solid var(--rule);transition:background .2s ease}.acad-table tbody tr:last-child{border-bottom:0}.acad-table tbody tr:hover{background:var(--accent-soft)}.acad-table td{padding:1rem;vertical-align:baseline}.acad-table .grp{font-family:var(--font-display);font-weight:600;font-size:1.12rem;width:1%;white-space:nowrap;letter-spacing:-.01em}.acad-table .est{color:var(--ink);line-height:1.7}.acad-table .est .chip{font-family:var(--font-tech);font-size:.8rem;color:var(--muted)}.acad-table .ref{width:1%;white-space:nowrap;text-align:right}.acad-ref-link{font-family:var(--font-tech);font-size:.76rem;letter-spacing:.06em;color:var(--accent);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s ease;white-space:nowrap}.acad-ref-link:hover{border-color:var(--accent)}.acad-inline-link{color:var(--ink);text-decoration:none;background-image:linear-gradient(var(--accent),var(--accent));background-size:0 1px;background-repeat:no-repeat;background-position:0 100%;transition:background-size .25s ease;padding-bottom:1px}.acad-inline-link:hover{background-size:100% 1px;color:var(--accent)}.acad-flow{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;counter-reset:step}@media (max-width:760px){.acad-flow{grid-template-columns:1fr}}.acad-step{position:relative;border-top:2px solid var(--ink);padding-top:1.1rem}.acad-step-num{font-family:var(--font-tech);font-size:.74rem;letter-spacing:.16em;color:var(--accent)}.acad-step h3{font-family:var(--font-display);font-weight:600;font-size:1.3rem;margin:.5rem 0 .4rem;letter-spacing:-.01em}.acad-step p{margin:0;font-size:1rem;line-height:1.55;color:var(--muted)}.acad-step code{font-family:var(--font-tech);font-size:.86em;color:var(--accent)}.acad-faq{border-top:1px solid var(--ink)}.acad-q{border-bottom:1px solid var(--rule);padding:0}.acad-q summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:3.2rem 1fr auto;align-items:baseline;gap:1rem;padding:1.4rem .2rem;font-family:var(--font-display);font-weight:600;font-size:1.22rem;letter-spacing:-.01em;transition:color .2s ease}.acad-q summary::-webkit-details-marker{display:none}.acad-q summary:hover,.acad-q-num{color:var(--accent)}.acad-q-num{font-size:.78rem;font-weight:500;letter-spacing:.08em}.acad-q-num,.acad-q-toggle{font-family:var(--font-tech)}.acad-q-toggle{font-size:1.2rem;color:var(--muted);transition:transform .25s ease}.acad-q[open] .acad-q-toggle{transform:rotate(45deg)}.acad-q-body{padding:0 .2rem 1.6rem 4.2rem;max-width:70ch;color:var(--muted);font-size:1.04rem;line-height:1.65}@media (max-width:600px){.acad-q summary{grid-template-columns:2.4rem 1fr auto;font-size:1.05rem}.acad-q-body{padding-left:2.4rem}}.acad-coda{margin-top:1rem;border:1px solid var(--ink);background:var(--color-fd-card);padding:clamp(2.2rem,5vw,3.4rem);box-shadow:10px 10px 0 var(--accent-soft);text-align:center}.acad-coda h2{font-family:var(--font-display);font-weight:600;font-size:clamp(2rem,4.5vw,3rem);line-height:1.02;letter-spacing:-.02em;margin:.6rem 0 0}.acad-coda p{margin:1rem auto 0;max-width:48ch;font-size:1.15rem;color:var(--muted)}.acad-coda .acad-actions{justify-content:center}.acad-colophon{margin-top:3rem;padding-block:2rem;border-top:1px solid var(--rule);display:flex;flex-wrap:wrap;justify-content:space-between;gap:.6rem 1.5rem;font-family:var(--font-tech);font-size:.72rem;letter-spacing:.08em;color:var(--muted)}.acad-colophon a{color:var(--accent);text-decoration:none}.acad-colophon a:hover{text-decoration:underline}.acad-community{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--rule);background:var(--rule);gap:1px}@media (max-width:700px){.acad-community{grid-template-columns:1fr}}.acad-community a{background:var(--paper);padding:1.5rem 1.4rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;text-decoration:none;color:var(--ink);font-family:var(--font-display);font-weight:600;font-size:1.15rem;transition:background .2s ease}.acad-community a:hover{background:var(--accent-soft)}.acad-community a .arr{font-family:var(--font-tech);color:var(--accent);transition:transform .2s ease}.acad-community a:hover .arr{transform:translateX(4px)}.acad-rise{opacity:0;animation:acadRise .8s cubic-bezier(.2,.7,.2,1) forwards}@keyframes acadRise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.acad-rise,.fig-boundary,.fig-pt{animation:none!important;opacity:1!important;stroke-dashoffset:0!important;transform:none!important}}