:root{--bg-primary: #1a1a1a;--bg-secondary: #222222;--bg-highlight: #2e2e2e;--text-primary: #f5f5f5;--text-secondary: #aaaaaa;--text-muted: #555555;--separator: #3a3a3a;--accent-purple: #a78bfa;--accent-green: #86efac;--accent-blue: #7dd3fc;--accent-amber: #fcd34d;--font-mono: "JetBrains Mono", "Cascadia Code", "Fira Code", monospace;--font-size-base: clamp(13px, 1.8vw, 15px);--line-height: 1.65;--terminal-h-pad: 2rem}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;background:var(--bg-primary);color:var(--text-primary);font-family:var(--font-mono);font-size:var(--font-size-base);line-height:var(--line-height);-webkit-font-smoothing:antialiased}@font-face{font-family:JetBrains Mono;src:url(/fonts/JetBrainsMono[wght].woff2) format("woff2");font-weight:100 800;font-style:normal;font-display:swap}.terminal{display:flex;flex-direction:column;height:100vh;max-width:900px;margin:0 auto;padding:1.5rem var(--terminal-h-pad) 0;overflow:hidden}.terminal__output{flex:1;overflow-y:auto;padding-bottom:.5rem;scrollbar-width:thin;scrollbar-color:var(--text-muted) transparent}.terminal__output::-webkit-scrollbar{width:4px}.terminal__output::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:2px}.terminal__line{white-space:pre-wrap;word-break:break-word;padding:.15rem 0}.terminal__line--command,.terminal__line--simulated{color:var(--accent-purple)}.terminal__line--output,.terminal__line--motd{color:var(--text-primary)}.terminal__line--html{white-space:normal;animation:fadeIn .2s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}.terminal__line--output.streaming:after,.terminal__line--motd.streaming:after{content:"█";color:var(--accent-purple);animation:cursor-blink 1s step-end infinite;margin-left:1px}@keyframes cursor-blink{0%,to{opacity:1}50%{opacity:0}}.terminal__output a{color:var(--accent-blue);text-decoration:none}.terminal__output a:hover{color:var(--accent-green);text-decoration:underline}.terminal__prompt-area{position:relative;flex-shrink:0;margin:0 calc(-1 * var(--terminal-h-pad));padding:0 var(--terminal-h-pad)}.terminal__suggestions{position:absolute;bottom:100%;left:0;right:0;background:var(--bg-secondary);border-top:1px solid var(--separator);border-left:1px solid var(--separator);border-right:1px solid var(--separator);z-index:10;padding:.3rem 0}.terminal__suggestion{display:flex;align-items:baseline;gap:1.5ch;padding:.3rem var(--terminal-h-pad);cursor:pointer}.terminal__suggestion:hover,.terminal__suggestion.active{background:var(--bg-highlight)}.terminal__suggestion__cmd{color:var(--accent-purple);min-width:12ch;flex-shrink:0}.terminal__suggestion.active .terminal__suggestion__cmd{color:var(--text-primary)}.terminal__suggestion__desc{color:var(--text-muted);font-size:.88em}.terminal__suggestion.active .terminal__suggestion__desc{color:var(--text-secondary)}.terminal__prompt-separator{height:1px;background:var(--separator)}.terminal__prompt-row{display:flex;align-items:flex-start;padding:.9rem 0;gap:.75rem}.terminal__prompt-prefix{color:var(--accent-purple);white-space:nowrap;user-select:none;padding-top:.08rem;flex-shrink:0}.terminal__input{flex:1;background:transparent;border:none;outline:none;color:var(--text-primary);font-family:var(--font-mono);font-size:var(--font-size-base);line-height:var(--line-height);caret-color:var(--accent-purple);resize:none;overflow:hidden;min-height:calc(var(--line-height) * 1em);padding:0}.terminal__input:disabled{opacity:.35;cursor:not-allowed}.blog-header,.blog-footer{color:var(--text-muted);font-size:.9em}.blog-footer{margin-top:.5rem}.blog-list{display:flex;flex-direction:column;gap:1.25rem;padding:.75rem 0}.blog-post{display:flex;gap:1rem;align-items:flex-start}.blog-post__num{color:var(--text-muted);min-width:2.5ch;font-size:.85em;padding-top:.15em;flex-shrink:0}.blog-post__body{flex:1;min-width:0}.blog-post__title{color:var(--accent-blue);text-decoration:none;display:block;word-break:break-word;font-weight:500}.blog-post__title:hover{color:var(--accent-green);text-decoration:underline}.blog-post__excerpt{color:var(--text-secondary);font-size:.88em;margin-top:.3rem;line-height:1.5;word-break:break-word}.blog-post__meta{color:var(--text-muted);font-size:.82em;margin-top:.2rem}.terminal__output .separator{color:var(--text-muted)}@media (max-width: 600px){:root{--terminal-h-pad: 1rem}.terminal{padding-top:1rem}:root{--font-size-base: 13px}}
