@font-face{font-family:Rubik;src:url(/fonts/rubik.ttf)format("truetype");font-weight:300 900;font-display:swap}@font-face{font-family:Inter;src:url(/fonts/inter.ttf)format("truetype");font-weight:100 900;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/jetbrains-mono.ttf)format("truetype");font-weight:100 800;font-display:swap}*{box-sizing:border-box}body{background:var(--background);color:var(--textPrimary);margin:0;font:1rem/1.7 Inter,sans-serif}.wrap{width:min(100% - 2.5rem,68rem);margin-inline:auto}.site-header,.site-footer,nav{flex-wrap:wrap;align-items:center;gap:1.25rem;display:flex}.site-header{border-bottom:1px solid var(--border);justify-content:space-between;padding-block:1.5rem}.wordmark{display:inline-flex}.wordmark img{max-width:100%;height:auto;display:block}nav a{padding-block:.5rem}main{min-height:65vh;padding-block:clamp(2rem,6vw,5rem)}article{max-width:46rem}h1,h2,h3,summary,.button{font-family:Rubik,sans-serif}h1,h2,h3{text-wrap:balance;font-weight:800;line-height:1.15}h1{letter-spacing:-.035em;margin:0 0 1.5rem;font-size:clamp(2.3rem,7vw,4rem)}h2{margin-top:2.5rem;font-size:1.55rem}h3{font-size:1.2rem}p,li{overflow-wrap:anywhere}a{color:var(--primary);text-underline-offset:.2em}a:hover{text-decoration-thickness:2px}:focus-visible{outline:3px solid var(--primary);outline-offset:5px}.intro{font-size:1.2rem}.caption{color:var(--textSecondary);font:.8rem/1.6 JetBrains Mono,monospace}.button{background:var(--primary);color:var(--onPrimary);border-radius:999px;padding:.8rem 1.5rem;font-weight:800;text-decoration:none;display:inline-block}.panel{background:var(--surface);border:1px solid var(--border);border-radius:1rem;margin-block:1.5rem;padding:1.5rem}.panel h2{margin-top:0}ul,ol{padding-left:1.5rem}li+li{margin-top:.6rem}details{border-bottom:1px solid var(--border);padding-block:1.1rem}summary{cursor:pointer;font-size:1.1rem;font-weight:700}details p:last-child{margin-bottom:0}.site-footer{border-top:1px solid var(--border);padding-block:1.5rem 2.5rem;font-size:.875rem}.site-footer p{margin:0}.skip-link{background:var(--surface);padding:.5rem;position:absolute;top:.5rem;left:1rem;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}
