@import "https://fonts.googleapis.com/css2?family=JetBrains+Mono:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,400&family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&display=swap";:root{--font-sans:"Plus Jakarta Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--ctp-rosewater:#f5e0dc;--ctp-flamingo:#f2cdcd;--ctp-pink:#f5c2e7;--ctp-mauve:#cba6f7;--ctp-red:#f38ba8;--ctp-maroon:#eba0ac;--ctp-peach:#fab387;--ctp-yellow:#f9e2af;--ctp-green:#a6e3a1;--ctp-teal:#94e2d5;--ctp-sky:#89dceb;--ctp-sapphire:#74c7ec;--ctp-blue:#89b4fa;--ctp-lavender:#b4befe;--ctp-text:#cdd6f4;--ctp-subtext1:#bac2de;--ctp-subtext0:#a6adc8;--ctp-overlay2:#9399b2;--ctp-overlay1:#7f849c;--ctp-overlay0:#6c7086;--ctp-surface2:#585b70;--ctp-surface1:#45475a;--ctp-surface0:#313244;--ctp-base:#1e1e2e;--ctp-mantle:#181825;--ctp-crust:#11111b;--bg:var(--ctp-base);--bg-surface:var(--ctp-mantle);--bg-card:#1e1e2ee0;--bg-card-hover:#313244f2;--bg-terminal-header:var(--ctp-crust);--border:#b4befe33;--border-subtle:#45475aa6;--border-focus:var(--ctp-lavender);--text-main:var(--ctp-text);--text-muted:var(--ctp-subtext0);--text-subtle:var(--ctp-overlay1);--accent:var(--ctp-lavender);--accent-secondary:var(--ctp-mauve);--accent-glow:#b4befe47;--accent-tag-bg:#b4befe1f;--accent-tag-border:#b4befe47;--term-prompt:var(--ctp-sky);--term-path:var(--ctp-mauve);--term-branch:var(--ctp-pink);--term-command:var(--ctp-text);--term-amber:var(--ctp-peach);--term-red:var(--ctp-red);--term-green:var(--ctp-green);--term-yellow:var(--ctp-yellow);--term-blue:var(--ctp-blue);--term-teal:var(--ctp-teal);--success:var(--ctp-green);--success-bg:#a6e3a11f;--success-border:#a6e3a14d;--shadow-sm:0 2px 10px #11111b99;--shadow-md:0 12px 32px #11111bb3;--shadow-glow:0 0 22px var(--accent-glow);--shadow-terminal:0 16px 44px -8px #11111bd9, 0 0 0 1px var(--border);--radius-xs:4px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-full:9999px;--nav-height:72px;--max-width:1200px}[data-theme=light]{--ctp-rosewater:#dc8a78;--ctp-flamingo:#dd7878;--ctp-pink:#ea76cb;--ctp-mauve:#8839ef;--ctp-red:#d20f39;--ctp-maroon:#e64553;--ctp-peach:#fe640b;--ctp-yellow:#df8e1d;--ctp-green:#40a02b;--ctp-teal:#179299;--ctp-sky:#04a5e5;--ctp-sapphire:#209fb5;--ctp-blue:#1e66f5;--ctp-lavender:#7287fd;--ctp-text:#4c4f69;--ctp-subtext1:#5c5f77;--ctp-subtext0:#6c6f85;--ctp-overlay2:#7c7f93;--ctp-overlay1:#8c8fa1;--ctp-overlay0:#9ca0b0;--ctp-surface2:#acb0be;--ctp-surface1:#bcc0cc;--ctp-surface0:#ccd0da;--ctp-base:#eff1f5;--ctp-mantle:#e6e9ef;--ctp-crust:#dce0e8;--bg:var(--ctp-base);--bg-surface:var(--ctp-mantle);--bg-card:#eff1f5f0;--bg-card-hover:#fff;--bg-terminal-header:var(--ctp-crust);--border:#7287fd3d;--border-subtle:#ccd0dad9;--border-focus:var(--ctp-lavender);--text-main:var(--ctp-text);--text-muted:var(--ctp-subtext0);--text-subtle:var(--ctp-overlay1);--accent:var(--ctp-blue);--accent-secondary:var(--ctp-mauve);--accent-glow:#1e66f52e;--accent-tag-bg:#1e66f514;--accent-tag-border:#1e66f538;--term-prompt:var(--ctp-sapphire);--term-path:var(--ctp-mauve);--term-branch:var(--ctp-pink);--term-command:var(--ctp-text);--term-amber:var(--ctp-peach);--term-red:var(--ctp-red);--term-green:var(--ctp-green);--term-yellow:var(--ctp-yellow);--term-blue:var(--ctp-blue);--term-teal:var(--ctp-teal);--success:var(--ctp-green);--success-bg:#40a02b1a;--success-border:#40a02b40;--shadow-sm:0 2px 8px #8c8fa11f;--shadow-md:0 10px 28px #8c8fa126;--shadow-glow:0 0 20px #1e66f526;--shadow-terminal:0 14px 34px #8c8fa129, 0 0 0 1px var(--border)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font-sans);background-color:var(--bg);color:var(--text-main);scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background-image:radial-gradient(#b4befe14 1px, transparent 1px), linear-gradient(to bottom, var(--ctp-mantle), var(--ctp-base));background-size:32px 32px,100% 100%;background-attachment:fixed;flex-direction:column;min-height:100vh;line-height:1.65;display:flex;position:relative;overflow-x:hidden}[data-theme=light] body{background-image:radial-gradient(#7287fd1a 1px, transparent 1px), linear-gradient(to bottom, var(--ctp-mantle), var(--ctp-base))}body:before{content:"";filter:blur(90px);pointer-events:none;z-index:-1;opacity:.9;background:radial-gradient(at top,#cba6f738 0%,#b4befe1f 35%,#0000 70%);width:1100px;height:420px;position:fixed;top:0;left:50%;transform:translate(-50%)}.skip-link{z-index:9999;background:var(--accent);color:var(--ctp-crust);font-family:var(--font-mono);border-radius:var(--radius-sm);box-shadow:0 4px 16px var(--accent-glow);padding:.65rem 1.25rem;font-size:.9rem;font-weight:700;text-decoration:none;transition:top .2s;position:fixed;top:-120px;left:1.5rem}.skip-link:focus-visible{outline:3px solid var(--ctp-mauve);outline-offset:2px;top:1rem}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;box-shadow:0 0 14px var(--accent-glow)}a{color:inherit;text-decoration:none;transition:color .15s,opacity .15s,border-color .15s}button{cursor:pointer;background:0 0;border:none;font-family:inherit;transition:color .15s,background-color .15s,border-color .15s,transform .15s}.container{width:100%;max-width:var(--max-width);margin-left:auto;margin-right:auto;padding-left:1.75rem;padding-right:1.75rem}.section{padding-top:5.5rem;padding-bottom:5.5rem;position:relative}.section-header{margin-bottom:3.5rem}.section-tag{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--ctp-mauve);border-radius:var(--radius-xs);background:#cba6f71a;border:1px solid #cba6f74d;align-items:center;gap:.5rem;margin-bottom:.85rem;padding:.35rem .85rem;font-size:.78rem;font-weight:600;display:inline-flex}.section-tag:before{content:"$";color:var(--ctp-green);font-weight:800}.section-title{font-family:var(--font-mono);letter-spacing:-.025em;color:var(--text-main);text-wrap:balance;font-size:2.25rem;font-weight:800;line-height:1.25}.section-subtitle{color:var(--text-muted);max-width:720px;margin-top:.65rem;font-size:1.05rem;line-height:1.65}.terminal-window{background:var(--bg-card);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-terminal);transition:border-color .2s,box-shadow .2s;overflow:hidden}.terminal-window:hover{border-color:var(--border-focus)}.terminal-titlebar{background:var(--bg-terminal-header);border-bottom:1px solid var(--border-subtle);user-select:none;justify-content:space-between;align-items:center;padding:.65rem 1.15rem;display:flex}.terminal-dots{align-items:center;gap:.45rem;display:flex}.terminal-dot{border-radius:50%;width:10px;height:10px;display:inline-block}.terminal-dot.red{background:var(--ctp-red)}.terminal-dot.yellow{background:var(--ctp-yellow)}.terminal-dot.green{background:var(--ctp-green)}.terminal-title{font-family:var(--font-mono);color:var(--ctp-overlay1);letter-spacing:.02em;font-size:.78rem;font-weight:500}.terminal-meta{font-family:var(--font-mono);color:var(--ctp-mauve);font-size:.72rem}.terminal-body{font-family:var(--font-mono);padding:1.5rem}.glass-card{background:var(--bg-card);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:transform .2s,border-color .2s,box-shadow .2s,background-color .2s}.glass-card:hover{border-color:var(--border-focus);box-shadow:var(--shadow-md), 0 0 20px var(--accent-glow);background-color:var(--bg-card-hover)}.tag{font-family:var(--font-mono);border-radius:var(--radius-xs);background:var(--ctp-surface0);color:var(--ctp-subtext1);border:1px solid var(--border-subtle);font-variant-numeric:tabular-nums;align-items:center;gap:.35rem;padding:.25rem .65rem;font-size:.76rem;font-weight:500;transition:color .15s,border-color .15s,background-color .15s;display:inline-flex}.tag:before{content:"#";opacity:.7;color:var(--ctp-mauve)}.tag:hover{color:var(--ctp-lavender);border-color:var(--accent-tag-border);background:var(--accent-tag-bg)}.tag.accent{background:var(--accent-tag-bg);color:var(--accent);border-color:var(--accent-tag-border)}.btn{font-family:var(--font-mono);border-radius:var(--radius-sm);letter-spacing:.01em;justify-content:center;align-items:center;gap:.55rem;padding:.65rem 1.4rem;font-size:.88rem;font-weight:600;text-decoration:none;transition:transform .15s,box-shadow .15s,filter .15s,background-color .15s;display:inline-flex}.btn-primary{background:linear-gradient(135deg, var(--ctp-mauve) 0%, var(--ctp-lavender) 100%);color:var(--ctp-crust);border:1px solid #fff3;font-weight:700;box-shadow:0 0 25px #cba6f74d}.btn-primary:hover{filter:brightness(1.08);transform:translateY(-2px);box-shadow:0 0 35px #cba6f773}.btn-secondary{background:var(--ctp-surface0);color:var(--text-main);border:1px solid var(--border)}.btn-secondary:hover{background:var(--ctp-surface1);border-color:var(--ctp-lavender);color:var(--ctp-lavender);transform:translateY(-2px)}.cursor-blink{background-color:var(--accent);vertical-align:-.15em;width:8px;height:1.1em;margin-left:2px;animation:1s step-end infinite terminal-blink;display:inline-block}@keyframes terminal-blink{0%,to{opacity:1}50%{opacity:0}}pre{background:var(--ctp-crust);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);font-family:var(--font-mono);margin:1.5rem 0;padding:1.25rem;font-size:.88rem;line-height:1.55;overflow-x:auto;box-shadow:inset 0 2px 8px #0006}.crt-monitor pre,.crt-screen-content pre,.crt-stdout,.crt-ascii-art{box-shadow:none!important;scrollbar-width:none!important;background:0 0!important;border:none!important;border-radius:0!important;margin:0!important;padding:0!important;overflow:visible!important}code{font-family:var(--font-mono);font-size:.88em}:not(pre)>code{background:var(--ctp-surface0);color:var(--ctp-lavender);border-radius:var(--radius-xs);border:1px solid var(--border-subtle);padding:.2rem .45rem}.status-ribbon{font-family:var(--font-mono);border-top:1px solid var(--border-subtle);background:var(--ctp-crust);color:var(--ctp-overlay1);align-items:center;gap:1rem;padding:.35rem .85rem;font-size:.75rem;display:flex;overflow-x:auto}.status-segment{align-items:center;gap:.35rem;display:inline-flex}.status-segment.mode{background:var(--ctp-mauve);color:var(--ctp-crust);border-radius:var(--radius-xs);padding:.1rem .5rem;font-weight:700}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.cursor-blink{opacity:1!important;animation:none!important}}@media print{body{font-size:11pt;color:#111827!important;background:#fff!important}body:before,nav,.theme-toggle,.hide-on-print,footer,.skip-link,.terminal-dots,.btn{display:none!important}.container{max-width:100%!important;padding:0!important}.section{page-break-inside:avoid;padding-top:1.5rem!important;padding-bottom:1.5rem!important}.terminal-window,.glass-card{box-shadow:none!important;backdrop-filter:none!important;background:0 0!important;border:1px solid #e5e7eb!important}.section-title{color:#111827!important;font-size:1.5rem!important}.tag{color:#374151!important;background:#f3f4f6!important;border:1px solid #d1d5db!important}a{color:#111827!important;text-decoration:underline!important}}.navbar-wrapper[data-astro-cid-l7arcky5]{z-index:100;height:var(--nav-height);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border);background:#090d13e0;transition:background-color .2s,border-color .2s;position:sticky;top:0}[data-astro-cid-l7arcky5][data-theme=light] .navbar-wrapper[data-astro-cid-l7arcky5]{background:#f8fafce6}.navbar-container[data-astro-cid-l7arcky5]{justify-content:space-between;align-items:center;gap:1.5rem;height:100%;display:flex}.brand-logo[data-astro-cid-l7arcky5]{font-family:var(--font-mono);color:var(--text-main);letter-spacing:-.01em;border-radius:var(--radius-sm);border:1px solid #0000;align-items:center;gap:.65rem;padding:.35rem .6rem;font-size:.95rem;font-weight:700;display:flex}.brand-logo[data-astro-cid-l7arcky5]:hover{border-color:var(--border);background:var(--bg-surface)}.terminal-dots-sm[data-astro-cid-l7arcky5]{align-items:center;gap:.3rem;display:flex}.terminal-dots-sm[data-astro-cid-l7arcky5] .term-dot[data-astro-cid-l7arcky5]{width:7px;height:7px}.logo-prompt[data-astro-cid-l7arcky5]{color:var(--term-prompt);font-weight:600}.logo-path[data-astro-cid-l7arcky5]{color:var(--term-path)}.logo-name[data-astro-cid-l7arcky5]{color:var(--text-main)}.logo-cursor[data-astro-cid-l7arcky5]{color:var(--accent);animation:1s step-end infinite blink-anim}@keyframes blink-anim{0%,to{opacity:1}50%{opacity:0}}.nav-links[data-astro-cid-l7arcky5]{align-items:center;gap:1.25rem;display:flex}.nav-link[data-astro-cid-l7arcky5]{font-family:var(--font-mono);color:var(--text-muted);border-radius:var(--radius-xs);white-space:nowrap;align-items:center;gap:.45rem;padding:.35rem .65rem;font-size:.85rem;font-weight:500;line-height:1;display:inline-flex;position:relative}.nav-num[data-astro-cid-l7arcky5]{color:var(--accent);opacity:.85;flex-shrink:0;font-size:.78rem;font-weight:600}.nav-link[data-astro-cid-l7arcky5]:hover{color:var(--text-main);background:var(--bg-surface)}.blog-pill[data-astro-cid-l7arcky5]{background:var(--accent-tag-bg);color:var(--accent);border:1px solid var(--accent-tag-border);border-radius:var(--radius-xs);white-space:nowrap;align-items:center;gap:.4rem;padding:.25rem .65rem;font-weight:600;display:inline-flex}.nav-actions[data-astro-cid-l7arcky5]{align-items:center;gap:.5rem;display:flex}.cli-jump-btn[data-astro-cid-l7arcky5]{font-family:var(--font-mono);color:var(--accent-secondary);border-radius:var(--radius-xs);background:#00ff9d14;border:1px solid #00ff9d40;align-items:center;gap:.35rem;padding:.4rem .75rem;font-size:.78rem;font-weight:700;display:inline-flex}.cli-jump-btn[data-astro-cid-l7arcky5]:hover{border-color:var(--accent-secondary);background:#00ff9d29;box-shadow:0 0 10px #00ff9d33}.icon-btn[data-astro-cid-l7arcky5]{border-radius:var(--radius-xs);border:1px solid var(--border);background:var(--bg-surface);width:36px;height:36px;color:var(--text-muted);justify-content:center;align-items:center;display:flex}.icon-btn[data-astro-cid-l7arcky5]:hover{color:var(--accent);border-color:var(--accent);background:var(--bg-card-hover);transform:translateY(-1px)}.mobile-only[data-astro-cid-l7arcky5]{display:none}@media (width<=900px){.hide-on-mobile[data-astro-cid-l7arcky5]{display:none}}@media (width<=768px){.nav-links[data-astro-cid-l7arcky5]{top:var(--nav-height);background:var(--bg-surface);border-bottom:1px solid var(--border);box-shadow:var(--shadow-md);flex-direction:column;align-items:flex-start;gap:1rem;padding:1.5rem;display:none;position:absolute;left:0;right:0}.nav-links[data-astro-cid-l7arcky5].active,.mobile-only[data-astro-cid-l7arcky5]{display:flex}}.footer-wrapper[data-astro-cid-jo6i4kqk]{border-top:1px solid var(--border);background:var(--bg-surface);color:var(--text-muted);font-size:.85rem;font-family:var(--font-mono);margin-top:auto;padding:2.25rem 0}.footer-container[data-astro-cid-jo6i4kqk]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;display:flex}.footer-diagnostics[data-astro-cid-jo6i4kqk]{color:var(--text-subtle);align-items:center;gap:.5rem;margin-bottom:.45rem;font-size:.72rem;display:flex}.diag-key[data-astro-cid-jo6i4kqk]{color:var(--accent);font-weight:600}.copyright[data-astro-cid-jo6i4kqk]{color:var(--text-muted);font-size:.85rem}.author-name[data-astro-cid-jo6i4kqk]{color:var(--text-main)}.tech-note[data-astro-cid-jo6i4kqk]{color:var(--text-subtle);margin-top:.25rem;font-size:.78rem}.footer-right[data-astro-cid-jo6i4kqk]{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.footer-link[data-astro-cid-jo6i4kqk]{color:var(--text-muted);align-items:center;gap:.2rem;display:inline-flex}.footer-link[data-astro-cid-jo6i4kqk]:hover{color:var(--accent)}.link-proto[data-astro-cid-jo6i4kqk]{color:var(--accent-secondary);font-size:.75rem}.sep[data-astro-cid-jo6i4kqk]{color:var(--border)}@media (width<=640px){.footer-container[data-astro-cid-jo6i4kqk]{flex-direction:column;align-items:flex-start;gap:1.25rem}.footer-right[data-astro-cid-jo6i4kqk]{justify-content:flex-start}}
