@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2c55a0e60120577a-s.0-dom-5bn10r2.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.1y4-pdgsjb-pw.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/ad66f9afd8947f86-s.3lvt2whj97whp.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/5476f68d60460930-s.2uwcyprjm3xu3.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.0k62hbripvv8p.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/1bffadaabf893a1e-s.3-6t-g6q0vh0a.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/2c55a0e60120577a-s.0-dom-5bn10r2.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.1y4-pdgsjb-pw.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/ad66f9afd8947f86-s.3lvt2whj97whp.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5476f68d60460930-s.2uwcyprjm3xu3.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.0k62hbripvv8p.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/1bffadaabf893a1e-s.3-6t-g6q0vh0a.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/2c55a0e60120577a-s.0-dom-5bn10r2.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.1y4-pdgsjb-pw.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/ad66f9afd8947f86-s.3lvt2whj97whp.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/5476f68d60460930-s.2uwcyprjm3xu3.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.0k62hbripvv8p.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/1bffadaabf893a1e-s.3-6t-g6q0vh0a.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_5ad8f9e7-module__bn55wG__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_5ad8f9e7-module__bn55wG__variable{--font-inter:"Inter", "Inter Fallback"}
@font-face{font-family:Instrument Serif;font-style:italic;font-weight:400;font-display:swap;src:url(../media/fc0a7394b875fa43-s.2ytmazkdrg7t9.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Serif;font-style:italic;font-weight:400;font-display:swap;src:url(../media/7ebf22b5a21034f8-s.p.3j3877k49yy0l.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Serif;font-style:normal;font-weight:400;font-display:swap;src:url(../media/ccf27e5a7366fb23-s.1icgra-w5i50b.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Serif;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e41d5df559864f9e-s.p.1g73gv09-xcb6.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Serif Fallback;src:local(Times New Roman);ascent-override:117.94%;descent-override:36.93%;line-gap-override:0.0%;size-adjust:83.94%}.instrument_serif_40c1d9dd-module__qS-7iq__className{font-family:Instrument Serif,Instrument Serif Fallback;font-weight:400}.instrument_serif_40c1d9dd-module__qS-7iq__variable{--font-serif:"Instrument Serif", "Instrument Serif Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/04c5164763c40239-s.1kd-r_s9smv5m.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/26f284dcc38c84c0-s.3hlisc-pwq13z.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/7e7f32a39836f228-s.0-oo9_1x_xmvg.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/fa39153a3fc630ba-s.36fqqi66-3tjb.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/6a5386fd6038edbe-s.3_z45zcoc-xoz.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/051742360c26797e-s.p.1bkzbscqrt8rl.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/04c5164763c40239-s.1kd-r_s9smv5m.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/26f284dcc38c84c0-s.3hlisc-pwq13z.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/7e7f32a39836f228-s.0-oo9_1x_xmvg.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/fa39153a3fc630ba-s.36fqqi66-3tjb.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/6a5386fd6038edbe-s.3_z45zcoc-xoz.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/051742360c26797e-s.p.1bkzbscqrt8rl.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.jetbrains_mono_3bce8d2c-module__87UDHG__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_3bce8d2c-module__87UDHG__variable{--font-mono:"JetBrains Mono", "JetBrains Mono Fallback"}
:root{--bg:#faf6ee;--bg-tint:#f3ecdb;--surface:#fff;--ink:#2a2723;--ink-soft:#5a564d;--ink-mute:#948c7d;--sage:#7a9676;--sage-soft:#c8d8c5;--sage-tint:#e6ede0;--warm:#c08864;--warm-soft:#f0d8c2;--warm-tint:#f9ecdf;--lavender:#b9a8cf;--lavender-tint:#ede4f3;--border:#e6dfcd;--shadow-sm:0 1px 2px #2a27230a;--shadow:0 1px 2px #2a27230a, 0 4px 12px #2a27230d;--shadow-lg:0 8px 24px #2a272314;--nav-bg:#faf6eebf;--nav-bg-scrolled:#faf6eeeb;--font-sans:var(--font-inter), -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-serif:var(--font-serif-instrument), Georgia, serif;--font-mono:var(--font-jetbrains), "JetBrains Mono", monospace}*{box-sizing:border-box;margin:0;padding:0}html{scroll-padding-top:calc(6rem + env(safe-area-inset-top))}body{font-family:var(--font-sans);background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;line-height:1.6;overflow-x:hidden}::selection{background:var(--sage-tint);color:var(--ink)}.container{max-width:960px;margin:0 auto;padding:0 2rem}main{padding-top:calc(6rem + env(safe-area-inset-top))}.section{padding-top:5rem;padding-bottom:5rem}.section-tag{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-mute);margin-bottom:.75rem;font-size:.78rem;display:inline-block}.section-title{font-family:var(--font-serif);letter-spacing:-.01em;margin-bottom:.5rem;font-size:clamp(2rem,4vw,2.75rem);font-weight:400;line-height:1.1}.section-subtitle{color:var(--ink-soft);max-width:540px;margin-bottom:3rem;font-size:1rem}.reveal{opacity:0;transition:opacity .8s,transform .8s;transform:translateY(24px)}.reveal.in{opacity:1;transform:translateY(0)}body:after{content:"";pointer-events:none;z-index:9998;opacity:.07;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");position:fixed;inset:0}[data-theme=dark] body:after{opacity:0}#loader{background:var(--bg);z-index:9999;justify-content:center;align-items:center;transition:opacity .6s;display:flex;position:fixed;inset:0}#loader.gone{opacity:0;pointer-events:none}.loader-text{font-family:var(--font-serif);color:var(--ink-soft);letter-spacing:-.01em;font-size:2.2rem;font-style:italic;animation:1.5s ease-in-out infinite loaderFade}@keyframes loaderFade{0%,to{opacity:.35}50%{opacity:1}}.toast{background:var(--ink);color:var(--bg);z-index:9999;opacity:0;pointer-events:none;white-space:nowrap;border-radius:999px;padding:.5rem 1.25rem;font-size:.88rem;font-weight:500;transition:opacity .25s,transform .25s;position:fixed;bottom:2rem;left:50%;transform:translate(-50%)translateY(1rem)}.toast.visible{opacity:1;transform:translate(-50%)translateY(0)}[data-theme=dark]{--bg:#1c1916;--bg-tint:#242019;--surface:#2a2520;--ink:#f0ebe0;--ink-soft:#b8b0a0;--ink-mute:#7a7268;--border:#3a342c;--shadow-sm:0 1px 2px #0003;--shadow:0 1px 2px #0003, 0 4px 12px #00000040;--shadow-lg:0 8px 24px #00000059;--nav-bg:#1c1916bf;--nav-bg-scrolled:#1c1916eb}.btn{cursor:pointer;border:1px solid #0000;border-radius:999px;align-items:center;gap:.5rem;padding:.8rem 1.4rem;font-family:inherit;font-size:.92rem;font-weight:500;text-decoration:none;transition:all .25s cubic-bezier(.2,.8,.2,1);display:inline-flex}.btn svg{width:16px;height:16px;transition:transform .25s}.btn-primary{background:var(--ink);color:var(--bg)}.btn-primary:hover{background:var(--warm);box-shadow:var(--shadow-lg);transform:translateY(-1px)}.btn-primary:hover svg{transform:translateY(2px)}.btn-secondary{background:var(--surface);color:var(--ink);border-color:var(--border)}.btn-secondary:hover{background:var(--sage-tint);border-color:var(--sage);transform:translateY(-1px)}.btn-secondary:hover svg{transform:translate(2px,-2px)}.contact-card{background:linear-gradient(135deg, var(--sage-tint), var(--warm-tint));text-align:center;border:1px solid var(--border);border-radius:18px;padding:3rem}.contact-card h3{font-family:var(--font-serif);margin-bottom:.5rem;font-size:clamp(1.75rem,3vw,2.25rem);font-weight:400;line-height:1.2}.contact-card h3 em{color:var(--warm);font-style:italic}.contact-card p{color:var(--ink-soft);overflow-wrap:break-word;word-wrap:break-word;max-width:460px;margin-bottom:1.5rem;margin-left:auto;margin-right:auto}.footer{border-top:1px solid var(--border);padding:2.5rem 0}.footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.footer-text{color:var(--ink-mute);font-size:.83rem}.footer-links{gap:1.25rem;display:flex}.footer-links a{color:var(--ink-soft);font-size:.86rem;text-decoration:none;transition:color .2s}.footer-links a:hover{color:var(--warm)}@media (max-width:720px){.contact-card{border-radius:14px;padding:2.25rem 1.5rem}.contact-card .btn{width:100%}.footer-inner{text-align:center;flex-direction:column;gap:.85rem}.footer-links{flex-wrap:wrap;justify-content:center}}@media (max-width:480px){.contact-card{padding:2rem 1.25rem}.footer-text,.footer-links a{font-size:.8rem}}.page-header{scroll-margin-top:calc(6rem + env(safe-area-inset-top));padding-top:2rem;padding-bottom:2.5rem}.page-header .hero-title{margin-bottom:1rem;font-size:clamp(2.5rem,6vw,4rem)}.page-header p{color:var(--ink-soft);overflow-wrap:break-word;word-wrap:break-word;max-width:560px;font-size:1.05rem}.blog-list{flex-direction:column;padding-bottom:4rem;display:flex}.blog-card{border-top:1px solid var(--border);color:inherit;padding:2rem 0;text-decoration:none;transition:all .25s;display:block}.blog-card:last-child{border-bottom:1px solid var(--border)}.blog-card:hover{padding-left:.5rem}.blog-card:hover .blog-title{color:var(--warm)}.blog-card-meta{color:var(--ink-mute);font-size:.82rem;font-family:var(--font-mono);align-items:center;gap:.75rem;margin-bottom:.5rem;display:flex}.dot-sep{background:var(--ink-mute);border-radius:50%;width:3px;height:3px}.blog-title{font-family:var(--font-serif);letter-spacing:-.01em;margin-bottom:.5rem;font-size:clamp(1.5rem,3vw,2rem);font-weight:400;line-height:1.15;transition:color .2s}.blog-excerpt{color:var(--ink-soft);overflow-wrap:break-word;word-wrap:break-word;max-width:640px;font-size:1rem;line-height:1.55}.blog-empty{text-align:center;color:var(--ink-mute);font-family:var(--font-serif);padding:5rem 0;font-size:1.1rem;font-style:italic}@media (max-width:720px){.page-header{padding-top:1.5rem;padding-bottom:2rem}.blog-card{padding:1.5rem 0}.blog-card:hover{padding-left:0}}@media (max-width:480px){.page-header{padding:1.25rem 1.25rem 3rem}.blog-card-meta{flex-wrap:wrap;gap:.5rem;font-size:.78rem}.blog-title{font-size:1.45rem}}.theme-toggle,.terminal-toggle{border:1px solid var(--border);cursor:pointer;color:var(--ink-soft);background:0 0;border-radius:999px;flex-shrink:0;align-items:center;margin-left:.75rem;padding:.35rem .55rem;transition:all .2s;display:flex}.theme-toggle:hover,.terminal-toggle:hover{color:var(--ink);border-color:var(--ink-soft)}.theme-toggle svg,.terminal-toggle svg{display:block}.theme-toggle .icon-moon{display:none}.theme-toggle .icon-sun{display:block}[data-theme=dark] .theme-toggle .icon-sun{display:none}[data-theme=dark] .theme-toggle .icon-moon{display:block}.terminal-overlay{z-index:9999;opacity:0;pointer-events:none;background:#0a0908;justify-content:center;align-items:center;transition:opacity .2s;display:flex;position:fixed;inset:0}.terminal-overlay.open{opacity:1;pointer-events:auto}.terminal-window{background:#1a1714;border:1px solid #ffffff12;border-radius:12px;flex-direction:column;width:min(700px,100vw - 2rem);max-height:min(500px,100vh - 4rem);display:flex;overflow:hidden;box-shadow:0 32px 80px #000000b3}.terminal-titlebar{background:#252220;border-bottom:1px solid #ffffff0d;flex-shrink:0;align-items:center;gap:.45rem;padding:.85rem 1.25rem;display:flex}.terminal-dot{border-radius:50%;flex-shrink:0;width:12px;height:12px}.terminal-dot-close{cursor:pointer;opacity:.85;border:none;padding:0;transition:opacity .15s}.terminal-dot-close:hover{opacity:1}.terminal-name{font-family:var(--font-mono);color:#6a6460;margin:0 auto;font-size:.74rem}.terminal-body{flex-direction:column;flex:1;display:flex;overflow:hidden}.terminal-output{font-family:var(--font-mono);color:#c8c4bc;white-space:pre-wrap;word-break:break-word;flex:1;padding:1.25rem 1.5rem .5rem;font-size:.82rem;line-height:1.7;overflow-y:auto}.t-green{color:#4ade80}.t-dim{color:#6a6460}.t-err{color:#f87171}.terminal-input-row{border-top:1px solid #ffffff0d;flex-shrink:0;align-items:center;gap:.6rem;padding:.75rem 1.5rem 1rem;display:flex}.terminal-prompt-char{color:#4ade80;font-family:var(--font-mono);flex-shrink:0;font-size:.82rem}.terminal-input{color:#f0ebe0;font-family:var(--font-mono);caret-color:#4ade80;background:0 0;border:none;outline:none;flex:1;font-size:.82rem}.progress-bar{background:var(--warm);z-index:200;opacity:0;pointer-events:none;width:0%;height:2px;transition:width .1s linear,opacity .3s;position:fixed;top:0;left:0}.progress-bar.visible{opacity:1}.blog-detail{scroll-margin-top:calc(6rem + env(safe-area-inset-top));display:block}.blog-detail-body{overflow-wrap:break-word;word-wrap:break-word}
