.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}.skip-link{position:absolute;top:-100%;left:1rem;padding:.5rem 1rem;background:rgb(var(--color-accent));color:#fff;border-radius:0 0 .25rem .25rem;font-size:.85rem;text-decoration:none;z-index:200}.skip-link:focus{top:0}:root{--font-body: "IBM Plex Mono", "JetBrains Mono", "Fira Code", monospace;--color-fill: 251, 254, 251;--color-text: 40, 39, 40;--color-accent: 0, 108, 172;--color-muted: 120, 120, 120;--color-card: 240, 240, 240;--color-border: 220, 220, 220;--max-width: 48rem}[data-theme=dark]{--color-fill: 17, 17, 21;--color-text: 220, 224, 232;--color-accent: 255, 120, 20;--color-muted: 145, 150, 165;--color-card: 28, 28, 35;--color-border: 45, 48, 58}*{box-sizing:border-box;margin:0;padding:0}*:focus-visible{outline:2px solid rgb(var(--color-accent));outline-offset:2px}html{font-family:var(--font-body);font-size:16px;font-variant-numeric:tabular-nums;background:rgb(var(--color-fill));color:rgb(var(--color-text));line-height:1.7}html.theme-ready{transition:background-color .3s ease,color .3s ease}body{max-width:var(--max-width);margin:0 auto;padding:2rem 1.5rem}::selection{background:rgba(var(--color-accent),.25)}header{margin-bottom:3rem}nav{display:flex;align-items:center;justify-content:space-between;padding-bottom:1.5rem;border-bottom:1px solid rgba(var(--color-border),.6)}.site-title{font-weight:700;font-size:1.25rem;text-decoration:none;color:rgb(var(--color-text));transition:color .15s ease}.site-title:hover{color:rgb(var(--color-accent))}.nav-toggle{display:none;background:none;border:none;cursor:pointer;color:rgb(var(--color-text));padding:.25rem}.nav-links{display:flex;align-items:center;gap:1.25rem}.nav-links a{color:rgb(var(--color-text));text-decoration:none;font-size:.9rem;font-weight:500;text-underline-offset:.25rem;transition:color .15s ease}.nav-links a:hover{color:rgb(var(--color-accent))}.nav-links a.active{color:rgb(var(--color-accent));text-decoration:underline;text-decoration-style:wavy;text-underline-offset:.25rem}.theme-toggle{background:none;border:none;cursor:pointer;color:rgb(var(--color-text));padding:.25rem;display:grid;place-items:center;transition:color .15s ease,transform .15s ease}.theme-toggle svg{grid-area:1 / 1}.theme-toggle:hover{color:rgb(var(--color-accent));transform:rotate(15deg)}main{min-height:65vh;animation:fade-in .3s ease-out}@keyframes fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){main{animation:none}html.theme-ready{transition:none}}footer{margin-top:4rem;padding-top:1.5rem;border-top:1px solid rgba(var(--color-border),.6)}.footer-content{display:flex;justify-content:space-between;align-items:center;color:rgb(var(--color-muted));font-size:.8rem}.social-links{display:flex;align-items:center;gap:.75rem}.social-links a{color:rgb(var(--color-muted));text-decoration:none;display:flex;align-items:center;transition:color .15s ease}.social-links a:hover,a{color:rgb(var(--color-accent))}h1,h2,h3,h4{line-height:1.35;margin-bottom:.5rem;font-weight:600}h1{font-size:1.75rem;letter-spacing:-.01em}h2{font-size:1.35rem}h3{font-size:1.15rem}p{margin-bottom:1rem}code{font-family:var(--font-body);background:rgba(var(--color-card),.8);border:1px solid rgba(var(--color-border),.3);padding:.1rem .35rem;border-radius:.25rem;font-size:.9em}pre{padding:1rem;border-radius:.5rem;border:1px solid rgba(var(--color-border),.4);overflow-x:auto;margin-bottom:1.25rem;font-size:.85rem}pre code{background:none;border:none;padding:0}pre::-webkit-scrollbar{height:6px}pre::-webkit-scrollbar-track{background:transparent}pre::-webkit-scrollbar-thumb{background:rgba(var(--color-border),.5);border-radius:3px}hr{border:none;border-top:1px solid rgba(var(--color-border),.6);margin:2rem 0}.post-card{display:block;text-decoration:none;color:inherit;padding:1.25rem 0;border-bottom:1px solid rgba(var(--color-border),.4);border-left:2px solid transparent;transition:border-left-color .15s ease,padding-left .15s ease}.post-card:last-child{border-bottom:none}.post-card:hover{padding-left:.75rem;border-left-color:rgb(var(--color-accent))}.post-card:hover .post-title{color:rgb(var(--color-accent))}.post-title{font-size:1.1rem;font-weight:600;margin-bottom:.2rem;text-decoration:underline;text-decoration-style:dashed;text-underline-offset:.25rem;text-decoration-color:rgba(var(--color-accent),.4);transition:color .15s ease}.post-meta{font-size:.8rem;color:rgb(var(--color-muted));margin-bottom:.25rem}.post-description{font-size:.85rem;color:rgb(var(--color-muted));margin:0}.tag{display:inline-block;font-size:.7rem;padding:.1rem .5rem;background:rgba(var(--color-card),.8);border-radius:1rem;color:rgb(var(--color-muted));text-decoration:none;transition:color .15s ease,background .15s ease}.tag:hover{color:rgb(var(--color-accent));background:rgba(var(--color-accent),.1)}.post-card .tag{pointer-events:none}.post-card .tag:hover{color:rgb(var(--color-muted));background:rgba(var(--color-card),.8)}.tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.5rem}.back-link{font-size:.85rem;text-decoration:none;color:rgb(var(--color-muted));display:inline-block;margin-bottom:1.5rem}.back-link:hover{color:rgb(var(--color-accent))}.subtitle{color:rgb(var(--color-muted));font-size:.85rem;margin-bottom:1rem}@media(max-width:640px){body{padding:2rem 1rem}h1{font-size:1.4rem}.nav-toggle{display:flex;align-items:center}.nav-links{display:none;position:absolute;top:100%;left:0;right:0;background:rgb(var(--color-fill));border-bottom:1px solid rgba(var(--color-border),.6);padding:1rem 1.5rem;flex-direction:column;align-items:flex-start;gap:.75rem;z-index:100}.nav-links.open{display:flex}nav{position:relative}.footer-content{flex-direction:column;gap:.5rem}}
