*{box-sizing:border-box}body{margin:0;font-family:'Fira Mono', 'Consolas', 'Menlo', 'Monaco', 'Liberation Mono', monospace;background:#181a20;color:#b6ffb0;line-height:1.65}a{color:#f0c;text-decoration:none;transition:color 0.2s}a:hover{color:#00fff7;text-shadow:0 0 6px #00fff7}h1{font-size:1.4rem}h2{font-size:1.25rem}h3{font-size:1.1rem}.site-shell{max-width:920px;margin:1rem auto;padding:1.5rem 1rem 3rem;position:relative;z-index:1;background:rgba(0,0,0,0.85);border:1px solid #f0c;overflow-x:auto;box-shadow:0 0 16px 0 #f0c;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:12px}.site-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-bottom:1px solid #2e2e38;padding-bottom:1rem;margin-bottom:1.5rem;box-shadow:0 2px 12px 0 rgba(57,255,20,0.04)}.brand{font-size:1.1rem;font-weight:700;color:#39ff14;font-family:'Fira Mono', 'Consolas', monospace;letter-spacing:0.04em;text-shadow:0 0 8px #39ff14,0 0 2px #f0c}.site-nav{display:flex;gap:0.75rem;flex-wrap:wrap}.content h1,.content h2,.content h3{line-height:1.25;color:#39ff14;font-family:'Fira Mono', 'Consolas', monospace;font-weight:400}.content h1{margin-top:0.4rem}.content ul{padding-left:1.2rem}.content li{margin:0.55rem 0}.post,.content>ul>li,.content blockquote{border:1px solid #f0c;border-radius:10px}.content>ul>li{list-style:none;margin-left:-1.2rem;padding:0.9rem 1rem}.post{padding:1.1rem 1.1rem 0.4rem}.post-meta{color:#6fcf97;font-family:'Fira Mono', 'Consolas', monospace;margin-top:-0.3rem;margin-bottom:1.2rem}.tag{margin-right:0.25em;color:#f0c;font-weight:600}.category-overview{display:flex;flex-wrap:wrap;gap:0.55rem;margin:0.3rem 0 1.2rem}.category-pill{display:inline-flex;align-items:center;gap:0.25rem;padding:0.32rem 0.62rem;border-radius:999px;border:1px solid #2e2e38;background:#23272e;color:#39ff14;border:1px solid #f0c;font-family:'Fira Mono', 'Consolas', monospace;font-size:0.92rem}.category-pill span{color:#6fcf97}.back-to-top{margin:0.8rem 0 0.2rem;font-size:1.1rem;font-weight:700;color:#39ff14;font-family:'Fira Mono', 'Consolas', monospace;letter-spacing:0.04em;position:relative}.blinking-cursor{display:inline-block;margin-left:0.2em;color:#f0c;font-weight:700;font-size:1.1em;animation:blink-cursor 1s steps(1) infinite;vertical-align:baseline;text-shadow:0 0 6px #f0c}@keyframes blink-cursor{0%, 49%{opacity:1}50%, 100%{opacity:0}}code{font-family:'Fira Mono', 'Consolas', 'Menlo', 'Monaco', 'Liberation Mono', monospace;font-size:0.98em;color:#00fff7;border-radius:4px;padding:0.1em 0.3em}pre,.highlight{background:#101214;border:1px solid #39ff14;border-radius:8px;overflow-x:auto}pre{padding:0.9rem}.highlight pre{margin:0;padding:0.9rem;border:0}.code-block-wrap{position:relative}.code-block-wrap .copy-code-btn{position:absolute;right:0.55rem;top:0.55rem;z-index:2;border:1px solid #39ff14;background:#23272e;color:#39ff14;border-radius:6px;font-size:0.78rem;padding:0.18rem 0.52rem;cursor:pointer;font-family:'Fira Mono', 'Consolas', monospace;text-shadow:0 0 2px #39ff14;transition:background 0.2s, color 0.2s}.code-block-wrap .copy-code-btn:hover{background:#39ff14}.code-block-wrap .copy-code-btn:hover{color:#181a20;border-color:#39ff14}blockquote{margin:1rem 0;padding:0.8rem 1rem;border-left:3px solid #39ff14}.site-footer{border-top:1px solid #2e2e38;margin-top:2rem;padding-top:0.7rem;color:#6fcf97}.highlight .hll{background-color:#49483e}.highlight{color:#f8f8f2}.highlight .c{color:#75715e}.highlight .err{color:#960050;background-color:#1e0010}.highlight .k{color:#66d9ef}.highlight .l{color:#ae81ff}.highlight .n{color:#f8f8f2}.highlight .o{color:#f92672}.highlight .p{color:#f8f8f2}.highlight .ch{color:#75715e}.highlight .cm{color:#75715e}.highlight .cp{color:#75715e}.highlight .cpf{color:#75715e}.highlight .c1{color:#75715e}.highlight .cs{color:#75715e}.highlight .gd{color:#f92672}.highlight .ge{font-style:italic}.highlight .gi{color:#a6e22e}.highlight .gs{font-weight:bold}.highlight .gu{color:#75715e}.highlight .kc{color:#66d9ef}.highlight .kd{color:#66d9ef}.highlight .kn{color:#f92672}.highlight .kp{color:#66d9ef}.highlight .kr{color:#66d9ef}.highlight .kt{color:#66d9ef}.highlight .ld{color:#e6db74}.highlight .m{color:#ae81ff}.highlight .s{color:#e6db74}.highlight .na{color:#a6e22e}.highlight .nb{color:#f8f8f2}.highlight .nc{color:#a6e22e}.highlight .no{color:#66d9ef}.highlight .nd{color:#a6e22e}.highlight .ni{color:#f8f8f2}.highlight .ne{color:#a6e22e}.highlight .nf{color:#a6e22e}.highlight .nl{color:#f8f8f2}.highlight .nn{color:#f8f8f2}.highlight .nx{color:#a6e22e}.highlight .py{color:#f8f8f2}.highlight .nt{color:#f92672}.highlight .nv{color:#f8f8f2}.highlight .ow{color:#f92672}.highlight .w{color:#f8f8f2}.highlight .mb{color:#ae81ff}.highlight .mf{color:#ae81ff}.highlight .mh{color:#ae81ff}.highlight .mi{color:#ae81ff}.highlight .mo{color:#ae81ff}.highlight .sa{color:#e6db74}.highlight .sb{color:#e6db74}.highlight .sc{color:#e6db74}.highlight .dl{color:#e6db74}.highlight .sd{color:#e6db74}.highlight .s2{color:#e6db74}.highlight .se{color:#ae81ff}.highlight .sh{color:#e6db74}.highlight .si{color:#e6db74}.highlight .sx{color:#e6db74}.highlight .sr{color:#e6db74}.highlight .s1{color:#e6db74}.highlight .ss{color:#e6db74}.highlight .bp{color:#f8f8f2}.highlight .fm{color:#a6e22e}.highlight .vc{color:#f8f8f2}.highlight .vg{color:#f8f8f2}.highlight .vi{color:#f8f8f2}.highlight .vm{color:#f8f8f2}.highlight .il{color:#ae81ff}.scene{position:fixed;inset:0;width:100%;height:100%;overflow:hidden;background:radial-gradient(circle at 20% 0%, #0a0a14 0, #000 70%);z-index:0;pointer-events:none}.bg-controls{position:fixed;right:0.85rem;bottom:0.85rem;z-index:8;display:flex;align-items:center;gap:0.42rem;pointer-events:auto}.freeze-toggle{position:relative;z-index:1;width:1.2rem;height:1.2rem;padding:0;border-radius:999px;border:1px solid rgba(0,242,254,0.5);background:radial-gradient(circle, rgba(0,242,254,0.42) 0%, rgba(0,242,254,0.18) 45%, rgba(0,242,254,0.02) 100%);color:rgba(0,242,254,0.9);opacity:0.2;pointer-events:auto;cursor:pointer;box-shadow:0 0 8px rgba(0,242,254,0.24),inset 0 0 6px rgba(0,242,254,0.18);transition:opacity 0.2s ease, transform 0.2s ease;isolation:isolate}.density-slider-wrap{display:inline-flex;align-items:center;gap:0.3rem;padding:0.2rem 0.38rem;border-radius:999px;border:1px solid rgba(0,242,254,0.35);background:rgba(0,10,14,0.28);box-shadow:0 0 8px rgba(0,242,254,0.15),inset 0 0 6px rgba(0,242,254,0.1);opacity:0.24;transition:opacity 0.2s ease}.density-slider-wrap:hover,.density-slider-wrap:focus-within{opacity:0.72}.density-slider{width:4.4rem;height:0.2rem;margin:0;accent-color:#00f2fe}.density-slider-value{min-width:2.2rem;font-family:'Fira Mono', 'Consolas', monospace;font-size:0.66rem;color:rgba(0,242,254,0.9);letter-spacing:0.02em}.freeze-toggle:hover,.freeze-toggle:focus-visible{opacity:0.72;transform:translateY(-0.5px)}.freeze-toggle .freeze-glyph{display:none}.freeze-toggle::after{content:"";position:absolute;inset:-0.35rem;border-radius:999px;border:1px solid rgba(0,242,254,0.45);opacity:0;transform:scale(0.65);pointer-events:none}.freeze-toggle:hover::after,.freeze-toggle:focus-visible::after{animation:cyan-pulse 1.05s ease-out infinite}.freeze-toggle[aria-pressed="false"]{opacity:0.36}@keyframes cyan-pulse{0%{opacity:0.55;transform:scale(0.72)}100%{opacity:0;transform:scale(1.38)}}.animations-frozen .particle,.animations-frozen .blinking-cursor{animation-play-state:paused !important}.bg-layer{position:absolute;inset:0;width:100%;height:100%}.nebula-layer{z-index:0;opacity:0.8}.constellation-layer{z-index:1;opacity:0.85}.particle{position:absolute;width:6px;height:6px;border-radius:50%;background:radial-gradient(circle, #fff 0, #0ff 40%, transparent 70%);box-shadow:0 0 8px rgba(0,255,255,0.9),0 0 16px rgba(0,255,255,0.7);opacity:0.8;animation:float 18s linear infinite}.particle:nth-child(3n){background:radial-gradient(circle, #fff 0, #ff6bcb 40%, transparent 70%);box-shadow:0 0 8px rgba(255,107,203,0.9),0 0 16px rgba(255,107,203,0.7);animation-duration:26s}.particle:nth-child(4n){background:radial-gradient(circle, #fff 0, #00f2fe 40%, transparent 70%);box-shadow:0 0 8px rgba(0,242,254,0.9),0 0 16px rgba(0,242,254,0.7);animation-duration:32s}@keyframes float{0%{transform:translate3d(0, 0, 0) scale(1);opacity:0.2}20%{opacity:0.9}50%{transform:translate3d(40px, -120px, 0) scale(1.2)}100%{transform:translate3d(-40px, -260px, 0) scale(0.8);opacity:0.1}}.wave-wrap{position:absolute;bottom:0;left:0;width:100%;height:20vh;overflow:hidden;z-index:2}.wave-wrap svg{width:100%;height:100%;display:block;filter:drop-shadow(0 0 28px rgba(0,255,255,0.8)) drop-shadow(0 0 54px rgba(255,107,203,0.5))}
