@font-face{font-family:Archivo;src:url("./fonts/archivo-latin-wdth-R3FITQA7.woff2") format("woff2");font-weight:100 900;font-stretch:62% 125%;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url("./fonts/jetbrains-mono-latin-VBS632QH.woff2") format("woff2");font-weight:100 800;font-style:normal;font-display:swap}:root{--bg: #eef2f5;--raised: #ffffff;--sunk: #e2e8ee;--text: #102029;--muted: #45596a;--faint: #53677a;--line: #c9d4dd;--control: #687c8d;--signal: #8f5200;--signal-soft: #f6e3c4;--on-signal: #ffffff;--signal-fill: #8f5200;--ok: #14724b;--ok-soft: #d7efe4;--info: #1d5d8c;--info-soft: #dbe9f4;--danger: #b3261e;--danger-soft: #f9dedc;--shadow: 0 1px 2px rgb(16 32 41 / 6%), 0 8px 24px rgb(16 32 41 / 6%);--focus: #8f5200;--font-sans: "Archivo", "Helvetica Neue", Arial, system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--step--1: .875rem;--step-0: 1.0625rem;--step-1: 1.25rem;--step-2: clamp(1.4rem, 1.15rem + .9vw, 1.75rem);--step-3: clamp(1.75rem, 1.3rem + 1.8vw, 2.5rem);--step-4: clamp(2.1rem, 1.4rem + 3vw, 3.6rem);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 3rem;--space-8: clamp(3.5rem, 2.5rem + 4vw, 6rem);--radius-s: 6px;--radius-m: 12px;--measure: 68ch;--container: 76rem;--gutter: clamp(1rem, .5rem + 2.5vw, 2.5rem);--header-h: 4rem;color-scheme:light}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg: #0e1922;--raised: #152431;--sunk: #0a131a;--text: #e6edf2;--muted: #a3b4c2;--faint: #8a9dad;--line: #2a3e50;--control: #6f8597;--signal: #f5b041;--signal-soft: #3a2e16;--on-signal: #1a1205;--signal-fill: #f5b041;--ok: #62d3a2;--ok-soft: #12352a;--info: #8cc3ee;--info-soft: #14304a;--danger: #ff8a80;--danger-soft: #3d1c1a;--shadow: 0 1px 2px rgb(0 0 0 / 30%), 0 10px 30px rgb(0 0 0 / 25%);--focus: #f5b041;color-scheme:dark}}:root[data-theme=dark]{--bg: #0e1922;--raised: #152431;--sunk: #0a131a;--text: #e6edf2;--muted: #a3b4c2;--faint: #8a9dad;--line: #2a3e50;--control: #6f8597;--signal: #f5b041;--signal-soft: #3a2e16;--on-signal: #1a1205;--signal-fill: #f5b041;--ok: #62d3a2;--ok-soft: #12352a;--info: #8cc3ee;--info-soft: #14304a;--danger: #ff8a80;--danger-soft: #3d1c1a;--shadow: 0 1px 2px rgb(0 0 0 / 30%), 0 10px 30px rgb(0 0 0 / 25%);--focus: #f5b041;color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + 1rem)}@media (prefers-reduced-motion: no-preference){html{scroll-behavior:smooth}}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:var(--step-0);font-stretch:100%;line-height:1.6;font-kerning:normal;min-height:100vh;display:flex;flex-direction:column;overflow-wrap:break-word}main{flex:1 0 auto}h1,h2,h3,h4{line-height:1.15;margin:0 0 var(--space-4);font-weight:700;font-stretch:112%;letter-spacing:-.01em;text-wrap:balance}h1{font-size:var(--step-4);font-weight:750;letter-spacing:-.02em}h2{font-size:var(--step-3)}h3{font-size:var(--step-1);font-stretch:106%}h4{font-size:var(--step-0);font-stretch:100%}.h3,.h3-like{font-size:var(--step-1);font-stretch:106%}p,ul,ol,dl,figure,blockquote{margin:0 0 var(--space-4)}p{text-wrap:pretty}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.2em;text-decoration-color:var(--faint)}a:hover{text-decoration-color:var(--signal);text-decoration-thickness:2px}img,svg{max-width:100%;height:auto}code,kbd,samp,pre{font-family:var(--font-mono);font-size:.9em}:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:2px}::selection{background:var(--signal-fill);color:var(--on-signal)}[hidden]{display:none!important}.sr-only{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.skip-link{position:absolute;left:var(--space-4);top:-10rem;z-index:100;padding:var(--space-3) var(--space-4);background:var(--signal-fill);color:var(--on-signal);font-weight:700;border-radius:var(--radius-s);text-decoration:none}.skip-link:focus{top:var(--space-3)}.container{width:100%;max-width:calc(var(--container) + 2 * var(--gutter));margin-inline:auto;padding-inline:var(--gutter)}.prose{max-width:var(--measure)}.prose>:last-child{margin-bottom:0}.lede{font-size:var(--step-1);line-height:1.5;color:var(--muted);max-width:60ch}.muted{color:var(--muted)}.small{font-size:var(--step--1)}.site-header{position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--bg) 88%,transparent);border-bottom:1px solid var(--line);-webkit-backdrop-filter:saturate(1.4) blur(10px);backdrop-filter:saturate(1.4) blur(10px)}.header-inner{display:flex;align-items:center;gap:var(--space-4);min-height:var(--header-h);flex-wrap:wrap}.brand{order:0;display:inline-flex;align-items:center;gap:var(--space-3);text-decoration:none;font-weight:750;font-stretch:118%;letter-spacing:-.01em;margin-right:auto;padding-block:var(--space-2);min-height:44px}.brand-mark{inline-size:.7rem;block-size:.7rem;border-radius:50%;background:var(--signal-fill);box-shadow:0 0 0 4px var(--signal-soft);flex:none}.site-nav ul{display:flex;flex-wrap:wrap;gap:var(--space-1);list-style:none;margin:0;padding:0}.site-nav a{display:inline-flex;align-items:center;min-height:44px;padding:0 var(--space-3);border-radius:var(--radius-s);text-decoration:none;color:var(--muted);font-weight:560;font-size:.97rem}.site-nav a:hover{color:var(--text);background:var(--sunk)}.site-nav a[aria-current=page],.site-nav a[aria-current=true]{color:var(--text);box-shadow:inset 0 -2px 0 var(--signal);border-radius:var(--radius-s) var(--radius-s) 0 0}.header-actions{display:flex;gap:var(--space-2);align-items:center}.icon-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-width:44px;min-height:44px;padding:0 var(--space-3);border:1px solid var(--line);border-radius:var(--radius-s);background:var(--raised);color:var(--text);font:inherit;font-size:.95rem;font-weight:560;cursor:pointer}.icon-button:hover{border-color:var(--control)}.icon-button svg{width:1.15rem;height:1.15rem;flex:none}.icon-button .label-wide{display:none}.kbd-hint{font-family:var(--font-mono);font-size:.75rem;color:var(--faint);border:1px solid var(--line);border-radius:4px;padding:0 .3rem}.menu-toggle{display:none}@media (max-width: 62rem){.js .menu-toggle{display:inline-flex;order:1}.header-actions{order:2}.site-nav{order:3;flex-basis:100%}.js .site-nav{display:none}.js .site-nav[data-open]{display:block;padding-bottom:var(--space-3)}.js .site-nav ul{flex-direction:column;gap:0}.js .site-nav a{width:100%;padding-inline:var(--space-3);border-radius:var(--radius-s)}.js .site-nav a[aria-current=page],.js .site-nav a[aria-current=true]{box-shadow:inset 3px 0 0 var(--signal);border-radius:0 var(--radius-s) var(--radius-s) 0}}@media (min-width: 75rem){.icon-button .label-wide{display:inline}}.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:48px;padding:0 var(--space-5);border-radius:var(--radius-s);border:1px solid var(--control);background:var(--raised);color:var(--text);font:inherit;font-weight:650;font-stretch:105%;text-decoration:none;cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.button:hover{border-color:var(--text);text-decoration:none}.button-primary{background:var(--signal-fill);border-color:var(--signal-fill);color:var(--on-signal)}.button-primary:hover{background:color-mix(in srgb,var(--signal-fill) 86%,var(--text));border-color:transparent}.button-quiet{border-color:transparent;background:transparent;padding-inline:var(--space-3);text-decoration:underline;text-decoration-color:var(--faint);text-underline-offset:.2em}.button-quiet:hover{border-color:transparent;text-decoration-color:var(--signal)}.button-danger{border-color:var(--danger);color:var(--danger)}.button-small{min-height:44px;padding-inline:var(--space-4);font-size:.95rem}.button svg{width:1.1rem;height:1.1rem;flex:none}.button[disabled]{opacity:.55;cursor:not-allowed}.button-row{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center}.text-link{font-weight:650;text-decoration-color:var(--signal);text-decoration-thickness:2px}.status{display:inline-flex;align-items:center;gap:.45rem;padding:.2rem .65rem .2rem .5rem;border-radius:999px;font-size:var(--step--1);font-weight:650;line-height:1.4;border:1px solid currentColor}.status:before{content:"";inline-size:.55rem;block-size:.55rem;border-radius:50%;background:currentColor;flex:none}.status-progress{color:var(--signal);background:var(--signal-soft)}.status-progress:before{background:transparent;border:2px solid currentColor;inline-size:.6rem;block-size:.6rem}.status-past{color:var(--info);background:var(--info-soft)}.status-lab{color:var(--ok);background:var(--ok-soft)}.status-lab:before{border-radius:2px}.section{padding-block:var(--space-8)}.section+.section{border-top:1px solid var(--line)}.section-head{max-width:46rem;margin-bottom:var(--space-6)}.section-head h2{margin-bottom:var(--space-3)}.section-head p{color:var(--muted);margin:0}.section-head p+p{margin-top:var(--space-4)}.page-head{padding-block:var(--space-7) var(--space-6)}.page-head h1{max-width:22ch}.page-head .lede{margin-bottom:0}.breadcrumb ol{display:flex;flex-wrap:wrap;gap:var(--space-2);list-style:none;margin:0 0 var(--space-5);padding:0;font-size:var(--step--1);color:var(--muted)}.breadcrumb li+li:before{content:"/";margin-right:var(--space-2);color:var(--faint)}.breadcrumb a{color:var(--muted)}.hero{padding-block:clamp(2.5rem,1.5rem + 5vw,5.5rem) var(--space-7)}.hero-name{font-size:clamp(2.5rem,.6rem + 9.4vw,7.25rem);font-weight:800;font-stretch:125%;line-height:.92;letter-spacing:-.035em;margin:0 0 var(--space-5);max-width:none}.hero-name span{display:block}.hero-role{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-2) var(--space-4);margin-bottom:var(--space-5);font-size:var(--step-2);font-weight:650;font-stretch:108%;line-height:1.25}.hero-role .where{font-size:var(--step-0);font-weight:500;font-stretch:100%;color:var(--muted)}.hero-value{font-size:var(--step-1);line-height:1.5;max-width:52ch;margin-bottom:var(--space-6)}.hero-now{margin:var(--space-6) 0 0;font-size:var(--step--1);color:var(--muted);display:flex;gap:var(--space-2);align-items:center;flex-wrap:wrap}.signal-path{padding-block:var(--space-6) var(--space-5)}.signal-path .section-head{margin-bottom:var(--space-6)}.path{--node: 1.1rem;list-style:none;padding:0;margin:0;display:grid;gap:0;position:relative;counter-reset:station}.path-station{position:relative;padding:0 0 var(--space-6) calc(var(--node) + var(--space-5));counter-increment:station}.path-station:before{content:"";position:absolute;left:calc(var(--node) / 2 - 1px);top:var(--node);bottom:0;width:2px;background:var(--signal);transform-origin:top}.path-station:last-child:before{display:none}.path-node{position:absolute;left:0;top:.15rem;inline-size:var(--node);block-size:var(--node);border-radius:50%;border:3px solid var(--signal);background:var(--bg)}.path-station:last-child .path-node{background:var(--signal-fill)}.path-label{display:block;font-size:var(--step--1);font-weight:650;color:var(--signal);margin-bottom:var(--space-1)}.path-label:before{content:counter(station) ". "}.path-station h3{font-size:var(--step-1);margin-bottom:var(--space-2)}.path-station p{color:var(--muted);margin-bottom:var(--space-2);max-width:34ch}.path-station a{font-size:var(--step--1)}@media (min-width: 60rem){.path{grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--space-5)}.path-station{padding:calc(var(--node) + var(--space-5)) 0 0}.path-station:before{left:var(--node);right:calc(-1 * var(--space-5));top:calc(var(--node) / 2 - 1px);bottom:auto;width:auto;height:2px;transform-origin:left}.path-station p{max-width:none}}@media (prefers-reduced-motion: no-preference){.js .path-station:before{animation:draw .5s cubic-bezier(.3,.7,.3,1) both}.js .path-station .path-node,.js .path-station .path-body{animation:arrive .4s ease-out both}.js .path-station:nth-child(1) .path-node,.js .path-station:nth-child(1) .path-body{animation-delay:.05s}.js .path-station:nth-child(1):before{animation-delay:.15s}.js .path-station:nth-child(2) .path-node,.js .path-station:nth-child(2) .path-body{animation-delay:.4s}.js .path-station:nth-child(2):before{animation-delay:.5s}.js .path-station:nth-child(3) .path-node,.js .path-station:nth-child(3) .path-body{animation-delay:.75s}.js .path-station:nth-child(3):before{animation-delay:.85s}.js .path-station:nth-child(4) .path-node,.js .path-station:nth-child(4) .path-body{animation-delay:1.1s}.js .path-station:nth-child(4):before{animation-delay:1.2s}.js .path-station:nth-child(5) .path-node,.js .path-station:nth-child(5) .path-body{animation-delay:1.45s}}@keyframes draw{0%{transform:scale(0)}to{transform:scale(1)}}@media (min-width: 60rem){@keyframes draw{0%{transform:scaleX(0)}to{transform:scaleX(1)}}}@keyframes arrive{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.card-grid{display:grid;gap:var(--space-5);grid-template-columns:repeat(auto-fill,minmax(min(100%,20rem),1fr));list-style:none;padding:0;margin:0}.card{position:relative;display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-5);background:var(--raised);border:1px solid var(--line);border-radius:var(--radius-m);height:100%}.card:hover{border-color:var(--control)}.card:focus-within{border-color:var(--signal)}.card h2,.card h3{margin:0;font-size:var(--step-1);font-stretch:106%}.card :is(h2,h3) a{text-decoration:none}.card :is(h2,h3) a:after{content:"";position:absolute;inset:0;border-radius:inherit}.card :is(h2,h3) a:focus-visible{outline:none}.card:has(:is(h2,h3) a:focus-visible){outline:3px solid var(--focus);outline-offset:3px}.card p{margin:0;color:var(--muted)}.card-meta{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-3);align-items:center;font-size:var(--step--1);color:var(--muted)}.card-foot{margin-top:auto;padding-top:var(--space-2);display:flex;flex-wrap:wrap;gap:var(--space-2)}.tag{font-size:.8125rem;padding:.1rem .5rem;border-radius:4px;background:var(--sunk);color:var(--muted);font-weight:560}.featured{display:grid;gap:var(--space-5);list-style:none;padding:0;margin:0}@media (min-width: 56rem){.featured{grid-template-columns:1.25fr 1fr;grid-template-rows:auto auto}.featured>li:first-child{grid-row:span 2}.featured>li:first-child .card{padding:var(--space-6)}.featured>li:first-child h3{font-size:var(--step-2)}}.card-figure{margin:var(--space-2) 0 var(--space-2);padding:var(--space-4);border-radius:var(--radius-s);background:var(--sunk);font-size:var(--step--1)}.mini-route{display:grid;grid-template-columns:1fr auto 1fr;gap:var(--space-3);align-items:center;margin:0;padding:0;list-style:none}.mini-route li{padding:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-s);background:var(--raised)}.mini-route strong{display:block;font-stretch:112%}.mini-route .arrow{border:0;background:none;padding:0;color:var(--signal);font-weight:700}.mini-status{list-style:none;padding:0;margin:var(--space-3) 0 0;display:grid;gap:var(--space-1)}.mini-status li{display:flex;gap:var(--space-2);align-items:flex-start}.mini-status svg{width:1.1rem;height:1.1rem;flex:none;margin-top:.2rem}.card-meta svg,.card svg{flex:none}.layers{list-style:none;padding:0;margin:0;max-width:46rem;counter-reset:layer}.layers li{counter-increment:layer;display:grid;grid-template-columns:2.5rem 1fr;gap:var(--space-1) var(--space-3);padding:var(--space-3) var(--space-4);border-left:3px solid var(--line);background:linear-gradient(90deg,var(--sunk),transparent 85%)}.layers li+li{margin-top:2px}.layers li:nth-child(2){margin-left:clamp(.4rem,1.5vw,1.25rem)}.layers li:nth-child(3){margin-left:clamp(.8rem,3vw,2.5rem)}.layers li:nth-child(4){margin-left:clamp(1.2rem,4.5vw,3.75rem)}.layers li:nth-child(5){margin-left:clamp(1.6rem,6vw,5rem)}.layers li:nth-child(6){margin-left:clamp(2rem,7.5vw,6.25rem)}.layers li:nth-child(n+7){margin-left:clamp(2.4rem,9vw,7.5rem)}.layers li:before{content:counter(layer);grid-row:span 2;font-weight:700;color:var(--faint);font-stretch:112%}.layers li:last-child{border-left-color:var(--signal)}.layers strong{font-weight:650}.layers span{color:var(--muted);font-size:var(--step--1)}.timeline-list{list-style:none;padding:0;margin:0;display:grid;gap:0}.timeline-list>li{display:grid;gap:var(--space-1) var(--space-6);padding-block:var(--space-5);border-top:1px solid var(--line)}.timeline-list>li:last-child{border-bottom:1px solid var(--line)}.timeline-list h3{margin:0}.timeline-list .when{color:var(--muted);font-size:var(--step--1);font-weight:560}.timeline-list p{margin:var(--space-2) 0 0;color:var(--muted);max-width:var(--measure)}@media (min-width: 48rem){.timeline-list>li{grid-template-columns:12rem 1fr}.timeline-list .when{padding-top:.25rem}}.split{display:grid;gap:var(--space-7)}@media (min-width: 56rem){.split{grid-template-columns:1fr 1fr;gap:var(--space-8)}}.plain-list{padding-left:1.2rem}.plain-list li+li{margin-top:var(--space-2)}.plain-list li::marker{color:var(--signal)}.contact-band{margin-block:var(--space-8);padding:clamp(1.5rem,1rem + 3vw,3.5rem);border-radius:var(--radius-m);background:var(--raised);border:1px solid var(--line);border-left:6px solid var(--signal)}.contact-band h2{max-width:24ch}.contact-band p{color:var(--muted);max-width:56ch}.case-head{padding-block:var(--space-7) var(--space-5)}.case-head h1{max-width:24ch}.case-status{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-3);align-items:center;margin-bottom:var(--space-4);color:var(--muted);font-size:var(--step--1)}.outcomes{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));gap:var(--space-3);list-style:none;padding:0;margin:var(--space-6) 0 var(--space-3)}.outcomes li{padding:var(--space-4);border-radius:var(--radius-s);background:var(--raised);border:1px solid var(--line);border-top:3px solid var(--signal)}.outcomes .value{display:block;font-size:var(--step-3);font-weight:800;font-stretch:120%;line-height:1;margin-bottom:var(--space-2)}.outcomes .label{display:block;font-weight:650}.outcomes .text{color:var(--muted);font-size:var(--step--1)}.case-layout{display:grid;gap:var(--space-7);padding-bottom:var(--space-8)}@media (min-width: 64rem){.case-layout{grid-template-columns:minmax(0,1fr) 17rem;gap:var(--space-8)}.case-aside{order:2}.case-aside-inner{position:sticky;top:calc(var(--header-h) + var(--space-5))}}.case-body section{padding-top:var(--space-6)}.case-body section:first-child{padding-top:0}.case-body h2{font-size:var(--step-2)}.case-body>section>p,.case-body>section>ul{max-width:var(--measure)}.facts{margin:0 0 var(--space-6);display:grid;gap:var(--space-3)}.facts div{border-top:1px solid var(--line);padding-top:var(--space-2)}.facts dt{font-size:var(--step--1);color:var(--muted);font-weight:600}.facts dd{margin:0;font-weight:560}.toc h2{font-size:var(--step-0);font-stretch:100%;margin-bottom:var(--space-2)}.toc ol{list-style:none;padding:0;margin:0}.toc a{display:block;padding:var(--space-1) 0 var(--space-1) var(--space-3);border-left:2px solid var(--line);text-decoration:none;color:var(--muted);font-size:var(--step--1);min-height:32px}.toc a:hover,.toc a[aria-current=true]{color:var(--text);border-left-color:var(--signal)}.callout{padding:var(--space-4) var(--space-5);border-left:4px solid var(--signal);background:var(--signal-soft);border-radius:0 var(--radius-s) var(--radius-s) 0;max-width:var(--measure);font-weight:520}.reference{margin:var(--space-5) 0;padding:var(--space-5);border:1px dashed var(--control);border-radius:var(--radius-m);max-width:calc(var(--measure) + 3rem)}.reference-label{display:inline-block;margin-bottom:var(--space-3);font-size:var(--step--1);font-weight:700;color:var(--info)}.reference h3{font-size:var(--step-1)}.reference ul{padding-left:1.2rem}.reference li+li{margin-top:var(--space-2)}.steps{list-style:none;padding:0;margin:0 0 var(--space-4);counter-reset:step;max-width:var(--measure)}.steps li{counter-increment:step;position:relative;padding:0 0 var(--space-4) 2.75rem}.steps li:before{content:counter(step);position:absolute;left:0;top:0;inline-size:1.9rem;block-size:1.9rem;display:grid;place-items:center;border-radius:50%;border:2px solid var(--signal);font-weight:700;font-size:var(--step--1);color:var(--signal)}.steps li:after{content:"";position:absolute;left:calc(.95rem - 1px);top:2.1rem;bottom:.2rem;width:2px;background:var(--line)}.steps li:last-child:after{display:none}.steps strong{display:block}.steps span{color:var(--muted)}.related{border-top:1px solid var(--line);padding-block:var(--space-7)}.share-row{margin-top:var(--space-5)}.diagram{margin:var(--space-5) 0;padding:var(--space-5);background:var(--raised);border:1px solid var(--line);border-radius:var(--radius-m)}.diagram figcaption{margin-top:var(--space-4);color:var(--muted);font-size:var(--step--1)}.diagram-title{font-size:var(--step-0);font-stretch:105%;margin-bottom:var(--space-4)}.arch{display:grid;gap:var(--space-4)}.arch-collectors{padding:var(--space-3) var(--space-4);border:1px solid var(--line);border-radius:var(--radius-s);background:var(--sunk);display:grid;gap:var(--space-1)}.arch-collectors strong{font-stretch:108%}.arch-collectors span{color:var(--muted);font-size:var(--step--1)}.arch-main{display:grid;gap:var(--space-4)}@media (min-width: 52rem){.arch-main{grid-template-columns:1fr 1.5fr 1fr;align-items:stretch}}.arch-env{padding:var(--space-4);border-radius:var(--radius-s);border:2px solid var(--control)}.arch-env.is-destination{border-style:dashed}.arch-env h4{margin-bottom:var(--space-1)}.arch-env .provider{font-size:var(--step-2);font-weight:800;font-stretch:120%;display:block;margin-bottom:var(--space-2)}.arch-env ul{margin:0;padding-left:1.1rem;font-size:var(--step--1);color:var(--muted)}.lanes{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-2)}.lane{display:grid;grid-template-columns:1fr;gap:var(--space-1);padding:var(--space-2) var(--space-3);border-radius:var(--radius-s);background:var(--sunk);font-size:var(--step--1);border-left:4px solid var(--control)}.lane strong{font-weight:620}.lane-status{display:inline-flex;gap:var(--space-2);align-items:center;font-weight:650}.lane-status svg{width:1rem;height:1rem;flex:none}.lane.is-done{border-left-color:var(--ok)}.lane.is-done .lane-status{color:var(--ok)}.lane.is-worked{border-left-color:var(--signal)}.lane.is-worked .lane-status{color:var(--signal)}.lane.is-pending{border-left-style:dashed}.lane.is-pending .lane-status{color:var(--muted)}.flow{list-style:none;padding:0;margin:0;display:grid;gap:var(--space-3);counter-reset:flow}@media (min-width: 52rem){.flow{grid-template-columns:repeat(4,minmax(0,1fr))}}.flow li{counter-increment:flow;padding:var(--space-4);border-radius:var(--radius-s);background:var(--sunk);border-top:3px solid var(--signal);position:relative}.flow strong{display:block;margin-bottom:var(--space-1)}.flow strong:before{content:counter(flow) ". ";color:var(--signal)}.flow span{color:var(--muted);font-size:var(--step--1)}.decision-constraint{font-weight:650;padding:var(--space-3) var(--space-4);border-radius:var(--radius-s);background:var(--sunk);margin-bottom:var(--space-3)}.options{list-style:none;padding:0;margin:0;display:grid;gap:var(--space-2)}.option{display:grid;grid-template-columns:auto 1fr;gap:var(--space-1) var(--space-3);align-items:start;padding:var(--space-3) var(--space-4);border-radius:var(--radius-s);border:1px solid var(--line)}.option svg{width:1.25rem;height:1.25rem;grid-row:span 2;margin-top:.15rem}.option .reason{color:var(--muted);font-size:var(--step--1)}.option.is-chosen{border:2px solid var(--ok)}.option.is-chosen svg{color:var(--ok)}.option.is-rejected svg{color:var(--muted)}.verdict{font-size:var(--step--1);font-weight:700;margin-right:var(--space-2)}.paths{display:grid;gap:var(--space-4)}.paths h4{margin-bottom:var(--space-2);font-size:var(--step--1)}.chain{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:stretch}.chain li{padding:var(--space-2) var(--space-3);border-radius:var(--radius-s);background:var(--sunk);font-size:var(--step--1);position:relative}.chain li+li:before{content:"\203a";margin-right:var(--space-2);color:var(--faint);font-weight:700}.chain.is-good li:last-child{box-shadow:inset 0 0 0 2px var(--ok)}.chain.is-bad li:last-child{box-shadow:inset 0 0 0 2px var(--danger)}.legend{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-5);margin-top:var(--space-4);font-size:var(--step--1);color:var(--muted);list-style:none;padding:0}.legend li{display:inline-flex;align-items:center;gap:var(--space-2)}.legend svg{width:1rem;height:1rem}.filters{display:grid;gap:var(--space-4);padding:var(--space-5);margin-bottom:var(--space-6);background:var(--raised);border:1px solid var(--line);border-radius:var(--radius-m)}.chip-group{display:flex;flex-wrap:wrap;gap:var(--space-2);border:0;padding:0;margin:0}.chip-group legend{font-weight:650;margin-bottom:var(--space-2);padding:0;font-size:var(--step--1)}.chip{min-height:44px;padding:0 var(--space-4);border-radius:999px;border:1px solid var(--control);background:transparent;color:var(--text);font:inherit;font-size:.95rem;font-weight:560;cursor:pointer}.chip[aria-pressed=true]{background:var(--text);color:var(--bg);border-color:var(--text)}.chip:hover{border-color:var(--text)}.results-meta{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center;justify-content:space-between;margin-bottom:var(--space-4);color:var(--muted);font-size:var(--step--1);min-height:44px}.empty{padding:var(--space-6);border:1px dashed var(--control);border-radius:var(--radius-m);text-align:left}.empty h2,.empty h3{font-size:var(--step-1)}.field{display:grid;gap:var(--space-2);min-width:0;align-content:start}.field label,.field .label{font-weight:650;font-size:.97rem}.field .hint{color:var(--muted);font-size:var(--step--1);margin:0}input[type=text],input[type=search],input[type=email],input[type=number],input[type=datetime-local],select,textarea{width:100%;min-height:48px;padding:var(--space-2) var(--space-3);border:1px solid var(--control);border-radius:var(--radius-s);background:var(--raised);color:var(--text);font:inherit;font-size:1rem}textarea{min-height:8rem;resize:vertical;line-height:1.5}.mono,textarea.mono{font-family:var(--font-mono);font-size:.9rem}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--focus);outline-offset:1px;border-color:var(--focus)}[aria-invalid=true]{border-color:var(--danger)!important;border-width:2px!important}.field-error{color:var(--danger);font-size:var(--step--1);font-weight:600;margin:0;display:flex;gap:var(--space-2)}.field-error:empty{display:none}.field-error:before{content:"!";display:inline-grid;place-items:center;inline-size:1.1rem;block-size:1.1rem;border-radius:50%;background:var(--danger);color:var(--raised);font-size:.75rem;flex:none;margin-top:.15rem}.form-grid{display:grid;gap:var(--space-4)}@media (min-width: 40rem){.form-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.form-grid .span-all{grid-column:1 / -1}.inline-field{display:grid;grid-template-columns:minmax(0,1fr) 7rem;gap:var(--space-2)}.radio-row{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-5);border:0;padding:0;margin:0}.radio-row legend{font-weight:650;margin-bottom:var(--space-2);padding:0}.radio-row label{display:inline-flex;align-items:center;gap:var(--space-2);min-height:44px;cursor:pointer}.radio-row input{width:1.2rem;height:1.2rem;accent-color:var(--signal-fill)}.tool-panel{padding:clamp(1rem,.5rem + 2vw,2rem);background:var(--raised);border:1px solid var(--line);border-radius:var(--radius-m);margin-bottom:var(--space-6)}.tool-output{margin-top:var(--space-5);padding:var(--space-5);background:var(--sunk);border-radius:var(--radius-s)}.tool-output h2,.tool-output h3{font-size:var(--step-1)}.result-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr));gap:var(--space-3) var(--space-5);margin:0}.result-grid div{border-top:1px solid var(--line);padding-top:var(--space-2);min-width:0}.result-grid dt{font-size:var(--step--1);color:var(--muted);font-weight:600}.result-grid dd{margin:0;font-family:var(--font-mono);font-size:.95rem;overflow-wrap:anywhere}.result-grid dd.big{font-family:var(--font-sans);font-size:var(--step-2);font-weight:750;font-stretch:112%}.notice{padding:var(--space-3) var(--space-4);border-radius:var(--radius-s);border-left:4px solid var(--info);background:var(--info-soft);font-size:var(--step--1);max-width:var(--measure)}.notice.is-warning{border-left-color:var(--signal);background:var(--signal-soft)}.notice.is-error{border-left-color:var(--danger);background:var(--danger-soft)}.notice.is-ok{border-left-color:var(--ok);background:var(--ok-soft)}.notice p:last-child{margin:0}.hash-out{font-family:var(--font-mono);overflow-wrap:anywhere;font-size:.95rem;padding:var(--space-3);background:var(--raised);border-radius:var(--radius-s);border:1px solid var(--line)}.tool-list{list-style:none;padding:0;margin:0;display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(min(100%,22rem),1fr))}.tl-entries{list-style:none;margin:0;padding:0}.tl-entry{display:grid;gap:var(--space-1) var(--space-4);padding:var(--space-4) 0;border-top:1px solid var(--line)}@media (min-width: 46rem){.tl-entry{grid-template-columns:12.5rem minmax(0,1fr) auto;align-items:start}}.tl-time{font-family:var(--font-mono);font-size:.9rem}.tl-phase{font-size:var(--step--1);font-weight:700;color:var(--signal)}.tl-desc{white-space:pre-wrap;margin:var(--space-1) 0 0}.tl-source{color:var(--muted);font-size:var(--step--1);margin:var(--space-1) 0 0}.tl-actions{display:flex;gap:var(--space-2);flex-wrap:wrap}.tl-entry.is-editing{background:var(--signal-soft);margin-inline:calc(-1 * var(--space-3));padding-inline:var(--space-3);border-radius:var(--radius-s)}.synthetic-flag{display:inline-flex;padding:.1rem .5rem;border-radius:4px;background:var(--signal-soft);color:var(--signal);font-weight:700;font-size:var(--step--1)}.resume{max-width:52rem}.resume-head{padding-bottom:var(--space-5);border-bottom:2px solid var(--text);margin-bottom:var(--space-6)}.resume-head h1{font-stretch:122%;font-weight:800;margin-bottom:var(--space-2)}.resume-head .role{font-size:var(--step-1);font-weight:650;margin:0 0 var(--space-3)}.resume-contact{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-5);list-style:none;padding:0;margin:0;font-size:var(--step--1)}.resume section{margin-bottom:var(--space-6)}.resume h2{font-size:var(--step-1);font-stretch:112%;border-bottom:1px solid var(--line);padding-bottom:var(--space-2);margin-bottom:var(--space-4)}.resume h3{font-size:var(--step-0);margin-bottom:var(--space-1)}.resume .org{font-weight:750;font-stretch:108%;font-size:var(--step-1);margin-bottom:var(--space-2)}.resume .role-line{display:flex;flex-wrap:wrap;justify-content:space-between;gap:0 var(--space-4)}.resume .role-line span{color:var(--muted);font-size:var(--step--1)}.resume ul{padding-left:1.1rem}.resume li+li{margin-top:var(--space-1)}.resume .entry{margin-bottom:var(--space-5)}.resume-actions{margin-bottom:var(--space-6)}.resume dl.skills{display:grid;gap:var(--space-2);margin:0}.resume dl.skills div{display:grid;gap:0 var(--space-4)}@media (min-width: 40rem){.resume dl.skills div{grid-template-columns:13rem 1fr}}.resume dl.skills dt{font-weight:650}.resume dl.skills dd{margin:0;color:var(--muted)}.site-footer{border-top:1px solid var(--line);padding-block:var(--space-7);background:var(--sunk);font-size:var(--step--1);color:var(--muted)}.footer-grid{display:grid;gap:var(--space-6)}@media (min-width: 48rem){.footer-grid{grid-template-columns:1.4fr 1fr 1fr}}.footer-grid h2{font-size:var(--step-0);font-stretch:105%;color:var(--text);margin-bottom:var(--space-3)}.footer-grid ul{list-style:none;padding:0;margin:0;display:grid;gap:var(--space-1)}.footer-grid a{display:inline-flex;align-items:center;min-height:32px}.footer-motto{font-size:var(--step-1);color:var(--text);font-weight:650;font-stretch:110%}.footer-bottom{margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-5);justify-content:space-between}dialog.search-dialog{width:min(40rem,calc(100vw - 2rem));max-height:min(36rem,calc(100dvh - 4rem));margin:8vh auto auto;padding:0;border:1px solid var(--control);border-radius:var(--radius-m);background:var(--raised);color:var(--text);box-shadow:var(--shadow);overflow:hidden}dialog.search-dialog[open]{display:flex;flex-direction:column}dialog.search-dialog::backdrop{background:#050c128c}.search-head{display:flex;gap:var(--space-2);align-items:center;padding:var(--space-3);border-bottom:1px solid var(--line)}.search-head input{border:0;min-height:48px;background:transparent;font-size:1.1rem}.search-head input:focus-visible{outline-offset:-2px}.search-results{list-style:none;margin:0;padding:var(--space-2);overflow-y:auto}.search-results [role=option]{padding:var(--space-3);border-radius:var(--radius-s);cursor:pointer;display:grid;gap:.1rem}.search-results [role=option][aria-selected=true]{background:var(--sunk);box-shadow:inset 3px 0 0 var(--signal)}.search-results .r-title{font-weight:650}.search-results .r-type{font-size:.8125rem;color:var(--muted)}.search-foot{padding:var(--space-2) var(--space-4);border-top:1px solid var(--line);font-size:.8125rem;color:var(--muted);display:flex;flex-wrap:wrap;gap:var(--space-4)}.search-empty{padding:var(--space-4);color:var(--muted)}.toast{position:fixed;left:50%;bottom:max(1rem,env(safe-area-inset-bottom));transform:translate(-50%);z-index:60;max-width:calc(100vw - 2rem);padding:var(--space-3) var(--space-5);border-radius:var(--radius-s);background:var(--text);color:var(--bg);font-weight:600;box-shadow:var(--shadow)}.toast:empty{display:none}.log-line{font-family:var(--font-mono);font-size:.9rem;padding:var(--space-4);border-radius:var(--radius-s);background:var(--sunk);overflow-x:auto;white-space:pre;margin-bottom:var(--space-5)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media print{:root,:root[data-theme=dark]{--bg: #fff;--raised: #fff;--sunk: #f3f5f7;--text: #000;--muted: #333;--faint: #444;--line: #bbb;--signal: #000;--signal-fill: #000;--signal-soft: #fff;--ok: #000;--info: #000;--info-soft: #fff;--ok-soft: #fff;color-scheme:light}@page{size:A4;margin:11mm 13mm}body{font-size:9.6pt;line-height:1.36}.site-header,.site-footer,.skip-link,.no-print,.toast,.share-row,.case-aside .toc,dialog{display:none!important}.container{padding:0;max-width:none}.page-head,.case-head{padding-top:0}a{text-decoration:none}.resume{max-width:none}.resume-head{margin-bottom:3mm;padding-bottom:2.5mm}.resume-head h1{font-size:22pt;margin-bottom:1mm}.resume-head .role{font-size:11.5pt;margin-bottom:1.5mm}.resume-contact{gap:0 5mm;font-size:9pt}.resume section{margin-bottom:3mm}.resume h2{font-size:11pt;margin-bottom:1.5mm;padding-bottom:.8mm;break-after:avoid}.resume h3{font-size:10pt}.resume .org{font-size:10.5pt;margin-bottom:.5mm;break-after:avoid}.resume .role-line{break-after:avoid}.resume .entry{margin-bottom:2mm}.resume p,.resume ul{margin-bottom:1mm}.resume li+li{margin-top:.4mm}.resume li{break-inside:avoid}.resume-contact a[data-print]:after{content:" (" attr(data-print) ")";color:#333}.resume dl.skills{gap:.6mm}.resume dl.skills div{grid-template-columns:40mm 1fr}}.table-scroll{overflow-x:auto;margin-bottom:var(--space-5);border:1px solid var(--line);border-radius:var(--radius-s)}.table-scroll:focus-visible{outline-offset:2px}.ref-table{width:100%;border-collapse:collapse;font-size:var(--step--1)}.ref-table th,.ref-table td{text-align:left;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--line);vertical-align:top}.ref-table th{background:var(--sunk);font-weight:650}.ref-table tr:last-child td{border-bottom:0}.tool-panel>h2,.tool-panel>.form-grid+h2{margin-top:var(--space-6)}.tool-panel>h2:first-child{margin-top:0}@media (max-width: 30rem){.header-inner{gap:var(--space-2)}.header-actions{gap:var(--space-1)}.brand{font-size:.95rem;font-stretch:100%;gap:var(--space-2)}.menu-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.icon-button{padding:0 var(--space-2)}}@media (max-width: 24rem){.header-inner{gap:var(--space-1)}.brand-mark{display:none}.brand{font-stretch:92%;font-size:.92rem}}.featured+.button-row,.card-grid+.button-row,.featured+p,.card-grid+p{margin-top:var(--space-5)}.file-input:focus-visible+label{outline:3px solid var(--focus);outline-offset:3px}.tool-panel>.field+form,.tool-panel>.notice+.field{margin-top:var(--space-5)}
