@font-face{font-family:Albert Sans;src:url('./assets/fonts/AlbertSans-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Albert Sans;src:url('./assets/fonts/AlbertSans-Semibold.ttf') format('truetype');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:Albert Sans;src:url('./assets/fonts/AlbertSans-Extrabold.ttf') format('truetype');font-weight:800;font-style:normal;font-display:swap}
:root{color-scheme:light;--page:#f3f5f7;--ink:#222c36;--muted:#596673;--surface:#e5eaee;--surface-alt:#f9fafb;--solid:#fff;--rule:#c6cfd7;--silver:#788795;--accent:#415e7d;--active:#d8e3ed;--on-active:#233d55;--button:#293643;--on-button:#fff;--architecture:#e6ebef;--metal-ink:#263747;--metal:linear-gradient(145deg,#f9fbfd 0%,#dbe2e8 30%,#b9c4ce 55%,#e9edf1 100%);--word-metal:linear-gradient(158deg,#526373 8%,#85929e 30%,#4d6071 46%,#aab4bd 48%,#657787 54%,#7b8b99 76%,#536575 100%);--word-edge:#647584;--metal-shadow:inset 0 1px 0 #fff,0 12px 24px -20px #263747;--font:'Albert Sans',sans-serif;--body:1.0625rem;--small:1rem;--lead:clamp(1.25rem,1.7vw,1.625rem);--heading:clamp(2.5rem,4.3vw,4.5rem);--gutter:clamp(24px,4.5vw,72px);--section:clamp(80px,8vw,128px);--radius:8px;--speed:200ms;--ease:cubic-bezier(.2,.8,.2,1);--bar-height:72px}
:root[data-style=editorial]{--page:#fcfcfd;--ink:#202326;--muted:#5d656d;--surface:#e9ecef;--surface-alt:#f5f6f7;--rule:#cbd1d7;--silver:#798591;--accent:#424b54;--active:#242a30;--on-active:#fff;--button:#242a30;--on-button:#fff;--architecture:#e3e7eb;--metal:linear-gradient(110deg,#e1e6eb,#f8f9fa 46%,#c4cdd5);--word-metal:linear-gradient(100deg,#53616f,#8a96a1 42%,#5d6a76 70%,#7a8894);--word-edge:#74818d;--metal-shadow:none;--radius:0px;--gutter:clamp(24px,4.5vw,72px)}
:root[data-style=nocturne]{color-scheme:dark;--page:#10151b;--ink:#ecf0f5;--muted:#acb7c4;--surface:#202a35;--surface-alt:#19212b;--solid:#252f3b;--rule:#394858;--silver:#cbd4df;--accent:#c3d9ef;--active:#dce6f0;--on-active:#182a3a;--button:#dce5ef;--on-button:#172330;--architecture:#18212b;--metal-ink:#1f3040;--metal:linear-gradient(150deg,#fff 0%,#cad5df 22%,#a8b5c4 51%,#e8eff5 54%,#bbc7d4 100%);--word-metal:linear-gradient(175deg,#fff 3%,#bec9d6 27%,#8b9cae 42%,#f8fcff 46%,#cad5e1 57%,#899aad 74%,#eaf3fc 100%);--word-edge:#dce7f3;--metal-shadow:inset 0 1px 0 #fff,0 16px 32px -24px #000;--radius:12px}

:root[data-style=industrial][data-theme=dark]{color-scheme:dark;--page:#141b22;--ink:#e9eef4;--muted:#afbcc9;--surface:#26323e;--surface-alt:#1a242e;--solid:#2e3b48;--rule:#4d6072;--silver:#c1cedb;--accent:#b5d0e9;--active:#354c61;--on-active:#f0f6fc;--button:#d7e3ee;--on-button:#172939;--architecture:#202d38;--metal-ink:#202f3e;--metal:linear-gradient(145deg,#eff5fa 0%,#cbd6e1 30%,#a6b7c8 55%,#dce6ef 100%);--word-metal:linear-gradient(158deg,#dce7f2 8%,#aebfd0 30%,#91a5b9 46%,#f4f9ff 48%,#bdcddb 54%,#cddce9 76%,#9db2c5 100%);--word-edge:#c6d6e5;--metal-shadow:inset 0 1px 0 #f5faff,0 12px 24px -20px #050c14}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--bar-height) + 24px)}body{margin:0;background:var(--page);color:var(--ink);font:400 var(--body)/1.6 var(--font);-webkit-font-smoothing:antialiased;scrollbar-color:var(--silver) var(--page)}h1,h2,h3,h4,p,figure{margin:0}h1,h2,h3,h4{font-weight:600;line-height:1.08;letter-spacing:-.04em;text-wrap:balance}p{text-wrap:pretty}a{color:inherit;text-underline-offset:5px}button,input{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent}button{border:0;cursor:pointer}button:disabled{cursor:default}button:active,.button:active{transform:translateY(2px)}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid var(--accent);outline-offset:5px}::selection{background:var(--button);color:var(--on-button)}.frame{max-width:1728px;padding-inline:var(--gutter);margin-inline:auto}.od-icon{--od-icon-size:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:16px;left:24px;z-index:100;background:var(--button);color:var(--on-button);padding:12px 24px;transform:translateY(-160%)}.skip-link:focus{transform:none}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:52px;padding:12px 24px;border-radius:var(--radius);font-size:var(--small);font-weight:600;background:var(--button);color:var(--on-button);text-decoration:none;transition:transform var(--speed),background var(--speed)}.text-link{display:inline-flex;align-items:center;gap:12px;min-height:44px;font-size:var(--small);font-weight:600;text-decoration:none}.text-link .od-icon,.button .od-icon{transition:transform var(--speed)}
/* The comparison controls are separate from the product navigation. */
.demo-bar{position:sticky;top:0;z-index:60;display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:var(--bar-height);padding:12px 24px;background:#171c22;color:#f1f4f8;font-family:var(--font);box-shadow:0 1px 0 #3a414a}.demo-label{font-size:14px;display:flex;align-items:center;gap:12px;white-space:nowrap}.demo-label strong{font-weight:600}.demo-label span{color:#bdc6d2}.style-options{display:flex;align-items:center;gap:8px}.style-choice{display:flex;align-items:center;gap:10px;min-height:44px;padding:8px 16px;background:#2a313b;color:#e4e9ef;font-size:14px;border-radius:4px;white-space:nowrap;transition:background var(--speed),color var(--speed)}.style-choice[aria-pressed=true]{background:#e2e8ef;color:#1a2633}.style-choice:focus-visible{outline-color:#e4edf6}.style-swatch{display:block;width:18px;height:18px;border-radius:50%;background:linear-gradient(135deg,#f5f7fa,#9ba9b9);border:1px solid #98a4b3}.style-choice[data-style-choice=editorial] .style-swatch{background:linear-gradient(90deg,#f9fafc 50%,#7e8997 50%)}.style-choice[data-style-choice=nocturne] .style-swatch{background:linear-gradient(135deg,#151b25 50%,#d8e0eb 50%)}.demo-palette{display:flex;gap:4px;align-items:center}.demo-palette span{display:block;width:16px;height:16px;background:var(--page);border:1px solid #606b78}.demo-palette span:nth-child(2){background:var(--silver)}.demo-palette span:nth-child(3){background:var(--ink)}.demo-palette span:nth-child(4){background:var(--accent)}
.masthead{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:24px}.brand{display:inline-flex;align-items:center;min-height:44px;font-size:28px;line-height:1;font-weight:800;letter-spacing:-.04em;text-decoration:none;color:var(--silver)}.masthead nav{display:flex;align-items:center;gap:40px}.masthead nav a{display:flex;align-items:center;gap:8px;min-height:44px;font-size:var(--small);text-decoration:none}.masthead .od-icon{--od-icon-size:16px}.hero{padding-top:40px;padding-bottom:var(--section)}.hero-layout{display:grid;grid-template-columns:1.08fr 1fr;grid-template-areas:'title assembly' 'copy assembly';gap:24px 48px;align-items:center}.wordmark{grid-area:title;font-size:clamp(104px,12.8vw,208px);font-weight:800;letter-spacing:-.04em;line-height:.94;white-space:nowrap;color:var(--silver);align-self:end}.hero-copy{grid-area:copy;align-self:start}.hero-copy h2{font-size:clamp(28px,2.6vw,40px);font-weight:400;line-height:1.16;letter-spacing:-.03em;max-width:20ch}.hero-copy>p{max-width:39ch;margin-top:24px;color:var(--muted)}.hero-copy .button{margin-top:32px}.assembly{grid-area:assembly;min-width:0}.network{position:relative;isolation:isolate;padding:24px 0}.map-lanes{display:grid;grid-template-columns:1.6fr 1fr;gap:20px}.map-label{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:16px;font-size:var(--small);font-weight:600;color:var(--muted)}.map-label .od-icon{--od-icon-size:20px}.map-lane{display:grid;grid-template-rows:auto minmax(0,1fr)}.map-chain{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:1fr;gap:12px}.map-runtime .map-chain{grid-template-columns:1fr}.map-node{position:relative;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;gap:16px;text-align:left;min-width:0;min-height:112px;padding:20px 16px;border-radius:var(--radius);border:1px solid #b6c2cd;background:var(--metal);box-shadow:var(--metal-shadow);color:var(--metal-ink);transition:transform var(--speed),outline-color var(--speed);outline:2px solid transparent;outline-offset:3px}.map-node.is-selected{outline-color:var(--accent)}.map-node .selected-icon{position:absolute;top:14px;right:12px;--od-icon-size:16px;opacity:0}.map-node.is-selected .selected-icon{opacity:1}.node-code{font-size:26px;font-weight:600;letter-spacing:-.035em;line-height:1}.node-job{font-size:14px;line-height:1.3;max-width:15ch}.map-runtime .map-node{min-height:112px}.map-lane.is-current .map-label{color:var(--accent)}.map-bridge-space{height:64px}.map-bridge{position:absolute;top:0;left:0;display:block;width:100%;height:100%;pointer-events:none;z-index:-1;fill:none;stroke:var(--silver);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.map-connections{vector-effect:non-scaling-stroke}.map-foundation{display:grid;grid-template-columns:1fr 1fr;gap:12px}.map-foundation .map-node{min-height:76px;flex-direction:row;align-items:center;gap:12px}.map-foundation .node-code{font-size:22px}.map-foundation .node-job{padding-right:12px;font-size:14px}.map-foundation .selected-icon{top:8px;right:8px;--od-icon-size:12px}.network-caption{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:16px;padding-top:16px;border-top:1px solid var(--rule)}.network-caption p{font-size:14px;max-width:26ch}.network-caption strong{font-weight:600}.network-caption .text-link{white-space:nowrap;font-size:14px;color:var(--accent)}.network-caption .od-icon{--od-icon-size:18px}.hero-foot{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:56px;padding-top:24px;border-top:1px solid var(--rule);font-size:var(--small);color:var(--muted)}.hero-foot p{max-width:32ch}.hero-foot nav{display:flex;gap:24px}.hero-foot a{display:inline-flex;align-items:center;gap:8px;text-decoration:none;min-height:44px}.hero-foot .od-icon{--od-icon-size:18px}
.projects-section{padding-block:var(--section);background:var(--surface-alt)}.section-heading{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:end;margin-bottom:48px}.section-heading h2{font-size:var(--heading)}.section-heading p{justify-self:end;max-width:36ch;color:var(--muted);font-size:var(--body)}.directory-toolbar{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:24px}.filter-group{display:flex;gap:8px;flex-wrap:wrap}.filter-button{display:flex;align-items:center;gap:12px;min-height:48px;padding:12px 16px;font-size:var(--small);font-weight:600;border-radius:var(--radius);background:var(--surface);transition:background var(--speed)}.filter-button[aria-pressed=true]{background:var(--button);color:var(--on-button)}.filter-count{font-weight:400;opacity:.8}.search-field{display:grid;gap:8px;flex:0 1 288px;min-width:224px}.search-field label{font-size:var(--small)}.search-input{display:flex;align-items:center;gap:12px;padding:0 16px;background:var(--surface);border-radius:var(--radius);min-height:48px}.search-input .od-icon{--od-icon-size:20px;flex:none}.search-input input{width:100%;min-width:0;padding:12px 0;border:0;background:transparent;font-size:var(--small);caret-color:var(--accent)}.search-input input::placeholder{color:var(--muted);opacity:1}.results-status{margin-bottom:20px;color:var(--muted);font-size:14px}.project-list{display:grid;gap:8px;align-items:start;container-name:project-directory;container-type:inline-size}.project{min-width:0;background:var(--page);border-radius:var(--radius)}.project summary{display:grid;grid-template-columns:104px minmax(0,1fr) 160px 24px;align-items:center;gap:24px;padding:24px;list-style:none;cursor:pointer;transition:background var(--speed);border-radius:var(--radius)}.project summary::-webkit-details-marker{display:none}.project-code{font-size:32px;font-weight:600;letter-spacing:-.04em;line-height:1.1}.project-heading{gap:8px;min-width:0}.project-heading strong{font-size:var(--lead);font-weight:600;line-height:1.2;letter-spacing:-.025em;text-wrap:balance}.project-short{font-size:var(--small);line-height:1.5;color:var(--muted)}.project-layer{font-size:var(--small)}.project[open] summary{background:var(--active);color:var(--on-active);border-radius:var(--radius) var(--radius) 0 0}.project[open] .project-short{color:inherit}.expand-icon{transition:transform var(--speed)}.project[open] .expand-icon{transform:rotate(45deg)}.project-detail{display:grid;grid-template-columns:104px minmax(0,1fr);gap:24px;padding:32px 24px;background:var(--surface);border-radius:0 0 var(--radius) var(--radius)}.project-scope{font-size:var(--small);font-weight:600}.project-detail p{max-width:68ch}.project-meta{display:flex;align-items:center;flex-wrap:wrap;gap:24px;margin-top:24px;font-size:var(--small)}.license{display:inline-flex;align-items:center;gap:8px}.license .od-icon{--od-icon-size:20px}.project-meta .text-link{margin-left:auto}.empty-state{padding:48px 24px;background:var(--surface);text-align:center}.empty-state h3{font-size:32px}.empty-state p{margin-block:16px 24px}.no-script-note{margin-top:24px;font-size:var(--small);color:var(--muted)}
.architecture-section{padding-block:var(--section);background:var(--architecture)}.architecture-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px}.architecture-direction{display:grid;grid-template-columns:80px minmax(0,1fr);gap:0 24px;align-content:start}.direction-art{display:block;width:80px;height:80px;fill:var(--silver);grid-row:1/3}.architecture-direction h3{font-size:clamp(28px,3vw,44px);max-width:18ch}.architecture-direction>p{grid-column:2;max-width:44ch;color:var(--muted);margin-top:24px}.architecture-members{grid-column:2;display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.architecture-members button{position:relative;padding:10px 14px;min-height:44px;font-size:var(--small);font-weight:600;background:var(--page);border-radius:var(--radius)}.architecture-members button.is-selected{background:var(--button);color:var(--on-button)}.architecture-members button.is-selected:after{content:'';display:block;width:6px;height:6px;border-radius:50%;background:currentColor;margin:6px auto 0}.shared-infrastructure{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:48px}.shared-project{display:flex;align-items:center;gap:24px;min-height:112px;padding:24px;background:var(--page);border-radius:var(--radius);text-align:left}.shared-project.is-selected{background:var(--active);color:var(--on-active)}.shared-project>strong{font-size:32px;font-weight:600;letter-spacing:-.04em;min-width:80px}.shared-project .od-field{gap:4px}.shared-project .od-field strong{font-size:var(--body);font-weight:600}.shared-project .od-field span{font-size:var(--small);color:var(--muted)}.shared-project.is-selected .od-field span{color:inherit}.architecture-selection{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-top:32px;padding-top:32px;border-top:1px solid var(--rule)}.architecture-selection h4{font-size:var(--lead);line-height:1.25}.layer-context{margin-top:8px;font-size:var(--small);color:var(--muted)}.selection-copy{font-size:var(--small);max-width:60ch}.architecture-selection .text-link{margin-top:16px;color:var(--accent)}
.footer{padding-top:80px;padding-bottom:32px}.footer-top{display:flex;justify-content:space-between;align-items:end;gap:48px}.footer-top h2{font-size:clamp(32px,4vw,56px);max-width:20ch}.footer-top .button{flex:none}.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:64px;font-size:var(--small)}.footer-bottom p{color:var(--muted)}.footer-bottom a{display:flex;align-items:center;gap:12px;min-height:44px;text-decoration:none}.footer-wordmark{font-size:clamp(112px,25vw,360px);font-weight:800;letter-spacing:-.04em;line-height:.95;white-space:nowrap;color:var(--silver);margin-top:40px}.footer-wordmark span{display:block}
@supports((-webkit-background-clip:text) or (background-clip:text)){.wordmark,.footer-wordmark span{background-image:var(--word-metal);background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-stroke:.3px var(--word-edge)}}

.style-compact{display:none}.style-compact select{font:inherit;min-width:0;min-height:44px;padding:8px 12px;border:1px solid #606b78;border-radius:4px;background:#2a313b;color:#f1f4f8;color-scheme:dark}.style-compact select:focus-visible{outline:3px solid #e4edf6;outline-offset:3px}
.masthead{display:grid;grid-template-columns:1fr auto auto;gap:24px}.masthead nav{min-width:0}.theme-control{display:flex;align-items:center;gap:8px;min-height:44px;min-width:132px;padding:0 12px;border-radius:var(--radius);background:var(--surface);color:var(--ink)}.theme-control .od-icon{--od-icon-size:20px;flex:none}.theme-control select{min-width:0;min-height:44px;flex:1;font:inherit;font-size:16px;background:var(--surface);color:var(--ink);border:0;cursor:pointer;padding:8px 4px}.map-shared-label{display:none}
@media(hover:hover){[data-style=industrial][data-theme=dark] .button:hover{background:#f0f6fc;color:var(--on-button)}[data-style=industrial][data-theme=dark] .shared-project.is-selected:hover{background:var(--active);color:var(--on-active)}}
/* Editorial: a full-width foil masthead and a two-column project index. */
[data-style=editorial] .hero{padding-top:24px}[data-style=editorial] .hero-layout{grid-template-columns:.8fr 1.2fr;grid-template-areas:'title title' 'copy assembly';gap:56px 80px}[data-style=editorial] .wordmark{font-size:clamp(160px,27vw,420px);font-weight:600;line-height:.86;letter-spacing:-.04em}[data-style=editorial] .hero-copy h2{font-size:clamp(32px,3vw,48px);font-weight:400}[data-style=editorial] .hero-copy{align-self:center}[data-style=editorial] .map-lanes{grid-template-columns:2fr 1fr;gap:24px}[data-style=editorial] .map-chain{grid-template-columns:1fr 1fr}[data-style=editorial] .map-runtime .map-chain{grid-template-columns:1fr}[data-style=editorial] .map-node{background:none;box-shadow:none;border:0;border-bottom:2px solid var(--rule);min-height:80px;padding:12px 8px;color:var(--ink);outline-offset:0;gap:8px}[data-style=editorial] .map-node.is-selected{background:var(--surface);outline:0;border-bottom-color:var(--ink)}[data-style=editorial] .node-code{font-size:32px}[data-style=editorial] .node-job{font-size:16px}[data-style=editorial] .map-foundation .map-node{background:var(--metal);padding:16px;border:0;min-height:72px}[data-style=editorial] .network{padding:0}[data-style=editorial] .hero-foot{border-top:8px solid var(--silver);padding-top:20px}[data-style=editorial] .section-heading{grid-template-columns:1.2fr .8fr}[data-style=editorial] .section-heading h2{font-size:clamp(48px,6vw,88px);font-weight:400}[data-style=editorial] .directory-toolbar{border-bottom:1px solid var(--rule);padding-bottom:24px}[data-style=editorial] .filter-button{background:none}[data-style=editorial] .filter-button[aria-pressed=true]{background:var(--button)}[data-style=editorial] .project-list{grid-template-columns:1fr 1fr;gap:0 48px}[data-style=editorial] .project{background:transparent;border-top:1px solid var(--rule)}[data-style=editorial] .project summary{grid-template-columns:96px minmax(0,1fr) 24px;gap:16px;padding:32px 0;align-items:start}[data-style=editorial] .project-code{font-size:42px;font-weight:400}[data-style=editorial] .project-heading strong{font-size:24px}[data-style=editorial] .project-layer{display:none}[data-style=editorial] .project[open]{grid-column:1/-1}[data-style=editorial] .project[open] summary{padding-inline:24px}[data-style=editorial] .project-detail{grid-template-columns:96px 1fr}[data-style=editorial] .architecture-grid{gap:80px}[data-style=editorial] .architecture-direction{display:block}[data-style=editorial] .direction-art{width:128px;height:128px;margin-bottom:24px}[data-style=editorial] .architecture-direction h3{font-size:clamp(36px,4vw,64px);font-weight:400}[data-style=editorial] .shared-project{background:none;border-top:1px solid var(--rule);padding-inline:0}[data-style=editorial] .shared-project.is-selected{background:var(--surface)}[data-style=editorial] .footer-wordmark{font-weight:400;font-size:clamp(160px,27vw,420px)}
/* Nocturne: bright silver on graphite, with a wide horizontal system assembly. */
[data-style=nocturne] .masthead{border-bottom:1px solid var(--rule)}[data-style=nocturne] .hero{padding-top:48px}[data-style=nocturne] .hero-layout{grid-template-columns:1fr;grid-template-areas:'title' 'copy' 'assembly';gap:32px}[data-style=nocturne] .wordmark{font-size:clamp(160px,24vw,368px);text-align:center;line-height:.86}[data-style=nocturne] .hero-copy{display:grid;grid-template-columns:1fr 1fr auto;gap:40px;align-items:center;max-width:1120px;margin-inline:auto}[data-style=nocturne] .hero-copy h2{font-size:32px}[data-style=nocturne] .hero-copy>p{margin:0;max-width:33ch}[data-style=nocturne] .hero-copy .button{margin:0;white-space:nowrap}[data-style=nocturne] .assembly{max-width:1120px;width:100%;margin-inline:auto}[data-style=nocturne] .network{padding-top:32px;padding-bottom:0}[data-style=nocturne] .map-lanes{grid-template-columns:2fr 1fr;gap:24px}[data-style=nocturne] .map-chain{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}[data-style=nocturne] .map-runtime .map-chain{grid-template-columns:1fr 1fr}[data-style=nocturne] .map-node{min-height:112px;border-color:#8898aa}[data-style=nocturne] .map-foundation{grid-template-columns:1fr 1fr;gap:24px}[data-style=nocturne] .map-foundation .map-node{min-height:72px;justify-content:center;gap:24px}[data-style=nocturne] .network-caption{border-top:0;margin-top:8px;padding-top:8px}[data-style=nocturne] .hero-foot{margin-top:40px}[data-style=nocturne] .project-list{gap:0;border-block:1px solid var(--rule)}[data-style=nocturne] .project{border-radius:0;border-bottom:1px solid var(--rule);background:transparent}[data-style=nocturne] .project:last-child{border-bottom:0}[data-style=nocturne] .project summary{padding-block:28px;border-radius:0}[data-style=nocturne] .project-code{color:var(--silver)}[data-style=nocturne] .project[open] summary{background:var(--surface);color:var(--ink)}[data-style=nocturne] .project[open] .project-short{color:var(--muted)}[data-style=nocturne] .project-detail{background:var(--page);border-radius:0}[data-style=nocturne] .architecture-direction{display:block;padding:32px;background:var(--page);border-radius:var(--radius)}[data-style=nocturne] .direction-art{width:96px;height:96px;margin-bottom:32px}[data-style=nocturne] .architecture-members button{background:var(--surface)}[data-style=nocturne] .architecture-members button.is-selected{background:var(--button)}[data-style=nocturne] .footer-wordmark{text-align:center}
@media(hover:hover){.style-choice:hover{background:#46515e;color:#fff}.style-choice[aria-pressed=true]:hover{background:#f0f4f9;color:#172330}.button:hover{background:var(--accent);color:var(--page)}.button:hover .od-icon,.text-link:hover .od-icon{transform:translate(2px,-2px)}.masthead nav a:hover,.text-link:hover,.hero-foot a:hover{text-decoration:underline}.map-node:hover{transform:translateY(-4px)}.filter-button:not([aria-pressed=true]):hover{background:var(--rule)}.project:not([open]) summary:hover{background:var(--surface)}.architecture-members button:hover{background:var(--rule)}.architecture-members button.is-selected:hover{background:var(--button)}.shared-project:hover{background:var(--surface)}[data-style=editorial] .map-node:hover{transform:translateY(-2px);background:var(--surface-alt)}[data-style=nocturne] .button:hover{color:var(--on-button);background:#f1f6fc}}
@media(min-width:1728px){.hero-layout{grid-template-columns:1fr 1fr}.wordmark{font-size:208px}}
@media(max-width:1100px){.demo-label span,.demo-palette{display:none}.hero-layout{gap:24px 32px}.map-lanes{gap:16px;grid-template-columns:1.55fr 1fr}.map-chain{gap:12px}.map-node{padding:16px 12px;min-height:104px}.node-code{font-size:24px}.node-job{font-size:14px}.map-foundation .map-node{flex-direction:column;align-items:start;gap:8px}.hero-copy h2{font-size:30px}.hero-copy>p{font-size:16px}.architecture-direction{grid-template-columns:64px 1fr;gap:0 20px}.direction-art{width:64px;height:64px}.architecture-grid{gap:40px}.project summary{grid-template-columns:88px minmax(0,1fr) 128px 24px;gap:16px}.project-detail{grid-template-columns:88px 1fr;gap:16px}.directory-toolbar{gap:24px}.filter-button{padding:12px}.filter-group{gap:8px}.search-field{min-width:220px}.section-heading{gap:32px}[data-style=editorial] .hero-layout{gap:48px 40px}[data-style=editorial] .project-list{gap:0 32px}[data-style=editorial] .project summary{grid-template-columns:72px minmax(0,1fr) 20px}[data-style=editorial] .project-code{font-size:36px}[data-style=editorial] .project-heading strong{font-size:22px}[data-style=nocturne] .hero-copy{grid-template-columns:1fr 1fr;gap:16px 40px}[data-style=nocturne] .hero-copy .button{grid-column:2;justify-self:start}[data-style=nocturne] .hero-copy h2{grid-row:1/3;font-size:36px}[data-style=nocturne] .map-lanes{gap:16px}[data-style=nocturne] .map-chain{gap:12px}}
@media(max-width:800px){:root{--gutter:24px;--section:80px}.demo-label{display:none}.demo-bar{justify-content:center}.masthead nav{gap:24px}.hero{padding-top:24px}.hero-layout{grid-template-columns:1fr;grid-template-areas:'title' 'copy' 'assembly';gap:32px}.wordmark{font-size:25vw}.hero-copy{display:grid;grid-template-columns:1fr 1fr;gap:0 32px;align-items:start}.hero-copy h2{grid-row:1/3;font-size:36px}.hero-copy>p{margin:0}.hero-copy .button{margin-top:24px;justify-self:start}.network{padding-block:0}.map-lanes{grid-template-columns:1.6fr 1fr;gap:24px}.map-node{min-height:120px;padding:20px}.node-code{font-size:30px}.node-job{font-size:16px}.map-runtime .map-node{min-height:120px}.map-foundation .map-node{flex-direction:row;align-items:center;min-height:80px}.hero-foot{margin-top:32px;align-items:start}.hero-foot nav{gap:16px}.hero-foot p{font-size:14px;max-width:25ch}.hero-foot a{font-size:14px}.section-heading{gap:24px}.section-heading h2{font-size:48px}.directory-toolbar{flex-direction:column-reverse;align-items:stretch}.search-field{flex:auto;max-width:none}.filter-button{flex:1;justify-content:center}.project summary{grid-template-columns:72px minmax(0,1fr) 24px;padding:24px 20px}.project-layer{display:none}.project-detail{grid-template-columns:1fr;padding:24px 20px}.project-meta{gap:16px}.project-meta .text-link{margin-left:0}.architecture-grid{gap:32px}.architecture-direction{display:block}.direction-art{margin-bottom:24px}.architecture-direction h3{font-size:32px}.architecture-direction>p{font-size:16px}.shared-project{flex-direction:column;align-items:start;gap:16px}.architecture-selection{gap:32px}.footer-top h2{font-size:40px}[data-style=editorial] .hero-layout{grid-template-columns:1fr;grid-template-areas:'title' 'copy' 'assembly';gap:40px}[data-style=editorial] .wordmark{font-size:27vw}[data-style=editorial] .hero-copy{align-self:auto}[data-style=editorial] .hero-copy h2{font-size:36px}[data-style=editorial] .map-node{min-height:96px}[data-style=editorial] .section-heading h2{font-size:48px}[data-style=editorial] .project summary{grid-template-columns:1fr 20px;gap:16px}[data-style=editorial] .project-code{grid-column:1;font-size:42px}[data-style=editorial] .project-heading{grid-column:1}[data-style=editorial] .expand-icon{grid-column:2;grid-row:1}[data-style=editorial] .project-detail{grid-template-columns:1fr}[data-style=editorial] .architecture-grid{gap:40px}[data-style=editorial] .direction-art{width:96px;height:96px}[data-style=nocturne] .wordmark{font-size:27vw}[data-style=nocturne] .hero-copy h2{font-size:32px}[data-style=nocturne] .hero-copy .button{margin-top:16px}[data-style=nocturne] .map-lanes{grid-template-columns:1.6fr 1fr;gap:24px}[data-style=nocturne] .map-chain{grid-template-columns:1fr 1fr}[data-style=nocturne] .map-runtime .map-chain{grid-template-columns:1fr}[data-style=nocturne] .map-node{min-height:120px}[data-style=nocturne] .map-foundation .map-node{gap:16px;justify-content:start;min-height:80px}[data-style=nocturne] .architecture-direction{padding:24px}}
@media(max-width:520px){:root{--body:1rem;--bar-height:68px;--section:64px;--gutter:24px}.demo-bar{padding:12px;gap:0;min-height:68px}.style-options{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;width:100%}.style-choice{font-size:13px;padding:10px 8px;gap:6px;justify-content:center}.style-swatch{width:14px;height:14px;flex:none}.masthead{padding-block:16px}.brand{font-size:24px}.masthead nav{gap:16px}.masthead nav a{font-size:14px}.masthead .nav-github{display:none}.hero{padding-top:24px}.hero-layout{gap:28px}.wordmark{font-size:25vw}.hero-copy{display:block}.hero-copy h2{font-size:32px;max-width:20ch}.hero-copy>p{margin-top:20px;max-width:35ch}.hero-copy .button{margin-top:24px}.map-lanes{grid-template-columns:1.6fr 1fr;gap:12px}.map-label{font-size:14px;gap:4px;margin-bottom:12px}.map-label .od-icon{--od-icon-size:16px}.map-chain{gap:8px}.map-node{padding:14px 10px;min-height:112px;gap:20px}.node-code{font-size:22px}.node-job{font-size:13px;line-height:1.4}.map-node .selected-icon{--od-icon-size:12px;right:6px;top:6px}.map-runtime .map-node{min-height:112px}.map-bridge-space{height:48px}.map-foundation{gap:8px}.map-foundation .map-node{min-height:80px;align-items:start;flex-direction:column;gap:8px;padding:12px}.map-foundation .node-code{font-size:22px}.map-foundation .node-job{font-size:13px;padding:0}.network-caption{gap:12px;margin-top:12px;padding-top:12px}.network-caption p{font-size:13px;max-width:22ch}.network-caption .text-link{font-size:13px;gap:4px}.hero-foot{display:block;padding-top:20px;margin-top:32px}.hero-foot p{max-width:none}.hero-foot nav{gap:24px;margin-top:8px}.section-heading{grid-template-columns:1fr;gap:20px;margin-bottom:32px}.section-heading h2{font-size:40px}.section-heading p{justify-self:start;max-width:34ch}.directory-toolbar{gap:20px}.filter-group{display:grid;grid-template-columns:1fr 1fr}.filter-button{font-size:14px;justify-content:space-between}.project summary{grid-template-columns:52px minmax(0,1fr) 20px;padding:20px 16px;gap:12px;align-items:start}.project-code{font-size:24px;padding-top:2px}.project-heading strong{font-size:20px;line-height:1.25}.project-short{font-size:14px;margin-top:4px}.project .expand-icon{--od-icon-size:20px;margin-top:4px}.project-detail{padding:24px 16px;gap:12px}.project-meta{font-size:14px;gap:12px}.project-meta .text-link{font-size:14px;flex-basis:100%}.project-scope{font-size:14px}.architecture-grid{grid-template-columns:1fr;gap:48px}.architecture-direction{display:grid;grid-template-columns:56px minmax(0,1fr);gap:0 20px}.direction-art{width:56px;height:56px;grid-row:1/3;margin:0}.architecture-direction h3{font-size:28px}.architecture-direction>p{grid-column:2;margin-top:16px}.architecture-members{grid-column:2;margin-top:24px}.architecture-members button{padding:8px 10px;font-size:14px}.shared-infrastructure{grid-template-columns:1fr;gap:12px;margin-top:40px}.shared-project{flex-direction:row;align-items:center;gap:20px;padding:20px;min-height:104px}.shared-project>strong{font-size:28px;min-width:72px}.shared-project .od-field strong{font-size:16px}.shared-project .od-field span{font-size:14px}.architecture-selection{grid-template-columns:1fr;gap:20px}.architecture-selection h4{font-size:24px}.footer{padding-top:64px;padding-bottom:24px}.footer-top{display:block}.footer-top h2{font-size:36px}.footer-top .button{margin-top:24px}.footer-bottom{margin-top:48px;align-items:start;gap:24px;font-size:14px}.footer-bottom p{max-width:22ch}.footer-bottom a{font-size:14px;white-space:nowrap}.footer-wordmark{font-size:25vw;margin-top:32px}[data-style=editorial] .hero-layout{gap:32px}[data-style=editorial] .wordmark{font-size:25vw}[data-style=editorial] .hero-copy h2{font-size:32px}[data-style=editorial] .map-lanes{grid-template-columns:1.6fr 1fr;gap:12px}[data-style=editorial] .map-node{min-height:104px;padding:12px 6px;gap:12px}[data-style=editorial] .node-code{font-size:26px}[data-style=editorial] .node-job{font-size:13px}[data-style=editorial] .map-foundation .map-node{min-height:80px;padding:12px}[data-style=editorial] .hero-foot{border-top-width:6px}[data-style=editorial] .section-heading{grid-template-columns:1fr}[data-style=editorial] .section-heading h2{font-size:40px}[data-style=editorial] .project-list{grid-template-columns:1fr}[data-style=editorial] .project summary{grid-template-columns:64px minmax(0,1fr) 20px;padding:24px 0;gap:12px}[data-style=editorial] .project-code{font-size:30px;grid-column:1;grid-row:1}[data-style=editorial] .project-heading{grid-column:2;grid-row:1}[data-style=editorial] .project-heading strong{font-size:20px}[data-style=editorial] .expand-icon{grid-column:3}[data-style=editorial] .project[open] summary{padding-inline:12px}[data-style=editorial] .architecture-direction{display:block}[data-style=editorial] .direction-art{width:72px;height:72px;margin-bottom:24px}[data-style=editorial] .architecture-direction h3{font-size:36px}[data-style=editorial] .footer-wordmark{font-size:25vw}[data-style=nocturne] .hero{padding-top:32px}[data-style=nocturne] .wordmark{font-size:25vw}[data-style=nocturne] .hero-copy{display:block;text-align:center}[data-style=nocturne] .hero-copy h2{font-size:32px;margin-inline:auto}[data-style=nocturne] .hero-copy>p{margin:20px auto 0}[data-style=nocturne] .hero-copy .button{margin-top:24px}[data-style=nocturne] .network{padding-top:0}[data-style=nocturne] .map-lanes{grid-template-columns:1.6fr 1fr;gap:12px}[data-style=nocturne] .map-chain{gap:8px}[data-style=nocturne] .map-node{min-height:112px}[data-style=nocturne] .map-foundation{gap:8px}[data-style=nocturne] .map-foundation .map-node{gap:8px;min-height:80px;justify-content:space-between}[data-style=nocturne] .architecture-direction{display:block;padding:24px}[data-style=nocturne] .direction-art{width:64px;height:64px;margin-bottom:24px}}

@media(max-width:1000px){
  [data-style=industrial] .hero-layout{grid-template-columns:1fr;grid-template-areas:'title' 'copy' 'assembly';gap:32px}
  [data-style=industrial] .wordmark{font-size:clamp(112px,23vw,208px)}
  [data-style=industrial] .hero-copy{display:grid;grid-template-columns:1fr 1fr;gap:0 32px;align-items:start}
  [data-style=industrial] .hero-copy h2{grid-row:1/3;font-size:36px}
  [data-style=industrial] .hero-copy>p{margin-top:0;font-size:17px}
  [data-style=industrial] .hero-copy .button{margin-top:24px;justify-self:start}
  [data-style=industrial] .network{padding-block:8px}
  [data-style=industrial] .map-lanes{gap:24px}
  [data-style=industrial] .map-node{padding:20px 16px}
  [data-style=industrial] .node-job{font-size:16px;line-height:1.5;max-width:none}
  [data-style=industrial] .map-foundation .node-job{font-size:16px}
}
@media(max-width:720px){
  .masthead{grid-template-columns:minmax(0,1fr) auto;gap:12px 20px;padding-block:16px}
  .masthead .brand{grid-column:1;grid-row:1;justify-self:start}
  .masthead .theme-control{grid-column:2;grid-row:1}
  .masthead nav{grid-column:1/-1;grid-row:2;gap:24px;justify-content:flex-start;flex-wrap:wrap}
  .masthead nav a{font-size:16px}
  .masthead nav .nav-github{display:flex}
  .theme-control{min-width:132px}
  .hero-foot{flex-wrap:wrap;gap:12px}
  .hero-foot p{max-width:none}
}
@media(max-width:640px){
  :root{--bar-height:68px}
  .demo-bar{min-height:68px;padding:12px 24px;justify-content:stretch}
  .demo-bar .demo-label,.demo-bar .style-options,.demo-bar .demo-palette{display:none}
  .style-compact{display:flex;align-items:center;gap:16px;width:100%;font-size:16px}
  .style-compact>span{flex:none;color:#d6dfe9}
  .style-compact select{flex:1;width:100%;font-size:16px}
  [data-style=industrial] .hero-copy{display:block}
  [data-style=industrial] .hero-copy h2{font-size:clamp(27px,7.4vw,36px);line-height:1.2;max-width:22ch}
  [data-style=industrial] .hero-copy>p{margin-top:20px;font-size:17px;line-height:1.7;max-width:40ch}
  [data-style=industrial] .wordmark{font-size:25vw}
  [data-style=industrial] .hero-layout{gap:32px}
  [data-style=industrial] .network{padding-top:8px}
  [data-style=industrial] .map-lanes{grid-template-columns:minmax(0,1fr);gap:28px}
  [data-style=industrial] .map-chain,[data-style=industrial] .map-runtime .map-chain{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
  [data-style=industrial] .map-label{font-size:16px;line-height:1.5;margin-bottom:16px}
  [data-style=industrial] .map-label .od-icon{--od-icon-size:20px}
  [data-style=industrial] .map-node,[data-style=industrial] .map-runtime .map-node{padding:20px 16px;min-height:120px;gap:16px}
  [data-style=industrial] .node-code{font-size:26px}
  [data-style=industrial] .node-job{font-size:16px;line-height:1.5;max-width:none;overflow-wrap:normal}
  [data-style=industrial] .map-node .selected-icon{--od-icon-size:16px;right:10px;top:10px}
  [data-style=industrial] .map-bridge,[data-style=industrial] .map-bridge-space{display:none}
  [data-style=industrial] .map-shared-label{display:flex;margin-top:28px}
  [data-style=industrial] .map-foundation{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
  [data-style=industrial] .map-foundation .map-node{flex-direction:column;align-items:start;min-height:128px;gap:16px;padding:20px 16px}
  [data-style=industrial] .map-foundation .node-job{font-size:16px;padding-right:0}
  [data-style=industrial] .network-caption{display:grid;grid-template-columns:minmax(0,1fr);gap:4px;margin-top:24px;padding-top:16px}
  [data-style=industrial] .network-caption p{max-width:none;font-size:16px;line-height:1.6}
  [data-style=industrial] .network-caption .text-link{font-size:16px;justify-self:start;gap:8px;min-height:44px}
  [data-style=industrial] .hero-foot{display:block;margin-top:32px}
  [data-style=industrial] .hero-foot p{font-size:16px}
  [data-style=industrial] .hero-foot nav{flex-wrap:wrap;gap:8px 24px;margin-top:12px}
  [data-style=industrial] .hero-foot a{font-size:16px}
  [data-style=industrial] .section-heading{grid-template-columns:1fr;gap:20px}
  [data-style=industrial] .section-heading h2{font-size:36px;line-height:1.12}
  [data-style=industrial] .section-heading p{justify-self:start;font-size:17px;line-height:1.7;max-width:40ch}
  [data-style=industrial] .directory-toolbar{gap:24px}
  [data-style=industrial] .filter-group{display:grid;grid-template-columns:1fr 1fr;gap:12px}
  [data-style=industrial] .filter-button{font-size:16px;padding:12px 16px;justify-content:space-between}
  [data-style=industrial] .project-list{gap:12px}
  [data-style=industrial] .architecture-grid{grid-template-columns:1fr;gap:48px}
  [data-style=industrial] .architecture-direction{display:block}
  [data-style=industrial] .direction-art{width:56px;height:56px;margin-bottom:24px}
  [data-style=industrial] .architecture-direction h3{font-size:32px;max-width:22ch;line-height:1.15}
  [data-style=industrial] .architecture-direction>p{font-size:16px;line-height:1.7;max-width:42ch;margin-top:20px}
  [data-style=industrial] .architecture-members{gap:12px;margin-top:24px}
  [data-style=industrial] .architecture-members button{font-size:16px;padding:10px 16px}
  [data-style=industrial] .shared-infrastructure{grid-template-columns:1fr;gap:16px}
  [data-style=industrial] .shared-project{display:grid;grid-template-columns:1fr;gap:16px;padding:24px}
  [data-style=industrial] .shared-project .od-field{gap:8px}
  [data-style=industrial] .shared-project .od-field strong{font-size:18px;line-height:1.4}
  [data-style=industrial] .shared-project .od-field span{font-size:16px;line-height:1.6}
  [data-style=industrial] .architecture-selection{grid-template-columns:1fr;gap:24px}
  [data-style=industrial] .architecture-selection h4{font-size:24px;line-height:1.3}
  [data-style=industrial] .selection-copy{font-size:16px;line-height:1.7}
}

/* Project rows respond to their actual available width. */
[data-style=industrial] .project summary{grid-template-columns:max-content minmax(0,1fr) max-content 24px;grid-template-areas:'code heading layer expand';column-gap:32px;row-gap:16px;align-items:center}
[data-style=industrial] .project-code{grid-area:code;display:block;white-space:nowrap;padding:0}
[data-style=industrial] .project-heading{grid-area:heading;min-width:0;gap:8px}
[data-style=industrial] .project-heading strong{line-height:1.3;overflow-wrap:break-word;text-wrap:pretty}
[data-style=industrial] .project-short{margin:0;line-height:1.6;overflow-wrap:break-word}
[data-style=industrial] .project-layer{grid-area:layer}
[data-style=industrial] .expand-icon{grid-area:expand;justify-self:end;--od-icon-size:24px;margin:0}
[data-style=industrial] .project-detail{grid-template-columns:minmax(0,104px) minmax(0,1fr);column-gap:32px}
[data-style=industrial] .project-detail>div{min-width:0}
[data-style=industrial] .project-detail p{width:100%;max-width:65ch;line-height:1.7;overflow-wrap:break-word}
[data-style=industrial] .project-meta{gap:16px 24px}
[data-style=industrial] .project-meta .text-link{white-space:normal}
@container project-directory (max-width:880px){
  [data-style=industrial] .project summary{grid-template-columns:minmax(0,1fr) 24px;grid-template-areas:'code expand' 'heading heading';padding:24px;gap:16px 24px;align-items:start}
  [data-style=industrial] .project-code{font-size:28px;line-height:1.15}
  [data-style=industrial] .project-heading strong{font-size:22px;letter-spacing:-.02em;line-height:1.35}
  [data-style=industrial] .project-short{font-size:16px;line-height:1.6}
  [data-style=industrial] .project-layer{display:none}
  [data-style=industrial] .project-detail{grid-template-columns:minmax(0,1fr);padding:24px;gap:16px}
  [data-style=industrial] .project-detail p{font-size:16px;line-height:1.7}
  [data-style=industrial] .project-scope,[data-style=industrial] .project-meta{font-size:16px}
  [data-style=industrial] .project-meta{gap:16px 24px;margin-top:24px}
  [data-style=industrial] .project-meta .text-link{margin-left:0}
}
@container project-directory (max-width:480px){
  [data-style=industrial] .project summary{padding:24px 20px}
  [data-style=industrial] .project-detail{padding:24px 20px}
  [data-style=industrial] .project-meta .text-link{flex-basis:100%;font-size:16px}
}
@media(prefers-reduced-motion:no-preference){.wordmark{animation:arrive 400ms var(--ease) both}.hero-copy{animation:arrive 320ms var(--ease) 60ms backwards}.map-node{animation:arrive 320ms var(--ease) backwards;animation-delay:calc(80ms + var(--i,0)*35ms)}@keyframes arrive{from{opacity:.3;transform:translateY(12px)}to{opacity:1;transform:none}}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
@media(forced-colors:active){.wordmark,.footer-wordmark span{background:none;color:CanvasText;-webkit-text-stroke:0}.map-node,.style-choice,.filter-button,.button{border:1px solid ButtonText}.map-node.is-selected{outline-color:Highlight}}
