:root{--echo-surface: #0b0b0d;--echo-cap: #29292b;--echo-cap-highlight: #424247;--echo-cap-shadow: #030305;--echo-well: #000001;--echo-accent: #cc3147;--echo-accent-highlight: #e098a2;--echo-accent-pressed: #a52638;--echo-accent-glow: #e7505f;--echo-accent-ink: #ff9d9f;--echo-primary-cap-top: #d34151;--echo-primary-cap-mid: #c33648;--echo-primary-cap-base: #a72739;--echo-primary-cap-ink: #ffffff;--echo-pour-top: #d34151;--echo-pour-mid: #c33648;--echo-pour-base: #a72739;--echo-accent-fill-top: #ee9e9f;--echo-accent-fill-base: #e7505f;--echo-lcd: #000000;--echo-lcd-glow: #e7505f;--echo-text: #ffffff;--echo-text-dim: #bababa;--echo-seam: #000000;--echo-screen-glass: initial;--echo-screen-well: initial;--echo-screen-ink: initial;--echo-screen-ink-dim: initial;--echo-paper-stock: initial;--echo-paper-ink: initial;--echo-bloom: initial;--echo-shade-ink: black;--echo-cast-ink: black;--echo-accent-1: #f9d1d1;--echo-accent-2: #ee9e9f;--echo-accent-3: #e7505f;--echo-accent-4: #c9394a;--echo-accent-5: #a52638;--echo-accent-6: #741a26;--echo-accent-7: #401216;--echo-font-machine: ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--echo-font-sans: ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--echo-font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--echo-font-lcd: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--echo-radius-xs: 1px;--echo-radius-sm: 3.5px;--echo-radius-md: 5px;--echo-radius-lg: 6.5px;--echo-radius-xl: 7.5px;--echo-radius-2xl: 10px;--echo-radius-3xl: 12px;--echo-radius-full: 999px;--echo-text-3xs: .625rem;--echo-text-2xs: .6875rem;--echo-text-xs: .75rem;--echo-text-sm: .8125rem;--echo-text-md: .875rem;--echo-text-lg: 1rem;--echo-text-xl: 1.25rem;--echo-text-2xl: 1.625rem;--echo-text-3xl: 2.5rem;--echo-space-0: 0;--echo-space-1: 2.5px;--echo-space-2: 4.5px;--echo-space-3: 7px;--echo-space-4: 9px;--echo-space-5: 11.5px;--echo-space-6: 13.5px;--echo-space-7: 16px;--echo-space-8: 18px;--echo-space-9: 22.5px;--echo-space-10: 27px;--echo-space-11: 36px;--echo-space-12: 72px;--echo-control-compact: 36px;--echo-control-default: 50px;--echo-control-large: 68px;--echo-duration-glitch: 80ms;--echo-duration-press: 90ms;--echo-duration-tick: .12s;--echo-duration-swap: .16s;--echo-duration-glide: .19s;--echo-duration-sweep: .22s;--echo-duration-pop: .4s;--echo-duration-flood: .7s;--echo-ease-glitch: steps(3, end);--echo-ease-press: cubic-bezier(.34, 1.56, .64, 1);--echo-ease-tick: ease;--echo-ease-swap: ease-out;--echo-ease-glide: cubic-bezier(.2, .8, .2, 1);--echo-ease-sweep: cubic-bezier(.4, 0, .2, 1);--echo-ease-pop: cubic-bezier(.34, 1.56, .64, 1);--echo-ease-flood: cubic-bezier(.65, 0, .35, 1);--echo-z-base: 0;--echo-z-raised: 1;--echo-z-top: 2;--echo-z-sticky: 100;--echo-z-overlay: 200;--echo-z-modal: 210;--echo-z-popover: 300;--echo-z-toast: 400;--echo-z-tooltip: 500;--echo-z-skip: 600;--echo-border-hairline: 1px;--echo-border-fine: 1.5px;--echo-border-thick: 2px;--echo-border-heavy: 4px;--echo-icon-xs: 12px;--echo-icon-sm: 14px;--echo-icon-md: 16px;--echo-icon-lg: 20px;--echo-icon-xl: 28px;--echo-weight-regular: 400;--echo-weight-semibold: 600;--echo-weight-bold: 700;--echo-weight-heavy: 800;--echo-leading-none: 1;--echo-leading-tight: 1.25;--echo-leading-snug: 1.4;--echo-leading-body: 1.55;--echo-tracking-tighter: -.02em;--echo-tracking-tight: -.01em;--echo-tracking-normal: 0;--echo-tracking-wide: .06em;--echo-tracking-wider: .12em;--echo-tracking-label: .2em;--echo-tracking-widest: .25em;--echo-type-machine-label: var(--echo-weight-bold) var(--echo-text-3xs)/var(--echo-leading-tight) var(--echo-font-machine);--echo-type-machine-label-tracking: var(--echo-tracking-label);--echo-type-machine-label-case: uppercase;--echo-type-body: var(--echo-weight-regular) var(--echo-text-md)/var(--echo-leading-body) var(--echo-font-sans);--echo-type-body-tracking: var(--echo-tracking-normal);--echo-type-body-case: none;--echo-type-body-sm: var(--echo-weight-regular) var(--echo-text-sm)/var(--echo-leading-body) var(--echo-font-sans);--echo-type-body-sm-tracking: var(--echo-tracking-normal);--echo-type-body-sm-case: none;--echo-type-caption: var(--echo-weight-regular) var(--echo-text-xs)/var(--echo-leading-snug) var(--echo-font-sans);--echo-type-caption-tracking: var(--echo-tracking-normal);--echo-type-caption-case: none;--echo-type-heading: var(--echo-weight-bold) var(--echo-text-lg)/var(--echo-leading-tight) var(--echo-font-machine);--echo-type-heading-tracking: var(--echo-tracking-tight);--echo-type-heading-case: none;--echo-type-readout: var(--echo-weight-regular) var(--echo-text-xl)/var(--echo-leading-none) var(--echo-font-lcd);--echo-type-readout-tracking: var(--echo-tracking-normal);--echo-type-readout-case: none;--echo-type-display: var(--echo-weight-bold) var(--echo-text-3xl)/var(--echo-leading-none) var(--echo-font-sans);--echo-type-display-tracking: var(--echo-tracking-tighter);--echo-type-display-case: none;--echo-shadow-well: inset 0 2px 5px color-mix(in oklab, var(--echo-cast-ink, black) calc(.6 * var(--echo-shade, 1) * 100%), transparent), inset 0 -1px 0 rgb(255 255 255 / calc(.05 * var(--echo-gloss, 1))), inset 0 0 0 var(--echo-line-width, 0px) var(--echo-line, transparent);--echo-shadow-well-screen: inset 0 2px 6px color-mix(in oklab, var(--echo-cast-ink, black) calc(.8 * var(--echo-shade, 1) * 100%), transparent), inset 0 -1px 0 rgb(255 255 255 / calc(.05 * var(--echo-gloss, 1))), inset 0 0 0 var(--echo-line-width, 0px) var(--echo-line, transparent);--echo-shadow-well-deep: inset 0 3px 7px color-mix(in oklab, var(--echo-cast-ink, black) calc(.9 * var(--echo-shade, 1) * 100%), transparent), inset 0 -1px 0 rgb(255 255 255 / calc(.05 * var(--echo-gloss, 1))), inset 0 0 0 var(--echo-line-width, 0px) var(--echo-line, transparent);--echo-shadow-groove: inset 0 2px 5px color-mix(in oklab, var(--echo-cast-ink, black) calc(.7 * var(--echo-shade, 1) * 100%), transparent), inset 0 0 0 var(--echo-line-width, 0px) var(--echo-line, transparent);--echo-shadow-edge: inset 0 1px 0 rgb(255 255 255 / calc(.4 * var(--echo-gloss, 1)));--echo-shadow-hairline: 0 1px 0 rgb(255 255 255 / calc(.04 * var(--echo-gloss, 1)));--echo-shadow-chip: inset 0 1px 0 rgb(255 255 255 / calc(.15 * var(--echo-gloss, 1))), 0 1px 2px color-mix(in oklab, var(--echo-cast-ink, black) calc(.4 * var(--echo-shade, 1) * 100%), transparent), 0 0 0 var(--echo-line-width, 0px) var(--echo-line, transparent);--echo-shadow-key: inset 0 1px 0 rgb(255 255 255 / calc(.3 * var(--echo-gloss, 1))), 0 0 0 var(--echo-line-width, 0px) var(--echo-line, transparent), 0 2px 0 var(--echo-line-width, 0px) var(--echo-seam);--echo-shadow-cap: inset 0 1.5px 0 rgb(255 255 255 / calc(.42 * var(--echo-gloss, 1))), inset 0 -1px 0 rgb(255 255 255 / calc(.05 * var(--echo-gloss, 1))), inset 0 -3px 4px color-mix(in oklab, var(--echo-cast-ink, black) calc(.5 * var(--echo-shade, 1) * 100%), transparent), 0 0 0 var(--echo-line-width, 0px) var(--echo-line, transparent), 0 4px 0 var(--echo-line-width, 0px) var(--echo-seam), 0 9px 14px color-mix(in oklab, var(--echo-cast-ink, black) calc(.55 * var(--echo-shade, 1) * 100%), transparent);--echo-shadow-cap-lit: inset 0 1px 0 rgb(255 255 255 / calc(.45 * var(--echo-gloss, 1))), inset 0 -2px 4px color-mix(in oklab, var(--echo-cast-ink, black) calc(.35 * var(--echo-shade, 1) * 100%), transparent), 0 0 0 var(--echo-line-width, 0px) var(--echo-line, transparent), 0 4px 0 var(--echo-line-width, 0px) var(--echo-lit-edge, var(--echo-accent-6)), 0 calc(8px * (1 - var(--echo-drawn, 0))) calc(20px * (1 - var(--echo-drawn, 0))) color-mix(in oklch, var(--echo-accent-4) 40%, transparent);--echo-shadow-panel: 0 1px 0 rgb(255 255 255 / calc(.05 * var(--echo-gloss, 1))), 0 6px 14px color-mix(in oklab, var(--echo-cast-ink, black) calc(.4 * var(--echo-shade, 1) * 100%), transparent), 0 0 0 var(--echo-line-width, 0px) var(--echo-line, transparent);--echo-shadow-lifted: 0 1px 0 rgb(255 255 255 / calc(.07 * var(--echo-gloss, 1))), 0 10px 22px color-mix(in oklab, var(--echo-cast-ink, black) calc(.45 * var(--echo-shade, 1) * 100%), transparent), 0 0 0 var(--echo-line-width, 0px) var(--echo-line, transparent), 0 calc(4px * var(--echo-drawn, 0)) 0 var(--echo-line-width, 0px) var(--echo-line, transparent);--echo-shadow-chassis: inset 0 1.5px 0 rgb(255 255 255 / calc(.07 * var(--echo-gloss, 1))), inset 0 -3px 8px color-mix(in oklab, var(--echo-cast-ink, black) calc(.55 * var(--echo-shade, 1) * 100%), transparent), inset 0 0 0 1px var(--echo-seam), 0 30px 60px -22px color-mix(in oklab, var(--echo-cast-ink, black) calc(.75 * var(--echo-shade, 1) * 100%), transparent);--echo-shadow-tooltip: inset 0 1px 0 rgb(255 255 255 / calc(.08 * var(--echo-gloss, 1))), inset 0 0 0 1px var(--echo-seam), 0 8px 20px -8px color-mix(in oklab, var(--echo-cast-ink, black) calc(.7 * var(--echo-shade, 1) * 100%), transparent), 0 0 0 var(--echo-line-width, 0px) var(--echo-line, transparent), 0 calc(3px * var(--echo-drawn, 0)) 0 var(--echo-line-width, 0px) var(--echo-line, transparent);--echo-shadow-popover: inset 0 1px 0 rgb(255 255 255 / calc(.08 * var(--echo-gloss, 1))), inset 0 0 0 1px var(--echo-seam), 0 20px 40px -16px color-mix(in oklab, var(--echo-cast-ink, black) calc(.75 * var(--echo-shade, 1) * 100%), transparent), 0 0 0 var(--echo-line-width, 0px) var(--echo-line, transparent), 0 calc(4px * var(--echo-drawn, 0)) 0 var(--echo-line-width, 0px) var(--echo-line, transparent);--echo-shadow-toast: inset 0 1.5px 0 rgb(255 255 255 / calc(.28 * var(--echo-gloss, 1))), inset 0 0 0 1px color-mix(in oklab, var(--echo-seam) 70%, transparent), 0 18px 36px -14px color-mix(in oklab, var(--echo-cast-ink, black) calc(.75 * var(--echo-shade, 1) * 100%), transparent), 0 0 0 var(--echo-line-width, 0px) var(--echo-line, transparent), 0 calc(5px * var(--echo-drawn, 0)) 0 var(--echo-line-width, 0px) var(--echo-line, transparent);--echo-shadow-modal: inset 0 1px 0 color-mix(in oklab, var(--echo-cap-highlight) 46%, transparent), inset 0 0 0 1px var(--echo-seam), 0 40px 80px -24px color-mix(in oklab, var(--echo-cast-ink, black) calc(.85 * var(--echo-shade, 1) * 100%), transparent), 0 0 0 var(--echo-line-width, 0px) var(--echo-line, transparent), 0 calc(6px * var(--echo-drawn, 0)) 0 var(--echo-line-width, 0px) var(--echo-line, transparent);--echo-shadow-ring: 0 0 0 2px var(--echo-surface), 0 0 0 4px var(--echo-accent-ink, var(--echo-accent-glow));--echo-shadow-ring-inset: inset 0 0 0 2px var(--echo-accent-ink, var(--echo-accent-glow));--echo-shadow-glow: 0 0 calc(7px * (1 - var(--echo-drawn, 0))) color-mix(in oklch, var(--echo-accent-glow) 70%, transparent);--echo-gloss: .35;--echo-shade: .85;--echo-drawn: 0;--echo-line: #000000;--echo-line-width: 0px;--echo-lit-edge: #741a26;--echo-drawn-fill: initial;--echo-drawn-on-fill: initial;--echo-drawn-ink: initial;--echo-drawn-rule: initial;--echo-drawn-glass: initial;--echo-drawn-hollow: initial;--echo-drawn-decoration: initial;--echo-drawn-key: initial;--echo-drawn-key-ink: initial;--echo-density: 1.125;--echo-radius-scale: .545;--echo-cap-round: 0;--echo-key-angle: 145deg}@supports not (color: color-mix(in oklch,white,black)){:root{--echo-well: #000001;--echo-surface: #0b0b0d;--echo-text: #ffffff;--echo-accent: #cc3147}body{background:#000001;color:#fff}}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--echo-well);color:var(--echo-text);font-family:var(--echo-font-sans);font-size:16px;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:hover{color:var(--echo-accent-ink)}a:focus-visible,pre:focus-visible{outline:2px solid var(--echo-accent-ink);outline-offset:6px}::selection{background:var(--echo-accent);color:var(--echo-primary-cap-ink)}header,main,footer{max-width:1320px;margin:auto}header{height:106px;display:flex;align-items:center;justify-content:space-between;padding:0 48px;border-bottom:1px solid var(--echo-cap)}.brand{display:flex;gap:12px;align-items:center;font-size:14px;font-weight:750;letter-spacing:.04em}.brand-sub{display:block;font-family:var(--echo-font-mono);font-size:9px;color:var(--echo-text-dim);letter-spacing:.17em;margin-top:5px}header nav{display:flex;gap:36px;font-size:14px;color:var(--echo-text-dim)}header nav a{padding:12px 0}header nav [aria-current=page]{color:var(--echo-text)}.github-nav{font-size:13px;display:flex;gap:18px}.skip{position:absolute;top:-100px;left:12px;background:var(--echo-surface);padding:16px;z-index:10}.skip:focus{top:12px}.hero,.project-hero{display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:center;padding:112px 48px 100px}.eyebrow{font:11px var(--echo-font-mono);color:var(--echo-text-dim);letter-spacing:.08em;display:flex;align-items:center;gap:12px}.status-square{height:7px;width:7px;background:var(--echo-accent);display:inline-block}.hero h1,h1{font-size:clamp(48px,6.6vw,88px);line-height:1.03;letter-spacing:-.065em;font-weight:560;margin:30px 0}.hero em{font-style:normal;color:var(--echo-accent-ink)}.lead{font-size:18px;line-height:1.7;color:var(--echo-text-dim);letter-spacing:-.02em}.actions{display:flex;gap:12px;align-items:center;margin:32px 0}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;padding:15px 21px;font-size:13px;font-weight:600;min-height:46px;border-radius:var(--echo-radius-xs);white-space:nowrap}.primary{background:var(--echo-accent-pressed);color:var(--echo-primary-cap-ink);border:1px solid var(--echo-accent)}.primary:hover{background:var(--echo-accent);color:var(--echo-primary-cap-ink)}.secondary{border:1px solid var(--echo-cap);color:var(--echo-text)}.hero-note{font-size:11px;color:var(--echo-text-dim);margin-top:60px;display:flex;gap:12px}.mono{font:10px var(--echo-font-mono);letter-spacing:.04em;color:var(--echo-text-dim)}.diagram{border:1px solid var(--echo-cap);border-radius:var(--echo-radius-md);background:var(--echo-surface);overflow:hidden;box-shadow:var(--echo-shadow-panel)}.diagram-top,.diagram-foot{display:flex;align-items:center;gap:9px;padding:18px 20px;font-size:12px;border-bottom:1px solid var(--echo-cap)}.diagram-top .mono{margin-left:auto}.diagram-body{padding:35px 26px 26px;background:var(--echo-well)}.diagram-row{display:flex;gap:15px;align-items:center;padding:19px 15px;border:1px solid var(--echo-cap);border-radius:var(--echo-radius-xs)}.diagram-row.active{border-color:var(--echo-accent-pressed);background:var(--echo-surface)}.diagram-row strong{font-size:13px;display:block;font-weight:550}.diagram-row div span{display:block;font-size:10px;color:var(--echo-text-dim);margin-top:7px}.node-icon{font:10px var(--echo-font-mono);color:var(--echo-accent-ink)}.diagram-tag{margin-left:auto;font:9px var(--echo-font-mono);color:var(--echo-text-dim)}.connector{height:22px;border-left:1px solid var(--echo-cap);margin-left:25px}.diagram-output{display:flex;gap:14px;justify-content:center;margin-top:27px;font:9px var(--echo-font-mono);color:var(--echo-text-dim)}.diagram-foot{border-top:1px solid var(--echo-cap);border-bottom:0;justify-content:space-between;color:var(--echo-text-dim);font:10px var(--echo-font-mono)}.section{padding:80px 48px;border-top:1px solid var(--echo-cap)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:42px}h2{font-size:clamp(30px,3.2vw,43px);line-height:1.12;letter-spacing:-.045em;font-weight:520;margin:18px 0 0}.section-heading p,p{font-size:14px;line-height:1.75;color:var(--echo-text-dim)}.project-card{display:flex;align-items:center;gap:34px;padding:36px;border:1px solid var(--echo-cap);border-radius:var(--echo-radius-md);background:var(--echo-surface)}.project-symbol{width:100px;height:100px;display:grid;place-items:center;border:1px solid var(--echo-cap);flex-shrink:0}.project-symbol svg{width:68px;fill:none;stroke:var(--echo-accent-ink);stroke-width:1.6}.project-content{flex:1}.project-meta{display:flex;justify-content:space-between;gap:20px;font:9px var(--echo-font-mono);color:var(--echo-text-dim)}.project-content h3{font-size:31px;font-weight:520;letter-spacing:-.04em;margin:16px 0 10px}.project-content p{max-width:500px;font-size:13px}.project-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}.project-tags span{border:1px solid var(--echo-cap);padding:6px 9px;font:9px var(--echo-font-mono);color:var(--echo-text-dim)}.project-links{display:flex;flex-direction:column;align-items:center;gap:22px;min-width:140px}.text-link{font-size:12px;text-decoration:underline;text-underline-offset:5px}.future{display:flex;align-items:center;gap:34px;margin-top:24px;padding:18px 0}.future p{flex:1;font-size:12px;margin:0}.future a{font-size:11px;white-space:nowrap}.principles{display:grid;grid-template-columns:1fr 1fr;gap:90px}.principle-list article{display:flex;gap:24px;padding:22px 0;border-bottom:1px solid var(--echo-cap)}.principle-list article:first-child{padding-top:0}.principle-list .mono{padding-top:5px}.principle-list h3{font-size:17px;font-weight:500;margin:0 0 8px;letter-spacing:-.02em}.principle-list p{font-size:13px;margin:0}.release,.release-empty{padding:28px 0;border-top:1px solid var(--echo-cap)}.release h3,.release-empty h3{font-size:22px;font-weight:500;letter-spacing:-.025em;margin:15px 0}.release p{white-space:pre-wrap;overflow-wrap:anywhere}.release-list{max-width:850px}.release-empty p{font-size:13px}.page-top{padding-top:72px;min-height:70vh}.page-top h1{font-size:clamp(42px,6vw,72px)}.directory-label{display:flex;justify-content:space-between;font:10px var(--echo-font-mono);color:var(--echo-text-dim);padding:38px 0 20px}.project-hero h1{font-size:clamp(44px,5.1vw,68px);margin:27px 0}.breadcrumb{font:10px var(--echo-font-mono);color:var(--echo-text-dim)}.title-dot{color:var(--echo-accent-ink)}.project-intro{font-size:14px;max-width:470px}.project-hero .lead{font-size:23px;line-height:1.4}.capabilities{display:grid;grid-template-columns:repeat(3,1fr);gap:45px}.capabilities h3{font-size:25px;font-weight:500;letter-spacing:-.04em}.split{display:grid;grid-template-columns:1fr 1.1fr;gap:70px;align-items:center}.split p{max-width:400px;margin:22px 0}.split pre{margin:0}pre{border:1px solid var(--echo-cap);border-radius:var(--echo-radius-xs);background:var(--echo-lcd);padding:26px;overflow:auto;font:12px/1.8 var(--echo-font-mono);color:var(--echo-text);max-width:100%;-moz-tab-size:2;tab-size:2}code{font-family:inherit}.docs-layout{display:grid;grid-template-columns:225px 1fr;gap:60px;padding:60px 48px 90px;min-height:75vh}.docs-layout aside{border-right:1px solid var(--echo-cap);padding-right:25px}.docs-label{font-size:16px;font-weight:600}.docs-layout aside nav{display:flex;flex-direction:column;gap:8px;margin:28px 0}.docs-layout aside nav a{padding:10px 12px;font-size:12px;color:var(--echo-text-dim);border-left:2px solid var(--echo-cap)}.docs-layout aside nav [aria-current=page]{color:var(--echo-text);border-color:var(--echo-accent);background:var(--echo-surface)}.docs-source{font-size:10px;color:var(--echo-text-dim)}.doc{max-width:800px;min-width:0}.doc h1{font-size:42px;line-height:1.15;margin:24px 0}.doc .lead{font-size:17px}.doc section{margin:42px 0}.doc h2{font-size:23px;letter-spacing:-.025em;margin:0 0 16px}.doc p{font-size:14px}.doc-footer{border-top:1px solid var(--echo-cap);padding-top:24px;font-size:12px;color:var(--echo-text-dim)}.doc-footer a{text-decoration:underline}footer{padding:50px 48px 30px;border-top:1px solid var(--echo-cap)}.footer-top{display:flex;align-items:start;justify-content:space-between;gap:30px}.footer-top p{margin:0;font-size:15px;line-height:1.5}.footer-top>div{display:flex;flex-direction:column;gap:15px;font-size:12px;color:var(--echo-text-dim)}.footer-bottom{display:flex;justify-content:space-between;gap:20px;font-size:10px;color:var(--echo-text-dim);border-top:1px solid var(--echo-cap);padding-top:25px;margin-top:45px}@media(min-width:1500px){header,main,footer{max-width:1440px}.hero{padding-top:145px;padding-bottom:130px}}@media(max-width:1000px){.hero,.project-hero{gap:35px;padding:75px 32px}.hero h1{font-size:68px}.diagram-tag{display:none}.section{padding:60px 32px}.project-card{gap:24px;padding:26px}.project-symbol{width:72px;height:72px}.project-links{min-width:115px}.principles{gap:45px}.docs-layout{gap:35px;padding:45px 32px;grid-template-columns:190px 1fr}.split{gap:35px}}@media(max-width:720px){header{height:90px;padding:0 22px}.brand{font-size:11px;gap:9px}.brand-sub{font-size:8px}header nav{gap:18px;font-size:12px}.github-nav{display:none}.hero,.project-hero{grid-template-columns:1fr;padding:62px 22px;gap:42px}.hero h1{font-size:72px}.lead{font-size:16px}.hero-note{margin-top:34px;font-size:10px}.diagram{max-width:510px}.section{padding:50px 22px}.section-heading{align-items:start;flex-direction:column;gap:12px}.section-heading p br{display:none}.project-card{flex-wrap:wrap;padding:24px;gap:20px}.project-symbol{width:60px;height:60px}.project-symbol svg{width:50px}.project-content{flex-basis:calc(100% - 85px)}.project-meta{font-size:8px;gap:12px;flex-wrap:wrap}.project-content h3{font-size:27px}.project-content p{font-size:12px}.project-links{flex-direction:row;justify-content:start;width:100%;padding-top:12px}.future{align-items:start;gap:15px;flex-wrap:wrap}.future p{min-width:180px}.future a{flex-basis:100%}.principles,.split{grid-template-columns:1fr;gap:35px}.capabilities{grid-template-columns:1fr;gap:30px}.capabilities article{border-bottom:1px solid var(--echo-cap);padding-bottom:15px}.docs-layout{display:flex;flex-direction:column;padding:35px 22px;gap:35px}.docs-layout aside{border-right:0;border-bottom:1px solid var(--echo-cap);padding:0 0 15px}.docs-layout aside nav{flex-direction:row;overflow:auto;gap:8px;margin:16px 0}.docs-layout aside nav a{white-space:nowrap;border-left:0;border-bottom:2px solid var(--echo-cap)}.docs-source{display:none}.doc h1{font-size:35px}.doc h2{font-size:22px}pre{padding:18px;font-size:11px}.footer-top{flex-wrap:wrap}.footer-top p{font-size:13px}.footer-top>div{width:100%;flex-direction:row;justify-content:space-between;margin-top:12px}footer{padding:35px 22px 22px}.footer-bottom{font-size:9px}.footer-bottom>span:nth-child(2){display:none}.page-top{padding-top:50px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
