.page-layout{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:3.5rem;max-width:1080px;margin:0 auto;padding:2.5rem 2rem 6rem;align-items:start}@media(max-width:860px){.page-layout{grid-template-columns:1fr}.toc-col{display:none}}.go-back{font-family:Andale Mono,monospace;font-size:12px;color:#e6b450;opacity:.5;background:none;border:none;cursor:pointer;margin-bottom:1.75rem;display:block;transition:opacity .15s;letter-spacing:.04em}.go-back:hover{opacity:1}.post-title{font-size:2rem;font-weight:700;color:#f5ccd4;line-height:1.2;letter-spacing:-.02em;margin-bottom:.5rem}.post-meta{font-family:Andale Mono,monospace;font-size:11px;color:#3a3a4a;letter-spacing:.08em;display:flex;gap:.5rem;margin-bottom:1.5rem}.neon-rule{height:1px;background:linear-gradient(to right,#e6b450 0%,#bf5fff 45%,transparent 100%);box-shadow:0 0 10px #e6b45080,0 0 20px #bf5fff33;margin-bottom:2.5rem}.toc-col{position:sticky;top:2rem}.toc-header{font-family:Andale Mono,monospace;font-size:10px;color:#3a3a4a;letter-spacing:.12em;text-transform:uppercase;margin-bottom:.75rem}#toc-nav{display:flex;flex-direction:column;gap:2px}.toc-link{font-family:Andale Mono,monospace;font-size:12px;color:#505070;text-decoration:none;padding:3px 0 3px 10px;border-left:1px solid #1a1f29;line-height:1.4;transition:color .15s,border-color .15s;display:block}.toc-link:hover{color:#a0a0c0}.toc-link.active{color:#e6b450;border-left-color:#e6b450}.toc-h1{padding-left:10px;font-size:12px;color:#707090}.toc-h2{padding-left:22px;font-size:11px}.toc-h3{padding-left:34px;font-size:11px;color:#404060}.post-body p{color:#9a9ab0;font-size:15.5px;line-height:1.85;margin-bottom:1.2rem}.post-body strong{color:#d0d0e0}.post-body a{color:#e6b450;text-decoration:underline;text-underline-offset:3px}.post-body h1{font-size:1.7rem;font-weight:700;color:#f5ccd4;margin:2.5rem 0 .75rem}.post-body h2{font-size:1.2rem;font-weight:600;color:#e6b450;margin:2.25rem 0 .6rem}.post-body h3{font-size:1rem;font-weight:600;color:#c9def4;margin:1.75rem 0 .5rem}.post-body ul,.post-body ol{color:#9a9ab0;line-height:1.85;padding-left:1.4rem;margin-bottom:1.2rem}.post-body ul{list-style-type:disc}.post-body ol{list-style-type:decimal}.post-body li{margin-bottom:.25rem}.post-body ul li::marker{color:#e6b450}.post-body ol li::marker{color:#e6b450;font-family:Andale Mono,monospace;font-size:.85em}.post-body blockquote{border-left:2px solid #e6b45055;background:#e6b45008;padding:.75rem 1.1rem;margin:1.75rem 0;border-radius:0 4px 4px 0}.post-body blockquote p{color:#555570;font-style:italic;margin:0}.post-body hr{border:none;height:1px;background:linear-gradient(to right,#e6b45022,#bf5fff22);margin:2rem 0}.post-body :not(pre)>code{background:#0d1017;border:1px solid #1f2430;border-radius:3px;padding:1px 6px;font-family:Andale Mono,monospace;font-size:.85em;color:#e6b450}pre.astro-code{position:relative;background:#0b0e14!important;border-radius:10px;border:1px solid #1a1f2e;box-shadow:0 0 0 1px #ffffff05,0 16px 48px #0009;margin:1.75rem 0;padding:0;overflow:hidden}pre.astro-code:before{content:attr(data-filename);display:block;background:#0d1017;color:#e6b450;font-family:Andale Mono,monospace;font-size:12px;padding:8px 14px 7px;border-bottom:1px solid #1a1f2e;text-shadow:none;letter-spacing:.02em;box-shadow:inset 0 -2px #e6b450}pre.astro-code:after{content:"⊘ 0  △ 0                      " attr(data-language);display:block;background:#0d1017;color:#2a3040;font-family:Andale Mono,monospace;font-size:10px;padding:4px 12px;border-top:1px solid #1a1f2e;text-transform:uppercase;letter-spacing:.08em;text-align:right}pre.astro-code code{display:block;padding:1.1rem 1.25rem;overflow-x:auto;font-family:Andale Mono,monospace;font-size:13px;line-height:1.7;background:transparent!important}.copy-btn{position:absolute;top:calc(34px + .6rem);right:.75rem;font-family:Andale Mono,monospace;font-size:10px;letter-spacing:.08em;color:#505070;background:#0d1017;border:1px solid #1a1f2e;border-radius:4px;padding:3px 8px;cursor:pointer;transition:color .15s,border-color .15s,opacity .15s;opacity:0;z-index:10}pre.astro-code:hover .copy-btn{opacity:1}.copy-btn:hover{color:#e6b450;border-color:#e6b45055}.copy-btn--done{color:#76c490!important;border-color:#76c49055!important;opacity:1!important}@media(max-width:860px){.copy-btn{opacity:1}}
