:root{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:#292929;background:#f5f5f5;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--paper: #f5f5f5;--surface: #ededed;--ink: #292929;--muted: #656565;--line: #d9d9d9;--accent: #505050;--graphic-surface: #e3e3e3;--serif: "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Georgia, serif;--page-width: 1248px;--gutter: clamp(24px, 5vw, 80px)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height, 104px) + 24px)}body{margin:0}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}svg{flex-shrink:0}::selection{color:var(--ink);background:#dcdcdc}:focus-visible{outline:2px solid var(--accent);outline-offset:5px}main:focus{outline:none}.site-shell{min-height:100vh}.skip-link{position:absolute;z-index:10;top:12px;left:var(--gutter);padding:12px 18px;border-radius:6px;color:var(--paper);background:var(--ink);transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.site-header{position:sticky;top:0;z-index:30;background:var(--paper);border-bottom:1px solid var(--line)}.header-inner{width:min(100% - var(--gutter) * 2,var(--page-width));min-height:104px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:32px}.brand{display:inline-flex;align-items:center;flex-shrink:0;gap:10px;color:var(--ink);font-family:var(--serif);font-size:1.625rem;font-weight:600;letter-spacing:-.055em}.brand img{width:34px;height:34px}.site-header nav{display:flex;align-items:center;gap:32px;font-size:.9375rem}.site-header nav a{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px}.site-header nav a:hover{color:var(--accent)}.site-header nav .nav-github{min-height:42px;padding:0 16px;border:1px solid var(--ink);border-radius:7px}.site-header nav .nav-github:hover{color:var(--paper);background:var(--ink)}.hero{width:min(100% - var(--gutter) * 2,var(--page-width));min-height:654px;margin:0 auto;padding:80px 0 88px;display:grid;grid-template-columns:1.35fr 1fr;align-items:center;gap:clamp(36px,5vw,80px)}.hero-copy{min-width:0}.kicker,.section-label{margin:0 0 26px;color:var(--accent);font-size:.75rem;font-weight:500;line-height:1.5;letter-spacing:.12em}.hero h1{margin:0;font-family:var(--serif);font-size:clamp(3.5rem,5.7vw,5.125rem);font-weight:400;line-height:1.04;letter-spacing:-.055em}.hero h1 em{color:var(--accent);font-weight:400}.hero-copy>p:not(.kicker){max-width:480px;margin:28px 0 0;color:var(--muted);font-size:1.0625rem;line-height:1.8}.primary-link,.secondary-link{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:48px;padding:12px 20px;border:1px solid transparent;border-radius:7px;font-size:.9375rem;line-height:1.4;transition:background-color .2s ease,border-color .2s ease,color .2s ease}.primary-link{margin-top:32px;color:var(--paper);background:var(--ink)}.primary-link:hover{background:var(--accent)}.primary-link svg,.inline-action svg{transition:transform .2s ease}.primary-link:hover svg,.report-copy:hover .inline-action svg{transform:translate(3px)}.hero-graphic{width:100%;min-width:0;aspect-ratio:1;margin:0;padding:26px 28px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;border:1px solid #cdcdcd;border-radius:9px;background:var(--graphic-surface)}.graphic-heading{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;color:#575757;font-size:.75rem;letter-spacing:.12em}.hero-graphic img{width:100%;margin:12px 0;mix-blend-mode:multiply}.hero-graphic figcaption{width:100%;padding-top:17px;border-top:1px solid #bdbdbd;color:#575757;font-family:var(--serif);font-size:1rem;font-style:italic;line-height:1.5}.content-section{width:min(100% - var(--gutter) * 2,var(--page-width));margin:0 auto;padding:66px 0 80px}.reports{border-top:1px solid var(--line)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:32px}.section-heading .section-label{margin-bottom:12px}.section-heading h2{margin:0;font-family:var(--serif);font-size:clamp(2.25rem,3.5vw,3rem);font-weight:400;line-height:1.1;letter-spacing:-.035em}.section-heading>span,.section-heading>p{margin:0;color:var(--muted);font-size:.875rem;line-height:1.6}.section-heading>span{font-variant-numeric:tabular-nums}.report-banner{padding-top:28px;border-top:1px solid var(--line)}.report-copy{min-width:0;display:grid;grid-template-columns:1.15fr 1fr;gap:20px 56px;align-items:start}.report-copy .report-meta{grid-column:1 / -1}.report-meta,.project-meta{width:100%;display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 20px;color:var(--accent);font-size:.75rem;line-height:1.5;letter-spacing:.075em}.report-meta time,.project-meta time{color:var(--muted);font-variant-numeric:tabular-nums}.report-copy h3{grid-row:2 / 4;margin:0;font-family:var(--serif);font-size:clamp(1.875rem,2.7vw,2.5rem);font-weight:400;line-height:1.15;letter-spacing:-.03em;text-wrap:pretty}.report-copy>p{margin:0;color:var(--muted);font-size:1rem;line-height:1.75}.inline-action{margin-top:auto;display:inline-flex;align-items:center;gap:12px;font-size:.9375rem;line-height:1.5}.report-copy .inline-action{grid-column:2}.report-copy:hover .inline-action{color:var(--accent)}.research{padding-top:24px;padding-bottom:104px}.project-list{border-top:1px solid var(--line)}.project-row{padding:32px 0;display:grid;grid-template-columns:30px 112px minmax(0,1fr) auto;gap:28px;align-items:center;border-bottom:1px solid var(--line)}.project-number,.project-status{color:var(--muted);font-size:.75rem;line-height:1.5;letter-spacing:.075em}.project-status{padding:6px 10px;border:1px solid var(--line);border-radius:4px;white-space:nowrap}.project-mark{height:112px;position:relative;border:1px solid #d0d0d0;border-radius:5px;background:#e6e6e6}.project-mark:before,.project-mark:after{content:"";position:absolute;top:22%;bottom:22%;width:35%;border:1px solid #888;border-radius:50%}.project-mark:before{left:22%;transform:rotate(28deg)}.project-mark:after{right:22%;transform:rotate(-28deg)}.project-mark span{position:absolute;width:5px;height:5px;border-radius:50%;background:#888}.project-mark span:nth-child(1){left:25%;top:31%}.project-mark span:nth-child(2){right:25%;bottom:31%}.project-mark span:nth-child(3){left:calc(50% - 2px);top:calc(50% - 2px)}.project-row:nth-child(2n) .project-mark{background:#eaeaea;border-color:#d5d5d5}.project-row:nth-child(2n) .project-mark:before,.project-row:nth-child(2n) .project-mark:after{border-color:#848484;transform:rotate(65deg)}.project-row:nth-child(2n) .project-mark span{background:#848484}.project-copy{min-width:0}.project-copy h3{margin:13px 0 8px;font-family:var(--serif);font-size:clamp(1.5rem,2.2vw,1.875rem);font-weight:400;line-height:1.2;letter-spacing:-.025em}.project-copy>p{max-width:650px;margin:0;color:var(--muted);font-size:1rem;line-height:1.7}.site-footer{min-height:152px;padding:38px max(var(--gutter),calc((100vw - var(--page-width)) / 2));display:grid;grid-template-columns:1fr auto 1fr;gap:28px;align-items:center;border-top:1px solid var(--line);background:var(--surface)}.site-footer .brand{justify-self:start}.site-footer p{margin:0;color:var(--muted);font-family:var(--serif);font-size:1rem;font-style:italic;line-height:1.5}.footer-github{width:44px;height:44px;display:grid;place-items:center;justify-self:end;border:1px solid #c7c7c7;border-radius:50%}.footer-github:hover{color:var(--accent);border-color:var(--accent)}.detail-main{width:min(100% - var(--gutter) * 2,1040px);margin:0 auto;padding:42px 0 104px}.back-link{min-height:44px;display:inline-flex;align-items:center;gap:9px;color:var(--muted);font-size:.9375rem}.back-link:hover{color:var(--accent)}.detail-hero{padding:64px 0 76px}.detail-hero h1{max-width:960px;margin:0;font-family:var(--serif);font-size:clamp(2.625rem,5.4vw,4.625rem);font-weight:400;line-height:1.08;letter-spacing:-.04em;text-wrap:pretty}.detail-lead{max-width:760px;margin:28px 0 0;color:var(--muted);font-size:1.125rem;line-height:1.8}.detail-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:32px}.detail-actions .primary-link{margin:0}.secondary-link{border-color:#bbb}.secondary-link:hover{border-color:var(--ink);background:var(--surface)}.contributions{padding:64px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.contributions .section-label{margin-bottom:16px}.contributions h2{margin:0;font-family:var(--serif);font-size:clamp(2rem,3.5vw,2.625rem);font-weight:400;line-height:1.13;letter-spacing:-.03em}.contributions ol{list-style:none;margin:0;padding:0}.contributions li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:18px;padding:26px 0;border-top:1px solid var(--line)}.contributions li:first-child{border-top:0;padding-top:0}.contributions li:last-child{padding-bottom:0}.contributions li>span{padding-top:4px;color:var(--accent);font-size:.75rem}.contributions h3{margin:0 0 10px;font-family:var(--serif);font-size:1.5rem;font-weight:400;line-height:1.2;letter-spacing:-.02em}.contributions p{margin:0;color:var(--muted);font-size:1rem;line-height:1.75}.survey-findings{margin-top:64px}.finding-source{display:inline-flex;align-items:center;gap:6px;min-height:44px;margin-top:10px;color:var(--muted);font-size:.8125rem;line-height:1.5}.finding-source:hover{color:var(--ink);text-decoration:underline;text-underline-offset:4px}.roadmap-figure{margin:48px 0 0}.roadmap-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;padding-bottom:20px}.roadmap-heading>span{color:var(--muted);font-size:.75rem;letter-spacing:.075em}.roadmap-heading h2{margin:0;font-family:var(--serif);font-size:clamp(1.875rem,3vw,2.625rem);font-weight:400;line-height:1.2;letter-spacing:-.03em}.roadmap-heading>a,.roadmap-figure figcaption a{min-height:44px;display:inline-flex;align-items:center;gap:6px;font-size:.8125rem;white-space:nowrap}.roadmap-heading>a:hover,.roadmap-figure figcaption a:hover{text-decoration:underline;text-underline-offset:4px}.roadmap-image{display:block;cursor:zoom-in}.roadmap-image img{width:100%;height:auto;mix-blend-mode:multiply}.roadmap-figure figcaption{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 24px;padding-top:14px;color:var(--muted);font-size:.8125rem;line-height:1.6}.roadmap-figure figcaption>span{flex:1 1 280px}.roadmap-detail{padding-top:36px;border-top:1px solid var(--line)}.community-comments{padding-top:56px;border-top:1px solid var(--line)}.community-comments .section-heading{margin-bottom:28px}.comments-window{overflow:hidden;padding:4px 0 20px;scrollbar-width:none}.comments-window::-webkit-scrollbar{display:none}.comments-track{animation:comments-scroll 42s linear infinite}.comments-window:hover .comments-track,.comments-window:focus-visible .comments-track{animation-play-state:paused}@keyframes comments-scroll{to{transform:translate(-50%)}}.comments-track,.comments-group{display:flex;width:max-content}.comments-group{gap:20px;padding-right:20px}.comment-card{width:clamp(280px,32vw,400px);margin:0;padding:28px;border:1px solid var(--line);border-radius:10px;background:var(--surface);transition:border-color .2s ease,box-shadow .2s ease}.comment-card:hover{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.comment-card figcaption{display:flex;align-items:center;gap:13px}.comment-card strong{display:block;font-size:.9375rem;font-weight:500}.comment-avatar{display:grid;place-items:center;width:44px;height:44px;flex-shrink:0;border-radius:50%;background:var(--graphic-surface);color:#575757;font-family:var(--serif);font-size:.9375rem}.avatar-1{color:#505050;background:#dedede}.avatar-2{color:#5d5d5d;background:#e4e4e4}.comment-card blockquote{margin:24px 0 0}.comment-card blockquote p{margin:0;font-family:var(--serif);font-size:1.125rem;line-height:1.6;letter-spacing:-.015em}@media(min-width:1440px){.hero{gap:88px}}@media(max-width:1000px){.hero{grid-template-columns:1.25fr 1fr;gap:36px;min-height:570px;padding:64px 0}.hero h1{font-size:clamp(3rem,6vw,3.75rem)}.hero-graphic{padding:22px}.graphic-heading{font-size:.75rem;letter-spacing:.04em}.hero-graphic figcaption{font-size:.875rem}.report-copy{gap:20px 32px}.project-row{grid-template-columns:24px 88px minmax(0,1fr);gap:20px}.project-mark{height:88px}.project-status{grid-column:3;justify-self:start;margin-top:-6px}.site-footer{grid-template-columns:1fr auto}.site-footer p{grid-column:1;grid-row:2}.footer-github{grid-column:2;grid-row:1 / 3}.contributions{gap:40px}}@media(max-width:760px){.header-inner{min-height:90px;gap:16px}.site-header nav{gap:18px;font-size:.875rem}.hero{grid-template-columns:1fr;gap:40px;min-height:0}.hero h1{max-width:620px;font-size:clamp(3rem,8.5vw,4.5rem)}.hero-copy>p:not(.kicker){max-width:520px}.hero-graphic{max-width:520px;aspect-ratio:auto;padding:24px}.hero-graphic img{width:64%;margin:0 auto}.hero-graphic figcaption{font-size:1rem}.content-section{padding-top:48px;padding-bottom:56px}.report-copy{display:flex;flex-direction:column;gap:20px}.report-copy h3{max-width:580px;font-size:2rem}.roadmap-figure{margin-top:32px}.research{padding-top:12px;padding-bottom:64px}.section-heading{align-items:flex-start}.section-heading>p{max-width:190px}.contributions{grid-template-columns:1fr;gap:32px;padding:48px 0}.detail-hero{padding:48px 0 56px}.detail-main{padding-top:28px;padding-bottom:64px}}@media(max-width:540px){.header-inner{flex-wrap:wrap;gap:0;padding:20px 0 12px}.site-header nav{width:100%;justify-content:space-between;gap:12px;margin-top:12px}.site-header nav .nav-github{min-height:40px;padding:0 12px}}@media(max-width:480px){.brand{font-size:1.5rem}.brand img{width:30px;height:30px}.hero{padding:44px 0 48px;gap:32px}.hero h1{font-size:clamp(2.625rem,10.5vw,3.25rem)}.kicker{font-size:.75rem;letter-spacing:.07em;margin-bottom:22px}.hero-copy>p:not(.kicker){margin-top:24px;font-size:1rem;line-height:1.75}.primary-link{margin-top:26px}.hero-graphic{padding:20px}.hero-graphic img{width:80%}.hero-graphic figcaption{font-size:.875rem}.section-heading{flex-wrap:wrap;gap:16px;margin-bottom:26px}.section-heading>span{align-self:end}.section-heading>p{max-width:none}.section-heading h2{font-size:2.25rem}.report-copy h3{font-size:1.875rem}.project-row{grid-template-columns:28px minmax(0,1fr);gap:16px;padding:26px 0}.project-number{align-self:start;padding-top:2px}.project-mark{display:none}.project-copy{grid-column:2}.project-copy h3{margin-top:14px;font-size:1.625rem}.project-status{grid-column:2;margin:0}.project-meta{letter-spacing:.025em}.site-footer{padding-top:30px;padding-bottom:30px;gap:16px}.site-footer p{font-size:.9375rem;max-width:230px}.detail-hero h1{font-size:clamp(2.375rem,9vw,2.875rem)}.detail-lead{font-size:1rem}.detail-actions{align-items:stretch;flex-direction:column}.detail-actions a{width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}.comments-track{animation:none}.comments-window{overflow-x:auto}.comments-copy{display:none}}
