.resume-container{color:#2f3437;background:#fff;border:1px solid #e8eaef;max-width:1040px;padding:1.5rem 2.25rem 2.75rem;font-size:.86rem;line-height:1.72;box-shadow:0 18px 48px #19213d14}body{background:#f6f7fb}.resume-container h1,.resume-container h2,.resume-container h3,.resume-container h4,.resume-container h5{letter-spacing:0}.resume-container h1{font-size:2.25rem;font-weight:700;line-height:1.15}.resume-container h2,.resume-section-title{font-size:1.55rem;font-weight:700;line-height:1.25}.resume-container h4{font-size:1.08rem;font-weight:700;line-height:1.35}.resume-container h5,.resume-item-title{font-size:1rem;font-weight:700;line-height:1.4}.resume-section{page-break-inside:auto;break-inside:auto;margin-top:2.25rem}.resume-section-title{align-items:center;gap:.8rem;margin-bottom:0;display:flex}.resume-container .resume-section-title{font-size:1.2rem;line-height:1.3}.resume-section-title:after{content:"";background:linear-gradient(90deg,#0f766e59,#0f766e00);flex:1;height:1px}.resume-section-title .badge{vertical-align:middle}.resume-row{page-break-inside:avoid;break-inside:avoid}.resume-row+.resume-row{margin-top:.85rem}.resume-row>hr{display:none}.resume-item-grid{background:linear-gradient(#fff,#fbfbfe);border:1px solid #e4e7ef;border-radius:8px;padding:1rem 1.05rem;box-shadow:0 6px 18px #19213d0d}.resume-item-meta{border-right:1px solid #edf0f5;padding-right:1.1rem}.resume-item-body{padding-left:1.25rem}.resume-container hr{opacity:.16;margin:.85rem 0}.resume-meta-column{margin-bottom:.15rem}.resume-meta-title{color:#70757a;letter-spacing:0;margin-bottom:.25rem;font-size:.92rem;font-weight:600}.resume-subtitle{color:#70757a;margin-bottom:.35rem;font-size:.88rem;font-style:normal;font-weight:600;display:inline-block}.resume-item-title{color:#202124;margin-bottom:.1rem}.resume-introduce-card{padding:.65rem 0 .1rem}.resume-introduce-lead{color:#202124;border-bottom:1px solid #e4e7ef;margin-bottom:.55rem;padding-bottom:.45rem;font-size:.98rem;font-weight:700;line-height:1.55}.resume-introduce-list{gap:.28rem;margin-bottom:0;padding-left:1rem;display:grid}.resume-introduce-list li::marker{color:#0f766e}.resume-introduce-footer{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.25rem 1rem;margin-top:.35rem;display:flex}.resume-introduce-footer p{margin:0}.resume-item-body ul{margin-bottom:0;padding-left:1.05rem}.resume-item-body li{margin-bottom:.32rem}.resume-item-body li::marker{color:#0f766e}.resume-item-body ul ul{border-left:2px solid #eef0f6;margin-top:.25rem;margin-bottom:.45rem;padding-left:1rem}.resume-item-body ul ul li{padding-left:.35rem}.resume-description-list{flex-direction:column;gap:.28rem;display:flex}.resume-description-list-nested{background:#fbfcff;border-left:2px solid #e5e8f2;margin:.1rem 0 .55rem .15rem;padding:.65rem 0 .35rem .85rem}.resume-description-heading{color:#115e59;background:#f0fdfa;border:1px solid #99f6e4;border-radius:999px;width:fit-content;max-width:100%;margin-top:.45rem;padding:.12rem .55rem;list-style:none;display:inline-flex}.resume-description-heading:first-child{margin-top:0}.resume-description-summary{color:#30323a;background:#f7f8fb;border:1px solid #e8ebf2;border-radius:8px;width:auto;padding:.55rem .7rem;display:block}.resume-description-tech-stack{margin-bottom:.1rem;list-style:none}.resume-chip-group-label{color:#70757a;margin-bottom:.25rem;font-size:.76rem;font-weight:700;display:block}.resume-tech-stack-chips{flex-wrap:wrap;gap:.3rem;padding:.35rem 0 .1rem;display:flex}.resume-tech-stack-chip{color:#4a5059;background:#f8f9fc;border:1px solid #e2e6ef;border-radius:999px;align-items:center;padding:.14rem .5rem;font-size:.76rem;font-weight:600;line-height:1.35;display:inline-flex}.resume-experience-list{flex-direction:column;gap:.18rem;display:flex}.resume-detail-heading{color:#30343b;background:0 0;border-bottom:1px solid #e4e7ef;border-radius:0;width:auto;max-width:100%;margin-top:.35rem;padding:0 0 .32rem;list-style:none;display:block}.resume-detail-heading:first-child{margin-top:0}.resume-detail-heading b{color:#0f766e;font-weight:700}.resume-detail-item{margin-left:.2rem}.resume-keyword-cloud{border-top:1px solid #edf0f5;flex-wrap:wrap;gap:.28rem;margin-top:.55rem;padding-top:.7rem;display:flex}.resume-profile{margin-top:0}.resume-profile-layout{grid-template-columns:112px minmax(0,1fr);align-items:center;gap:1.5rem;display:grid}.resume-profile-photo{align-self:start}.resume-profile-main{min-width:0}.resume-profile-image{width:100%;height:auto;display:block}.resume-profile-notice{color:#4a5059;margin:.45rem 0 .6rem;font-size:.88rem;font-weight:600}.resume-profile-contacts{flex-wrap:wrap;gap:.3rem 1.25rem;display:flex}.resume-profile-contact{overflow-wrap:anywhere;align-items:baseline;gap:.5rem;min-width:0;display:flex}.resume-profile-contact>svg{flex:0 0 1em}.resume-profile+.resume-section{margin-top:1.25rem}.resume-contact-badge.badge{font-size:.72rem;font-weight:600}.resume-updated{color:#70757a;margin-top:.75rem;font-size:.78rem}.resume-sign{margin-top:.25rem}.resume-skill-row ul{margin-bottom:.35rem;padding-left:1rem}.resume-skill-content{flex-direction:column;gap:.5rem;padding:.45rem 0 0;display:flex}.resume-skill-chip-row{align-items:flex-start;padding:.25rem 0}.resume-skill-chip-group{flex-wrap:wrap;gap:.28rem;display:flex}.resume-skill-chip{color:#4a5059;background:#f8f9fc;border:1px solid #e6e9f0;border-radius:999px;align-items:center;gap:.3rem;padding:.12rem .46rem;font-size:.76rem;font-weight:600;line-height:1.35;display:inline-flex}.resume-skill-badge.badge,.resume-experience-badge.badge{font-weight:600}.resume-tooltip-button{color:#70757a;background:0 0;border:0;justify-content:center;align-items:center;margin-left:.35rem;padding:0;display:inline-flex}.resume-tooltip-button:focus-visible{outline-offset:2px;outline:2px solid #0f766e}.resume-period{flex-direction:column;align-items:flex-end;gap:.25rem;display:flex}.resume-period-badges{flex-wrap:wrap;justify-content:flex-end;gap:.25rem;display:flex}@media (max-width:767.98px){.resume-container{font-size:.88rem;line-height:1.7}.resume-container h1{font-size:1.9rem}.resume-container h2,.resume-section-title{font-size:1.35rem}.resume-container h4,.resume-meta-title{font-size:.96rem}.resume-profile-layout{grid-template-columns:72px minmax(0,1fr);align-items:start;gap:.85rem}.resume-profile-notice{font-size:.8rem}.resume-profile-contacts{flex-direction:column;font-size:.78rem}.resume-section{margin-top:1.65rem}.resume-introduce-card{margin-top:.35rem}.resume-container{box-shadow:none;border:0;padding:1.35rem 1rem 1.8rem}.resume-item-grid{padding:.9rem .9rem 1rem}.resume-item-meta{padding-right:calc(var(--bs-gutter-x) * .5);border-bottom:1px solid #edf0f5;border-right:0;margin-bottom:.65rem;padding-bottom:.55rem}.resume-item-body{padding-left:calc(var(--bs-gutter-x) * .5)}.resume-meta-column,.resume-period{text-align:left}.resume-period,.resume-period-badges{justify-content:flex-start;align-items:flex-start}.resume-meta-title{margin-bottom:0}.resume-skill-content{padding:.75rem}.resume-skill-chip-row{gap:.35rem}}.resume-open-source .resume-item-grid{display:block}.resume-open-source .resume-item-meta{background:#f2f7f6;border:0;border-left:3px solid #0f766e;width:100%;margin-bottom:.7rem;padding:.45rem .7rem;text-align:left!important}.resume-open-source .resume-meta-title{margin:0;font-size:1rem;font-weight:700;color:#115e59!important}.resume-open-source .resume-item-body{width:100%;padding:0}.resume-open-source .resume-description-summary{background:0 0;border:0;margin-bottom:.35rem;padding:0}.resume-open-source .resume-description-list>li:last-child{border-top:1px solid #e4e7ef;margin-top:.25rem;padding-top:.5rem;font-size:.8rem;list-style:none}@media screen{.resume-open-source .resume-item-grid{box-shadow:none;background:#fff}.resume-project .resume-item-grid{box-shadow:none;background:#fff;display:block}.resume-project .resume-item-meta{border:0;width:100%;margin:0;padding:0 0 .25rem;text-align:left!important}.resume-project .resume-meta-title{font-size:.8rem;font-weight:500}.resume-project .resume-item-body{width:100%;padding:0}.resume-project .resume-item-title{font-size:1.1rem}.resume-project .resume-description-list{display:block}.resume-project .resume-item-body>.resume-description-list{padding-left:0}.resume-project .resume-item-body ul ul{background:0 0;border:0;margin:.35rem 0 .8rem;padding:0 0 0 1.05rem}.resume-project .resume-item-body ul ul li{padding-left:0}.resume-project .resume-description-list-nested:has(>.resume-description-heading){padding-left:0}.resume-project .resume-item-body .resume-description-heading{color:#115e59;background:#f2f7f6;border:0;border-left:3px solid #0f766e;border-radius:0 4px 4px 0;width:auto;margin-top:1.1rem;padding:.45rem .7rem;font-size:.95rem;display:block}.resume-project .resume-description-heading:first-child{margin-top:0}.resume-project .resume-tech-stack-chip,.resume-project .resume-tech-stack-chip b{font-weight:400}}@media print{@page{size:A4;margin:12mm}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}body{background:#fff}.resume-container{color:#000;width:100%;max-width:none;box-shadow:none;border:0;padding:0;font-size:10.5pt;line-height:1.45}.resume-container h1{font-size:20pt}.resume-container .resume-section-title{font-size:12pt}.resume-container .resume-section-title,.resume-container .resume-section-title>span,.resume-open-source .resume-meta-title{color:#06443f!important}.resume-container h4,.resume-container h5,.resume-meta-title,.resume-item-title{font-size:11pt}.resume-profile-layout{break-inside:avoid;grid-template-columns:64px minmax(0,1fr);gap:12pt}.resume-profile-notice{margin:3pt 0;font-size:10pt}.resume-profile-contacts{flex-direction:row;gap:3pt 12pt;font-size:9pt}.resume-profile-name{margin-bottom:3pt}.resume-section,.resume-profile+.resume-section{margin-top:10pt}.resume-section-title:after{background:#73988f}.resume-project .resume-row{page-break-inside:auto;break-inside:auto}.resume-row+.resume-row{margin-top:8pt}.resume-item-grid{box-shadow:none;background:0 0;border:0;margin:0;padding:0;display:block}.resume-item-meta{break-after:avoid;border:0;width:100%;margin:0 0 2pt;padding:0;text-align:left!important}.resume-item-meta .row{margin:0;display:block}.resume-item-meta .row>*{width:100%;padding:0}.resume-item-body{break-before:avoid;width:100%;padding:0}.resume-period,.resume-period-badges{flex-direction:row;justify-content:flex-start;align-items:baseline;gap:5pt}.resume-container .resume-meta-title{margin:0;font-size:9.5pt}.resume-subtitle{margin-bottom:2pt;font-size:9.5pt;display:block}:is(.resume-item-title,.resume-subtitle:has(+ul)){break-after:avoid}.resume-introduce>.col-12{width:100%}.resume-introduce-card{padding:4pt 0 0}.resume-introduce-lead{margin-bottom:4pt;padding-bottom:4pt;font-size:10.5pt;line-height:1.45}.resume-introduce-list{display:block}.resume-introduce-footer{margin-top:3pt;font-size:8pt}.resume-section-heading.pb-3{padding-bottom:5pt!important}.resume-experience-list.pt-3,.resume-description-list.pt-2{padding-top:3pt!important}.resume-experience-list,.resume-description-list{break-before:avoid;display:block}.resume-description-tech-stack:has(+ul){break-after:avoid}.resume-item-body li{orphans:2;widows:2;break-inside:avoid;margin-bottom:3pt}.resume-item-body ul ul{background:0 0;border:0;margin:2pt 0 5pt;padding:0 0 0 10pt}.resume-item-body ul ul li{padding-left:0}.resume-description-heading,.resume-detail-heading{color:#115e59;break-after:avoid;background:0 0;border:0;border-radius:0;margin-top:5pt;padding:0;display:block}.resume-description-summary{padding:3pt 5pt}.resume-project .resume-item-body .resume-description-heading{color:#06443f;background:#dcece7;border-left:2pt solid #0b5953;width:auto;padding:2pt 4pt;font-weight:700!important}.resume-open-source .resume-item-meta{background:#dcece7;border-left:2pt solid #0b5953;margin-bottom:3pt;padding:2pt 4pt}.resume-open-source .resume-description-list>li:last-child{margin-top:2pt;padding-top:2pt;font-size:9pt}.resume-description-list-nested{break-before:avoid}.resume-keyword-cloud{break-inside:avoid;gap:2pt 4pt;margin-top:4pt;padding-top:3pt}.resume-tech-stack-chips,.resume-skill-chip-group{gap:2pt 4pt;padding:0}.resume-skill-content{break-inside:avoid;gap:1pt;padding:0}.resume-skill-content .resume-row+.resume-row{margin-top:0}.resume-etc .resume-section-content>.row>.col{break-inside:avoid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12pt;display:grid}.resume-etc .resume-row+.resume-row{margin-top:0}.resume-skill-chip-row{break-inside:avoid;padding:0}.resume-skill-chip-row>.resume-meta-column{width:25%}.resume-skill-chip-row>.col-md-9{width:75%}.resume-tech-stack-chip,.resume-skill-chip,.resume-experience-badge.badge{white-space:normal;padding:1pt 3pt;font-size:8.5pt;font-weight:500}.resume-section-heading{page-break-after:avoid;break-after:avoid}.resume-section-content,.resume-section-content .resume-row:first-child{page-break-before:avoid;break-before:avoid}.resume-tooltip-button{display:none!important}.resume-container a{color:inherit;text-decoration:none}.resume-container .badge,.resume-tech-stack-chip,.resume-skill-chip,.resume-description-heading{-webkit-print-color-adjust:exact;print-color-adjust:exact}.resume-tech-stack-chip,.resume-skill-chip{color:#4a5059!important;background:#f8f9fc!important;border:1px solid #e2e6ef!important}.resume-skill-badge.badge,.resume-experience-badge.badge{color:#115e59!important;background:#f0fdfa!important;border:1px solid #99f6e4!important}.resume-contact-badge.badge{color:#4a5059!important;background:#f8f9fc!important;border:1px solid #e2e6ef!important}}
