@font-face{font-family:Roundo;src:url(roundo-400.woff2) format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Roundo;src:url(roundo-600.woff2) format('woff2');font-weight:600;font-display:swap}
:root{--paper:#fff;--ink:#121713;--mint:#a7ff9c;--soft:#e5e8e1;--gutter:clamp(20px,4vw,64px);--body:18px;--heading:clamp(32px,4vw,52px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;color:var(--ink);background:var(--paper);font:400 var(--body)/1.6 Roundo,Arial,sans-serif}a{color:inherit;text-underline-offset:5px}a:hover{text-decoration-thickness:3px}a:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid var(--ink);outline-offset:5px}.frame{width:100%;max-width:1320px;margin-inline:auto;padding-inline:var(--gutter)}header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:28px}.brand{font-size:28px;font-weight:600;text-decoration:none}nav{display:flex;gap:28px;flex-wrap:wrap}nav a{font-size:16px;text-decoration:none}.skip{position:fixed;top:8px;left:8px;transform:translateY(-160%);background:var(--ink);color:var(--paper);padding:12px 20px;z-index:2}.skip:focus{transform:none}.hero{padding-block:70px 88px}h1,h2,p{margin:0}h1{max-width:1100px;font-size:clamp(48px,8vw,104px);line-height:1.04;font-weight:600;letter-spacing:-.045em;overflow-wrap:normal}.lead{max-width:55ch;font-size:clamp(20px,2.2vw,28px);line-height:1.45;margin-top:36px}.action{display:inline-flex;align-items:center;gap:24px;min-height:48px;padding:14px 24px;background:var(--ink);color:var(--paper);font-weight:600;text-decoration:none;margin-top:32px;transition:transform .15s ease}.action:hover{transform:translateY(-3px);text-decoration:underline}.action:active{transform:translateY(1px)}h2{font-size:var(--heading);line-height:1.12;letter-spacing:-.025em;font-weight:600}.status{background:var(--mint);padding-block:52px}.columns,.start,.continue{display:grid;grid-template-columns:1fr 1.35fr;gap:64px}.columns p{max-width:52ch;font-size:20px}.start{padding-block:96px 64px}.start ol{margin:0;padding-left:24px;max-width:60ch}.start li+li{margin-top:20px}pre{overflow:auto;background:var(--soft);padding:24px;margin:32px 0;font-size:16px;white-space:pre-wrap;overflow-wrap:anywhere}code{font-family:ui-monospace,Consolas,monospace;font-size:.94em}.text-link{display:inline-block;margin-top:28px}.continue{padding-block:32px 96px}.reading-links{display:grid;gap:18px;align-content:start}.reading-links a{font-size:20px}.directory{background:var(--ink);color:var(--paper);padding-block:64px}.directory>div>p{max-width:55ch;margin-top:24px}.directory .action{background:var(--mint);color:var(--ink)}.directory a:focus-visible,.directory summary:focus-visible,.directory input:focus-visible{outline-color:var(--mint)}details{margin-top:48px}summary{cursor:pointer;font-size:22px;font-weight:600;padding-block:12px}label{display:block;margin:20px 0 8px}input{width:min(100%,560px);font:inherit;padding:14px 16px;background:var(--paper);color:var(--ink);border:0;border-radius:0}#project-count{margin-top:12px;font-size:16px}#project-list{list-style:none;padding:0;margin:24px 0 0;columns:2;column-gap:48px}#project-list li{break-inside:avoid;margin-bottom:16px}#project-list a{display:inline-block;padding-block:6px;line-height:1.3}#project-list li[hidden]{display:none}footer{padding-block:48px;display:grid;grid-template-columns:1fr 1.3fr;gap:20px 48px}footer p{font-size:16px;max-width:60ch}footer>a:not(.brand){font-size:16px}::selection{background:var(--mint);color:var(--ink)}
@media(max-width:760px){header{align-items:flex-start;gap:16px;flex-direction:column;padding-block:22px}nav{gap:20px}h1{font-size:clamp(38px,10vw,66px)}.hero{padding-block:32px 52px}.lead{margin-top:28px}.columns,.start,.continue{grid-template-columns:1fr;gap:28px}.status{padding-block:36px}.start{padding-block:56px 36px}.continue{padding-block:20px 56px}.columns p{font-size:18px}.action{gap:16px;padding-inline:20px;font-size:16px}#project-list{columns:1}.directory{padding-block:44px}footer{grid-template-columns:1fr;gap:18px}.brand{font-size:26px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.action{transition:none}.action:hover,.action:active{transform:none}}
