@import"https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard.min.css";.hero{position:fixed;left:0;top:0;height:100vh;width:280px;background:var(--bg-primary);border-right:1px solid var(--border-color);overflow-y:auto;z-index:100}.hero-content{padding:var(--spacing-lg) var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-lg)}.lang-toggle{position:fixed;top:var(--spacing-md);right:var(--spacing-md);z-index:1000;display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--radius-xl);background:#fffffff2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border-color);box-shadow:var(--shadow-sm)}.lang-icon{font-size:.875rem}.lang-btn{background:none;border:none;font-size:.8125rem;font-weight:500;color:var(--text-tertiary);cursor:pointer;padding:2px 4px;border-radius:4px;transition:all var(--transition-base)}.lang-btn:hover{color:var(--text-secondary)}.lang-btn.active{color:var(--primary);font-weight:600}.lang-divider{color:var(--text-quaternary);font-size:.75rem}.profile-image-container{display:flex;justify-content:center;animation:fadeIn .8s ease-out}.profile-image{width:100px;height:100px;border-radius:50%;object-fit:cover;border:3px solid transparent;background:linear-gradient(#fff,#fff) padding-box,linear-gradient(135deg,var(--primary),var(--secondary)) border-box;transition:transform var(--transition-base)}.profile-image:hover{transform:scale(1.05)}.hero-info{text-align:center;animation:fadeIn .8s ease-out .2s backwards}.name-ko{font-size:1.5rem;font-weight:700;margin-bottom:.25rem;background:linear-gradient(135deg,var(--primary) 0%,var(--secondary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.name-en{font-size:1rem;font-weight:500;color:var(--text-secondary);margin-bottom:.75rem}.title{font-size:.875rem;color:var(--text-secondary);line-height:1.5;margin:0}.description{font-size:.8125rem;color:var(--text-tertiary);line-height:1.6;margin:.5rem 0 0;font-style:italic}.skills-section{margin-top:-.5rem;animation:fadeIn .8s ease-out .4s backwards}.section-title{font-size:.75rem;font-weight:600;color:var(--text-tertiary);margin-bottom:.5rem;letter-spacing:.05em;text-transform:uppercase}.skills-container{font-size:.875rem;color:var(--text-secondary);line-height:1.6}.social-links{display:flex;justify-content:center;gap:var(--spacing-md);animation:fadeIn .8s ease-out .6s backwards}.social-link{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:var(--bg-secondary);color:var(--text-tertiary);transition:all var(--transition-base);border:1px solid var(--border-color)}.social-link:hover{background:var(--primary);color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #5864ff4d;border-color:var(--primary)}.social-icon{width:16px;height:16px}.hero-nav{display:flex;flex-direction:column;gap:.125rem;padding-top:var(--spacing-sm);border-top:1px solid var(--border-color);animation:fadeIn .8s ease-out .8s backwards}.nav-item{padding:.5rem .75rem;font-size:1.0625rem;font-weight:500;color:var(--text-secondary);background:transparent;border:none;border-radius:var(--radius-sm);text-align:left;cursor:pointer;transition:all var(--transition-base);position:relative}.nav-item:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:0;background:linear-gradient(180deg,var(--primary) 0%,var(--secondary) 100%);border-radius:0 3px 3px 0;transition:height var(--transition-base)}.nav-item:hover{color:var(--primary);background:var(--bg-secondary)}.nav-item.active{color:var(--primary);background:linear-gradient(90deg,var(--bg-secondary) 0%,transparent 100%);font-weight:600}.nav-item.active:before{height:70%}.hero::-webkit-scrollbar{width:6px}.hero::-webkit-scrollbar-track{background:var(--bg-secondary)}.hero::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.hero::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}@media(max-width:1023px){.hero{position:relative;width:100%;height:auto;border-right:none;border-bottom:1px solid var(--border-color)}.hero-content{padding:var(--spacing-lg)}.skills-section{text-align:center}.hero-nav{flex-direction:row;overflow-x:auto;padding-top:var(--spacing-sm)}.nav-item{white-space:nowrap;text-align:center;flex:1}.nav-item:before{left:50%;transform:translate(-50%);top:auto;bottom:0;width:0;height:3px;border-radius:3px 3px 0 0}.nav-item.active:before{width:70%;height:3px}}.mobile-menu-button{display:none;position:fixed;top:1rem;left:1rem;z-index:1001;width:48px;height:48px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;box-shadow:var(--shadow-md);transition:all var(--transition-base)}.mobile-menu-button:hover{box-shadow:var(--shadow-lg);background:linear-gradient(135deg,var(--primary) 0%,var(--secondary) 100%)}.mobile-menu-button:hover .hamburger span{background:#fff}.hamburger{width:24px;height:18px;position:relative;margin:auto;transform:rotate(0);transition:.5s ease-in-out}.hamburger span{display:block;position:absolute;height:3px;width:100%;background:var(--text-primary);border-radius:3px;opacity:1;left:0;transform:rotate(0);transition:.25s ease-in-out}.hamburger span:nth-child(1){top:0}.hamburger span:nth-child(2){top:8px}.hamburger span:nth-child(3){top:16px}.hamburger.open span:nth-child(1){top:8px;transform:rotate(135deg)}.hamburger.open span:nth-child(2){opacity:0;left:-60px}.hamburger.open span:nth-child(3){top:8px;transform:rotate(-135deg)}.mobile-menu-overlay{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;z-index:998;opacity:0;pointer-events:none;transition:opacity var(--transition-base)}.mobile-menu-overlay.open{opacity:1;pointer-events:auto}.mobile-menu{display:none;position:fixed;top:0;left:-100%;width:80%;max-width:320px;height:100%;background:var(--bg-primary);z-index:999;padding:var(--spacing-xl);box-shadow:var(--shadow-xl);transition:left var(--transition-slow);overflow-y:auto}.mobile-menu.open{left:0}.mobile-menu-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-md);border-bottom:2px solid var(--border-color)}.mobile-menu-header h3{font-size:1.5rem;font-weight:700;background:linear-gradient(135deg,var(--primary) 0%,var(--secondary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.close-button{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;font-size:2rem;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);border-radius:var(--radius-sm)}.close-button:hover{background:var(--bg-secondary);color:var(--primary)}.mobile-menu-items{display:flex;flex-direction:column;gap:.5rem}.mobile-nav-item{padding:1rem;font-size:1.125rem;font-weight:500;color:var(--text-secondary);background:transparent;border:none;border-radius:var(--radius-md);text-align:left;cursor:pointer;transition:all var(--transition-base);position:relative}.mobile-nav-item:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:0;background:linear-gradient(180deg,var(--primary) 0%,var(--secondary) 100%);border-radius:0 4px 4px 0;transition:height var(--transition-base)}.mobile-nav-item:hover{color:var(--primary);background:var(--bg-secondary)}.mobile-nav-item.active{color:var(--primary);background:linear-gradient(90deg,var(--bg-secondary) 0%,transparent 100%);font-weight:600}.mobile-nav-item.active:before{height:70%}@media(max-width:1023px){.mobile-menu-button,.mobile-menu-overlay,.mobile-menu{display:block}}.latest-section{background:var(--bg-primary);min-height:auto!important;padding-bottom:var(--spacing-lg)}.show-more-btn{margin-top:var(--spacing-sm);width:100%}.updates-container{display:flex;flex-direction:column;gap:var(--spacing-md)}.update-card{padding:24px;background:var(--bg-primary);border-radius:var(--radius-lg);border:1px solid var(--border-color);box-shadow:var(--shadow-primary);transition:all var(--transition-base);animation:fadeIn .6s ease-out backwards}.update-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.update-date{font-size:.875rem;font-weight:600;color:var(--primary);margin-bottom:.5rem}.update-content{font-size:1rem;color:var(--text-primary);line-height:1.6;margin:0}.vertical-timeline *{box-sizing:border-box}.vertical-timeline{width:95%;max-width:1170px;margin:0 auto;position:relative;padding:2em 0}.vertical-timeline:after{content:"";display:table;clear:both}.vertical-timeline:before{content:"";position:absolute;top:0;left:18px;height:100%;width:4px;background:var(--line-color)}.vertical-timeline.vertical-timeline--one-column-right:before{right:18px;left:unset}@media only screen and (min-width:1170px){.vertical-timeline.vertical-timeline--two-columns{width:90%}.vertical-timeline.vertical-timeline--two-columns:before{left:50%;margin-left:-2px}}.vertical-timeline-element{position:relative;margin:2em 0}.vertical-timeline-element>div{min-height:1px}.vertical-timeline-element:after{content:"";display:table;clear:both}.vertical-timeline-element:first-child{margin-top:0}.vertical-timeline-element:last-child{margin-bottom:0}@media only screen and (min-width:1170px){.vertical-timeline-element{margin:4em 0}.vertical-timeline-element:first-child{margin-top:0}.vertical-timeline-element:last-child{margin-bottom:0}}.vertical-timeline-element-icon{position:absolute;top:0;left:0;width:40px;height:40px;border-radius:50%}.vertical-timeline-element-icon.shadow-size-small{box-shadow:0 0 0 2px #fff,inset 0 1px #00000014,0 2px 0 4px #0000000d}.vertical-timeline-element-icon.shadow-size-medium{box-shadow:0 0 0 3px #fff,inset 0 2px #00000014,0 3px 0 5px #0000000d}.vertical-timeline-element-icon.shadow-size-large{box-shadow:0 0 0 4px #fff,inset 0 2px #00000014,0 4px 0 6px #0000000d}.vertical-timeline--one-column-right .vertical-timeline-element-icon{right:0;left:unset}.vertical-timeline-element-icon svg{display:block;width:24px;height:24px;position:relative;left:50%;top:50%;margin-left:-12px;margin-top:-12px}@media only screen and (min-width:1170px){.vertical-timeline--two-columns .vertical-timeline-element-icon{width:60px;height:60px;left:50%;margin-left:-30px}}.vertical-timeline-element-icon{-webkit-transform:translateZ(0);-webkit-backface-visibility:hidden}.vertical-timeline--animate .vertical-timeline-element-icon.is-hidden{visibility:hidden}.vertical-timeline--animate .vertical-timeline-element-icon.bounce-in{visibility:visible;-webkit-animation:cd-bounce-1 .6s;-moz-animation:cd-bounce-1 .6s;animation:cd-bounce-1 .6s}@-webkit-keyframes cd-bounce-1{0%{opacity:0;-webkit-transform:scale(.5)}60%{opacity:1;-webkit-transform:scale(1.2)}to{-webkit-transform:scale(1)}}@-moz-keyframes cd-bounce-1{0%{opacity:0;-moz-transform:scale(.5)}60%{opacity:1;-moz-transform:scale(1.2)}to{-moz-transform:scale(1)}}@keyframes cd-bounce-1{0%{opacity:0;-webkit-transform:scale(.5);-moz-transform:scale(.5);-ms-transform:scale(.5);-o-transform:scale(.5);transform:scale(.5)}60%{opacity:1;-webkit-transform:scale(1.2);-moz-transform:scale(1.2);-ms-transform:scale(1.2);-o-transform:scale(1.2);transform:scale(1.2)}to{-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1)}}.vertical-timeline-element-content{position:relative;margin-left:60px;background:#fff;border-radius:.25em;padding:1em;box-shadow:0 3px #ddd}.vertical-timeline--one-column-right .vertical-timeline-element-content{margin-right:60px;margin-left:unset}.vertical-timeline-element--no-children .vertical-timeline-element-content{background:0 0;box-shadow:none}.vertical-timeline-element-content:after{content:"";display:table;clear:both}.vertical-timeline-element-content h2{color:#303e49}.vertical-timeline-element-content .vertical-timeline-element-date,.vertical-timeline-element-content p{font-size:13px;font-size:.8125rem;font-weight:500}.vertical-timeline-element-content .vertical-timeline-element-date{display:inline-block}.vertical-timeline-element-content p{margin:1em 0 0;line-height:1.6}.vertical-timeline-element-title,.vertical-timeline-element-subtitle{margin:0}.vertical-timeline-element-content .vertical-timeline-element-date{float:left;padding:.8em 0;opacity:.7}.vertical-timeline-element-content-arrow{content:"";position:absolute;top:16px;right:100%;height:0;width:0;border:7px solid transparent;border-right:7px solid #fff}.vertical-timeline--one-column-right .vertical-timeline-element-content-arrow{content:"";position:absolute;top:16px;right:unset;left:100%;height:0;width:0;border:7px solid transparent;border-left:7px solid #fff}.vertical-timeline--one-column-right .vertical-timeline-element-content:before{left:100%;border-left:7px solid #fff;border-right:unset}.vertical-timeline-element--no-children .vertical-timeline-element-content:before{display:none}.vertical-timeline-element--no-children .vertical-timeline-element-content-arrow{display:none}@media only screen and (min-width:768px){.vertical-timeline-element-content h2{font-size:20px;font-size:1.25rem}.vertical-timeline-element-content p{font-size:16px;font-size:1rem}.vertical-timeline-element-content .vertical-timeline-element-date{font-size:14px;font-size:.875rem}}@media only screen and (min-width:1170px){.vertical-timeline--two-columns .vertical-timeline-element-content{margin-left:0;padding:1.5em;width:44%}.vertical-timeline--two-columns .vertical-timeline-element-content-arrow{top:24px;left:100%;transform:rotate(180deg)}.vertical-timeline--two-columns .vertical-timeline-element-content .vertical-timeline-element-date{position:absolute;width:100%;left:124%;top:6px;font-size:16px;font-size:1rem}.vertical-timeline--two-columns .vertical-timeline-element.vertical-timeline-element--right .vertical-timeline-element-content,.vertical-timeline--two-columns .vertical-timeline-element:nth-child(2n):not(.vertical-timeline-element--left) .vertical-timeline-element-content{float:right}.vertical-timeline--two-columns .vertical-timeline-element.vertical-timeline-element--right .vertical-timeline-element-content-arrow,.vertical-timeline--two-columns .vertical-timeline-element:nth-child(2n):not(.vertical-timeline-element--left) .vertical-timeline-element-content-arrow{top:24px;left:auto;right:100%;transform:rotate(0)}.vertical-timeline--one-column-right .vertical-timeline-element.vertical-timeline-element--right .vertical-timeline-element-content-arrow,.vertical-timeline--one-column-right .vertical-timeline-element:nth-child(2n):not(.vertical-timeline-element--left) .vertical-timeline-element-content-arrow{top:24px;left:100%;right:auto;transform:rotate(0)}.vertical-timeline--two-columns .vertical-timeline-element.vertical-timeline-element--right .vertical-timeline-element-content .vertical-timeline-element-date,.vertical-timeline--two-columns .vertical-timeline-element:nth-child(2n):not(.vertical-timeline-element--left) .vertical-timeline-element-content .vertical-timeline-element-date{left:auto;right:124%;text-align:right}}.vertical-timeline--animate .vertical-timeline-element-content.is-hidden{visibility:hidden}.vertical-timeline--animate .vertical-timeline-element-content.bounce-in{visibility:visible;-webkit-animation:cd-bounce-2 .6s;-moz-animation:cd-bounce-2 .6s;animation:cd-bounce-2 .6s}@media only screen and (min-width:1170px){.vertical-timeline--two-columns.vertical-timeline--animate .vertical-timeline-element.vertical-timeline-element--right .vertical-timeline-element-content.bounce-in,.vertical-timeline--two-columns.vertical-timeline--animate .vertical-timeline-element:nth-child(2n):not(.vertical-timeline-element--left) .vertical-timeline-element-content.bounce-in{-webkit-animation:cd-bounce-2-inverse .6s;-moz-animation:cd-bounce-2-inverse .6s;animation:cd-bounce-2-inverse .6s}}@media only screen and (max-width:1169px){.vertical-timeline--animate .vertical-timeline-element-content.bounce-in{visibility:visible;-webkit-animation:cd-bounce-2-inverse .6s;-moz-animation:cd-bounce-2-inverse .6s;animation:cd-bounce-2-inverse .6s}}@-webkit-keyframes cd-bounce-2{0%{opacity:0;-webkit-transform:translateX(-100px)}60%{opacity:1;-webkit-transform:translateX(20px)}to{-webkit-transform:translateX(0)}}@-moz-keyframes cd-bounce-2{0%{opacity:0;-moz-transform:translateX(-100px)}60%{opacity:1;-moz-transform:translateX(20px)}to{-moz-transform:translateX(0)}}@keyframes cd-bounce-2{0%{opacity:0;-webkit-transform:translateX(-100px);-moz-transform:translateX(-100px);-ms-transform:translateX(-100px);-o-transform:translateX(-100px);transform:translate(-100px)}60%{opacity:1;-webkit-transform:translateX(20px);-moz-transform:translateX(20px);-ms-transform:translateX(20px);-o-transform:translateX(20px);transform:translate(20px)}to{-webkit-transform:translateX(0);-moz-transform:translateX(0);-ms-transform:translateX(0);-o-transform:translateX(0);transform:translate(0)}}@-webkit-keyframes cd-bounce-2-inverse{0%{opacity:0;-webkit-transform:translateX(100px)}60%{opacity:1;-webkit-transform:translateX(-20px)}to{-webkit-transform:translateX(0)}}@-moz-keyframes cd-bounce-2-inverse{0%{opacity:0;-moz-transform:translateX(100px)}60%{opacity:1;-moz-transform:translateX(-20px)}to{-moz-transform:translateX(0)}}@keyframes cd-bounce-2-inverse{0%{opacity:0;-webkit-transform:translateX(100px);-moz-transform:translateX(100px);-ms-transform:translateX(100px);-o-transform:translateX(100px);transform:translate(100px)}60%{opacity:1;-webkit-transform:translateX(-20px);-moz-transform:translateX(-20px);-ms-transform:translateX(-20px);-o-transform:translateX(-20px);transform:translate(-20px)}to{-webkit-transform:translateX(0);-moz-transform:translateX(0);-ms-transform:translateX(0);-o-transform:translateX(0);transform:translate(0)}}.research-section{background:var(--bg-secondary)}.vertical-timeline{padding:0;width:100%}.vertical-timeline:before{background:var(--border-color);width:3px}.vertical-timeline-element{margin:1.5rem 0}.vertical-timeline-element-content{padding:1.25rem 1.5rem;transition:all var(--transition-base)}.vertical-timeline-element-content:hover{transform:translate(4px);box-shadow:var(--shadow-lg)!important;border-color:var(--primary-light)!important}.vertical-timeline-element-title{font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:.25rem}.vertical-timeline-element-subtitle{font-size:.95rem;font-weight:500;color:var(--text-secondary);margin-bottom:0}.vertical-timeline-element-date{font-size:.875rem!important;font-weight:600!important;color:var(--primary)!important;opacity:1!important}.vertical-timeline-element-icon{display:flex!important;align-items:center!important;justify-content:center!important;width:32px!important;height:32px!important;transition:all var(--transition-base)}.vertical-timeline-element:hover .vertical-timeline-element-icon{transform:scale(1.1)}.vertical-timeline-element-icon svg{width:14px!important;height:14px!important;margin:0!important;position:relative!important;top:0!important;left:0!important}.vertical-timeline--one-column-left .vertical-timeline-element-content{margin-left:50px}.vertical-timeline--one-column-left .vertical-timeline-element-icon{left:0;margin-left:0}.research-header{margin-bottom:var(--spacing-2xl);padding:32px;background:var(--bg-tertiary);border-radius:var(--radius-lg);border:1px solid var(--border-color)}.research-institution{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem}.research-advisor{font-size:1rem;color:var(--text-secondary);margin-bottom:var(--spacing-md)}.research-interests{margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--border-color)}.interests-label{font-size:.875rem;font-weight:600;color:var(--text-primary);letter-spacing:.05em;text-transform:uppercase}.interests-list{margin-top:.5rem;font-size:1rem;color:var(--text-secondary)}.timeline-institution,.timeline-organization{font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:.25rem}.timeline-degree,.timeline-role{font-size:.95rem;color:var(--text-secondary)}.timeline-description{font-size:.875rem;color:var(--text-secondary);margin-top:.5rem;line-height:1.6}.publication-category{font-size:1rem;font-weight:600;color:var(--text-primary);margin:var(--spacing-lg) 0 var(--spacing-md) 0}.publication-list{display:flex;flex-direction:column;gap:.75rem;padding-left:0;list-style:none}.publication-item{font-size:.9375rem;font-weight:400;line-height:160%;letter-spacing:-.02em;color:var(--text-primary);padding-left:1.5rem;position:relative}.publication-item:before{content:"";position:absolute;left:0;top:.6rem;width:4px;height:4px;background:var(--primary);border-radius:50%}.doi-link{font-size:.875rem;font-weight:600;color:var(--primary);text-decoration:none;transition:all var(--transition-base)}.doi-link:hover{color:var(--primary-light);text-decoration:underline}.info-table{display:flex;flex-direction:column;gap:.5rem}.table-row{display:grid;grid-template-columns:180px 1fr;gap:var(--spacing-md);padding:16px 20px;background:var(--bg-primary);border-radius:var(--radius-sm);border:1px solid var(--border-color);transition:all var(--transition-base);animation:fadeIn .6s ease-out backwards}.table-row:hover{transform:translate(4px);box-shadow:var(--shadow-md);border-color:var(--primary-light)}.table-cell{font-size:.95rem;line-height:1.6}.period-cell,.year-cell{font-weight:600;color:var(--primary)}.content-cell{color:var(--text-primary)}.compact-list{display:flex;flex-direction:column;gap:.75rem}.compact-item{display:flex;gap:var(--spacing-md);padding:12px 0;border-bottom:1px solid var(--border-color);animation:fadeIn .6s ease-out backwards}.compact-item:last-child{border-bottom:none}.compact-date{font-size:.875rem;font-weight:600;color:var(--primary);min-width:140px;flex-shrink:0}.compact-content{font-size:.95rem;color:var(--text-primary);line-height:1.6}@media(max-width:768px){.table-row{grid-template-columns:1fr;gap:.5rem}.timeline{padding-left:var(--spacing-md)}.timeline-marker{left:-22px}.compact-item{flex-direction:column;gap:.25rem}.compact-date{min-width:auto}}.work-section{background:var(--bg-primary)}.work-intro{font-size:1.125rem;font-weight:500;line-height:154%;letter-spacing:-.02em;color:var(--text-secondary);margin-bottom:var(--spacing-2xl);padding:24px;background:var(--bg-tertiary);border-radius:var(--radius-lg)}.work-timeline{display:flex;flex-direction:column;gap:var(--spacing-2xl)}.work-item{padding:32px;background:var(--bg-primary);border-radius:var(--radius-lg);border:1px solid var(--border-color);box-shadow:var(--shadow-primary);transition:all var(--transition-base);animation:fadeIn .6s ease-out backwards}.work-item:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px);border-color:var(--primary-light)}.work-header{margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:2px solid var(--border-color)}.work-period{font-size:.875rem;font-weight:600;color:var(--primary);margin-bottom:.5rem}.work-company{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem}.work-role{font-size:1rem;font-weight:500;color:var(--text-secondary)}.work-description{font-size:.95rem;line-height:1.8;color:var(--text-primary);margin-bottom:var(--spacing-lg);white-space:pre-line}.work-description div{margin-bottom:.5rem}.work-description .doi-link{font-weight:600;color:var(--primary);text-decoration:none;transition:all var(--transition-base)}.work-description .doi-link:hover{color:var(--primary-light);text-decoration:underline}.products-section{margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:2px solid var(--border-color)}.products-title{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-md)}.products-timeline{position:relative;padding-left:32px}.products-timeline:before{content:"";position:absolute;left:6px;top:0;bottom:0;width:2px;background:var(--border-color)}.product-timeline-item{position:relative;margin-bottom:var(--spacing-md);animation:fadeIn .6s ease-out backwards}.product-timeline-marker{position:absolute;left:0;top:6px;width:14px;height:14px;background:var(--bg-primary);border-radius:50%;border:3px solid var(--primary);z-index:1;transition:all var(--transition-base)}.product-timeline-item:hover .product-timeline-marker{transform:scale(1.2);border-color:var(--primary-light);box-shadow:0 0 0 4px #5864ff33}.product-timeline-content{background:var(--bg-primary);padding:16px;border-radius:var(--radius-md);border:1px solid var(--border-color);transition:all var(--transition-base)}.product-timeline-item:hover .product-timeline-content{transform:translate(4px);box-shadow:var(--shadow-primary);border-color:var(--primary-light)}.product-timeline-date{font-size:.875rem;font-weight:600;color:var(--primary);margin-bottom:.25rem}.product-timeline-name{font-size:.95rem;font-weight:600;color:var(--text-primary);margin-bottom:.25rem}.product-timeline-description{font-size:.875rem;color:var(--text-secondary)}.products-compact-list{display:flex;flex-direction:column;gap:0}.products-compact-list .compact-item{display:flex;gap:var(--spacing-md);padding:12px 0;border-bottom:1px solid var(--border-color);animation:fadeIn .4s ease-out backwards}.products-compact-list .compact-item:last-child{border-bottom:none}.products-compact-list .compact-date{font-size:.875rem;font-weight:600;color:var(--primary);min-width:80px;flex-shrink:0}.products-compact-list .compact-content{font-size:.95rem;color:var(--text-primary);line-height:1.6}.products-compact-list .compact-desc{color:var(--text-secondary)}.show-more-btn{margin-top:var(--spacing-md);width:100%}@media(max-width:768px){.products-timeline{padding-left:var(--spacing-md)}.product-timeline-marker{left:-22px}}.projects-section{background:var(--bg-secondary);padding-bottom:var(--spacing-2xl)}.subsection{margin-bottom:var(--spacing-2xl)}.subsection-title{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-sm);border-bottom:2px solid var(--primary)}.coaching-card{padding:32px;background:var(--bg-primary);border-radius:var(--radius-lg);border:1px solid var(--border-color);box-shadow:var(--shadow-primary);transition:all var(--transition-base)}.coaching-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--primary-light)}.coaching-header{margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--border-color)}.coaching-period{font-size:.875rem;font-weight:600;color:var(--primary);margin-bottom:.5rem}.coaching-title{font-size:1.25rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem}.coaching-supervisor{font-size:.95rem;color:var(--text-secondary)}.coaching-details{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.coaching-details li{font-size:1rem;color:var(--text-primary);padding-left:var(--spacing-md);position:relative}.coaching-details li:before{content:"•";position:absolute;left:0;color:var(--primary);font-weight:700}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--spacing-lg)}.project-card{background:var(--bg-primary);border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border-color);box-shadow:var(--shadow-primary);transition:all var(--transition-base);animation:fadeIn .6s ease-out backwards}.project-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg);border-color:var(--primary-light)}.project-thumbnail{width:100%;height:200px;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-light) 100%);display:flex;align-items:center;justify-content:center;position:relative}.coming-soon-badge{padding:8px 16px;background:#fffffff2;color:var(--primary);font-weight:700;border-radius:var(--radius-sm);font-size:.875rem;line-height:146%;letter-spacing:-.02em}.project-info{padding:var(--spacing-lg)}.project-title{font-size:1.25rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem}.project-description{font-size:.95rem;color:var(--text-secondary);line-height:1.6}.timeline{position:relative;padding-left:32px}.timeline:before{content:"";position:absolute;left:6px;top:0;bottom:0;width:2px;background:var(--border-color)}.timeline-item{position:relative;margin-bottom:var(--spacing-lg);animation:fadeIn .6s ease-out backwards}.timeline-marker{position:absolute;left:0;top:6px;width:14px;height:14px;background:var(--bg-primary);border-radius:50%;border:3px solid var(--primary);z-index:1;transition:all var(--transition-base)}.timeline-item:hover .timeline-marker{transform:scale(1.2);border-color:var(--primary-light);box-shadow:0 0 0 4px #5864ff33}.timeline-content{background:var(--bg-primary);padding:20px;border-radius:var(--radius-md);border:1px solid var(--border-color);transition:all var(--transition-base)}.timeline-item:hover .timeline-content{transform:translate(4px);box-shadow:var(--shadow-primary);border-color:var(--primary-light)}.timeline-period{font-size:.875rem;font-weight:600;color:var(--primary);margin-bottom:.25rem}.timeline-institution{font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:.25rem}.timeline-degree{font-size:.95rem;color:var(--text-secondary)}.quotation-card{display:flex;align-items:center;gap:var(--spacing-lg);padding:24px 32px;background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 100%);border-radius:var(--radius-lg);border:1px solid var(--border-color);box-shadow:var(--shadow-primary);transition:all var(--transition-base);text-decoration:none;cursor:pointer}.quotation-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--primary);background:linear-gradient(135deg,var(--bg-primary) 0%,rgba(88,100,255,.05) 100%)}.quotation-icon{flex-shrink:0;width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-light) 100%);border-radius:var(--radius-md);color:#fff}.quotation-content{flex:1}.quotation-title{font-size:1.125rem;font-weight:700;color:var(--text-primary);margin-bottom:.25rem}.quotation-description{font-size:.95rem;color:var(--text-secondary);line-height:1.5}.quotation-button{flex-shrink:0;display:flex;align-items:center;gap:.5rem;padding:10px 20px;background:var(--primary);color:#fff;font-weight:600;font-size:.875rem;border-radius:var(--radius-sm);transition:all var(--transition-base)}.quotation-card:hover .quotation-button{background:var(--primary-light);transform:translate(4px)}@media(max-width:768px){.projects-grid{grid-template-columns:1fr}.quotation-card{flex-direction:column;text-align:center;padding:24px}.quotation-button{width:100%;justify-content:center}}.freelance-section{background:var(--bg-secondary);padding-bottom:var(--spacing-2xl)}.freelance-subsection{margin-bottom:var(--spacing-2xl)}.freelance-subsection:last-child{margin-bottom:0}.freelance-subsection .subsection-title{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-sm);border-bottom:2px solid var(--primary)}.freelance-content{display:flex;flex-direction:column;gap:var(--spacing-xl)}.freelance-intro{font-size:1.1rem;color:var(--text-secondary);line-height:1.7}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-lg)}.services-grid-2{grid-template-columns:repeat(2,1fr)}.coaching-cta{background:linear-gradient(135deg,#6b8e6b,#8fbc8f);box-shadow:0 4px 20px #6b8e6b4d}.coaching-cta:hover{box-shadow:0 8px 30px #6b8e6b66}.service-card{padding:28px;background:var(--bg-primary);border-radius:var(--radius-lg);border:1px solid var(--border-color);box-shadow:var(--shadow-primary);transition:all var(--transition-base)}.service-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--primary-light)}.service-icon{font-size:2rem;margin-bottom:var(--spacing-md)}.service-title{font-size:1.125rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem}.service-description{font-size:.95rem;color:var(--text-secondary);line-height:1.6}.quotation-cta{display:flex;align-items:center;justify-content:space-between;padding:24px 32px;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-light) 100%);border-radius:var(--radius-lg);text-decoration:none;color:#fff;transition:all var(--transition-base);box-shadow:0 4px 20px #5864ff4d}.quotation-cta:hover{transform:translateY(-4px);box-shadow:0 8px 30px #5864ff66}.cta-content{display:flex;align-items:center;gap:var(--spacing-md)}.cta-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:#fff3;border-radius:var(--radius-md)}.cta-text{font-size:1.125rem;font-weight:700}.cta-arrow{transition:transform var(--transition-base)}.quotation-cta:hover .cta-arrow{transform:translate(4px,-4px)}@media(max-width:900px){.services-grid,.services-grid-2{grid-template-columns:1fr}.quotation-cta{flex-direction:column;gap:var(--spacing-md);text-align:center;padding:24px}.cta-content{flex-direction:column}.cta-arrow{display:none}}.app{width:100%;min-height:100vh;position:relative}.main-content{margin-left:280px;width:calc(100% - 280px)}.section{padding:64px 40px;min-height:100vh}.section-container{max-width:900px;margin:0 auto}.section-heading{font-size:1.75rem;font-weight:700;line-height:150%;letter-spacing:-.02em;margin-bottom:48px;position:relative;display:inline-block}.section-heading:after{content:"";position:absolute;bottom:-12px;left:0;width:60%;height:4px;background:var(--primary);border-radius:2px}@media(max-width:1023px){.main-content{margin-left:0;width:100%}.section{padding:var(--spacing-xl) var(--spacing-md);min-height:auto}.section-heading{font-size:2rem}}@media(max-width:768px){.section{padding:var(--spacing-lg) var(--spacing-sm)}.section-heading{font-size:1.75rem}}:root{--primary: #5864FF;--primary-dark: #4854E6;--primary-light: #7983FF;--secondary: #8B5CF6;--secondary-dark: #7C3AED;--accent: #FF8B5A;--accent-light: #FEAC8A;--bg-primary: #FFFFFF;--bg-secondary: #F9F9F9;--bg-tertiary: #F7F8FF;--bg-accent: #FFF8F5;--gradient-primary: linear-gradient(180deg, #FFFFFF 0%, #F7F8FF 100%);--text-primary: #2C2F35;--text-secondary: #585B5F;--text-tertiary: #8D8E92;--text-quaternary: #ADADB0;--border-color: #EBEBEC;--border-dark: #D8D9DA;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgba(121, 131, 255, .04), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1);--shadow-primary: 0 6px 32px rgba(36, 41, 101, .08);--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 1.5rem;--spacing-lg: 2rem;--spacing-xl: 3rem;--spacing-2xl: 4rem;--radius-xs: 4px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 32px;--transition-fast: .15s ease-in-out;--transition-base: .25s ease-in-out;--transition-slow: .35s ease-in-out}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6;color:var(--text-primary);background-color:var(--bg-primary)}#root{width:100%;min-height:100vh}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.5;letter-spacing:-.02em;color:var(--text-primary)}h1{font-size:1.75rem;font-weight:700;line-height:150%}h2{font-size:1.5rem;font-weight:700;line-height:150%}h3{font-size:1.25rem;font-weight:700;line-height:150%}h4{font-size:1.125rem;font-weight:700;line-height:150%}h5{font-size:1rem;font-weight:700;line-height:150%}h6{font-size:.875rem;font-weight:700;line-height:150%}.body-1{font-size:1.125rem;font-weight:500;line-height:154%;letter-spacing:-.02em}.body-2{font-size:1.0625rem;font-weight:400;line-height:156%;letter-spacing:-.02em}.body-3{font-size:.9375rem;font-weight:400;line-height:150%;letter-spacing:-.02em}.body-4{font-size:.875rem;font-weight:700;line-height:146%;letter-spacing:-.02em}p{margin-bottom:1rem;font-size:1.0625rem;font-weight:400;line-height:156%;letter-spacing:-.02em;color:var(--text-secondary)}a{color:var(--primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--primary-dark)}.gradient-text{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-light) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.card{background:var(--bg-primary);border-radius:var(--radius-lg);padding:var(--spacing-xl);box-shadow:var(--shadow-primary);transition:all var(--transition-base);border:1px solid var(--border-color)}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.card-secondary{background:var(--bg-tertiary);border-radius:var(--radius-lg);padding:var(--spacing-lg);border:none;transition:all var(--transition-base)}.badge{display:inline-flex;align-items:center;gap:4px;padding:0 12px;height:36px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-xl);font-size:1.0625rem;font-weight:700;line-height:150%;letter-spacing:-.02em;color:var(--text-secondary)}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:2px;padding:0 12px;height:40px;background:var(--text-primary);color:#fff;border:none;border-radius:var(--radius-sm);font-size:.875rem;font-weight:700;line-height:146%;letter-spacing:-.02em;cursor:pointer;transition:all var(--transition-base)}.btn-primary:hover{background:var(--text-secondary);transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:2px;padding:0 12px;height:40px;background:var(--bg-primary);color:var(--text-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:.875rem;font-weight:700;line-height:146%;letter-spacing:-.02em;cursor:pointer;transition:all var(--transition-base)}.btn-secondary:hover{background:var(--bg-secondary);border-color:var(--text-tertiary)}.info-box{display:flex;flex-direction:column;padding:24px;gap:12px;background:var(--bg-secondary);border-radius:var(--radius-lg)}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}.fade-in{animation:fadeIn .6s ease-out}.slide-in-left{animation:slideInLeft .6s ease-out}.slide-in-right{animation:slideInRight .6s ease-out}
