@font-face{font-family:Recursive;font-style:oblique 0deg 15deg;font-weight:400 700;font-display:swap;src:url('/Recursive-subset.949762c3.woff2') format('woff2');unicode-range:U+0020-007E}@view-transition{navigation:auto}:root{--bg:#fafafa;--text:#0a4067;--primary:#ae2448;--muted:#3a6584;--border:#e5ecf5;--surface:#ffffff;color-scheme:light;--font-family:Recursive,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,'Open Sans','Helvetica Neue',sans-serif;--base-font-weight:400;--font-family-mono:IosBerkMono,monospace;--font-weight-normal:400;--font-weight-bold:700;--ui-duration:200ms;--ui-ease:ease;--bullet:#bebeec}:root.dark{--bg:#0e1124;--text:#cfd1fc;--primary:#f13c66;--muted:#8284a6;--border:#2a3551;--surface:#171f38;color-scheme:dark;--bullet:#424275}*{box-sizing:border-box}html{background:var(--bg);color:var(--text);scrollbar-color:var(--muted) var(--bg);scrollbar-width:thin}body{margin:0;font:400 1rem/1.65 Recursive,sans-serif;font-variation-settings:'CASL' 0,'CRSV' 0;-webkit-font-smoothing:antialiased}::selection{background:var(--primary);color:var(--bg)}button,input{font:inherit}a,button{-webkit-tap-highlight-color:transparent;transition:color var(--ui-duration) var(--ui-ease),text-decoration-color var(--ui-duration) var(--ui-ease)}button{cursor:pointer}a{color:inherit;text-underline-offset:.2em}:focus-visible{outline:2px solid var(--primary);outline-offset:0.3125rem}h1,h2,p{margin:0}.top-bar{display:flex;align-items:center;justify-content:space-between;min-height:2.75rem;margin-top:1.25rem}.wordmark{display:inline-flex;align-items:center;min-height:2.75rem;font-size:1.25rem;font-weight:650;letter-spacing:-.02em;text-decoration:none}.wordmark span{color:var(--primary);margin-right:.125rem;font-weight:500}.header-actions{display:flex;align-items:center;gap:1.5rem;gap:.25rem}.theme-toggle{display:grid;place-items:center;width:2.75rem;height:2.75rem;color:var(--muted)}.theme-toggle:hover{color:var(--primary)}.theme-toggle svg{grid-area:1/1}.dark .sun,.moon{display:none}.dark .moon{display:block}.skip-link{position:fixed;left:1.25rem;top:-6.25rem;background:var(--text);color:var(--bg);padding:.75rem 1rem;z-index:3}.skip-link:focus{top:.75rem}:root[data-font=sans]{--font-family:Recursive,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,'Open Sans','Helvetica Neue',sans-serif;--base-font-weight:400}:root[data-font=serif]{--font-family:Platypi,Georgia,'Times New Roman',serif;--base-font-weight:300}:root[data-font=mono]{--font-family:IosBerkMono,'SFMono-Regular',Consolas,'Liberation Mono',Menlo,Courier,monospace;--base-font-weight:400}:root[data-font=system]{--font-family:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,'Open Sans','Helvetica Neue',sans-serif;--base-font-weight:400}body{font-family:var(--font-family);font-weight:var(--base-font-weight);line-height:1.625}h1,h2,h3,h4,h5,h6{margin:0;color:var(--text);font-weight:700;letter-spacing:normal;line-height:1.4;font-variation-settings:normal}h1{font-size:clamp(1.75rem, 5vw, 2.2rem)}h2{font-size:clamp(1.5rem, 4vw, 1.8rem)}h3{font-size:clamp(1.25rem, 3vw, 1.5rem)}.heading-compact{font-size:1rem}:root[data-font=sans] :is(h1,h2,h3,h4,h5,h6){letter-spacing:-.02em}.font-toggle-wrap{position:relative;flex-shrink:0}.font-toggle,.theme-toggle{display:grid;place-items:center;width:calc(1.25rem + .8rem);height:calc(1.25rem + .8rem);padding:.4rem;border:0;background:0 0;color:var(--text);cursor:pointer}.font-toggle svg{width:1.0625rem;height:1.125rem;fill:currentColor;stroke:none}.font-toggle:hover{color:var(--primary)}.source-icon-filled{fill:currentColor;stroke:none}.source-icon-outline{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.font-popup{position:absolute;top:100%;right:0;min-width:9rem;margin-top:.5rem;padding:.5rem;border:1px solid var(--border);border-radius:.75rem;background:var(--bg);opacity:0;visibility:hidden;transform:translateY(-.25rem);transition:opacity 150ms,visibility 150ms,transform 150ms;z-index:20}.font-popup.open{opacity:1;visibility:visible;transform:translateY(0)}.font-option{display:flex;align-items:center;gap:.5rem;width:100%;min-height:2.75rem;padding:.5rem .75rem;border:0;border-radius:.375rem;background:0 0;color:var(--text);font-family:var(--font-family);font-size:1rem;text-align:left;cursor:pointer}.font-option:focus-visible,.font-option:hover{background:color-mix(in srgb,var(--primary) 8%,var(--bg))}.font-option.active{color:var(--primary)}.font-option-check{width:.75rem;text-align:center;visibility:hidden}.font-option.active .font-option-check{visibility:visible}@media (prefers-reduced-motion:reduce){.font-popup{transition:none}}.container{width:calc(100% - clamp(2.5rem,9.2vw,8rem));max-width:65rem;margin-inline:auto}main{margin:0}.utility-layout{padding-block:2.625rem 2.5rem}.utility-layout h1{margin-block-end:1.25rem}.utility-layout a:not(.button-outline):not(.color-palette-credits){color:var(--primary)}.button-outline{display:inline-flex;align-items:center;justify-content:center;min-block-size:2.75rem;padding:.375rem .875rem;border:1px solid var(--border);border-radius:.5rem;background:var(--bg);color:var(--text);font-size:.875rem;font-weight:550;text-decoration:none}svg{width:1.125rem;height:1.125rem;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}h1,h2,h3{text-wrap:balance}.site-footer{padding-block:2rem}.site-footer .social-row{border-block-start:1px solid var(--border);padding-block-start:1.5rem}.social-row{display:flex;justify-content:flex-end}.social-icons{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.25rem}.social-link{display:inline-flex;align-items:center;justify-content:center;padding:.4rem;color:var(--text);text-decoration:none}.social-link svg{width:1.25rem;height:1.25rem}.social-link:hover{color:var(--primary)}:is(.filter,.rss,.quick-links a,.post-actions .likes-button,.reply-link,.post-list li,.button-outline){transition:background-color var(--ui-duration) var(--ui-ease),border-color var(--ui-duration) var(--ui-ease),color var(--ui-duration) var(--ui-ease)}.post-list li:is(:hover,:focus-within),:is(.filter[aria-pressed=false],.rss,.quick-links a,.post-actions .likes-button,.reply-link,.button-outline):is(:hover,:focus-visible){background-color:color-mix(in srgb,var(--primary) 8%,transparent);border-color:var(--primary);color:var(--primary)}:is(.social-link,.font-toggle,.theme-toggle):hover{background:0 0}@media(max-width:61.25em){.container{max-width:43.75rem}}@media(max-width:35em){.container{width:calc(100% - 2.5rem)}}@media(max-width:48em){.utility-layout{padding-block-start:2rem}}@media(max-width:22.5em){.container{width:calc(100% - 2rem)}}@media(prefers-reduced-motion:reduce){*,::after,::before{animation:none!important;transition:none!important}html{scroll-behavior:auto}}@keyframes view-transition-fade-out{to{opacity:0}}@keyframes view-transition-fade-in{from{opacity:0}}::view-transition-old(root){animation:140ms ease-out both view-transition-fade-out;mix-blend-mode:normal}::view-transition-new(root){animation:180ms ease-out both view-transition-fade-in;mix-blend-mode:normal}::view-transition-group(*){animation-duration:240ms;animation-timing-function:cubic-bezier(0.2,0,0,1)}@media (prefers-reduced-motion:reduce){::view-transition-group(*),::view-transition-new(*),::view-transition-old(*){animation:none}.logo:hover span{animation:none}.links-grid li.blinking,.post-list li.blinking{animation:none;border-color:var(--primary);background-color:color-mix(in srgb,var(--primary) 8%,transparent)}}@keyframes blink-animation{0%,49%{border-color:var(--border);background-color:transparent}100%,50%{border-color:var(--primary);background-color:color-mix(in srgb,var(--primary) 8%,transparent)}}@media (prefers-reduced-motion:no-preference){.blinking{animation:.2s step-start infinite blink-animation}}