@font-face{font-family:'Noto Sans';font-weight:400;font-style:normal;src:url("../fonts/Noto-Sans-regular/Noto-Sans-regular.eot");src:url("../fonts/Noto-Sans-regular/Noto-Sans-regular.eot?#iefix") format("embedded-opentype"),local("Noto Sans"),local("Noto-Sans-regular"),url("../fonts/Noto-Sans-regular/Noto-Sans-regular.woff2") format("woff2"),url("../fonts/Noto-Sans-regular/Noto-Sans-regular.woff") format("woff"),url("../fonts/Noto-Sans-regular/Noto-Sans-regular.ttf") format("truetype"),url("../fonts/Noto-Sans-regular/Noto-Sans-regular.svg#NotoSans") format("svg")}@font-face{font-family:'Noto Sans';font-weight:700;font-style:normal;src:url("../fonts/Noto-Sans-700/Noto-Sans-700.eot");src:url("../fonts/Noto-Sans-700/Noto-Sans-700.eot?#iefix") format("embedded-opentype"),local("Noto Sans Bold"),local("Noto-Sans-700"),url("../fonts/Noto-Sans-700/Noto-Sans-700.woff2") format("woff2"),url("../fonts/Noto-Sans-700/Noto-Sans-700.woff") format("woff"),url("../fonts/Noto-Sans-700/Noto-Sans-700.ttf") format("truetype"),url("../fonts/Noto-Sans-700/Noto-Sans-700.svg#NotoSans") format("svg")}@font-face{font-family:'Noto Sans';font-weight:400;font-style:italic;src:url("../fonts/Noto-Sans-italic/Noto-Sans-italic.eot");src:url("../fonts/Noto-Sans-italic/Noto-Sans-italic.eot?#iefix") format("embedded-opentype"),local("Noto Sans Italic"),local("Noto-Sans-italic"),url("../fonts/Noto-Sans-italic/Noto-Sans-italic.woff2") format("woff2"),url("../fonts/Noto-Sans-italic/Noto-Sans-italic.woff") format("woff"),url("../fonts/Noto-Sans-italic/Noto-Sans-italic.ttf") format("truetype"),url("../fonts/Noto-Sans-italic/Noto-Sans-italic.svg#NotoSans") format("svg")}@font-face{font-family:'Noto Sans';font-weight:700;font-style:italic;src:url("../fonts/Noto-Sans-700italic/Noto-Sans-700italic.eot");src:url("../fonts/Noto-Sans-700italic/Noto-Sans-700italic.eot?#iefix") format("embedded-opentype"),local("Noto Sans Bold Italic"),local("Noto-Sans-700italic"),url("../fonts/Noto-Sans-700italic/Noto-Sans-700italic.woff2") format("woff2"),url("../fonts/Noto-Sans-700italic/Noto-Sans-700italic.woff") format("woff"),url("../fonts/Noto-Sans-700italic/Noto-Sans-700italic.ttf") format("truetype"),url("../fonts/Noto-Sans-700italic/Noto-Sans-700italic.svg#NotoSans") format("svg")}.highlight table td{padding:5px}.highlight table pre{margin:0}.highlight .cm{color:#999988;font-style:italic}.highlight .cp{color:#999999;font-weight:bold}.highlight .c1{color:#999988;font-style:italic}.highlight .cs{color:#999999;font-weight:bold;font-style:italic}.highlight .c,.highlight .cd{color:#999988;font-style:italic}.highlight .err{color:#a61717;background-color:#e3d2d2}.highlight .gd{color:#000000;background-color:#ffdddd}.highlight .ge{color:#000000;font-style:italic}.highlight .gr{color:#aa0000}.highlight .gh{color:#999999}.highlight .gi{color:#000000;background-color:#ddffdd}.highlight .go{color:#888888}.highlight .gp{color:#555555}.highlight .gs{font-weight:bold}.highlight .gu{color:#aaaaaa}.highlight .gt{color:#aa0000}.highlight .kc{color:#000000;font-weight:bold}.highlight .kd{color:#000000;font-weight:bold}.highlight .kn{color:#000000;font-weight:bold}.highlight .kp{color:#000000;font-weight:bold}.highlight .kr{color:#000000;font-weight:bold}.highlight .kt{color:#445588;font-weight:bold}.highlight .k,.highlight .kv{color:#000000;font-weight:bold}.highlight .mf{color:#009999}.highlight .mh{color:#009999}.highlight .il{color:#009999}.highlight .mi{color:#009999}.highlight .mo{color:#009999}.highlight .m,.highlight .mb,.highlight .mx{color:#009999}.highlight .sb{color:#d14}.highlight .sc{color:#d14}.highlight .sd{color:#d14}.highlight .s2{color:#d14}.highlight .se{color:#d14}.highlight .sh{color:#d14}.highlight .si{color:#d14}.highlight .sx{color:#d14}.highlight .sr{color:#009926}.highlight .s1{color:#d14}.highlight .ss{color:#990073}.highlight .s{color:#d14}.highlight .na{color:#008080}.highlight .bp{color:#999999}.highlight .nb{color:#0086B3}.highlight .nc{color:#445588;font-weight:bold}.highlight .no{color:#008080}.highlight .nd{color:#3c5d5d;font-weight:bold}.highlight .ni{color:#800080}.highlight .ne{color:#990000;font-weight:bold}.highlight .nf{color:#990000;font-weight:bold}.highlight .nl{color:#990000;font-weight:bold}.highlight .nn{color:#555555}.highlight .nt{color:#000080}.highlight .vc{color:#008080}.highlight .vg{color:#008080}.highlight .vi{color:#008080}.highlight .nv{color:#008080}.highlight .ow{color:#000000;font-weight:bold}.highlight .o{color:#000000;font-weight:bold}.highlight .w{color:#bbbbbb}.highlight{background-color:#f8f8f8}body{background-color:#fff;padding:50px;font:14px/1.5 "Noto Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;color:#727272;font-weight:400}h1,h2,h3,h4,h5,h6{color:#222;margin:0 0 20px}p,ul,ol,table,pre,dl{margin:0 0 20px}h1,h2,h3{line-height:1.1}h1{font-size:28px}h2{color:#393939}h3,h4,h5,h6{color:#494949}a{color:#267CB9;text-decoration:none}a:hover,a:focus{color:#069;font-weight:bold}a small{font-size:11px;color:#777;margin-top:-0.3em;display:block}a:hover small{color:#777}.wrapper{width:860px;margin:0 auto}blockquote{border-left:1px solid #e5e5e5;margin:0;padding:0 0 0 20px;font-style:italic}code,pre{font-family:Monaco, Bitstream Vera Sans Mono, Lucida Console, Terminal, Consolas, Liberation Mono, DejaVu Sans Mono, Courier New, monospace;color:#333}pre{padding:8px 15px;background:#f8f8f8;border-radius:5px;border:1px solid #e5e5e5;overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:5px 10px;border-bottom:1px solid #e5e5e5}dt{color:#444;font-weight:700}th{color:#444}img{max-width:100%}kbd{background-color:#fafbfc;border:1px solid #c6cbd1;border-bottom-color:#959da5;border-radius:3px;box-shadow:inset 0 -1px 0 #959da5;color:#444d56;display:inline-block;font-size:11px;line-height:10px;padding:3px 5px;vertical-align:middle}header{width:270px;float:left;position:fixed;-webkit-font-smoothing:subpixel-antialiased}ul.downloads{list-style:none;height:40px;padding:0;background:#f4f4f4;border-radius:5px;border:1px solid #e0e0e0;width:270px}.downloads li{width:89px;float:left;border-right:1px solid #e0e0e0;height:40px}.downloads li:first-child a{border-radius:5px 0 0 5px}.downloads li:last-child a{border-radius:0 5px 5px 0}.downloads a{line-height:1;font-size:11px;color:#676767;display:block;text-align:center;padding-top:6px;height:34px}.downloads a:hover,.downloads a:focus{color:#675C5C;font-weight:bold}.downloads ul a:active{background-color:#f0f0f0}strong{color:#222;font-weight:700}.downloads li+li+li{border-right:none;width:89px}.downloads a strong{font-size:14px;display:block;color:#222}section{width:500px;float:right;padding-bottom:50px}small{font-size:11px}hr{border:0;background:#e5e5e5;height:1px;margin:0 0 20px}footer{width:270px;float:left;position:fixed;bottom:50px;-webkit-font-smoothing:subpixel-antialiased}@media print, screen and (max-width: 960px){div.wrapper{width:auto;margin:0}header,section,footer{float:none;position:static;width:auto}header{padding-right:320px}section{border:1px solid #e5e5e5;border-width:1px 0;padding:20px 0;margin:0 0 20px}header a small{display:inline}header ul{position:absolute;right:50px;top:52px}}@media print, screen and (max-width: 720px){body{word-wrap:break-word}header{padding:0}header ul,header p.view{position:static}pre,code{word-wrap:normal}}@media print, screen and (max-width: 480px){body{padding:15px}.downloads{width:99%}.downloads li,.downloads li+li+li{width:33%}}@media print{body{padding:0.4in;font-size:12pt;color:#444}}body{margin:0;padding:50px 0}.wrapper{width:min(1400px, 92%);max-width:none;margin:0 auto;display:grid;grid-template-columns:320px minmax(0, 1fr);grid-template-rows:auto auto;column-gap:64px;align-items:start}header,section,footer{float:none !important;width:auto;min-width:0}header{grid-column:1;grid-row:1;position:sticky;top:50px;align-self:start;overflow:visible;max-height:none}header>*{max-width:250px;margin-left:auto;margin-right:auto}header h1,header h1 a,header h1 a:visited{color:#009000 !important;text-align:center;display:block;width:100%;margin:0 auto 20px auto}header img{display:block;margin:0 auto 16px auto;width:250px;height:250px;border-radius:50%;object-fit:cover;border:3px solid #009000}header p{text-align:center;margin:0 auto 18px auto;line-height:1.5}a,a:visited{color:#009000}a:hover{color:#009000;font-weight:700}.contact-links{width:100%;margin:18px auto 0 auto}.contact-links div{margin:6px 0}.contact-links a{display:inline-flex;align-items:center;gap:10px;text-decoration:none;text-align:left;font-weight:400}.contact-links a:visited,.contact-links a:focus,.contact-links a:active{font-weight:400}.contact-links a:hover{font-weight:700}.email-contact{position:relative;display:flex;align-items:center;gap:4px}.copy-email{display:inline-grid;grid-template-areas:"email";appearance:none;-webkit-appearance:none;-webkit-tap-highlight-color:transparent;margin:0;padding:0;border:0;background:transparent;color:#009000;font:inherit;font-weight:400;line-height:inherit;text-align:left;cursor:pointer;min-width:0;overflow-wrap:anywhere}.copy-email>span,.copy-email::after{grid-area:email}.copy-email::after{content:attr(data-label);visibility:hidden;font-weight:700;pointer-events:none}.copy-email:hover{font-weight:700}.copy-email:focus,.copy-email:active{color:#009000 !important;-webkit-text-fill-color:#009000;font-weight:400}.copy-email:focus-visible{outline:2px solid #9bc98d;outline-offset:2px;border-radius:2px}.copy-feedback{position:absolute;top:100%;right:0;white-space:nowrap;pointer-events:none;color:#777;font-size:11px;opacity:0;transition:opacity 0.18s ease}.copy-feedback.is-visible{opacity:1}section{grid-column:2;grid-row:1;min-width:0;font-size:15px;line-height:1.65}.nav-bar{position:sticky;top:0;z-index:100;display:flex;flex-wrap:wrap;gap:clamp(28px, 3.1vw, 44px);justify-content:center;padding:14px 0;margin-bottom:30px;border-bottom:1px solid #e5e5e5;background:#ffffff}.nav-bar a{display:inline-grid;grid-template-areas:"label";align-items:center;text-align:center;min-width:0;text-decoration:none;color:#009000 !important;font-size:15px;font-weight:400;transition:color 0.18s ease, opacity 0.18s ease}.nav-bar a span,.nav-bar a::after{grid-area:label}.nav-bar a::after{content:attr(data-label);visibility:hidden;font-weight:700;pointer-events:none}.nav-bar a:hover{color:#39772c !important;opacity:0.82}.nav-bar a.is-active,.nav-bar a[aria-current="location"]{color:#39772c !important;font-weight:700;opacity:1}section h1,section h2,section h3{margin-top:24px;margin-bottom:10px;line-height:1.25}section h1{font-size:24px}section h2{font-size:23px;font-weight:700;color:#1a1a1a;scroll-margin-top:var(--section-nav-offset, 70px);border-bottom:1px solid #e0e0e0;padding-bottom:8px;margin-top:56px;margin-bottom:20px}section h2#projects{margin-top:58px;color:#243b24;font-size:27px}section p{margin:12px 0;max-width:900px}section ul{padding-left:20px}section li{margin-bottom:14px}.education-note{display:block;margin-top:18px;color:#666;font-size:13px;line-height:1.5}.education-label{display:block;margin-bottom:3px;color:#39772c;font-size:11px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase}.education-degree{display:block;color:#333;font-weight:600}.education-school{display:block;margin-top:1px;color:#777}.education-note+h2{margin-top:38px}.updates-list{margin:0 0 22px}.update-item{display:grid;grid-template-columns:82px minmax(0, 1fr) 108px;align-items:center;gap:18px;position:relative;padding:7px 0 7px 14px}.update-item+.update-item{margin-top:0}.update-item::before{content:"";position:absolute;top:50%;left:0;width:3px;height:22px;border-radius:999px;background:#9bc98d;transform:translateY(-50%)}.update-date{color:#357a27;font-size:0.86rem;font-weight:700;letter-spacing:0.01em;white-space:nowrap}.update-copy{min-width:0;color:#555;line-height:1.5}.update-copy strong{color:#222}.update-brand{justify-self:end}.update-brand-text{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-width:76px;min-height:28px;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:0.04em;line-height:1}.update-brand-mark{display:block;width:17px;height:17px;object-fit:contain}.update-brand-micv{color:#1261a0;background:#edf5fb}.update-brand-logo{display:inline-flex;align-items:center;justify-content:center;min-width:100px;min-height:28px;padding:2px 6px;border:1px solid #edf0eb;border-radius:999px;box-sizing:border-box;background:#fff}.update-brand-logo img{display:block;width:92px;max-height:22px;object-fit:contain}.experience-list{margin:4px 0 28px}.experience-item{padding:7px 0}.experience-item+.experience-item{margin-top:0}.experience-header{display:flex;align-items:baseline;justify-content:space-between;gap:24px}.experience-main{display:flex;align-items:baseline;flex-wrap:wrap;gap:2px 9px;min-width:0}section .experience-header h3{margin:0;font-size:16px;line-height:1.35}.experience-header h3 a{text-decoration:none}.experience-item--yonsei h3 a,.experience-item--yonsei h3 a:visited{color:#00205b !important}.experience-item--lg h3 a,.experience-item--lg h3 a:visited{color:#a50034 !important}.experience-item h3 a:hover{opacity:0.72}.experience-role{color:#666;font-size:0.94em}.experience-date{flex-shrink:0;padding-top:2px;color:#777;font-size:0.92em;font-style:italic;white-space:nowrap}.project-list{margin:4px 0 30px;padding:16px 18px;border-radius:10px;background:linear-gradient(135deg, #f4f9f1 0%, #fbfdf9 100%)}.project-item{display:grid;grid-template-columns:minmax(0, 1fr) auto;align-items:start;gap:18px}.project-content{min-width:0}.project-title{color:#222;font-size:16px;font-weight:700;line-height:1.45}.project-meta{margin-top:4px;color:#666;font-size:0.92em;line-height:1.5}.project-status{display:inline-block;padding:2px 9px;border-radius:999px;color:#39772c;background:#edf6ea;font-size:0.8em;font-weight:700;white-space:nowrap}.awards-list{margin:4px 0 20px}.award-item{display:flex;justify-content:space-between;align-items:baseline;gap:24px;padding:4px 0}.award-main{flex:1;min-width:0}.award-org{color:#666}.award-date{flex-shrink:0;min-width:90px;text-align:right;white-space:nowrap;color:#777;font-style:italic;font-size:0.92em}.profile-scene{width:100%;max-width:100%;margin:22px auto 0 auto;padding-top:6px;overflow:hidden}.profile-scene pre{margin:0;display:block;width:100%;font-family:"Courier New", Courier, monospace;font-size:10px;line-height:1.02;color:#666;background:none;border:none;padding:0;white-space:pre;overflow:hidden}.profile-scene .eye{display:inline-block;width:1ch;text-align:center;position:relative}.profile-scene:hover .eye{color:transparent}.profile-scene:hover .eye::after{content:"◉";color:#666;position:absolute;left:0;top:0;width:1ch;text-align:center;animation:wakeEyes 0.22s ease 1}.profile-scene .arm{display:inline-block;width:1ch;text-align:center}.profile-scene:hover .arm-right{animation:handWaveRight 0.9s ease-in-out 2}.profile-scene:hover .arm-left{animation:handWaveLeft 0.9s ease-in-out 2}@keyframes wakeEyes{0%{transform:translateY(1px);opacity:0.4}100%{transform:translateY(0);opacity:1}}@keyframes handWaveRight{0%{transform:translate(0, 0)}25%{transform:translate(1px, -2px)}50%{transform:translate(0, 0)}75%{transform:translate(1px, -2px)}100%{transform:translate(0, 0)}}@keyframes handWaveLeft{0%{transform:translate(0, 0)}25%{transform:translate(-1px, -2px)}50%{transform:translate(0, 0)}75%{transform:translate(-1px, -2px)}100%{transform:translate(0, 0)}}.vision-emoji{display:inline-block;margin-right:0.2em;transform-origin:50% 80%;animation:robotHello 1.5s ease-in-out infinite}@keyframes robotHello{0%, 72%, 100%{transform:translateY(0) rotate(0)}78%{transform:translateY(-2px) rotate(-7deg)}84%{transform:translateY(0) rotate(7deg)}90%{transform:translateY(-1px) rotate(-4deg)}96%{transform:translateY(0) rotate(0)}}@media (prefers-reduced-motion: reduce){.vision-emoji,.profile-scene .arm,.profile-scene .eye::after{animation:none}}footer{grid-column:2;grid-row:2;position:static !important;float:none !important;width:auto !important;bottom:auto !important;margin-top:32px;padding-top:18px;border-top:1px solid #e5e5e5;color:#777;font-size:13px;line-height:1.5;text-align:right}footer p{margin:0 0 6px 0}footer small{font-size:13px;color:#777}header footer{display:none}@media screen and (max-width: 960px){body{padding:32px 0}div.wrapper{width:min(900px, calc(100% - 48px));margin:0 auto;grid-template-columns:minmax(0, 1fr);grid-template-rows:auto auto auto;row-gap:28px}header{grid-column:1;grid-row:auto;position:static;padding:0;max-height:none;overflow:visible}header>*{max-width:250px;margin-left:auto;margin-right:auto}header img{width:180px;height:180px}section,footer{grid-column:1;grid-row:auto}section{border:0;padding:0;margin:0;overflow-wrap:anywhere}.nav-bar{flex-wrap:wrap;gap:10px 26px}.profile-scene{margin-top:22px;max-width:380px}.profile-scene pre{font-size:10px}}@media screen and (max-width: 620px){body{padding:24px 0}div.wrapper{width:calc(100% - 32px);row-gap:24px}header>*{max-width:100%}header h1,header h1 a{margin-bottom:12px;font-size:26px}header img{width:144px;height:144px;box-sizing:border-box;margin-bottom:8px}.contact-links{display:flex;flex-wrap:wrap;justify-content:center;gap:0 18px;margin-top:4px}.contact-links div{margin:0}.contact-links a,.copy-email{min-height:44px;align-items:center}.email-contact{flex-basis:100%;min-width:0;justify-content:center}.copy-feedback{top:calc(100% - 4px);right:50%;transform:translateX(50%)}.profile-scene{margin-top:18px;max-width:300px}.profile-scene pre{width:max-content;max-width:100%;margin:0 auto;font-size:clamp(6px, 1.25vw, 8px)}.nav-bar{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:0 8px;padding:4px 0;margin-bottom:24px}.nav-bar a{min-height:44px;font-size:14px}section h1{font-size:22px;line-height:1.35}section h2{margin-top:38px;margin-bottom:16px;font-size:21px;scroll-margin-top:var(--section-nav-offset, 113px)}section h2#projects{margin-top:42px;font-size:25px}.update-item{grid-template-columns:minmax(0, 1fr) auto;grid-template-areas:"date brand" "copy copy";gap:6px 12px;padding:10px 0 10px 12px}.update-item::before{top:15px;transform:none}.update-date{grid-area:date}.update-copy{grid-area:copy}.update-brand{grid-area:brand}.experience-header{flex-direction:column;gap:4px}.experience-date{padding-top:0}.experience-item+.experience-item{margin-top:10px}.experience-main{display:block;width:100%}.experience-role{display:block;margin-top:4px}.project-list{padding:14px}.project-item{grid-template-columns:1fr;gap:8px}.project-status{justify-self:start}.award-item{flex-direction:column;align-items:stretch;gap:3px;padding:9px 0}.award-date{text-align:left;min-width:0}footer{margin-top:8px;text-align:center;overflow-wrap:anywhere}}
