.post .crumb{max-width:60rem;margin:0 auto;padding:1.6rem 2.5rem 0;font-family:var(--mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-3);display:flex;align-items:center;gap:.6rem}.post .crumb a{color:var(--fg-2)}.post .crumb a:hover{color:var(--accent-text)}.post .crumb .arw{color:var(--line-strong)}.post .wrap{position:relative;max-width:60rem;margin:0 auto;padding:1.4rem 2.5rem 4rem;display:grid;grid-template-columns:minmax(0,38rem) 15rem;gap:3.5rem;justify-content:center;align-items:start}.post .art{min-width:0}.post .head .fm{font-family:var(--mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-3);display:flex;gap:1rem;margin-bottom:1.1rem}.post .head .fm .id{color:var(--accent-text)}.post .head .fm .edited{margin-left:.5em;font-size:.85em;letter-spacing:.04em;color:var(--fg-3);text-transform:none}.post .head .fm .tags{display:flex;flex-wrap:wrap;gap:.4rem}.post .head .fm .tag{font-size:.62rem;letter-spacing:.06em;color:var(--fg-3);border:.5px solid var(--line);border-radius:999px;padding:.16rem .55rem}.post .head h1{font-family:var(--prose);font-weight:300;font-size:2.9rem;line-height:1.08;letter-spacing:-.02em;color:var(--fg-0);margin:0 0 1rem}.post .head .standfirst{font-family:var(--prose);font-size:1.32rem;font-style:italic;line-height:1.5;color:var(--fg-2);margin:0 0 2rem;em{color:var(--accent);font-style:normal}}.post .head .rule{height:.5px;background:var(--line);margin-bottom:2.4rem}.post .body{font-family:var(--prose);font-size:1.24rem;line-height:1.8;color:var(--fg-1);overflow-wrap:break-word}.post .body>p{margin:0 0 1.15em;text-wrap:pretty}.post .body>p:first-of-type:first-letter,.post .body .drop:first-letter{font-family:var(--prose);font-weight:400;font-size:3.4em;line-height:.72;float:left;padding:.15em .12em 0 0;color:var(--accent-text)}.post .body a{color:var(--accent-text);border-bottom:.5px dashed var(--accent-edge);background-image:linear-gradient(var(--accent),var(--accent));background-repeat:no-repeat;background-position:0 100%;background-size:0% 1.5px;transition:background-size .3s ease,border-color .3s ease}.post .body a:hover{border-bottom-color:transparent;background-size:100% 1.5px}.post .body h1{font-family:var(--prose);font-weight:300;font-size:2.4rem;line-height:1.1;letter-spacing:-.02em;color:var(--fg-0);margin:2.6rem 0 .6rem}.post .body h2{font-family:var(--mono);font-weight:500;font-size:1.1rem;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-text);margin:2.8rem 0 .9rem}.post .body h3{font-family:var(--ui);font-weight:600;font-size:1.18rem;color:var(--fg-2);margin:2.2rem 0 .45rem}.post .body h4{font-family:var(--ui);font-weight:600;font-size:1.05rem;color:var(--fg-2);margin:2rem 0 .4rem}.post .body h5{font-family:var(--ui);font-weight:600;font-size:.94rem;color:var(--fg-2);margin:1.9rem 0 .38rem}.post .body h6{font-family:var(--ui);font-weight:600;font-size:.85rem;color:var(--fg-2);margin:1.8rem 0 .35rem}.post .body blockquote{margin:1.8em 0;padding:.2em 0 .2em 1.3em;border-left:2px solid var(--accent-edge);font-style:italic;color:var(--fg-2)}.post .body blockquote p{margin:0 0 .4em}.post .body blockquote cite{display:block;font-style:normal;font-family:var(--mono);font-size:.72rem;letter-spacing:.03em;color:var(--fg-3);margin-top:.5rem}.post .body blockquote cite:before{content:"— "}.post .body ul{padding-left:1.3em;margin:0 0 1.15em}.post .body li{margin:.4em 0}.post .body ol{list-style:none;counter-reset:li;padding-left:0;margin:0 0 1.15em}.post .body ol>li{counter-increment:li;position:relative;padding-left:2.4rem;margin:.45em 0}.post .body ol>li:before{content:counter(li,decimal-leading-zero);position:absolute;left:0;top:calc(.28em + 4px);font-family:var(--mono);font-size:.72rem;color:var(--accent-text)}.post .body dl{margin:0 0 1.3em;border-top:.5px solid var(--line)}.post .body dt{font-family:var(--ui);font-weight:600;font-size:.95rem;color:var(--fg-0);margin-top:1rem}.post .body dd{margin:.1rem 0 0;padding-bottom:1rem;border-bottom:.5px solid var(--line);color:var(--fg-2);font-size:1.08rem;line-height:1.55}.post .body code{font-family:var(--mono);font-size:.82em;background:var(--bg-2);padding:.1em .35em;border-radius:3px;border:.5px solid var(--line)}.post .body pre{font-family:var(--mono);font-size:.82rem;line-height:1.6;background:var(--bg-2);border:.5px solid var(--line);border-radius:6px;padding:1rem 1.15rem;overflow-x:auto;margin:1.8rem 0}.post .body pre code{background:none;border:0;padding:0;font-size:inherit}.post .body .astro-code{background:var(--bg-2)!important}.post .body table{width:100%;border-collapse:collapse;font-family:var(--ui);font-size:.92rem;margin:1.8rem 0;display:block;overflow-x:auto}.post .body thead th{text-align:left;font-family:var(--mono);font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;color:var(--fg-3);font-weight:500;padding:.5rem .8rem;border-bottom:1px solid var(--line-strong)}.post .body tbody td{padding:.6rem .8rem;border-bottom:.5px solid var(--line);color:var(--fg-1)}.post .body tbody tr:hover td{background:var(--bg-2)}.post .body figure{margin:2.6rem 0;cursor:zoom-in}.post .body figure img{display:block;width:100%;height:auto;border-radius:6px;border:.5px solid var(--line)}.post .body figcaption{font-family:var(--ui);font-size:.82rem;line-height:1.45;color:var(--fg-3);margin-top:.7rem;padding-left:3.2rem;text-indent:-3.2rem}.post .body figcaption .n,.post .body figcaption[data-n]:before{font-family:var(--mono);font-size:.68rem;color:var(--accent-text)}.post .body figcaption[data-n]:before{content:"Fig. " attr(data-n);margin-right:.6rem}.post .body figcaption .n{margin-right:.6rem}.post .body .duo{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;margin:1.8rem 0}.post .body .duo figure{margin:0}.post .body .duo figure img{aspect-ratio:3 / 4;object-fit:cover}.post .body .gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:.55rem;margin:1.8rem 0}.post .body .gallery figure{margin:0}.post .body .gallery figure img{aspect-ratio:4 / 3;object-fit:cover;border-radius:4px}.post .body .gallery figcaption{display:none}.post .body .works-cited{margin:3.2rem 0 0;padding-top:1.6rem;border-top:.5px solid var(--line)}.post .body .works-cited .wc-heading{margin:0 0 1rem}.post .body .works-cited p{font-family:var(--ui);font-size:.92rem;line-height:1.55;color:var(--fg-2);margin:0 0 .9rem;padding-left:2em;text-indent:-2em}.post .body .footnotes{margin-top:2.8rem;padding-top:1.3rem;border-top:.5px solid var(--line)}.post .body .footnotes h2,.post .body .footnotes h4{font-family:var(--mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-3);margin:0 0 .8rem}.post .body .footnotes ol{counter-reset:li}.post .body .footnotes ol>li{padding-left:1.9rem;font-family:var(--ui);font-size:.9rem;line-height:1.55;color:var(--fg-2)}.post .body .footnotes ol>li>p{margin:0}.post .body .footnotes ol>li:before{content:counter(li) ".";top:.15em}.post .body sup a,.post .body .footnotes a{color:var(--accent-text);border:0;background:none}.post .sidenotes{display:none}.post .sidenote{position:absolute;right:0;width:15rem;padding-left:1.1rem;border-left:2px solid var(--accent-edge);font-family:var(--ui);font-size:.82rem;line-height:1.5;color:var(--fg-2)}.post .sidenote .sn-num{font-family:var(--mono);font-size:.68rem;color:var(--accent-text);margin-right:.45rem}.post .sidenote p{display:inline;margin:0}.post .sidenote a{color:var(--accent-text);border-bottom:.5px dashed var(--accent-edge)}@media(min-width:880px){.post .sidenotes{display:block;position:absolute;top:0;right:2.5rem;width:15rem;height:100%;pointer-events:none}.post .sidenote{pointer-events:auto}.post .body .footnotes{display:none}}.post .art-foot{margin-top:3rem;padding-top:1.4rem;border-top:.5px solid var(--line);display:flex;align-items:center;justify-content:space-between;font-family:var(--mono);font-size:.72rem;color:var(--fg-3)}.post .art-foot a{color:var(--accent-text)}.post .rail{position:sticky;top:8.7rem;align-self:start;margin-top:32px;display:flex;flex-direction:column;gap:2.3rem;font-family:var(--ui)}.post .rail section{border-left:2px solid var(--accent-edge);padding-left:1.1rem}.post .rail h4{font-family:var(--mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-3);margin:0 0 .9rem}.post .rail .toc{transition:opacity .28s ease}.post .rail .toc a{display:block;color:var(--fg-2);padding:.28rem 0;line-height:1.3;font-size:.9rem}.post .rail .toc a.sub{padding-left:.9rem;font-size:.8rem;color:var(--fg-3)}.post .rail .toc a.on,.post .rail .toc a:hover{color:var(--accent-text)}.post .rail .links a{display:block;font-family:var(--prose);font-size:.95rem;color:var(--fg-1);padding:.3rem 0;line-height:1.3}.post .rail .links a:hover{color:var(--accent-text)}.lb{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;gap:1.2rem;padding:3rem;background:#191924d1;backdrop-filter:blur(10px)}:root[data-theme=dark] .lb{background:#030308e6}.lb-fig{margin:0;display:flex;flex-direction:column;gap:1rem;max-width:min(1100px,84vw);max-height:86vh}.lb-fig img,.lb-fig video{max-width:100%;max-height:76vh;object-fit:contain;border-radius:8px}.lb-cap{display:flex;gap:.7rem;justify-content:center;align-items:baseline;text-align:center;color:#f4f4fc;font-family:var(--ui);font-size:.92rem;line-height:1.5}.lb-count{font-family:var(--mono);font-size:.7rem;letter-spacing:.06em;color:#c0c0e4;flex:0 0 auto}.lb-from,.lb-cap a,.lb-desc a{color:#c0c0e4;text-decoration:underline}.lb-desc{max-width:min(1100px,84vw);margin:-.4rem 0 0;text-align:center;color:#acacba;font-family:var(--ui);font-size:.82rem;line-height:1.5}.lb-nav{flex:0 0 auto;width:52px;height:52px;border-radius:50%;border:.5px solid oklch(.75 .05 285 / .5);background:#ffffff12;color:#fff;font-size:1.9rem;line-height:1;cursor:pointer;display:grid;place-items:center}.lb-nav:hover{background:#ffffff29}.lb-close{position:absolute;top:1.4rem;right:1.6rem;width:40px;height:40px;border-radius:50%;border:.5px solid oklch(.75 .05 285 / .5);background:#ffffff12;color:#fff;font-size:1.5rem;line-height:1;cursor:pointer}.lb-close:hover{background:#ffffff29}@media(max-width:900px){.post .wrap{grid-template-columns:minmax(0,1fr);gap:2rem;padding:1rem 1.4rem 3rem}.post .crumb{padding:1.2rem 1.4rem 0}.post .rail{position:static;margin-top:1rem}.post .head h1{font-size:2.2rem}}
