@font-face{font-family:"Source Serif 4";src:url("/asset?u=https%3A%2F%2Fjarvis.gg%2Ffonts%2Fsource-serif-4-latin-wght-normal.woff2") format("woff2");font-weight:200 900;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Serif 4";src:url("/asset?u=https%3A%2F%2Fjarvis.gg%2Ffonts%2Fsource-serif-4-latin-wght-italic.woff2") format("woff2");font-weight:200 900;font-style:italic;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;src:url("/asset?u=https%3A%2F%2Fjarvis.gg%2Ffonts%2Finter-latin-wght-normal.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;src:url("/asset?u=https%3A%2F%2Fjarvis.gg%2Ffonts%2Finter-latin-wght-italic.woff2") format("woff2");font-weight:100 900;font-style:italic;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:dark;--bg: #191919;--text: #e8e6e3;--muted: #8a8a8a;--line: #2e2e2e;--soft: #242424;--code-bg: #24283b;--code-fg: #c0caf5;--link: #7aa2f7;--link-hover: #bb9af7;--header-bg: rgba(25, 25, 25, 0.92);--column: 42.5rem;--header-h: 4rem;--pagefind-ui-primary: #e8e6e3;--pagefind-ui-text: #e8e6e3;--pagefind-ui-background: #191919;--pagefind-ui-border: #2e2e2e;--pagefind-ui-tag: #242424;--pagefind-ui-border-width: 1px;--pagefind-ui-border-radius: 8px;--pagefind-ui-font: Inter, system-ui, sans-serif}*,*::before,*::after{box-sizing:border-box}html{hanging-punctuation:first last}body{margin:0;background:var(--bg);color:var(--text);font-family:"Source Serif 4",Georgia,"Times New Roman",serif;font-size:1.25rem;line-height:1.75;text-rendering:optimizeLegibility}img{max-width:100%;height:auto}h1,h2,h3,h4,.site-header,.site-footer,.meta,.tags,.toc,.series,.kicker,button,input{font-family:Inter,system-ui,sans-serif}h1,h2,h3,h4{font-weight:640;letter-spacing:-.03em;line-height:1.2}a{color:inherit}:focus-visible{outline:2px solid var(--text);outline-offset:3px}::selection{background:#3a3a3a;color:#e8e6e3}.skip{position:absolute;left:1rem;top:0;transform:translateY(-120%);background:var(--bg);color:var(--text);padding:.45rem .75rem;z-index:50;font-family:Inter,sans-serif;font-size:.9rem}.skip:focus{transform:none}.site-header{position:sticky;top:0;z-index:20;height:var(--header-h);background:var(--header-bg);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.header-inner,.footer-inner{width:min(68rem,100% - 2.5rem);margin-inline:auto;display:flex;align-items:center;justify-content:space-between;gap:1rem}.header-inner{height:100%}.site-name{font-weight:620;letter-spacing:-.03em;text-decoration:none;font-size:1.05rem}.site-nav{display:flex;align-items:center;gap:1.15rem;font-size:.95rem}.site-nav a{text-decoration:none;background-image:linear-gradient(currentColor, currentColor);background-repeat:no-repeat;background-position:0 100%;background-size:0 1px;transition:background-size 180ms ease}.site-nav a:hover,.site-nav a:focus-visible{color:var(--link);background-size:100% 1px}body:has(header.hero) .site-header{position:fixed;inset:0 0 auto 0;background:rgba(0,0,0,0);border-bottom-width:0;backdrop-filter:none;color:#fff}body:has(header.hero) .site-header.is-solid{background:var(--header-bg);border-bottom-width:1px;border-bottom-color:var(--line);backdrop-filter:blur(12px);color:var(--text)}.progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:40;pointer-events:none}.progress>span{display:block;height:100%;width:0;background:var(--text);transition:width 80ms linear}body:has(header.hero):not(.is-scrolled) .progress>span{background:#fff}.column{width:min(var(--column),100% - 2.5rem);margin-inline:auto}.home h1,.column>h1,.prose>h1,.search-page h1{font-size:clamp(2.2rem,5vw,3.15rem);margin:2.4rem 0 .7rem}.lede,.deck{color:var(--muted);font-size:1.2rem;line-height:1.5;margin-top:0}.kicker{margin:2.4rem 0 0;color:var(--muted);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase}.meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:.35rem .7rem;margin:0 0 .35rem;color:var(--muted);font-size:.85rem;line-height:1.4}.meta-line{display:inline-flex;flex-wrap:wrap;align-items:baseline;column-gap:.35rem}.tags,.tag-index,.about-links,.series ol,.toc ol{list-style:none;padding:0;margin:0}.tags{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin:0}.tags a,.tag-index a{text-decoration:none;font-size:.8rem;border:1px solid var(--line);border-radius:999px;padding:.12rem .55rem}.tags a:hover,.tag-index a:hover{background:var(--soft)}.post-list{list-style:none;padding:0;margin:2.2rem 0 4rem}.post-list>li{padding:1.55rem 0;border-top:1px solid var(--line);animation:rise .5s ease both}.post-list>li:nth-child(2){animation-delay:40ms}.post-list>li:nth-child(3){animation-delay:80ms}.post-list>li:nth-child(4){animation-delay:120ms}.post-list h2{font-size:1.55rem;margin:.25rem 0 .35rem}.post-list h2 a,.text-link{text-decoration:none}.post-list h2 a:hover{text-decoration:underline;text-underline-offset:.16em}.summary{margin:.15rem 0 0;font-size:1.08rem;line-height:1.5}.tag-index{margin:1.5rem 0 4rem}.tag-index li{display:flex;justify-content:space-between;gap:1rem;padding:.75rem 0;border-top:1px solid var(--line);font-family:Inter,sans-serif}.tag-index span{color:var(--muted)}.hero{position:relative;min-height:100vh;display:flex;align-items:flex-end;color:#fff;margin-bottom:2.5rem;background:var(--bg);overflow:hidden}.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-lqip{z-index:0;filter:blur(18px);transform:scale(1.12)}.hero-photo{z-index:1}.hero-fade{position:absolute;z-index:2;inset:0;background:linear-gradient(to bottom, rgb(from var(--bg) r g b / 72%) 0%, rgb(from var(--bg) r g b / 64%) 8%, rgb(from var(--bg) r g b / 16%) 16%, rgb(from var(--bg) r g b / 2%) 24%, rgb(from var(--bg) r g b / 2%) 46%, rgb(from var(--bg) r g b / 10%) 52%, rgb(from var(--bg) r g b / 28%) 58%, rgb(from var(--bg) r g b / 48%) 64%, rgb(from var(--bg) r g b / 70%) 70%, rgb(from var(--bg) r g b / 82%) 76%, rgb(from var(--bg) r g b / 92%) 84%, rgb(from var(--bg) r g b / 97%) 92%, rgb(from var(--bg) r g b / 100%) 100%);pointer-events:none}.hero-text{position:relative;z-index:3;width:min(var(--column),100% - 2.5rem);margin:0 auto 2.25rem;text-shadow:0 1px 10px rgb(from var(--bg) r g b / 72%)}.hero h1{font-size:clamp(2.5rem,6vw,4.1rem);line-height:1.05;margin:.35rem 0 .6rem;text-wrap:balance}.hero .meta,.hero .deck,.hero .hero-credit{color:rgba(255,255,255,.88)}.hero .tags a{border-color:rgba(255,255,255,.45);color:#fff}.hero-credit{margin:1rem 0 0;font-family:Inter,sans-serif;font-size:.8rem}.hero-credit a{color:inherit}.prose{padding-bottom:4rem;animation:rise .45s ease both}.prose>*+*{margin-top:0}.prose p,.prose ul,.prose ol,.prose blockquote,.prose pre{margin:1.15em 0}.prose h2{font-size:1.65rem;margin:2.2rem 0 .6rem}.prose h3{font-size:1.25rem;margin:1.8rem 0 .4rem}.prose a{color:var(--link);text-decoration:none;background-image:linear-gradient(currentColor, currentColor);background-repeat:no-repeat;background-position:0 100%;background-size:100% 1px;transition:background-size 180ms ease,color 180ms ease}.prose a:hover,.prose a:focus-visible{color:var(--link-hover);background-size:100% 2px}.prose ul,.prose ol{padding-left:1.25rem}.prose li+li{margin-top:.35rem}.prose blockquote{margin-left:0;padding-left:1rem;border-left:2px solid var(--line);color:var(--muted)}.prose code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.86em;background:var(--soft);padding:.08em .28em;border-radius:4px}.prose .footnotes{margin-top:3rem;padding-top:.6rem;border-top:1px solid var(--line);font-size:1rem;color:var(--muted)}.prose a.zola-anchor{margin-left:.35em;color:var(--muted);text-decoration:none;opacity:0;font-weight:500;background-image:none}h2:hover .zola-anchor,h3:hover .zola-anchor,h4:hover .zola-anchor,.zola-anchor:focus{opacity:.55}.series,.toc{margin:1.4rem 0 1.8rem;padding:.9rem 1rem;border:1px solid var(--line);border-radius:10px;font-size:.95rem;line-height:1.45}.series p,.toc p{margin:0 0 .45rem;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.series a,.toc a,.post-list h2 a,.text-link{color:var(--link);text-decoration:none}.series a:hover,.toc a:hover,.post-list h2 a:hover,.text-link:hover{color:var(--link-hover);text-decoration:underline;text-underline-offset:.18em}.series [aria-current=page]{font-weight:620}.toc ol ol{margin-top:.3rem;margin-left:1rem}.giallo-l{display:inline-block;min-height:1lh;width:100%}.codeblock{margin:1.5rem 0;border-radius:10px;overflow:hidden;background:var(--code-bg);color:var(--code-fg)}.codeblock-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.4rem .75rem;font-family:Inter,sans-serif;font-size:.75rem;letter-spacing:.01em}.codeblock button{font:inherit;color:inherit;background:rgba(0,0,0,0);border:1px solid color-mix(in srgb, currentColor 30%, rgba(0,0,0,0));border-radius:999px;padding:.12rem .55rem;cursor:pointer}.codeblock button:hover{background:color-mix(in srgb, currentColor 8%, rgba(0,0,0,0))}pre.giallo{margin:0;padding:.9rem 1rem 1.05rem;overflow-x:auto;background:rgba(0,0,0,0);color:var(--code-fg);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.92rem;line-height:1.55}pre.giallo code{background:rgba(0,0,0,0);padding:0;font-size:inherit}.mermaid-host{margin:1.5rem 0;overflow-x:auto}.mermaid-host svg{max-width:100%;height:auto}.portrait{width:min(16rem,70%);border-radius:8px;margin-top:2rem;display:block}.about-links{display:flex;gap:1rem;margin-top:1.5rem;font-family:Inter,sans-serif}.site-footer{border-top:1px solid var(--line);padding:1.4rem 0 2rem;color:var(--muted);font-size:.9rem}.site-footer p{margin:0}.site-footer nav{display:flex;gap:1rem}.site-footer a{color:inherit;text-decoration:none}.site-footer a:hover{color:var(--link);text-decoration:underline;text-underline-offset:.2em}.search-page{padding-bottom:4rem;animation:rise .45s ease both}.home{animation:rise .45s ease both}.pagefind-ui{margin-top:.5rem;--pagefind-ui-font: Inter, system-ui, sans-serif}@keyframes rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (max-width: 640px){body{font-size:1.125rem}.header-inner,.footer-inner,.column,.hero-text{width:min(var(--column),100% - 1.5rem)}.site-nav{gap:.8rem}.hero-text{margin-bottom:1.5rem}.footer-inner{align-items:flex-start;flex-direction:column}}@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}}