*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #f6f5ef;--panel: #ffffff;--panel-2: #eeede6;--text: #151515;--muted: #64645e;--line: #c8c6bb;--accent: #2f6f3e;--accent-soft: #dfeade;--shadow: 4px 4px 0 #151515;--grid-line: rgba(21, 21, 21, .035);--nav-bg: rgba(246, 245, 239, .92);--stat-bg: rgba(255, 255, 255, .55);--section-bg: rgba(255, 255, 255, .72);--placeholder: #999;--footer-muted: #444;--page-max: 1120px;--page-gutter: 24px;--term-bg: #fafafa;--term-header: #eceae3;--term-border: #c8c6bb;--term-title: #64645e;--term-body-text: #151515;--term-headline: #151515;--term-muted: #64645e;--term-strong: #151515;--term-prompt: #2f6f3e;--term-accent: #2f6f3e;--term-accent-soft: rgba(47, 111, 62, .12);--term-shadow: 0 20px 40px rgba(21, 21, 21, .1);--mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--sans: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;color-scheme:light}[data-theme=dark]{--bg: #131312;--panel: #1c1c1a;--panel-2: #242422;--text: #e8e6dc;--muted: #9c9a92;--line: #3d3d38;--accent: #5cb574;--accent-soft: #1e3324;--shadow: 4px 4px 0 #000000;--grid-line: rgba(232, 230, 220, .04);--nav-bg: rgba(19, 19, 18, .92);--stat-bg: rgba(28, 28, 26, .85);--section-bg: rgba(28, 28, 26, .88);--placeholder: #666;--footer-muted: #888;--term-bg: #111;--term-header: #1a1a1a;--term-border: #2a2a2a;--term-title: #888;--term-body-text: #e4e4e4;--term-headline: #f5f5f5;--term-muted: #a3a3a3;--term-strong: #f5f5f5;--term-prompt: #22c55e;--term-accent: #22c55e;--term-accent-soft: rgba(34, 197, 94, .14);--term-shadow: 0 20px 40px rgba(0, 0, 0, .28);color-scheme:dark}html{scroll-behavior:smooth}body{background:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px),var(--bg);background-size:24px 24px;color:var(--text);font-family:var(--sans);font-size:16px;line-height:1.65;overflow-x:hidden;transition:background-color .2s ease,color .2s ease}body,a,button,input,textarea{cursor:default}#cursor,#cursor-ring{display:none}a{color:inherit}.page-shell{max-width:var(--page-max);margin:0 auto;padding:16px var(--page-gutter) 0}.site-nav{position:sticky;top:16px;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:10px 14px;margin-bottom:24px;border:1px solid var(--text);background:var(--nav-bg);backdrop-filter:blur(10px);box-shadow:3px 3px 0 var(--text)}.nav-logo{font-family:var(--mono);font-size:14px;font-weight:700;color:var(--text);text-decoration:none}.nav-logo:before{content:"~/";color:var(--accent)}.nav-logo span{color:var(--accent)}.nav-links{display:flex;gap:20px;align-items:center}.nav-links a,.nav-cta{font-family:var(--mono);font-size:12px;text-transform:lowercase;letter-spacing:0;color:var(--muted);text-decoration:none}.nav-links a:hover,.nav-cta:hover{color:var(--accent)}.nav-links a.is-active{color:var(--accent);font-weight:700}.nav-cta{padding:5px 12px;border:1px solid var(--text);color:var(--text);background:var(--panel)}.nav-cta:hover{background:var(--accent-soft)}.nav-actions{display:flex;align-items:center;gap:12px}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;color:var(--muted);background:transparent;border:1px solid var(--line)}.theme-toggle:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.search-toggle{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;color:var(--muted);background:transparent;border:1px solid var(--line)}.search-toggle:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.search-toggle svg{width:16px;height:16px;stroke:currentColor;fill:none}.theme-icon{width:16px;height:16px;stroke:currentColor;fill:none}.theme-icon-sun,[data-theme=dark] .theme-icon-moon{display:none}[data-theme=dark] .theme-icon-sun{display:block}.search-palette[hidden]{display:none}.search-palette{position:fixed;inset:0;z-index:200;display:flex;align-items:flex-start;justify-content:center;padding:80px 16px 16px}.search-palette-backdrop{position:absolute;inset:0;background:#0000008c}.search-palette-panel{position:relative;width:100%;max-width:520px;border:1px solid var(--text);background:var(--panel);box-shadow:var(--shadow)}.search-palette-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--line);background:var(--panel-2)}.search-palette-title{font-family:var(--mono);font-size:11px;color:var(--accent)}.search-palette-close{font-family:var(--mono);font-size:18px;line-height:1;color:var(--muted);background:transparent;border:none;padding:0 4px}.search-palette-close:hover{color:var(--accent)}.search-palette-input-wrap{display:flex;align-items:center;gap:10px;padding:14px;border-bottom:1px solid var(--line)}.search-palette-prompt{font-family:var(--mono);font-size:12px;color:var(--muted);white-space:nowrap}.search-palette-input{flex:1;font-family:var(--mono);font-size:14px;color:var(--text);background:transparent;border:none;outline:none}.search-palette-input::placeholder{color:var(--placeholder)}.search-palette-results{list-style:none;max-height:280px;overflow-y:auto;margin:0;padding:8px 0}.search-result{display:flex;align-items:center;gap:12px;padding:10px 14px;text-decoration:none;color:inherit}.search-result:hover,.search-result.is-active{background:var(--accent-soft)}.search-result-type{font-family:var(--mono);font-size:10px;text-transform:lowercase;color:var(--accent);min-width:52px}.search-result-title{font-family:var(--mono);font-size:13px;color:var(--text)}.search-empty{padding:16px 14px;font-family:var(--mono);font-size:12px;color:var(--muted)}.search-palette-hint{margin:0;padding:10px 14px;border-top:1px solid var(--line);font-family:var(--mono);font-size:10px;color:var(--muted);text-align:center}.hero{padding:0 0 48px;position:relative}.hero-terminal{border:1px solid var(--term-border);border-radius:12px;overflow:hidden;background:var(--term-bg);box-shadow:var(--term-shadow);transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease}.hero-terminal-header{display:flex;align-items:center;gap:12px;height:42px;padding:0 16px;background:var(--term-header);border-bottom:1px solid var(--term-border);transition:background-color .2s ease,border-color .2s ease}.hero-terminal-dots{display:flex;gap:8px}.hero-terminal-dots span{width:12px;height:12px;border-radius:50%}.hero-terminal-dots span:nth-child(1){background:#ff5f56}.hero-terminal-dots span:nth-child(2){background:#ffbd2e}.hero-terminal-dots span:nth-child(3){background:#27c93f}.hero-terminal-title{flex:1;text-align:center;font-family:var(--mono);font-size:12px;color:var(--term-title);margin-right:52px;transition:color .2s ease}.hero-terminal-body{padding:40px 48px 48px;min-height:380px;display:flex;flex-direction:column;justify-content:center;font-family:var(--mono);color:var(--term-body-text);transition:background-color .2s ease,color .2s ease}.hero-rotate{position:relative;margin-bottom:0}.hero-slide{position:absolute;top:0;left:0;width:100%;opacity:0;transform:translateY(14px);transition:opacity .55s ease,transform .55s ease;visibility:hidden;pointer-events:none}.hero-slide.is-active{position:relative;opacity:1;transform:translateY(0);visibility:visible;pointer-events:auto}.hero-issue{font-family:var(--mono);font-size:14px;color:var(--term-prompt);margin-bottom:28px;transition:color .2s ease}.hero-issue:before{content:"guest@faisal:~$ "}.hero-issue:after{content:"";display:inline-block;width:8px;height:16px;margin-left:6px;background:var(--term-prompt);vertical-align:-3px;animation:blink 1s steps(1) infinite;transition:background-color .2s ease}@keyframes blink{50%{opacity:0}}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.hero-ascii-banner{display:flex;flex-direction:column;gap:10px}.hero-whoami-row{display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap}.hero-whoami-left{flex:1 1 320px;min-width:0}.hero-ascii-portrait{flex:0 1 auto;font-family:var(--mono);font-size:clamp(5.5px,.72vw,10px);line-height:1.05;letter-spacing:0;color:var(--term-accent);white-space:pre;overflow:hidden;margin:0;transition:color .2s ease;opacity:.92}.hero-ascii-portrait--light{display:none;font-size:clamp(5px,.68vw,8.5px);line-height:1.02;max-height:none;overflow-x:auto;overflow-y:visible}[data-theme=light] .hero-ascii-portrait--light{display:block;font-size:clamp(5px,.75vw,9px)}[data-theme=light] .hero-ascii-portrait--dark{display:none}.hero-ascii-name{font-size:clamp(5px,.55vw,7px);line-height:1.15}.hero-ascii-name--light{display:none}[data-theme=light] .hero-ascii-name--light{display:block}[data-theme=light] .hero-ascii-name--dark{display:none}.hero-ascii-greeting{font-family:var(--mono);font-size:18px;color:var(--term-body-text);margin:0;transition:color .2s ease}.hero-ascii-tagline{margin-top:16px;font-family:var(--mono)}.hero-ascii-role{font-size:16px;color:var(--term-strong);margin:0 0 6px;transition:color .2s ease}.hero-ascii-tag{font-size:14px;color:var(--term-muted);margin:0;transition:color .2s ease}.hero-ascii{font-family:var(--mono);font-size:clamp(7px,.95vw,10px);line-height:1.12;letter-spacing:0;color:var(--term-accent);white-space:pre;overflow-x:auto;margin:0;transition:color .2s ease}.hero-output{font-family:var(--mono);font-size:15px;line-height:1.85;color:var(--term-body-text);max-width:760px;transition:color .2s ease}.hero-output-label{color:var(--term-prompt);display:block;margin-bottom:8px}.hero-output strong{color:var(--term-strong);font-weight:600}.hero-contact p{margin:0}.hero-contact-key{display:inline-block;min-width:10ch;color:var(--term-strong)}.hero-contact a{color:var(--term-accent);text-decoration:none}.hero-contact a:hover{text-decoration:underline}.hero-card:before,.section:before,.split-card:before{content:"●●●";display:block;font-family:var(--mono);font-size:10px;color:var(--muted);padding:8px 12px;border-bottom:1px solid var(--line);background:var(--panel-2);letter-spacing:6px}.section{margin:24px 0;padding:64px 36px;border:1px solid var(--text);background:var(--section-bg);box-shadow:var(--shadow);position:relative}.section+.section{border-top:1px solid var(--text)}.section-header{display:flex;align-items:center;gap:16px;margin-bottom:48px}.section-num{font-family:var(--mono);font-size:12px;color:var(--accent)}.section-num:before{content:"["}.section-num:after{content:"]"}.section-title{font-family:var(--mono);font-size:44px;font-weight:800;letter-spacing:0;color:var(--text);text-transform:lowercase}.section-title:before{content:"ls ";color:var(--accent);font-weight:400}.section-title em{font-style:normal;color:var(--accent)}.section-rule{flex:1;border-top:1px dashed var(--line);height:1px;background:transparent;margin:0}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px}.contact-section:before{display:none}.contact-wrap{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:stretch}.split-card{border:1px solid var(--text);background:var(--panel);box-shadow:var(--shadow);padding:0;overflow:hidden}.split-card-body,.contact-left.split-card .split-card-body{padding:28px 24px 24px}.contact-right.split-card{padding-bottom:22px}.contact-section .split-card{border:1px solid var(--line);box-shadow:none}.about-body{font-size:17px;color:var(--muted)}.about-body p+p{margin-top:1.2em}.about-body strong{color:var(--text);font-weight:700}.about-sections{max-width:820px}.about-outline{display:flex;flex-direction:column;align-items:stretch;position:static;z-index:auto;margin-bottom:44px;padding:18px;border:1px solid var(--line);background:var(--panel);box-shadow:none;backdrop-filter:none}.about-outline-title{margin:0 0 14px;font-family:var(--mono);font-size:13px;color:var(--accent);text-transform:lowercase}.about-outline-title:before{content:"$ ";color:var(--muted)}.about-outline ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;margin:0;padding:0;list-style:none;counter-reset:about-outline}.about-outline li{counter-increment:about-outline;min-width:0}.about-outline a{display:inline-flex;gap:8px;align-items:baseline;color:var(--muted);font-family:var(--mono);font-size:12px;line-height:1.45;text-decoration:none}.about-outline a:before{content:counter(about-outline,decimal-leading-zero);flex:0 0 auto;color:var(--accent)}.about-outline a:hover{color:var(--accent);text-decoration:underline}.about-section{scroll-margin-top:96px}.about-section+.about-section{margin-top:44px;padding-top:34px;border-top:1px dashed var(--line)}.about-section h3{margin-bottom:16px;font-family:var(--mono);font-size:20px;line-height:1.3;color:var(--text);letter-spacing:0}.about-section h3:before{content:"./";color:var(--accent);font-weight:400}.about-section ul{display:grid;gap:10px;margin:16px 0 0;padding:0;list-style:none}.about-section ul+p{margin-top:1.2em}.about-section li{position:relative;padding-left:22px}.about-section li:before{content:">";position:absolute;left:0;top:0;font-family:var(--mono);color:var(--accent)}.about-inline-link{display:inline-block;font-family:var(--mono);font-size:13px;color:var(--accent);text-decoration:none}.about-inline-link:before{content:"$ ";color:var(--muted)}.about-inline-link:hover{text-decoration:underline}.education-card{display:grid;grid-template-columns:72px 1fr;gap:18px;padding:18px;border:1px solid var(--line);background:var(--panel)}.education-card+.education-card{margin-top:14px}.education-logo{width:56px;height:56px;border:1px solid var(--text);background:var(--accent-soft);display:flex;align-items:center;justify-content:center;box-shadow:3px 3px 0 var(--text)}.education-logo span{font-family:var(--mono);font-size:15px;font-weight:800;color:var(--accent)}.education-logo img{width:100%;height:100%;object-fit:contain;padding:5px}.education-content{min-width:0}.education-school{font-family:var(--mono);font-size:15px;color:var(--accent)}.education-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.education-meta span{font-family:var(--mono);font-size:10px;text-transform:lowercase;letter-spacing:0;padding:2px 8px;border:1px solid var(--line);color:var(--muted);background:var(--panel-2)}.about-skills{display:flex;flex-direction:column;gap:16px}.skill-item{border:1px solid var(--line);background:var(--panel);padding:14px}.skill-top{display:flex;justify-content:space-between;align-items:baseline}.skill-name,.skill-pct{font-family:var(--mono);font-size:12px;color:var(--text);text-transform:lowercase;letter-spacing:0}.skill-pct{color:var(--accent)}.skill-bar{height:8px;background:var(--panel-2);border:1px solid var(--line);position:relative;margin-top:10px}.skill-fill{position:absolute;left:0;top:0;bottom:0;background:var(--accent);width:0;transition:width 1s ease}.skill-fill.animated{width:var(--w)}.projects-grid{display:flex;flex-direction:column;gap:12px}.section-empty{padding:24px;border:1px dashed var(--line);background:var(--panel)}.section-empty-message{margin:0;font-size:16px;line-height:1.6;color:var(--muted)}.project-row{display:grid;grid-template-columns:56px 1fr auto;gap:20px;align-items:start;padding:20px;border:1px solid var(--line);background:var(--panel);transition:transform .15s,box-shadow .15s;position:relative}.project-row:before{display:none}.project-row:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--text)}.project-row:first-child{border-top:1px solid var(--line)}.project-index{font-family:var(--mono);font-size:12px;color:var(--accent);padding-top:4px}.project-index:before{content:"#"}.project-tags{display:flex;gap:8px;margin-bottom:10px;flex-wrap:wrap}.project-tag{font-family:var(--mono);font-size:10px;text-transform:lowercase;letter-spacing:0;padding:2px 8px;border:1px solid var(--line);color:var(--muted);background:var(--panel-2)}.project-tag.featured{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.project-title{font-family:var(--mono);font-size:20px;font-weight:800;color:var(--text);margin-bottom:8px;line-height:1.25}.project-title:before{content:"./";color:var(--accent)}.project-desc{font-size:15px;font-style:normal;color:var(--muted);max-width:700px}.project-arrow{font-family:var(--mono);font-size:18px;color:var(--accent);align-self:center}.project-row:hover .project-arrow{transform:translate(4px);color:var(--accent)}.experience-intro{max-width:720px;margin-bottom:28px;font-size:17px;color:var(--muted)}.experience-list{display:flex;flex-direction:column;gap:18px}.experience-card{display:grid;grid-template-columns:92px 1fr;gap:22px;padding:22px;border:1px solid var(--line);background:var(--panel)}.experience-logo{width:72px;height:72px;border:1px solid var(--text);background:var(--panel-2);display:flex;align-items:center;justify-content:center;box-shadow:3px 3px 0 var(--text);overflow:hidden}.experience-logo img{width:100%;height:100%;object-fit:contain;padding:10px}.experience-logo span{font-family:var(--mono);font-size:20px;font-weight:800;color:var(--accent)}.experience-content{min-width:0}.experience-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.experience-meta span,.experience-stack span{font-family:var(--mono);font-size:10px;text-transform:lowercase;letter-spacing:0;padding:2px 8px;border:1px solid var(--line);color:var(--muted);background:var(--panel-2)}.experience-content h3{font-family:var(--mono);font-size:22px;line-height:1.25;color:var(--text);letter-spacing:0;margin-bottom:4px}.experience-content h3:before{content:"./";color:var(--accent);font-weight:400}.experience-company{font-family:var(--mono);font-size:13px;color:var(--accent);margin-bottom:14px}.experience-summary{max-width:760px;color:var(--muted);margin-bottom:22px}.experience-block+.experience-block{margin-top:22px}.experience-block h4{margin-bottom:10px;font-family:var(--mono);font-size:13px;color:var(--text);text-transform:lowercase;letter-spacing:0}.experience-block ul{display:grid;gap:10px;margin:0;padding:0;list-style:none;color:var(--muted)}.experience-block li{position:relative;padding-left:22px}.experience-block li:before{content:">";position:absolute;left:0;top:0;font-family:var(--mono);color:var(--accent)}.experience-stack{display:flex;flex-wrap:wrap;gap:8px}.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.blog-grid .section-empty{grid-column:1 / -1}.blog-card{padding:20px;border:1px solid var(--line);background:var(--panel);transition:transform .15s,box-shadow .15s}.blog-card:nth-child(2),.blog-card:last-child{padding-left:20px;padding-right:20px}.blog-card:last-child{border-right:1px solid var(--line)}.blog-card:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--text)}.blog-category,.blog-date{font-family:var(--mono);font-size:11px;color:var(--accent);text-transform:lowercase;letter-spacing:0}.blog-date{color:var(--muted);margin:6px 0 14px}.blog-title{font-family:var(--mono);font-size:18px;font-weight:800;color:var(--text);line-height:1.35;margin-bottom:14px}.blog-card:hover .blog-title{color:var(--accent)}.blog-excerpt{font-size:14px;font-style:normal;color:var(--muted);line-height:1.6;margin-bottom:18px}.blog-read{font-family:var(--mono);font-size:12px;color:var(--accent);text-decoration:none;text-transform:lowercase;letter-spacing:0}.gold-rule{height:0;margin:0}.home-featured-block+.home-featured-block{margin-top:48px;padding-top:48px;border-top:1px dashed var(--line)}.home-featured-label{font-family:var(--mono);font-size:12px;color:var(--accent);margin-bottom:20px;text-transform:lowercase}.home-featured-label:before{content:"./"}.home-featured-posts{grid-template-columns:1fr;max-width:560px}a.project-row{color:inherit;text-decoration:none;display:grid}.section-view-all{display:inline-block;margin-top:20px;font-family:var(--mono);font-size:12px;color:var(--accent);text-decoration:none;text-transform:lowercase}.section-view-all:before{content:"$ ";color:var(--muted)}.section-view-all:hover{text-decoration:underline}.post-back{display:inline-block;margin-bottom:32px;font-family:var(--mono);font-size:12px;color:var(--accent);text-decoration:none}.post-back:hover{text-decoration:underline}.post-header{margin-bottom:40px;padding-bottom:32px;border-bottom:1px dashed var(--line)}.post-category{font-family:var(--mono);font-size:11px;color:var(--accent);text-transform:lowercase;display:block;margin-bottom:8px}.post-date{font-family:var(--mono);font-size:12px;color:var(--muted);display:block;margin-bottom:20px}.post-title{font-family:var(--mono);font-size:clamp(28px,4vw,42px);font-weight:800;line-height:1.15;color:var(--text);margin-bottom:16px}.post-description{font-size:18px;color:var(--muted);line-height:1.65;max-width:640px}.post-content{max-width:680px;font-size:17px;line-height:1.75;color:var(--muted)}.post-content :global(h2){font-family:var(--mono);font-size:22px;font-weight:800;color:var(--text);margin:2.2em 0 .8em}.post-content :global(h3){font-family:var(--mono);font-size:17px;font-weight:700;color:var(--text);margin:1.8em 0 .6em}.post-content :global(p){margin-bottom:1.2em}.post-content :global(strong){color:var(--text);font-weight:600}.post-content :global(ul),.post-content :global(ol){margin:0 0 1.2em 1.4em}.post-content :global(li){margin-bottom:.5em}.post-content :global(li::marker){color:var(--accent)}.post-content :global(a){color:var(--accent);text-decoration:underline}.post-content :global(blockquote){margin:1.5em 0;padding:16px 20px;border-left:3px solid var(--accent);background:var(--panel-2);color:var(--text);font-style:italic}.post-content :global(code){font-family:var(--mono);font-size:.9em;padding:2px 6px;background:var(--panel-2);border:1px solid var(--line);color:var(--accent)}.contact-headline{font-family:var(--mono);font-size:54px;font-weight:800;line-height:1.05;letter-spacing:0;color:var(--text);margin-bottom:22px}.contact-headline em{font-style:normal;color:var(--accent);background:var(--accent-soft)}.contact-body{font-size:17px;color:var(--muted);font-style:normal;margin-bottom:36px}.contact-links{display:flex;flex-direction:column;gap:10px}.contact-link{display:flex;align-items:center;justify-content:space-between;padding:14px;border:1px solid var(--line);background:var(--panel);text-decoration:none;transition:transform .15s,box-shadow .15s}.contact-link:first-child{border-top:1px solid var(--line)}.contact-link:hover{padding-left:14px;transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--text)}.contact-link-left{display:flex;align-items:center;gap:12px}.contact-icon{flex-shrink:0;width:34px;height:34px;border:1px solid var(--line);background:var(--panel-2);display:flex;align-items:center;justify-content:center;color:var(--accent)}.contact-icon svg{display:block;width:18px;height:18px}.contact-link:hover .contact-icon{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.contact-link-name{font-family:var(--mono);font-size:14px;color:var(--text);font-weight:700}.contact-link-handle{font-family:var(--mono);font-size:11px;color:var(--muted);letter-spacing:0}.contact-link-arrow{font-family:var(--mono);font-size:16px;color:var(--accent)}button.contact-link{width:100%;font:inherit;text-align:left;cursor:pointer;appearance:none}.contact-right{padding-bottom:22px}.contact-form-label{font-family:var(--mono);font-size:12px;color:var(--accent);margin:20px 22px;text-transform:lowercase;letter-spacing:0}.contact-form-label:before{content:"$ ";display:inline;width:auto;height:auto;background:transparent}.form-group{margin:0 22px 16px}.form-group label{display:block;font-family:var(--mono);font-size:11px;color:var(--muted);margin-bottom:6px;text-transform:lowercase;letter-spacing:0}.form-group input,.form-group textarea{width:100%;background:var(--bg);border:1px solid var(--line);color:var(--text);font-family:var(--mono);font-size:13px;padding:11px 12px;outline:none;resize:none}.form-group input:focus,.form-group textarea:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--placeholder);font-style:normal}.form-group textarea{height:120px}.form-submit{width:calc(100% - 44px);margin:4px 22px 0;background:var(--accent);border:1px solid var(--text);color:#fff;font-family:var(--mono);font-size:12px;padding:12px;text-transform:lowercase;letter-spacing:0;box-shadow:3px 3px 0 var(--text)}.form-submit:hover{transform:translate(1px,1px);box-shadow:2px 2px 0 var(--text)}.form-submit:disabled{opacity:.85;cursor:wait;transform:none;box-shadow:3px 3px 0 var(--text)}.contact-form-reaction{margin:16px 22px 0;padding:14px;border:1px dashed var(--line);background:var(--bg);min-height:0}.contact-form-reaction.is-active{animation:contact-reaction-in .25s ease}.contact-reaction-line{margin:0;font-family:var(--mono);font-size:12px;line-height:1.55;opacity:0;transform:translateY(6px);transition:opacity .35s ease,transform .35s ease}.contact-reaction-line+.contact-reaction-line{margin-top:6px}.contact-reaction-line.is-visible{opacity:1;transform:translateY(0)}.contact-reaction-line--muted{color:var(--muted)}.contact-reaction-line--ok{color:var(--accent);font-weight:600}.contact-reaction-line--error{color:#b33}[data-theme=dark] .contact-reaction-line--error{color:#f08080}.contact-form-reaction.is-success{border-color:var(--accent);background:var(--accent-soft)}.contact-form-reaction.is-error{border-color:#b33;background:#b3333314}@keyframes contact-reaction-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}footer{margin:24px 0;padding:18px 20px;border:1px solid var(--text);background:var(--panel);box-shadow:var(--shadow);display:flex;align-items:center;justify-content:space-between}.footer-start{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.footer-social{display:flex;align-items:center;gap:8px}.footer-social a{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid var(--line);background:var(--panel-2);color:var(--accent);text-decoration:none;transition:border-color .2s ease,background .2s ease,transform .2s ease,box-shadow .2s ease}.footer-social a:hover{border-color:var(--accent);background:var(--accent-soft);transform:translate(-2px,-2px);box-shadow:2px 2px 0 var(--text)}.footer-social .contact-icon{width:34px;height:34px}.footer-social .contact-icon svg{width:16px;height:16px}.footer-logo,.footer-copy,.footer-back{font-family:var(--mono);font-size:11px;color:var(--muted);text-decoration:none;letter-spacing:0}.footer-logo span,.footer-back:hover{color:var(--accent)}.footer-copy-muted{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px;font-family:var(--mono);font-size:10px;letter-spacing:.1em;color:var(--footer-muted)}.footer-astro{display:inline-flex;align-items:center;gap:5px;color:inherit;text-decoration:none;letter-spacing:.1em;transition:color .2s ease}.footer-astro:hover{color:var(--accent)}.footer-astro-logo{display:block;width:18px;height:18px;object-fit:contain;border-radius:4px}.footer-copy-sep{opacity:.7}.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}.reveal.visible{opacity:1;transform:translateY(0)}.reveal-delay-1{transition-delay:.08s}.reveal-delay-2{transition-delay:.16s}.reveal-delay-3{transition-delay:.24s}@media(max-width:900px){:root{--page-gutter: 14px}.page-shell{padding-top:10px}.site-nav{top:10px;margin-bottom:20px}.nav-links{display:none}.hero{padding:0 0 28px}.hero-terminal-body{display:block;padding:18px 14px 16px;min-height:unset!important;height:auto}.hero-rotate,.hero-slide.is-active,.hero-ascii-banner{min-height:0;height:auto}.hero-rotate{margin:0}.hero-slide:not(.is-active){display:none}.hero-slide.is-active{position:relative;transform:none}.hero-ascii{font-size:6px}.hero-ascii-name{font-size:5px}.hero-ascii-portrait{display:none!important}.hero-whoami-row{display:block}.hero-whoami-left{flex:none;width:100%}.hero-issue{margin-bottom:14px}.hero-ascii-tagline{margin-top:10px}.hero-output{font-size:13px}.hero-terminal-title{font-size:11px;margin-right:44px}.section{margin:14px 0;padding:48px 20px}.section-title{font-size:32px}.contact-headline{font-size:38px}.about-grid,.blog-grid{grid-template-columns:1fr;gap:24px}.contact-wrap{grid-template-columns:1fr;gap:16px}.about-outline ol{grid-template-columns:1fr}.education-card{grid-template-columns:1fr;gap:14px}.home-featured-posts{max-width:none}.post-title{font-size:28px}.project-row{grid-template-columns:40px 1fr 20px;gap:12px;padding:16px}.experience-card{grid-template-columns:1fr;gap:18px;padding:18px}.experience-logo{width:64px;height:64px}.experience-content h3{font-size:19px}footer{margin:14px 0;flex-direction:column;gap:10px;text-align:center}.footer-start{align-items:center}.footer-social{justify-content:center}}
