.modal-overlay{z-index:9999;background-color:#000000bf;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:fixed;top:0;left:0}.modal-container{background:#fff;width:1000px;height:700px;padding:30px;animation:.3s ease-out modal-fade-in;position:relative;overflow-y:auto}@keyframes modal-fade-in{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-close-btn{cursor:pointer;color:#000;background:0 0;border:none;padding:5px 18px;font-size:28px;position:absolute;top:10px;right:1px}.modal-image-wrapper img{object-fit:contain;border-radius:8px;width:100%;height:300px}.modal-title{color:#1c1c1c;margin:20px 0 10px;font-size:1.5rem}.modal-tech-stack{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}.tech-badge{color:#555;background:#eee;border-radius:4px;padding:4px 10px;font-size:.8rem;font-weight:700}.modal-desc{color:#333;white-space:pre-wrap;margin-bottom:25px;line-height:1.6}.modal-github-btn{color:#fff;cursor:pointer;background-color:#222;border-radius:6px;padding:12px 20px;text-decoration:none;transition:background .2s;display:inline-block}.modal-github-btn:hover{background-color:#000}
@font-face{font-family:esamanru;src:url("../media/esamanru Medium.2srjn4k-lymbi.ttf")format("truetype");font-weight:500;font-style:normal}@font-face{font-family:ThinDungGuenMo;src:url(../media/ThinDungGeunMo.1-_e8ozw9pi9x.ttf)format("truetype");font-weight:400;font-style:normal}.hero,.hero *,.code-content,.line-numbers,.typing-title{font-family:ThinDungGuenMo,monospace!important}*{box-sizing:border-box;margin:0;padding:0;font-family:esamanru,sans-serif!important}body,html{scroll-behavior:smooth;color:#c9d1d9;background-color:#0d1117;width:100%;margin:0;padding:0;overflow-x:hidden}.App{width:100%;margin:0;padding:0;display:block}.navbar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:100;box-sizing:border-box;background:#fffc;justify-content:space-between;align-items:center;width:100%;padding:20px 80px;display:flex;position:fixed;top:0;left:0}.logo{letter-spacing:-.5px;cursor:pointer;-webkit-user-select:none;user-select:none;color:#1c1c1c;font-size:25px;font-weight:700}.nav-links{gap:40px;list-style:none;display:flex}.nav-links li a{color:#666;font-size:16px;font-weight:500;text-decoration:none;transition:all .1s}.nav-links li a:hover{color:#000;font-weight:800}.hero{background-color:#0000;justify-content:center;align-items:center;width:100vw;height:95vh;padding:0 20px;display:flex;position:relative;overflow:hidden}.stars{opacity:.3;pointer-events:none;z-index:0;background-image:radial-gradient(2px 2px at 20px 30px,#eee,#0000),radial-gradient(2px 2px at 40px 70px,#fff,#0000),radial-gradient(2px 2px at 50px 160px,#ddd,#0000),radial-gradient(2px 2px at 90px 40px,#fff,#0000);background-repeat:repeat;background-size:200px 200px;width:100%;height:100%;animation:30s linear infinite starsAnimation;position:fixed;top:0;left:0}@keyframes starsAnimation{0%{background-position:0 0}to{background-position:0 -200px}}.code-window{z-index:10;text-align:left;background:#161b22;border:1px solid #30363d;border-radius:12px;width:100%;max-width:850px;animation:1s ease-out fadeInUp;box-shadow:0 30px 60px #00000080}.window-header{background:#21262d;border-bottom:1px solid #30363d;border-radius:10px;align-items:center;padding:12px 20px;display:flex}.action-buttons{gap:8px;display:flex}.dot{border-radius:50%;width:12px;height:12px}.red{background:#ff5f56}.yellow{background:#ffbd2e}.green{background:#27c93f}.file-tab{color:#8b949e;margin-left:20px;font-family:"monospace";font-size:13px}.code-body{padding:30px;font-family:Consolas,Monaco,Courier New,monospace;display:flex}.line-numbers{color:#484f58;text-align:right;-webkit-user-select:none;user-select:none;flex-direction:column;margin-right:25px;font-size:16px;display:flex}.code-content{color:#c9d1d9;font-size:16px;line-height:1.5}.keyword{color:#ff7b72}.variable{color:#79c0ff}.string{color:#a5d6ff}.hero h2{color:#fff;text-align:left;word-break:break-all;margin-top:25px;margin-bottom:15px;font-size:2rem!important}.hero-subtitle{color:#8b949e;max-width:100%;font-size:1.05rem;line-height:1.6}.cursor{vertical-align:middle;background-color:#58a6ff;width:10px;height:28px;margin-left:8px;animation:.8s infinite blink;display:inline-block}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes blink{50%{opacity:0}}.about-section{align-items:center;max-width:1400px;margin:100px auto 0;padding:0 40px}.about-container{align-items:flex-start;gap:80px;margin-top:50px;margin-left:100px;display:flex}.about-image{flex-shrink:0}.image-box{color:#ccc;background-color:#f0f0f0;border-radius:15px;justify-content:center;align-items:center;width:300px;height:400px;font-weight:700;display:flex;overflow:hidden}.profile-photo{object-fit:cover;object-position:center;width:100%;height:100%}.about-content{flex:1;margin-top:50px}.info-grid{grid-template-columns:repeat(2,1fr);gap:30px 20px;margin-top:30px;margin-bottom:40px;margin-left:50px;display:grid}.info-item{flex-direction:column;gap:8px;display:flex}.info-label{color:#fff;font-size:25px;font-weight:600}.info-value{color:#f0f0f0;font-size:20px;font-weight:700}.section-title{margin-bottom:20px;margin-left:20px;font-size:40px}.skills-section{align-items:center;max-width:1400px;margin:150px auto;padding:0 40px}.skills-board{background-color:#f0f0f0;border-radius:20px;flex-direction:column;gap:30px;width:100%;margin:0 auto;padding:50px 60px;display:flex;box-shadow:0 4px 20px #0000000d}.skill-group{align-items:flex-start;margin-bottom:30px;display:flex}.skill-group:last-child{margin-bottom:0}.skill-category{flex-shrink:0;align-items:center;gap:10px;min-width:250px;display:flex}.category-icon{margin-right:8px;font-size:25px}.category-name{color:#000;align-items:flex-start;font-size:25px;font-weight:700}.skill-tags{flex-wrap:wrap;flex:1;gap:15px;width:1000px;margin-left:50px;padding-top:2px;display:flex}.tag{color:#fff;border-radius:10px;padding:10px 20px;font-size:18px;font-weight:600}.tag.ts{background-color:#3178c6}.tag.js{color:#000;background-color:#f7df1e}.tag.react{color:#000;background-color:#61dafb}.tag.nextjs{background-color:#765ad3}.tag.reactnative{background-color:#1f6c00}.tag.html{background-color:#e34f26}.tag.css{background-color:#d753a7}.tag.vite{background-color:#646cff}.tag.tailwind{background-color:#dc143c}.tag.github{background-color:#181717}.tag.figma{background-color:#48c859}.tag.notion{background-color:#d64c5c}.projects-section{max-width:1400px;margin:150px auto;padding:0 40px}.section-title{margin-left:20px}.project-slider{align-items:center;gap:20px;margin-top:50px;display:flex}.project-card{background:#fff;border-radius:20px;width:100%;min-height:400px;display:flex;overflow:hidden;box-shadow:0 10px 30px #00000014}.project-image-container{background-color:#f0f0f0;justify-content:center;align-items:center;width:600px;height:400px;display:flex;overflow:hidden}.project-image{object-fit:contain;width:100%;height:100%;transition:transform .3s}.project-card:hover .project-image{transform:scale(1.05)}.project-info{text-align:left;flex-direction:column;flex:1;justify-content:center;padding:40px;display:flex}.project-info h4{color:#1c1c1c;margin-bottom:8px;font-size:24px}.project-period{color:#1c1c1c;margin-bottom:20px;font-size:14px}.project-desc{color:#282828;font-size:16px;line-height:1.6}.project-tags{gap:12px;margin:25px 0;display:flex}.project-tag{color:#555;font-size:14px;font-weight:600}.button-group{gap:20px;margin-top:15px;margin-right:100px;display:flex}.btn-view,.btn-more{text-align:center;cursor:pointer;color:#fff;background-color:#000;border-radius:10px;flex:1;padding:10px;font-family:esamanru,sans-serif}.arrow{color:#f1f1f1;cursor:pointer;background:0 0;border:none;font-size:30px;transition:all .2s}.arrow:hover{color:#333}.footer-container{z-index:10;background-color:#0000;flex-direction:column;align-items:center;width:100%;margin-top:100px;padding:80px 0 40px;display:flex}.contact-info{text-align:flex-start;margin-bottom:60px}.contact-item{color:#f0f0f0;letter-spacing:-1px;margin:10px 0;font-size:25px;font-weight:400}.footer-bottom{color:#999;border-top:1px solid #eee;justify-content:space-between;align-items:center;width:100%;max-width:1000px;padding-top:30px;font-size:14px;display:flex}.footer-links{gap:20px;display:flex}.footer-links a{color:#999;text-decoration:none;transition:color .2s}.footer-links a:hover{color:#333}@media (max-width:768px){*{box-sizing:border-box!important}.navbar{flex-direction:column;gap:10px;padding:15px 20px}.nav-links{gap:15px}.nav-links li a{font-size:14px}.hero{height:auto;padding:100px 20px 60px}.code-window{width:100%}.code-body{flex-direction:column;padding:15px}.hero h2{line-height:1.3;font-size:1.4rem!important}.line-numbers{display:none}.about-section{margin-top:60px;padding:0 20px}.about-container{flex-direction:column;align-items:center;gap:30px;width:90%;margin-left:5px!important}.image-box{width:100%;max-width:280px;height:350px}.info-grid{grid-template-columns:1fr 1fr;gap:20px;margin-left:0!important}.skills-section{width:90%;margin-left:20px;padding:0 20px}.skills-section h3{margin-left:10px}.skills-board{padding:30px 20px}.skill-group{flex-direction:column;gap:15px}.skill-category{min-width:unset}.skill-tags{gap:10px;width:100%;margin-left:0}.tag{padding:8px 15px;font-size:14px}.projects-section{margin-left:0;padding:0}.projects-section h3{margin-left:35px}.project-card{flex-direction:column;min-height:auto}.project-image-container{width:100%;height:250px}.project-info{padding:25px}.button-group{flex-direction:row;margin-right:0}.project-slider{position:relative}.arrow{font-size:24px}.contact-item{word-break:break-all;font-size:18px}.footer-bottom{flex-direction:column;gap:10px;padding:20px}}@media (max-width:480px){.info-grid{grid-template-columns:1fr}.section-title{font-size:30px}}
