:root{--bg:#0b0f14;--surface:#111823;--surface-2:#0d131c;--fg:#e6edf3;--muted:#8b98a9;--line:#1f2a37;--accent:#3ddc97;--accent-2:#58a6ff;--accent-fg:#04130c;--glow:rgba(61, 220, 151, 0.16);--focus:#58a6ff;--banner-filter:saturate(0.85) brightness(0.78);--banner-fade:var(--bg);--banner-fade-from:45%;--sans:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono:ui-monospace, "Cascadia Code", "JetBrains Mono", "Fira Code", "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--measure:44rem;--wide:72rem;--radius:10px;color-scheme:dark}@media(prefers-color-scheme:light){:root:not([data-theme=dark]){--bg:#f6f8fa;--surface:#ffffff;--surface-2:#eef1f4;--fg:#1f2328;--muted:#596270;--line:#d4dae1;--accent:#0a7d52;--accent-2:#0b5fc4;--accent-fg:#ffffff;--glow:rgba(10, 125, 82, 0.14);--focus:#0b5fc4;--banner-filter:none;--banner-fade:color-mix(in srgb, var(--bg) 40%, transparent);--banner-fade-from:78%;color-scheme:light}}:root[data-theme=light]{--bg:#f6f8fa;--surface:#ffffff;--surface-2:#eef1f4;--fg:#1f2328;--muted:#596270;--line:#d4dae1;--accent:#0a7d52;--accent-2:#0b5fc4;--accent-fg:#ffffff;--glow:rgba(10, 125, 82, 0.14);--focus:#0b5fc4;--banner-filter:none;--banner-fade:color-mix(in srgb, var(--bg) 40%, transparent);--banner-fade-from:78%;color-scheme:light}*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:4.5rem;-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--sans);font-size:1.0625rem;line-height:1.65}img,iframe{max-width:100%;display:block}img{height:auto}a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:.2em}a:hover{text-decoration-thickness:2px}:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:3px}::selection{background:var(--accent);color:var(--accent-fg)}h1,h2,h3{line-height:1.2;font-weight:700;margin:0 0 .5em;letter-spacing:-.01em}h1{font-size:clamp(2rem,5vw,3rem)}h2{font-family:var(--mono);font-size:clamp(1.3rem,3vw,1.7rem);font-weight:600}h2::before{content:"// ";color:var(--accent)}h3{font-size:1.2rem}p{margin:0 0 1em}code,.mono{font-family:var(--mono)}.wrap{width:min(100% - 2rem,var(--wide));margin-inline:auto}.skip-link{position:absolute;left:1rem;top:-4rem;z-index:100;background:var(--accent);color:var(--accent-fg);padding:.5rem 1rem;border-radius:var(--radius);font-weight:600}.skip-link:focus{top:1rem}.site-header{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg) 86%,transparent);backdrop-filter:saturate(1.4)blur(10px);border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:center;gap:1.25rem;min-height:3.5rem;flex-wrap:wrap;padding-block:.4rem}.brand{font-family:var(--mono);font-weight:600;font-size:.98rem;color:var(--fg);text-decoration:none;margin-right:auto}.brand-mark{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;width:1.55rem;height:1.55rem;margin-right:.6rem;border-radius:5px;background:var(--accent);color:var(--accent-fg);font:700 .66rem/1 var(--mono);letter-spacing:-.02em}.nav ul,.lang{list-style:none;margin:0;padding:0;display:flex;gap:1.1rem;flex-wrap:wrap}.nav a{text-transform:lowercase;font-family:var(--mono);color:var(--muted);text-decoration:none;font-size:.86rem}.nav a::before{content:"~/";color:var(--accent);opacity:.8}.nav a:hover{color:var(--fg)}.nav a:hover::before{opacity:1}.lang{gap:.25rem}.lang a{display:block;padding:.1rem .5rem;border-radius:6px;font-family:var(--mono);font-size:.78rem;font-weight:600;color:var(--muted);text-decoration:none;border:1px solid transparent}.lang a[aria-current=true]{color:var(--accent);border-color:var(--line);background:var(--surface)}.lang a:hover{color:var(--fg)}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:2.1rem;height:2.1rem;padding:0;cursor:pointer;background:0 0;color:var(--muted);border:1px solid var(--line);border-radius:8px}.theme-toggle[hidden]{display:none}.theme-toggle:hover{color:var(--accent);border-color:var(--accent)}.theme-toggle svg{width:1.1rem;height:1.1rem;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.theme-toggle .icon-moon{display:none}.theme-toggle .icon-sun{display:block}@media(prefers-color-scheme:light){:root:not([data-theme=dark]) .theme-toggle .icon-moon{display:block}:root:not([data-theme=dark]) .theme-toggle .icon-sun{display:none}}:root[data-theme=light] .theme-toggle .icon-moon{display:block}:root[data-theme=light] .theme-toggle .icon-sun{display:none}.banner{position:relative;width:min(100%,90rem);margin-inline:auto;height:clamp(8rem,16vw,11.5rem);overflow:hidden;background:var(--surface-2)}.banner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.6s ease;filter:var(--banner-filter)}.banner img.is-active{opacity:1}.banner::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(to bottom,transparent var(--banner-fade-from),var(--banner-fade))}.section{padding-block:clamp(3rem,7vw,5.5rem);border-bottom:1px solid var(--line)}.section:last-of-type{border-bottom:0}.intro{color:var(--muted);max-width:var(--measure);margin-bottom:2rem}.cmd{font-family:var(--mono);font-size:.88rem;color:var(--muted);margin:0 0 .35rem}.ps{color:var(--accent);font-weight:700}.about{position:relative;z-index:1;margin-top:-2.75rem;padding-top:0}.terminal{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:0 0 0 1px var(--glow),0 18px 50px -24px var(--glow)}.terminal-bar{display:flex;align-items:center;gap:.4rem;padding:.55rem .9rem;background:var(--surface-2);border-bottom:1px solid var(--line);font-family:var(--mono);font-size:.76rem;color:var(--muted)}.terminal-body{display:grid;grid-template-columns:10rem 1fr;gap:2rem;align-items:center;padding:clamp(1.25rem,3vw,2rem)}.avatar{width:10rem;height:10rem;object-fit:cover;border-radius:12px;border:2px solid var(--accent);box-shadow:0 0 0 5px var(--glow)}.terminal-text h1{margin:0 0 .9rem}.role{font-weight:600;margin-bottom:.35rem}.tagline{color:var(--muted);font-size:.97rem;margin-bottom:.9rem;max-width:40rem}.terminal-bar{gap:.6rem}.terminal-bar::before{content:">_";flex:none;display:inline-flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;border-radius:5px;background:var(--accent);color:var(--accent-fg);font:700 .62rem/1 var(--mono);letter-spacing:-.04em}.terminal-bar span{flex:1}.caret{display:inline-block;width:.55em;height:1.05em;vertical-align:text-bottom;background:var(--accent);animation:blink 1.1s steps(1)infinite}@keyframes blink{50%{opacity:0}}.story{max-width:58rem;margin:2.5rem auto 0}.story .prose{border-left:2px solid var(--accent);padding-left:1.25rem}.prose>:last-child{margin-bottom:0}.prose ul{padding-left:1.2rem;margin:0 0 1em}.prose li{margin-bottom:.2em}.prose li::marker{color:var(--accent)}.cards{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,21rem),1fr))}.card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:border-color .2s,box-shadow .2s,transform .2s}.card:hover{border-color:var(--accent);box-shadow:0 10px 34px -16px var(--glow);transform:translateY(-2px)}.card-media{display:block;aspect-ratio:16/9;background:var(--surface-2);overflow:hidden;border-bottom:1px solid var(--line)}.card-media img{width:100%;height:100%;object-fit:cover}.card-media.video iframe{width:100%;height:100%;border:0}.card-body{padding:1.25rem 1.4rem 1.5rem;display:flex;flex-direction:column;flex:1}.card-body .prose{font-size:.97rem;flex:1}.card-link{margin:1rem 0 0;font-family:var(--mono);font-size:.86rem;font-weight:600}.meta{margin:0 0 .2rem;font-family:var(--mono);font-size:.78rem;color:var(--accent-2)}.tags{list-style:none;padding:0;margin:1rem 0 0;display:flex;flex-wrap:wrap;gap:.4rem}.tags li{font-family:var(--mono);font-size:.72rem;padding:.1rem .55rem;border-radius:6px;color:var(--accent-2);background:var(--surface-2);border:1px solid var(--line)}.video-play{width:100%;height:100%;padding:1rem;text-align:center;text-decoration:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.3rem;color:var(--fg);background:repeating-linear-gradient(0,transparent 0 11px,var(--line) 11px 12px),var(--surface-2)}.video-play svg{width:3.2rem;height:3.2rem;fill:currentColor;stroke:currentColor;stroke-width:1.5;stroke-linejoin:round;color:var(--accent)}.video-play svg circle{fill:none}.video-play-label{font-family:var(--mono);font-weight:600}.video-play-note{font-size:.78rem;color:var(--muted);max-width:22rem}.video-play:hover .video-play-label{color:var(--accent)}.certs{list-style:none;margin:0;padding:0;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,24rem),1fr))}.cert{display:flex;gap:1.25rem;align-items:center;background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:var(--radius);padding:1rem 1.25rem}.cert img{width:4.5rem;height:auto;flex:none}.cert h3{font-size:1.05rem;margin-bottom:.4rem}.cert h3 a{color:var(--fg);text-decoration:none}.cert h3 a:hover{color:var(--accent)}.cert p{margin:0}.button{display:inline-block;padding:.3rem .9rem;border-radius:8px;border:1px solid var(--accent);color:var(--accent);font-family:var(--mono);font-size:.82rem;font-weight:600;text-decoration:none}.button:hover{background:var(--accent);color:var(--accent-fg)}.site-footer{border-top:1px solid var(--line);padding-block:2.5rem 3rem;color:var(--muted);font-size:.9rem}.social-title{font-family:var(--mono);font-size:.9rem;color:var(--fg);margin-bottom:.6rem}.social-title::before{content:"$ ";color:var(--accent)}.social{list-style:none;margin:0 0 1.5rem;padding:0;display:flex;flex-wrap:wrap;gap:.4rem 1.25rem;font-family:var(--mono);font-size:.86rem}.social a{color:var(--muted);text-decoration:none}.social a::before{content:"> ";color:var(--accent)}.social a:hover{color:var(--accent)}.copyright{margin:0;font-family:var(--mono);font-size:.78rem}.not-found{min-height:55vh}@media(max-width:640px){body{font-size:1rem}.header-inner{gap:.4rem 1rem}.nav{order:3;width:100%}.nav ul{gap:.4rem 1rem}.terminal-body{grid-template-columns:1fr;gap:1.25rem}.avatar{width:7.5rem;height:7.5rem}.banner{height:6.5rem}.about{margin-top:-1.75rem}.cert{flex-direction:column;align-items:flex-start}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.banner img{transition:none}.caret{animation:none}.card{transition:none}.card:hover{transform:none}}@media print{.site-header,.banner,.skip-link,.theme-toggle{display:none}.section{padding-block:1.5rem}}