:root{--bg-color: #0d0d0d;--text-color: #eeeeee;--text-muted: #888888;--accent-color: #ffffff;--border-color: #222222;--font-main: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;--spacing-unit: 1rem;--max-width: 800px;--transition-speed: .3s}[data-theme=light]{--bg-color: #ffffff;--text-color: #1a1a1a;--text-muted: #666666;--accent-color: #000000;--border-color: #eeeeee}[data-theme=light] .section-title{color:var(--text-color);opacity:.5}[data-theme=light] .accordion-title,[data-theme=light] .accordion-icon{color:var(--text-color)}[data-theme=light] .theme-toggle{opacity:.4}[data-theme=light] .theme-toggle:hover{opacity:1}.section-title{color:#fff;opacity:.6}.accordion-title,.accordion-icon{color:#fff}.theme-toggle{opacity:.6}.header-top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:calc(var(--spacing-unit) * .25)}.theme-toggle{background:none;border:none;cursor:pointer;padding:.5rem;margin:-.5rem;font-family:inherit;font-size:inherit;text-transform:uppercase;letter-spacing:.1em;font-weight:700;color:var(--text-color);display:flex;align-items:center;gap:.5rem;transition:opacity var(--transition-speed)}.theme-toggle svg{width:14px;height:14px;fill:currentColor}.theme-toggle:hover{opacity:1}body{background-color:var(--bg-color);color:var(--text-color);font-family:var(--font-main);font-size:.8125rem;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color var(--transition-speed),color var(--transition-speed)}.container{max-width:var(--max-width);margin:0 auto;padding:calc(var(--spacing-unit) * 4) var(--spacing-unit) calc(var(--spacing-unit) * 6) var(--spacing-unit)}section{margin-bottom:calc(var(--spacing-unit) * 4)}h1,h2,h3{font-weight:600;letter-spacing:-.02em}header{margin-bottom:calc(var(--spacing-unit) * 4)}h1{font-size:1.25rem;margin-bottom:0}h2{font-size:1.125rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:calc(var(--spacing-unit) * 2);color:var(--text-muted)}p{color:var(--text-muted);max-width:65ch}.accordion{border-top:1px solid var(--border-color)}.accordion-item{border-bottom:1px solid var(--border-color);scroll-margin-top:calc(var(--spacing-unit) * 3)}.accordion-item:last-child{border-bottom:none}.accordion-header{width:100%;padding:calc(var(--spacing-unit) * .5) 0;background:none;border:none;display:flex;justify-content:space-between;align-items:center;cursor:pointer;text-align:left;transition:opacity var(--transition-speed)}.accordion-header:hover{opacity:.7}.accordion-header:focus-visible{outline:2px solid var(--text-color);outline-offset:4px}.accordion-header-text{display:flex;flex-direction:column;gap:.125rem}.accordion-title{font-size:.9375rem;font-weight:500}.project-year{font-size:.75rem;color:var(--text-muted);font-weight:400;margin-left:.25rem;opacity:.8}.accordion-subtitle{font-size:.8125rem;color:var(--text-muted);font-weight:400}.accordion-icon{font-size:.9375rem;transition:transform var(--transition-speed)}.accordion-item.active .accordion-icon{transform:rotate(45deg)}.accordion-content{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--transition-speed) cubic-bezier(.4,0,.2,1);overflow:hidden;visibility:hidden}.accordion-item.active .accordion-content{grid-template-rows:1fr;visibility:visible}.project-details{min-height:0;display:flex;flex-direction:column;gap:calc(var(--spacing-unit) * 1);padding:calc(var(--spacing-unit) * .5) 0 calc(var(--spacing-unit) * 1.5) 0}.project-details h3{font-size:1.25rem;margin-bottom:calc(var(--spacing-unit) * .25);color:var(--text-color);display:none}.project-summary{line-height:1.5;color:var(--text-color);margin-bottom:calc(var(--spacing-unit) * .5)}.project-section{display:flex;flex-direction:column;gap:calc(var(--spacing-unit) * .5)}.section-title{font-size:inherit;text-transform:uppercase;letter-spacing:.1em;font-weight:700;color:var(--text-color);opacity:.5}.project-section ul{list-style-type:none;padding-left:0}.project-section ul li{position:relative;padding-left:1.25rem;margin-bottom:.25rem;color:var(--text-muted)}.project-section ul li:before{content:"—";position:absolute;left:0;color:var(--text-muted)}.project-section p{color:var(--text-muted)}.project-stack{display:flex;gap:calc(var(--spacing-unit) * .5);flex-wrap:wrap;margin-top:calc(var(--spacing-unit) * .5)}.stack-item{color:var(--text-muted)}.stack-item:not(:last-child):after{content:"/";margin-left:.5rem;opacity:.3}.project-links{display:flex;gap:var(--spacing-unit);margin-top:var(--spacing-unit)}.project-link{display:inline-block;color:var(--text-color);text-decoration:none;font-weight:500;font-size:inherit;border-bottom:1px solid transparent;transition:border-color var(--transition-speed)}.project-link:hover{border-bottom-color:var(--text-color)}footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--border-color);padding-top:calc(var(--spacing-unit) * 2)}.footer-links{display:flex;gap:var(--spacing-unit)}.footer-links a{color:var(--text-color);text-decoration:none;font-size:inherit;transition:opacity var(--transition-speed)}.footer-links a:hover{opacity:.6}@media(max-width:600px){h1{font-size:2rem}.accordion-title{font-size:.9375rem}footer{flex-direction:column;align-items:flex-start;gap:var(--spacing-unit)}}
