.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}@font-face{font-family:JetBrains Mono;src:url(/fonts/jetbrainsmono-latin.woff2)format("woff2");font-weight:400 700;font-display:swap}:root{--bg:#1f1f1f;--fg:#fff;--text:#e4e4e4;--muted:#a8a8a8;--purple:#38007e;--magenta:#74007e;--mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--radius:12px}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--fg);font-family:var(--mono);-webkit-font-smoothing:antialiased;margin:0}body{flex-direction:column;min-height:100vh;display:flex}a{color:inherit}.container{width:100%;max-width:480px;margin:0 auto;padding:0 24px}.site-header{padding-top:28px;padding-bottom:28px}.logo{padding-left:14px;font-size:1.2rem;font-weight:700;text-decoration:none;display:inline-block}main{flex:1}.tiles{gap:32px;display:grid}.tile{aspect-ratio:1.1;border-radius:var(--radius);background:var(--purple);font-family:var(--mono);letter-spacing:.04em;justify-content:center;align-items:center;font-size:clamp(2.4rem,15vw,3.7rem);font-weight:500;text-decoration:none;transition:transform .15s;display:flex}.tile:hover,.tile:focus-visible,.tile:active{background:linear-gradient(to bottom right, var(--magenta), var(--purple));outline:none}.tile:active{transform:scale(.98)}.page-bar{border-radius:var(--radius);background:linear-gradient(to bottom right, var(--magenta), var(--purple));min-height:78px;font-family:var(--mono);letter-spacing:.04em;align-items:center;gap:36px;margin-bottom:32px;padding:8px 24px;font-size:2.4rem;font-weight:500;display:flex}.page-bar h1{font:inherit;margin:0}a.page-bar{text-decoration:none;transition:filter .2s}a.page-bar .icon{flex-shrink:0;transition:transform .2s}a.page-bar:hover,a.page-bar:focus-visible{filter:brightness(1.2);outline:none}a.page-bar:hover .icon,a.page-bar:focus-visible .icon{transform:translate(-6px)}a.page-bar:active{transform:scale(.99)}.icon{fill:none;stroke:currentColor;stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round;width:30px;height:30px}.cards{gap:28px;display:grid}.card{border:4px solid var(--purple);border-radius:var(--radius);background:var(--bg);padding:24px 24px 48px;text-decoration:none;display:block;position:relative}.card:hover,.card:focus-visible,.card:active{background:linear-gradient(var(--bg), var(--bg)) padding-box, linear-gradient(to bottom right, var(--magenta), var(--purple)) border-box;border-color:#0000;outline:none}.card h2{margin:0 0 12px;font-size:1.5rem;font-weight:700;line-height:1.2}.meta{text-align:right;color:var(--muted);margin-bottom:14px;font-size:.65rem;display:block}.card p{color:var(--text);margin:0;font-size:1.05rem;line-height:1.4}.card-image{aspect-ratio:16/10;object-fit:cover;border-radius:8px;width:100%;height:auto;margin:4px 0 16px;display:block}.card .arrow{position:absolute;bottom:14px;right:20px}.card .icon{width:26px;height:26px}.prose{color:var(--text);padding:0 24px;font-size:1.05rem;line-height:1.4}.prose h2{color:var(--fg);margin:28px 0 16px;font-size:1.5rem;font-weight:700;line-height:1.2}.prose h3{color:var(--fg);border-bottom:3px solid var(--magenta);margin:52px 0 20px;padding-bottom:10px;font-size:clamp(1.5rem,5vw,1.9rem);font-weight:700;line-height:1.2}.prose p{margin:0 0 18px}.prose pre,.prose code{font-family:var(--mono);font-size:.85em}.prose code{color:#e2c6ff;background:#2a2a2a;border-radius:4px;padding:1px 5px}.prose pre{border-radius:var(--radius);scrollbar-color:#555 transparent;scrollbar-width:thin;background:#2a2a2a;margin:0 0 18px;padding:14px;line-height:1.45;overflow-x:auto}.prose pre code{font-size:inherit;color:var(--text);padding:0}.prose a{color:#e2c6ff;text-decoration-color:var(--magenta);text-underline-offset:3px;overflow-wrap:anywhere}.prose a:hover{color:var(--fg)}.prose blockquote{border-left:3px solid var(--magenta);background:#2a2a2a;border-radius:0 8px 8px 0;margin:0 0 24px;padding:12px 16px;font-size:.9rem}.prose blockquote p{margin:0}.prose ul,.prose ol{margin:0 0 18px;padding-left:1.4em}.prose li{margin-bottom:8px}.prose li::marker{color:var(--magenta)}.prose strong{color:var(--fg)}.prose figure{margin:0 0 24px}.prose figure img{border-radius:var(--radius);width:100%;height:auto;display:block}.prose .figure-small img{width:auto;max-width:100%;max-height:420px;margin:0 auto}.prose .figure-small figcaption{text-align:center}.prose figcaption{color:var(--muted);margin-top:8px;font-size:.8rem}.post-header{margin-bottom:28px}.post-header h2{margin-top:0;font-size:clamp(1.8rem,6vw,2.3rem)}.post-header .lead{color:var(--muted);margin-bottom:12px}.post-header .meta{text-align:left;font-size:.8rem}.prose ul.contact{flex-wrap:wrap;gap:6px 20px;margin:0 0 8px;padding:0;font-size:.9rem;list-style:none;display:flex}.prose ul.contact li{margin:0}.entry{margin-bottom:26px}.entry-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:2px 16px;display:flex}.prose h4{color:var(--fg);margin:0;font-size:1.05rem}.prose h4 a{color:var(--fg)}.when{color:var(--muted);white-space:nowrap;font-size:.8rem}.prose .where{color:var(--muted);margin:4px 0 8px;font-size:.9rem}.entry p:last-child{margin-bottom:0}.site-footer{text-align:center;font-family:var(--mono);padding-top:56px;padding-bottom:20px}.site-footer small{color:var(--muted);font-size:.75rem;display:block}@media (width>=900px){.container{max-width:880px}.tiles{grid-template-columns:repeat(3,1fr)}.tile{font-size:2.6rem}.cards{grid-template-columns:repeat(2,1fr)}}
