@import url(https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@300;400;500;700&display=swap);@import url(https://fonts.googleapis.com/css2?family=Montserrat:wght@100;200;300;400;500;600;700;800;900&display=swap);*{border:0;box-sizing:border-box;font-family:Noto Sans KR,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Helvetica Neue,sans-serif;outline:0}#root,*,body,html{margin:0;padding:0}#root,body,html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;cursor:default;height:100%;letter-spacing:-.01em;line-height:1.6;min-height:100%;overflow-wrap:break-word;text-align:left;text-rendering:optimizeLegibility;word-break:normal}#root::-webkit-scrollbar,body::-webkit-scrollbar,html::-webkit-scrollbar{-ms-overflow-style:none;display:none;scrollbar-width:none}[data-theme=dark-mode]{background-color:#222;color:#fafafa;font-weight:300}[data-theme=dark-mode] .subtitle__h3{text-shadow:0 0 10px #1a4bff,2px 2px #ff621a}[data-theme=dark-mode] .project .project__links .github-logo{background-image:url(data:image/png;base64,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)}[data-theme=dark-mode] .timestamp .timestamp__main .when{color:#eff0f1}[data-theme=dark-mode] .experience{border-color:#5b5f66}[data-theme=dark-mode] .experience:hover{border-color:#3f4247}[data-theme=dark-mode] .footer-container .footer-contents{color:#fff}[data-theme=dark-mode] .footer-container .footer-contents:hover{color:#ffaf19}[data-theme=dark-mode] .skill-sets-container .description{background:#3f4247}[data-theme=dark-mode] .skill-sets-container .description .description-item{color:#fff}[data-theme=dark-mode] .skill-sets-container .description .expert{background-color:#ffe6db}[data-theme=dark-mode] .skill-sets-container .description:before{background:#8a8e94}[data-theme=dark-mode] .container .language select{background:#0000;color:#fff}[data-theme=dark-mode] .container .theme-container button{background-image:url(/static/media/sun.6d48da504f4816188c8d.png)}[data-theme=dark-mode] .about-me-container .introduce .about strong{background-color:#ffe7b9}[data-theme=dark-mode] .about-me-container .introduce .about p{gap:.1rem}[data-theme=dark-mode] .about-me-container .introduce .about boldred{background-color:#fee6da}[data-theme=dark-mode] .about-me-container .introduce .about boldblue{background-color:#e8edff}[data-theme=dark-mode] .about-me-container .introduce .about boldgreen{background-color:#e5f4e5}[data-theme=dark-mode] .about-me-container .introduce .about ul>customli:before{background-image:url(/static/media/check-dark.de94ec2703822644129b.png)}a{outline:none;text-decoration:none}a,a:visited{color:inherit}li{list-style:none}button{background:#0000;border:0;cursor:pointer}h1,h2,h3,p{border:0;font-size:100%;font:inherit;margin:0;padding:0;vertical-align:middle}body{background:#fff;color:#222}a,dd,dt,h1,h2,h3,h4,h5,h6,li,p,span{overflow-wrap:break-word;word-break:keep-all}.fade-enter{animation:slideIn .6s;opacity:0}.fade-enter-active{opacity:1;transition:opacity .5s}.fade-exit{animation:slideOut .6s;opacity:0}.fade-exit-active{opacity:1;transition:opacity .5s}@keyframes slideIn{0%{opacity:0}to{filter:blur(10px);opacity:1}}@keyframes slideOut{0%{filter:blur(0);opacity:0}to{filter:blur(10px);opacity:1}}.career-section{margin-bottom:5rem}.career-section .section-label{color:#5b5f66;font-size:1rem;margin-bottom:2rem}.career-section .career-list{display:flex;flex-direction:column;gap:4rem}.career-section .career-layout{grid-gap:2.4rem;align-items:start;display:grid;gap:2.4rem;grid-template-columns:minmax(20rem,.95fr) minmax(0,1.25fr)}.career-section .career-layout--summary-only{grid-template-columns:minmax(0,1fr)}.career-section .career-layout--summary-only .career-summary{max-width:34rem}.career-section .career-layout--summary-only .company-badge{width:min(100%,18rem)}.career-section .career-layout--collapsed{grid-template-columns:minmax(0,1fr)}.career-section .career-layout--collapsed .career-summary{max-width:42rem}.career-section .career-layout--moment .company-badge{background:linear-gradient(180deg,#f0fbfd,#fff);border:1px solid #28b8d11f;box-shadow:0 22px 50px #28b8d103}.career-section .career-layout--moment .company-badge:after{background:linear-gradient(180deg,#fff0,#28b8d114)}.career-section .career-layout--moment .career-meta p{background:#28b8d114;color:#28b8d1}.career-section .career-layout--moment .career-group li::marker{color:#28b8d1}.career-section .career-summary{grid-gap:1.75rem;display:grid;gap:1.75rem}.career-section .company-badge{background:linear-gradient(180deg,#fff8f6,#fff);border:1px solid #ff5a5f1f;border-radius:2rem;box-shadow:0 22px 50px #ff606029;margin:0;overflow:hidden;position:relative;width:min(100%,24rem)}.career-section .company-badge:after{background:linear-gradient(180deg,#fff0,#ff5a5f14);content:"";height:4.5rem;inset:auto 0 0 0;pointer-events:none;position:absolute}.career-section .company-badge img{display:block;height:auto;object-fit:contain;width:100%}.career-section .career-heading{align-items:flex-start;border-bottom:1px solid #ccd5ddcc;display:flex;gap:1.5rem;justify-content:space-between;padding-bottom:1.25rem}.career-section .career-heading-content{grid-gap:.85rem;display:grid;flex:1 1;gap:.85rem;min-width:0}.career-section .career-heading .career-title-row{align-items:center;display:flex}.career-section .career-heading h2{align-items:center;display:flex;margin-bottom:0}.career-section .career-heading h2 .company-logo-text{height:clamp(2.3rem,4vw,3.6rem);width:auto}.career-section .career-heading h2 .company-text-logo{align-items:center;color:#222;display:inline-flex;flex-wrap:wrap;font-size:clamp(1.7rem,2.6vw,2.35rem);font-weight:900;gap:.1em;letter-spacing:-.02em;line-height:1.3}.career-section .career-heading h2 .company-text-divider{color:#2c303873}.career-section .career-heading h2 .company-service-highlight{font-weight:900}.career-section .career-meta{display:flex;flex-wrap:wrap;gap:.65rem}.career-section .career-meta p{align-items:center;background:#ff5a5f14;border-radius:999px;color:#da5156;display:inline-flex;font-size:1rem;font-weight:600;line-height:1.35;min-height:2.25rem;padding:.35rem .85rem}.career-section .career-description{color:#5b5f66;font-size:1.125rem;line-height:1.9}.career-section .career-toggle{align-items:center;display:inline-flex;gap:.5rem}.career-section .career-toggle.desktop-only{display:inline-flex;flex-shrink:0;white-space:nowrap}.career-section .career-toggle.mobile-only{display:none}.career-section .career-toggle{background:#0000;border:1px solid #ccd5ddcc;border-radius:999px;color:#5b5f66;cursor:pointer;font-size:1rem;font-weight:800;padding:.75rem 1.25rem;transition:all .2s ease;width:fit-content}.career-section .career-toggle:hover{background:#ccd5dd1a}.career-section .career-toggle:focus-visible{background:#ccd5dd14;outline:2px solid #28b8d1b3;outline-offset:3px}.career-section .career-toggle .toggle-icon{font-size:.8em;transition:transform .3s ease}.career-section .career-toggle .toggle-icon.expanded{transform:rotate(180deg)}.career-section .career-groups{grid-gap:1.5rem;display:grid;gap:1.5rem}.career-section .career-group{background:linear-gradient(180deg,#fff,#fbfcfd);border:1px solid #ccd5dde6;border-radius:1.5rem;box-shadow:0 10px 28px #2222220d;padding:1.75rem 1.5rem}.career-section .career-group h3{color:#222;font-size:clamp(1.4rem,2vw,1.95rem);font-weight:900;line-height:1.38;margin-bottom:1.25rem;word-break:keep-all}.career-section .career-group ol{grid-gap:.9rem;display:grid;gap:.9rem;padding-left:1.1rem}.career-section .career-group li{color:#5b5f66;font-size:1.125rem;line-height:1.8;padding-left:.25rem}.career-section .career-group li::marker{color:#ff5a5f}@media(min-width:768px)and (max-width:1023px){.career-section .career-toggle.desktop-only{display:none}.career-section .career-toggle.mobile-only{display:inline-flex}.career-section .career-layout{gap:2.2rem;grid-template-columns:1fr}.career-section .career-layout--collapsed .career-summary,.career-section .career-layout--summary-only .career-summary{max-width:none}.career-section .career-layout--summary-only .company-badge{width:min(100%,18rem)}.career-section .company-badge{width:min(100%,22rem)}.career-section .career-groups{gap:1.2rem}.career-section .career-group{border-radius:1.2rem;box-shadow:0 6px 18px #2222220a;padding:1.5rem 1.25rem}.career-section .career-group h3{font-size:clamp(1.3rem,2.2vw,1.6rem);margin-bottom:.9rem}}@media(min-width:576px)and (max-width:767px){.career-section{margin-bottom:4rem}.career-section .career-toggle.desktop-only{display:none}.career-section .career-toggle.mobile-only{display:inline-flex}.career-section .section-label{margin-bottom:1.25rem}.career-section .career-list{gap:3rem}.career-section .career-layout{gap:1.75rem;grid-template-columns:1fr}.career-section .career-layout--collapsed .career-summary,.career-section .career-layout--summary-only .career-summary{max-width:none}.career-section .career-layout--summary-only .company-badge{width:100%}.career-section .career-heading{padding-bottom:1rem}.career-section .career-heading-content{gap:.75rem}.career-section .career-heading h2 .company-text-logo{font-size:1.55rem;line-height:1.35}.career-section .career-meta{gap:.55rem}.career-section .career-meta p{min-height:2rem;padding:.3rem .75rem}.career-section .company-badge{border-radius:1.35rem;box-shadow:0 10px 24px #ff60601a;width:100%}.career-section .career-layout--moment .company-badge{box-shadow:0 10px 24px #28b8d103}.career-section .career-description,.career-section .career-group li,.career-section .career-meta p{font-size:1rem}.career-section .career-toggle{font-size:.9rem;padding:.6rem 1rem}.career-section .career-group{background:#0000;border:0;border-radius:0;box-shadow:none;padding:.95rem 0}.career-section .career-group:not(:last-child){border-bottom:1px solid #ccd5dde6}.career-section .career-group h3{font-size:1.18rem;margin-bottom:.8rem}.career-section .career-group ol{gap:.7rem;padding-left:1rem}.career-section .career-group li{line-height:1.72}}@media(max-width:576px){.career-section{margin-bottom:4rem}.career-section .career-toggle.desktop-only{display:none}.career-section .career-toggle.mobile-only{display:inline-flex}.career-section .section-label{margin-bottom:1.25rem}.career-section .career-list{gap:3rem}.career-section .career-layout{gap:1.5rem;grid-template-columns:1fr}.career-section .career-layout--collapsed .career-summary,.career-section .career-layout--summary-only .career-summary{max-width:none}.career-section .career-layout--summary-only .company-badge{width:100%}.career-section .career-heading{padding-bottom:1rem}.career-section .career-heading-content{gap:.7rem}.career-section .career-heading h2 .company-text-logo{font-size:1.4rem;line-height:1.35}.career-section .career-meta{gap:.5rem}.career-section .career-meta p{min-height:2rem;padding:.3rem .7rem}.career-section .company-badge{border-radius:1.2rem;box-shadow:0 8px 18px #ff606014;width:100%}.career-section .career-layout--moment .company-badge{box-shadow:0 8px 18px #28b8d103}.career-section .career-description,.career-section .career-group li,.career-section .career-meta p{font-size:1rem}.career-section .career-group h3{margin-bottom:.75rem}.career-section .career-group{background:#0000;border:0;border-radius:0;box-shadow:none;padding:.9rem 0}.career-section .career-group:not(:last-child){border-bottom:1px solid #ccd5dde6}.career-section .career-group h3{font-size:1.08rem}.career-section .career-group ol{gap:.65rem;padding-left:.95rem}.career-section .career-group li{line-height:1.68}}.intro-section{margin-bottom:5rem}.intro-section .section-label{color:#5b5f66;font-size:1rem;margin-bottom:2rem}.intro-section .intro-layout{grid-gap:2.25rem;align-items:start;display:grid;gap:2.25rem;grid-template-columns:minmax(0,1.8fr) minmax(18rem,.9fr)}.intro-section .intro-lead{color:#5b5f66;font-size:1.125rem;line-height:1.6;margin-bottom:1rem}.intro-section .intro-heading{color:#222;font-size:clamp(2.55rem,5.2vw,4.15rem);font-weight:900;letter-spacing:-.02em;line-height:1.24;margin-bottom:2rem;word-break:keep-all}.intro-section .intro-heading strong{color:#28b8df}.intro-section .intro-summary-title{color:#222;font-size:clamp(1.45rem,1.8vw,1.95rem);font-weight:800;letter-spacing:-.015em;line-height:1.45;margin-bottom:1.25rem;max-width:18em}.intro-section .intro-summary{grid-gap:1.25rem;display:grid;gap:1.25rem}.intro-section .intro-summary p{color:#5b5f66;font-size:1.125rem;line-height:1.9}.intro-section .intro-profile{grid-gap:2rem;display:grid;gap:2rem}.intro-section .intro-profile--image-only{align-content:start}.intro-section .profile-image{background:#eff0f1;border-radius:3rem;box-shadow:0 .08em .35em #0000002e;margin-left:auto;overflow:hidden;width:min(100%,21rem)}.intro-section .profile-image img{display:block;height:auto;object-fit:cover;width:100%}.intro-section .profile-image--mobile{display:none}.intro-section .contact-card{margin-left:auto;width:min(100%,21rem)}.intro-section .contact-card h3{color:#222;font-size:1.625rem;font-weight:800;letter-spacing:-.02em;margin-bottom:1rem}.intro-section .contact-card dl{grid-gap:.9rem;display:grid;gap:.9rem}.intro-section .contact-row{grid-gap:.75rem;align-items:start;display:grid;gap:.75rem;grid-template-columns:4.5rem minmax(0,1fr)}.intro-section .contact-row a,.intro-section .contact-row dd,.intro-section .contact-row dt{color:#222;font-size:1.125rem;line-height:1.6;word-break:break-word}.intro-section .contact-row dt{font-weight:600}.intro-section .contact-row a{text-decoration:underline;text-underline-offset:.15em}@media(min-width:768px)and (max-width:1023px){.intro-section .intro-layout{grid-template-columns:1fr}.intro-section .contact-card,.intro-section .profile-image{margin-left:0}}@media(min-width:576px)and (max-width:767px){.intro-section{margin-bottom:4rem}.intro-section .section-label{margin-bottom:1.25rem}.intro-section .intro-layout{gap:2rem;grid-template-columns:1fr}.intro-section .intro-heading{font-size:clamp(2.1rem,8vw,3.15rem);letter-spacing:-.015em;line-height:1.28}.intro-section .intro-summary-title{line-height:1.5}.intro-section .contact-row a,.intro-section .contact-row dd,.intro-section .contact-row dt,.intro-section .intro-summary p{font-size:1rem}.intro-section .contact-card,.intro-section .profile-image{margin-left:0;width:100%}.intro-section .profile-image--desktop{display:none}.intro-section .profile-image--mobile{display:block;margin-bottom:2rem}}@media(max-width:576px){.intro-section{margin-bottom:4rem}.intro-section .section-label{margin-bottom:1.25rem}.intro-section .intro-layout{gap:2rem;grid-template-columns:1fr}.intro-section .intro-heading{font-size:clamp(2rem,9vw,2.9rem);letter-spacing:-.015em;line-height:1.3}.intro-section .intro-summary-title{line-height:1.5}.intro-section .contact-row a,.intro-section .contact-row dd,.intro-section .contact-row dt,.intro-section .intro-summary p{font-size:1rem}.intro-section .contact-card,.intro-section .profile-image{margin-left:0;width:100%}.intro-section .profile-image--desktop{display:none}.intro-section .profile-image--mobile{display:block;margin-bottom:2rem}.intro-section .contact-row{grid-template-columns:4rem minmax(0,1fr)}}.projects-section{margin-bottom:5rem}.projects-section .section-label{color:#5b5f66;font-size:1rem;margin-bottom:1.5rem}.projects-container{grid-gap:2rem;display:grid;gap:2rem}@media(min-width:576px)and (max-width:767px){.projects-section{margin-bottom:4rem}.projects-section .section-label{margin-bottom:1.25rem}}@media(max-width:576px){.projects-section{margin-bottom:4rem}.projects-section .section-label{margin-bottom:1.25rem}}.project-card{grid-gap:1.4rem;border-top:1px solid #ccd5dd;display:grid;gap:1.4rem;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);padding:1.35rem 0}.project-card:last-child{border-bottom:1px solid #ccd5dd}.project-overview{grid-gap:1.5rem;align-content:start;display:grid;gap:1.5rem}.project-image{border:1px solid #ccd5dd;border-radius:1rem;box-shadow:0 4px 12px #0000000d;overflow:hidden;width:100%}.project-image img{display:block;height:auto;object-fit:cover;width:100%}.project-summary{grid-gap:.45rem;display:grid;gap:.45rem}.project-company{margin-bottom:.2rem}.project-company-logo{display:block;height:1.5rem;width:auto}.project-title{color:#222;font-size:clamp(1.32rem,2vw,1.8rem);font-weight:900;letter-spacing:-.018em;line-height:1.42}.project-contribution,.project-term{color:#767b83;font-size:1.125rem;line-height:1.7}.project-content{grid-gap:2rem;display:grid;gap:2rem}.project-group{grid-gap:1rem;display:grid;gap:1rem}.project-group h4{color:#222;font-size:1.375rem;font-weight:800;letter-spacing:-.015em;line-height:1.4}.project-group ul{grid-gap:.8rem;display:grid;gap:.8rem;padding-left:1.1rem}.project-group li{color:#5b5f66;font-size:1.125rem;line-height:1.85}.project-group li::marker{color:#28b8df}@media(min-width:768px)and (max-width:1023px){.project-card{gap:1.5rem;grid-template-columns:1fr}}@media(min-width:576px)and (max-width:767px){.project-card{gap:1.5rem;grid-template-columns:1fr;padding:1.2rem 0}.project-title{line-height:1.45}.project-contribution,.project-group li,.project-term{font-size:1rem}}@media(max-width:576px){.project-card{gap:1.5rem;grid-template-columns:1fr;padding:1.2rem 0}.project-title{line-height:1.48}.project-contribution,.project-group li,.project-term{font-size:1rem}}@keyframes blink{50%{border-color:#ffaf19}}@keyframes shine{0%{background-position:0}60%{background-position:200px}to{background-position:400px}}.page{height:100%;margin:0 auto;max-width:60rem;padding:2.5rem 1.5rem 4rem}.page .page-container{display:flex;flex-direction:column;justify-content:center;padding:0}@media(max-width:576px){.page{padding:1.5rem 1.25rem 3rem}.page .page-container{padding:0}}@media(min-width:576px)and (max-width:767px){.page{padding:1.5rem 1.25rem 3rem}.page .page-container{padding:0}}
/*# sourceMappingURL=main.7eb90a88.css.map*/