*{margin:0;padding:0;box-sizing:border-box}:root{--bg: #ffffff;--nav-bg: rgba(255, 255, 255, .45);--nav-border: rgba(160, 155, 140, .25);--text-primary: rgba(60, 55, 45, .9);--text-secondary: rgba(80, 75, 65, .65);--text-strong: rgba(40, 35, 28, .95);--text-strong-underline: rgba(40, 35, 28, .6);--monogram: rgba(60, 55, 45, .7);--hud-color: rgba(140, 135, 120, .5);--glass-bg: rgba(255, 248, 230, .18);--glass-border: rgba(212, 184, 106, .3);--glass-border-hover: rgba(212, 184, 106, .55);--glass-shadow: rgba(185, 170, 100, .18);--glass-shine: rgba(255, 250, 230, .35);--gold-accent: #5a3c1c}[data-theme=dark]{--bg: #121210;--nav-bg: rgba(18, 18, 16, .55);--nav-border: rgba(100, 95, 80, .25);--text-primary: rgba(200, 195, 185, .9);--text-secondary: rgba(160, 155, 140, .65);--text-strong: rgba(210, 205, 195, .95);--text-strong-underline: rgba(210, 205, 195, .6);--monogram: rgba(200, 195, 185, .7);--hud-color: rgba(120, 115, 100, .5);--glass-bg: rgba(30, 28, 22, .35);--glass-border: rgba(212, 184, 106, .2);--glass-border-hover: rgba(212, 184, 106, .45);--glass-shadow: rgba(185, 170, 100, .12);--glass-shine: rgba(212, 184, 106, .08);--gold-accent: #d4b86a}html{height:100%;scrollbar-width:none}html::-webkit-scrollbar{display:none}body{min-height:100%;width:100%;overflow-x:hidden;background:var(--bg);font-family:Inter,system-ui,-apple-system,sans-serif;transition:background .8s ease}#nav-pill,.nav-link,.nav-monogram,#theme-toggle,#hud,#neuron-hud,.project-card{transition:color .8s ease,background .8s ease,border-color .8s ease,box-shadow .8s ease}canvas{display:block}#app{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:1}#app canvas{touch-action:none}#scroll-spacer{pointer-events:none;position:relative;z-index:0}#nav-pill{position:fixed;top:22px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:0;padding:6px 8px 6px 6px;border-radius:50px;border:1px solid var(--nav-border);background:var(--nav-bg);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);z-index:20;-webkit-user-select:none;user-select:none}.nav-monogram{display:flex;align-items:center;justify-content:center;color:var(--monogram);margin-left:10px;margin-right:12px;flex-shrink:0;font-size:22px;line-height:1}.nav-link{font-family:Inter,system-ui,-apple-system,sans-serif;font-size:13.5px;font-weight:400;color:var(--text-secondary);text-decoration:none;padding:5px 12px;cursor:pointer;transition:color .2s ease;position:relative;letter-spacing:-.01em}.nav-link:hover{color:var(--text-primary)}.nav-link.active{color:var(--text-strong);font-weight:500}.nav-link.active:not(:has(.nav-segments)):after{content:"";position:absolute;bottom:2px;left:12px;right:12px;height:1px;background:var(--text-strong-underline)}.nav-segments{display:none;position:absolute;bottom:2px;left:12px;right:12px;height:1px;gap:2px}.nav-link.active .nav-segments{display:flex}.nav-segment{flex:1;height:100%;background:var(--text-strong-underline);opacity:.25;transition:opacity .3s ease}.nav-segment.active{opacity:1}#theme-toggle{display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;padding:5px 8px;color:var(--text-secondary);transition:color .2s ease;flex-shrink:0}#theme-toggle:hover{color:var(--text-primary)}#theme-toggle svg{width:15px;height:15px}#theme-toggle .icon-sun{display:none}#theme-toggle .icon-moon,[data-theme=dark] #theme-toggle .icon-sun{display:block}[data-theme=dark] #theme-toggle .icon-moon{display:none}#hud{position:fixed;bottom:24px;left:24px;color:var(--hud-color);font:11px/1.6 SF Mono,Fira Code,monospace;letter-spacing:.04em;pointer-events:none;z-index:10}#neuron-hud{position:fixed;bottom:24px;right:24px;color:var(--hud-color);font:11px/1.6 SF Mono,Fira Code,monospace;letter-spacing:.04em;text-align:right;pointer-events:none;z-index:10}.about-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:2;pointer-events:none;opacity:0;overflow:hidden}.about-overlay-inner{display:flex;flex-direction:column;gap:2.5rem;padding:6rem 2rem 4rem;max-width:960px;margin:0 auto}#about-life-overlay .about-overlay-inner{max-width:1200px}.about-overlay-title{font-family:DM Mono,monospace;font-size:clamp(1.6rem,4vw,2.8rem);font-weight:300;color:var(--text-strong);letter-spacing:.04em;text-align:center}.about-overlay-subtitle{font-family:DM Mono,monospace;font-size:clamp(.9rem,2vw,1.1rem);font-weight:300;color:var(--text-secondary);text-align:center;margin-top:-1.5rem}.about-gallery{display:flex;flex-direction:column;gap:0}.about-gallery-section{display:flex;flex-direction:column;gap:1rem}.about-gallery-heading{font-family:DM Mono,monospace;font-size:clamp(1rem,2.5vw,1.3rem);font-weight:300;color:var(--text-strong);letter-spacing:.03em;margin:0}.about-gallery-grid{position:relative}.about-accordion-section{border-bottom:1px solid var(--nav-border)}#about-life-overlay .about-accordion-section{width:100%;max-width:1100px;margin:0 auto}.about-accordion-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:1rem 0;background:none;border:none;cursor:pointer;color:inherit;font:inherit}.about-accordion-header:hover .about-gallery-heading{color:var(--text-strong-underline, var(--text-strong))}.about-accordion-header:hover .about-accordion-chevron{color:var(--text-strong)}.about-accordion-chevron{font-size:.85rem;color:var(--text-secondary);display:inline-block;transition:color .3s ease}.about-accordion-content{height:0;overflow:hidden}.about-accordion-content .about-gallery-grid{padding-bottom:1.5rem}.about-card{border-radius:12px;overflow:hidden;background:var(--nav-bg);border:1px solid var(--nav-border);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);opacity:0;transform:translateY(30px)}.about-card img{width:100%;height:100%;object-fit:cover;display:block}.thankyou-line{font-family:DM Mono,monospace;font-size:clamp(1rem,2.5vw,1.3rem);font-weight:300;color:var(--text-strong);letter-spacing:.03em;text-align:left;display:flex;align-items:baseline;gap:2em;flex-wrap:wrap}.thankyou-name-wrapper{display:inline-block;overflow:hidden;padding-right:.15em}.thankyou-name{font-style:italic;font-size:clamp(1.6rem,4vw,2.8rem);display:inline-block;white-space:nowrap;padding-right:.1em}.thankyou-frame{display:flex;align-items:stretch;width:100%;max-width:1100px;min-height:580px;margin:0 auto 1.5rem;border-radius:16px;border:1px solid rgba(255,255,255,.3);background:linear-gradient(135deg,#fff3,#ffffff14,#ffffff08);backdrop-filter:url(#glass);-webkit-backdrop-filter:url(#glass);box-shadow:0 4px 24px var(--glass-shadow),inset 0 1px 0 var(--glass-shine);overflow:hidden}:root .thankyou-frame{border-color:#8b6a3c26;background:linear-gradient(135deg,#8b6a3c1a,#8b6a3c0d,#8b6a3c05)}[data-theme=dark] .thankyou-frame{border-color:#ffffff4d;background:linear-gradient(135deg,#fff3,#ffffff14,#ffffff08)}.thankyou-frame-text{flex:0 0 40%;display:flex;align-items:center;justify-content:flex-start;padding:2.5rem}.thankyou-frame-text .thankyou-line{flex-direction:column;gap:.15em;text-align:left}.thankyou-small{font-size:clamp(.85rem,1.8vw,1.1rem);font-weight:300;letter-spacing:.08em;color:var(--text-secondary)}.thankyou-large{font-size:clamp(1.2rem,3vw,2rem);font-weight:400;font-style:italic;letter-spacing:-.01em;color:var(--text-strong)}.thankyou-frame-photo{flex:1 1 60%;position:relative;overflow:hidden}.thankyou-frame-photo img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}@media(max-width:640px){.thankyou-frame{flex-direction:column;min-height:0}.thankyou-frame-text{flex:0 0 auto}.thankyou-frame-photo{flex:0 0 auto;min-height:280px}}#projects-overlay,#projects-passion-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:2;pointer-events:none;opacity:0;overflow:hidden}.projects-inner{display:flex;flex-direction:column;gap:3rem;padding:6rem 2rem 4rem;max-width:960px;margin:0 auto}.projects-section{display:flex;align-items:center;justify-content:center}.projects-row-wrapper{display:flex;flex-direction:column;gap:1rem;max-width:calc(2*clamp(280px,35vw,420px) + 1.5rem);width:100%}.projects-section-title{font-family:DM Mono,monospace;font-size:clamp(1.4rem,4vw,2.5rem);font-weight:300;color:var(--text-strong);letter-spacing:.04em}.projects-asterisk{position:relative;cursor:default;font-size:.6em;vertical-align:super;opacity:.6;padding:.5em .8em;margin:-.5em -.8em}.projects-asterisk:after{content:attr(data-tip);position:absolute;top:50%;left:calc(100% + 8px);transform:translateY(-50%);font-family:DM Mono,monospace;font-size:11px;font-weight:300;color:var(--text-strong);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s ease}.projects-asterisk:hover:after{opacity:1}.projects-row{display:flex;flex-wrap:wrap;justify-content:center;gap:1.5rem}.projects-row:empty{display:none}.project-card{position:relative;flex-shrink:0;width:clamp(280px,35vw,420px);padding:.75rem;border-radius:16px;border:1px solid rgba(255,255,255,.3);background:linear-gradient(135deg,#fff3,#ffffff14,#ffffff08);backdrop-filter:url(#glass);-webkit-backdrop-filter:url(#glass);box-shadow:0 4px 24px var(--glass-shadow),inset 0 1px 0 var(--glass-shine);transition:transform .35s cubic-bezier(.175,.885,.32,1.4),box-shadow .35s ease}.project-card:hover{transform:scale(1.04);box-shadow:0 8px 32px var(--glass-shadow),inset 0 1px 0 var(--glass-shine)}:root .project-card{border-color:#8b6a3c26;background:linear-gradient(135deg,#8b6a3c1a,#8b6a3c0d,#8b6a3c05)}[data-theme=dark] .project-card{border-color:#ffffff4d;background:linear-gradient(135deg,#fff3,#ffffff14,#ffffff08)}[data-theme=dark] .project-card:hover{box-shadow:0 8px 32px #0006,inset 0 1px 0 var(--glass-shine)}.project-card-img{position:relative;width:100%;height:210px;border-radius:12px;background:linear-gradient(135deg,var(--glass-border) 0%,transparent 60%);margin-bottom:.75rem;background-size:cover;background-position:center;overflow:hidden}.project-card-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:1rem;opacity:0;background:#8b6a3c40;backdrop-filter:url(#glass) blur(5px) brightness(.85);-webkit-backdrop-filter:url(#glass) blur(3px) brightness(.85);border-radius:12px;transition:opacity .3s ease;pointer-events:none;z-index:1}.project-card.has-description:hover .project-card-overlay,.project-card.no-image .project-card-overlay{opacity:1}@media(hover:none){.project-card-overlay{background:#140a0566}}.project-card-overlay p{font-family:DM Mono,monospace;font-size:12px;line-height:1.5;color:#fff;text-align:center;mix-blend-mode:difference;white-space:pre-line}.project-card-footer{display:flex;align-items:center;gap:.5rem}.project-card-year{font-family:DM Mono,monospace;font-size:11px;font-weight:400;color:var(--text-secondary);opacity:.6;letter-spacing:.04em;margin-left:auto}.project-card-link{flex-shrink:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--text-secondary);text-decoration:none;transition:color .2s ease,transform .2s ease}.project-card-link:hover{color:var(--text-strong);transform:scale(1.1)}.project-card-link svg{width:14px;height:14px}.project-card h3{font-family:DM Mono,monospace;font-size:13px;font-weight:400;color:var(--text-secondary);text-align:left;letter-spacing:.04em;white-space:nowrap;overflow:hidden;min-width:0}.project-card[data-light-bg=true] .project-card-overlay p{color:#1e1914e6;mix-blend-mode:normal}.project-card[data-light-bg=false] .project-card-overlay p{color:#fffffff2;mix-blend-mode:normal}.skills-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:2;pointer-events:none;opacity:0;overflow:hidden}.skills-overlay-inner{display:flex;flex-direction:column;gap:2rem;padding:6rem 2rem 4rem;max-width:640px;margin:0 auto}.skills-overlay-title{font-family:DM Mono,monospace;font-size:clamp(1.6rem,4vw,2.8rem);font-weight:300;color:var(--text-strong);letter-spacing:.04em;text-align:center}.skills-accordion-section{border-bottom:1px solid var(--nav-border)}.skills-accordion-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:1rem 0;background:none;border:none;cursor:pointer;color:inherit;font:inherit}.skills-accordion-header:hover .skills-accordion-heading,.skills-accordion-header:hover .skills-accordion-chevron{color:var(--text-strong)}.skills-accordion-heading{font-family:DM Mono,monospace;font-size:clamp(1rem,2.5vw,1.3rem);font-weight:300;color:var(--text-strong);letter-spacing:.03em;margin:0}.skills-accordion-chevron{font-size:.85rem;color:var(--text-secondary);display:inline-block;transition:color .3s ease}.skills-accordion-content{height:0;overflow:hidden}.skills-cards{display:flex;flex-direction:column;gap:.5rem;padding:.25rem 0 1rem}.skill-card{display:flex;align-items:center;gap:.75rem;padding:.55rem .85rem;border-radius:8px;font-family:JetBrains Mono,monospace;font-size:12px;line-height:1.4;cursor:pointer;opacity:0;transform:translateY(30px);transition:border-color .25s ease,box-shadow .25s ease;flex-wrap:wrap}.skill-name{font-family:DM Mono,monospace;font-size:12px;font-weight:400;color:inherit;opacity:.6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.skill-expand{height:0;overflow:hidden;width:100%}.skill-expand-line{font:11px/1.7 JetBrains Mono,monospace;white-space:pre;opacity:0;padding-left:1.2em}.skill-card--terminal{background:#f6f8fa;border:1px solid #d0d7de;color:#1f2328}.skill-card--terminal:hover{border-color:#8b949e;box-shadow:0 1px 8px #0000000f}.skill-card--terminal .skill-prompt{color:inherit;font-weight:700;flex-shrink:0}.skill-card--terminal .skill-typed-name{flex:1;min-width:0;white-space:pre;overflow:hidden;-moz-tab-size:10;tab-size:10}.skill-card--terminal .skill-typed-name span{display:inline}.skill-card--terminal .skill-proficiency-label{flex-shrink:0;margin-left:auto;font-size:9px;opacity:.35;margin-right:.4em;letter-spacing:.02em}.skill-card--terminal .skill-meter--terminal{flex-shrink:0;color:inherit;opacity:.5;font-size:11px;white-space:pre;letter-spacing:-.05em}.skill-card--terminal .skill-expand-line{color:#57606a}[data-theme=dark] .skill-card--terminal{background:#0d1117;border-color:#30363d;color:#c9d1d9}[data-theme=dark] .skill-card--terminal:hover{border-color:#484f58;box-shadow:0 1px 8px #0000004d}[data-theme=dark] .skill-card--terminal .skill-expand-line{color:#8b949e}.skill-register-header-row{display:flex;align-items:center;gap:.75rem;padding:.4rem .85rem;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#6e7681;border-bottom:1px solid #d0d7de;margin-bottom:.25rem;opacity:0}[data-theme=dark] .skill-register-header-row{color:#484f58;border-bottom-color:#30363d}.skill-register-header-col{white-space:nowrap}.skill-register-header-col:nth-child(1){width:110px}.skill-register-header-col:nth-child(2){width:90px}.skill-register-header-col:nth-child(3){width:110px}.skill-register-header-col:nth-child(4){flex:1}.skill-card--register{background:#faf8f0;border:1px solid #c8c4b8;color:#1a1a1a}.skill-card--register:hover{border-color:#8b8578;box-shadow:0 1px 8px #0000000f}.skill-card--register .skill-register-name{width:110px;flex-shrink:0;font-weight:700;font-size:11px}.skill-card--register .skill-register-addr{width:90px;flex-shrink:0;color:#0550ae;font-weight:400;font-size:11px}.skill-card--register .skill-register-section{width:110px;flex-shrink:0;font-size:11px;color:#57606a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.skill-card--register .skill-expand-line{color:#57606a;font-size:10px}[data-theme=dark] .skill-card--register{background:#1c1c1c;border-color:#333;color:#d4d4d4}[data-theme=dark] .skill-card--register:hover{border-color:#555;box-shadow:0 1px 8px #0000004d}[data-theme=dark] .skill-card--register .skill-register-addr{color:#569cd6}[data-theme=dark] .skill-card--register .skill-register-section,[data-theme=dark] .skill-card--register .skill-expand-line{color:gray}.skill-meter--register{flex:1;display:flex;gap:0;align-items:center;height:8px;background:#0000000f;border-radius:1px;overflow:hidden;position:relative}.skill-meter--register .skill-meter-label{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:6px;font-weight:700;letter-spacing:.05em;color:#ffffffe6;pointer-events:none;z-index:1;mix-blend-mode:difference}.skill-bit{flex:1;height:100%;background:transparent;transition:background .15s ease}.skill-bit.filled{background:#1a1a1a}.skill-bit.filled.scanning{background:#0550ae}[data-theme=dark] .skill-meter--register{background:#ffffff0f}[data-theme=dark] .skill-bit.filled{background:#d4d4d4}[data-theme=dark] .skill-bit.filled.scanning{background:#569cd6}.skill-card--training{background:#f5f5f0;border:1px solid #d0cec5;color:#2d2d2d}.skill-card--training:hover{border-color:#8b8578;box-shadow:0 1px 8px #0000000f}.skill-card--training .skill-name{flex-shrink:0;font-size:12px;font-weight:500;opacity:1}.skill-card--training .skill-training-metric{flex:1;margin-left:auto;text-align:right;font-size:11px;font-weight:400;color:#6b5c1e;white-space:nowrap;opacity:.7}.skill-card--training .skill-expand-line{color:#57606a;font-size:10px}[data-theme=dark] .skill-card--training{background:#1e1e2e;border-color:#313244;color:#cdd6f4}[data-theme=dark] .skill-card--training:hover{border-color:#45475a;box-shadow:0 1px 8px #0000004d}[data-theme=dark] .skill-card--training .skill-training-metric{color:#f9e2af}[data-theme=dark] .skill-card--training .skill-name{color:#cdd6f4}[data-theme=dark] .skill-card--training .skill-expand-line{color:#585b70}
