*,:before,:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}img,svg{max-width:100%;height:auto;display:block}:root{color-scheme:light;--page-bg:#f0f2f5;--surface:#fff;--ink:#2b2f36;--ink-muted:#5a606a;--accent:#0056b3;--accent-ink:#fff;--sidebar-bg:#0056b3;--sidebar-ink:#fff;--sidebar-ink-muted:#d8e6f7;--rule:#dcdfe4;--track:#d8dce2;--github-level-0:#ebedf0;--github-level-1:#9be9a8;--github-level-2:#40c463;--github-level-3:#30a14e;--github-level-4:#216e39;--shadow:0 0 15px #0000001a;--shadow-side:4px 0 15px #0000001a;--font-body:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;--measure:78ch}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--page-bg:#0c0f14;--surface:#12161c;--ink:#e3e8ef;--ink-muted:#a2acba;--accent:#7cb8ff;--accent-ink:#06121f;--sidebar-bg:#14243a;--sidebar-ink:#eaf1fb;--sidebar-ink-muted:#b6c8e0;--rule:#262d38;--track:#2a323d;--github-level-0:#161b22;--github-level-1:#0e4429;--github-level-2:#006d32;--github-level-3:#26a641;--github-level-4:#39d353;--shadow:0 0 15px #0009;--shadow-side:4px 0 15px #0009}}:root[data-theme=dark]{color-scheme:dark;--page-bg:#0c0f14;--surface:#12161c;--ink:#e3e8ef;--ink-muted:#a2acba;--accent:#7cb8ff;--accent-ink:#06121f;--sidebar-bg:#14243a;--sidebar-ink:#eaf1fb;--sidebar-ink-muted:#b6c8e0;--rule:#262d38;--track:#2a323d;--github-level-0:#161b22;--github-level-1:#0e4429;--github-level-2:#006d32;--github-level-3:#26a641;--github-level-4:#39d353;--shadow:0 0 15px #0009;--shadow-side:4px 0 15px #0009}::selection{background:var(--accent);color:var(--accent-ink)}body{font-family:var(--font-body);background-color:var(--page-bg);color:var(--ink);-webkit-font-smoothing:antialiased;line-height:1.7}h1{margin-bottom:.5rem;font-size:1.5rem;line-height:1.25}h2{color:var(--accent);border-bottom:2px solid var(--rule);margin-bottom:1.25rem;padding-bottom:.3rem;font-size:1.375rem}h3{margin-bottom:.35rem;font-size:1rem}p{max-width:var(--measure);margin-bottom:1.25rem}a{color:inherit}.content a{color:var(--accent);font-weight:600}:where(a,button):focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:3px}.skip-link{z-index:10;background:var(--surface);color:var(--ink);padding:.6rem 1rem;position:absolute;top:0;left:-9999px}.skip-link:focus{left:0}.container{background-color:var(--surface);max-width:1200px;box-shadow:var(--shadow);flex-direction:column;margin:0 auto;display:flex;position:relative}.sidebar{background-color:var(--sidebar-bg);color:var(--sidebar-ink);padding:1.25rem}.sidebar .tagline{color:var(--sidebar-ink-muted);margin-bottom:0}.profile-avatar{border:3px solid var(--sidebar-ink-muted);object-fit:cover;border-radius:50%;width:128px;height:128px;margin-bottom:1rem}.github-activity-link{text-decoration:none;display:block}.github-activity-label{margin-bottom:.6rem;display:block}.github-calendar-scroll{max-width:100%;padding-bottom:.25rem;display:block;overflow-x:auto}.github-months,.github-grid{grid-template-columns:repeat(var(--github-columns), minmax(0, 1fr));min-width:38rem;display:grid}.github-months{color:var(--ink-muted);grid-template-rows:1rem;margin-bottom:.2rem;font-size:.75rem}.github-months>span{white-space:nowrap;grid-row:1}.github-grid{grid-template-rows:repeat(7,.7rem);gap:.2rem}.github-cell{background-color:var(--github-level-0);border-radius:2px;min-width:0}.github-cell[data-level="1"]{background-color:var(--github-level-1)}.github-cell[data-level="2"]{background-color:var(--github-level-2)}.github-cell[data-level="3"]{background-color:var(--github-level-3)}.github-cell[data-level="4"]{background-color:var(--github-level-4)}.github-legend{color:var(--ink-muted);align-items:center;gap:.25rem;margin-top:.4rem;font-size:.75rem;display:flex}.github-legend .github-cell{width:.7rem;height:.7rem}.content{padding:1.25rem}.section{margin-bottom:2.5rem}.section:last-of-type{margin-bottom:0}@media (width>=1000px){.container{flex-direction:row}.sidebar{width:260px;box-shadow:var(--shadow-side);flex:0 0 260px}.content{flex:1;min-width:0;padding:2.5rem}}.plain-list{margin-bottom:1.25rem;padding-left:1.25rem;list-style:outside}.plain-list li{max-width:var(--measure);margin-bottom:.6rem}.plain-list.inline{flex-wrap:wrap;gap:.4rem 1.5rem;padding-left:0;list-style:none;display:flex}.plain-list.inline li{margin-bottom:0}.contact-info{margin-top:1.25rem;padding:0;list-style:none}.contact-item{align-items:center;gap:.6rem;margin-bottom:.9rem;font-size:.875rem;display:flex}.contact-item .icon{flex:none}.contact-item a{color:var(--sidebar-ink);word-break:break-word;text-decoration:none}.contact-item a:hover{text-decoration:underline}.skill-list{margin:0;padding:0;list-style:none}.skill{flex-wrap:wrap;align-items:center;gap:.35rem .6rem;margin-bottom:.75rem;display:flex}.skill-name{flex:100%}.bar{background-color:var(--track);border-radius:5px;flex:60%;height:10px;display:block;overflow:hidden}.progress{background-color:var(--accent);border-radius:5px;height:100%;display:block}.skill-years{color:var(--ink-muted);font-variant-numeric:tabular-nums;white-space:nowrap;flex:none}@media (width>=1000px){.skill{flex-wrap:nowrap}.skill-name{flex:0 0 320px}.skill-years{text-align:right;min-width:70px}}.tech-groups{margin:0}.tech-group{gap:0 1rem;margin-bottom:.6rem;display:grid}.tech-group dt{color:var(--ink);font-weight:600}.tech-group dd{color:var(--ink-muted);margin:0}@media (width>=1000px){.tech-group{grid-template-columns:180px 1fr}}.jobs{margin:0;padding:0;list-style:none}.job{margin-bottom:1.75rem}.job:last-child{margin-bottom:0}.job-period{color:var(--ink-muted);white-space:nowrap;font-weight:400}.consent{color:var(--ink-muted);margin-top:2.5rem;font-size:.75rem}.controls{background:var(--surface);border-bottom:1px solid var(--rule);justify-content:flex-end;align-items:center;gap:.5rem;padding:.5rem;display:flex}@media (width>=1000px){.controls{z-index:2;background:0 0;border-bottom:none;padding:0;position:absolute;top:10px;right:10px}}.language-switcher{gap:.25rem;display:flex}.lang{border:1px solid var(--rule);color:var(--ink-muted);background:var(--surface);border-radius:4px;align-items:center;padding:.2rem .55rem;font-size:.8125rem;text-decoration:none;display:inline-flex}.lang:hover{color:var(--accent);border-color:var(--accent)}.lang.active{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600}theme-switch{--line-2:var(--rule);--accent-ink-on-dark:var(--sidebar-ink);--muted:var(--ink-muted)}@media (prefers-reduced-motion:reduce){*{transition:none!important}}@media print{:root,:root[data-theme=dark],:root[data-theme=light]{color-scheme:light;--page-bg:#fff;--surface:#fff;--ink:#000;--ink-muted:#333;--accent:#000;--sidebar-bg:#f0f0f0;--sidebar-ink:#000;--sidebar-ink-muted:#333;--rule:#999;--track:#eee;--shadow:none;--shadow-side:none}body{color:#000;background:#fff}.controls,.skip-link{display:none!important}.container{width:100%!important;max-width:none!important;box-shadow:none!important}.contact-item a{word-break:normal}.contact-item img{filter:invert()}.bar,.progress{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.bar{border:1px solid #999}.progress{background-color:#666!important}.skill{page-break-inside:avoid;flex-wrap:nowrap}.skill-name{flex:0 0 320px}#softSkills .plain-list{flex-wrap:wrap;gap:.25rem 1.25rem;padding-left:0;list-style:none;display:flex}h2{page-break-after:avoid;page-break-inside:avoid}.section,.job{page-break-inside:avoid}.github-calendar{display:none}}
