.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}:root,html,body{--bg-color: #000000;--text-color: #00b845;--text-body: rgba(0, 184, 69, .86);--text-strong: #14c454;--text-muted: rgba(0, 184, 69, .69);--text-soft: rgba(0, 184, 69, .58);--bg-muted: rgba(0, 184, 69, .14);--bg-soft: rgba(0, 184, 69, .05);--bg-softer: rgba(0, 184, 69, .03);--border-subtle: rgba(0, 184, 69, .11);--border-default: rgba(0, 184, 69, .18);--border-strong: rgba(0, 184, 69, .26);--content-width: 720px;--font-mono: ui-monospace, "Cascadia Code", "Source Code Pro", "Menlo", "Monaco", "Consolas", monospace}*{box-sizing:border-box;font-family:inherit}html{background-color:var(--bg-color);font-family:var(--font-mono)}body{background-color:var(--bg-color);color:var(--text-color);font-family:var(--font-mono);margin:0;padding:0;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--text-color);text-decoration:none;transition:color .2s ease,border-color .2s ease,background-color .2s ease,text-shadow .2s ease}a:hover{background-color:var(--bg-muted);text-shadow:0 0 5px rgba(0,184,69,.24)}.container{max-width:var(--content-width);margin:0 auto;padding:5rem 2rem}header{border-bottom:1px solid rgba(0,184,69,.19);padding-bottom:2rem;margin-bottom:4rem}.logo{font-size:1.2rem;font-weight:700;letter-spacing:1px}.category-nav{margin-top:2rem;display:flex;flex-wrap:wrap;gap:1.2rem;font-size:.85rem}.category-link{padding:.2rem .6rem;border:1px transparent solid;color:var(--text-muted)}.category-link:hover,.category-link.active{color:var(--text-color);border-color:var(--border-strong)}.post-list{list-style:none;padding:0;margin:0}.post-item{display:flex;align-items:baseline;margin-bottom:1.2rem}.post-date{font-size:.8rem;color:var(--text-muted);width:110px;flex-shrink:0}.post-title{flex-grow:1;font-size:1.05rem}.post-content{margin-top:3rem;color:var(--text-body);font-size:1.03rem;line-height:1.82;word-break:break-word}.post-content>:first-child{margin-top:0}.post-content>:last-child{margin-bottom:0}.post-content p,.post-content ul,.post-content ol,.post-content blockquote,.post-content pre,.post-content hr{margin-top:0;margin-bottom:1.6rem}.post-content p{color:var(--text-body)}.post-content li p{margin-bottom:.8rem}.post-content strong{color:var(--text-strong);font-weight:700}.post-content em{color:#14c454eb;font-style:italic}.post-content del{color:var(--text-soft);text-decoration-thickness:1px}.post-content mark{color:var(--text-color);background:#00b8451f;padding:.06rem .3rem;border-radius:2px}.post-content a{color:var(--text-strong);border-bottom:1px solid rgba(20,196,84,.26);background-color:transparent}.post-content a:hover{color:#38d76f;border-bottom-color:#38d76f8f;background-color:#00b8450f;text-shadow:none}.post-content a code{color:inherit}.post-content h1,.post-content h2,.post-content h3,.post-content h4,.post-content h5,.post-content h6{color:var(--text-color);font-weight:700;line-height:1.35;letter-spacing:.01em;margin-top:3.2rem;margin-bottom:1.1rem}.post-content h1{font-size:2rem;line-height:1.22;margin-top:0;margin-bottom:1.6rem;padding-bottom:.8rem;border-bottom:1px solid var(--border-default)}.post-content h2{font-size:1.55rem;padding-bottom:.55rem;border-bottom:1px solid var(--border-subtle)}.post-content h3{font-size:1.24rem;color:#19c956}.post-content h4{font-size:1.08rem;color:#19c956}.post-content h5,.post-content h6{font-size:.98rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em}.post-content h2+p,.post-content h3+p,.post-content h4+p,.post-content h5+p,.post-content h6+p{margin-top:0}.post-content :not(pre)>code{background-color:#00b84514!important;border:1px solid rgba(0,184,69,.12)!important;color:var(--text-strong);padding:.08rem .38rem;border-radius:3px;font-size:.92em;font-family:var(--font-mono);white-space:normal}.post-content pre{background-color:transparent!important;border:1px solid rgba(0,184,69,.12)!important;padding:1.35rem 1.35rem 1.25rem;overflow-x:auto;border-radius:2px;margin:2.4rem 0;position:relative;line-height:1.7}.post-content pre[data-language]:after{display:none}.post-content pre code{background-color:transparent!important;border:none!important;color:var(--text-color);padding:0;font-size:.95em;font-family:var(--font-mono);white-space:pre}.post-content pre[data-language=ascii],.post-content pre[data-language=diagram]{border:none!important;background:transparent!important;box-shadow:none!important;padding:0!important;margin:2.3rem auto!important;width:fit-content;max-width:100%;overflow-x:auto;line-height:1.45;text-align:left}.post-content pre[data-language=ascii] code,.post-content pre[data-language=diagram] code{color:#00b845c7;display:block;width:fit-content;min-width:100%;font-size:.94em;line-height:1.45;white-space:pre}.post-content pre[data-language=ascii] .ascii-label,.post-content pre[data-language=diagram] .ascii-label{color:#00ca50fa}.copy-button{position:absolute;top:.5rem;right:.5rem;background:transparent;color:#00b8456b;border:1px solid rgba(0,184,69,.12);padding:.2rem .6rem;font-size:.7rem;font-family:var(--font-mono);cursor:pointer;transition:all .2s ease;z-index:10}.post-content pre[data-language=ascii] .copy-button,.post-content pre[data-language=diagram] .copy-button{display:none!important}.copy-button:hover{color:var(--text-color);border-color:#00b84566;background:#00b8450f}.copy-button.success{color:#fff;border-color:var(--text-color)}.post-content pre::-webkit-scrollbar{height:4px}.post-content pre::-webkit-scrollbar-thumb{background:#00b84529}.post-content pre::-webkit-scrollbar-thumb:hover{background:#00b84552}.post-content ul,.post-content ol{padding-left:1.6rem}.post-content ul{list-style-type:square}.post-content ol{list-style-type:decimal}.post-content li{margin-bottom:.55rem;color:var(--text-body)}.post-content li::marker{color:var(--text-muted)}.post-content ul ul,.post-content ul ol,.post-content ol ul,.post-content ol ol{margin-top:.65rem;margin-bottom:.65rem;padding-left:1.3rem}.post-content ul ul{list-style-type:"–  "}.post-content ul ul ul{list-style-type:"·  "}.post-content ol ol{list-style-type:lower-alpha}.post-content ol ol ol{list-style-type:lower-roman}.post-content blockquote{border-left:2px solid rgba(0,184,69,.28);background:#00b8450a;color:#00b845cc;padding:.85rem 1rem;margin-left:0;margin-right:0}.post-content blockquote>:last-child{margin-bottom:0}.post-content table{width:auto;max-width:100%;border-collapse:collapse;display:inline-table;overflow-x:auto;margin:0 0 1.8rem;border:none;background:transparent}.post-content td{word-break:break-word;white-space:normal;max-width:45ch}.post-content thead{background:transparent}.post-content tr{border-bottom:1px solid rgba(0,184,69,.12)}.post-content thead tr:first-child{border-top:1px solid rgba(0,184,69,.12)}.post-content th,.post-content td{text-align:left;padding:.45rem .85rem .45rem .65rem;border:none;position:relative}.post-content th:not(:last-child):after,.post-content td:not(:last-child):after{content:"|";color:#00b84557;position:absolute;right:-.15rem;top:50%;transform:translateY(-50%);pointer-events:none}.post-content th{color:var(--text-strong);font-weight:700}.post-content td{color:var(--text-body)}.post-content tbody tr:hover{background:transparent}.post-content hr{border:0;border-top:1px solid rgba(0,184,69,.12);margin:2.6rem 0}.post-content img{display:block;max-width:100%;height:auto;margin:2rem 0;border:1px solid rgba(0,184,69,.1);border-radius:2px}.post-content kbd{display:inline-block;padding:.08rem .4rem;border:1px solid rgba(0,184,69,.18);background:#00b84512;color:var(--text-strong);border-radius:3px;font-size:.9em;line-height:1.4}.post-content abbr{text-decoration:underline dotted rgba(0,184,69,.4);text-underline-offset:.15em}.post-content sup,.post-content sub{color:var(--text-muted)}footer{margin-top:6rem;border-top:1px solid rgba(0,184,69,.11);padding-top:2rem}footer a{font-size:.85rem;color:var(--text-muted)}footer a:hover{color:var(--text-color)}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:#000}::-webkit-scrollbar-thumb{background:#00b84533}::-webkit-scrollbar-thumb:hover{background:#00b84559}@media(max-width:720px){.container{padding:3rem 1.2rem}header{margin-bottom:3rem}.post-item{flex-direction:column;gap:.25rem}.post-date{width:auto}.post-content{margin-top:2.4rem;font-size:1rem;line-height:1.78}.post-content h1{font-size:1.7rem}.post-content h2{font-size:1.35rem}.post-content h3{font-size:1.14rem}.post-content ul,.post-content ol{padding-left:1.25rem}.post-content th,.post-content td{padding:.4rem .7rem .4rem .55rem}.post-content pre{padding:1.1rem 1rem 1rem}.post-content pre[data-language=ascii],.post-content pre[data-language=diagram]{margin:2rem auto!important;width:100%}.post-content pre[data-language=ascii] code,.post-content pre[data-language=diagram] code{min-width:fit-content}}@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media(prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}[data-astro-transition-scope]{animation:none!important}}
