:root,[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fafafa;--bg-accent:transparent;--surface:#fff;--surface-hover:#f5f5f5;--border:#e0e0e0;--text:#1a1a1a;--text-muted:#666;--text-faint:#999;--accent:#c41e3a;--accent-soft:#fdf2f4;--accent-link:#1a1a1a;--accent-link-hover:#c41e3a;--open-bg:#f0f6f2;--open-border:#3d6b5247;--open-text:#3d6b52;--header-bg:#fafafaf5;--shadow:none;--radius:4px}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#111;--bg-accent:transparent;--surface:#1a1a1a;--surface-hover:#222;--border:#333;--text:#f0f0f0;--text-muted:#a0a0a0;--text-faint:#707070;--accent:#ff6b7a;--accent-soft:#ff6b7a1a;--accent-link:#f0f0f0;--accent-link-hover:#ff6b7a;--open-bg:#8fbf9a1f;--open-border:#8fbf9a52;--open-text:#8fbf9a;--header-bg:#111111f5;--shadow:none;--radius:4px}a:link,a:visited{color:var(--accent-link);-webkit-text-decoration-color:var(--border);text-decoration-color:var(--border);text-underline-offset:3px;text-decoration-thickness:1px;transition:color .15s,text-decoration-color .15s}a:hover{color:var(--accent-link-hover);-webkit-text-decoration-color:var(--accent-link-hover);text-decoration-color:var(--accent-link-hover)}a:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}@media (prefers-reduced-motion:reduce){a:link,a:visited,.contact-list a,.project-card,.theme-toggle,.experience-toggle{transition:none}}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);min-width:320px;margin:0;padding:1.75rem clamp(1rem,4vw,2rem) 3rem;font-family:Noto Sans,system-ui,-apple-system,Segoe UI,sans-serif;line-height:1.65}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.section{scroll-margin-top:4rem}.section+.section{margin-top:3.5rem}.section-heading{border-top:1px solid var(--border);justify-content:space-between;align-items:baseline;gap:1rem;margin:0 0 1.15rem;padding-top:1.5rem;display:flex}.section-heading h2{letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint);margin:0;font-family:Roboto Mono,monospace;font-size:.72rem;font-weight:600}.contact-list{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}@media (width>=36rem){.contact-list{grid-template-columns:repeat(2,minmax(0,1fr))}}.contact-list a{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);flex-direction:column;gap:.15rem;padding:.75rem .9rem;text-decoration:none;transition:background .15s,border-color .15s;display:flex}.contact-list a:hover{background:var(--surface-hover);border-color:var(--text-faint)}.contact-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint);font-family:Roboto Mono,monospace;font-size:.7rem}.contact-value{color:var(--text);font-size:.88rem}.skill-group+.skill-group,.education-group+.education-group{margin-top:1.75rem}.skill-group h3,.education-group h3{color:var(--text);margin:0 0 .65rem;font-size:.92rem;font-weight:600}.timeline{border-left:2px solid var(--border);margin:0 0 0 .4rem;padding:0 0 0 1.25rem;list-style:none}.timeline-item{padding:0 0 1.75rem;position:relative}.timeline-item:last-child{padding-bottom:0}.timeline-item:before{content:"";background:var(--surface);border:2px solid var(--border);border-radius:50%;width:.45rem;height:.45rem;position:absolute;top:.4rem;left:calc(-1.25rem - 1px);transform:translate(-50%)}.timeline-item-current:before{background:var(--accent);border-color:var(--accent)}.timeline-meta{color:var(--text-faint);margin-bottom:.25rem;font-family:Roboto Mono,monospace;font-size:.75rem}.timeline-item h3{color:var(--text);margin:0 0 .2rem;font-size:1rem;line-height:1.35}.timeline-stack{color:var(--text-muted);margin:0 0 .35rem;font-family:Roboto Mono,monospace;font-size:.78rem}.timeline-project{color:var(--text-muted);margin:0 0 .35rem;font-size:.82rem;font-style:italic;line-height:1.45}.timeline-desc{color:var(--text-muted);margin:0;font-size:.88rem;line-height:1.55}.timeline-links{margin:.35rem 0 0;font-size:.82rem}.timeline-item-secondary h3,.timeline-item-secondary .timeline-stack,.timeline-item-secondary .timeline-project,.timeline-item-secondary .timeline-desc,.timeline-item-secondary .timeline-meta,.timeline-item-secondary .timeline-stack{color:var(--text-faint)}.experience-toggle{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text-muted);cursor:pointer;padding:.35rem .65rem;font-family:Roboto Mono,monospace;font-size:.72rem;line-height:1.35;transition:background .15s,border-color .15s,color .15s}.experience-toggle:hover{background:var(--surface-hover);border-color:var(--text-faint);color:var(--text)}.experience-toggle[aria-pressed=true]{border-color:var(--text-faint);color:var(--text)}.experience-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){.experience-toggle{transition:none}}.tag-list{flex-wrap:wrap;gap:.45rem;margin:0;padding:0;list-style:none;display:flex}.tag-list li{color:var(--text-muted);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:.3rem .75rem;font-family:Roboto Mono,monospace;font-size:.78rem;line-height:1.4}.showcase{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);margin-bottom:2rem;padding:1.25rem 1.35rem 1.35rem}.showcase-intro{margin-bottom:1.25rem}.showcase-heading{flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin-bottom:.35rem;display:flex}.showcase-heading h1{letter-spacing:-.02em;color:var(--text);margin:0;font-family:Zen Kaku Gothic New,Noto Sans,system-ui,sans-serif;font-size:clamp(1.65rem,5vw,2.15rem);font-weight:500;line-height:1.15}.showcase-role{color:var(--accent);margin:0 0 .65rem;font-family:Roboto Mono,monospace;font-size:.92rem}.showcase-bio{color:var(--text-muted);max-width:42rem;margin:0;font-size:.94rem;line-height:1.6}.showcase-facts{border-top:1px solid var(--border);gap:.55rem;margin:0;padding:1.1rem 0 0;display:grid}@media (width>=36rem){.showcase-facts{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:1.25rem}}.showcase-fact{min-width:0;margin:0}.showcase-fact dt{letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);margin:0 0 .15rem;font-family:Roboto Mono,monospace;font-size:.68rem;font-weight:600}.showcase-fact dd{color:var(--text);overflow-wrap:anywhere;margin:0;font-size:.86rem;line-height:1.45}.showcase-fact-emphasis dd{color:var(--open-text);font-weight:600}.showcase-fact-emphasis{border-radius:var(--radius);background:var(--open-bg);border:1px solid var(--open-border);padding:.55rem .65rem}@media (width>=36rem){.showcase-fact-emphasis{grid-column:1/-1}}.showcase-footer{border-top:1px solid var(--border);flex-direction:column;gap:.85rem;margin-top:1.15rem;padding-top:1.1rem;display:flex}@media (width>=40rem){.showcase-footer{flex-direction:row;justify-content:space-between;align-items:center;gap:1rem}}.showcase-stack,.showcase-links{flex-wrap:wrap;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.showcase-stack li{color:var(--text-muted);border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);padding:.22rem .55rem;font-family:Roboto Mono,monospace;font-size:.72rem;line-height:1.35}.showcase-links{gap:.35rem .85rem}.showcase-links a{color:var(--text-muted);font-family:Roboto Mono,monospace;font-size:.78rem;text-decoration:none}.showcase-links a:hover{color:var(--accent);text-decoration:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.showcase-fact dd a{text-decoration-thickness:1px}.project-grid{gap:.85rem;margin:0;padding:0;list-style:none;display:grid}@media (width>=40rem){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-grid>:last-child:nth-child(odd){grid-column:1/-1}}.project-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);flex-direction:column;gap:.35rem;padding:1rem 1.1rem;transition:border-color .15s,background .15s;display:flex}.project-card:hover{border-color:var(--text-faint);background:var(--surface-hover)}.project-card h3{margin:0;font-size:1rem;line-height:1.3}.project-stack{color:var(--text-muted);margin:0;font-family:Roboto Mono,monospace;font-size:.75rem}.project-desc{color:var(--text-muted);flex:1;margin:0;font-size:.88rem;line-height:1.55}.project-links{margin:.25rem 0 0;font-size:.82rem}.site-footer{border-top:1px solid var(--border);text-align:center;margin-top:3rem;padding-top:1.25rem}.site-footer p{color:var(--text-faint);margin:0;font-family:Roboto Mono,monospace;font-size:.72rem}.site-header{z-index:10;background:var(--header-bg);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;margin:-.5rem -.75rem 1.5rem;padding:.85rem .75rem;display:flex;position:sticky;top:0}.site-header-actions{flex-shrink:0;align-items:center;display:flex}.site-nav{flex-wrap:wrap;gap:.35rem 1rem;display:flex}.site-nav a{color:var(--text-muted);letter-spacing:.02em;font-family:Roboto Mono,monospace;font-size:.78rem;text-decoration:none}.site-nav a:hover{color:var(--text)}.theme-toggle{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text-muted);cursor:pointer;flex-shrink:0;padding:.35rem .55rem;font-size:1rem;line-height:1;transition:background .15s,border-color .15s}.theme-toggle:hover{background:var(--surface-hover);border-color:var(--text);color:var(--text)}.theme-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.skill-list{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);margin:0;padding:0;list-style:none;overflow:hidden}.skill-list li{border-top:1px solid var(--border);gap:.25rem;padding:.7rem .9rem;display:grid}.skill-list li:first-child{border-top:none}.skill-name{color:var(--text);font-size:.88rem;font-weight:600;line-height:1.35}.skill-desc{color:var(--text-muted);font-size:.84rem;line-height:1.5}.skill-secondary .skill-name,.skill-secondary .skill-desc{color:var(--text-faint)}@media (width>=40rem){.skill-list li{grid-template-columns:11rem 1fr;align-items:baseline;gap:1rem}}.page{max-width:52rem;margin:0 auto}
/*$vite$:1*/