:root{color-scheme:dark;--background: #030306;--foreground: #e6dcc5;--muted: #8ea08a;--green: #33ff66;--amber: #ffd95a;--cyan: #60d9ff;--magenta: #ff6ad5;--red: #ff5c57;--border: rgba(230, 220, 197, .25);--surface: rgba(3, 3, 6, .82);--terminal-background: linear-gradient(rgba(51, 255, 102, .025) 50%, rgba(0, 0, 0, .04) 50%) 0 0 / 100% 4px, radial-gradient(circle at 12% 18%, rgba(96, 217, 255, .08), transparent 28rem), radial-gradient(circle at 88% 80%, rgba(255, 217, 90, .07), transparent 24rem), var(--background);--terminal-font: "Cascadia Code", "SFMono-Regular", Consolas, "Liberation Mono", monospace}*{box-sizing:border-box}html,body{min-height:100%;margin:0;background:var(--background);color:var(--foreground);font-family:var(--terminal-font)}body{overflow:hidden}a{color:inherit}::selection{background:var(--foreground);color:var(--background)}.page-shell{min-height:100vh;background:var(--terminal-background)}.terminal-container{width:100vw;height:100vh;overflow:auto;scrollbar-color:var(--foreground) transparent;scrollbar-width:thin}.terminal-container::-webkit-scrollbar{width:10px;height:10px}.terminal-container::-webkit-scrollbar-thumb{background:var(--foreground)}.terminal-content{min-width:100%;width:max-content;min-height:100%;padding:clamp(1.25rem,5vw,3.5rem);padding-left:clamp(1.25rem,6vw,5rem);padding-bottom:8rem;color:var(--foreground);font-size:var(--terminal-size, 16px);line-height:1.22;tab-size:4;white-space:pre-wrap;word-break:normal;overflow-wrap:normal}.terminal-content,.terminal-content *{font-family:var(--terminal-font);font-size:var(--terminal-size, 16px);letter-spacing:0}.terminal-link{color:var(--green);text-decoration:underline;text-underline-offset:.18em}.terminal-link:hover{color:var(--amber)}.terminal-cursor{display:inline-block;width:.58em;height:1.08em;margin-left:.1em;background:var(--green);vertical-align:-.18em;animation:cursor-blink 1s step-start infinite}.terminal-input{min-width:2ch;outline:none;color:var(--foreground)}.terminal-line{display:inline}.prompt,.ansi-green{color:var(--green)}.ansi-amber{color:var(--amber)}.ansi-cyan{color:var(--cyan)}.ansi-magenta{color:var(--magenta)}.ansi-red{color:var(--red)}.ansi-muted{color:var(--muted)}.site-menu{position:fixed;top:1rem;right:1rem;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.35rem .75rem;align-items:center;z-index:10;max-width:min(30rem,calc(100vw - 2rem));padding:.55rem .7rem;background:var(--surface);border:1px solid var(--border);backdrop-filter:blur(8px)}.site-menu a,.language-switch button{color:var(--foreground);background:transparent;border:0;padding:0;text-decoration:none;font-size:.9rem;line-height:1.2;font-family:var(--terminal-font);cursor:pointer}.site-menu a:hover,.site-menu a[aria-current=page],.language-switch button:hover,.language-switch button[aria-pressed=true]{color:var(--green)}.nav-separator{color:var(--muted)}.nav-group,.language-switch{display:inline-flex;gap:.35rem;color:var(--muted);line-height:1.2}.language-switch{padding-left:.75rem;border-left:1px solid var(--border)}.blog-page{min-height:100vh;height:100vh;overflow:auto;padding:clamp(1.25rem,5vw,4rem);padding-top:clamp(5rem,9vw,6rem);padding-bottom:5rem;background:var(--terminal-background)}.blog-main{max-width:78ch;margin:0 auto}.blog-main h1,.blog-main h2,.blog-main p{margin-top:0}.blog-main h1{color:var(--green)}.blog-main a{color:var(--cyan)}.about-avatar{display:block;width:min(11rem,42vw);aspect-ratio:1;object-fit:cover;margin:0 0 1.5rem;border:1px solid var(--border);filter:grayscale(1) contrast(1.08)}.social-links{display:flex;flex-wrap:wrap;gap:.5rem 1rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border)}.site-footer{position:fixed;right:1rem;bottom:1rem;z-index:8;max-width:min(34rem,calc(100vw - 2rem));color:var(--muted);font-size:.78rem;text-align:right;pointer-events:none}.site-footer p{margin:0}.site-footer a{color:var(--muted);text-decoration:none;pointer-events:auto}.site-footer a:hover{color:var(--green);text-decoration:underline}.post-list{display:grid;gap:1rem;padding:0;list-style:none}.post-card{border-top:1px solid var(--border);padding-top:1rem}.post-meta{color:var(--muted);font-size:.92rem}.tag-list{display:flex;flex-wrap:wrap;gap:.5rem;padding:0;list-style:none}.tag-list li{color:var(--amber)}@keyframes cursor-blink{50%{background:transparent}}@media (prefers-reduced-motion: reduce){.terminal-cursor{animation:none}}@media (max-width: 640px){body{overflow:auto}.terminal-content{width:100%;min-width:0;padding-top:5.5rem;font-size:var(--terminal-size, 14px)}.site-menu{left:1rem}}
