:root{color-scheme:light;--bg: #ffffff;--bg-sidebar: #f7f6f3;--bg-hover: rgba(55, 53, 47, .06);--bg-callout: #f1f1ef;--text: #37352f;--text-muted: rgba(55, 53, 47, .65);--text-faint: rgba(55, 53, 47, .45);--border: rgba(55, 53, 47, .09);--border-strong: rgba(55, 53, 47, .16);--icon-circle-bg: #ffffff;--sidebar-active-bg: rgba(55, 53, 47, .08);--cover-gradient: linear-gradient(135deg, #fbe4d8 0%, #dbe6fb 50%, #e6dbfb 100%);--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--tag-gray-bg: #f1f1ef;--tag-gray-text: #787774;--tag-brown-bg: #f4eeee;--tag-brown-text: #9f6b53;--tag-orange-bg: #fbecdd;--tag-orange-text: #d9730d;--tag-yellow-bg: #fbf3db;--tag-yellow-text: #cb912f;--tag-green-bg: #edf3ec;--tag-green-text: #448361;--tag-blue-bg: #e7f3f8;--tag-blue-text: #337ea9;--tag-purple-bg: #f6f3f9;--tag-purple-text: #9065b0;--tag-pink-bg: #faf1f5;--tag-pink-text: #c14c8a;--tag-red-bg: #fdebec;--tag-red-text: #d44c47}[data-theme=dark]{color-scheme:dark;--bg: #2f3438;--bg-sidebar: #373c3f;--bg-hover: rgba(255, 255, 255, .055);--bg-callout: #3a3f42;--text: rgba(255, 255, 255, .9);--text-muted: rgba(255, 255, 255, .6);--text-faint: rgba(255, 255, 255, .4);--border: rgba(255, 255, 255, .13);--border-strong: rgba(255, 255, 255, .2);--icon-circle-bg: #3f4448;--sidebar-active-bg: rgba(255, 255, 255, .1);--cover-gradient: linear-gradient(135deg, #3a2e2a 0%, #22303f 50%, #2e2438 100%);--tag-gray-bg: #454b4e;--tag-gray-text: #b3b3b1;--tag-brown-bg: #4a3728;--tag-brown-text: #c9906a;--tag-orange-bg: #5a3b1c;--tag-orange-text: #e8a464;--tag-yellow-bg: #59461d;--tag-yellow-text: #e6cf5c;--tag-green-bg: #253b31;--tag-green-text: #5fb98a;--tag-blue-bg: #1a3a4a;--tag-blue-text: #6cc0ee;--tag-purple-bg: #3c2d4a;--tag-purple-text: #c39ee6;--tag-pink-bg: #4a2a3a;--tag-pink-text: #ec9dc0;--tag-red-bg: #4a2427;--tag-red-text: #ec7d7d}*,*:before,*:after{box-sizing:border-box}body{font-family:var(--font-body);margin:0;background:var(--bg);color:var(--text);min-height:100vh;transition:background .15s ease,color .15s ease}a{color:inherit;text-decoration:none}p{color:var(--text-muted);line-height:1.65;margin:0}h1,h2,h3{margin:0;font-weight:700;letter-spacing:-.01em;line-height:1.3;color:var(--text)}h1{font-size:clamp(1.9rem,4vw,2.4rem)}h2{font-size:1.55rem;font-weight:700}h3{font-size:1.08rem}.subtitle{margin:0;color:var(--text-muted)}.app-shell{display:flex;min-height:100vh}.sidebar{width:240px;flex-shrink:0;background:var(--bg-sidebar);border-right:1px solid var(--border);padding:1rem .75rem;display:flex;flex-direction:column;gap:.75rem;position:sticky;top:0;height:100vh;overflow-y:auto;transition:width .18s ease,padding .18s ease}.sidebar__workspace{display:flex;align-items:center;gap:.5rem;padding:.4rem .5rem;font-weight:600;font-size:.9rem}.sidebar-collapse-button,.sidebar-expand-button{cursor:pointer;border-radius:.35rem;flex-shrink:0;display:flex;align-items:center;justify-content:center}.sidebar-collapse-button{margin-left:auto;width:28px;height:28px;border:1px solid var(--border-strong);background:var(--bg);color:var(--text)}.sidebar-collapse-button:hover{background:var(--bg-hover);border-color:var(--text-muted)}.sidebar-expand-button{position:fixed;top:1rem;left:1rem;z-index:10;width:34px;height:34px;border:1px solid var(--border-strong);background:var(--bg);color:var(--text);box-shadow:0 1px 4px #0000001f}.sidebar-expand-button:hover{background:var(--bg-hover);border-color:var(--text-muted)}.sidebar__workspace-icon{width:22px;height:22px;border-radius:50%;object-fit:cover;flex-shrink:0}.sidebar__nav{display:flex;flex-direction:column;gap:.1rem}.sidebar__item{display:flex;align-items:center;gap:.6rem;padding:.4rem .5rem;border-radius:.35rem;font-size:.87rem;color:var(--text-muted);border:none;background:transparent;cursor:pointer;text-align:left;width:100%;font-family:inherit}.sidebar__item:hover{background:var(--bg-hover);color:var(--text)}.sidebar__item--active{background:var(--sidebar-active-bg);color:var(--text);font-weight:500}.sidebar__footer{margin-top:auto;display:flex;flex-direction:column;gap:.1rem;border-top:1px solid var(--border);padding-top:.5rem}.sidebar-scrim{display:none}.page{flex:1;min-width:0}.mobile-topbar{display:none}.icon-button{border:none;background:transparent;font-size:1.1rem;cursor:pointer;color:var(--text);padding:.3rem .5rem}.page-content{max-width:960px;margin:0 auto;padding:0 clamp(1.25rem,4vw,2rem) 4rem}@media(min-width:901px){.sidebar--collapsed{width:0;padding-left:0;padding-right:0;overflow:hidden;border-right:none}}.page-header{margin:0 calc(-1*clamp(1.25rem,4vw,2rem)) 1.5rem}.cover{height:clamp(120px,22vw,200px);background:var(--cover-gradient);background-size:cover;background-position:center}.page-head{padding:0 clamp(1.25rem,4vw,2rem);position:relative}.page-icon{width:78px;height:78px;border-radius:50%;background:var(--icon-circle-bg);border:3px solid var(--bg);display:flex;align-items:center;justify-content:center;overflow:hidden;font-size:2.2rem;margin-top:-39px;margin-bottom:.75rem;box-shadow:0 0 0 1px var(--border)}.page-icon img{width:100%;height:100%;object-fit:cover}.properties{display:flex;flex-direction:column;gap:.3rem;margin-top:1rem}.property-row{display:flex;gap:1rem;font-size:.88rem;padding:.2rem 0}.property-row__label{color:var(--text-faint);width:110px;flex-shrink:0}.property-row__value{color:var(--text)}.property-row__value--link:hover{color:var(--tag-blue-text);text-decoration:underline}.about-block{margin-bottom:2rem}.callout{display:flex;gap:.75rem;background:var(--bg-callout);border-radius:.4rem;padding:1rem 1.1rem;margin-bottom:1.25rem}.callout__icon{font-size:1.2rem;line-height:1.4}.callout__headline{color:var(--text);font-weight:600;font-size:1rem;margin:0 0 .5rem}.callout__bio{margin:0}.hero__actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-bottom:1.5rem}.hero__stats{display:flex;flex-wrap:wrap;gap:2rem}.stat-item{min-width:120px}.stat-item__value{font-size:1.4rem;font-weight:700;margin:0;color:var(--text)}.stat-item__label{margin:.2rem 0 0;color:var(--text-muted);font-size:.82rem}.stat-item__helper{opacity:.8}.button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 1rem;border-radius:.35rem;border:1px solid var(--text);background:var(--text);color:var(--bg);font-weight:500;font-size:.87rem;white-space:nowrap}.button--ghost{background:transparent;border-color:var(--border-strong);color:var(--text)}.block-section{padding:3rem 0 .5rem;border-top:1px solid var(--border-strong)}.block-section:first-of-type{border-top:none;padding-top:.5rem}.toggle-heading{display:flex;align-items:center;gap:.65rem;background:transparent;border:none;cursor:pointer;padding:.5rem;margin:0 -.5rem;border-radius:.35rem;width:100%;text-align:left;font-family:inherit}.toggle-heading:hover{background:var(--bg-hover)}.toggle-heading:hover .chevron{color:var(--text-muted)}.section__icon{font-size:1.4rem;line-height:1}.chevron{display:inline-flex;font-size:.75rem;color:var(--text-faint);transition:transform .15s ease,color .15s ease;transform:rotate(0)}.chevron--open{transform:rotate(90deg)}.section__content{padding:1rem 0 0 2.5rem}.section__description{margin:0 0 1.25rem;font-size:.95rem}.block-list{display:flex;flex-direction:column;gap:1.5rem}.block-item header{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.35rem}.block-item__period{font-size:.82rem;color:var(--text-muted);white-space:nowrap;margin:0}.block-item ul{padding-left:1.1rem;margin:.6rem 0 0;color:var(--text-muted);display:flex;flex-direction:column;gap:.4rem;font-size:.92rem}.block-line{border-radius:3px;padding:.1rem .3rem;margin:0 -.3rem}.block-line:hover{background:var(--bg-hover)}.tag-row{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.75rem}.block-item__links{display:flex;gap:.75rem;font-size:.85rem}.block-item__links a{color:var(--tag-blue-text)}.block-item__impact{font-weight:500;color:var(--text);font-size:.9rem;margin-top:.35rem}.skills-list{display:flex;flex-direction:column;gap:1.1rem}.skills-row__title{margin:0 0 .5rem;font-weight:600;font-size:.9rem;color:var(--text)}.education-achievements{padding-left:1.1rem;margin:.75rem 0 0;color:var(--text-muted);display:flex;flex-direction:column;gap:.5rem;font-size:.92rem}.contact-list{display:flex;flex-direction:column}.contact-row{display:flex;justify-content:space-between;padding:.65rem .3rem;margin:0 -.3rem;border-bottom:1px solid var(--border);border-radius:3px}.contact-row:hover{background:var(--bg-hover)}.contact-row:last-child{border-bottom:none}.contact-row__label{color:var(--text-muted);font-size:.88rem}.contact-row__value{color:var(--text);font-weight:500}.tag{display:inline-flex;align-items:center;padding:.15rem .55rem;border-radius:.3rem;font-size:.78rem;font-weight:500}.tag--gray{background:var(--tag-gray-bg);color:var(--tag-gray-text)}.tag--brown{background:var(--tag-brown-bg);color:var(--tag-brown-text)}.tag--orange{background:var(--tag-orange-bg);color:var(--tag-orange-text)}.tag--yellow{background:var(--tag-yellow-bg);color:var(--tag-yellow-text)}.tag--green{background:var(--tag-green-bg);color:var(--tag-green-text)}.tag--blue{background:var(--tag-blue-bg);color:var(--tag-blue-text)}.tag--purple{background:var(--tag-purple-bg);color:var(--tag-purple-text)}.tag--pink{background:var(--tag-pink-bg);color:var(--tag-pink-text)}.tag--red{background:var(--tag-red-bg);color:var(--tag-red-text)}.theme-toggle{justify-content:flex-start}.page-footer{border-top:1px solid var(--border);margin-top:1rem;padding-top:1.25rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}.page-footer__edited{font-size:.8rem;color:var(--text-faint)}.footer-links{display:flex;gap:1.1rem;flex-wrap:wrap;font-size:.85rem}.footer-links a{color:var(--text-muted)}.footer-links a:hover{color:var(--text)}@media(max-width:900px){.sidebar{position:fixed;left:0;top:0;transform:translate(-100%);transition:transform .2s ease;z-index:20;box-shadow:2px 0 12px #00000026}.sidebar--open{transform:translate(0)}.sidebar-scrim{display:block;position:fixed;inset:0;background:#00000059;z-index:15}.sidebar-collapse-button,.sidebar-expand-button{display:none}.mobile-topbar{display:flex;align-items:center;gap:.75rem;padding:.75rem clamp(1.25rem,4vw,2rem);border-bottom:1px solid var(--border);font-weight:600;font-size:.95rem;position:sticky;top:0;background:var(--bg);z-index:5}}@media(max-width:520px){.block-item header{flex-direction:column;align-items:flex-start;gap:.25rem}.property-row{flex-direction:column;gap:.1rem}.property-row__label{width:auto}}
