:root{--radius:12px;--radius-sm:8px;--font:"Segoe UI", system-ui, -apple-system, Roboto, sans-serif;--mono:ui-monospace, "Cascadia Code", Consolas, monospace}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0f1117;--bg-elevated:#161b26;--border:#2a3142;--text:#c4cdd9;--text-heading:#f1f5f9;--muted:#8b95a8;--accent:#7c9cff;--accent-hover:#a8bcff;--accent-dim:#7c9cff26;--accent-btn-hover-bg:#7c9cff47;--danger:#f87171;--nav-surface:#0f1117e0;--shadow:0 20px 50px #00000059;--modal-backdrop:#000000a6;--thumb-fallback:#1a2030;--thumb-empty-a:#1e293b;--thumb-empty-b:#312e81}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f1f5f9;--bg-elevated:#fff;--border:#e2e8f0;--text:#334155;--text-heading:#0f172a;--muted:#64748b;--accent:#4f46e5;--accent-hover:#6366f1;--accent-dim:#4f46e51f;--accent-btn-hover-bg:#4f46e538;--danger:#dc2626;--nav-surface:#ffffffeb;--shadow:0 20px 45px #0f172a1f;--modal-backdrop:#0f172a73;--thumb-fallback:#e2e8f0;--thumb-empty-a:#e2e8f0;--thumb-empty-b:#c7d2fe}html{font-family:var(--font);color:var(--text);background:var(--bg);line-height:1.55}*,:before,:after{box-sizing:border-box}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}body{min-height:100svh;margin:0}#root{min-height:100svh}a{color:var(--accent);text-underline-offset:3px;text-decoration-thickness:1px}a:hover{color:var(--accent-hover)}code{font-family:var(--mono);background:var(--bg-elevated);border:1px solid var(--border);border-radius:6px;padding:.15em .45em;font-size:.9em}.site-nav{z-index:20;background:var(--nav-surface);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1.5rem;display:flex;position:sticky;top:0}.site-nav__brand{color:var(--text-heading);font-weight:600;text-decoration:none}.site-nav__brand:hover{color:var(--accent)}.site-nav__links{flex-wrap:wrap;align-items:center;gap:.75rem 1.1rem;display:flex}.site-nav__links a{color:var(--text);font-size:.95rem;text-decoration:none}.site-nav__links a:hover{color:var(--accent)}.site-nav__cta{background:var(--accent-dim);border:1px solid var(--border);border-radius:999px;padding:.4rem .85rem;font-weight:500;color:var(--accent)!important}.site-nav__cta:hover{border-color:var(--accent)}.site-nav__cta--ghost{cursor:pointer;font:inherit;background:0 0;color:var(--text)!important}.site-nav__cta--ghost:hover{border-color:var(--muted);color:var(--accent)!important}.hero{position:relative}.hero__cover{border-bottom:1px solid var(--border);background-position:top;background-size:cover;height:500px}.hero__inner{text-align:center;max-width:900px;margin:0 auto;padding:0 1.5rem 2.5rem}.hero__avatar{border:4px solid var(--bg);box-shadow:var(--shadow);object-fit:cover;background:var(--bg-elevated);border-radius:50%;margin-top:-72px}.hero__name{color:var(--text-heading);letter-spacing:-.02em;margin:1rem 0 .25rem;font-size:clamp(1.75rem,4vw,2.35rem);font-weight:600}.hero__headline{color:var(--muted);margin:0;font-size:1.1rem}.hero__meta{color:var(--text);flex-wrap:wrap;justify-content:center;gap:.5rem 1.25rem;margin:1rem 0 0;padding:0;font-size:.95rem;list-style:none;display:flex}.hero__social{flex-wrap:wrap;justify-content:center;gap:.65rem;margin:1.25rem 0 0;padding:0;list-style:none;display:flex}.hero__social a{border:1px solid var(--border);border-radius:999px;padding:.35rem .75rem;font-size:.9rem;text-decoration:none}.hero__social a:hover{border-color:var(--accent)}.content{max-width:900px;margin:0 auto;padding:0 1.5rem 4rem}.section{padding-top:2.75rem;scroll-margin-top:4rem}.section h2{color:var(--text-heading);letter-spacing:-.02em;margin:0 0 1rem;font-size:1.35rem;font-weight:600}.section__head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem 1rem;margin-bottom:1rem;display:flex}.section__head h2{margin:0}.section__meta{font-size:.9rem}.projects__actions{justify-content:center;margin-top:1.35rem;display:flex}.projects__toggle{min-width:12rem}.panel__hint{color:var(--muted);max-width:65ch;margin:.75rem 0 0;font-size:.85rem;line-height:1.45}.panel__hint code{font-size:.88em}.panel__checks{grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:.5rem 1.25rem;margin-top:.75rem;display:grid}.section-hide-check{margin:0}.prose{max-width:72ch;color:var(--text);margin:0}.muted{color:var(--muted);font-size:.95rem}.skill-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;display:grid}.skill-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:1.1rem 1.25rem}.skill-card h3{color:var(--text-heading);margin:0 0 .65rem;font-size:1rem}.skill-card ul{margin:0;padding-left:1.1rem}.skill-card li{margin-bottom:.35rem}.timeline{flex-direction:column;gap:1.5rem;margin:0;padding:0;list-style:none;display:flex}.timeline__item{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,140px) 1fr;gap:.35rem 1.5rem;padding-bottom:1.5rem;display:grid}@media (width<=640px){.timeline__item{grid-template-columns:1fr}}.timeline__range{color:var(--muted);font-size:.85rem;font-family:var(--mono)}.timeline__media{object-fit:contain;object-position:left center;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-elevated);width:auto;max-width:140px;height:auto;max-height:80px;margin-bottom:.65rem;display:block}.timeline__body h3{color:var(--text-heading);margin:0;font-size:1.1rem}.timeline__company{color:var(--muted);margin:.2rem 0 .6rem;font-size:.95rem}.bullets{margin:.5rem 0 0;padding-left:1.2rem}.bullets li{margin-bottom:.35rem}.card-list{flex-direction:column;gap:1rem;margin:0;padding:0;list-style:none;display:flex}.card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:1.15rem 1.25rem}.card h3{color:var(--text-heading);margin:0 0 .35rem;font-size:1.05rem}.card--edu p{margin:.25rem 0}.pill-list{flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.pill-list--wrap{margin-top:.75rem}.pill{background:var(--accent-dim);border:1px solid var(--border);border-radius:999px;padding:.35rem .75rem;font-size:.88rem}.pill--sm{font-size:.8rem}.project-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.25rem;display:grid}.project-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;display:flex;overflow:hidden}.project-card__thumb{background-position:50%;background-size:cover;background-color:var(--thumb-fallback);height:140px}.project-card__thumb--empty{background:linear-gradient(135deg, var(--thumb-empty-a), var(--thumb-empty-b))}.project-card h3,.project-card .prose,.project-card .pill-list,.project-card__links{padding-left:1.15rem;padding-right:1.15rem}.project-card h3{color:var(--text-heading);margin:1rem 0 .35rem;font-size:1.05rem}.project-card .prose{flex:1;font-size:.95rem}.project-card__links{margin:.75rem 0 1.1rem;font-size:.9rem}.site-footer{text-align:center;max-width:900px;color:var(--muted);border-top:1px solid var(--border);margin:0 auto;padding:2rem 1.5rem 3rem;font-size:.9rem}.state{padding:2rem 1.5rem}.state--centered{text-align:center;place-content:center;min-height:50svh;display:grid}.state--error{color:var(--danger)}.state__hint{color:var(--muted);margin-top:.5rem}.editor{max-width:920px;margin:0 auto;padding:1.5rem 1.25rem 4rem}.editor__header{margin-bottom:2rem}.editor h1{color:var(--text-heading);margin:0 0 .5rem;font-size:1.65rem}.editor__lead{color:var(--muted);max-width:65ch;margin:0 0 1.25rem}.editor__actions{flex-wrap:wrap;gap:.65rem;display:flex}.editor__save-status{color:var(--muted);margin:.75rem 0 0;font-size:.9rem}.btn{font:inherit;cursor:pointer;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-heading);padding:.5rem 1rem}.btn:hover{border-color:var(--muted)}.btn--primary{background:var(--accent-dim);border-color:var(--accent);color:var(--accent)}.btn--primary:hover{background:var(--accent-btn-hover-bg)}.btn--small{padding:.35rem .65rem;font-size:.85rem}.panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elevated);margin-bottom:1.25rem;padding:1.1rem 1.25rem 1.35rem}.panel legend{color:var(--text-heading);padding:0 .35rem;font-weight:600}.panel__grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.85rem 1rem;margin-top:.75rem;display:grid}.panel__grid .grid-span-full{grid-column:1/-1}.image-url-editor{flex-direction:column;gap:.5rem;display:flex}.image-url-editor__url{font:inherit;color:var(--text-heading);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;max-width:100%;padding:.45rem .65rem}.image-url-editor__url:focus{outline:2px solid var(--accent);outline-offset:1px}.image-url-editor__row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.image-url-editor__notice{color:var(--muted);max-width:42rem;margin:0;font-size:.82rem;line-height:1.4}.image-url-editor__preview-box{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg);margin-top:.25rem;overflow:hidden}.image-url-editor--square .image-url-editor__preview-box{width:7.5rem;height:7.5rem}.image-url-editor--square .image-url-editor__preview-box img{object-fit:cover;width:100%;height:100%;display:block}.image-url-editor--wide .image-url-editor__preview-box{aspect-ratio:16/9;max-width:28rem;max-height:11rem}.image-url-editor--wide .image-url-editor__preview-box img{object-fit:cover;width:100%;height:100%;display:block}.panel__sub{border-top:1px solid var(--border);margin-top:1.25rem;padding-top:1rem}.panel__sub-title{color:var(--text-heading);margin:0 0 .75rem;font-size:1rem}.field{flex-direction:column;gap:.35rem;font-size:.9rem;display:flex}.field--inline{flex-direction:row;grid-column:1/-1;align-items:center;gap:.5rem}.field__label{color:var(--muted)}.field input,.field textarea{font:inherit;color:var(--text-heading);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.45rem .65rem}.field input:focus,.field textarea:focus{outline:2px solid var(--accent);outline-offset:1px}.row-line{grid-template-columns:1fr 2fr auto;align-items:center;gap:.5rem;margin-bottom:.5rem;display:grid}@media (width<=640px){.row-line{grid-template-columns:1fr}}.row-line input{font:inherit;color:var(--text-heading);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.45rem .65rem}.nested-block{border:1px dashed var(--border);border-radius:var(--radius-sm);margin-bottom:1rem;padding:.85rem 1rem}.nested-block__head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.nested-block__actions{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.nested-block__title-input{font:inherit;color:var(--text-heading);border:none;border-bottom:1px solid var(--border);background:0 0;flex:1;min-width:140px;padding:.2rem 0;font-weight:600}.nested-block__label{color:var(--muted);font-size:.9rem;font-weight:600}.theme-toggle{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-elevated);width:2.5rem;height:2.5rem;color:var(--text-heading);cursor:pointer;justify-content:center;align-items:center;padding:0;display:inline-flex}.theme-toggle:hover{border-color:var(--accent);color:var(--accent)}.theme-toggle__svg{display:block}.edit-gate{background:var(--bg);min-height:100svh}.edit-gate__toolbar{z-index:50;padding:.75rem 1rem;position:fixed;top:0;right:0}.modal-backdrop{z-index:40;background:var(--modal-backdrop);place-content:center;padding:1.25rem;display:grid;position:fixed;inset:0}.modal{border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-elevated);width:min(100%,420px);box-shadow:var(--shadow);padding:1.5rem 1.35rem}.modal__title{color:var(--text-heading);margin:0 0 .5rem;font-size:1.25rem}.modal__text{color:var(--muted);margin:0 0 1.1rem;font-size:.95rem}.modal__form{flex-direction:column;gap:.85rem;display:flex}.modal__form .field input{font:inherit;color:var(--text-heading);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;padding:.5rem .65rem}.modal__form .field input:focus{outline:2px solid var(--accent);outline-offset:1px}.modal__error{color:var(--danger);margin:0;font-size:.9rem}.modal__actions{flex-wrap:wrap;gap:.5rem;margin-top:.25rem;display:flex}
