body{-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--bg:#080d1a;--bg-alt:#0e1525;--bg-card:#131d30;--bg-card-hover:#18243a;--accent:#4f7cff;--accent-dim:#4f7cff26;--accent-border:#4f7cff40;--purple:#a855f7;--purple-dim:#a855f71f;--purple-border:#a855f74d;--text:#e8eeff;--text-muted:#7a90b8;--border:#ffffff0f;--radius:12px;--shadow:0 4px 24px #0006}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;background:#080d1a;background:var(--bg);color:#e8eeff;color:var(--text);font-family:Noto Sans KR,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.7}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}.navbar{align-items:center;display:flex;justify-content:space-between;left:0;padding:1.4rem 6%;position:fixed;right:0;top:0;transition:background .3s,padding .3s,border-color .3s;z-index:100}.navbar.scrolled{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#080d1aeb;border-bottom:1px solid #ffffff0f;border-bottom:1px solid var(--border);padding:1rem 6%}.navbar-brand{cursor:pointer;font-size:1.6rem;font-weight:900;letter-spacing:-1px;-webkit-user-select:none;user-select:none}.accent{color:#4f7cff;color:var(--accent)}.nav-links{display:flex;gap:.25rem}.nav-link{background:none;border:none;border-radius:8px;color:#7a90b8;color:var(--text-muted);font-size:.9rem;font-weight:500;padding:.45rem .9rem;transition:color .15s,background .15s}.nav-link:hover{background:#ffffff0d}.menu-toggle,.nav-link:hover{color:#e8eeff;color:var(--text)}.menu-toggle{background:none;border:none;display:none;font-size:1.3rem;padding:.3rem}.hero{display:flex;flex-direction:column;justify-content:center;min-height:100vh;overflow:hidden;padding:9rem 6% 5rem;position:relative}.hero-bg-glow{background:radial-gradient(circle,#4f7cff1f 0,#0000 65%);height:700px;pointer-events:none;position:absolute;right:-100px;top:-100px;width:700px}.hero-content{align-items:center;display:flex;gap:4rem;justify-content:space-between;margin:0 auto;max-width:1080px;width:100%}.hero-text{flex:1 1}.hero-greeting{color:#4f7cff;color:var(--accent);display:block;font-size:1rem;font-weight:500;letter-spacing:.06em;margin-bottom:.6rem}.hero-name{font-size:clamp(3rem,7vw,5.5rem);font-weight:900;letter-spacing:-3px;line-height:1;margin-bottom:1rem}.hero-title{color:#7a90b8;color:var(--text-muted);font-size:clamp(1rem,2.2vw,1.35rem);font-weight:400;line-height:1.6;margin-bottom:1rem}.hero-title-accent{color:#7ba7ff;font-weight:700}.hero-stack{color:#7a90b8;color:var(--text-muted);font-size:.9rem;letter-spacing:.12em;margin-bottom:2.2rem}.hero-buttons{display:flex;flex-wrap:wrap;gap:1rem}.btn{border:none;border-radius:8px;font-size:.95rem;font-weight:600;padding:.75rem 1.8rem;transition:transform .15s,box-shadow .15s,background .15s}.btn-primary{background:#4f7cff;background:var(--accent);color:#fff}.btn-primary:hover{background:#6b8fff;box-shadow:0 8px 24px #4f7cff66;transform:translateY(-2px)}.btn-outline{background:#0000;border:1px solid #4f7cff40;border:1px solid var(--accent-border);color:#e8eeff;color:var(--text)}.btn-outline:hover{border-color:#4f7cff;border-color:var(--accent);color:#4f7cff;color:var(--accent);transform:translateY(-2px)}.hero-avatar{flex-shrink:0}.avatar-ring{background:linear-gradient(135deg,#4f7cff,#a855f7);background:linear-gradient(135deg,var(--accent),var(--purple));border-radius:50%;height:220px;padding:3px;width:220px}.avatar-img{border-radius:50%;display:block;height:100%;object-fit:cover;width:100%}.scroll-down{background:none;border:none;color:#7a90b8;color:var(--text-muted);display:block;margin:3rem auto 0;padding:.5rem}.scroll-arrow{animation:bounce 2s ease-in-out infinite;display:inline-block;font-size:1.4rem}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(7px)}}.section{padding:6rem 6%}.bg-alt{background:#0e1525;background:var(--bg-alt)}.container{margin:0 auto;max-width:1080px}.section-title{display:inline-block;font-size:2rem;font-weight:800;letter-spacing:-1px;margin-bottom:2.5rem;position:relative}.section-title:after{background:#4f7cff;background:var(--accent);border-radius:2px;bottom:-10px;content:"";height:3px;left:0;position:absolute;width:40px}.about-layout{grid-gap:4rem;align-items:start;display:grid;gap:4rem;grid-template-columns:1fr 280px}.about-text{display:flex;flex-direction:column;gap:1.2rem}.about-text p{color:#7a90b8;color:var(--text-muted);font-size:1rem;line-height:1.9}.about-text strong{color:#e8eeff;color:var(--text);font-weight:600}.blog-link{align-self:flex-start;border:1px solid #4f7cff40;border:1px solid var(--accent-border);border-radius:8px;color:#4f7cff;color:var(--accent);display:inline-block;font-size:.9rem;font-weight:600;padding:.55rem 1.1rem;transition:background .15s,color .15s}.blog-link:hover{background:#4f7cff;background:var(--accent);border-color:#4f7cff;border-color:var(--accent);color:#fff}.about-stats{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:1fr 1fr}.stat-card{align-items:center;background:#131d30;background:var(--bg-card);border:1px solid #ffffff0f;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius);display:flex;flex-direction:column;gap:.3rem;padding:1.3rem 1rem}.stat-num{color:#4f7cff;color:var(--accent);font-size:1.6rem;font-weight:800;line-height:1}.stat-label{color:#7a90b8;color:var(--text-muted);font-size:.75rem;text-align:center}.skills-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}.skill-group{background:#131d30;background:var(--bg-card);border:1px solid #ffffff0f;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius);padding:1.4rem;transition:border-color .15s}.skill-group:hover{border-color:#4f7cff40;border-color:var(--accent-border)}.skill-category{color:#4f7cff;color:var(--accent);font-size:.7rem;font-weight:700;letter-spacing:.12em;margin-bottom:.9rem;text-transform:uppercase}.skill-tags{display:flex;flex-wrap:wrap;gap:.4rem}.skill-tag{background:#4f7cff26;background:var(--accent-dim);border:1px solid #4f7cff40;border:1px solid var(--accent-border);border-radius:20px;color:#e8eeff;color:var(--text);font-size:.8rem;font-weight:500;padding:.25rem .7rem}.projects-list{display:flex;flex-direction:column;gap:1.25rem}.project-card{background:#131d30;background:var(--bg-card);border:1px solid #ffffff0f;border:1px solid var(--border);border-radius:16px;padding:2rem;transition:border-color .2s,box-shadow .2s}.project-card.expanded,.project-card:hover{border-color:#4f7cff40;border-color:var(--accent-border);box-shadow:0 0 0 1px #4f7cff40;box-shadow:0 0 0 1px var(--accent-border)}.project-header{align-items:flex-start;display:flex;gap:2rem;justify-content:space-between}.project-main{flex:1 1}.project-period{color:#4f7cff;color:var(--accent);display:block;font-size:.8rem;font-weight:600;letter-spacing:.04em;margin-bottom:.4rem}.project-title{font-size:1.35rem;font-weight:800;letter-spacing:-.5px;margin-bottom:.2rem}.project-subtitle{color:#c8d8ed;font-size:.9rem;margin-bottom:.8rem}.project-desc{font-size:.9rem;line-height:1.7}.project-desc,.project-meta{color:#c8d8ed;margin-bottom:1rem}.project-meta{align-items:center;display:flex;flex-wrap:wrap;font-size:.82rem;gap:.5rem}.meta-sep{color:#ffffff0f;color:var(--border)}.tech-tags{display:flex;flex-wrap:wrap;gap:.4rem}.tech-tag{background:#a855f71f;background:var(--purple-dim);border:1px solid #a855f74d;border:1px solid var(--purple-border);border-radius:12px;color:#c084fc;font-size:.78rem;font-weight:500;padding:.2rem .6rem}.project-actions{align-items:flex-end;display:flex;flex-direction:column;flex-shrink:0;gap:1rem}.project-links{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:flex-end}.icon-btn{align-items:center;background:#ffffff0a;border:1px solid #ffffff0f;border:1px solid var(--border);border-radius:7px;color:#7a90b8;color:var(--text-muted);display:inline-flex;font-size:.75rem;font-weight:700;height:34px;justify-content:center;letter-spacing:.03em;padding:0 .8rem;transition:background .15s,color .15s,border-color .15s}.icon-btn:hover{background:#4f7cff;background:var(--accent);border-color:#4f7cff;border-color:var(--accent);color:#fff}.expand-btn{background:none;border:none;color:#4f7cff;color:var(--accent);font-size:.85rem;font-weight:600;padding:0;transition:opacity .15s;white-space:nowrap}.expand-btn:hover{opacity:.7}.achievements{animation:fadeSlide .25s ease;border-top:1px solid #ffffff0f;border-top:1px solid var(--border);margin-top:1.8rem;padding-top:1.8rem}@keyframes fadeSlide{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.achievements-title{color:#7a90b8;color:var(--text-muted);font-size:.75rem;font-weight:700;letter-spacing:.12em;margin-bottom:1.1rem;text-transform:uppercase}.achievements-list{display:flex;flex-direction:column;gap:.6rem}.achievement-item{align-items:baseline;display:flex;font-size:.875rem;gap:.8rem;line-height:1.65}.achievement-label{background:#4f7cff26;background:var(--accent-dim);border:1px solid #4f7cff40;border:1px solid var(--accent-border);border-radius:10px;color:#4f7cff;color:var(--accent);flex-shrink:0;font-size:.7rem;font-weight:700;letter-spacing:.03em;padding:.15rem .55rem}.achievement-text{color:#c8d8ed}.edu-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.edu-card{align-items:flex-start;background:#131d30;background:var(--bg-card);border:1px solid #ffffff0f;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius);display:flex;gap:1rem;padding:1.5rem;transition:border-color .15s}.edu-card:hover{border-color:#4f7cff40;border-color:var(--accent-border)}.edu-card--main{grid-column:span 2}.edu-icon{flex-shrink:0;font-size:1.8rem;line-height:1}.edu-card h3{font-size:1rem;font-weight:700;margin-bottom:.3rem}.edu-period{color:#4f7cff;color:var(--accent);font-size:.8rem;font-weight:600;margin-bottom:.25rem}.edu-detail{color:#7a90b8;color:var(--text-muted);font-size:.85rem}.edu-grade{color:#7ba7ff;font-size:.85rem;font-weight:700;margin-top:.25rem}.contact-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.contact-card{align-items:center;background:#131d30;background:var(--bg-card);border:1px solid #ffffff0f;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius);display:flex;flex-direction:column;gap:.45rem;padding:1.8rem 1.5rem;text-align:center;transition:border-color .15s,transform .15s,box-shadow .15s}.contact-card:hover{border-color:#4f7cff40;border-color:var(--accent-border);box-shadow:0 8px 28px #4f7cff26;transform:translateY(-3px)}.contact-icon{font-size:1.6rem;line-height:1;margin-bottom:.2rem}.contact-label{color:#7a90b8;color:var(--text-muted);font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.contact-value{color:#e8eeff;color:var(--text);font-size:.9rem;font-weight:500;word-break:break-all}.footer{border-top:1px solid #ffffff0f;border-top:1px solid var(--border);color:#7a90b8;color:var(--text-muted);font-size:.85rem;padding:2rem;text-align:center}@media (max-width:900px){.about-layout{gap:2rem;grid-template-columns:1fr}.about-stats{grid-template-columns:repeat(4,1fr)}.edu-card--main{grid-column:span 1}}@media (max-width:700px){.navbar{padding:1rem 5%}.nav-links{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#080d1af7;border-bottom:1px solid #ffffff0f;border-bottom:1px solid var(--border);display:none;flex-direction:column;inset:64px 0 auto;padding:1rem;position:fixed}.nav-links.open{display:flex}.nav-link{padding:.7rem 1rem;text-align:left}.menu-toggle{display:block}.hero{padding:8rem 5% 4rem}.hero-content{flex-direction:column-reverse;text-align:center}.hero-buttons{justify-content:center}.avatar-ring{height:160px;width:160px}.avatar-inner{font-size:1.8rem}.section{padding:4rem 5%}.project-header{flex-direction:column;gap:1.2rem}.project-actions{align-items:center;flex-direction:row;justify-content:space-between;width:100%}.about-stats{grid-template-columns:repeat(2,1fr)}}
/*# sourceMappingURL=main.5ee26779.css.map*/