*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,sans-serif;background-color:var(--bg-primary);color:var(--text-primary);transition:all .3s ease}.layout-container{min-height:100dvh;display:flex;flex-direction:column;max-width:1200px;margin:0 auto;padding:0 2rem}.header{display:flex;justify-content:space-between;align-items:center;padding:2rem 0;border-bottom:1px solid var(--border)}.theme-toggle{display:flex;align-items:center;gap:.75rem;margin-left:1rem}.toggle-switch{position:relative;width:50px;height:24px;background-color:var(--text-accent);border-radius:12px;cursor:pointer;transition:background-color .3s ease}.toggle-switch:after{content:"";position:absolute;width:20px;height:20px;border-radius:50%;background-color:var(--bg-secondary);top:2px;left:2px;transition:transform .3s ease;box-shadow:0 2px 4px var(--shadow)}[data-theme=dark] .toggle-switch:after{transform:translate(26px)}.toggle-label{font-family:JetBrains Mono,monospace;font-size:.8rem;color:var(--text-secondary)}.nav-desktop{display:flex;gap:.5rem;align-items:center}.nav-mobile{display:none;position:relative}.hamburger-menu{background:none;border:none;cursor:pointer}.nav-dropdown{position:absolute;top:calc(100% + .5rem);left:0;background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;box-shadow:0 4px 12px var(--shadow);z-index:1000;opacity:0;visibility:hidden;transform:translateY(-10px);transition:all .3s ease;min-width:200px;overflow:hidden}.nav-dropdown.open{opacity:1;visibility:visible;transform:translateY(0)}.nav-dropdown .endpoint{display:block;margin:0;border-radius:0;border:none;border-bottom:1px solid var(--border);transform:none;box-shadow:none}.nav-dropdown .endpoint:last-child{border-bottom:none}.nav-dropdown .endpoint:hover{transform:none;box-shadow:none}.main{flex:1;display:flex;align-items:center;justify-content:center}.content{text-align:center;max-width:600px}.greeting{font-size:3rem;font-weight:300;color:var(--text-primary);margin-bottom:1rem;opacity:0;animation:fadeInUp 1s ease .2s forwards}.name{font-weight:500;color:var(--text-accent)}.title{font-size:1.5rem;color:var(--text-secondary);margin-bottom:2rem;opacity:0;animation:fadeInUp 1s ease .4s forwards;font-family:JetBrains Mono,monospace}.description{font-size:1.1rem;font-family:Arial,Helvetica,sans-serif;line-height:1.6;color:var(--text-secondary);opacity:0;animation:fadeInUp 1s ease .6s forwards}.social-links{display:flex;justify-content:center;align-items:center;gap:1em;padding:1.7em 1em}.social-links>a>svg{width:2em;height:2em;vertical-align:middle;transition:color .3s ease}.social-links>a>svg:hover{color:var(--text-secondary)}.social-links>a>.github{color:var(--text-primary)}.social-links>a>.linkedin{color:var(--info)}.footer{padding:2rem 0;border-top:1px solid var(--border);text-align:center}.status{font-family:JetBrains Mono,monospace;font-size:.8rem;color:var(--text-secondary);opacity:0;animation:fadeIn 1s ease 1s forwards}.status-indicator{display:inline-block;width:8px;height:8px;background-color:#22c55e;border-radius:50%;margin-right:.5rem;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (max-width: 768px){.layout-container{padding:0 1rem}.nav{flex-wrap:wrap;gap:.25rem}.endpoint{font-size:.8rem;padding:.4rem .8rem}.greeting{font-size:2rem}.title{font-size:1.2rem}.description{font-size:1rem}.theme-toggle{margin-left:.5rem}.nav-desktop{display:none}.nav-mobile{display:block}.header{flex-wrap:wrap}}@media (max-width: 480px){.nav-dropdown{left:-1rem;right:-1rem}}body{font-family:Inter,sans-serif;background-color:var(--bg-primary);color:var(--text-primary);transition:all .3s ease;line-height:1.6}.container{max-width:1200px;margin:0 auto;padding:0 2rem;min-height:100vh;display:flex;flex-direction:column}.main{flex:1;padding:3rem 0}.page-header{margin-bottom:3rem;opacity:0;animation:fadeInUp 1s ease .2s forwards}.response-container{background-color:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:2rem;box-shadow:0 4px 12px var(--shadow);opacity:0;animation:fadeInUp 1s ease .4s forwards}.response-header{font-family:JetBrains Mono,monospace;font-size:.9rem;color:var(--text-secondary);margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.content-grid{display:grid;gap:2.5rem}.section{margin-bottom:2rem}.section-title{font-family:JetBrains Mono,monospace;font-size:1.4rem;color:var(--text-accent);margin-bottom:1rem;padding-left:1rem;position:relative}.section-content{color:var(--text-secondary);font-size:1rem;line-height:1.7;margin-left:1rem}.tech-stack{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-top:2rem}.tech-category{background-color:var(--bg-primary);border:1px solid var(--border);border-radius:6px;padding:1.5rem;transition:all .2s ease}.tech-category:hover{transform:translateY(-2px);box-shadow:0 6px 20px var(--shadow)}.tech-category-title{font-family:JetBrains Mono,monospace;font-size:.9rem;color:var(--text-primary);margin-bottom:.8rem}.tech-list{display:flex;flex-wrap:wrap;gap:.5rem}.tech-item{background-color:var(--bg-secondary);border:1px solid var(--border);border-radius:4px;padding:.25rem .75rem;font-size:.85rem;color:var(--text-secondary);font-family:JetBrains Mono,monospace}.highlight{color:var(--text-accent);font-weight:500}.experience-item{margin-bottom:2rem;padding:1.5rem;background-color:var(--bg-primary);border:1px solid var(--border);border-radius:6px}.experience-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;flex-wrap:wrap;gap:.5rem}.experience-title{font-weight:500;color:var(--text-primary);font-size:1.1rem}.experience-duration{font-family:JetBrains Mono,monospace;font-size:.85rem;color:var(--text-secondary)}.experience-description{color:var(--text-secondary);line-height:1.6}@media (max-width: 1024px){.container{padding:0 1.5rem}.nav{gap:.4rem}.endpoint{font-size:.85rem;padding:.45rem .9rem}.page-title{font-size:2.2rem}}@media (max-width: 768px){.container{padding:0 1rem}.header{padding:1.5rem 0}.main{padding:2rem 0}.page-header{margin-bottom:2rem}.page-title{font-size:2rem}.response-container{padding:1.5rem}.tech-stack{grid-template-columns:1fr;gap:1rem}.experience-header{flex-direction:column;align-items:flex-start}}@media (max-width: 480px){.container{padding:0 .75rem}.header{padding:1rem 0}.page-title{font-size:1.8rem}.response-container{padding:1rem}.section-content{margin-left:.5rem}.tech-category{padding:1rem}}.contact-container{display:flex;width:80vw;justify-content:space-between;align-items:center}.header{display:flex;justify-content:space-between;align-items:center;padding:2rem 0;border-bottom:1px solid var(--border);position:relative}.nav{display:flex;gap:.5rem;align-items:center}.endpoint{font-family:JetBrains Mono,monospace;font-size:.9rem;font-weight:400;color:var(--text-secondary);text-decoration:none;padding:.5rem 1rem;border:1px solid var(--border);border-radius:6px;background-color:var(--bg-secondary);transition:all .2s ease;position:relative;overflow:hidden}.endpoint:hover{color:var(--text-primary);background-color:var(--hover-bg);transform:translateY(-1px);box-shadow:0 4px 12px var(--shadow)}.endpoint.active{color:var(--text-primary);background-color:var(--hover-bg);border-color:var(--text-accent)}.endpoint:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .5s}.endpoint:hover:before{left:100%}.page-header{margin-bottom:2rem;opacity:0;animation:fadeInUp 1s ease .2s forwards}.page-title{font-family:JetBrains Mono,monospace;font-size:2.5rem;font-weight:500;color:var(--text-primary);margin-bottom:.5rem}.page-subtitle{font-size:1.1rem;color:var(--text-secondary)}.contact-section{opacity:0;animation:fadeInUp 1s ease .4s forwards}.form-section{opacity:0;animation:fadeInUp 1s ease .6s forwards;width:50%}.contact-info{background-color:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:2rem;box-shadow:0 4px 12px var(--shadow);width:40%}.info-header{font-family:JetBrains Mono,monospace;font-size:.9rem;color:var(--text-secondary);margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.status-code{color:var(--success)}.contact-methods{display:flex;flex-direction:column;gap:1.5rem}.contact-method{display:flex;align-items:center;gap:1rem;padding:1rem;background-color:var(--bg-primary);border:1px solid var(--border);border-radius:6px;transition:all .2s ease}.contact-method:hover{transform:translateY(-2px);box-shadow:0 6px 20px var(--shadow)}.contact-icon{width:40px;height:40px;background-color:var(--info);border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.contact-icon svg{width:20px;height:20px;color:#fff}.contact-details h3{font-size:1rem;font-weight:500;color:var(--text-primary);margin-bottom:.25rem}.contact-details p{font-size:.9rem;color:var(--text-secondary)}.contact-details a{color:var(--info);text-decoration:none}.contact-details a:hover{text-decoration:underline}.response-time{margin-top:1.5rem;padding:1rem;background-color:var(--bg-primary);border:1px solid var(--border);border-radius:6px;font-family:JetBrains Mono,monospace;font-size:.85rem;color:var(--text-secondary)}.contact-form{background-color:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:2rem;box-shadow:0 4px 12px var(--shadow)}.form-header{font-family:JetBrains Mono,monospace;font-size:.9rem;color:var(--text-secondary);margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.form-group{margin-bottom:1.5rem}.form-label{display:block;font-family:JetBrains Mono,monospace;font-size:.85rem;color:var(--text-accent);margin-bottom:.5rem}.form-input,.form-textarea{width:100%;padding:.75rem 1rem;background-color:var(--bg-primary);border:1px solid var(--border);border-radius:6px;font-family:Inter,sans-serif;font-size:.9rem;color:var(--text-primary);transition:all .2s ease}.form-input:focus,.form-textarea:focus{outline:none;border-color:var(--info);box-shadow:0 0 0 3px #3b82f61a}.form-textarea{resize:vertical;min-height:120px;font-family:Inter,sans-serif}.form-submit{width:100%;padding:.75rem 1.5rem;background-color:var(--info);border:1px solid var(--info);border-radius:6px;font-family:JetBrains Mono,monospace;font-size:.9rem;font-weight:500;color:#fff;cursor:pointer;transition:all .2s ease;position:relative;overflow:hidden}.form-submit:hover{background-color:var(--info);transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.form-submit:active{transform:translateY(0)}.form-submit.sending{background-color:var(--warning);border-color:var(--warning);cursor:not-allowed}.form-submit.success{background-color:var(--success);border-color:var(--success)}.status-message{margin-top:1rem;padding:.75rem;border-radius:6px;font-family:JetBrains Mono,monospace;font-size:.85rem;display:none}.status-message.success{background-color:#22c55e1a;border:1px solid var(--success);color:var(--success);display:block}.status-message.error{background-color:#ef44441a;border:1px solid var(--error);color:var(--error);display:block}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 1024px){.container{padding:0 1.5rem}.main{grid-template-columns:1fr;gap:2rem}.nav{gap:.4rem}.endpoint{font-size:.85rem;padding:.45rem .9rem}.page-title{font-size:2.2rem}}@media (max-width: 768px){.container{padding:0 1rem}.contact-container{flex-direction:column;justify-content:center;align-items:stretch;gap:2em;width:90vw}.header{padding:1.5rem 0}.main{padding:2rem 0;gap:1.5rem}.page-title{font-size:2rem}.form-section{margin:0;width:100%}.contact-info,.contact-form{padding:1.5rem;width:100%}.contact-method{padding:.75rem}.contact-icon{width:35px;height:35px}.contact-icon svg{width:18px;height:18px}}@media (max-width: 480px){.container{padding:0 .75rem}.header{padding:1rem 0}.page-title{font-size:1.8rem}.contact-info,.contact-form{padding:1rem}}.work-page{width:100%;align-self:stretch;padding:3.5rem 0 5rem;opacity:0;animation:workFadeIn .8s ease .15s forwards}@keyframes workFadeIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.work-page .page-head{max-width:34rem;margin-bottom:2.75rem}.work-page .page-heading{font-size:clamp(2rem,5vw,3rem);font-weight:300;line-height:1.1;letter-spacing:-.02em;color:var(--text-primary);margin-bottom:.85rem}.work-page .page-lede{font-family:JetBrains Mono,ui-monospace,monospace;font-size:.95rem;line-height:1.6;color:var(--text-secondary)}.work-page .tabs{display:flex;gap:2rem;border-bottom:1px solid var(--border);margin-bottom:3rem}.work-page .tab{appearance:none;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;padding:0 0 .9rem;font-family:JetBrains Mono,ui-monospace,monospace;font-size:.9rem;color:var(--text-secondary);cursor:pointer;transition:color .2s ease,border-color .2s ease}.work-page .tab:hover{color:var(--text-primary)}.work-page .tab[aria-selected=true]{color:var(--text-primary);border-bottom-color:var(--text-primary)}.work-page .tab:focus-visible{outline:2px solid var(--text-accent);outline-offset:4px;border-radius:2px}.work-page [role=tabpanel]:focus-visible{outline:2px solid var(--text-accent);outline-offset:8px;border-radius:4px}.work-page .shot{margin:0}.work-page .shot:focus-visible{outline:2px solid var(--text-accent);outline-offset:6px;border-radius:12px}.work-page .shot-frame{position:relative;aspect-ratio:2.2 / 1;background-color:var(--bg-secondary);border:1px solid var(--border);border-radius:10px;overflow:hidden}.work-page .shot-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top center;opacity:0;transition:opacity .35s ease}.work-page .shot-image.is-current{opacity:1}.work-page .shot-empty{display:grid;place-items:center;aspect-ratio:2.2 / 1;background-color:var(--bg-secondary);border:1px dashed var(--border);border-radius:10px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:.85rem;color:var(--text-secondary)}.work-page .shot-controls{position:absolute;right:.75rem;bottom:.75rem;display:flex;gap:.5rem}.work-page .shot-arrow{width:2.25rem;height:2.25rem;display:grid;place-items:center;padding:0;background-color:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:color .2s ease,background-color .2s ease}.work-page .shot-arrow svg{width:1.1rem;height:1.1rem}.work-page .shot-arrow:hover{color:var(--text-primary);background-color:var(--hover-bg)}.work-page .shot-arrow:focus-visible{outline:2px solid var(--text-accent);outline-offset:2px}.work-page .shot-caption{display:flex;align-items:baseline;justify-content:space-between;gap:1.5rem;padding-top:.9rem}.work-page .shot-text{font-family:JetBrains Mono,ui-monospace,monospace;font-size:.8rem;line-height:1.5;color:var(--text-secondary)}.work-page .shot-dots{display:flex;gap:.15rem;flex-shrink:0}.work-page .shot-dot{display:grid;place-items:center;width:1.25rem;height:1.25rem;padding:0;background:none;border:none;cursor:pointer}.work-page .shot-dot:after{content:"";width:6px;height:6px;border-radius:50%;background-color:var(--border);transition:background-color .2s ease}.work-page .shot-dot:hover:after{background-color:var(--text-secondary)}.work-page .shot-dot.is-current:after{background-color:var(--text-primary)}.work-page .shot-dot:focus-visible{outline:2px solid var(--text-accent);outline-offset:0;border-radius:50%}.work-page .projects{display:flex;flex-direction:column;gap:4rem}.work-page .project+.project{border-top:1px solid var(--border);padding-top:4rem}.work-page .project-body{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:3rem;padding-top:2rem}.work-page .project-title{display:flex;align-items:baseline;flex-wrap:wrap;gap:.85rem;font-size:1.6rem;font-weight:400;letter-spacing:-.01em;color:var(--text-primary);margin-bottom:.9rem}.work-page .project-status{font-family:JetBrains Mono,ui-monospace,monospace;font-size:.72rem;color:var(--text-secondary);border:1px solid var(--border);border-radius:999px;padding:.2rem .65rem}.work-page .project-description{max-width:62ch;line-height:1.75;color:var(--text-secondary)}.work-page .project-tech{display:flex;flex-wrap:wrap;gap:.45rem;list-style:none;margin:0 0 1.75rem;padding:0}.work-page .project-tech-item{font-family:JetBrains Mono,ui-monospace,monospace;font-size:.78rem;color:var(--text-secondary);border:1px solid var(--border);border-radius:4px;padding:.28rem .6rem}.work-page .project-links{display:flex;flex-wrap:wrap;gap:.75rem}.work-page .project-link{font-family:JetBrains Mono,ui-monospace,monospace;font-size:.85rem;text-decoration:none;padding:.6rem 1.1rem;border:1px solid var(--border);border-radius:6px;background-color:var(--bg-secondary);color:var(--text-secondary);transition:color .2s ease,background-color .2s ease,border-color .2s ease}.work-page .project-link:hover{color:var(--text-primary);background-color:var(--hover-bg)}.work-page .project-link.is-primary{background-color:var(--text-primary);border-color:var(--text-primary);color:var(--bg-primary)}.work-page .project-link.is-primary:hover{background-color:var(--text-accent);border-color:var(--text-accent);color:var(--bg-primary)}.work-page .project-note{font-family:JetBrains Mono,ui-monospace,monospace;font-size:.78rem;line-height:1.6;color:var(--text-secondary);margin-top:1.25rem;max-width:30ch}.work-page .contributions{display:flex;flex-direction:column;gap:1.25rem}.work-page .contribution{background-color:var(--bg-secondary);border:1px solid var(--border);border-radius:10px;padding:1.85rem 2rem;transition:border-color .2s ease}.work-page .contribution:hover{border-color:var(--text-secondary)}.work-page .contribution-head{font-family:JetBrains Mono,ui-monospace,monospace;font-size:.78rem;line-height:1.5;color:var(--text-secondary);margin-bottom:.85rem}.work-page .contribution-state{margin-right:1rem;white-space:nowrap}.work-page .contribution-state:before{content:"";display:inline-block;width:7px;height:7px;margin-right:.45rem;border-radius:50%;vertical-align:middle;background-color:currentColor}.work-page .state-merged:before{background-color:var(--merged)}.work-page .state-open:before{background-color:var(--success)}.work-page .state-closed:before{background-color:var(--closed)}.work-page .contribution-title{font-size:1.15rem;font-weight:400;line-height:1.45;margin-bottom:.7rem}.work-page .contribution-title a{color:var(--text-primary);text-decoration:none;border-bottom:1px solid var(--border);padding-bottom:2px;transition:border-color .2s ease}.work-page .contribution-title a:hover{border-bottom-color:var(--text-primary)}.work-page .contribution-title a:focus-visible{outline:2px solid var(--text-accent);outline-offset:3px;border-radius:2px}.work-page .contribution-description{max-width:68ch;line-height:1.75;color:var(--text-secondary);margin-bottom:1rem}.work-page .contribution-meta{display:flex;flex-wrap:wrap;gap:.4rem 1.5rem;list-style:none;margin:0;padding:0;font-family:JetBrains Mono,ui-monospace,monospace;font-size:.78rem;color:var(--text-secondary)}@media (max-width: 900px){.work-page .project-body{grid-template-columns:1fr;gap:2rem}.work-page .shot-frame,.work-page .shot-empty{aspect-ratio:16 / 9}}@media (max-width: 768px){.work-page{padding:2.5rem 0 3.5rem}.work-page .page-head{margin-bottom:2rem}.work-page .tabs{gap:1.5rem;margin-bottom:2rem}.work-page .projects{gap:3rem}.work-page .project+.project{padding-top:3rem}.work-page .project-title{font-size:1.35rem}.work-page .contribution{padding:1.35rem 1.25rem}}@media (max-width: 600px){.work-page .shot-frame,.work-page .shot-empty{aspect-ratio:4 / 3}.work-page .shot-image{object-position:top left}.work-page .shot-caption{flex-direction:column-reverse;align-items:flex-start;gap:.75rem}.work-page .shot-dots{margin-left:-.3rem}}@media (prefers-reduced-motion: reduce){.work-page{opacity:1;animation:none}.work-page .shot-image{transition:none}}:root{--bg-primary: #e2e2dc;--bg-secondary: #fcfcf7;--text-primary: #1a1a1a;--text-secondary: #525252;--text-accent: #404040;--border: #e5e5e5;--hover-bg: #f5f5f5;--shadow: rgba(0, 0, 0, .05);--success: #22c55e;--warning: #f59e0b;--info: #3b82f6;--merged: #8b5cf6;--closed: #ef4444;--purple: #8b5cf6}[data-theme=dark]{--bg-primary: #0a0a0a;--bg-secondary: #1a1a1a;--text-primary: #ffffff;--text-secondary: #a3a3a3;--text-accent: #d4d4d4;--border: #262626;--hover-bg: #171717;--shadow: rgba(255, 255, 255, .05);--success: #16a34a;--warning: #d97706;--info: #2563eb;--merged: #7c3aed;--closed: #dc2626}
