@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap";:root{--bg-primary: #09090b;--bg-surface: #111113;--bg-surface-elevated: #161619;--bg-subtle: #18181b;--border-subtle: #1f1f23;--border-strong: #27272a;--border-hover: #3f3f46;--text-primary: #f4f4f5;--text-secondary: #a1a1aa;--text-muted: #71717a;--text-dim: #52525b;--accent-dot: #10b981;--accent-dot-glow: rgba(16, 185, 129, .25);--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", SFMono-Regular, Menlo, Monaco, Consolas, monospace;--container-max: 920px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font-sans);background-color:var(--bg-primary);color:var(--text-primary);color-scheme:dark;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background-color:var(--bg-primary);color:var(--text-secondary);line-height:1.6;font-size:.95rem;overflow-x:hidden;min-height:100vh;display:flex;flex-direction:column}::-moz-selection{background:#27272a;color:#f4f4f5}::selection{background:#27272a;color:#f4f4f5}a{color:inherit;text-decoration:none;transition:color .15s ease}img{display:block;max-width:100%;height:auto}button{font-family:inherit;cursor:pointer;background:none;border:none}.container{width:100%;max-width:var(--container-max);margin-left:auto;margin-right:auto;padding-left:1.5rem;padding-right:1.5rem}.site-header{position:sticky;top:0;z-index:100;background:#09090bd1;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border-subtle);transition:border-color .2s ease}.site-header.scrolled{border-bottom-color:var(--border-strong)}.nav-inner{display:flex;align-items:center;justify-content:space-between;height:64px}.brand-link{display:inline-flex;align-items:center;gap:10px;font-weight:600;font-size:.95rem;color:var(--text-primary);letter-spacing:-.01em}.status-dot-wrapper{position:relative;display:inline-flex;width:8px;height:8px}.status-dot{width:8px;height:8px;background-color:var(--accent-dot);border-radius:50%;display:inline-block}.status-ping{position:absolute;top:0;left:0;width:100%;height:100%;border-radius:50%;background-color:var(--accent-dot);animation:pulse-ring 2s cubic-bezier(.24,0,.38,1) infinite;opacity:.7}@keyframes pulse-ring{0%{transform:scale(.95);opacity:.8}50%{transform:scale(1.9);opacity:0}to{transform:scale(.95);opacity:0}}.nav-links{display:flex;align-items:center;gap:1.5rem;list-style:none}.nav-link{font-family:var(--font-mono);font-size:.8rem;color:var(--text-secondary);letter-spacing:.02em;padding:6px 4px;position:relative;transition:color .15s ease}.nav-link:hover,.nav-link.active{color:var(--text-primary)}.nav-link.active:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:1px;background-color:var(--text-primary)}.mobile-menu-btn{display:none;color:var(--text-primary);padding:8px;border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:var(--bg-surface)}.mobile-nav-drawer{display:none;flex-direction:column;gap:1rem;padding:1.25rem 1.5rem;background:var(--bg-surface);border-bottom:1px solid var(--border-subtle)}.mobile-nav-drawer.open{display:flex}.hero-section{padding-top:5rem;padding-bottom:4rem}.hero-profile-row{display:flex;align-items:center;gap:1.5rem;margin-bottom:2rem}.hero-avatar-frame{width:72px;height:72px;border-radius:50%;padding:2px;background:var(--bg-surface);border:1px solid var(--border-strong);overflow:hidden;flex-shrink:0}.hero-avatar-frame img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:50%;filter:grayscale(20%);transition:filter .3s ease}.hero-avatar-frame:hover img{filter:grayscale(0%)}.hero-identity h1{font-size:1.45rem;font-weight:600;color:var(--text-primary);letter-spacing:-.02em;line-height:1.3}.hero-identity .role-meta{font-family:var(--font-mono);font-size:.8rem;color:var(--text-muted);margin-top:4px;letter-spacing:.02em}.hero-bio{font-size:1.15rem;line-height:1.6;color:var(--text-secondary);max-width:760px;margin-bottom:2rem;font-weight:400}.hero-bio strong{color:var(--text-primary);font-weight:500}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-mono);font-size:.8rem;letter-spacing:.02em;padding:8px 16px;border-radius:var(--radius-md);transition:all .15s ease;white-space:nowrap}.btn-primary{background:var(--text-primary);color:var(--bg-primary);font-weight:500;border:1px solid var(--text-primary)}.btn-primary:hover{background:#e4e4e7;border-color:#e4e4e7;color:#000}.btn-secondary{background:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border-subtle)}.btn-secondary:hover{background:var(--bg-subtle);border-color:var(--border-hover);color:#fff}.btn-ghost{background:transparent;color:var(--text-secondary);border:1px solid transparent}.btn-ghost:hover{color:var(--text-primary);background:var(--bg-surface);border-color:var(--border-subtle)}.section{padding-top:3.5rem;padding-bottom:3.5rem;border-top:1px solid var(--border-subtle)}.section-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:2rem}.section-title-wrap{display:flex;align-items:baseline;gap:12px}.section-index{font-family:var(--font-mono);font-size:.78rem;color:var(--text-muted);letter-spacing:.05em}.section-title{font-size:1.15rem;font-weight:600;color:var(--text-primary);letter-spacing:-.02em}.section-action-link{font-family:var(--font-mono);font-size:.78rem;color:var(--text-muted);display:inline-flex;align-items:center;gap:6px;letter-spacing:.02em;transition:color .15s ease}.section-action-link:hover{color:var(--text-primary)}.projects-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.projects-stack{display:flex;flex-direction:column;gap:16px}.project-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:1.5rem;display:flex;flex-direction:column;justify-content:space-between;transition:border-color .2s ease,transform .15s ease;position:relative}.project-card:hover{border-color:var(--border-hover)}.project-card-header{margin-bottom:1rem}.project-meta-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.category-badge{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.status-badge{font-family:var(--font-mono);font-size:.72rem;color:var(--accent-dot);display:inline-flex;align-items:center;gap:6px}.status-badge:before{content:"";display:inline-block;width:6px;height:6px;background-color:var(--accent-dot);border-radius:50%}.project-title{font-size:1.1rem;font-weight:600;color:var(--text-primary);letter-spacing:-.015em;line-height:1.35;margin-bottom:.5rem}.project-summary{font-size:.88rem;line-height:1.55;color:var(--text-secondary);margin-bottom:1.25rem}.framed-card{background:var(--bg-surface);border:1px solid var(--border-strong);border-radius:var(--radius-md);padding:6px;overflow:hidden;transition:border-color .2s ease;display:flex;flex-direction:column}.framed-card:hover{border-color:var(--border-hover)}.framed-img{width:100%;height:180px;aspect-ratio:16 / 10;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;border-radius:var(--radius-sm);filter:grayscale(15%) contrast(105%);transition:filter .3s ease}.framed-card:hover .framed-img{filter:grayscale(0%) contrast(100%)}.framed-caption{font-size:.8rem;color:var(--text-muted);line-height:1.45;padding:8px 6px 4px}.card-visual-row{margin-bottom:1.25rem}.card-thumbnail-wrap{width:100%;height:140px;border-radius:var(--radius-sm);overflow:hidden;background:#0d0d0f;border:1px solid var(--border-subtle);margin-bottom:1rem}.card-thumbnail-wrap img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;filter:grayscale(20%) contrast(102%);transition:filter .2s ease}.project-card:hover .card-thumbnail-wrap img{filter:grayscale(0%) contrast(100%)}.card-thumbnail-wrap.contain-logo{display:flex;align-items:center;justify-content:center;padding:1.5rem}.card-thumbnail-wrap.contain-logo img{width:auto;max-height:80px;-o-object-fit:contain;object-fit:contain}.tech-pills{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:1.25rem}.tech-pill{font-family:var(--font-mono);font-size:.72rem;color:var(--text-muted);background:var(--bg-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:2px 7px;letter-spacing:.02em}.card-links{display:flex;align-items:center;gap:12px;padding-top:1rem;border-top:1px solid var(--border-subtle);margin-top:auto}.link-btn{font-family:var(--font-mono);font-size:.78rem;color:var(--text-secondary);display:inline-flex;align-items:center;gap:5px;letter-spacing:.02em;transition:color .15s ease}.link-btn:hover{color:var(--text-primary)}.link-btn.primary{color:var(--text-primary);font-weight:500}.archive-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.archive-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:1.25rem;display:flex;flex-direction:column;transition:border-color .2s ease}.archive-card:hover{border-color:var(--border-hover)}.archive-card .date-badge{font-family:var(--font-mono);font-size:.72rem;color:var(--text-muted);margin-bottom:.5rem;letter-spacing:.03em}.archive-card h3{font-size:1.05rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem;letter-spacing:-.015em;line-height:1.35}.archive-card p{font-size:.86rem;color:var(--text-secondary);line-height:1.5;margin-bottom:1rem}.archive-meta{font-family:var(--font-mono);font-size:.75rem;color:var(--text-muted);display:flex;align-items:center;gap:8px;margin-top:auto;padding-top:.75rem;border-top:1px solid var(--border-subtle)}.lightbox-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:999;background:#000000eb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:none;align-items:center;justify-content:center;padding:2rem}.lightbox-modal.open{display:flex}.lightbox-content{position:relative;max-width:900px;max-height:88vh;display:flex;flex-direction:column;align-items:center}.lightbox-content img{max-width:100%;max-height:75vh;-o-object-fit:contain;object-fit:contain;border-radius:var(--radius-sm);border:1px solid var(--border-strong)}.lightbox-caption{font-family:var(--font-mono);font-size:.8rem;color:var(--text-secondary);margin-top:1rem;text-align:center}.lightbox-close{position:absolute;top:-40px;right:0;font-family:var(--font-mono);font-size:1rem;color:var(--text-secondary);padding:6px 12px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--bg-surface)}.lightbox-close:hover{color:#fff;border-color:var(--border-hover)}.narrative-block{margin-bottom:2.5rem}.narrative-block h2{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin-bottom:1rem;letter-spacing:-.015em}.narrative-block p{color:var(--text-secondary);font-size:.95rem;line-height:1.7;margin-bottom:1rem}.narrative-block strong{color:var(--text-primary);font-weight:500}.stack-categories{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:1.5rem}.stack-group{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:1.25rem}.stack-group-title{font-family:var(--font-mono);font-size:.8rem;font-weight:600;color:var(--text-primary);margin-bottom:.75rem;letter-spacing:.02em}.site-footer{margin-top:auto;border-top:1px solid var(--border-subtle);padding-top:3rem;padding-bottom:4rem;background:var(--bg-primary)}.footer-content{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1.5rem}.footer-brand{font-family:var(--font-mono);font-size:.8rem;color:var(--text-muted)}.footer-socials{display:flex;align-items:center;gap:1.25rem;list-style:none}.footer-social-link{font-family:var(--font-mono);font-size:.8rem;color:var(--text-secondary);transition:color .15s ease}.footer-social-link:hover{color:var(--text-primary)}.copy-toast{position:fixed;bottom:24px;right:24px;background:#18181b;color:#f4f4f5;border:1px solid var(--border-strong);font-family:var(--font-mono);font-size:.78rem;padding:8px 14px;border-radius:var(--radius-md);opacity:0;transform:translateY(10px);pointer-events:none;transition:opacity .2s ease,transform .2s ease;z-index:1000}.copy-toast.show{opacity:1;transform:translateY(0)}@media(max-width:768px){.hero-section{padding-top:3.5rem;padding-bottom:2.5rem}.hero-bio{font-size:1.02rem}.projects-grid,.archive-grid,.stack-categories{grid-template-columns:1fr}.nav-links{display:none}.mobile-menu-btn{display:block}.footer-content{flex-direction:column;align-items:flex-start}}
