@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8d697b304b401681-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/ba015fad6dcf6784-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/4cf2300e9c8272f7-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Geist Fallback;src:local("Arial");ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.00%;size-adjust:104.76%}.__className_188709{font-family:Geist,Geist Fallback;font-style:normal}.__variable_188709{--font-geist-sans:"Geist","Geist Fallback"}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/9610d9e46709d722-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/747892c23ea88013-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/93f479601ee12b01-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Geist Mono Fallback;src:local("Arial");ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.00%;size-adjust:134.59%}.__className_9a8899{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.__variable_9a8899{--font-geist-mono:"Geist Mono","Geist Mono Fallback"}

/*! tailwindcss v4.1.13 | MIT License | https://tailwindcss.com */html{scroll-behavior:smooth}.container,body{overflow-x:hidden}.container{padding:0 24px}header{border-bottom:1px solid #fff;padding:24px 48px}header ul{gap:20px}.hamburger{cursor:pointer;background:0 0;border:none;display:none}.home{height:100vh}.title-sub{font-size:1.2em;line-height:32px}.home-sub{justify-content:space-between}.title h2{margin-bottom:6px;font-size:3.9em}.title h3{margin-bottom:24px;font-size:3em}.home div .text{font-size:4.2em}.arrow-icon{bottom:2rem;transform:translateY(-50%)}@keyframes bounce{0%{transform:translate(-50%)translateY(0)}50%{transform:translate(-50%)translateY(-10px)}to{transform:translate(-50%)translateY(0)}}@keyframes blink{0%,50%,to{opacity:1}25%,75%{opacity:0}}.badges{flex:none;gap:12px}.badges div{border-radius:20px;padding:12px;position:relative;overflow:hidden}.badges>div:before{content:"";background:#2d8f14;border-radius:2px;width:0;height:100%;transition:width .5s;position:absolute;bottom:0;left:0}.badges>div:hover:before{width:var(--rate)}.badges>div:after{content:attr(data-rate);color:#fff;opacity:0;font-size:12px;font-weight:600;transition:opacity .3s;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.badges>div:hover:after{opacity:1}.skills .badges{justify-content:center}.skill-hint{text-align:center;color:#adb5bd;margin-bottom:8px;font-size:.8rem;font-style:italic}.project .badges-all{gap:36px;margin-bottom:48px}.project-cards{justify-content:space-between}.project-card{color:#eaeaea;border-radius:20px;width:300px;height:400px;transition:transform .3s;position:relative;overflow:hidden}.project-card-personal{border:1px solid #d9d9d9;border-radius:20px;justify-content:center;align-items:center;width:100%;height:400px;display:flex}.project-card:before{content:"";background-image:var(--hover-bg);opacity:0;z-index:0;background-position:50%;background-size:cover;border-radius:20px;width:100%;height:100%;transition:opacity .3s;position:absolute;top:0;left:0}.project-card:hover:before{opacity:.8}.project-card:hover>div:nth-child(-n+4){display:none}.project-card .git-link{transition:all .5s}.project-card:hover .git-link{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000000f2;border-radius:12px;gap:12px;padding:16px;display:flex}.project-card>*{z-index:1;position:relative}.project-card-title{font-size:1rem}.project-card p{font-size:.8rem}.git-link{gap:10px}.qna{border-radius:20px;padding:24px}.interview-qna{margin-bottom:24px;padding-left:12px}.text p{white-space:nowrap;overflow:hidden}.intro-message{margin-bottom:80px}.intro-message p span:first-child{font-size:2.3rem}.intro-message p span:last-child{font-size:2.8rem;line-height:3.5rem}.contact-links{gap:16px;margin-top:120px}footer{padding:16px 24px;font-size:1rem}p{line-height:1.4rem}a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{font-size:100%;font:inherit;vertical-align:baseline;border:0;margin:0;padding:0}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:"";content:none}table{border-collapse:collapse;border-spacing:0}button{border:none}a{color:#fafafa;text-decoration:none}body{color:#eaeaea;background:linear-gradient(135deg,#0f0f0f,#1a1a1a);margin:0 auto;font-family:Pretendard,-apple-system,BlinkMacSystemFont,system-ui,Roboto,Helvetica Neue,Segoe UI,Apple SD Gothic Neo,Noto Sans KR,Malgun Gothic,sans-serif;font-size:14px}header{color:#fff;z-index:100;box-sizing:border-box;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000000b3;justify-content:space-between;align-items:center;width:100%;padding:12px 16px;display:flex;position:fixed;top:0;left:0}header ul{flex-wrap:wrap;justify-content:end;gap:10px;list-style:none;display:flex}header ul li{white-space:nowrap;font-size:.8rem}header ul li a{color:#fff;padding:4px 8px;text-decoration:none}header ul li a:hover{text-decoration:underline}.container{max-width:1156px;margin:0 auto;padding:0 16px}.container,.home{box-sizing:border-box}.home{text-align:center;flex-direction:column;justify-content:center;align-items:center;width:100%;min-height:100vh;padding:80px 16px 60px;display:flex;position:relative}.title-sub{margin-bottom:16px;line-height:1.4}.home-sub{flex-direction:column;justify-content:center;align-items:center;gap:20px;width:100%;max-width:1156px;margin:0 auto;display:flex}.title h2{margin-bottom:8px;font-size:2rem;font-weight:700;line-height:1.2}.title h3{margin-bottom:16px;font-size:1.5rem;font-weight:400;line-height:1.2}.title h4{font-weight:400;line-height:1.3}.home .title{flex-direction:column;justify-content:center;align-items:center;display:flex}.home div .text{color:#2d8f14;font-size:2.2rem;font-weight:700;line-height:1.2}.arrow-icon{opacity:1;font-size:1.5rem;transition:opacity .5s;animation:bounce 1s infinite;position:fixed;bottom:1rem;left:50%;transform:translate(-50%)}.arrow-icon.hidden{opacity:0;pointer-events:none}.cursor{width:1ch;animation:blink 1.2s step-end infinite;display:inline-block}.about{flex-direction:column;gap:32px;margin-bottom:60px;display:flex}.badges{border-radius:20px;flex-wrap:wrap;justify-content:center;align-items:center;padding:12px;transition:background .2s,color .2s;display:flex}.badges.active{color:#fff;background:#2d8f14}.badges div{background:#2b2b2b;border:1px solid #d9d9d9;border-radius:15px;align-items:center;gap:6px;padding:8px 12px;font-size:.8rem;display:flex}.Philosophy,.Strengths,.role-title{border-bottom:2px solid #d9d9d9;margin-bottom:12px;padding-bottom:6px;font-size:1.1rem;font-weight:700}.about-role{margin-bottom:20px}.skills{margin-bottom:60px}.skills>div{margin-bottom:40px}.current-skills,.currently-learning,.experienced-tools{text-align:center;margin-bottom:24px;font-size:1.1rem;font-weight:700}.project{margin-bottom:60px}.project .badges-all{flex-wrap:wrap;justify-content:center;align-items:center;gap:16px;margin-bottom:32px;display:flex}.project-cards{gap:24px}.project-card,.project-cards{flex-direction:column;align-items:center;display:flex}.project-card{text-align:center;box-sizing:border-box;border:1px solid #d9d9d9;border-radius:15px;justify-content:center;width:100%;height:auto;min-height:350px;padding:20px}.project-card-title{margin-bottom:8px;font-size:.9rem;font-weight:600}.project-card p{font-size:.75rem;line-height:1.3}.project-card div{margin-bottom:8px}.project-card div h6{font-size:.8rem;font-weight:700}.git-link{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.interview{margin-bottom:60px}.qna{background:linear-gradient(135deg,#1f5f0e,#264f0d);border-radius:15px;justify-content:left;align-items:center;margin-bottom:12px;padding:16px;display:flex}.qna h3{font-size:1.1rem;font-weight:700}.interview-qna{margin-bottom:20px;padding-left:8px;font-size:.9rem}.text p{white-space:normal;word-break:keep-all;overflow:visible}.contact{margin-bottom:60px}.intro-message{text-align:center;justify-content:center;align-items:center;margin-bottom:50px;padding:0 16px;display:flex}.intro-message p span:first-child{margin-bottom:8px;font-size:1.3rem;font-style:italic;display:block}.intro-message p span:last-child{font-size:1.5rem;line-height:1.4;display:block}.contact-links{flex-wrap:wrap;justify-content:center;gap:50px;display:flex}footer{text-align:center;background:#0f0f0fe6;border-top:1px solid #ededed;padding:16px;font-size:.8rem}footer,span{font-weight:700}.about-title,.contact-title,.interview-title,.project-title,.skills-title{text-align:center;margin-bottom:60px;font-size:1.8rem;font-weight:700}p{font-size:.9rem;line-height:1.4}.about p,.interview p{font-size:clamp(.7rem,2vw,.9rem);line-height:1.4}.contact-item{justify-content:center;align-items:center;display:flex}.contact-item a,.contact-item button{flex-direction:column;align-items:center;gap:4px;display:flex}.contact-item button{cursor:pointer;color:inherit;font:inherit;background:0 0;border:none;margin:0;padding:0}.action-buttons{z-index:1000;flex-direction:column;gap:12px;display:flex;position:fixed;top:80%;right:20px;transform:translateY(-50%)}.arrow-upward-btn,.feedback-btn,.mail-color-black-btn{background:#ededed;border-radius:50%;justify-content:center;align-items:center;width:50px;height:50px;transition:box-shadow .2s,transform .2s;display:flex}.feedback-btn a{flex-direction:column;align-items:center;gap:4px;width:60px;text-decoration:none;display:flex}.action-buttons button{cursor:pointer;background:0 0;border:none;padding:6px;display:flex}.action-buttons div:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0003}.mail-color-black,.modal{justify-content:center;align-items:center;display:flex}.modal{z-index:9999;background:#0009;width:100vw;height:100vh;animation:modalFadeIn .3s;position:fixed;top:0;left:0}.modal-content{background:#fff;border-radius:16px;width:90%;max-width:500px;padding:32px;animation:modalSlideIn .3s;position:relative;box-shadow:0 20px 60px #00000026,0 8px 24px #00000014}.modal h2{color:#212529;text-align:center;margin-bottom:24px;font-size:24px;font-weight:600}.modal form{flex-direction:column;gap:20px;display:flex}.modal input[type=email],.modal input[type=text],.modal textarea{color:#495057;box-sizing:border-box;background:#fff;border:2px solid #e9ecef;border-radius:8px;width:100%;padding:14px 16px;font-family:inherit;font-size:16px;transition:all .2s}.modal input[type=email]:focus,.modal input[type=text]:focus,.modal textarea:focus{border-color:#007bff;outline:none;box-shadow:0 0 0 3px #007bff1a}.modal input::placeholder,.modal textarea::placeholder{color:#adb5bd}.modal textarea{resize:vertical;min-height:120px;font-family:inherit}.modal button{cursor:pointer;border:none;border-radius:8px;width:100%;padding:14px 20px;font-family:inherit;font-size:16px;font-weight:500;transition:all .2s}.modal button[type=submit]{color:#fff;background:#007bff}.modal button[type=submit]:hover{background:#0056b3;transform:translateY(-1px);box-shadow:0 4px 12px #007bff4d}.modal button[type=submit]:active{transform:translateY(0)}.modal button[type=button]{color:#6c757d;background:#f8f9fa;border:1px solid #dee2e6;margin-bottom:0}.modal button[type=button]:hover{color:#495057;background:#e9ecef}.modal .button-group{gap:12px;margin-top:8px;display:flex}.modal .button-group button{flex:1;margin-bottom:0}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.responsive-text,.role-description{white-space:pre-wrap;word-break:break-word}@media (min-width:1440px){.container{max-width:1200px}.home div .text{font-size:4.8rem}.title h2{font-size:4.2rem}.title h3{font-size:3.2rem}}@media (min-width:1024px){header{padding:24px 48px}header ul li{font-size:1rem}.home{padding:120px 24px 100px}.title h2{font-size:3.9rem}.title h3{margin-bottom:24px;font-size:3rem}.home div .text{font-size:4.2rem}.title-sub{font-size:1.5rem;line-height:32px}.arrow-icon{bottom:2rem}.about{gap:63px;margin-bottom:100px}.badges div{border-radius:20px;padding:12px}.Philosophy,.Strengths,.role-title{font-size:1.5rem}.about-role{margin-bottom:24px}.skills{margin-bottom:100px}.skills>div{margin-bottom:63px}.current-skills,.currently-learning,.experienced-tools{margin-bottom:36px;font-size:1.5rem}.project{margin-bottom:100px}.project .badges-all{gap:36px;margin-bottom:48px}.project-card{border-radius:20px;height:400px}.interview{margin-bottom:100px}.qna{border-radius:20px;padding:24px}.qna h3{font-size:1.5rem}.interview-qna{margin-bottom:24px}.text p{white-space:nowrap;overflow:hidden}.contact{margin-bottom:100px}.intro-message{margin-bottom:80px}.intro-message p span:first-child{font-size:2.3rem}.intro-message p span:last-child{font-size:2.8rem;line-height:3.5rem}.about-title,.contact-title,.interview-title,.project-title,.skills-title{margin-bottom:120px;font-size:2.3rem}footer{padding:16px 24px;font-size:1rem}}@media (min-width:768px){body{font-size:16px}header{padding:16px 24px}header ul li{font-size:.9rem}.container{padding:0 24px}.home{padding:100px 24px 80px}.home-sub{flex-direction:row;justify-content:space-between}.title h2{font-size:2.8rem}.title h3{font-size:2.2rem}.home div .text{font-size:3rem}.title-sub{font-size:1rem}.about{gap:48px;margin-bottom:80px}.badges{justify-content:flex-start;gap:12px}.badges div{padding:10px 16px;font-size:.9rem}.Philosophy,.Strengths,.role-title{font-size:1.3rem}.skills{margin-bottom:80px}.skills>div{margin-bottom:50px}.current-skills,.currently-learning,.experienced-tools{margin-bottom:32px;font-size:1.3rem}.project{margin-bottom:80px}.project .badges-all{gap:24px;margin-bottom:40px}.project-cards{flex-flow:wrap;justify-content:space-around;gap:20px}.project-card{width:300px;min-height:380px;padding:20px 40px}.project-card-title{font-size:1rem}.project-card p{font-size:.8rem}.interview{margin-bottom:80px}.qna{padding:20px}.qna h3{font-size:1rem}.interview-qna{padding-left:12px;font-size:1rem}.contact{margin-bottom:80px}.intro-message{margin-bottom:60px}.intro-message p span:first-child{margin-bottom:0;font-size:1.8rem;display:inline}.intro-message p span:last-child{font-size:2.2rem;line-height:2.5rem;display:inline}.about-title,.contact-title,.interview-title,.project-title,.skills-title{margin-bottom:80px;font-size:2rem}p{font-size:1rem}footer{font-size:.9rem}}@media (max-width:767px){header ul{background:#000000e6;border-radius:8px;flex-direction:column;gap:12px;padding:16px;display:none;position:absolute;top:60px;right:12px}header ul.open{display:flex}.hamburger{cursor:pointer;background:0 0;border:none;display:block}}@media (max-width:480px){.modal-content{border-radius:12px;margin:20px;padding:24px 20px}.modal h2{margin-bottom:20px;font-size:20px}.modal form{gap:16px}.modal input[type=email],.modal input[type=text],.modal textarea{padding:12px 14px}}@media (min-width:481px) and (max-width:767px){header{text-align:center;gap:8px;padding:8px 12px}header ul{justify-content:center;gap:8px}header ul li{font-size:.7rem}.home{padding:100px 12px 60px}.title h2{font-size:1.6rem}.title h3{font-size:1.2rem}.home div .text{font-size:1.8rem}.container{padding:0 12px}.about-title,.contact-title,.interview-title,.project-title,.skills-title{margin-bottom:40px;font-size:1.5rem}.qna h3{font-size:1rem}.badges{gap:6px}.badges div{padding:6px 10px;font-size:.7rem}.project .badges-all{gap:8px}.intro-message p span:first-child{font-size:1.1rem}.intro-message p span:last-child{font-size:1.3rem}}