@import "https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600&family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&family=Syne:wght@600;700;800&display=swap";:root{--c-black:#050505;--c-white:#fff;--c-surface:#141416;--c-muted:#787882;--c-accent:#3b82f6;--c-bg:var(--c-black);--c-card-bg:var(--c-surface);--c-text-primary:var(--c-white);--c-text-secondary:var(--c-muted);--c-border:#78788233;--c-border-hover:#ffffff59;--c-accent-glow:#3b82f633;--c-spotlight:#ffffff0d;--font-sans:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, sans-serif;--font-heading:"Syne", var(--font-sans);--font-mono:"JetBrains Mono", monospace;--max-width:1160px;--header-height:68px;--radius-sm:6px;--radius-md:12px;--radius-lg:18px;--radius-full:9999px;--ease:cubic-bezier(.16, 1, .3, 1);--duration:.26s}[data-theme=monochrome]{--c-accent:var(--c-white);--c-accent-glow:#ffffff26}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background-color:var(--c-bg)}body{font-family:var(--font-sans);background-color:var(--c-bg);color:var(--c-text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;line-height:1.5;position:relative;overflow-x:hidden}body.modal-open{overflow:hidden}#ambient-canvas{pointer-events:none;z-index:0;opacity:.6;width:100vw;height:100vh;position:fixed;top:0;left:0}.container{max-width:var(--max-width);z-index:2;margin:0 auto;padding:0 1.5rem;position:relative}a{color:inherit;text-decoration:none}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}ul{list-style:none}.site-header{width:100%;height:var(--header-height);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--c-border);z-index:100;transition:border-color var(--duration) var(--ease);background:#050505cc;position:sticky;top:0;left:0}.header-inner{justify-content:space-between;align-items:center;height:100%;display:flex}.brand-link{align-items:center;gap:.85rem;display:flex}.brand-logo{font-family:var(--font-heading);letter-spacing:-.04em;color:var(--c-white);transition:transform var(--duration) var(--ease);font-size:1.15rem;font-weight:800}.brand-logo:hover{transform:translateY(-1px)}.brand-status{font-size:.725rem;font-family:var(--font-mono);color:var(--c-muted);background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-full);align-items:center;gap:.45rem;padding:.2rem .6rem;display:inline-flex}.pulse-dot{background-color:var(--c-accent);width:6px;height:6px;box-shadow:0 0 10px var(--c-accent);border-radius:50%;animation:2s ease-in-out infinite pulseDot}@keyframes pulseDot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.8)}}.nav-menu{align-items:center;gap:2rem;display:flex}.nav-link{color:var(--c-muted);transition:color var(--duration) var(--ease);padding:.25rem 0;font-size:.85rem;font-weight:500;position:relative}.nav-link:after{content:"";background:var(--c-white);width:0%;height:1.5px;transition:width var(--duration) var(--ease);position:absolute;bottom:0;left:0}.nav-link:hover,.nav-link.active{color:var(--c-white)}.nav-link.active:after{width:100%}.header-controls{align-items:center;gap:.75rem;display:flex}.theme-toggle-btn{font-family:var(--font-mono);background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-full);color:var(--c-muted);transition:all var(--duration) var(--ease);align-items:center;gap:.45rem;padding:.35rem .75rem;font-size:.725rem;display:inline-flex}.theme-toggle-btn:hover{color:var(--c-white);border-color:var(--c-border-hover);transform:translateY(-1px)}.hero-section{padding:5.5rem 0 3.5rem;position:relative}.hero-content{max-width:800px}.hero-tag{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--c-accent);align-items:center;gap:.5rem;margin-bottom:1rem;font-size:.75rem;display:inline-flex}.hero-title{font-family:var(--font-heading);letter-spacing:-.045em;color:var(--c-white);margin-bottom:1.2rem;font-size:clamp(2.6rem,5.8vw,4.4rem);font-weight:800;line-height:1.05}.hero-subtitle{color:var(--c-muted);max-width:580px;margin-bottom:2.2rem;font-size:clamp(1rem,2vw,1.15rem);font-weight:400;line-height:1.5}.hero-actions{flex-wrap:wrap;align-items:center;gap:.85rem;display:flex}.btn{border-radius:var(--radius-sm);transition:all var(--duration) var(--ease);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:.5rem;padding:.65rem 1.25rem;font-size:.825rem;font-weight:600;display:inline-flex}.btn-primary{background-color:var(--c-white);color:var(--c-black);border:1px solid var(--c-white)}.btn-primary:hover{color:var(--c-white);background-color:#0000;transform:translateY(-2px);box-shadow:0 8px 24px #ffffff1f}.btn-secondary{background-color:var(--c-surface);color:var(--c-white);border:1px solid var(--c-border)}.btn-secondary:hover{border-color:var(--c-border-hover);transform:translateY(-2px);box-shadow:0 8px 24px #0006}.projects-section{padding:4.5rem 0 5.5rem}.section-header{margin-bottom:2rem}.section-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--c-accent);margin-bottom:.35rem;font-size:.725rem}.section-title{font-family:var(--font-heading);letter-spacing:-.035em;color:var(--c-white);font-size:clamp(1.8rem,3.8vw,2.6rem);font-weight:800}.toolbar-container{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:2.25rem;display:flex}.filter-group{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.filter-tab{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-full);color:var(--c-muted);transition:all var(--duration) var(--ease);padding:.4rem .85rem;font-size:.8rem;font-weight:500}.filter-tab:hover{color:var(--c-white);border-color:var(--c-border-hover);transform:translateY(-1px)}.filter-tab.active{background:var(--c-white);color:var(--c-black);border-color:var(--c-white);font-weight:600;transform:scale(1.02)}.toolbar-right{flex:1;justify-content:flex-end;align-items:center;gap:.75rem;max-width:400px;display:flex}.search-box{align-items:center;width:100%;max-width:240px;display:flex;position:relative}.search-icon{color:var(--c-muted);pointer-events:none;position:absolute;left:.75rem}.search-input{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-full);width:100%;color:var(--c-white);transition:all var(--duration) var(--ease);outline:none;padding:.45rem 2rem .45rem 2.1rem;font-family:inherit;font-size:.8rem}.search-input:focus{border-color:var(--c-white);box-shadow:0 0 12px #ffffff1a}.search-input::placeholder{color:var(--c-muted)}.clear-search-btn{color:var(--c-muted);padding:.2rem;display:none;position:absolute;right:.6rem}.clear-search-btn.visible{display:block}.view-toggle-group{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-full);align-items:center;padding:3px;display:flex}.view-btn{border-radius:var(--radius-full);color:var(--c-muted);transition:all var(--duration) var(--ease);justify-content:center;align-items:center;padding:.35rem .6rem;display:flex}.view-btn:hover{color:var(--c-white)}.view-btn.active{background:var(--c-bg);color:var(--c-white)}.projects-grid{grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.75rem;display:grid}.project-card{background:var(--c-card-bg);border:1px solid var(--c-border);border-radius:var(--radius-md);transition:transform var(--duration) var(--ease), border-color var(--duration) var(--ease), box-shadow var(--duration) var(--ease);cursor:pointer;flex-direction:column;justify-content:space-between;display:flex;position:relative;overflow:hidden}.project-card:before{content:"";top:var(--mouse-y,50%);left:var(--mouse-x,50%);background:radial-gradient(circle, var(--c-spotlight) 0%, transparent 70%);pointer-events:none;opacity:0;z-index:1;width:320px;height:320px;transition:opacity .3s;position:absolute;transform:translate(-50%,-50%)}.project-card:hover:before{opacity:1}.project-card:hover{border-color:var(--c-border-hover);transform:translateY(-4px);box-shadow:0 16px 36px -10px #000000b3}.card-thumbnail-box{aspect-ratio:16/9;background:var(--c-bg);border-bottom:1px solid var(--c-border);width:100%;position:relative;overflow:hidden}.card-img{object-fit:cover;width:100%;height:100%;transition:transform .5s var(--ease);display:block}.project-card:hover .card-img{transform:scale(1.06)}.card-img-overlay{pointer-events:none;background:linear-gradient(#0000 40%,#050505d9 100%);position:absolute;inset:0}.card-quick-inspect-badge{-webkit-backdrop-filter:blur(8px);border:1px solid var(--c-border);border-radius:var(--radius-full);font-size:.7rem;font-family:var(--font-mono);color:var(--c-white);opacity:.85;transition:opacity var(--duration) var(--ease);background:#050505bf;align-items:center;gap:.3rem;padding:.25rem .55rem;display:inline-flex;position:absolute;top:.75rem;right:.75rem}.project-card:hover .card-quick-inspect-badge{opacity:1;border-color:var(--c-white)}.card-details-body{z-index:2;flex-direction:column;gap:.85rem;padding:1.25rem;display:flex;position:relative}.card-header-row{justify-content:space-between;align-items:center;display:flex}.project-tag-pill{font-family:var(--font-mono);background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--radius-full);color:var(--c-muted);padding:.15rem .5rem;font-size:.7rem;font-weight:500}.project-year{font-family:var(--font-mono);color:var(--c-muted);font-size:.75rem}.card-title-group{flex-direction:column;gap:.2rem;display:flex}.project-title{font-family:var(--font-heading);letter-spacing:-.025em;color:var(--c-white);font-size:1.2rem;font-weight:700}.project-summary{color:var(--c-muted);font-size:.825rem;line-height:1.45}.project-tech-pills{flex-wrap:wrap;gap:.3rem;display:flex}.tech-pill{font-family:var(--font-mono);color:var(--c-muted);background:var(--c-bg);border:1px solid var(--c-border);border-radius:4px;padding:.15rem .45rem;font-size:.7rem}.project-card-footer{border-top:1px solid var(--c-border);z-index:2;background:#0505054d;justify-content:space-between;align-items:center;padding:.85rem 1.25rem;display:flex;position:relative}.card-action-links{align-items:center;gap:.75rem;display:flex}.card-link{color:var(--c-muted);transition:color var(--duration) var(--ease);align-items:center;gap:.25rem;font-size:.775rem;font-weight:500;display:inline-flex}.card-link:hover{color:var(--c-white)}.btn-card-details{color:var(--c-white);background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--radius-sm);transition:all var(--duration) var(--ease);align-items:center;gap:.35rem;padding:.3rem .7rem;font-size:.775rem;font-weight:600;display:inline-flex}.btn-card-details:hover{border-color:var(--c-white);transform:translate(2px)}.projects-list{border:1px solid var(--c-border);border-radius:var(--radius-md);background:var(--c-surface);flex-direction:column;display:none;overflow:hidden}.list-row-header{background:var(--c-bg);border-bottom:1px solid var(--c-border);font-family:var(--font-mono);color:var(--c-muted);text-transform:uppercase;grid-template-columns:2fr 1.2fr .8fr 1.5fr 1fr;padding:.75rem 1.25rem;font-size:.725rem;display:grid}.list-row{border-bottom:1px solid var(--c-border);transition:background var(--duration) var(--ease);cursor:pointer;grid-template-columns:2fr 1.2fr .8fr 1.5fr 1fr;align-items:center;padding:.9rem 1.25rem;display:grid}.list-row:last-child{border-bottom:none}.list-row:hover{background:#ffffff0a}.list-col-title{align-items:center;gap:.75rem;display:flex}.list-thumb{object-fit:cover;border:1px solid var(--c-border);border-radius:3px;width:38px;height:24px}.list-name{color:var(--c-white);font-size:.875rem;font-weight:600;font-family:var(--font-heading)}.list-col-cat{color:var(--c-muted);font-size:.8rem}.list-col-year{font-family:var(--font-mono);color:var(--c-muted);font-size:.75rem}.list-col-tech{font-family:var(--font-mono);color:var(--c-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.725rem;overflow:hidden}.list-col-actions{justify-content:flex-end;align-items:center;display:flex}.empty-state{text-align:center;background:var(--c-surface);border:1px dashed var(--c-border);border-radius:var(--radius-md);padding:4rem 1.5rem}.empty-icon{margin-bottom:.5rem;font-size:2rem}.empty-title{color:var(--c-white);margin-bottom:.25rem;font-size:1.1rem;font-weight:700}.empty-desc{color:var(--c-muted);margin-bottom:1.25rem;font-size:.825rem}.stack-section,.experience-section{border-top:1px solid var(--c-border);padding:4rem 0 5rem}.stack-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.25rem;display:grid}.stack-card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-md);transition:all var(--duration) var(--ease);padding:1.5rem}.stack-card:hover{border-color:var(--c-border-hover);transform:translateY(-2px)}.stack-card-title{font-family:var(--font-heading);color:var(--c-white);align-items:center;gap:.5rem;margin-bottom:.85rem;font-size:1rem;font-weight:700;display:flex}.stack-card-title:before{content:"";background:var(--c-accent);border-radius:50%;width:6px;height:6px;display:inline-block}.skill-list{flex-direction:column;gap:.4rem;display:flex}.skill-item{color:var(--c-muted);border-bottom:1px dashed #78788226;justify-content:space-between;align-items:center;padding:.25rem 0;font-size:.825rem;display:flex}.skill-item:last-child{border-bottom:none}.skill-item:hover{color:var(--c-white)}.timeline-list{flex-direction:column;gap:1.25rem;display:flex}.timeline-card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-md);transition:border-color var(--duration) var(--ease);flex-direction:column;gap:.4rem;padding:1.25rem 1.5rem;display:flex}.timeline-card:hover{border-color:var(--c-border-hover)}.timeline-top{flex-wrap:wrap;justify-content:space-between;align-items:center;display:flex}.timeline-role{font-family:var(--font-heading);color:var(--c-white);font-size:1.05rem;font-weight:700}.timeline-period{font-family:var(--font-mono);color:var(--c-muted);font-size:.75rem}.timeline-company{color:var(--c-accent);font-size:.825rem;font-weight:500}.timeline-desc{color:var(--c-muted);font-size:.825rem}.contact-section{border-top:1px solid var(--c-border);padding:4rem 0 5rem}.contact-box{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-lg);grid-template-columns:1.1fr 1fr;gap:2.5rem;padding:2.75rem 2rem;display:grid}.contact-info-title{font-family:var(--font-heading);letter-spacing:-.03em;color:var(--c-white);margin-bottom:.6rem;font-size:1.85rem;font-weight:800}.contact-info-desc{color:var(--c-muted);margin-bottom:1.5rem;font-size:.875rem;line-height:1.5}.email-copy-bar{background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--radius-sm);align-items:center;gap:.75rem;margin-bottom:1.75rem;padding:.45rem .85rem;display:inline-flex}.email-address{font-family:var(--font-mono);color:var(--c-white);font-size:.825rem}.btn-copy-email{font-size:.725rem;font-family:var(--font-mono);color:var(--c-muted);background:var(--c-surface);border:1px solid var(--c-border);transition:all var(--duration) var(--ease);border-radius:4px;align-items:center;gap:.35rem;padding:.2rem .5rem;display:inline-flex}.btn-copy-email:hover{color:var(--c-white);border-color:var(--c-border-hover)}.social-links-grid{flex-wrap:wrap;gap:.6rem;display:flex}.social-link{color:var(--c-muted);background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--radius-sm);transition:all var(--duration) var(--ease);align-items:center;gap:.35rem;padding:.3rem .7rem;font-size:.8rem;font-weight:500;display:inline-flex}.social-link:hover{color:var(--c-white);border-color:var(--c-border-hover);transform:translateY(-1px)}.contact-form{flex-direction:column;gap:.85rem;display:flex}.form-group{flex-direction:column;gap:.3rem;display:flex}.form-label{font-size:.75rem;font-family:var(--font-mono);color:var(--c-muted)}.form-input,.form-textarea{background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--radius-sm);color:var(--c-white);transition:border-color var(--duration) var(--ease);outline:none;padding:.6rem .8rem;font-family:inherit;font-size:.825rem}.form-input:focus,.form-textarea:focus{border-color:var(--c-white)}.form-textarea{resize:vertical;min-height:90px}.site-footer{border-top:1px solid var(--c-border);background:var(--c-bg);padding:2.25rem 0}.footer-inner{color:var(--c-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;font-size:.775rem;display:flex}.footer-clock{font-family:var(--font-mono);align-items:center;gap:.4rem;display:inline-flex}#project-modal{background:var(--c-surface);color:var(--c-white);border:1px solid var(--c-border-hover);border-radius:var(--radius-lg);width:92vw;max-width:640px;max-height:88vh;margin:auto;padding:0;overflow:hidden;box-shadow:0 25px 60px -15px #000000e6}#project-modal::backdrop{-webkit-backdrop-filter:blur(10px);background:#050505cc}.modal-dialog-inner{flex-direction:column;max-height:88vh;display:flex}.modal-top-bar{border-bottom:1px solid var(--c-border);background:var(--c-bg);justify-content:space-between;align-items:center;padding:.75rem 1.25rem;display:flex}.modal-top-tag{font-family:var(--font-mono);color:var(--c-muted);font-size:.725rem}.modal-close-btn{color:var(--c-muted);transition:all var(--duration) var(--ease);justify-content:center;align-items:center;padding:.25rem;display:flex}.modal-close-btn:hover{color:var(--c-white)}.modal-dynamic-content{flex-direction:column;display:flex;overflow-y:auto}.modal-image-banner{aspect-ratio:16/9;background:var(--c-black);border-bottom:1px solid var(--c-border);width:100%;position:relative;overflow:hidden}.modal-preview-img{object-fit:cover;width:100%;height:100%;display:block}.modal-image-overlay{background:linear-gradient(#0000 40%,#141416e6 100%);position:absolute;inset:0}.modal-image-meta{z-index:2;align-items:center;gap:.5rem;display:flex;position:absolute;bottom:.85rem;left:1.25rem}.modal-body-wrapper{flex-direction:column;gap:1.25rem;padding:1.25rem 1.5rem;display:flex}.modal-title-row{align-items:flex-start;gap:.85rem;display:flex}.modal-icon{background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--radius-sm);padding:.35rem;font-size:1.85rem;line-height:1}.modal-project-title{font-family:var(--font-heading);letter-spacing:-.03em;color:var(--c-white);font-size:1.45rem;font-weight:800}.modal-project-subtitle{color:var(--c-muted);font-size:.825rem}.modal-metrics-strip{grid-template-columns:repeat(3,1fr);gap:.6rem;display:grid}.metric-card{background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--radius-sm);text-align:center;flex-direction:column;gap:.15rem;padding:.6rem;display:flex}.metric-val{font-family:var(--font-heading);color:var(--c-white);font-size:1rem;font-weight:800}.metric-lbl{font-family:var(--font-mono);color:var(--c-muted);font-size:.675rem}.modal-section-title{font-family:var(--font-heading);color:var(--c-white);margin-bottom:.4rem;font-size:.85rem;font-weight:700}.modal-description{color:var(--c-muted);font-size:.825rem;line-height:1.5}.modal-highlights-list{flex-direction:column;gap:.35rem;display:flex}.modal-highlights-list li{color:var(--c-muted);align-items:flex-start;gap:.45rem;font-size:.8rem;display:flex}.check-icon{color:var(--c-accent);flex-shrink:0;margin-top:2px}.tech-tag-list{flex-wrap:wrap;gap:.35rem;display:flex}.tech-tag{font-family:var(--font-mono);color:var(--c-white);background:var(--c-bg);border:1px solid var(--c-border);border-radius:4px;padding:.2rem .5rem;font-size:.725rem}.modal-actions-footer{border-top:1px solid var(--c-border);align-items:center;gap:.75rem;padding-top:.75rem;display:flex}.toast-container{z-index:1000;pointer-events:none;flex-direction:column;gap:.5rem;display:flex;position:fixed;bottom:2rem;right:2rem}.toast-pill{background:var(--c-surface);border:1px solid var(--c-white);color:var(--c-white);border-radius:var(--radius-full);opacity:0;transition:all .22s var(--ease);align-items:center;gap:.5rem;padding:.55rem 1rem;font-size:.8rem;font-weight:500;display:inline-flex;transform:translateY(10px)scale(.96);box-shadow:0 10px 30px #000000b3}.toast-pill.toast-visible{opacity:1;transform:translateY(0)scale(1)}.toast-dot{background:var(--c-accent);border-radius:50%;width:6px;height:6px}@media (width<=860px){.contact-box{grid-template-columns:1fr;gap:2rem;padding:2rem 1.5rem}.list-row-header,.list-row{grid-template-columns:2fr 1fr 1fr}.list-col-tech,.list-col-cat{display:none}}@media (width<=640px){.hero-section{padding:3.5rem 0 2rem}.projects-grid{grid-template-columns:1fr}.toolbar-container{flex-direction:column;align-items:stretch}.toolbar-right{justify-content:space-between;max-width:100%}.search-box{flex:1;max-width:100%}.hero-actions{flex-direction:column;align-items:stretch}.hero-actions .btn{width:100%}.modal-metrics-strip{grid-template-columns:1fr}.nav-menu{gap:1rem}.brand-status{display:none}}
