:root{--bg:#f6f5f1;--surface:#fff;--ink:#16181d;--ink-soft:#4a4f5a;--muted:#7a7f8a;--line:#e2e0d9;--accent:#1d2b53;--accent-soft:#e6e9f2;--done:#1f6f4a;--done-soft:#e3f1ea;--radius:14px;--max:960px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#111317;--surface:#181b21;--ink:#eceef2;--ink-soft:#b6bbc5;--muted:#8a909b;--line:#2a2e36;--accent:#9fb3ff;--accent-soft:#1f2640;--done:#7fd1a8;--done-soft:#17302a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);word-break:keep-all;-webkit-font-smoothing:antialiased;margin:0;font-family:Pretendard Variable,Pretendard,-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Malgun Gothic,sans-serif;font-size:16px;line-height:1.7}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.page{max-width:var(--max);margin:0 auto;padding:0 20px}.topbar{border-bottom:1px solid var(--line);background:var(--bg);z-index:10;justify-content:space-between;align-items:center;padding:22px 0;display:flex;position:sticky;top:0}.brand{color:var(--ink);letter-spacing:-.01em;font-weight:700}.brand:hover{text-decoration:none}.nav{gap:20px;font-size:14px;display:flex}.nav a{color:var(--ink-soft)}.hero{padding:72px 0 56px}.eyebrow{letter-spacing:.06em;text-transform:uppercase;color:var(--accent);margin:0 0 8px;font-size:14px;font-weight:600}.hero h1{letter-spacing:-.03em;margin:0;font-size:clamp(40px,7vw,60px);line-height:1.1}.lead{color:var(--ink-soft);max-width:640px;margin:18px 0 20px;font-size:19px}.intro{color:var(--ink-soft);margin:0;padding-left:18px}.intro li{margin:2px 0}.interests{color:var(--ink-soft);margin:18px 0 0}.label{min-width:72px;color:var(--muted);margin-right:10px;font-size:13px;font-weight:600;display:inline-block}.actions{flex-wrap:wrap;gap:10px;margin-top:28px;display:flex}.btn{background:var(--accent);color:var(--bg);border:1px solid var(--accent);border-radius:999px;padding:9px 18px;font-size:14px;font-weight:600;display:inline-block}.btn:hover{opacity:.9;text-decoration:none}.btn.ghost{color:var(--accent);background:0 0}.section{border-top:1px solid var(--line);padding:48px 0}.section-title{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 24px;font-size:14px;font-weight:700}.project-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.project-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);flex-direction:column;gap:8px;padding:22px;transition:border-color .15s,transform .15s;display:flex}.project-card:hover{border-color:var(--accent);text-decoration:none;transform:translateY(-2px)}.card-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.card-head h3{letter-spacing:-.01em;margin:0;font-size:20px}.period{color:var(--muted);white-space:nowrap;font-size:13px}.summary{color:var(--ink-soft);margin:0}.meta{color:var(--muted);flex-wrap:wrap;gap:4px 12px;margin:0;font-size:13px;display:flex}.more{color:var(--accent);margin-top:auto;padding-top:6px;font-size:14px;font-weight:600}.tags{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.tags li{background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:3px 10px;font-size:13px;font-weight:500}.tags.outline li{border:1px dashed var(--line);color:var(--ink-soft);background:0 0}.skill-rows{gap:14px;display:grid}.skill-row{align-items:flex-start;gap:8px;display:flex}.skill-row .label{padding-top:4px}.two-col{grid-template-columns:1fr 1fr;gap:40px;display:grid}.paper-title{margin:0 0 6px;font-weight:600}.certs{margin:0;padding:0;list-style:none}.certs li{border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;padding:10px 0;font-size:15px;display:flex}.badge{background:var(--accent-soft);color:var(--ink-soft);border-radius:999px;flex-shrink:0;height:fit-content;padding:2px 10px;font-size:12px;font-weight:600}.badge.done{background:var(--done-soft);color:var(--done)}.contact a{font-size:20px;font-weight:600}.muted{color:var(--muted)}.small{font-size:13px}.detail{padding:40px 0 24px}.back{color:var(--ink-soft);font-size:14px}.detail-head{padding:24px 0 8px}.detail-head h1{letter-spacing:-.03em;margin:0;font-size:clamp(32px,6vw,46px);line-height:1.15}.facts{background:var(--line);border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin:24px 0 0;display:grid;overflow:hidden}.facts div{background:var(--surface);padding:14px 16px}.facts dt{color:var(--muted);font-size:12px;font-weight:600}.facts dd{margin:4px 0 0;font-size:15px}.block{border-top:1px solid var(--line);padding:32px 0}.block h2{letter-spacing:-.01em;margin:0 0 14px;font-size:18px}.block p{color:var(--ink-soft);margin:0}.bullets{color:var(--ink-soft);margin:0;padding-left:18px}.bullets li{margin:4px 0}.muted-list{color:var(--muted)}.split{grid-template-columns:3fr 2fr;gap:32px;display:grid}.flow{flex-wrap:wrap;align-items:center;row-gap:10px;margin:0;padding:0;list-style:none;display:flex}.flow li{align-items:center;display:flex}.flow-step{border:1px solid var(--line);background:var(--surface);white-space:nowrap;border-radius:10px;padding:8px 14px;font-size:14px;font-weight:500}.flow-arrow{color:var(--muted);margin:0 10px}.metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:10px;display:grid}.metric{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;padding:16px;display:flex}.metric-value{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:26px;font-weight:700}.metric-label{color:var(--muted);font-size:13px}.callout{background:var(--accent-soft);border-radius:var(--radius);border-top:none;margin:8px 0;padding:22px}.callout h2{color:var(--accent)}.next{border-top:1px solid var(--line);text-align:right;padding:28px 0 8px;font-weight:600}.notfound{text-align:center;padding:96px 0}.notfound h1{margin:0;font-size:64px}.footer{border-top:1px solid var(--line);color:var(--ink-soft);margin-top:40px;padding:28px 0 40px;font-size:13px}.footer p{margin:4px 0}@media (width<=720px){.nav{gap:14px}.nav a:nth-child(2){display:none}.hero{padding:48px 0 40px}.project-list,.two-col,.split{grid-template-columns:1fr}.facts,.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.card-head{flex-direction:column;gap:0}}
