@font-face{font-family:Pretendard Variable;font-weight:45 920;font-style:normal;font-display:swap;src:url(/fonts/PretendardVariable.woff2)format("woff2-variations")}:root{--bg:#0d1320;--text:#c9d2e3;--strong:#eef2f9;--muted:#8f9bb3;--dim:#73809a;--accent:#6ee7c5;--accent-bg:#6ee7c51a;--line:#c9d2e31f;--font:"Pretendard Variable", -apple-system, "Apple SD Gothic Neo", "Malgun Gothic", system-ui, sans-serif;--mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace}*,:before,:after{box-sizing:border-box}html{background:var(--bg);color-scheme:dark;scroll-behavior:smooth}body{color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;overflow-wrap:anywhere;margin:0;font-size:16px;line-height:1.6}html:lang(ko) body{word-break:keep-all}h1,h2,h3,p,ul{margin:0}ul{padding:0;list-style:none}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important}}.shell{grid-template-columns:minmax(280px,380px) minmax(0,1fr);max-width:1180px;margin:0 auto;display:grid}.side{flex-direction:column;height:100dvh;padding:72px 40px 48px 48px;display:flex;position:sticky;top:0;overflow-y:auto}.side-name h1{letter-spacing:-.02em;color:var(--strong);font-size:40px;font-weight:700;line-height:1.1}.side-role{color:var(--strong);margin-top:10px;font-size:18px;font-weight:500}.side-tagline{max-width:32ch;color:var(--muted);margin-top:14px;font-size:15px}.side-nav{margin-top:44px}.side-nav a{letter-spacing:.12em;text-transform:uppercase;color:var(--dim);align-items:center;gap:12px;padding:7px 0;font-size:12px;font-weight:600;transition:color .15s;display:flex}.side-nav a:before{content:"";background:currentColor;width:28px;height:1px;transition:width .15s}.side-nav a:hover,.side-nav a:focus-visible{color:var(--strong)}.side-nav a:hover:before,.side-nav a:focus-visible:before{width:56px}.contact{color:var(--muted);gap:6px;margin-top:auto;padding-top:36px;font-size:14px;display:grid}.contact a:hover{color:var(--accent)}.lang{font-family:var(--mono);color:var(--dim);gap:8px;margin-top:18px;font-size:13px;display:flex}.lang a[aria-current=true]{color:var(--accent)}.lang a:hover{color:var(--strong)}.main{min-width:0;padding:72px 48px 96px 24px}.section{margin-bottom:72px;scroll-margin-top:32px}.section-title{letter-spacing:.12em;text-transform:uppercase;color:var(--strong);margin-bottom:18px;padding-left:18px;font-size:12px;font-weight:700}.intro{color:var(--muted);padding:0 18px}.intro .lead{color:var(--strong);margin-bottom:14px;font-size:19px;font-weight:500;line-height:1.5}.items{gap:6px;margin:0;padding:0;list-style:none;display:grid}.item{border-radius:8px;grid-template-columns:124px minmax(0,1fr);gap:18px;padding:16px 18px;transition:background .15s;display:grid}.item:hover{background:#c9d2e30a}.item-period{letter-spacing:.04em;color:var(--dim);font-variant-numeric:tabular-nums;padding-top:4px;font-size:12px;font-weight:600}.item h3{color:var(--strong);font-size:17px;font-weight:600}.item-role{color:var(--accent);margin-top:2px;font-size:14px}.item-summary{color:var(--muted);margin-top:6px;font-size:15px}.items.compact .item{padding-top:6px;padding-bottom:6px}.cert{color:var(--text);font-size:15px}.cert span{color:var(--muted)}.sub-title{letter-spacing:.08em;color:var(--dim);margin:28px 0 8px;padding-left:18px;font-size:12px;font-weight:600}.achievements{gap:12px;margin-top:12px;display:grid}.achievements li{border-left:2px solid var(--line);padding-left:14px;font-size:14px}.achievements strong{color:var(--text);font-weight:600;display:block}.achievements span{color:var(--muted);margin-top:3px;display:block}.chips{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.chips li{background:var(--accent-bg);color:var(--accent);border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600}.skills{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 32px;margin:0;padding:0 18px;display:grid}.skills dt{color:var(--strong);font-size:14px;font-weight:600}.skills dd{margin:0}.skills .chips{margin-top:8px}.tool-cards{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;padding:0 18px;display:grid}.tool-card{border:1px solid var(--line);border-radius:10px;height:100%;padding:20px;transition:border-color .15s,background .15s;display:block}.tool-card:hover{border-color:var(--accent);background:var(--accent-bg)}.tool-card h3{color:var(--strong);font-size:17px;font-weight:600}.tool-card p{color:var(--muted);margin-top:6px;font-size:14px}.tool-open{color:var(--accent);margin-top:14px;font-size:13px;font-weight:600;display:inline-block}.card-link{color:var(--accent);font-weight:600}.card-link:hover{text-underline-offset:3px;text-decoration:underline}.more{margin-top:16px;padding-left:18px;font-size:14px}.not-found{max-width:640px;color:var(--muted);gap:14px;margin:0 auto;padding:120px 24px;display:grid}.not-found h1{color:var(--strong);font-size:28px}.not-found h1 span{color:var(--dim);font-weight:500}.not-found-links{flex-wrap:wrap;gap:20px;margin-top:12px;display:flex}@media (width<=860px){.shell{grid-template-columns:minmax(0,1fr)}.side{height:auto;padding:48px 20px 8px;position:static;overflow-y:visible}.side-nav{display:none}.contact{margin-top:28px;padding-top:0}.main{padding:40px 20px 72px}.section{margin-bottom:56px}.section-title,.sub-title,.more{padding-left:0}.intro,.skills,.tool-cards{padding:0}.item{grid-template-columns:minmax(0,1fr);gap:4px;padding:14px 0}.item:hover{background:0 0}.skills,.tool-cards{grid-template-columns:minmax(0,1fr)}}.tools-lead{color:var(--muted);margin:-6px 0 22px;padding:0 18px;font-size:15px}@media (width<=860px){.tools-lead{padding:0}}
