:root{--color-paper:oklch(98.5% .004 250);--color-paper-2:oklch(97% .006 250);--color-paper-3:oklch(94.5% .008 250);--color-rule:oklch(90% .009 250);--color-rule-2:oklch(78% .012 252);--color-muted:oklch(52% .014 254);--color-neutral:oklch(40% .016 256);--color-ink-2:oklch(31% .018 258);--color-ink:oklch(24% .02 258);--color-accent:oklch(58% .2 256);--color-accent-ink:oklch(98.5% .004 250);--color-focus:oklch(60% .18 210);--color-error:oklch(55% .17 25);--color-success:oklch(52% .15 145);--color-graphite:oklch(22% .016 260);--color-graphite-ink:oklch(96% .005 250);--color-graphite-muted:oklch(78% .008 250);--color-graphite-rule:oklch(96% .005 250/.2);--color-graphite-hover:oklch(96% .005 250/.08);--color-scrim:oklch(24% .02 258/.32);--font-display:"Space Grotesk", ui-sans-serif, system-ui, sans-serif;--font-body:"Inter", ui-sans-serif, system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, monospace;--display-weight:600;--tracking-display:-.035em;--tracking-label:.08em;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-md:1.25rem;--text-lg:1.5625rem;--text-xl:1.9531rem;--text-2xl:2.4414rem;--text-display:clamp(3rem, 6vw + .5rem, 5.25rem);--text-display-s:clamp(2.5rem, 4.5vw + .5rem, 4rem);--space-3xs:.25rem;--space-2xs:.5rem;--space-xs:.75rem;--space-sm:1rem;--space-md:1.5rem;--space-lg:2rem;--space-xl:3rem;--space-2xl:4.5rem;--space-3xl:7rem;--space-4xl:10rem;--rule-hair:1px;--rule-fine:2px;--radius-card:10px;--radius-pill:999px;--radius-input:6px;--shadow-card:0 1px 2px oklch(24% .02 258/.05);--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in:cubic-bezier(.7, 0, .84, 0);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--dur-micro:.12s;--dur-short:.22s;--dur-long:.42s;--z-base:1;--z-raised:10;--z-dropdown:100;--z-sticky:200;--z-modal:400}*{box-sizing:border-box}html,body{overflow-x:clip}html{background:var(--color-paper);color:var(--color-ink);font-synthesis:none;text-rendering:optimizelegibility}body{background:var(--color-paper);min-width:320px;color:var(--color-ink-2);font-family:var(--font-body);font-size:var(--text-base);margin:0;line-height:1.62}body,button,input{font-weight:400}a{color:inherit;text-underline-offset:.14em;text-decoration-thickness:1px}button,input{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}h1,h2,h3{min-width:0;color:var(--color-ink);font-family:var(--font-display);font-style:normal;font-weight:var(--display-weight);letter-spacing:var(--tracking-display);overflow-wrap:anywhere;line-height:1.08}h1{font-size:var(--text-display)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-lg)}p{max-width:65ch}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.page-width{width:min(100% - 2rem,74rem);margin-inline:auto}.site-header{z-index:var(--z-sticky);border-bottom:var(--rule-hair) solid var(--color-rule);background:var(--color-paper);position:sticky;top:0}.nav-inner{align-items:center;gap:var(--space-lg);grid-template-columns:auto minmax(12rem,1fr) auto;width:min(100% - 2rem,74rem);min-height:4.5rem;margin-inline:auto;display:grid}.brand,.footer-brand{align-items:center;gap:var(--space-xs);color:var(--color-ink);font-family:var(--font-display);letter-spacing:-.02em;white-space:nowrap;font-weight:600;text-decoration:none;display:inline-flex}.brand-mark{border:var(--rule-fine) solid var(--color-ink);border-radius:var(--radius-input);width:2rem;height:2rem;font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:-.08em;place-items:center;line-height:1;display:grid}.search-pill{justify-self:center;align-items:center;gap:var(--space-xs);min-width:min(17rem,100%);min-height:2.75rem;padding:0 var(--space-xs) 0 var(--space-sm);border:var(--rule-hair) solid var(--color-rule-2);border-radius:var(--radius-pill);background:var(--color-paper-2);color:var(--color-muted);transition:border-color var(--dur-short) var(--ease-out), transform var(--dur-micro) var(--ease-out);display:flex}html:not(.js) .search-pill{display:none}.search-pill:hover{border-color:var(--color-accent)}.search-pill:active{transform:translateY(1px)}.search-pill[aria-disabled=true]{cursor:not-allowed;opacity:.55}.search-pill[data-state=loading]:after{content:"…";margin-inline-start:auto}.search-pill[data-state=error]{border-color:var(--color-error)}.search-pill[data-state=success]{border-color:var(--color-success)}.search-icon{color:var(--color-accent);font-family:var(--font-mono);font-size:1.2rem;line-height:1}.search-pill-label{font-size:var(--text-sm);white-space:nowrap}.search-key,.command-hints{align-items:center;gap:.2rem;display:inline-flex}.search-key{margin-inline-start:auto}kbd{min-width:1.35rem;padding:var(--space-3xs) var(--space-2xs);border:var(--rule-hair) solid var(--color-rule-2);background:var(--color-paper);color:var(--color-neutral);font-family:var(--font-mono);text-align:center;border-radius:.25rem;font-size:.68rem;line-height:1.35}.nav-links,.footer-links{align-items:center;gap:var(--space-md);color:var(--color-muted);font-size:var(--text-sm);white-space:nowrap;display:flex}.nav-links a,.footer-links a{text-decoration:none}.nav-links a{padding-block:var(--space-xs)}.nav-links a:hover,.footer-links a:hover,.nav-links a[aria-current=page],.nav-links a:active,.footer-links a:active,.text-link:active{color:var(--color-accent)}.nav-links a[aria-current=page]{text-decoration:underline;text-decoration-color:var(--color-accent);text-underline-offset:.14em}.nav-contact{color:var(--color-ink)!important}.command-palette{border:var(--rule-hair) solid var(--color-rule-2);border-radius:var(--radius-card);background:var(--color-paper);width:min(37rem,100% - 2rem);max-width:37rem;color:var(--color-ink-2);box-shadow:var(--shadow-card);padding:0}.command-palette::backdrop{background:var(--color-scrim)}.command-panel{gap:0;display:grid}.command-field{align-items:center;gap:var(--space-xs);padding:var(--space-sm);border-bottom:var(--rule-hair) solid var(--color-rule);display:flex}.command-field input{min-width:0;min-height:2.75rem;padding-inline:var(--space-xs);border:var(--rule-hair) solid transparent;border-radius:var(--radius-input);outline:var(--rule-fine) solid transparent;outline-offset:1px;color:var(--color-ink);font-size:var(--text-md);background:0 0;flex:1}.command-field input:hover{background:var(--color-paper-2)}.command-field input:focus-visible{border-color:var(--color-ink-2);outline-color:var(--color-focus)}.command-field input:disabled{cursor:not-allowed;opacity:.55}.command-field input[aria-invalid=true],.command-field input[data-state=error]{border-color:var(--color-error)}.command-field input[data-state=success]{border-color:var(--color-success)}.command-field input::placeholder{color:var(--color-muted)}.command-close{min-height:2.25rem;padding:0 var(--space-xs);border:var(--rule-hair) solid var(--color-rule-2);border-radius:var(--radius-input);background:var(--color-paper-2);color:var(--color-muted);font-family:var(--font-mono);font-size:var(--text-xs)}.command-close:hover{color:var(--color-ink);border-color:var(--color-accent)}.command-close:active{transform:translateY(1px)}.command-close:disabled,.command-close[aria-disabled=true]{cursor:not-allowed;opacity:.55}.command-results{max-height:min(60vh,26rem);padding:var(--space-xs);overflow-y:auto}.command-group{padding:var(--space-xs) var(--space-sm);color:var(--color-muted);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase}.command-item{align-items:center;gap:var(--space-sm);min-height:3rem;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-input);color:var(--color-ink-2);grid-template-columns:minmax(5rem,.35fr) minmax(0,1fr) auto;text-decoration:none;display:grid}.command-item:hover,.command-item.is-active{background:var(--color-paper-3);color:var(--color-ink)}.command-item.is-active .command-item-arrow{color:var(--color-accent);transform:translate(1px,-1px)}.command-item-label{font-family:var(--font-display);font-weight:600}.command-item-detail{color:var(--color-muted);font-size:var(--text-sm)}.command-item-arrow{transition:color var(--dur-micro) var(--ease-out), transform var(--dur-micro) var(--ease-out)}.command-empty{padding:var(--space-lg) var(--space-sm);color:var(--color-muted);text-align:center}.command-hints{justify-content:flex-end;gap:var(--space-md);padding:var(--space-sm);border-top:var(--rule-hair) solid var(--color-rule);color:var(--color-muted);font-family:var(--font-mono);font-size:var(--text-xs)}main{min-height:70dvh}.ecosystem-hero{gap:clamp(var(--space-xl), 7vw, var(--space-4xl));padding-block:clamp(var(--space-xl), 7vw, var(--space-2xl)) var(--space-3xl);grid-template-columns:minmax(0,1.08fr) minmax(19rem,.92fr);align-items:end;display:grid}.hero-copy{max-width:39rem}.system-label,.kicker{align-items:center;gap:var(--space-xs);color:var(--color-muted);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase;line-height:1.4;display:flex}.signal-dot,.status-dot{background:var(--color-accent);border-radius:50%;width:.45rem;height:.45rem;display:inline-block}.hero-copy h1{margin-top:var(--space-lg);max-width:7ch}.hero-lead{margin-top:var(--space-xl);max-width:49ch;color:var(--color-neutral);font-size:var(--text-md)}.hero-actions{align-items:center;gap:var(--space-lg);margin-top:var(--space-xl);flex-wrap:wrap;display:flex}.button{justify-content:center;align-items:center;gap:var(--space-xs);min-height:2.75rem;padding:0 var(--space-md);border:var(--rule-fine) solid var(--color-accent);border-radius:var(--radius-input);background:var(--color-accent);color:var(--color-accent-ink);white-space:nowrap;transition:transform var(--dur-micro) var(--ease-out), background-color var(--dur-short) var(--ease-out);font-weight:600;text-decoration:none;display:inline-flex}.button:hover{transform:translateY(-1px)}.button:active{transform:translateY(1px)}.button.secondary{border-color:var(--color-rule-2);color:var(--color-ink);background:0 0}.button.secondary:hover{border-color:var(--color-accent);color:var(--color-accent)}.button[aria-disabled=true]{cursor:not-allowed;opacity:.55}.button[data-state=loading]:after{content:"…"}.button[data-state=error]{border-color:var(--color-error)}.button[data-state=success]{border-color:var(--color-success)}.text-link{align-items:center;gap:var(--space-xs);width:fit-content;color:var(--color-ink);text-decoration:underline;text-decoration-color:var(--color-rule-2);text-underline-offset:.14em;white-space:nowrap;font-weight:600;display:inline-flex}.text-link:hover{color:var(--color-accent);text-decoration-color:var(--color-accent)}.signal-panel{border:var(--rule-hair) solid var(--color-graphite);border-radius:var(--radius-card);background:var(--color-graphite);color:var(--color-graphite-ink);box-shadow:var(--shadow-card)}.signal-panel-head{justify-content:space-between;gap:var(--space-sm);padding:var(--space-md);border-bottom:var(--rule-hair) solid var(--color-graphite-rule);color:var(--color-graphite-muted);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-label);display:flex}.signal-status{align-items:center;gap:var(--space-xs);color:var(--color-accent-ink);display:inline-flex}.signal-panel-body{padding:var(--space-sm)}.surface-row{align-items:center;gap:var(--space-sm);min-height:4.75rem;padding:var(--space-sm);border-radius:var(--radius-input);color:inherit;grid-template-columns:2rem minmax(0,1fr) auto;text-decoration:none;display:grid}.surface-row:hover{background:var(--color-graphite-hover)}.surface-index{color:var(--color-accent);font-family:var(--font-mono);font-size:var(--text-sm)}.surface-row strong{color:var(--color-graphite-ink);font-family:var(--font-display);font-size:var(--text-md);font-weight:600;display:block}.surface-row small{margin-top:var(--space-2xs);color:var(--color-graphite-muted);font-family:var(--font-mono);font-size:var(--text-xs);display:block}.surface-row>span:last-child{color:var(--color-accent)}.panel-rule{height:var(--rule-hair);margin:var(--space-sm);background:var(--color-graphite-rule)}.panel-note{padding:var(--space-sm);color:var(--color-graphite-muted);font-family:var(--font-mono);font-size:var(--text-sm);line-height:1.6}.surface-rail,.closing-rail{padding-block:var(--space-3xl)}.surface-rail{border-top:var(--rule-hair) solid var(--color-rule)}.section-head{gap:var(--space-sm);max-width:38rem;display:grid}.section-head h2{max-width:17ch}.section-head>p:last-child{color:var(--color-muted)}.surface-grid{gap:var(--space-sm);margin-top:var(--space-2xl);grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);display:grid}.surface-card{align-content:start;gap:var(--space-md);min-height:18rem;padding:clamp(var(--space-lg), 4vw, var(--space-xl));border:var(--rule-hair) solid var(--color-rule-2);border-radius:var(--radius-card);background:var(--color-paper-2);display:grid}.surface-card--wide{background:var(--color-paper);grid-row:span 2;min-height:37rem}.surface-card--quiet{background:var(--color-paper-3)}.surface-card-top{justify-content:space-between;gap:var(--space-sm);color:var(--color-muted);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-label);display:flex}.card-index{color:var(--color-accent)}.surface-card h3{max-width:14ch;font-size:clamp(var(--text-xl), 3vw, 2.75rem)}.surface-card p{color:var(--color-neutral)}.surface-card .text-link{margin-top:auto}.principles-band{background:var(--color-graphite);color:var(--color-graphite-ink)}.principles-inner{gap:clamp(var(--space-xl), 8vw, var(--space-4xl));padding-block:var(--space-3xl);grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);display:grid}.section-head--dark h2{color:var(--color-graphite-ink)}.section-head--dark>p:last-child,.section-head--dark .system-label{color:var(--color-graphite-muted)}.principles-list{gap:0;margin:0;padding:0;list-style:none;display:grid}.principles-list li{gap:var(--space-md);padding-block:var(--space-md);border-top:var(--rule-hair) solid var(--color-graphite-rule);grid-template-columns:2.25rem minmax(0,.8fr) minmax(0,1.2fr);align-items:baseline;display:grid}.principles-list li:last-child{border-bottom:var(--rule-hair) solid var(--color-graphite-rule)}.principles-list span{color:var(--color-accent);font-family:var(--font-mono);font-size:var(--text-sm)}.principles-list strong{color:var(--color-graphite-ink);font-family:var(--font-display);font-weight:600}.principles-list p{color:var(--color-graphite-muted);font-size:var(--text-sm)}.closing-rail{gap:var(--space-2xl);grid-template-columns:minmax(0,1.2fr) minmax(15rem,.8fr);align-items:end;display:grid}.closing-copy h2{max-width:13ch;margin-top:var(--space-md);font-size:clamp(var(--text-2xl), 4vw, 3.5rem)}.closing-actions{gap:var(--space-lg);justify-items:start;display:grid}.closing-actions p{color:var(--color-muted)}.page-head{width:min(100% - 2rem,74rem);padding-block:var(--space-3xl) var(--space-xl);margin-inline:auto}.page-head h1{max-width:12ch;margin-top:var(--space-md);font-size:var(--text-display-s)}.page-head .lead{max-width:52ch;margin-top:var(--space-lg);color:var(--color-neutral);font-size:var(--text-md)}.content{width:min(100% - 2rem,52rem);padding-bottom:var(--space-4xl);margin-inline:auto}.content h2{margin-top:var(--space-2xl);padding-top:var(--space-lg);border-top:var(--rule-hair) solid var(--color-rule);font-size:var(--text-xl)}.content h2:first-child{margin-top:0}.content p,.content li{color:var(--color-neutral)}.content p+p,.content ul+p,.content p+ul{margin-top:var(--space-md)}.content ul{gap:var(--space-xs);padding-inline-start:1.25rem;display:grid}.definition-list{margin-top:var(--space-lg);border-top:var(--rule-hair) solid var(--color-rule-2);display:grid}.definition-row{gap:var(--space-lg);padding-block:var(--space-md);border-bottom:var(--rule-hair) solid var(--color-rule);grid-template-columns:10rem minmax(0,1fr);display:grid}.definition-row dt{color:var(--color-ink);font-family:var(--font-mono);font-size:var(--text-sm)}.definition-row dd{color:var(--color-neutral);margin:0}.notice{gap:var(--space-xs);margin-top:var(--space-xl);padding:var(--space-md);border:var(--rule-hair) solid var(--color-rule-2);border-inline-start:var(--rule-fine) solid var(--color-accent);background:var(--color-paper-2);display:grid}.notice p{color:var(--color-neutral)}.actions{gap:var(--space-md);margin-top:var(--space-xl);flex-wrap:wrap;display:flex}.site-footer{border-top:var(--rule-hair) solid var(--color-rule)}.footer-inner{align-items:baseline;gap:var(--space-md) var(--space-xl);width:min(100% - 2rem,74rem);padding-block:var(--space-lg);flex-wrap:wrap;margin-inline:auto;display:flex}.footer-brand{font-size:var(--text-sm)}.footer-note{color:var(--color-muted);font-family:var(--font-mono);font-size:var(--text-xs)}.footer-links{margin-inline-start:auto}.footer-year{color:var(--color-muted);font-family:var(--font-mono);font-size:var(--text-xs)}:focus-visible{outline:var(--rule-fine) solid var(--color-focus);outline-offset:3px}@media (width<=60rem){.nav-inner{gap:var(--space-md);grid-template-columns:auto minmax(0,1fr) auto}.search-pill{justify-self:end}.nav-links{min-width:0;padding-bottom:var(--space-sm);grid-column:1/-1;justify-content:flex-start;overflow-x:auto}.ecosystem-hero{grid-template-columns:minmax(0,1fr) minmax(17rem,.8fr)}.principles-inner{grid-template-columns:1fr}}@media (width<=40rem){.page-width,.nav-inner,.page-head,.content,.footer-inner{width:min(100% - 2rem,74rem)}.brand-name{text-overflow:ellipsis;max-width:9rem;overflow:hidden}.search-pill{justify-content:center;width:2.75rem;min-width:2.75rem;padding:0}.search-pill-label,.search-key{display:none}.nav-links{gap:var(--space-md)}.ecosystem-hero{gap:var(--space-2xl);padding-block:var(--space-xl) var(--space-2xl);grid-template-columns:1fr}.hero-copy h1{font-size:clamp(3.25rem,17vw,5.25rem)}.hero-lead{font-size:var(--text-base)}.hero-actions{flex-direction:column;align-items:stretch}.button{width:fit-content}.signal-panel{width:100%}.surface-grid,.closing-rail{grid-template-columns:1fr}.surface-card--wide{grid-row:auto;min-height:22rem}.principles-list li{gap:var(--space-xs) var(--space-sm);grid-template-columns:2rem 1fr}.principles-list p{grid-column:2}.definition-row{gap:var(--space-xs);grid-template-columns:1fr}.footer-links{justify-content:space-between;width:100%;margin-inline-start:0}.command-item{grid-template-columns:minmax(4rem,.35fr) minmax(0,1fr) auto}.command-hints{justify-content:space-between;gap:var(--space-xs)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.15s!important;animation-duration:.15s!important;animation-iteration-count:1!important}}
