:root,[data-theme=dark]{--black: #0c0e0e;--surface: #0c0e0e;--surface-raised: #141616;--border: #1a1c1c;--border-visible: #2a2d2d;--text-disabled: #5c5c5c;--text-secondary: #8f9494;--text-primary: #e0e4e4;--text-display: #f4f6f6;--accent: #F55411;--accent-subtle: rgba(245, 84, 17, .15);--interactive: #5B9BF6;--space-2xs: 2px;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--space-3xl: 64px;--space-4xl: 96px}[data-theme=light]{--black: #F5F5F5;--surface: #FFFFFF;--surface-raised: #F0F0F0;--border: #E8E8E8;--border-visible: #CCCCCC;--text-disabled: #999999;--text-secondary: #666666;--text-primary: #1A1A1A;--text-display: #000000;--interactive: #007AFF}*{box-sizing:border-box;margin:0;padding:0}html{font-family:Space Grotesk,system-ui,sans-serif;background:var(--black);color:var(--text-primary);line-height:1.5;scroll-behavior:smooth}body{min-height:100vh;display:flex;justify-content:center;padding:var(--space-xl)}.dot-grid{background-image:radial-gradient(circle,var(--border-visible) 1px,transparent 1px);background-size:16px 16px;background-position:center top}.site-wrapper{width:100%;max-width:1200px;min-height:calc(100vh - (var(--space-xl) * 2));background:var(--black);border:1px solid var(--border-visible);position:relative;display:grid;grid-template-columns:1fr}@media(min-width:1024px){.site-wrapper{grid-template-columns:350px 1fr}}.site-wrapper:before,.site-wrapper:after{content:"";position:absolute;width:8px;height:8px;border:1px solid var(--accent);z-index:10}.site-wrapper:before{top:-1px;left:-1px;border-right:none;border-bottom:none}.site-wrapper:after{bottom:-1px;right:-1px;border-left:none;border-top:none}h1,h2,h3,h4,h5,h6{color:var(--text-display);font-weight:500}.font-display{font-family:Doto,Geist Mono,monospace;font-weight:600;letter-spacing:-.03em}.font-serif-name{font-family:"Instrument Serif",serif;font-weight:400;font-style:normal;letter-spacing:.02em}.font-mono{font-family:Geist Mono,monospace;font-weight:500}.label-text{font-family:Geist Mono,monospace;font-weight:500;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary)}a{color:var(--text-primary);text-decoration:none;transition:color .2s cubic-bezier(.25,.1,.25,1)}a:hover{color:var(--accent)}::selection{background:var(--accent);color:#fff}.left-panel{padding:var(--space-xl);border-right:1px solid var(--border-visible);position:sticky;top:0;height:calc(100vh - (var(--space-xl) * 2));overflow-y:auto;display:flex;flex-direction:column;scrollbar-width:none}.left-panel::-webkit-scrollbar{display:none}.right-panel{overflow-y:auto;height:calc(100vh - (var(--space-xl) * 2));scrollbar-width:none;display:flex;flex-direction:column}.right-panel::-webkit-scrollbar{display:none}@media(max-width:1023px){.left-panel{border-right:none;border-bottom:1px solid var(--border-visible);position:static;height:auto;overflow-y:visible}.right-panel{height:auto;overflow-y:visible}}.header{display:flex;flex-direction:column;height:100%}.header-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-2xl)}.theme-toggle{background:none;border:none;display:flex;align-items:center;gap:var(--space-sm);cursor:pointer;padding:var(--space-xs)}.toggle-track{width:32px;height:16px;background:var(--surface-raised);border:1px solid var(--border-visible);border-radius:999px;position:relative;transition:border-color .2s}.theme-toggle:hover .toggle-track{border-color:var(--text-primary)}.toggle-thumb{width:10px;height:10px;background:var(--text-primary);border-radius:50%;position:absolute;top:2px;left:2px;transition:transform .2s cubic-bezier(.25,.1,.25,1)}html[data-theme=light] .toggle-thumb{transform:translate(16px);background:var(--text-display)}.hero{margin-bottom:var(--space-2xl)}h1{font-size:var(--space-3xl);line-height:1;margin-bottom:var(--space-sm)}.subtitle{font-size:16px;line-height:1.5;color:var(--text-secondary)}.status-grid{display:grid;grid-template-columns:1fr;gap:1px;background:var(--border);border:1px solid var(--border);margin-bottom:var(--space-xl)}.status-item{background:var(--black);padding:var(--space-md);display:flex;flex-direction:column;gap:var(--space-xs)}.status-value{font-size:13px;color:var(--text-primary)}.status-value.success{color:#4a9e5c}.contact-links{display:flex;flex-direction:column;gap:var(--space-sm);margin-bottom:var(--space-xl);font-size:13px}.nav-links.vertical{display:flex;flex-direction:column;gap:var(--space-md);margin-top:auto;padding-top:var(--space-2xl)}.nav-link{font-size:14px;padding-bottom:var(--space-xs);border-bottom:1px solid transparent;width:fit-content}.nav-link--tooltip{position:relative}@media(hover:hover)and (pointer:fine){.nav-link--tooltip:after{content:attr(data-tooltip);position:absolute;left:calc(100% + var(--space-sm));top:50%;transform:translateY(-50%) translate(-4px);padding:6px 10px;border:1px solid var(--border-visible);background:var(--surface-raised);color:var(--text-display);font-family:Geist Mono,monospace;font-size:11px;line-height:1;letter-spacing:.04em;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .12s ease,transform .12s ease;z-index:20}.nav-link--tooltip:hover:after,.nav-link--tooltip:focus-visible:after{opacity:1;transform:translateY(-50%) translate(0)}}.nav-link:hover{color:var(--text-display);border-bottom-color:var(--text-display)}.socials{display:flex;gap:var(--space-md)}.social-link{color:var(--text-secondary)}.social-link:hover{color:var(--text-display)}.content{padding:var(--space-xl);display:flex;flex-direction:column;gap:var(--space-3xl);flex:1}.section-header{display:flex;align-items:center;gap:var(--space-md);margin-bottom:var(--space-xl)}.line{flex:1;height:1px;background:var(--border)}.project-list,.exp-list,.skills-grid{display:flex;flex-direction:column;gap:var(--space-xl)}.project-card{display:grid;gap:var(--space-sm)}@media(min-width:640px){.project-card{grid-template-columns:200px 1fr;gap:var(--space-xl)}}.project-meta{display:flex;flex-direction:column;gap:var(--space-sm)}.tags{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.tag{font-family:Geist Mono,monospace;font-weight:500;font-size:10px;text-transform:uppercase;padding:2px 6px;border:1px solid var(--border-visible);color:var(--text-secondary)}.tag-highlight{border-color:var(--accent-subtle);color:var(--accent)}.project-content h3{font-size:18px;margin-bottom:var(--space-xs)}.project-title{position:relative;display:inline-block}.project-title:after{content:"";position:absolute;width:100%;transform:scaleX(0);height:1px;bottom:0;left:0;background-color:var(--accent);transform-origin:bottom right;transition:transform .25s ease-out}.project-title:hover:after{transform:scaleX(1);transform-origin:bottom left}.project-content p{color:var(--text-secondary);font-size:15px}.exp-card{padding-left:var(--space-md);border-left:1px solid var(--border-visible);position:relative}.exp-card:before{content:"";position:absolute;left:-4px;top:6px;width:7px;height:7px;background:var(--black);border:1px solid var(--text-disabled);transition:border-color .2s}.exp-card:hover:before{border-color:var(--accent)}.exp-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;margin-bottom:var(--space-xs);gap:var(--space-md)}.exp-header h3{font-size:16px}.exp-at{color:var(--text-secondary);font-weight:400}.exp-card p{font-size:15px;color:var(--text-secondary)}.skills-grid{display:grid;gap:var(--space-md)}.skill-group{display:grid;gap:var(--space-xs);padding-bottom:var(--space-sm);border-bottom:1px dotted var(--border)}@media(min-width:640px){.skill-group{grid-template-columns:150px 1fr;align-items:baseline}}.skill-items{font-size:13px;color:var(--text-primary)}.footer{padding:0 var(--space-xl) var(--space-xl);margin-top:auto}.footer-content{display:flex;justify-content:space-between;padding-top:var(--space-md)}.nav-link.active{color:var(--text-display);border-bottom-color:var(--accent)}.nav-link--button{background:none;border:none;border-bottom:1px solid transparent;font:inherit;color:inherit;cursor:pointer;text-align:left}.nav-clip-indicator{position:sticky;bottom:0;margin-top:var(--space-sm);padding:6px 0;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-secondary);text-align:center;background:linear-gradient(to top,var(--black) 55%,transparent);opacity:0;transform:translateY(4px);transition:opacity .18s ease,transform .18s ease;pointer-events:none}.left-panel.is-clipped .nav-clip-indicator{opacity:1;transform:translateY(0)}.left-panel.is-clipped.is-at-bottom .nav-clip-indicator{opacity:0}.resume-dialog{padding:0;border:1px solid var(--border-visible);background:var(--black);color:var(--text-primary);max-width:min(440px,calc(100vw - var(--space-xl) * 2));width:100%;margin:auto;position:fixed;inset:0}.resume-dialog::backdrop{background:#0009;backdrop-filter:blur(4px)}[data-theme=light] .resume-dialog::backdrop{background:#00000059}.resume-dialog__inner{position:relative;padding:var(--space-xl);display:flex;flex-direction:column;gap:var(--space-md)}.resume-dialog__close{position:absolute;top:var(--space-sm);right:var(--space-sm);background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:11px;padding:4px 6px}.resume-dialog__close:hover{color:var(--accent)}.resume-dialog__header{display:flex;align-items:center;gap:var(--space-md)}.resume-dialog__title{font-family:"Instrument Serif",serif;font-weight:400;font-size:28px;line-height:1.1;color:var(--text-display)}.resume-dialog__subtitle{font-size:14px;color:var(--text-secondary);margin-bottom:var(--space-sm)}.resume-dialog__link{color:var(--text-primary);border-bottom:1px dotted var(--border-visible)}.resume-dialog__link:hover{color:var(--accent);border-bottom-color:var(--accent)}.resume-dialog__options{display:flex;flex-direction:column;gap:var(--space-sm)}.resume-option{display:flex;flex-direction:column;gap:2px;padding:var(--space-md);border:1px solid var(--border-visible);background:var(--surface);color:var(--text-primary);transition:border-color .18s ease,background .18s ease,color .18s ease}.resume-option:hover,.resume-option:focus-visible{border-color:var(--accent);background:var(--surface-raised);color:var(--text-display)}.resume-option__label{font-size:13px;letter-spacing:.06em}.resume-option:hover .resume-option__label,.resume-option:focus-visible .resume-option__label{color:var(--accent)}.resume-option__desc{font-family:Space Grotesk,system-ui,sans-serif;font-size:12px;color:var(--text-secondary)}@media(max-width:1023px){body{padding:var(--space-md)}.site-wrapper{min-height:calc(100vh - (var(--space-md) * 2))}.left-panel--compact .header-top,.left-panel--compact .hero{margin-bottom:var(--space-md)}.left-panel--compact h1{font-size:var(--space-xl)}.left-panel--compact .subtitle{font-size:13px}.left-panel--compact .header-details{display:none}.left-panel--compact .nav-links.vertical{flex-direction:row;flex-wrap:wrap;gap:var(--space-sm) var(--space-md);padding-top:0;margin-top:0}}@media(max-width:480px){h1{font-size:var(--space-2xl)}.nav-links.vertical{flex-direction:row;flex-wrap:wrap;gap:var(--space-sm) var(--space-md);padding-top:var(--space-lg)}}
