/*! tailwindcss v4.2.4 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.block{display:block}.contents{display:contents}.grid{display:grid}.hidden{display:none}.inline{display:inline}.break-all{word-break:break-all}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}@font-face{font-family:Outfit;src:url(/fonts/outfit-latin-variable.woff2)format("woff2");font-style:normal;font-weight:400 800;font-display:swap}:root{color-scheme:light;--canvas:#f8f4e6;--surface:#f1ead5;--surface-soft:#ece4ca;--card:#f1ead5;--ink:#282622;--muted:#625d55;--soft:#70695f;--border:#ded4b2;--border-strong:#bcae82;--coral:#b26a34;--coral-ink:#985020;--coral-soft:#f2e2d2;--blue:#326799;--blue-soft:#e5edf2;--green:#3a7253;--green-soft:#e6eee4;--focus:#225e9b;--sans:"Segoe UI", -apple-system, BlinkMacSystemFont, Arial, sans-serif;--heading:"Outfit", "Segoe UI", sans-serif;--mono:"Cascadia Code", Consolas, monospace;--shell-width:87rem;--sidebar-width:16.25rem;--home-width:59.75rem;--readable-width:48.75rem;--prose-width:46.25rem;--gutter:1.5rem}:root[data-theme=dark]{color-scheme:dark;--canvas:#202025;--surface:#29292f;--surface-soft:#303036;--card:#28282e;--ink:#f0ece5;--muted:#c1bcb3;--soft:#aaa69e;--border:#45454d;--border-strong:#74747e;--coral:#fede91;--coral-ink:#fede91;--coral-soft:#3b3224;--blue:#91bce5;--blue-soft:#293640;--green:#a2c5a7;--green-soft:#2d3930;--focus:#a6cefb}@media (prefers-color-scheme:dark){:root:not([data-theme]){color-scheme:dark;--canvas:#202025;--surface:#29292f;--surface-soft:#303036;--card:#28282e;--ink:#f0ece5;--muted:#c1bcb3;--soft:#aaa69e;--border:#45454d;--border-strong:#74747e;--coral:#fede91;--coral-ink:#fede91;--coral-soft:#3b3224;--blue:#91bce5;--blue-soft:#293640;--green:#a2c5a7;--green-soft:#2d3930;--focus:#a6cefb}}*{box-sizing:border-box}html{background:var(--canvas);min-width:0;color:var(--ink);font:100%/1.55 var(--sans);text-rendering:optimizelegibility;scroll-behavior:smooth}body{background:var(--canvas);min-width:0;margin:0}::selection{background:var(--coral-soft);color:var(--ink)}a{color:var(--coral-ink);text-underline-offset:.2em;text-decoration-thickness:1px}a:hover{text-decoration:underline}button,summary{color:inherit;font:inherit}button{cursor:pointer}:focus-visible{outline:3px solid var(--focus);outline-offset:4px}h1,h2,h3,h4,p,ul,ol,dl,dd{margin:0}h1,h2,h3,h4,p,li,dt,dd{overflow-wrap:anywhere}h1,h2,h3,h4{color:var(--ink);font-family:var(--heading);letter-spacing:-.025em;font-weight:700;line-height:1.25}h1{font-size:clamp(2.25rem,2rem + 1vw,2.5rem)}h2{font-size:clamp(1.5625rem,1.45rem + .4vw,1.75rem)}h3{font-size:1.1875rem}ul,ol{padding-left:1.25rem}svg{flex:none}[id]{scroll-margin-top:2rem}.skip-link{z-index:100;background:var(--ink);color:var(--canvas);padding:.65rem 1rem;font-weight:700;position:fixed;top:.75rem;left:.75rem;transform:translateY(-200%)}.skip-link:focus{transform:none}.sr-only{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.site-shell{grid-template-columns:var(--sidebar-width) minmax(0, 1fr);width:min(calc(100% - 3rem), var(--shell-width));margin-inline:auto;display:grid}.site-content,.site-main{min-width:0}.site-content{padding-inline:5.5rem 4rem}.content-lane,.site-footer{width:min(100%, var(--readable-width))}.home-page,.projects-page,.site-footer{width:min(100%, var(--home-width))}.page-layout,.home-page{padding-block:3.5rem 2rem}.site-sidebar{border-right:1px solid var(--border);align-self:start;height:100vh;position:sticky;top:0}.sidebar-inner{flex-direction:column;gap:1.7rem;height:100%;padding:2.25rem 1.5rem 2rem .5rem;display:flex;overflow-y:auto}.sidebar-brand-row{justify-content:space-between;align-items:center;gap:1rem;display:flex}.sidebar-mark-link,.sidebar-identity{color:var(--ink);text-decoration:none;display:block}.sidebar-mark-link:hover,.sidebar-identity:hover{text-decoration:none}.brand-mark{width:2.4rem;height:2.4rem;color:var(--coral);display:block}.sidebar-brand__name,.sidebar-brand__bio{display:block}.sidebar-brand__name{letter-spacing:-.02em;font-size:1.1875rem;font-weight:720}.sidebar-brand__bio{max-width:12.75rem;color:var(--muted);margin-top:.5rem;font-size:.875rem;line-height:1.55}.sidebar-nav{border-top:1px solid var(--border);padding-top:1.4rem}.sidebar-nav ul,.mobile-menu ul{padding:0;list-style:none}.sidebar-nav li+li{margin-top:.4rem}.sidebar-nav a,.mobile-menu nav a{min-height:3rem;color:var(--ink);border-radius:.25rem;align-items:center;gap:.85rem;padding:.65rem .7rem;font-size:.9375rem;text-decoration:none;display:flex;position:relative}.sidebar-nav a:hover,.mobile-menu nav a:hover{color:var(--coral-ink);background:0 0}.sidebar-nav a[aria-current=page],.mobile-menu nav a[aria-current=page]{color:var(--coral-ink);background:0 0;font-weight:700}.sidebar-nav a[aria-current=page]:before{background:var(--coral);content:"";border-radius:2px;width:3px;height:1.45rem;position:absolute;left:-.1rem}.icon-fill-warm{fill:var(--coral-soft);stroke:var(--coral)}.icon-fill-blue{fill:var(--blue-soft);stroke:var(--blue)}.icon-stroke-warm{stroke:var(--coral)}.icon-stroke-blue{stroke:var(--blue)}.icon-stroke-green{stroke:var(--green)}.icon-stroke-ink{stroke:var(--ink)}.theme-control{border:1px solid var(--border-strong);background:0 0;border-radius:.4rem;align-items:center;gap:.3rem;padding:.2rem;display:inline-flex}.theme-control__option{min-height:2.3rem;color:var(--muted);border-radius:.2rem;align-items:center;gap:.45rem;padding:.35rem .55rem;font-size:.8125rem;display:inline-flex}:root:not([data-theme=dark]) .theme-control__option--light,:root[data-theme=dark] .theme-control__option--dark{background:var(--coral-soft);color:var(--coral-ink)}.theme-control--compact{border:0;justify-content:center;width:2.75rem;height:2.75rem}.theme-control--compact .theme-control__option{background:0 0;min-height:0;padding:0}.theme-control--compact .theme-control__option>span,:root:not([data-theme=dark]) .theme-control--compact .theme-control__option--dark,:root[data-theme=dark] .theme-control--compact .theme-control__option--light{display:none}.site-sidebar .theme-control--compact{background:0 0;border:0;border-radius:.4rem;width:2.5rem;height:2.5rem}.site-sidebar .theme-control--compact:hover{background:var(--surface-soft)}.sidebar-preview-links{color:var(--soft);align-items:center;gap:.45rem;margin-top:auto;padding:.5rem .45rem 0;display:flex}.sidebar-preview-icon{cursor:default;place-items:center;width:1.7rem;height:1.7rem;display:grid}.mobile-header{display:none}.home-intro h1{letter-spacing:-.045em;font-size:2.75rem}.accent-punctuation{color:var(--coral-ink)}.home-positioning{color:var(--muted);margin-top:.5rem;font-size:1.125rem;line-height:1.5}.home-section{border-top:1px solid var(--border);margin-top:2.5rem;padding-top:2rem}.home-intro+.home-section{border-top:0;margin-top:2.5rem;padding-top:0}.home-section>h2,.page-section>h2,.case-section>h2{margin-bottom:1.25rem}#home-timeline-title{font-size:1.3rem}.section-heading{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:.45rem .8rem;margin-bottom:1rem;display:flex}.section-heading__title{align-items:center;gap:.55rem;display:inline-flex}.section-heading__title>.icon{overflow:visible}.section-link{border:1px solid var(--border);min-height:1.8rem;color:var(--muted);border-radius:.35rem;align-items:center;padding:.2rem .5rem;font-size:.75rem;font-weight:650;line-height:1;text-decoration:none;display:inline-flex}.section-link:hover{border-color:var(--border-strong);color:var(--coral-ink);text-decoration:none}.project-list,.post-list,.roadmap-summary,.timeline-list,.outcome-list{padding:0;list-style:none}.home-timeline-layout{grid-template-columns:minmax(0,37rem) 16.25rem;justify-content:start;align-items:center;gap:.8rem;display:grid}.home-timeline{max-width:37rem}.timeline-list.home-timeline li{grid-template-columns:6.25rem minmax(0,1fr);gap:1rem;padding-block:.65rem}.home-timeline .timeline-period{padding-top:.13rem}.timeline-narrative{color:var(--ink);font-size:1rem;line-height:1.55}.timeline-narrative strong{color:var(--coral-ink);font-family:var(--heading);letter-spacing:-.01em;font-weight:700}.engineering-illustration.home-builder-illustration{align-self:center;width:16.25rem;margin:.9rem 0 0}.project-thumbnail{width:2.875rem;height:2.875rem;color:var(--muted);background:var(--surface);border:1px solid var(--border);border-radius:.4rem;place-items:center;display:grid}.project-period,.post-date,.post-row time{color:var(--muted);font-size:.8125rem}.project-domain-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:2rem;display:grid}.home-page .project-domain-grid{gap:1.75rem;max-width:51rem}.project-domain>h2,.project-domain>h3{margin-bottom:.85rem;font-size:1.1875rem}.project-list--cards{gap:.8rem;display:grid}.project-list--cards .project-item{min-width:0}.project-card{border:2px solid var(--border);background:var(--card);border-radius:.5rem;grid-template-rows:auto auto auto 1fr auto;min-width:0;min-height:11rem;padding:.85rem 1rem;display:grid}.project-card__meta{color:var(--muted);margin-bottom:.25rem;font-size:.8125rem;font-weight:600;line-height:1.45}.project-card h3,.project-card h4,.project-card--compact h4{color:var(--coral-ink);font-size:1.125rem}.project-card__description{color:var(--muted);margin-top:.3rem;font-size:.90625rem;line-height:1.45}.project-card__tools{background:var(--surface-soft);border-radius:.25rem;align-self:start;align-items:flex-start;gap:.4375rem;margin-top:.65rem;padding:.4rem;display:flex}.project-card__tools-icon{flex:none;margin-top:.1rem}.project-card__skills{min-width:0;color:var(--muted);font-size:.8125rem;font-weight:500;line-height:1.4}.project-card__actions{flex-wrap:wrap;align-items:end;gap:.4rem .85rem;padding-top:.75rem;display:flex}.project-action{align-items:center;min-height:1.35rem;font-size:.8125rem;font-weight:650;text-decoration:underline 1px;display:inline-flex}.project-card--placeholder{border-style:solid;border-color:var(--border);background:var(--card)}.project-card--placeholder h3,.project-card--placeholder h4{color:var(--muted)}.project-card--placeholder .project-card__meta,.project-card--placeholder .project-card__description{color:var(--soft)}.project-action--future{color:var(--soft);cursor:default;text-decoration-color:#0000}.roadmap-summary{gap:.35rem;display:grid}.roadmap-summary>li{gap:1rem;padding-block:.75rem;display:flex}.track-icon{color:var(--ink);flex:0 0 2.5rem;align-self:start;place-items:center;min-height:2rem;display:grid}.roadmap-summary h3{font-size:1.125rem}.roadmap-summary p{color:var(--soft);margin-top:.25rem;font-size:1rem;line-height:1.55}.page-intro{margin-bottom:2.5rem}.page-lead{max-width:var(--prose-width);color:var(--muted);margin-top:1rem;font-size:1.0625rem;line-height:1.65}.page-section+.page-section{border-top:1px solid var(--border);margin-top:2.5rem;padding-top:2.5rem}.timeline-list li{grid-template-columns:7rem minmax(0,1fr);gap:1.25rem;padding-block:.9rem;display:grid}.timeline-period{color:var(--muted);font:.8125rem/1.6 var(--mono)}.timeline-list h3{font:650 1rem/1.5 var(--sans);letter-spacing:0}.timeline-list div p{color:var(--muted);margin-top:.25rem;font-size:.9375rem}.work-with-list>div,.methods-list>div{border-top:1px solid var(--border);grid-template-columns:11rem minmax(0,1fr);gap:1.25rem;padding-block:.85rem;display:grid}.work-with-list dt,.methods-list dt{font-weight:600}.work-with-list dd,.methods-list dd,.output-citation{color:var(--muted)}.output-citation p+p{margin-top:.75rem}.item-title{color:var(--ink);font-weight:650}.roadmap-page{width:min(100%, var(--home-width))}.roadmap-intro{margin-bottom:1.5rem}.roadmap-intro .page-lead{margin-top:.65rem}.roadmap-tree{--roadmap-line:var(--border-strong)}@supports (color:color-mix(in lab, red, red)){.roadmap-tree{--roadmap-line:color-mix(in srgb, var(--border-strong) 76%, transparent)}}.roadmap-tree{--roadmap-primary:var(--coral)}@supports (color:color-mix(in lab, red, red)){.roadmap-tree{--roadmap-primary:color-mix(in srgb, var(--coral) 68%, var(--border-strong))}}.roadmap-toolbar{border-block:1px solid var(--border);color:var(--muted);flex-wrap:wrap;align-items:center;gap:.65rem 1.25rem;margin-bottom:2.35rem;padding-block:.65rem;font-size:.75rem;display:flex}.roadmap-legend{flex-wrap:wrap;gap:.55rem 1rem;display:flex}.roadmap-legend__item{align-items:center;gap:.45rem;display:inline-flex}.roadmap-status-marker{border:1px solid var(--border-strong);width:.875rem;height:.875rem;color:var(--muted);background:var(--canvas);font:750 .59rem/1 var(--sans);border-radius:50%;flex:none;place-items:center;display:inline-grid}.roadmap-status--completed .roadmap-status-marker{border-color:var(--coral);color:var(--coral-ink);background:var(--coral-soft)}.roadmap-status--completed .roadmap-status-marker:before{content:"✓"}.roadmap-status--in-progress .roadmap-status-marker{border-color:var(--coral);color:var(--coral-ink);background:linear-gradient(90deg, var(--coral-soft) 50%, var(--canvas) 50%)}.roadmap-status--in-progress .roadmap-status-marker:before{content:"◐"}.roadmap-status--planned .roadmap-status-marker{border-style:dashed}.roadmap-status--planned .roadmap-status-marker:before{content:"○"}.roadmap-progress-summary{flex-wrap:wrap;flex:20rem;justify-content:flex-end;align-items:center;gap:.75rem 1rem;display:flex}.roadmap-progress-summary__item{grid-template-columns:auto auto;align-items:center;gap:.1rem .35rem;min-width:5.9rem;display:grid}.roadmap-progress-summary__item strong{color:var(--ink);font-size:.75rem}.roadmap-summary-bar{background:var(--border);grid-column:1/-1;height:2px;overflow:hidden}.roadmap-summary-bar>span{width:var(--roadmap-progress);background:var(--coral);height:100%;display:block}.roadmap-clear-focus,.roadmap-detail button,.roadmap-author button{border:1px solid var(--border-strong);min-height:2rem;color:var(--ink);background:var(--card);font:inherit;cursor:pointer;border-radius:.3rem;padding:.3rem .55rem}.roadmap-workspace{position:relative}.roadmap-detail-slot{margin-bottom:1.25rem}.roadmap-map{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:0 3rem;display:grid}.roadmap-knowledge-track{min-width:0}.roadmap-knowledge-track--engineering{--roadmap-primary:var(--coral)}@supports (color:color-mix(in lab, red, red)){.roadmap-knowledge-track--engineering{--roadmap-primary:color-mix(in srgb, var(--coral) 68%, var(--border-strong))}}.roadmap-knowledge-track--ai{--roadmap-primary:var(--blue)}@supports (color:color-mix(in lab, red, red)){.roadmap-knowledge-track--ai{--roadmap-primary:color-mix(in srgb, var(--blue) 66%, var(--border-strong))}}.roadmap-knowledge-track>h2{border-bottom:2px solid var(--border-strong);text-align:center;margin-bottom:2rem;padding-bottom:.55rem;font-size:1.375rem}.roadmap-knowledge-track--engineering>h2{border-color:var(--coral)}.roadmap-knowledge-track--ai>h2{border-color:var(--blue)}.roadmap-track-flow{grid-template-rows:repeat(10,5rem);grid-template-columns:minmax(0,1fr) 2.75rem minmax(0,1fr);gap:1.25rem .75rem;display:grid;position:relative}.roadmap-track-stage{z-index:3;top:var(--roadmap-stage-y);color:var(--soft);background:var(--canvas);letter-spacing:.075em;text-transform:uppercase;padding-inline:.35rem;font-size:.6rem;font-weight:700;line-height:1.35;position:absolute;transform:translateY(-50%)}.roadmap-track-stage--start{left:0}.roadmap-track-stage--end{right:0}.roadmap-track-connectors{z-index:0;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.roadmap-edge{fill:none;stroke:var(--roadmap-line);stroke-width:1.15px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.roadmap-edge--primary{stroke:var(--roadmap-primary);stroke-width:2.1px}.roadmap-group,.roadmap-node-list,.roadmap-node-list>li{display:contents}.roadmap-group__label{display:none}.roadmap-node-list,.roadmap-resource-list,.roadmap-convergence__branches,.roadmap-cross-inputs,.roadmap-final-sources{padding:0;list-style:none}.roadmap-node{z-index:2;grid-row:var(--roadmap-row);grid-column:var(--roadmap-column);border:1px solid var(--border);background:var(--card);min-width:0;min-height:4.5rem;box-shadow:0 1px 0 var(--border);border-radius:.35rem;align-self:center;padding:.5rem .65rem .45rem;position:relative}@supports (color:color-mix(in lab, red, red)){.roadmap-node{box-shadow:0 1px 0 color-mix(in srgb, var(--border) 55%, transparent)}}.roadmap-node{transition:border-color .15s,opacity .15s,background-color .15s}.roadmap-node--centered{grid-column:1/-1;justify-self:center;width:11rem}.roadmap-node h3{overflow-wrap:normal;word-break:normal;-webkit-hyphens:none;hyphens:none;font:650 .84rem/1.24 var(--sans);letter-spacing:-.008em}.roadmap-node__select{width:100%;min-height:1.65rem;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:start;gap:.4rem;padding:0;display:flex}.roadmap-node__title{min-width:0}.roadmap-node__percent{color:var(--muted);flex:none;font-size:.65rem;font-weight:650;line-height:1.45}.roadmap-node.roadmap-status--completed{border-color:var(--coral)}@supports (color:color-mix(in lab, red, red)){.roadmap-node.roadmap-status--completed{border-color:color-mix(in srgb, var(--coral) 55%, var(--border))}}.roadmap-node.roadmap-status--completed{background:var(--coral-soft)}@supports (color:color-mix(in lab, red, red)){.roadmap-node.roadmap-status--completed{background:color-mix(in srgb, var(--coral-soft) 52%, var(--card))}}.roadmap-node.roadmap-status--in-progress{border-left:2px solid var(--coral);background:var(--coral-soft)}@supports (color:color-mix(in lab, red, red)){.roadmap-node.roadmap-status--in-progress{background:color-mix(in srgb, var(--coral-soft) 25%, var(--card))}}.roadmap-node.roadmap-status--planned{color:var(--muted);background:var(--card);border-style:dashed}@supports (color:color-mix(in lab, red, red)){.roadmap-node.roadmap-status--planned{background:color-mix(in srgb, var(--card) 72%, var(--canvas))}}.roadmap-resource-list{flex-wrap:nowrap;gap:0 .35rem;margin-top:.2rem;display:flex}.roadmap-resource-list li{white-space:nowrap}.roadmap-resource-list li+li:before{color:var(--border-strong);content:"·";margin-right:.35rem}.roadmap-resource-list a,.roadmap-resource-list span{align-items:center;min-height:1.25rem;font-size:.65rem;font-weight:600;display:inline-flex}.roadmap-resource-list a{color:var(--coral-ink)}.roadmap-resource--inactive{color:var(--soft)}.roadmap-node__progress{background:var(--border);height:3px;margin-top:.24rem;display:block;overflow:hidden}.roadmap-node__progress>span{width:var(--roadmap-progress);background:var(--roadmap-primary);height:100%;display:block}.roadmap-node.is-selected{z-index:4;border-color:var(--roadmap-primary);box-shadow:0 0 0 2px var(--roadmap-primary);border-style:solid}@supports (color:color-mix(in lab, red, red)){.roadmap-node.is-selected{box-shadow:0 0 0 2px color-mix(in srgb, var(--roadmap-primary) 22%, transparent)}}.roadmap-tree[data-roadmap-focus] .roadmap-node.is-muted{border-color:var(--border);background:var(--card)}@supports (color:color-mix(in lab, red, red)){.roadmap-tree[data-roadmap-focus] .roadmap-node.is-muted{background:color-mix(in srgb, var(--card) 58%, var(--canvas))}}.roadmap-tree[data-roadmap-focus] .roadmap-node.is-muted{box-shadow:none}.roadmap-tree[data-roadmap-focus] .roadmap-node.is-muted .roadmap-resource--inactive{color:var(--muted)}.roadmap-tree[data-roadmap-focus] [data-roadmap-edge].is-muted,.roadmap-tree[data-roadmap-focus] [data-roadmap-edge-group].is-muted{opacity:.46}.roadmap-tree[data-roadmap-focus] .roadmap-node.is-path{border-color:var(--roadmap-primary)}@supports (color:color-mix(in lab, red, red)){.roadmap-tree[data-roadmap-focus] .roadmap-node.is-path{border-color:color-mix(in srgb, var(--roadmap-primary) 72%, var(--border))}}.roadmap-tree[data-roadmap-focus] .roadmap-node.is-path{background:var(--roadmap-primary);border-style:solid}@supports (color:color-mix(in lab, red, red)){.roadmap-tree[data-roadmap-focus] .roadmap-node.is-path{background:color-mix(in srgb, var(--roadmap-primary) 7%, var(--card))}}.roadmap-tree[data-roadmap-focus] .roadmap-node.is-selected{border-color:var(--roadmap-primary);background:var(--roadmap-primary)}@supports (color:color-mix(in lab, red, red)){.roadmap-tree[data-roadmap-focus] .roadmap-node.is-selected{background:color-mix(in srgb, var(--roadmap-primary) 12%, var(--card))}}.roadmap-tree[data-roadmap-focus] [data-roadmap-edge].is-path .roadmap-edge,.roadmap-tree[data-roadmap-focus] [data-roadmap-edge-group].is-path .roadmap-edge,.roadmap-tree[data-roadmap-focus] path[data-roadmap-edge].is-path{stroke-width:2.65px;opacity:1}.roadmap-convergence{border-top:1px solid var(--border);--roadmap-primary:var(--coral);grid-column:1/-1;margin-top:4rem;padding-top:2.75rem}@supports (color:color-mix(in lab, red, red)){.roadmap-convergence{--roadmap-primary:color-mix(in srgb, var(--coral) 62%, var(--blue))}}.roadmap-convergence__stage{width:fit-content;color:var(--soft);background:var(--canvas);letter-spacing:.075em;text-transform:uppercase;margin:-3.2rem auto 2rem;padding-inline:.5rem;font-size:.625rem;font-weight:700;line-height:1.35}.roadmap-convergence__branches{grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;display:grid}.roadmap-cross-capability{grid-template-rows:minmax(3.5rem,auto) 1.75rem auto;justify-items:center;min-width:0;display:grid}.roadmap-cross-inputs{max-width:16rem;color:var(--soft);text-align:center;flex-wrap:wrap;place-content:start center;gap:.2rem .4rem;font-size:.625rem;line-height:1.35;display:flex}.roadmap-cross-inputs li+li:before{color:var(--border-strong);content:"+";margin-right:.45rem}.roadmap-cross-connector{width:1.25rem;height:1.75rem;display:block;overflow:visible}.roadmap-node--cross{text-align:center;width:min(100%,12rem)}.roadmap-node--cross .roadmap-node__select,.roadmap-node--endpoint .roadmap-node__select{text-align:left}.roadmap-applied-merge{pointer-events:none;width:100%;height:4rem;margin-top:.75rem;display:block;overflow:visible}.roadmap-final-merge{min-height:11rem;padding-top:6.25rem;position:relative}.roadmap-final-sources{z-index:2;color:var(--soft);justify-content:space-between;font-size:.625rem;line-height:1.35;display:flex;position:absolute;top:.65rem;left:0;right:0}.roadmap-final-sources li{background:var(--canvas);text-align:center;width:9rem;padding:.2rem .4rem}.roadmap-final-connectors{z-index:0;pointer-events:none;width:100%;height:6rem;position:absolute;top:0;left:0;right:0;overflow:visible}.roadmap-node--endpoint{border:2px solid var(--coral);grid-area:auto;width:min(100%,20rem);margin-inline:auto}@supports (color:color-mix(in lab, red, red)){.roadmap-node--endpoint{border:2px solid color-mix(in srgb, var(--coral) 76%, var(--border))}}.roadmap-node--endpoint{background:var(--coral-soft)}@supports (color:color-mix(in lab, red, red)){.roadmap-node--endpoint{background:color-mix(in srgb, var(--coral-soft) 62%, var(--card))}}.roadmap-node--endpoint{box-shadow:0 .35rem 1rem var(--coral)}@supports (color:color-mix(in lab, red, red)){.roadmap-node--endpoint{box-shadow:0 .35rem 1rem color-mix(in srgb, var(--coral) 8%, transparent)}}.roadmap-detail{z-index:5;border:1px solid var(--border-strong);background:var(--surface);border-radius:.4rem;width:100%;padding:.75rem 1rem;position:relative;box-shadow:0 .35rem 1rem #00000014}.roadmap-detail__header{justify-content:space-between;align-items:start;gap:1rem;display:flex}.roadmap-detail__header h2{font-size:1.15rem}#roadmap-detail-title{scroll-margin-top:1rem;scroll-margin-bottom:1rem}.roadmap-detail__facts{grid-template-columns:repeat(5,minmax(0,1fr));gap:.75rem;margin-top:.55rem;display:grid}.roadmap-detail__facts>div{border-top:1px solid var(--border);gap:.2rem;padding-top:.45rem;font-size:.78rem;display:grid}.roadmap-detail__facts dt{color:var(--muted)}.roadmap-detail__facts dd{margin:0;font-weight:650}.roadmap-author{border-top:1px solid var(--border-strong);margin-top:1rem;padding-top:1rem}.roadmap-author h3{font-size:1rem}.roadmap-author form,.roadmap-author label{gap:.35rem;display:grid}.roadmap-author form{gap:.65rem;margin-top:.75rem}.roadmap-author input{border:1px solid var(--border-strong);width:100%;min-height:2.25rem;color:var(--ink);background:var(--canvas);border-radius:.25rem;padding:.35rem .5rem}.roadmap-author__actions,.roadmap-author__tools{flex-wrap:wrap;gap:.4rem;display:flex}.roadmap-author__tools{margin-top:.65rem}.roadmap-author__feedback{min-height:1.25rem;color:var(--muted);font-size:.75rem}.empty-state{border-top:1px solid var(--border);color:var(--muted);padding-block:1.5rem}.post-row{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:1.5rem;padding-block:1.2rem;text-decoration:none;display:flex}.post-row:hover{text-decoration:none}.post-row h2,.post-row h3{margin-block:.3rem;font-size:1.25rem}.post-row:hover h2,.post-row:hover h3{color:var(--coral-ink)}.post-row p{color:var(--muted)}.back-link{align-items:center;gap:.4rem;min-height:2rem;margin-bottom:1.5rem;font-size:.875rem;text-decoration:none;display:inline-flex}.blog-detail .page-intro .post-date{margin-bottom:.65rem}.project-intro h1{margin-top:.65rem}.project-meta{justify-content:space-between;align-items:center;gap:2rem;margin-top:1.5rem;padding-block:1rem;display:flex}.project-facts{gap:.45rem;display:grid}.project-facts>div{grid-template-columns:3.5rem minmax(0,1fr);gap:.75rem;font-size:.875rem;display:grid}.project-facts dt{color:var(--muted)}.engineering-illustration{flex-shrink:0;width:9rem;height:auto;display:block}.illustration-line{stroke:var(--ink);stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.illustration-faint{stroke:var(--border-strong)}.illustration-coral{stroke:var(--coral)}.illustration-blue{stroke:var(--blue)}.illustration-green{stroke:var(--green)}.illustration-surface{fill:var(--surface)}.illustration-node--coral{fill:var(--coral)}.illustration-node--blue{fill:var(--blue)}.illustration-node--green{fill:var(--green)}.illustration-builder-halo{fill:var(--coral)}@supports (color:color-mix(in lab, red, red)){.illustration-builder-halo{fill:color-mix(in srgb, var(--coral) 32%, var(--coral-soft))}}.illustration-builder-screen{fill:var(--blue-soft);stroke:var(--blue)}.illustration-builder-chart{stroke:var(--coral);stroke-width:2px}.illustration-builder-face{fill:var(--canvas)}.illustration-builder-hair{fill:var(--coral);stroke:var(--coral-ink);stroke-width:1.2px}.illustration-builder-shirt{fill:var(--blue)}@supports (color:color-mix(in lab, red, red)){.illustration-builder-shirt{fill:color-mix(in srgb, var(--blue) 24%, var(--blue-soft))}}.illustration-builder-shirt{stroke:var(--blue)}.illustration-builder-arm{stroke:var(--coral-ink)}.illustration-builder-desk{fill:var(--coral-soft);stroke:var(--coral-ink)}.illustration-builder-laptop{fill:var(--blue)}@supports (color:color-mix(in lab, red, red)){.illustration-builder-laptop{fill:color-mix(in srgb, var(--blue) 18%, var(--blue-soft))}}.illustration-builder-laptop{stroke:var(--blue)}.illustration-builder-mug{fill:var(--green-soft);stroke:var(--green)}.case-nav{border-block:1px solid var(--border);flex-wrap:wrap;gap:.5rem 1.5rem;margin-block:1rem 2.5rem;padding-block:.8rem;font-size:.875rem;display:flex}.case-nav a{min-height:1.5rem}.project-body,.prose{max-width:var(--prose-width)}.case-section+.case-section{border-top:1px solid var(--border);margin-top:2.5rem;padding-top:2.5rem}.case-section p,.prose p{color:var(--muted);line-height:1.7}.case-section>p+p,.prose p+p{margin-top:1rem}.case-subsection+.case-subsection,.methods-list+.case-subsection{margin-top:1.5rem}.case-subsection p,.evidence-boundary p{margin-top:.65rem}.case-subsection .section-link,.outcome-list li+li{margin-top:1rem}.outcome-list .outcome-stat{color:var(--ink);margin-bottom:.35rem;font-weight:650}.outcome-stat strong{color:var(--coral-ink);font-size:1.375rem}.evidence-boundary{border-left:2px solid var(--coral);background:var(--surface-soft);margin-top:1.5rem;padding:1.25rem}.prose>*+*{margin-top:1rem}.prose h2,.prose h3{margin-top:2rem}.prose img{max-width:100%;height:auto}.prose pre{background:var(--surface-soft);max-width:100%;padding:1rem;overflow:auto}.prose blockquote{border-left:2px solid var(--border-strong);margin-inline:0;padding-left:1rem}.site-footer{border-top:1px solid var(--border);color:var(--soft);margin-top:1.25rem;padding-block:1.25rem 2rem;font-size:.8125rem}.muted{color:var(--muted)}@media (width<=86.999rem) and (width>=64rem){.site-content{padding-inline:3.5rem 2rem}}@media (width<=63.999rem){[id],#roadmap-detail-title{scroll-margin-top:6rem}.site-shell{width:100%;display:block}.site-sidebar{display:none}.site-content{padding-inline:var(--gutter)}.content-lane,.site-footer{margin-inline:auto}.mobile-header{z-index:20;min-height:4.5rem;padding:.65rem var(--gutter);border-bottom:1px solid var(--border);background:var(--canvas);justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.mobile-brand{align-items:center;min-width:2.75rem;min-height:2.75rem;display:flex}.mobile-brand .brand-mark{width:2rem;height:2rem}.mobile-controls{align-items:center;gap:.75rem;display:flex}.mobile-menu summary{border:1px solid var(--border-strong);cursor:pointer;border-radius:.3rem;align-items:center;gap:.4rem;min-height:2.75rem;padding:.5rem .7rem;font-size:.875rem;list-style:none;display:flex}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu[open] summary{color:var(--coral-ink);background:var(--coral-soft)}.mobile-menu nav{top:calc(100% + .4rem);right:var(--gutter);border:1px solid var(--border-strong);background:var(--surface);border-radius:.35rem;width:min(17rem,100vw - 3rem);padding:.5rem;position:absolute;box-shadow:0 .5rem 1.5rem #0000001a}.page-layout,.home-page{padding-top:2.5rem}}@media (width<=70rem) and (width>=48.001rem){.roadmap-map{gap-inline:1.75rem}.roadmap-track-flow{grid-template-columns:minmax(0,1fr) 1rem minmax(0,1fr);column-gap:.35rem}.roadmap-node--centered{width:9.5rem}.roadmap-node{padding-inline:.55rem}.roadmap-node h3{font-size:.8125rem}.roadmap-resource-list{column-gap:.32rem}.roadmap-resource-list li+li:before{margin-right:.32rem}.roadmap-resource-list a,.roadmap-resource-list span{font-size:.625rem}.roadmap-convergence__branches{gap:1rem}.roadmap-detail__facts{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=48rem){.roadmap-toolbar{align-items:start}.roadmap-progress-summary{flex-basis:100%;justify-content:flex-start}.roadmap-progress-summary__item{flex:5.5rem}.roadmap-map{display:block}.roadmap-knowledge-track+.roadmap-knowledge-track{border-top:1px solid var(--border);margin-top:3rem;padding-top:2.5rem}.roadmap-track-flow,.roadmap-group,.roadmap-node-list,.roadmap-node-list>li{display:block}.roadmap-track-stage,.roadmap-track-connectors,.roadmap-cross-inputs,.roadmap-cross-connector,.roadmap-applied-merge,.roadmap-final-sources,.roadmap-final-connectors{display:none}.roadmap-group+.roadmap-group{margin-top:1.75rem}.roadmap-group__label{border:1px solid var(--border);width:fit-content;color:var(--muted);background:var(--canvas);letter-spacing:.055em;text-align:center;text-transform:uppercase;border-radius:999px;margin:0 auto .8rem;padding:.2rem .55rem;font-size:.6875rem;font-weight:700;line-height:1.35;display:block}.roadmap-node-list{gap:.55rem;display:grid}.roadmap-node{grid-area:auto;width:100%;min-height:0}.roadmap-resource-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:.1rem -.35rem 0;display:grid}.roadmap-resource-list li{min-width:0;display:flex;position:relative}.roadmap-resource-list li+li:before{margin:0;position:absolute;top:50%;left:0;transform:translate(-50%,-50%)}.roadmap-resource-list a,.roadmap-resource-list span{justify-content:center;width:100%;min-height:2.75rem;padding:.2rem}.roadmap-node--centered{width:100%}.roadmap-convergence{margin-top:3rem;padding-top:2.5rem}.roadmap-convergence__stage{margin-top:-2.95rem;margin-bottom:1rem}.roadmap-convergence__branches{grid-template-columns:1fr;gap:.55rem}.roadmap-cross-capability{display:block}.roadmap-node--cross{text-align:left;width:100%}.roadmap-node--cross h3,.roadmap-node--endpoint h3{padding-left:0}.roadmap-final-merge{min-height:0;margin-top:.55rem;padding-top:0}.roadmap-node--endpoint{text-align:left;width:100%;box-shadow:none}.roadmap-detail-slot{margin-bottom:0}.roadmap-detail{width:auto;max-height:min(55vh,27rem);position:fixed;bottom:.75rem;left:.75rem;right:.75rem;overflow:auto}.roadmap-detail__facts{grid-template-columns:1fr}}@media (width<=40rem){.home-intro h1{font-size:2.25rem}.home-positioning{font-size:1rem}.home-section{margin-top:2.25rem;padding-top:1.75rem}.home-timeline-layout{grid-template-columns:1fr;gap:1rem}.timeline-list.home-timeline li{grid-template-columns:1fr;gap:.2rem;padding-block:.7rem}.home-timeline .timeline-period{padding-top:0}.engineering-illustration.home-builder-illustration{width:10.25rem;margin:.25rem auto 0}.project-row{grid-template-columns:2.5rem minmax(0,1fr) auto;gap:.65rem;padding-inline:0}.project-thumbnail{width:2.5rem;height:2.5rem}.project-copy h2,.project-copy h3{font-size:1rem}.project-domain-grid{grid-template-columns:1fr}.project-card{padding:.9rem 1rem}.project-card h3,.project-card h4{font-size:1.0625rem}.timeline-list li{grid-template-columns:1fr;gap:.3rem}.work-with-list>div,.methods-list>div{grid-template-columns:1fr;gap:.25rem}.project-meta{flex-wrap:wrap;gap:1rem}.engineering-illustration{width:7rem}.section-link{font-size:.8125rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (forced-colors:active){:focus-visible{outline-color:highlight}.theme-control,.mobile-menu summary,.mobile-menu nav,.project-thumbnail,.project-card,.project-item,.case-nav,.roadmap-node,.roadmap-group__label,.roadmap-detail,.evidence-boundary{border-color:canvastext}.sidebar-nav a[aria-current=page],.mobile-menu nav a[aria-current=page]{outline:1px solid highlight}.icon,.brand-mark{color:canvastext}.roadmap-status-marker{forced-color-adjust:none;color:canvastext;background:canvas;border-color:canvastext}.roadmap-edge{stroke:canvastext}.roadmap-node__progress,.roadmap-summary-bar{border:1px solid canvastext}.roadmap-node__progress>span,.roadmap-summary-bar>span{forced-color-adjust:none;background:highlight}.roadmap-tree[data-roadmap-focus] .roadmap-node.is-muted{opacity:1;color:canvastext;background:canvas}.roadmap-tree[data-roadmap-focus] [data-roadmap-edge].is-muted,.roadmap-tree[data-roadmap-focus] [data-roadmap-edge-group].is-muted{opacity:.65}.roadmap-tree[data-roadmap-focus] .roadmap-node.is-path{border-color:highlight}.roadmap-node.is-selected{outline:2px solid highlight}}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
