@font-face{font-family:Noto Sans KR;src:url(/fonts/NotoSansKR-Regular.otf) format("opentype");font-weight:400;font-display:swap}@font-face{font-family:Noto Sans KR;src:url(/fonts/NotoSansKR-Bold.otf) format("opentype");font-weight:700;font-display:swap}:root{color:#242424;background:#fbfbfa;font-family:Noto Sans KR,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--ink: #242424;--muted: #707070;--line: #dededb;--link: #1b57a6;--page: 880px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh}a{color:inherit;text-decoration:none}button{color:inherit;font:inherit}::selection{background:#dbe8f8}.site-shell{min-height:100vh}.site-shell main{min-height:calc(100vh - 190px)}.site-header{width:min(calc(100% - 48px),var(--page));min-height:72px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:32px;border-bottom:1px solid var(--line)}.wordmark{font-size:15px;font-weight:700;white-space:nowrap}.site-nav{display:flex;align-items:center;gap:22px;font-size:13px;color:var(--muted)}.site-nav a:hover,.site-nav a.active{color:var(--ink);text-decoration:underline;text-underline-offset:5px}.language-toggle{padding:0;border:0;background:none;color:var(--muted);cursor:pointer}.language-toggle:hover{color:var(--ink);text-decoration:underline;text-underline-offset:5px}.document{width:min(calc(100% - 48px),var(--page));margin:0 auto}.home-page{padding:96px 0 120px}.intro{max-width:760px}.intro h1,.page-intro h1{margin:0;font-size:clamp(34px,5vw,52px);line-height:1.28;letter-spacing:-.035em;word-break:keep-all}.intro-copy{max-width:680px;margin-top:34px}.intro-copy p,.page-intro>p{margin:0 0 14px;font-size:16px;line-height:1.85;word-break:keep-all}.text-link{display:inline-block;margin-top:8px;color:var(--link);text-decoration:underline;text-underline-offset:4px}.text-link:hover{color:#0b3d7a}.text-link.small{font-size:13px}.content-section{max-width:760px;margin-top:104px}.content-section>h2,.section-title-row h2{margin:0;font-size:22px;line-height:1.4;letter-spacing:-.02em}.section-title-row{display:flex;align-items:baseline;justify-content:space-between;gap:24px}.section-intro{max-width:640px;margin:14px 0 30px;color:var(--muted);font-size:14px;line-height:1.75;word-break:keep-all}.experience-list{margin-top:26px;border-top:1px solid var(--line)}.experience-item{display:grid;grid-template-columns:110px 1fr;gap:28px;padding:26px 0;border-bottom:1px solid var(--line)}.experience-item time{padding-top:3px;color:var(--muted);font-size:12px;white-space:nowrap}.experience-item h3{margin:0;font-size:17px}.experience-item p{margin:8px 0 0;font-size:14px;line-height:1.7;word-break:keep-all}.experience-item .role{margin-top:4px;color:var(--muted);font-size:12px}.project-list{border-top:1px solid var(--line)}.project-list>a{display:block;padding:24px 0;border-bottom:1px solid var(--line)}.project-list>a:hover h3{color:var(--link);text-decoration:underline;text-underline-offset:4px}.project-heading{display:flex;align-items:baseline;justify-content:space-between;gap:24px}.project-heading h3{margin:0;font-size:17px}.project-heading span{color:var(--muted);font-size:11px;white-space:nowrap}.project-list p{margin:9px 0 0;color:#4b4b4b;font-size:14px;line-height:1.7;word-break:keep-all}.film-note>p{max-width:650px;margin:18px 0 26px;font-size:14px;line-height:1.8;word-break:keep-all}.film-note blockquote{margin:0;padding:2px 0 2px 18px;border-left:2px solid var(--line)}.film-note blockquote p{margin:0;font-size:17px;line-height:1.65}.film-note cite{display:block;margin-top:9px;color:var(--muted);font-size:12px;font-style:normal}.work-page{padding:86px 0 120px}.page-intro{max-width:720px;margin-bottom:68px}.page-intro h1{font-size:clamp(34px,5vw,46px)}.page-intro>p{margin-top:26px}.page-intro .quiet-note{margin-top:16px;color:var(--muted);font-size:13px}.archive-list{max-width:760px;border-top:1px solid var(--line)}.archive-item{display:grid;grid-template-columns:78px 1fr;gap:30px;padding:34px 0 36px;border-bottom:1px solid var(--line)}.archive-item time{padding-top:5px;color:var(--muted);font-size:12px}.archive-item h2{margin:0;font-size:21px;letter-spacing:-.02em}.archive-item h2 a:hover{color:var(--link);text-decoration:underline;text-underline-offset:4px}.archive-item p{margin:12px 0 0;max-width:620px;font-size:14px;line-height:1.75;word-break:keep-all}.archive-item .stack{margin-top:5px;color:var(--muted);font-size:11px}.archive-item .text-link{display:inline-block;margin-top:14px}.site-footer{width:min(calc(100% - 48px),var(--page));min-height:118px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid var(--line);color:var(--muted);font-size:12px}.site-footer p{margin:0}.footer-links{display:flex;gap:18px;color:var(--ink)}.footer-links a:hover{color:var(--link);text-decoration:underline;text-underline-offset:4px}.resume-page{background:#292929;min-height:calc(100vh - 72px)}.resume-toolbar{min-height:66px;padding:12px max(24px,calc((100vw - var(--page)) / 2));display:flex;justify-content:space-between;align-items:center;gap:20px;color:#f5f5f3;border-bottom:1px solid #454545}.resume-toolbar p{margin:0;color:#b4b4b0;font-size:11px}.resume-actions{display:flex;gap:16px}.resume-actions a{color:#f5f5f3;font-size:11px;text-decoration:underline;text-underline-offset:4px}.resume-actions a:hover{color:#fff}.resume-viewer{display:block;width:100%;height:calc(100vh - 138px);border:0;background:#3b3b3b}.resume-loading{min-height:calc(100vh - 72px);display:grid;place-items:center;background:#292929;color:#f5f5f3}.loading-copy{text-align:center}.loading-copy p{font-size:13px}.loading-reel{width:28px;height:28px;margin:0 auto 16px;border:2px solid #555;border-top-color:#ddd;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 680px){.site-header,.document,.site-footer{width:min(calc(100% - 32px),var(--page))}.site-header{min-height:64px;align-items:flex-start;padding:18px 0 16px}.wordmark{font-size:14px}.site-nav{max-width:225px;justify-content:flex-end;flex-wrap:wrap;gap:10px 16px;font-size:11px}.home-page{padding:64px 0 88px}.intro h1,.page-intro h1{font-size:34px;line-height:1.35}.intro-copy{margin-top:28px}.intro-copy p,.page-intro>p{font-size:15px}.content-section{margin-top:76px}.experience-item{grid-template-columns:1fr;gap:10px;padding:24px 0}.experience-item time{padding:0}.section-title-row{align-items:flex-end}.project-heading{display:block}.project-heading span{display:block;margin-top:6px}.film-note blockquote p{font-size:15px}.work-page{padding:60px 0 88px}.page-intro{margin-bottom:48px}.archive-item{grid-template-columns:1fr;gap:10px;padding:28px 0 30px}.archive-item time{padding:0}.site-footer{min-height:140px;padding:28px 0;align-items:flex-start;flex-direction:column;justify-content:center;gap:14px}.resume-toolbar{align-items:flex-start;flex-direction:column}.resume-viewer{height:calc(100vh - 194px)}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important}}
