@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&family=Noto+Sans+KR:wght@400;500;600&display=swap');
:root{color-scheme:light;--paper:#fff;--ink:#142a36;--muted:#576972;--accent:#087a70;--line:#dce4e6;--soft:#f3f7f7;font-family:'DM Sans','Noto Sans KR',sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{margin:0}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid var(--accent);outline-offset:6px}img{max-width:100%;display:block}p{line-height:1.75}h1,h2,h3{font-family:Manrope,'Noto Sans KR',sans-serif}h1,h2,h3,p{margin-top:0}.wrap{max-width:1320px;margin:auto;padding-left:56px;padding-right:56px}.site-header{display:flex;justify-content:space-between;align-items:center;min-height:110px;border-bottom:1px solid var(--line);gap:24px}.wordmark{font-size:25px;font-weight:800;letter-spacing:-1px}.brand-dot{color:var(--accent)}nav{display:flex;gap:34px;font-size:14px;font-weight:600}nav a:hover,.text-link:hover{color:var(--accent)}.intro{padding:94px 0 88px;display:grid;grid-template-columns:1fr 1.1fr;gap:70px;border-bottom:1px solid var(--line)}.eyebrow{font-size:12px;letter-spacing:.14em;font-weight:700;color:var(--accent);margin-bottom:26px}.status-dot{display:inline-block;width:7px;height:7px;background:var(--accent);border-radius:50%;margin-right:9px}.intro h1{font-size:clamp(48px,6.3vw,82px);line-height:1.08;letter-spacing:-.065em;font-weight:500;margin-bottom:20px}.affiliation{font-size:16px;color:var(--muted)}.intro-copy h2{font-size:clamp(25px,2.7vw,36px);line-height:1.35;letter-spacing:-.035em;margin:0 0 21px;font-weight:500}.intro-copy p{font-size:17px;color:var(--muted);max-width:540px;margin-bottom:24px}.intro-copy strong{font-weight:500;color:var(--ink)}.text-link{font-size:14px;font-weight:600;display:inline-flex;gap:24px;align-items:center}.section{padding:65px 0 10px}.section-heading{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:35px}.section-heading .eyebrow{margin-bottom:12px}.section-heading h2{font-size:34px;letter-spacing:-.045em;font-weight:500;line-height:1.2;margin:0}.section-heading>p{color:var(--muted);font-size:14px;line-height:1.65;margin:0}.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.card{min-width:0}.card-link{height:100%;display:flex;flex-direction:column}.card-image{position:relative;overflow:hidden;background:#102632;aspect-ratio:8/5}.card-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.image-arrow{position:absolute;right:14px;bottom:14px;background:rgba(255,255,255,.94);color:var(--ink);width:34px;height:34px;display:grid;place-items:center;border-radius:50%;font-size:21px;transition:background .2s,color .2s}.card-link:hover img{transform:scale(1.035)}.card-link:hover .image-arrow{background:var(--accent);color:white}.card-meta{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:12px;letter-spacing:.07em;margin:21px 0 12px}.card h3{font-size:23px;line-height:1.3;letter-spacing:-.035em;font-weight:600;margin-bottom:13px}.card p{font-size:16px;line-height:1.75;color:var(--muted);margin-bottom:20px}.read-link{margin-top:auto;font-size:14px;font-weight:600;color:var(--accent);display:flex;gap:20px;padding-bottom:22px;border-bottom:1px solid var(--line)}.series-intro{display:flex;align-items:center;gap:28px;padding:22px 24px;background:var(--soft);margin-bottom:30px;border-left:3px solid var(--accent)}.series-label{font-size:12px;letter-spacing:.1em;font-weight:700;white-space:nowrap}.series-intro p{font-size:14px;color:var(--muted);margin:0}.series-count{margin-left:auto;white-space:nowrap;font-size:18px;color:var(--accent)}.notes-grid h3{font-size:22px}.site-footer{margin-top:90px;min-height:110px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:24px;font-size:14px;color:var(--muted)}.skip-link{position:fixed;top:-100px;left:20px;background:white;padding:15px;z-index:20}.skip-link:focus{top:10px}.detail{max-width:850px;margin:65px auto 0}.back-link{color:var(--accent);font-size:14px}.detail-header{margin-top:40px}.detail-header .eyebrow{margin-bottom:15px}.detail h1{font-size:clamp(36px,5vw,60px);letter-spacing:-.055em;line-height:1.15;margin-bottom:24px}.detail .lead{font-size:21px;color:var(--muted)}.detail-cover{width:100%;aspect-ratio:8/5;object-fit:cover;margin:35px 0 12px}.caption{font-size:12px;color:var(--muted);margin-bottom:40px}.prose{max-width:720px;margin:0 auto;font-size:17px;line-height:1.85}.prose h2{font-size:26px;letter-spacing:-.03em;margin-top:40px}.prose a{color:var(--accent);text-decoration:underline;text-underline-offset:4px}.prose li{margin-bottom:12px}.detail-next{margin-top:50px;padding-top:25px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:25px;font-size:15px;color:var(--accent)}
@media(max-width:1000px){.wrap{padding-left:32px;padding-right:32px}.intro{gap:35px;padding:65px 0}.card-grid{gap:22px}.card h3{font-size:21px}.section-heading h2{font-size:30px}}
@media(max-width:700px){.wrap{padding-left:22px;padding-right:22px}.site-header{min-height:95px;align-items:flex-start;flex-direction:column;justify-content:center;gap:14px;padding-top:20px;padding-bottom:20px}nav{gap:24px;flex-wrap:wrap}.intro{grid-template-columns:1fr;gap:28px;padding:48px 0}.intro h1{font-size:62px}.intro .eyebrow{font-size:11px}.affiliation{margin-bottom:0}.intro-copy h2{font-size:28px}.section{padding-top:45px}.section-heading{align-items:start;flex-direction:column;gap:16px}.section-heading>p br{display:none}.card-grid{grid-template-columns:1fr;gap:34px}.card h3{font-size:25px}.card-meta{margin-top:18px}.series-intro{gap:14px;align-items:start;flex-direction:column}.series-count{display:none}.site-footer{margin-top:55px;padding-top:26px;padding-bottom:26px;flex-direction:column;align-items:start;gap:10px}.detail{margin-top:35px}.detail .lead{font-size:19px}.detail-next{flex-direction:column}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
/* Publication cards and bilingual paper summaries */
.publication-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px}.publication-card .card-image{background:#fff;border:1px solid var(--line);padding:18px}.publication-card .card-image img{object-fit:contain}.publication-card .card-image .image-arrow{box-shadow:0 0 0 1px var(--line)}.publication-card h3{font-size:27px;max-width:540px}.card-korean{display:block;font-size:14px;margin-top:9px;color:var(--muted)}.publication{max-width:960px}.publication h1{font-size:clamp(32px,4.3vw,52px);line-height:1.2;overflow-wrap:anywhere}.paper-authors{font-size:16px;color:var(--ink);line-height:1.8;margin-bottom:6px}.paper-contribution{font-size:13px;color:var(--muted)}.paper-links{display:flex;gap:12px;flex-wrap:wrap;margin:25px 0 30px}.paper-links a{font-size:14px;font-weight:600;border:1px solid var(--line);padding:10px 20px;border-radius:4px}.paper-links a:first-child{background:var(--ink);color:white;border-color:var(--ink)}.paper-links a:hover{border-color:var(--accent)}.language-nav{display:flex;gap:25px;flex-wrap:wrap;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:17px 0;font-size:14px}.language-nav a{color:var(--accent)}.paper-figure{margin:36px 0}.paper-figure img{width:100%;height:auto;object-fit:contain;background:white;border:1px solid var(--line);padding:14px}.paper-figure a{display:block}.paper-figure figcaption{font-size:14px;line-height:1.75;color:var(--muted);margin-top:12px}.paper-figure figcaption a{display:inline;color:var(--accent);text-decoration:underline;text-underline-offset:3px}.paper-figure figcaption [lang]{display:block}.publication-prose{max-width:850px}.publication-prose>section{margin-top:48px}.publication-prose section h2{padding-top:12px;border-top:1px solid var(--line)}.publication-prose h3{font-size:20px;margin-top:28px}.publication-prose [lang="ko"]{word-break:keep-all;overflow-wrap:break-word}.paper-panels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.paper-panel-label{display:block;font-size:13px;text-align:center;color:var(--muted);margin-top:8px}.paper-source{font-size:14px;padding-top:22px;border-top:1px solid var(--line)}.paper-equation{padding:18px;background:var(--soft);font-size:18px;line-height:1.8;overflow-x:auto;text-align:center}.publication .paper-hero img{max-height:590px}.publication-card .card-link:hover img{transform:none}
@media(max-width:700px){.publication-grid{grid-template-columns:1fr;gap:34px}.publication-card h3{font-size:25px}.paper-panels{grid-template-columns:1fr}.paper-figure img{padding:8px}.language-nav{gap:18px}.publication h1{font-size:32px}}
/* Compact venue labels and a distinct award treatment. */
.publication-meta{align-items:baseline;letter-spacing:0;gap:12px;flex-wrap:wrap}.venue-badge{display:inline-block;font-family:Manrope,'Noto Sans KR',sans-serif;font-size:16px;font-weight:500;line-height:1.5;letter-spacing:-.025em;color:var(--ink);font-variant-numeric:lining-nums}.publication-meta>span:last-child{font-size:12px;letter-spacing:0;color:var(--muted)}.award-badge{display:inline-flex;align-items:center;align-self:flex-start;gap:8px;max-width:100%;margin:0 0 14px;padding:8px 11px;color:#a52a35;background:#fff1f2;border:1px solid #efc4c9;border-radius:4px;font-size:13px;font-weight:600;line-height:1.5;letter-spacing:0}.award-badge>span{font-size:18px;line-height:1;flex-shrink:0}.award-card .card-image{border-color:#ddb2b8;box-shadow:inset 0 3px 0 #a52a35}.award-card .venue-badge{color:#a52a35}.award-card .read-link{color:#a52a35;border-color:#efc4c9}.detail-award{margin-top:-10px;margin-bottom:24px}.detail-award:hover{background:#ffe5e8}.version-note{font-size:14px;line-height:1.8;color:var(--muted);padding:16px 20px;background:var(--soft);border-left:3px solid #8fa7ad;margin:24px 0}.version-note a{color:var(--accent);text-decoration:underline}.publication-grid{row-gap:48px}
/* A single entry per review series, with chapters on its own page. */
.review-card{border:1px solid var(--line);background:var(--paper)}.review-card .card-link{display:grid;grid-template-columns:1.1fr 1fr;align-items:center}.review-card .card-image{aspect-ratio:auto;min-height:260px;height:100%;background:#fff;padding:25px;display:flex;align-items:center}.review-card .card-image img{height:auto;object-fit:contain}.review-card .card-link:hover img{transform:none}.review-card-copy{padding:28px 32px;border-left:1px solid var(--line)}.review-card-copy .card-meta{margin-top:0}.review-card h3{font-size:30px}.review-card .review-reference{font-size:14px;color:var(--muted);margin-bottom:20px}.review-card .read-link{padding-bottom:0;border:0}.review-image-credit{font-size:12px;color:var(--muted);margin-top:12px}.review-image-credit a{color:var(--accent);text-decoration:underline}.review-detail{max-width:960px}.review-byline{font-size:14px;color:var(--muted)}.review-chapters{list-style:none;padding:0;margin:30px 0}.review-chapters li{border-top:1px solid var(--line)}.review-chapters li:last-child{border-bottom:1px solid var(--line)}.review-chapters a{display:grid;grid-template-columns:48px 1fr 30px;gap:22px;padding:28px 10px;align-items:start}.review-chapters a:hover{background:var(--soft)}.chapter-number{font-size:24px;color:var(--accent)}.review-chapters .eyebrow{margin:0 0 8px}.review-chapters h2{font-size:24px;letter-spacing:-.035em;margin:0 0 12px}.review-chapters p:last-child{font-size:16px;color:var(--muted);margin:0;word-break:keep-all}.chapter-arrow{font-size:25px;color:var(--accent)}
@media(max-width:700px){.review-card .card-link{grid-template-columns:1fr}.review-card .card-image{min-height:0;padding:25px 15px}.review-card-copy{border-left:0;border-top:1px solid var(--line);padding:24px}.review-card h3{font-size:26px}.review-chapters a{grid-template-columns:30px 1fr 20px;gap:13px;padding:24px 0}.review-chapters h2{font-size:21px}}

.paper-venue{font-family:Manrope,'Noto Sans KR',sans-serif;font-size:17px;font-weight:500;line-height:1.5;letter-spacing:-.025em;color:var(--muted);margin-bottom:20px}

.intro.intro-minimal{display:block;padding:64px 0 60px}.intro-minimal .affiliation{margin-bottom:0}@media(max-width:700px){.intro.intro-minimal{padding:42px 0}}
