:root{--paper:#f7f8f3;--ink:#142b36;--muted:#53666d;--line:#d6ded7;--lime:#b8f17b;--white:#fff;--mono:ui-monospace,SFMono-Regular,Consolas,monospace}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.6}a{color:inherit;text-underline-offset:5px}a:hover{text-decoration-thickness:2px}a:focus-visible,pre:focus-visible{outline:3px solid #39791d;outline-offset:6px}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.12}h1,h2{letter-spacing:-.055em}p+p{margin-top:16px}.wrap{max-width:1240px;margin:auto;padding-left:44px;padding-right:44px}.header{height:108px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-size:26px;font-weight:750;letter-spacing:-1.3px}.brand span{font-weight:400;margin-left:-10px}.header nav{display:flex;gap:30px;align-items:center;font-size:14px}.header nav a{text-decoration:none}.header nav a:hover{text-decoration:underline}.repo-link{padding:9px 16px;border:1px solid var(--line);border-radius:6px}.skip{position:absolute;left:20px;top:-80px;z-index:5;background:var(--ink);color:white;padding:12px}.skip:focus{top:12px}.hero{display:grid;grid-template-columns:1.35fr 1fr;align-items:center;gap:64px;padding-top:70px;padding-bottom:96px}.eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.12em;font-weight:600;margin-bottom:24px;display:flex;align-items:center;gap:10px}.dot{height:7px;width:7px;border-radius:50%;background:#4d8334}.hero h1{font-size:clamp(42px,4.4vw,60px);line-height:1.08;font-weight:650}.hero h1 em{font-style:normal;color:#557643}.intro{font-size:20px;line-height:1.5;margin-top:28px;letter-spacing:-.35px}.hero-detail{font-size:15px;max-width:460px;color:var(--muted);margin-top:18px}.actions{display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin-top:32px}.button{display:inline-flex;align-items:center;gap:22px;padding:13px 20px;background:var(--ink);color:var(--white);border-radius:5px;text-decoration:none;font-size:14px;font-weight:600;transition:background .15s}.button:hover{background:#2d4e59}.text-link{font-size:14px;font-weight:600}.runtime-visual{background:var(--ink);color:white;padding:28px;border-radius:9px;box-shadow:0 20px 55px #142b3613;position:relative}.visual-top{display:flex;justify-content:space-between;gap:12px;color:#a8c0c7;font:9px var(--mono);letter-spacing:.07em;margin-bottom:26px}.language-row,.runtime-row{padding:18px 21px;border:1px solid #47606a;border-radius:5px}.mini-label{display:block;color:#b1c4cb;font:9px var(--mono);letter-spacing:.12em;margin-bottom:10px}.language-row strong,.runtime-row strong{font-size:27px;font-weight:550;display:flex;justify-content:space-between;line-height:1.3}.language-row p,.runtime-row p{font-size:11px;color:#c4d4d9;margin-top:6px}.code-glyph{font:23px var(--mono);color:#90aeb9}.connector{font-size:22px;color:#88a6b0;line-height:35px;padding-left:22px}.il-row{display:flex;justify-content:space-between;gap:10px;align-items:center;background:#223e49;padding:13px 19px;font:12px var(--mono);border-radius:4px}.small-tag{font:8px var(--mono);color:#c0d1d6}.runtime-row{background:var(--lime);border-color:var(--lime);color:var(--ink)}.runtime-row .mini-label,.runtime-row p{color:#304e27}.runtime-symbol{font-size:30px}.visual-bottom{display:flex;justify-content:space-between;gap:10px;margin-top:23px;font:10px var(--mono);color:#b9ced5}.facts{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.fact-row{display:flex;justify-content:space-between;gap:20px;padding-top:22px;padding-bottom:22px;font-size:12px;color:var(--muted)}.fact-row b{font-weight:650;color:var(--ink);margin-right:7px}.section{padding-top:92px;padding-bottom:96px}.section-heading{max-width:640px}.section-heading h2,.start-intro h2{font-size:clamp(32px,3.1vw,43px);font-weight:600}.section-heading>p:not(.eyebrow){color:var(--muted);font-size:16px;margin-top:22px;max-width:560px}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:44px;margin-top:54px}.number{display:block;font:11px var(--mono);color:#62824f;border-top:1px solid var(--line);padding-top:19px;margin-bottom:24px}.principles h3{font-size:20px;letter-spacing:-.5px;margin-bottom:15px}.principles p{font-size:14px;color:var(--muted);line-height:1.8}code{font-family:var(--mono);font-size:.9em}.examples-section{background:#eaf0e8;padding:84px 0}.examples-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:42px}.example{background:var(--paper);border:1px solid #ccd8cd;border-radius:6px;overflow:hidden;display:flex;flex-direction:column}.example-heading{padding:22px 24px 20px}.language-label{font:10px var(--mono);letter-spacing:.09em;color:#527345;display:block;margin-bottom:10px}.example-heading h3{font-size:19px;letter-spacing:-.4px}pre{margin:0;padding:27px 24px;overflow-x:auto;background:var(--ink);color:#e1f1d4;font:12px/1.9 var(--mono);min-height:218px;tab-size:4}pre code{font:inherit}.example-caption{padding:22px 24px;flex-grow:1;display:flex;flex-direction:column;justify-content:space-between;gap:20px}.example-caption p{font-size:13px;color:var(--muted)}.example-caption a{font-size:12px;font-weight:600}.implementation-note{font-size:12px;color:var(--muted);max-width:770px;margin-top:25px}.library-section{display:grid;grid-template-columns:1fr 1fr;gap:100px}.library-section .text-link{display:inline-block;margin-top:28px}.library-list>div{padding:20px 0;border-bottom:1px solid var(--line)}.library-list>div:first-child{padding-top:0}.library-list h3{font-size:18px;margin-bottom:9px;font-weight:600}.library-list p{font-size:14px;color:var(--muted)}.start-section{margin-top:10px;display:grid;grid-template-columns:1fr 1fr;gap:90px;padding-top:65px;padding-bottom:65px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.start-intro p:not(.eyebrow){font-size:14px;color:var(--muted);margin-top:23px;max-width:490px}.start-intro .button{margin-top:24px}.start-links{align-self:center}.start-links>a{display:flex;gap:20px;padding:25px 0;border-bottom:1px solid var(--line);text-decoration:none}.start-links>a:hover strong{text-decoration:underline;text-underline-offset:4px}.start-links>a:last-child{border:0}.step{font:11px var(--mono);color:#62824f;padding-top:5px}.start-links strong{font-size:17px;font-weight:600;display:block;letter-spacing:-.25px}.start-links small{font-size:12px;color:var(--muted);display:block;margin-top:7px}.start-links>a>span:last-child{margin-left:auto}.boundaries{padding-top:46px;padding-bottom:46px;display:grid;grid-template-columns:1fr 2fr;gap:18px 60px}.boundaries h3{font-size:14px;font-weight:600;padding-top:4px}.boundaries p{font-size:12px;color:var(--muted);margin:0}.boundaries p:last-child{grid-column:2}.footer{border-top:1px solid var(--line);padding-top:30px;padding-bottom:36px;display:flex;align-items:center;justify-content:space-between;gap:25px}.footer .brand{font-size:22px}.footer p,.footer div{font-size:11px;color:var(--muted)}.footer div{display:flex;gap:22px}@media(min-width:1500px){.hero{padding-top:100px;padding-bottom:120px}}@media(max-width:1000px){.hero{gap:32px}.wrap{padding-left:28px;padding-right:28px}.hero h1{font-size:43px}.library-section,.start-section{gap:48px}.runtime-visual{padding:23px}.small-tag{display:none}.hero .actions{gap:16px}.principles{gap:28px}}@media(max-width:720px){.header{height:86px}.header nav{gap:17px;font-size:12px}.header nav a:first-child,.header nav .repo-link{display:none}.wrap{padding-left:22px;padding-right:22px}.hero{grid-template-columns:1fr;padding-top:35px;padding-bottom:45px;gap:42px}.hero h1{font-size:clamp(37px,8vw,55px)}.intro{font-size:18px}.runtime-visual{max-width:460px;width:100%;justify-self:center}.facts .fact-row{flex-wrap:wrap;gap:10px 20px;padding-top:18px;padding-bottom:18px}.section{padding-top:55px;padding-bottom:55px}.principles,.examples-grid,.library-section,.start-section{grid-template-columns:1fr}.principles{gap:25px;margin-top:35px}.number{margin-bottom:15px}.principles h3{margin-bottom:10px}.examples-section{padding:55px 0}.examples-grid{gap:22px}.library-section{gap:34px}.start-section{gap:25px;padding-top:45px;padding-bottom:35px}.boundaries{grid-template-columns:1fr;gap:16px;padding-top:30px;padding-bottom:30px}.boundaries p:last-child{grid-column:1}.footer{align-items:flex-start;flex-wrap:wrap;gap:18px}.footer p{max-width:220px}.footer div{width:100%}pre{font-size:11px;min-height:0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}

/* Feature discovery and source-backed examples. */
.influences-grid,.features-grid{display:grid;gap:32px;margin-top:44px}
.influences-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.influences-grid article{border-top:1px solid var(--line);padding-top:24px}
.influences-grid h3,.features-grid h3{font-size:21px;letter-spacing:-.5px;margin-bottom:16px}
.influences-grid p,.features-grid p{color:var(--muted);font-size:14px;line-height:1.8}
.influences-grid a,.features-grid a{display:inline-block;font-size:12px;font-weight:600;margin-top:20px}
.features-section{padding:76px 0;background:#eef2ec;border-top:1px solid var(--line)}
.features-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 40px}
.features-grid .number{margin-bottom:18px}
.examples-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.example{min-width:0;scroll-margin-top:24px}
.example-links{display:flex;flex-wrap:wrap;gap:12px 24px}
@media(max-width:1000px){.influences-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.features-grid{gap:28px}.header nav{gap:18px}}
@media(max-width:720px){.features-grid,.examples-grid{grid-template-columns:1fr}.features-section{padding:55px 0}.header{height:auto;min-height:96px;flex-wrap:wrap;gap:12px;padding-top:18px;padding-bottom:18px}.header nav{flex-wrap:wrap;gap:16px}.header nav a:first-child{display:inline}.header nav .repo-link{display:none}}
@media(max-width:440px){.influences-grid{grid-template-columns:1fr}.influences-grid,.features-grid{gap:26px}.header nav{font-size:12px}}

.research-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;margin-top:44px}
.research-grid article{padding-top:24px;border-top:1px solid var(--line)}
.research-grid h3{font-size:21px;letter-spacing:-.5px;margin-bottom:16px}
.research-grid p{font-size:14px;color:var(--muted);line-height:1.8}
.research-grid .research-question{color:var(--ink);font-weight:600}
.research-grid a{display:inline-block;font-size:12px;font-weight:600;margin-top:18px}
.feedback-section{display:grid;grid-template-columns:1fr 1.4fr;gap:70px;padding-top:52px;padding-bottom:52px;background:var(--ink);color:var(--paper);border-radius:8px}
.feedback-section h2{font-size:clamp(32px,3.1vw,43px);font-weight:600}
.feedback-section p:not(.eyebrow){font-size:15px;color:#d0dde0}
.feedback-section .button{background:var(--lime);color:var(--ink)}
.feedback-section .button:hover{background:#cff5a8}
.feedback-section .feedback-channel{font-size:12px;margin-top:20px}
.feedback-section a:focus-visible{outline-color:var(--lime)}
@media(max-width:1000px){.research-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.feedback-section{gap:36px}.header nav{gap:15px}}
@media(max-width:720px){.research-grid,.feedback-section{grid-template-columns:1fr}.feedback-section{border-radius:0;gap:28px}.header nav{gap:14px}}

.hero-example pre{padding:24px 0;min-height:0;font-size:12px;line-height:1.9}
.hero-code-title{font-size:23px;line-height:1.3;letter-spacing:-.5px}
.hero-example .hero-code-caption{font-size:13px;color:#c4d4d9;margin-top:0}
.hero-example>a{display:inline-block;margin-top:18px;color:var(--lime);font-size:12px}
.hero-example .visual-bottom{border-top:1px solid #47606a;padding-top:20px;font-size:9px;flex-wrap:wrap}
.hero-example pre:focus-visible,.hero-example a:focus-visible{outline-color:var(--lime)}
.hero-copy,.hero-example{min-width:0}

/* Keep complete source visible, including long generic signatures on phones. */
pre{white-space:pre-wrap;overflow-wrap:anywhere}

.next-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px;margin-top:40px}
.next-grid h3{font-size:23px;letter-spacing:-.5px;margin-bottom:18px}
.next-grid p{font-size:15px;color:var(--muted);line-height:1.8}
.next-grid a{display:inline-block;font-size:13px;font-weight:600;margin-top:20px}
#example-void{grid-column:1/-1}
.principles .text-link{display:inline-block;margin-top:18px;font-size:12px}
.library-list .text-link{margin-top:16px}
@media(max-width:720px){.next-grid{grid-template-columns:1fr;gap:32px}}

.runtime-heading{margin-top:56px;max-width:680px}.runtime-heading h3{font-size:28px;letter-spacing:-.7px}.runtime-heading p{margin-top:16px;color:var(--muted)}.runtime-capabilities{margin-top:28px}

.library-topic{margin-top:58px;max-width:780px}.library-topic h3{font-size:28px;letter-spacing:-.7px}.library-topic p{margin-top:16px;color:var(--muted)}.library-topic+.examples-grid{margin-top:24px}.single-example{grid-template-columns:1fr}.single-example .example{display:grid;grid-template-columns:1.15fr 1fr}.single-example .example-heading{grid-column:1/-1}.il-companion{grid-column:1/-1}.union-example{margin-top:24px}.union-example pre{min-height:0}.header nav{flex-wrap:wrap}@media(max-width:720px){.single-example .example{display:flex}.header nav a:first-child{display:inline}}

/* TextMate token colors against the site's dark code background. */
.syntax-keyword{color:#d8b4fe}.syntax-type{color:#7dd3fc}.syntax-function{color:#fde68a}.syntax-string{color:#bef264}.syntax-number{color:#fdba74}.syntax-parameter{color:#bae6fd}.syntax-comment{color:#a7b8c0;font-style:italic}

.syntax-details{margin-top:28px;border-top:1px solid var(--line);padding-top:18px}.syntax-details summary{cursor:pointer;font-weight:600;font-size:15px}.syntax-details summary:focus-visible{outline:3px solid #39791d;outline-offset:5px}.influences-note{padding-top:36px;padding-bottom:36px;display:grid;grid-template-columns:1fr 3fr;gap:30px}.influences-note h3{font-size:18px}.influences-note p{font-size:13px;color:var(--muted)}@media(max-width:720px){.influences-note{grid-template-columns:1fr;gap:16px}}

/* In-depth feature guides share the site's typography and palette. */
.feature-hero{padding:58px 0 60px;max-width:920px}.feature-hero h1{font-size:clamp(38px,4.8vw,64px);font-weight:600}.feature-hero .intro{max-width:740px}.feature-status{margin-top:28px;padding:18px 22px;border-left:3px solid #62824f;background:#eaf0e8;font-size:14px;color:var(--muted)}.feature-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:64px;border-top:1px solid var(--line);padding:44px 0 80px}.feature-toc{align-self:start;position:sticky;top:30px}.feature-toc .eyebrow{margin-bottom:16px}.feature-toc nav{display:grid;gap:12px}.feature-toc a{font-size:13px;text-decoration:none;color:var(--muted)}.feature-toc a:hover{color:var(--ink);text-decoration:underline}.feature-body{min-width:0;max-width:780px}.feature-body section{padding:0 0 52px;scroll-margin-top:30px}.feature-body section+section{padding-top:40px;border-top:1px solid var(--line)}.feature-body h2{font-size:clamp(28px,3vw,37px);font-weight:600;margin-bottom:24px}.feature-body .eyebrow{margin-bottom:16px}.feature-body p,.feature-body li{font-size:16px;line-height:1.8}.feature-body pre{margin:24px 0;border-radius:6px;min-height:0;font-size:12px;max-width:100%}.feature-body li+li{margin-top:12px}.feature-body ul,.feature-body ol{padding-left:24px;margin:24px 0}.feature-note{padding:20px 24px;background:#eaf0e8;border-radius:6px;font-size:14px;margin-top:24px}.feature-feedback .button{margin-top:24px}.feature-body a{overflow-wrap:anywhere}.feature-body p code,.feature-body li code,.feature-note code{overflow-wrap:anywhere}
@media(max-width:1000px){.feature-layout{gap:32px;grid-template-columns:190px minmax(0,1fr)}}
@media(max-width:720px){.feature-hero{padding:30px 0 40px}.feature-layout{grid-template-columns:1fr;padding-top:28px;gap:36px}.feature-toc{position:static}.feature-toc nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px}.feature-body pre{padding:20px 16px;font-size:11px}.feature-body section{padding-bottom:30px}.feature-body section+section{padding-top:30px}.feature-body p,.feature-body li{font-size:15px}}

/* Wide API comparisons remain readable on small feature-page layouts. */
.table-scroll { max-width: 100%; overflow-x: auto; margin: 1.5rem 0; }
.table-scroll table { width: 100%; min-width: 36rem; table-layout: fixed; border-collapse: collapse; text-align: left; }
.table-scroll th, .table-scroll td { padding: .75rem; border-bottom: 1px solid var(--line, #333); vertical-align: top; }
.table-scroll th { font-weight: 600; }
.table-scroll code { white-space: normal; overflow-wrap: anywhere; }
.table-scroll th:nth-child(1), .table-scroll th:nth-child(2) { width: 30%; }
