:root{--nav-bg:#ffffffd1;--nav-line:#17171a14}:root[data-theme=night]{--nav-bg:#161e2ac7;--nav-line:#ffffff1f}.nav-rays{opacity:1;transform:scale(1)rotate(0)}.nav-disc{opacity:1;transform:scale(1)}.nav-moon{opacity:0;transform:rotate(-64deg)scale(.45)}:root[data-theme=night] .nav-rays{opacity:0;transform:scale(.4)rotate(45deg)}:root[data-theme=night] .nav-disc{opacity:0;transform:scale(.35)}:root[data-theme=night] .nav-moon{opacity:1;transform:rotate(-16deg)scale(1)}@media (hover:hover){.nav-avatar:hover{transform:scale(1.09)!important}.nav-toggle:hover{background:var(--soft,#eef5fb)!important}.nav-resume:hover{background:var(--accent,#004b97)!important;color:#fff!important}@supports (color:lab(0% 0 0)){.nav-resume:hover{background:var(--accent,lab(31.2475% 7.9328 -54.7005))!important}}}.nav-panel{right:0}@container (max-width:271.98px){.nav-panel>div{padding:4px!important}.nav-panel .res-pdf{gap:10px!important;padding-left:10px!important;padding-right:10px!important}}.nav-avatar:focus-visible,.nav-link:focus-visible,.nav-toggle:focus-visible,.nav-resume:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.nav-dock{container-type:inline-size}@container (max-width:392.98px){.nav-group{gap:0!important}.nav-div{margin:0!important}.nav-link{padding-left:clamp(6px,12.5cqw - 34.125px,13px)!important;padding-right:clamp(6px,12.5cqw - 34.125px,13px)!important}.nav-resume{padding-left:clamp(8px,12.5cqw - 32.125px,15px)!important;padding-right:clamp(8px,12.5cqw - 32.125px,15px)!important}}@container (max-width:327.98px){.nav-pill{row-gap:1px!important}.nav-pill:after{content:"";flex:0 0 100%;order:2;height:0}.nav-group{display:contents!important}.nav-group>*{order:3}.nav-avatar,.nav-group>.nav-resume{order:1}.nav-status{display:none!important}.nav-group>.nav-resume{margin-left:4px!important;margin-right:auto!important;padding-left:clamp(11px,50cqw - 108px,15px)!important;padding-right:clamp(11px,50cqw - 108px,15px)!important}.nav-link{padding-left:clamp(4px,16.6667cqw - 35.6667px,13px)!important;padding-right:clamp(4px,16.6667cqw - 35.6667px,13px)!important}}@media (min-width:543px){@container (max-width:690.49px){.nav-pill{padding-right:clamp(112px,29.8246cqw - 37.2719px,129px)!important}.nav-link{padding-left:clamp(8px,8.77193cqw - 35.9035px,13px)!important;padding-right:clamp(8px,8.77193cqw - 35.9035px,13px)!important}.nav-resume{padding-left:clamp(10px,8.77193cqw - 33.9035px,15px)!important;padding-right:clamp(10px,8.77193cqw - 33.9035px,15px)!important}.nav-panel{right:clamp(106px,29.8246cqw - 43.2719px,123px)}}}@media (max-width:542.98px){.nav-pill{row-gap:1px!important}.nav-pill:after{content:"";flex:0 0 100%;order:2;height:0}.nav-avatar,.nav-status{order:1}.nav-group{order:3}}@media (prefers-reduced-motion:reduce){.nav-dock,.nav-dock *{transition-duration:.01ms!important;transition-delay:0s!important}}
:root{--ease:cubic-bezier(.2,.7,.2,1);--bg:#fbfbfa;--ink:#17171a;--body:#17171ac7;--dim:#17171a8c;--rule:#17171a26;--accent:#004b97;--soft:#eef5fb;--figbg:#eef5fb;--figink:#004b97;--chip:#fff9;--pop:#fffffff5;--warn:#7f4f00;--warn-line:#b37d24;--warn-dot:#cb7f00;--live:#03a14a;--sun:#fdc010;--paper:#fff}@supports (color:lab(0% 0 0)){:root{--accent:lab(31.2475% 7.9328 -54.7005);--figink:lab(31.2475% 7.9328 -54.7005);--warn:lab(38.2622% 19.5622 73.4436);--warn-line:lab(56.9725% 15.935 53.6082);--warn-dot:lab(60.148% 27.122 82.2108);--live:lab(58.0286% -51.707 34.5419);--sun:lab(81.625% 13.3759 81.0597)}}:root[data-theme=night]{--bg:#0f1620;--ink:#f2f4f6;--body:#f2f4f6cc;--dim:#f2f4f69e;--rule:#f2f4f633;--accent:#7bceff;--soft:#ffffff14;--figbg:#ffffff17;--figink:#92d7ff;--chip:#ffffff0f;--pop:#161e2af5;--warn:#ffc571;--warn-line:#ad7c2f;--warn-dot:#ffb24d;--paper:#1b2430}@supports (color:lab(0% 0 0)){:root[data-theme=night]{--accent:lab(79.0616% -15.7742 -40.9718);--figink:lab(82.5962% -14.3281 -34.8955);--warn:lab(83.7122% 16.0965 54.215);--warn-line:lab(55.8405% 14.2863 47.8594);--warn-dot:lab(78.8435% 23.623 63.8292)}}html{scroll-behavior:smooth;background:var(--bg);scrollbar-gutter:stable}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Newsreader,Georgia,serif;transition:background .7s,color .7s;overflow-x:hidden}a{color:inherit;text-decoration:none}a:hover{color:var(--accent,#004b97)}@supports (color:lab(0% 0 0)){a:hover{color:var(--accent,lab(31.2475% 7.9328 -54.7005))}}::selection{color:#17171a;background:#ffdb68;background:lab(88.8591% 3.52702 60.6351)}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-thumb{background:#7878824d;border-radius:8px}::-webkit-scrollbar-thumb:hover{background:#7878828c}.site{background:var(--bg);color:var(--ink);min-height:100vh;transition:background .7s,color .7s}.frame-main{padding:0 clamp(20px,5vw,72px);position:relative}:root{--wide-col:1776px}@media (min-width:1920.02px){.frame-main{padding-inline:max(72px, calc((100% - var(--wide-col)) / 2))}}:root{--nav-b:66px;--nav-clear:0px}@media (max-width:542.98px){:root{--nav-b:104px;--nav-clear:calc(var(--nav-b) + 24px)}}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}@keyframes wIn{0%{opacity:0;filter:blur(7px);transform:translateY(.34em)rotate(1.4deg)}to{opacity:1;filter:blur();transform:none}}@keyframes pulseDot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.78)}}@keyframes hintFade{0%,to{opacity:.35}50%{opacity:.9}}@keyframes twinkle{0%,to{opacity:.2}50%{opacity:.95}}@keyframes pageIn{0%{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes dealIn{0%{opacity:0;transform:translate(150px,-170px)rotate(14deg)scale(.92)}to{opacity:1;transform:none}}@keyframes popIn{0%{opacity:0;transform:translateY(14px)scale(.98)}to{opacity:1;transform:none}}@keyframes thinking{0%,to{opacity:.35}50%{opacity:1}}html.fonts-pending .site,html.scroll-pending .site{visibility:hidden}html.fonts-pending .site,html.fonts-pending .site *,html.scroll-pending .site,html.scroll-pending .site *{animation-play-state:paused!important}section[id]{scroll-margin-top:80px}html.js [data-reveal]{opacity:0;transform:translateY(20px)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}html.js [data-reveal]{opacity:1!important;transition:none!important;transform:none!important}*,:before,:after{animation-duration:.001ms!important;animation-iteration-count:1!important}}
