@import url("https://fonts.googleapis.com/css2?family=Share+Tech+Mono&family=DM+Mono:ital,wght@0,300;0,400;0,500;1,300&family=Crimson+Pro:ital,wght@0,300;0,400;0,600;1,300;1,400&display=swap");*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}:root{--bg-void: #0a0d0f;--bg-surface: #0f1614;--bg-card: #141c18;--accent-neon: #39ff8a;--accent-soft: #7de8b0;--accent-teal: #2dd4bf;--accent-amber: #f5c842;--text-primary: #d4f5e2;--text-secondary: #8ab8a0;--text-muted: #4a6b5a}html{scroll-behavior:smooth;font-size:18px}body{background-color:#0a0d0f;color:#d4f5e2;font-family:"Crimson Pro",serif;font-weight:300;line-height:1.8;min-height:100vh;overflow-x:hidden;position:relative}body::before{content:'';position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.03'/%3E%3C/svg%3E");pointer-events:none;z-index:0;opacity:0.4}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:#0a0d0f}::-webkit-scrollbar-thumb{background:#39ff8a;opacity:0.5;border-radius:2px}h1,h2,h3,h4,h5,h6{font-family:"Share Tech Mono",monospace;font-weight:400;color:#7de8b0;letter-spacing:0.02em;line-height:1.3}h1{font-size:2rem;color:#39ff8a}h2{font-size:1.5rem}h3{font-size:1.15rem}p{margin-bottom:1rem;color:#d4f5e2}a{color:#2dd4bf;text-decoration:none;transition:color 0.15s ease,text-shadow 0.15s ease}a:hover{color:#39ff8a;text-shadow:0 0 12px rgba(57,255,138,0.5)}strong{color:#7de8b0;font-weight:600}em{color:#f5c842;font-style:italic}code,pre{font-family:"DM Mono",monospace;background:#141c18;border:1px solid rgba(57,255,138,0.08);border-radius:4px}code{padding:0.1em 0.4em;font-size:0.85em;color:#39ff8a}pre{padding:1rem;overflow-x:auto;margin-bottom:1rem;border-left:2px solid #39ff8a}pre code{background:none;border:none;padding:0}blockquote{border-left:3px solid #9f7aea;padding:.5rem 1rem;margin:1rem 0;background:rgba(159,122,234,0.05);font-style:italic;color:#8ab8a0}hr{border:none;border-top:1px solid rgba(57,255,138,0.08);margin:2rem 0;position:relative}hr::after{content:'◈';position:absolute;left:50%;top:50%;transform:translate(-50%, -50%);background:#0a0d0f;padding:0 .5rem;color:#2dd4bf;font-size:0.7rem}ul,ol{padding-left:2rem;margin-bottom:1rem}ul li,ol li{margin-bottom:.25rem}ul li::marker,ol li::marker{color:#39ff8a}img{max-width:100%;border-radius:4px;border:1px solid rgba(57,255,138,0.08)}::selection{background:rgba(57,255,138,0.2);color:#39ff8a}.site-wrapper{position:relative;z-index:1;min-height:100vh;display:flex;flex-direction:column}.main-content{flex:1;max-width:860px;margin:0 auto;padding:4.25rem 2rem .25rem;width:100%}.page-header{margin-bottom:4rem;padding-bottom:2rem;border-bottom:1px solid rgba(57,255,138,0.08);position:relative}.page-header .page-title{font-family:"Share Tech Mono",monospace;font-size:1.8rem;color:#39ff8a;margin-bottom:.5rem}.page-header .page-title::before{content:'> ';color:#2dd4bf;opacity:0.6}.page-header .page-subtitle{color:#8ab8a0;font-family:"DM Mono",monospace;font-size:0.85rem;letter-spacing:0.05em}.section-label{font-family:"DM Mono",monospace;font-size:0.7rem;letter-spacing:0.2em;text-transform:uppercase;color:#2dd4bf;margin-bottom:.5rem}.section-label::before{content:'//';margin-right:.25rem;opacity:0.5}.card,.home-hero .hero-card,.project-card{background:#141c18;border:1px solid rgba(57,255,138,0.08);border-radius:8px;padding:2rem;transition:border-color 0.3s ease,box-shadow 0.3s ease;position:relative;overflow:hidden}.card::before,.home-hero .hero-card::before,.project-card::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg, transparent, #39ff8a, transparent);opacity:0;transition:opacity 0.3s ease}.card:hover,.home-hero .hero-card:hover,.project-card:hover{border-color:rgba(57,255,138,0.2);box-shadow:0 0 24px rgba(57,255,138,0.06),0 4px 24px rgba(0,0,0,0.4)}.card:hover::before,.home-hero .hero-card:hover::before,.project-card:hover::before{opacity:1}.site-footer{text-align:center;padding:2rem;border-top:1px solid rgba(57,255,138,0.08);font-family:"DM Mono",monospace;font-size:0.75rem;color:#4a6b5a;position:relative;z-index:1}.site-footer .footer-sigil{display:block;margin-bottom:.5rem;color:#2dd4bf;font-size:1rem;letter-spacing:0.5em}.site-footer a{color:#4a6b5a}.site-footer a:hover{color:#7de8b0}@media (max-width: 640px){.main-content{padding:6rem 1rem 4rem}h1{font-size:1.5rem}}.site-nav{position:fixed;top:0;left:0;right:0;height:4rem;z-index:100;background:rgba(10,13,15,0.9);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(57,255,138,0.08)}.site-nav::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg, transparent 0%, #39ff8a 30%, #2dd4bf 70%, transparent 100%);opacity:0.4}.site-nav .nav-inner{max-width:860px;margin:0 auto;padding:0 2rem;height:100%;display:flex;align-items:center;justify-content:space-between}.site-nav .nav-brand{font-family:"Share Tech Mono",monospace;font-size:1rem;color:#39ff8a;letter-spacing:0.05em;text-decoration:none;position:relative}.site-nav .nav-brand .brand-cursor{display:inline-block;width:8px;height:14px;background:#39ff8a;margin-left:3px;vertical-align:middle;animation:blink 1.2s step-end infinite}.site-nav .nav-brand:hover{text-shadow:0 0 16px rgba(57,255,138,0.7);color:#39ff8a}.site-nav .nav-links{display:flex;align-items:center;gap:2rem;list-style:none;margin:0;padding:0}.site-nav .nav-links a{font-family:"DM Mono",monospace;font-size:0.78rem;letter-spacing:0.12em;text-transform:uppercase;color:#8ab8a0;position:relative;padding-bottom:2px;transition:color 0.15s ease}.site-nav .nav-links a::after{content:'';position:absolute;bottom:-2px;left:0;width:0;height:1px;background:#39ff8a;transition:width 0.3s ease;box-shadow:0 0 6px #39ff8a}.site-nav .nav-links a:hover,.site-nav .nav-links a.active{color:#7de8b0;text-shadow:none}.site-nav .nav-links a:hover::after,.site-nav .nav-links a.active::after{width:100%}.site-nav .nav-links a.active{color:#39ff8a}.site-nav .nav-links a[href*="projects"]::before{content:'◈ ';color:#2dd4bf;font-size:0.7em}.site-nav .nav-links a[href*="cv"]::before{content:'⊕ ';color:#f5c842;font-size:0.7em}.site-nav .nav-links a[href*="blog"]::before{content:'✦ ';color:#9f7aea;font-size:0.7em}.site-nav .nav-toggle{display:none;background:none;border:1px solid rgba(57,255,138,0.2);border-radius:4px;padding:.25rem .5rem;color:#7de8b0;font-family:"DM Mono",monospace;font-size:0.75rem;cursor:pointer;letter-spacing:0.1em;transition:background 0.15s ease}.site-nav .nav-toggle:hover{background:rgba(57,255,138,0.08)}@media (max-width: 640px){.site-nav .nav-links{display:none;position:absolute;top:4rem;left:0;right:0;flex-direction:column;background:rgba(10,13,15,0.97);border-bottom:1px solid rgba(57,255,138,0.08);padding:1rem 2rem;gap:1rem;align-items:flex-start}.site-nav .nav-links.open{display:flex}.site-nav .nav-toggle{display:block}}.home-hero{padding:4rem 0;position:relative}.home-hero .hero-eyebrow{font-family:"DM Mono",monospace;font-size:0.75rem;letter-spacing:0.25em;text-transform:uppercase;color:#2dd4bf;margin-bottom:1rem;animation:fadeInUp 0.6s ease both}.home-hero .hero-eyebrow::before{content:'// ';opacity:0.5}.home-hero .hero-name{font-family:"Share Tech Mono",monospace;font-size:clamp(2rem, 6vw, 3.5rem);color:#39ff8a;line-height:1.1;margin-bottom:.5rem;text-shadow:0 0 40px rgba(57,255,138,0.2);animation:fadeInUp 0.6s 0.1s ease both}.home-hero .hero-tagline{font-family:"Crimson Pro",serif;font-size:1.25rem;font-weight:300;color:#8ab8a0;font-style:italic;margin-bottom:.5rem;animation:fadeInUp 0.6s 0.2s ease both}.home-hero .hero-nav-cards{display:grid;grid-template-columns:repeat(3, 1fr);gap:1rem;animation:fadeInUp 0.6s 0.35s ease both}@media (max-width: 600px){.home-hero .hero-nav-cards{grid-template-columns:1fr}}.home-hero .hero-card{text-align:center;text-decoration:none;display:block;padding:2rem 1rem}.home-hero .hero-card .card-glyph{font-size:1.5rem;display:block;margin-bottom:.5rem}.home-hero .hero-card .card-label{font-family:"DM Mono",monospace;font-size:0.75rem;letter-spacing:0.2em;text-transform:uppercase;color:#8ab8a0;display:block;margin-bottom:.25rem}.home-hero .hero-card .card-desc{font-size:0.85rem;color:#4a6b5a;font-family:"DM Mono",monospace}.home-hero .hero-card:hover .card-glyph{text-shadow:0 0 20px currentColor;animation:pulse-glyph 1s ease infinite}.home-hero .hero-card:hover .card-label{color:#7de8b0}.home-hero .hero-card--projects .card-glyph{color:#2dd4bf}.home-hero .hero-card--cv .card-glyph{color:#f5c842}.home-hero .hero-card--blog .card-glyph{color:#9f7aea}.home-about{margin:.25rem 0 .25rem;padding-top:0px;border-top:1px solid rgba(57,255,138,0.08);animation:fadeInUp 0.6s 0.5s ease both}.home-about p{font-size:1.1rem;max-width:680px}.home-recent{margin-top:1rem}.home-recent .recent-posts-list{list-style:none;padding:0;margin-top:1rem}.home-recent .recent-post-item{padding:1rem 0;border-bottom:1px solid rgba(57,255,138,0.08);display:flex;justify-content:space-between;align-items:baseline;gap:1rem}.home-recent .recent-post-item:last-child{border-bottom:none}.home-recent .recent-post-item a{font-family:"Crimson Pro",serif;font-size:1.05rem;color:#d4f5e2}.home-recent .recent-post-item a:hover{color:#7de8b0}.home-recent .recent-post-item .post-date{font-family:"DM Mono",monospace;font-size:0.72rem;color:#4a6b5a;white-space:nowrap;letter-spacing:0.05em}.post-list{list-style:none;padding:0}.post-list .post-item{margin-bottom:4rem;padding-bottom:4rem;border-bottom:1px solid rgba(57,255,138,0.08)}.post-list .post-item:last-child{border-bottom:none}.post-list .post-meta{display:flex;gap:1rem;align-items:center;margin-bottom:.5rem}.post-list .post-date{font-family:"DM Mono",monospace;font-size:0.72rem;color:#4a6b5a;letter-spacing:0.08em}.post-list .post-tag{font-family:"DM Mono",monospace;font-size:0.65rem;letter-spacing:0.12em;text-transform:uppercase;padding:2px 8px;border:1px solid rgba(57,255,138,0.2);border-radius:2px;color:#2dd4bf;background:rgba(45,212,191,0.05)}.post-list .post-title{font-family:"Share Tech Mono",monospace;font-size:1.3rem;margin-bottom:.5rem}.post-list .post-title a{color:#7de8b0}.post-list .post-title a:hover{color:#39ff8a}.post-list .post-excerpt{color:#8ab8a0;font-size:1rem;line-height:1.7;max-width:680px}.post-list .read-more{display:inline-block;margin-top:.5rem;font-family:"DM Mono",monospace;font-size:0.75rem;letter-spacing:0.12em;text-transform:uppercase;color:#2dd4bf}.post-list .read-more::after{content:' →'}.post{max-width:860px}.post .post-header{margin-bottom:4rem;padding-bottom:2rem;border-bottom:1px solid rgba(57,255,138,0.08)}.post .post-title{font-family:"Share Tech Mono",monospace;font-size:2rem;color:#39ff8a;margin-bottom:1rem;line-height:1.2}.post .post-meta{display:flex;gap:1rem;flex-wrap:wrap;font-family:"DM Mono",monospace;font-size:0.75rem;color:#4a6b5a;letter-spacing:0.05em}.post .post-meta span{display:flex;align-items:center;gap:0.3em}.post .post-content{font-size:1.05rem;line-height:1.85}.post .post-content h2{margin-top:4rem;margin-bottom:1rem;padding-bottom:.25rem;border-bottom:1px solid rgba(57,255,138,0.08)}.post .post-content h3{margin-top:2rem;margin-bottom:.5rem}.post .post-content p+p{text-indent:0}.post .post-footer{margin-top:6rem;padding-top:2rem;border-top:1px solid rgba(57,255,138,0.08)}.post .post-footer .post-nav{display:flex;justify-content:space-between;gap:1rem;font-family:"DM Mono",monospace;font-size:0.8rem}.post .post-footer .post-nav a{color:#8ab8a0;max-width:45%}.post .post-footer .post-nav a:hover{color:#7de8b0}.post .post-footer .post-nav .prev::before{content:'← '}.post .post-footer .post-nav .next::after{content:' →'}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(300px, 1fr));gap:2rem;margin-top:2rem}.project-card .project-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem}.project-card .project-name{font-family:"Share Tech Mono",monospace;font-size:1rem;color:#7de8b0}.project-card .project-status{font-family:"DM Mono",monospace;font-size:0.65rem;letter-spacing:0.1em;padding:2px 6px;border-radius:2px}.project-card .project-status--active{background:rgba(57,255,138,0.1);color:#39ff8a;border:1px solid rgba(57,255,138,0.3)}.project-card .project-status--archived{background:rgba(74,107,90,0.2);color:#4a6b5a;border:1px solid rgba(57,255,138,0.08)}.project-card .project-desc{font-size:0.9rem;color:#8ab8a0;line-height:1.6;margin-bottom:1rem}.project-card .project-tags{display:flex;flex-wrap:wrap;gap:.25rem;margin-bottom:1rem}.project-card .project-tags span{font-family:"DM Mono",monospace;font-size:0.65rem;letter-spacing:0.08em;padding:2px 6px;background:rgba(45,212,191,0.05);border:1px solid rgba(45,212,191,0.15);border-radius:2px;color:#2dd4bf}.project-card .project-links{display:flex;gap:1rem}.project-card .project-links a{font-family:"DM Mono",monospace;font-size:0.72rem;letter-spacing:0.1em;text-transform:uppercase}.cv-section{margin-bottom:4rem}.cv-section .cv-entry{padding:1rem 0;border-bottom:1px solid rgba(57,255,138,0.08)}.cv-section .cv-entry:last-child{border-bottom:none}.cv-section .cv-entry .entry-header{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:.5rem;margin-bottom:.25rem}.cv-section .cv-entry .entry-title{font-family:"DM Mono",monospace;font-size:0.95rem;color:#7de8b0;font-weight:500}.cv-section .cv-entry .entry-period{font-family:"DM Mono",monospace;font-size:0.72rem;color:#4a6b5a;letter-spacing:0.05em}.cv-section .cv-entry .entry-org{font-family:"Crimson Pro",serif;font-style:italic;color:#2dd4bf;font-size:0.9rem;margin-bottom:.25rem}.cv-section .cv-entry .entry-desc{font-size:0.95rem;color:#8ab8a0;line-height:1.7}#matrix-canvas{position:fixed;top:0;left:0;width:100%;height:100%;z-index:0;opacity:0.6;pointer-events:none}.spore{position:fixed;border-radius:50%;pointer-events:none;z-index:0;animation:float-spore linear infinite;opacity:0}.spore--neon{background:radial-gradient(circle, rgba(57,255,138,0.6), transparent)}.spore--teal{background:radial-gradient(circle, rgba(45,212,191,0.5), transparent)}.spore--amber{background:radial-gradient(circle, rgba(245,200,66,0.4), transparent)}@keyframes blink{0%, 100%{opacity:1}50%{opacity:0}}@keyframes fadeInUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-glyph{0%, 100%{transform:scale(1)}50%{transform:scale(1.15)}}@keyframes float-spore{0%{transform:translateY(100vh) translateX(0) scale(0);opacity:0}10%{opacity:1}90%{opacity:0.6}100%{transform:translateY(-10vh) translateX(60px) scale(1.5);opacity:0}}@keyframes scanline{0%{top:-2px}100%{top:100%}}.glitch{position:relative}.glitch::before,.glitch::after{content:attr(data-text);position:absolute;top:0;left:0;width:100%;height:100%}.glitch::before{color:#2dd4bf;animation:glitch-1 3.5s infinite;clip-path:polygon(0 20%, 100% 20%, 100% 40%, 0 40%);transform:translate(-2px, 0)}.glitch::after{color:#9f7aea;animation:glitch-2 3.5s infinite;clip-path:polygon(0 60%, 100% 60%, 100% 80%, 0 80%);transform:translate(2px, 0)}@keyframes glitch-1{0%, 90%, 100%{opacity:0;transform:translate(-2px, 0)}91%{opacity:0.6;transform:translate(-3px, 1px)}93%{opacity:0}95%{opacity:0.4;transform:translate(-2px, -1px)}}@keyframes glitch-2{0%, 88%, 100%{opacity:0;transform:translate(2px, 0)}89%{opacity:0.5;transform:translate(3px, -1px)}92%{opacity:0}94%{opacity:0.3;transform:translate(2px, 1px)}}.page-enter{animation:fadeInUp 0.5s ease both}
