:root{color-scheme:dark;color:#e3e8ef;font-synthesis:none;text-rendering:optimizelegibility;background:#15191f;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0;line-height:1.75}a{color:#8bbcff}.masthead{z-index:100;backdrop-filter:blur(14px);background:#15191ff5;border-bottom:1px solid #303744;justify-content:space-between;align-items:center;gap:1rem;padding:1rem clamp(1.25rem,5vw,4rem);display:flex;position:sticky;top:0}.brand{color:#f1f4f8;letter-spacing:-.04em;align-items:center;gap:.7rem;font-size:1.1rem;font-weight:800;text-decoration:none;display:inline-flex}.brand img{border-radius:11px;display:block}nav{flex-wrap:wrap;gap:1.25rem;display:flex}nav a{color:#aab6c5;text-decoration:none}.masthead nav a:hover,.masthead nav a[aria-current=page]{color:#f08c71}.masthead nav a[aria-current=page]{text-underline-offset:.4em;text-decoration:underline}a:focus-visible,button:focus-visible{outline-offset:5px;outline:2px solid #f08c71}body{overflow-x:clip}footer{color:#98a4b3;border-top:1px solid #303744;padding:1.5rem clamp(1.25rem,5vw,4rem)}.page{width:min(1100px,100% - 2.5rem);margin:3rem auto 5rem}.page h1{margin:0 0 1rem;font-size:clamp(2.5rem,6vw,4.5rem);line-height:1.05}.page .lead{color:#aab6c5;max-width:68ch}.cards{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin-top:2rem;display:grid}.card{color:inherit;background:#20262e;border:1px solid #303744;border-radius:12px;padding:1.4rem;text-decoration:none;display:block}.card:hover{border-color:#8bbcff}.card h2{margin:0 0 .5rem}.writeup{width:min(1000px,100% - 2.5rem);margin:3rem auto 5rem}.article-layout{grid-template-columns:minmax(220px,290px) minmax(0,1fr);align-items:start;gap:clamp(2rem,5vw,5rem);max-width:1660px;margin:0 auto;padding:2.5rem clamp(1.25rem,4vw,4rem) 5rem;display:grid}.article-layout .page-content{min-width:0}.article-layout .writeup{width:100%;max-width:1100px;margin:0}.toc{color:#8c98ad;max-height:calc(100vh - 3rem);padding:.75rem 0;position:sticky;top:1.5rem;overflow-y:auto}.toc .back-link{color:#8c98ad;margin-bottom:2rem;text-decoration:none;display:inline-block}.toc-title{letter-spacing:.08em;text-transform:uppercase;margin:0 0 .75rem;font-size:.8rem;font-weight:700}.toc nav{border-left:1px solid #303744;flex-direction:column;gap:.2rem;padding-left:.8rem;display:flex}.toc nav a{color:#8c98ad;border-left:1px solid #0000;margin-left:-1px;padding:.3rem 0 .3rem .65rem;line-height:1.45;text-decoration:none;display:block}.toc nav a:hover,.toc nav a[aria-current=location]{color:#e3e8ef;border-left-color:#d9614a}.toc nav a.nested{padding-left:1.35rem}.writeup{scroll-behavior:smooth}.writeup h1,.writeup h2,.writeup h3{scroll-margin-top:6rem;line-height:1.25}.writeup img{border-radius:10px;max-width:100%;height:auto}.writeup table{max-width:100%;display:block;overflow-x:auto}.writeup pre{border:1px solid #303d55;border-radius:12px;padding:1.25rem 1.5rem;font-size:.95rem;line-height:1.7;overflow-x:auto;background:#242a30!important}.writeup pre code{background:0 0;padding:0}.writeup :not(pre)>code{background:#292f3a;border-radius:4px;padding:.12em .35em}.writeup blockquote{color:#b4bfcc;background:#22221e;border-left:3px solid #e5aa00;margin:1.5rem 0;padding:.7rem 1.1rem}html.motion-ready [data-reveal]{opacity:0;transition:opacity .65s cubic-bezier(.2,.7,.2,1),transform .65s cubic-bezier(.2,.7,.2,1);transition-delay:var(--reveal-delay,0s);transform:translateY(18px)}html.motion-ready [data-reveal].is-revealed{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){html.motion-ready [data-reveal],html.motion-ready [data-reveal].is-revealed{opacity:1;transition:none;transform:none}}@media (width<=600px){.masthead{flex-direction:column;align-items:flex-start;gap:.75rem;padding:.8rem 1rem}.masthead nav{justify-content:flex-start;gap:.9rem;width:100%;font-size:.9rem}.article-layout{padding-top:1rem;display:block}.toc{border-bottom:1px solid #303744;max-height:none;margin-bottom:2rem;padding-bottom:1rem;position:static}.toc nav{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.writeup pre{padding:1rem;font-size:.85rem}.writeup h1,.writeup h2,.writeup h3{scroll-margin-top:5rem}}
