.arch.svelte-150lhja{--arch-radius:12px;--arch-gutter:4rem;--arch-track-gap:3rem;--arch-wire-width:2;margin:0;font-family:inherit;container-type:inline-size}.arch.svelte-150lhja,.arch[data-arch-theme=light].svelte-150lhja{--arch-surface:#fff;--arch-text:#3d3d3a;--arch-muted:#73726c;--arch-wire:#9c9a92;--fullstack-fill:#faece7;--fullstack-line:#d85a30;--fullstack-title:#712b13;--fullstack-body:#993c1d;--frontend-fill:#eeedfe;--frontend-line:#7f77dd;--frontend-title:#3c3489;--frontend-body:#534ab7;--backend-fill:#e1f5ee;--backend-line:#1d9e75;--backend-title:#085041;--backend-body:#0f6e56}html[data-theme=dark] .arch[data-arch-theme=inherit].svelte-150lhja,.arch[data-arch-theme=dark].svelte-150lhja{--arch-surface:#262624;--arch-text:#c2c0b6;--arch-muted:#9c9a92;--arch-wire:#73726c;--fullstack-fill:#712b13;--fullstack-line:#d85a30;--fullstack-title:#f5c4b3;--fullstack-body:#f0997b;--frontend-fill:#3c3489;--frontend-line:#7f77dd;--frontend-title:#cecbf6;--frontend-body:#afa9ec;--backend-fill:#085041;--backend-line:#1d9e75;--backend-title:#9fe1cb;--backend-body:#5dcaa5}.grid.svelte-150lhja{column-gap:var(--arch-track-gap);row-gap:var(--arch-gutter);grid-template-columns:repeat(3,minmax(0,1fr));display:grid;position:relative}.wires.svelte-150lhja{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.wire.svelte-150lhja{stroke:var(--line,var(--arch-wire));stroke-width:var(--arch-wire-width);stroke-linecap:round;transition:opacity .18s}.wire.dim.svelte-150lhja{opacity:.1}.node.svelte-150lhja{box-sizing:border-box;text-align:left;width:100%;font:inherit;border:.5px solid var(--line);border-radius:var(--arch-radius);background:var(--arch-surface);background:color-mix(in srgb, var(--fill) 45%, var(--arch-surface));flex-direction:column;gap:.125rem;margin:0;padding:.75rem .875rem;transition:opacity .18s;display:flex;position:relative}.node.dim.svelte-150lhja{opacity:.45}.node.svelte-150lhja:is(button:where(.svelte-150lhja)){cursor:pointer}.node.svelte-150lhja:focus-visible{outline:2px solid var(--line);outline-offset:2px}.fullstack.svelte-150lhja{--fill:var(--fullstack-fill);--line:var(--fullstack-line);--title:var(--fullstack-title);--body:var(--fullstack-body)}.frontend.svelte-150lhja{--fill:var(--frontend-fill);--line:var(--frontend-line);--title:var(--frontend-title);--body:var(--frontend-body)}.backend.svelte-150lhja{--fill:var(--backend-fill);--line:var(--backend-line);--title:var(--backend-title);--body:var(--backend-body)}.name.svelte-150lhja{color:var(--title);font-size:.9375rem;font-weight:500;line-height:1.35}.role.svelte-150lhja,.tech.svelte-150lhja,.flow.svelte-150lhja{color:var(--body);font-size:.75rem;line-height:1.5}.tech.svelte-150lhja{border-top:.5px solid var(--line);border-radius:0;flex-wrap:wrap;gap:.625rem;margin-top:.5rem;padding-top:.5rem;display:flex}.lang.svelte-150lhja{align-items:center;gap:.25rem;display:inline-flex}.mark.svelte-150lhja{flex:none;width:1rem;height:1rem}.mark.svelte-150lhja rect:where(.svelte-150lhja){fill:none;stroke:currentColor;stroke-width:1px}.mark.svelte-150lhja text:where(.svelte-150lhja){fill:currentColor;font-family:inherit;font-size:9px;font-weight:500}.stat.svelte-150lhja{color:var(--title);margin-top:auto;padding-top:.375rem;font-size:.75rem}.flow.svelte-150lhja{align-items:center;gap:.375rem;font-size:.8125rem;display:none}.dir.svelte-150lhja{fill:none;stroke:currentColor;stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:1.75rem;height:1rem}.sr-only.svelte-150lhja{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}figcaption.svelte-150lhja{flex-direction:column;align-items:center;gap:.625rem;margin-top:.875rem;display:flex}.totals.svelte-150lhja{color:var(--arch-text);margin:0;font-size:.8125rem}.legend.svelte-150lhja{color:var(--arch-muted);flex-wrap:wrap;justify-content:center;gap:1.25rem;margin:0;padding:0;font-size:.75rem;list-style:none;display:flex}.legend.svelte-150lhja li:where(.svelte-150lhja){align-items:center;gap:.375rem;display:flex}.swatch.svelte-150lhja{border:.5px solid var(--line);background:var(--fill);border-radius:3px;width:.75rem;height:.75rem}@container (width<=40rem){.grid.svelte-150lhja{grid-template-columns:minmax(0,1fr);row-gap:.75rem}.node.svelte-150lhja{grid-area:auto!important}.wires.svelte-150lhja{display:none}.flow.svelte-150lhja{margin-top:.25rem;display:flex}}@media (prefers-reduced-motion:reduce){.wire.svelte-150lhja,.node.svelte-150lhja{transition:none}}@media (prefers-color-scheme:dark){html:not([data-theme]) .arch[data-arch-theme=inherit].svelte-150lhja{--arch-surface:#262624;--arch-text:#c2c0b6;--arch-muted:#9c9a92;--arch-wire:#73726c;--fullstack-fill:#712b13;--fullstack-title:#f5c4b3;--fullstack-body:#f0997b;--frontend-fill:#3c3489;--frontend-title:#cecbf6;--frontend-body:#afa9ec;--backend-fill:#085041;--backend-title:#9fe1cb;--backend-body:#5dcaa5}}body{background:var(--bg-app);color:var(--text-body);font-family:var(--font-sans);font-size:var(--text-md);line-height:var(--leading-normal);-webkit-font-smoothing:antialiased;margin:0}.eyebrow.svelte-1uha8ag{font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:.14em;text-transform:uppercase;color:var(--teal-text);margin:0 0 20px}h1.svelte-1uha8ag{margin:0 0 28px}.deck.svelte-1uha8ag{font-size:clamp(1.05rem,2.4vw,1.3rem);line-height:var(--leading-snug);max-width:34ch;color:var(--text-high);margin:0 0 8px}.deck.svelte-1uha8ag .off:where(.svelte-1uha8ag){color:var(--text-low)}.heat.svelte-1uha8ag{grid-auto-columns:1fr;grid-auto-flow:column;gap:2px;height:140px;margin:56px 0 20px;display:grid}.heat.svelte-1uha8ag .col{grid-template-rows:repeat(14,1fr);gap:2px;display:grid}.heat.svelte-1uha8ag .cell{background:var(--bg-subtle);border-radius:1px}.heat-key.svelte-1uha8ag{font-size:var(--text-xs);font-weight:var(--weight-medium);letter-spacing:.1em;text-transform:uppercase;color:var(--text-low);border-top:1px solid var(--border-subtle);justify-content:space-between;margin-bottom:80px;padding-top:10px;display:flex}.lede.svelte-1uha8ag{max-width:60ch;color:var(--text-body);margin:0 0 20px;font-size:1.05rem}.lede.svelte-1uha8ag+.lede:where(.svelte-1uha8ag){margin-bottom:72px}em.svelte-1uha8ag{color:var(--teal-text);font-style:normal}.inventory.svelte-1uha8ag{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:40px;margin-bottom:80px;display:grid}.inventory.svelte-1uha8ag h2:where(.svelte-1uha8ag){font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:.14em;text-transform:uppercase;color:var(--text-low);border-bottom:1px solid var(--border-subtle);margin:0 0 18px;padding-bottom:12px}.inventory.svelte-1uha8ag ul:where(.svelte-1uha8ag){margin:0;padding:0;list-style:none}.inventory.svelte-1uha8ag li:where(.svelte-1uha8ag){padding:7px 0 7px 22px;font-size:.95rem;position:relative}.inventory.svelte-1uha8ag li:where(.svelte-1uha8ag):before{font-weight:var(--weight-bold);position:absolute;left:0}.yes.svelte-1uha8ag li:where(.svelte-1uha8ag):before{content:"+";color:var(--teal-9)}.no.svelte-1uha8ag li:where(.svelte-1uha8ag):before{content:"–";color:var(--text-low)}.no.svelte-1uha8ag li:where(.svelte-1uha8ag){color:var(--text-low)}.contact.svelte-1uha8ag{border-top:1px solid var(--border-subtle);margin-bottom:80px;padding-top:40px}.contact.svelte-1uha8ag p:where(.svelte-1uha8ag){max-width:56ch;color:var(--text-low);margin:0 0 24px;font-size:.95rem}a.mail.svelte-1uha8ag{height:var(--control-h-lg);font-size:clamp(1rem,3vw,1.35rem);font-weight:var(--weight-medium);color:var(--on-solid);background:var(--teal-solid);border:1px solid var(--teal-border);border-radius:var(--radius-md);transition:background var(--transition-fast), transform var(--transition-fast);align-items:center;padding:0 24px;text-decoration:none;display:inline-flex}a.mail.svelte-1uha8ag:hover{background:var(--teal-solid-hover);color:var(--on-solid);transform:translateY(-1px)}a.mail.svelte-1uha8ag:focus-visible{box-shadow:var(--focus-ring);outline:none}.notice.svelte-1uha8ag{border-left:2px solid var(--border-subtle);max-width:62ch;padding-left:20px}.notice.svelte-1uha8ag h2:where(.svelte-1uha8ag){font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:.14em;text-transform:uppercase;color:var(--text-low);margin:0 0 12px}.notice.svelte-1uha8ag p:where(.svelte-1uha8ag){color:var(--text-low);margin:0 0 12px;font-size:.9rem}@media (width<=600px){.heat.svelte-1uha8ag{height:100px}}@media (prefers-reduced-motion:no-preference){.heat.svelte-1uha8ag .col{opacity:0;animation:.5s forwards svelte-1uha8ag-rise}}@keyframes svelte-1uha8ag-rise{to{opacity:1}}
