@font-face{font-family:Anton;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/anton-400.woff2) format("woff2")}@font-face{font-family:Work Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/work-sans-400.woff2) format("woff2")}@font-face{font-family:Work Sans;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/work-sans-400-italic.woff2) format("woff2")}@font-face{font-family:Work Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/work-sans-500.woff2) format("woff2")}@font-face{font-family:Work Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/work-sans-600.woff2) format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/plex-mono-400.woff2) format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/plex-mono-400-italic.woff2) format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/plex-mono-600.woff2) format("woff2")}:root{--poster: "Anton", Impact, "Arial Narrow", sans-serif;--font: "Work Sans", "Helvetica Neue", Arial, sans-serif;--mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--bg: #ffffff;--text: #0f1115;--text-secondary: #5d636e;--rule: #0f1115;--border: #d9dbe0;--surface: #f3f4f7;--panel: #ffffff;--accent: #2340b8;--block: #2340b8;--on-block: #ffffff;--mark: #dfe5ff;--c-blue: #2340b8;--t-blue: #eef1fc;--c-teal: #0f7a74;--t-teal: #e8f5f3;--c-green: #23794a;--t-green: #eaf5ee;--c-amber: #a3610a;--t-amber: #fbf2e3;--c-red: #b3261e;--t-red: #fcecea;--edge: clamp(20px, 4vw, 56px);--measure: 42rem;color-scheme:light}@media (prefers-color-scheme: dark){:root{--bg: #0d0e11;--text: #f0efe9;--text-secondary: #9a9ca3;--rule: #f0efe9;--border: #2a2d34;--surface: #17191e;--panel: #15171c;--accent: #8fa3ff;--block: #3d5cff;--on-block: #ffffff;--mark: #27336e;--c-blue: #8fa3ff;--t-blue: #161b33;--c-teal: #5fd0c4;--t-teal: #0f2523;--c-green: #6fd38f;--t-green: #12261a;--c-amber: #f0b356;--t-amber: #2a2011;--c-red: #ff8a80;--t-red: #2c1513;color-scheme:dark}}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:20px}body{font:400 1.0625rem/1.65 var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;min-height:100vh;display:flex;flex-direction:column}body>main{flex:1}a{color:var(--text)}a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.edge{padding-inline:var(--edge)}.site-header{display:flex;align-items:center;gap:.8rem 2rem;flex-wrap:wrap;padding-block:1.1rem;font-size:.92rem;font-weight:500;position:relative;z-index:2}.site-name{font:400 1.6rem/1 var(--poster);text-transform:uppercase;text-decoration:none;letter-spacing:.01em}.site-nav{display:flex;gap:1.5rem;flex-wrap:wrap}.site-nav a{text-decoration:none}.site-nav a:hover{color:var(--accent)}.site-nav a.is-active{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px}.site-search{position:relative;margin-left:auto;width:300px}.search-input{width:100%;font:500 .95rem/1 var(--font);color:var(--text);background:var(--surface);border:2px solid var(--rule);border-radius:0;padding:.6rem 2.4rem .6rem .8rem;-webkit-appearance:none;appearance:none}.search-input::placeholder{color:var(--text-secondary)}.search-input:focus{outline:none;border-color:var(--accent)}.search-input::-webkit-search-cancel-button{display:none}.search-key{position:absolute;right:.55rem;top:50%;transform:translateY(-50%);font:600 .72rem/1 var(--font);color:var(--text-secondary);border:1px solid var(--border);padding:.2rem .4rem;pointer-events:none}.search-panel{position:absolute;top:calc(100% + 6px);right:0;width:min(440px,calc(100vw - 40px));background:var(--panel);border:2px solid var(--rule);z-index:20;box-shadow:0 14px 34px #00000040}.search-panel.is-hidden,.search-more.is-hidden{display:none}.search-result{display:block;padding:.75rem .9rem;border-bottom:1px solid var(--border);text-decoration:none}.search-result:hover,.search-result:focus{background:var(--surface);outline:none}.search-result-title{font:400 1.15rem/1.15 var(--poster);text-transform:uppercase;letter-spacing:.01em}.search-result-meta{font-size:.8rem;color:var(--text-secondary);margin-top:.2rem}.search-panel mark{background:var(--mark);color:inherit;padding:0 .1em}.search-more,.search-empty{padding:.6rem .9rem;font-size:.8rem;color:var(--text-secondary)}.page-head{padding-block:2rem;border-bottom:3px solid var(--rule)}.page-kicker{font-size:.85rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}.page-kicker a{color:inherit;text-decoration:none}.page-kicker a:hover{text-decoration:underline}.page-head h1{font:400 clamp(2.6rem,8vw,7.5rem)/.92 var(--poster);text-transform:uppercase;margin-top:1rem;text-wrap:balance;overflow-wrap:anywhere}.page-head .lede{font-size:1.35rem;line-height:1.45;max-width:44rem;margin-top:1.4rem}.page-head .lede code{font-size:.85em}.page-head h1 .count{font-size:.5em;color:var(--accent);vertical-align:.55em;margin-left:.2em}.page-links{display:flex;gap:1.4rem;flex-wrap:wrap;margin-top:1.2rem;font-size:.85rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.page-links a{color:var(--accent);text-decoration:none}.page-links a:hover{text-decoration:underline}.page-body{padding-block:2.2rem 3rem}.giant{font:400 clamp(3.6rem,11.4vw,13rem)/.86 var(--poster);text-transform:uppercase;letter-spacing:-.01em;padding-block:.8rem 1.6rem;white-space:nowrap}.index-label{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;flex-wrap:wrap;font:600 .8rem/1 var(--font);letter-spacing:.14em;text-transform:uppercase;margin-bottom:1rem}.index-label nav{display:flex;gap:1.4rem}.index-label a{color:var(--accent);text-decoration:none}.index-label a:hover{text-decoration:underline}.home-index{padding-block:1rem 3rem}.post-list{list-style:none;border-top:3px solid var(--rule)}.post-list>li{border-bottom:1px solid var(--rule);display:grid;grid-template-columns:5.5rem minmax(0,1fr) 11rem;gap:1.5rem;align-items:start;padding-block:1.1rem}.post-list.compact>li{align-items:center}.post-date{font:400 1.4rem/1 var(--poster);color:var(--accent);text-transform:uppercase;white-space:nowrap}.post-date small{display:block;font:600 .72rem/1 var(--font);letter-spacing:.12em;color:var(--text-secondary);margin-top:.35rem}.post-title{font:400 clamp(1.45rem,2.4vw,2.05rem)/1.06 var(--poster);text-transform:uppercase;text-decoration:none;letter-spacing:.005em;display:block;overflow-wrap:anywhere}.post-title:hover{color:var(--accent)}.post-excerpt{color:var(--text-secondary);font-size:.98rem;line-height:1.55;margin-top:.45rem;max-width:44rem}.post-tags{font-size:.8rem;color:var(--text-secondary);text-align:right}.post-tags a{color:inherit;text-decoration:none;display:block}.post-tags a:hover{color:var(--accent)}.post-list.compact .post-title{font-size:clamp(1.5rem,2.6vw,2.25rem);line-height:1.08}.empty-state{border-top:3px solid var(--rule);padding-top:1.2rem;color:var(--text-secondary)}.pagination{display:flex;gap:.4rem;flex-wrap:wrap;align-items:center;padding-top:1.4rem;font-size:.85rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.pagination a,.pagination span{padding:.4rem .7rem;border:2px solid transparent;text-decoration:none}.pagination a:hover{border-color:var(--rule)}.pagination .is-current{border-color:var(--rule);background:var(--text);color:var(--bg)}.pagination .is-disabled{color:var(--text-secondary);opacity:.6}.tag-index{list-style:none;border-top:3px solid var(--rule)}.tag-index a{display:grid;grid-template-columns:1.1rem minmax(0,1fr) auto;gap:1.1rem;align-items:center;padding-block:1rem;border-bottom:1px solid var(--rule);text-decoration:none}.tag-index i{width:1.1rem;height:1.1rem;background:var(--swatch, var(--accent))}.tag-index b{font:400 clamp(2rem,4.4vw,3.6rem)/1 var(--poster);text-transform:uppercase;letter-spacing:.005em;overflow-wrap:anywhere}.tag-index span{font:400 clamp(1.3rem,2.4vw,2rem)/1 var(--poster);color:var(--accent);white-space:nowrap}.tag-index small{font:500 .8rem/1 var(--font);color:var(--text-secondary);margin-left:.35rem}.tag-index a:hover b{color:var(--accent)}.archive{display:grid;gap:2.6rem}.archive-year{display:grid;grid-template-columns:minmax(0,18rem) minmax(0,1fr);gap:2.5rem;align-items:start}.archive-year h2{font:400 clamp(4rem,10vw,8.5rem)/.85 var(--poster);letter-spacing:-.01em}.archive-year h2 a{text-decoration:none}.archive-year h2 a:hover{color:var(--accent)}.archive-year h2 small{display:block;font:600 .8rem/1 var(--font);letter-spacing:.14em;text-transform:uppercase;color:var(--text-secondary);margin-top:.9rem}.archive-months{list-style:none;border-top:3px solid var(--rule)}.archive-months>li{border-bottom:1px solid var(--border)}.archive-month{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:.8rem 0 .3rem;text-decoration:none}.archive-month b{font:400 1.6rem/1 var(--poster);text-transform:uppercase;font-weight:400}.archive-month span{font-size:.82rem;color:var(--text-secondary)}.archive-month:hover b{color:var(--accent)}.archive-posts{list-style:none;padding-bottom:.8rem}.archive-posts a{font-size:.95rem;color:var(--text-secondary);text-decoration:none}.archive-posts a:hover{color:var(--accent);text-decoration:underline}.projects{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:1.4rem}.project-card{display:grid;gap:.6rem;align-content:start;border:2px solid var(--rule);border-top-width:8px;padding:1.4rem 1.5rem 1.5rem;text-decoration:none;background:var(--panel)}.project-card:hover{border-color:var(--accent)}.project-name{font:400 clamp(1.8rem,3.2vw,2.6rem)/1 var(--poster);text-transform:uppercase;overflow-wrap:anywhere}.project-stat{font:400 2.4rem/1 var(--poster);color:var(--accent)}.project-dek{font-size:1.05rem}.project-meta{font-size:.8rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-secondary)}.project-link{font-size:.85rem;font-weight:600;color:var(--accent);overflow-wrap:anywhere}.article-meta time{white-space:nowrap}.article-meta .tag-row a+a:before{content:"/ "}.article-meta .tag-row:before{content:"· "}.article-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:4rem;padding-block:2.5rem 3rem}.article-layout.no-toc{grid-template-columns:minmax(0,1fr)}.toc{position:sticky;top:20px;align-self:start;max-height:calc(100vh - 40px);overflow-y:auto}.toc-title{list-style:none;font:600 .78rem/1 var(--font);letter-spacing:.14em;text-transform:uppercase;padding-bottom:.8rem;cursor:default}.toc-title::-webkit-details-marker{display:none}.toc-list{list-style:none;border-top:3px solid var(--rule)}.toc-list a{display:block;font:400 1.02rem/1.15 var(--poster);text-transform:uppercase;text-decoration:none;padding:.55rem 0 .55rem .7rem;border-bottom:1px solid var(--border);border-left:4px solid transparent;letter-spacing:.01em}.toc-list a:hover{color:var(--accent)}.toc-list a.active{color:var(--accent);border-left-color:var(--accent)}.article{min-width:0;font-size:1.1rem;line-height:1.72}.article>*,.article section>*{max-width:var(--measure)}.article .wide,.article .table-wrap:not(.narrow),.article .cols{max-width:none}.article section{padding-bottom:1.2rem}.article section+section{border-top:3px solid var(--rule);padding-top:2.4rem;margin-top:1.6rem}.article a{color:var(--accent);text-underline-offset:3px;overflow-wrap:anywhere}.article h2{font:400 clamp(2rem,3.4vw,2.6rem)/1 var(--poster);text-transform:uppercase;margin:0 0 1.2rem;letter-spacing:.005em}.article h3{font:400 1.45rem/1.1 var(--poster);text-transform:uppercase;margin:2.2rem 0 .8rem;letter-spacing:.01em}.article h4{font:600 .8rem/1.2 var(--font);letter-spacing:.14em;text-transform:uppercase;color:var(--text-secondary);margin:1.8rem 0 .6rem}.article h3+h4{margin-top:.8rem}.article h3 code,.article h4 code{font-size:.8em;text-transform:none}.article p,.article ul,.article ol{margin-bottom:1.1rem}.article ul,.article ol{padding-left:1.3rem}.article li{margin-bottom:.3rem}.article li>ul,.article li>ol{margin:.3rem 0 0}.article ul li::marker{color:var(--accent)}.article ol li::marker{font-family:var(--poster);color:var(--accent)}.article strong{font-weight:600}.article hr{border:0;border-top:3px solid var(--rule);margin:2rem 0}.article code{font:400 .86em/1.4 var(--mono);background:var(--surface);border:1px solid var(--border);padding:.05em .3em;overflow-wrap:anywhere}.article blockquote{font-size:1.35rem;line-height:1.5;font-style:italic;color:var(--text-secondary);border-left:4px solid var(--accent);padding:.2rem 0 .2rem 1.3rem;margin:2rem 0}.article blockquote p:last-child{margin-bottom:0}.article .dateline{color:var(--text-secondary);font-size:.95rem}.article>footer,.article section>footer{border-top:3px solid var(--rule);margin-top:2rem;padding-top:1rem;color:var(--text-secondary);font-size:.9rem}.callout{--c: var(--c-blue);--t: var(--t-blue);background:var(--t);border-left:6px solid var(--c);padding:1rem 1.2rem;margin:1.4rem 0}.callout>strong:first-child{display:block;font:400 1.25rem/1.1 var(--poster);text-transform:uppercase;color:var(--c);margin-bottom:.35rem;letter-spacing:.01em}.callout>:last-child{margin-bottom:0}.callout-teal{--c: var(--c-teal);--t: var(--t-teal)}.callout-green{--c: var(--c-green);--t: var(--t-green)}.callout-amber{--c: var(--c-amber);--t: var(--t-amber)}.callout-red{--c: var(--c-red);--t: var(--t-red)}.callout-accent{background:var(--block);color:var(--on-block);border-left:0;padding:1.3rem 1.5rem;font-size:1.15rem}.callout-accent>strong:first-child{color:var(--on-block);font-size:1.5rem}.callout-accent a,.callout-accent code{color:var(--on-block)}.callout-accent code{background:transparent;border-color:currentColor}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));border-top:3px solid var(--rule);margin:1rem 0 1.6rem}.stat-grid.wide{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}.stat-card{padding:1rem 1.2rem 1.1rem 0;border-bottom:1px solid var(--border);min-width:0}.stat-card .number{font:400 clamp(2.2rem,4vw,3rem)/1 var(--poster);color:var(--accent);overflow-wrap:anywhere}.stat-card .label{font-size:.85rem;color:var(--text-secondary);margin-top:.45rem;line-height:1.4}.table-wrap{overflow-x:auto;margin:1.2rem 0 1.8rem;border-top:3px solid var(--rule)}.article table{border-collapse:collapse;width:100%;font-size:.95rem;line-height:1.45}.article th{font:600 .74rem/1.2 var(--font);letter-spacing:.12em;text-transform:uppercase;text-align:left;padding:.8rem .9rem .7rem 0;border-bottom:2px solid var(--rule);white-space:nowrap}.article td{padding:.7rem .9rem .7rem 0;border-bottom:1px solid var(--border);vertical-align:top}.article tbody tr:hover td{background:var(--surface)}.article td[colspan]{color:var(--text-secondary)}table.rowspan-table tbody td:first-child,table.rowspan-table thead th:first-child{padding-left:.9rem}.badge{--c: var(--c-blue);display:inline-block;font:600 .7rem/1 var(--font);letter-spacing:.1em;text-transform:uppercase;color:var(--c);border:1.5px solid var(--c);padding:.28em .5em .25em;vertical-align:.12em;white-space:nowrap}.badge-green{--c: var(--c-green)}.badge-amber{--c: var(--c-amber)}.badge-red{--c: var(--c-red)}.article figure{margin:1.4rem 0 1.8rem}.figure-body{background:var(--surface);border:2px solid var(--rule)}.article figure img,.article figure video{display:block;width:100%;height:auto;border:2px solid var(--rule);background:var(--surface)}.article figure img{cursor:zoom-in}.article figure img:hover{border-color:var(--accent)}.article figcaption{font-size:.85rem;color:var(--text-secondary);margin-top:.6rem;line-height:1.5}.bar-chart{display:grid;gap:.6rem;margin:1.2rem 0 1.8rem;border-top:3px solid var(--rule);padding-top:1rem}.bar-row{display:grid;grid-template-columns:7.5rem minmax(0,1fr) 4.5rem;gap:.9rem;align-items:center}.bar-label{font-size:.85rem;color:var(--text-secondary)}.bar-track{height:1.4rem;background:var(--surface)}.bar-fill{height:100%;width:var(--val);background:var(--c-blue)}.bar-fill.green{background:var(--c-green)}.bar-fill.amber{background:var(--c-amber)}.bar-fill.red{background:var(--c-red)}.bar-fill.teal{background:var(--c-teal)}.bar-value{font:400 1.1rem/1 var(--poster);text-align:right}.timeline{border-left:3px solid var(--rule);margin:1rem 0 1.8rem .4rem;padding-left:1.6rem;display:grid;gap:1.3rem}.timeline-item{position:relative}.timeline-item:before{content:"";position:absolute;left:calc(-1.6rem - 9px);top:.35rem;width:15px;height:15px;background:var(--bg);border:3px solid var(--accent)}.timeline-item .step{font:400 1.2rem/1.2 var(--poster);text-transform:uppercase;letter-spacing:.01em;margin:0}.timeline-item .step .badge{font-family:var(--font);margin-left:.4rem}.timeline-item p:not(.step){margin:.25rem 0 0;color:var(--text-secondary)}.key-terms-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:0 1.6rem;border-top:3px solid var(--rule);margin:1rem 0 1.6rem}.key-term{padding:.9rem 0;border-bottom:1px solid var(--border)}.key-term .term{font:400 1.2rem/1.1 var(--poster);text-transform:uppercase;color:var(--accent);letter-spacing:.01em}.key-term .def{font-size:.95rem;margin-top:.3rem;line-height:1.5}.glossary{border-top:3px solid var(--rule);margin:1rem 0 1.6rem}.glossary dt{font:400 1.2rem/1.1 var(--poster);text-transform:uppercase;padding-top:.9rem;letter-spacing:.01em}.glossary dd{padding:.25rem 0 .9rem 1.2rem;border-bottom:1px solid var(--border);font-size:.98rem}.cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem;margin:1.2rem 0 1.8rem}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.2rem;margin:1.2rem 0 1.8rem}.card-grid.stack{grid-template-columns:1fr}.card{border:2px solid var(--rule);border-top-width:6px;padding:1rem 1.2rem 1.1rem;background:var(--panel);min-width:0}.card h4{font:400 1.35rem/1.1 var(--poster);text-transform:uppercase;color:var(--text);letter-spacing:.01em;margin:0 0 .4rem}.card p{margin-bottom:.6rem}.card ul{font-size:.95rem}.article details{border-top:2px solid var(--rule);border-bottom:1px solid var(--border)}.article details+details{border-top:0}.article details:last-of-type{margin-bottom:1.6rem}.article details summary{cursor:pointer;list-style:none;font-weight:600;padding:.9rem 2rem .9rem 0;position:relative}.article details summary::-webkit-details-marker{display:none}.article details summary:after{content:"+";position:absolute;right:.2rem;top:50%;transform:translateY(-50%);font:500 1.5rem/1 var(--font);color:var(--accent)}.article details[open] summary:after{content:"–"}.article details>:not(summary){margin-bottom:1rem}.article pre{font:400 .88rem/1.6 var(--mono);background:var(--surface);border-left:4px solid var(--accent);padding:1rem 1.2rem;overflow-x:auto;margin:1rem 0 1.6rem;white-space:pre}.article pre code{font-size:inherit;background:none;border:0;padding:0;overflow-wrap:normal}.article pre.prompt{white-space:pre-wrap;overflow-wrap:anywhere}pre .comment{color:var(--text-secondary);font-style:italic}pre .flag{color:var(--accent);font-weight:600}pre .str{color:var(--c-green)}pre .kw{color:var(--c-red)}.fn-ref{font-size:.7em;vertical-align:super;line-height:0;text-decoration:none;font-weight:700;padding:0 .1em}.footnotes{font-size:.92rem;border-top:1px solid var(--rule);padding-top:.9rem;color:var(--text-secondary)}.footnotes li::marker{font-family:var(--font);font-weight:600}.fn-back{text-decoration:none}.source-list{font-size:.9rem;color:var(--text-secondary);border-top:1px solid var(--border);padding-top:.7rem;margin-bottom:1.2rem}.source-list strong{color:var(--text);text-transform:uppercase;letter-spacing:.1em;font-size:.75rem;margin-right:.3rem}.link-list{list-style:none;border-top:3px solid var(--rule);padding:0!important;margin-bottom:1.6rem}.link-list li{border-bottom:1px solid var(--border);margin:0;display:grid;grid-template-columns:8rem minmax(0,1fr);gap:1rem;align-items:baseline;padding:.7rem 0}.link-list b{font:400 1.35rem/1 var(--poster);text-transform:uppercase;letter-spacing:.01em;font-weight:400}.link-list a{text-decoration:none}.link-list a:hover{text-decoration:underline}.viewer{position:fixed;inset:0;z-index:1000;background:#0b0c0e;display:grid;grid-template-rows:auto minmax(0,1fr) auto;color:#f0efe9;touch-action:none}.viewer[hidden]{display:none}.viewer-bar{display:flex;align-items:center;gap:.4rem;padding:.7rem var(--edge);font:500 .9rem/1 var(--font)}.viewer-pct{min-width:3.6rem;text-align:center;font-variant-numeric:tabular-nums}.viewer-bar button{font:500 1.05rem/1 var(--font);color:#f0efe9;background:transparent;border:2px solid #f0efe9;min-width:2.5rem;height:2.5rem;padding:0 .7rem;cursor:pointer}.viewer-bar button:hover,.viewer-bar button:focus-visible{background:#f0efe9;color:#0d0e11;outline:none}.viewer-close{margin-left:auto}.viewer-stage{position:relative;overflow:hidden;cursor:grab}.viewer-stage.is-dragging{cursor:grabbing}.viewer-stage img{position:absolute;left:50%;top:50%;max-width:none;transform-origin:0 0;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.viewer-caption{padding:.8rem var(--edge) 1.1rem;font-size:.9rem;color:#b9bbc1;max-width:60rem}body.viewer-open{overflow:hidden}.site-footer{border-top:3px solid var(--rule);padding-block:1.4rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;font-size:.9rem}.footer-links{display:flex;gap:1.2rem;flex-wrap:wrap}.footer-links a:hover{color:var(--accent)}@media (max-width: 820px){.giant{font-size:24.5vw;line-height:.88;padding-block:.4rem 1.2rem}.last{display:none}.site-search{width:100%;margin-left:0;order:3}.search-key{display:none}.search-panel{left:0;right:0;width:auto}.post-list>li{grid-template-columns:1fr;gap:.35rem}.post-date small{display:inline;margin-left:.4rem}.post-tags{text-align:left}.post-tags a{display:inline;margin-right:.8rem}.archive-year{grid-template-columns:1fr;gap:1rem}.article-layout{grid-template-columns:1fr;gap:1.6rem;padding-top:1.6rem}.toc{position:static;max-height:none;border:2px solid var(--rule)}.toc-title{cursor:pointer;padding:.9rem 1rem;display:flex;justify-content:space-between}.toc-title:after{content:"+";font:500 1.3rem/.6 var(--font);color:var(--accent)}.toc-box[open] .toc-title:after{content:"–"}.toc-list{border-top:2px solid var(--rule);padding:0 1rem}.toc-list li:last-child a{border-bottom:0}.cols{grid-template-columns:1fr}.bar-row{grid-template-columns:5.5rem minmax(0,1fr) 3.8rem;gap:.6rem}.article blockquote{font-size:1.2rem}.link-list li{grid-template-columns:1fr;gap:.2rem}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}
