/* Connected PC pages, using the approved cool-white detail direction. */
.site-header nav{gap:26px;margin-right:28px}.site-header nav a[aria-current=page]{text-decoration:underline;text-underline-offset:8px;text-decoration-thickness:1px}.hero-links{gap:22px;flex-wrap:wrap}.research-item a:hover{text-decoration:underline;text-underline-offset:5px}
.list-head{padding:24px var(--gutter) 42px;max-width:1440px;margin:auto}.list-head h1{margin:34px 0 20px}.list-description{font-size:20px;line-height:1.6;color:var(--muted)}
.area-directory{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px;padding:0 var(--gutter) 75px;max-width:1440px;margin:auto}.area-directory article{padding:27px 0 0;border-top:1px solid var(--line)}.area-directory h2{font-size:26px;margin-bottom:20px;word-break:keep-all}.area-directory p{font-size:18px;line-height:1.7;word-break:keep-all;color:var(--muted)}.area-directory .directory-keywords{font-size:14px;margin-top:20px}
.area-links{display:flex;gap:8px 18px;flex-wrap:wrap;align-items:center}.area-links a{font-size:14px;color:#405e70;min-height:36px;display:inline-flex;align-items:center;text-decoration:underline;text-underline-offset:4px}.other-research .area-links a{font-size:18px;min-height:44px}.reading-section .topic-line{font-size:16px;margin-top:20px}
.catalog-section{padding:0 var(--gutter) 70px;max-width:1440px;margin:auto}.publication-filters{display:flex;align-items:end;gap:18px;margin-bottom:22px;padding:24px;background:#f3f6f9;border-radius:4px}.publication-filters label{display:flex;flex-direction:column;gap:10px;font-size:14px}.publication-filters > label:first-child{flex:1;min-width:170px}.publication-filters input,.publication-filters select,.publication-filters button{border:1px solid #a6b9c4;border-radius:3px;background:white;color:#182e35;font:inherit;min-height:46px;padding:10px 12px}.publication-filters input{width:100%;font-size:17px}.publication-filters input:focus-visible{outline:3px solid #3b6e84;outline-offset:3px}.publication-filters button{cursor:pointer;font-size:15px}.publication-filters button:hover{background:#e7eff4}.catalog-count{font-size:15px;color:var(--muted);margin-bottom:20px}.catalog-paper{display:grid;grid-template-columns:55px minmax(0,1fr);gap:28px;padding:27px 0;border-top:1px solid var(--line)}.catalog-paper :is(h2,h3){font-size:24px;line-height:1.4;letter-spacing:-.02em;font-weight:460;text-wrap:pretty}.catalog-paper .paper-journal{font-size:14px;line-height:1.6;margin-bottom:10px;color:var(--muted)}.catalog-year{font-size:15px;padding-top:3px}.catalog-paper .catalog-authors{font-size:15px;line-height:1.7;margin-top:13px;color:var(--muted)}.catalog-paper .area-links{margin-top:7px}.catalog-end{border-top:1px solid var(--line);padding-top:25px;font-size:16px}.catalog-end a{display:inline-flex;min-height:44px;align-items:center;text-decoration:underline;text-underline-offset:5px}#catalog-empty{padding:40px 0;font-size:18px;color:var(--muted)}
.people-directory{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding:0 var(--gutter) 90px;max-width:1440px;margin:auto}.person-tile{display:grid;grid-template-columns:minmax(150px,.9fr) 1fr;gap:30px;align-items:end}.person-tile .photo-empty{max-height:330px}.person-tile :is(h2,h3){font-size:36px;margin:12px 0}.person-tile p{font-size:16px;line-height:1.6;color:var(--muted)}.researcher .affiliation{font-size:14px;line-height:1.6;margin-top:5px}.researcher{grid-template-columns:100px minmax(0,1fr)}.researcher .role{word-break:keep-all}.researchers{gap:28px}.publication-related{padding:38px var(--gutter) 45px;background:#f8fafc}.publication-related>h2{margin-bottom:20px}.publication-related>.area-links{margin-bottom:35px}.publication-related>.catalog-list{max-width:1000px}.publication-category .area-links a{font-size:15px}.publication-head .authors a{text-decoration:underline;text-decoration-color:#b3c5ce;text-underline-offset:4px}
.profile-head{padding:24px var(--gutter) 50px;max-width:1440px;margin:auto}.profile-intro{display:grid;grid-template-columns:250px 1fr;gap:60px;align-items:center;margin-top:32px}.profile-intro h1{margin:15px 0 10px}.profile-native{font-size:18px;color:var(--muted)}.profile-affiliation{font-size:20px;line-height:1.65;margin-top:25px}.profile-intro .area-links{margin-top:20px;max-width:720px}.profile-intro>.photo-empty{max-width:250px}.profile-page .reading-layout{border-top:1px solid var(--line)}.timeline{margin:0}.timeline>div{display:grid;grid-template-columns:125px minmax(0,1fr);gap:20px;padding:17px 0;border-top:1px solid var(--line);font-size:18px;line-height:1.65}.timeline dt{color:var(--muted);font-size:16px;font-variant-numeric:tabular-nums}.timeline dd{margin:0;word-break:keep-all}.profile-page .toc a{font-size:15px}.profile-page .reading-section h2{margin-bottom:22px}.profile-page .reading-body{min-width:0}
.about-intro{padding:35px var(--gutter) 55px;background:#f8fafc}.about-intro h2{font-size:40px;line-height:1.3;margin-bottom:24px}.about-intro p{font-size:21px;color:var(--muted);line-height:1.7}.about-links{padding:38px var(--gutter) 70px;display:flex;gap:55px;flex-wrap:wrap}.about-links a{font-size:24px;min-height:48px;display:flex;align-items:center}.contact-layout{padding:15px var(--gutter) 60px;display:grid;grid-template-columns:1fr 1fr;gap:70px}.contact-layout h2{font-size:34px;margin-bottom:22px}.contact-layout p{font-size:20px;line-height:1.8;color:var(--muted)}.contact-details{margin:0}.contact-details>div{display:grid;grid-template-columns:80px 1fr;gap:30px;border-top:1px solid var(--line);padding:20px 0}.contact-details dt{font-size:16px;color:var(--muted)}.contact-details dd{margin:0;font-size:22px;overflow-wrap:anywhere}.contact-source{padding:0 var(--gutter) 65px;font-size:15px}.contact-source a{text-decoration:underline;text-underline-offset:5px}
.connected-footer{background:#f8fafc;border-top:1px solid #d7e0e5;padding:35px var(--gutter);display:flex;justify-content:space-between;gap:35px;align-items:center}.connected-footer p{font-size:13px;color:var(--muted);margin-top:12px}.connected-footer nav{display:flex;gap:25px;flex-wrap:wrap}.connected-footer nav a{display:flex;align-items:center;min-height:44px;font-size:15px}
@media(max-width:1100px){.profile-intro{gap:35px}.people-directory{gap:35px}.person-tile{grid-template-columns:1fr;gap:25px}.person-tile .photo-empty{max-width:230px}.publication-filters{flex-wrap:wrap}.area-directory{gap:26px}.area-directory h2{font-size:23px}.connected-footer{align-items:start;flex-direction:column}}
@media(max-width:760px){.area-directory{grid-template-columns:1fr}.profile-intro{grid-template-columns:1fr}.people-directory{grid-template-columns:1fr}.contact-layout{grid-template-columns:1fr}.timeline>div{grid-template-columns:100px 1fr}.publication-filters label{max-width:100%}.publication-filters select{max-width:100%}.catalog-paper{gap:15px;grid-template-columns:45px minmax(0,1fr)}.connected-footer nav{gap:15px}.detail-hero-copy{width:80%}}

.catalog-paper :is(h2,h3)>a{display:block}.catalog-paper :is(h2,h3)>a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}

/* Editorial placeholders requested for the review prototype. */
.photo-empty{display:grid;place-items:center;color:#60727e;font-size:16px;font-weight:400}.photo-empty>span{line-height:1;letter-spacing:0}

/* PC navigation aligns to the right edge, including over the hero artwork. */
@media(min-width:1001px){
 .site-header{align-items:center;min-height:116px}
 .site-header .wordmark,.site-header .wordmark span{font-size:32px;line-height:1;letter-spacing:-1.4px}
 .site-header nav{align-items:center;margin-left:auto}
 .site-header nav a{font-size:18px;font-weight:550;letter-spacing:normal;line-height:24px;min-height:44px;padding:10px 0;white-space:nowrap}
 .site-header .language{align-items:center;font-size:18px;line-height:24px}
 .site-header .language button{font-size:18px;line-height:24px;min-height:44px;padding:10px 4px}
 .site-header .brand-pair{align-items:center}
 body:not(.detail-page)>.site-header nav a{font-size:18px;font-weight:550;letter-spacing:normal;color:#18353e;white-space:nowrap}
 body:not(.detail-page)>.site-header .language{font-size:18px}
 body:not(.detail-page)>.site-header .language button{color:#334f59}
 body:not(.detail-page)>.site-header .language [aria-pressed=true]{color:#18353e}
}

/* Original university assets stay separate from the lab wordmark. */
.brand-pair{display:flex;align-items:center;gap:16px;flex:none}
.university-mark{display:flex;align-items:center;min-height:44px;color:var(--ink)}
/* The transparent PNG's symbol occupies x=0..78; the official wordmark begins at x=97.
   Mask only that symbol, preserving its proportions, and match CAMP's ink color. */
.university-symbol{display:block;width:53px;height:29px;background:currentColor;-webkit-mask:url('./assets/uos-logo-white.png') left center / 170px 28.6667px no-repeat;mask:url('./assets/uos-logo-white.png') left center / 170px 28.6667px no-repeat}
/* University symbol and small caption form one compact mark beside CAMP Lab. */
.site-header .brand-pair{align-items:center;gap:12px}
/* Official stacked signatures, exported from UOS Signature.pdf pages 5/6.
   Original paths/proportions are preserved; mask supplies the surrounding ink. */
.university-identity{width:84px;flex:none;justify-content:center}
.university-official{display:block;width:100%;height:52px;background:currentColor;-webkit-mask:url('./assets/uos-signature-ko.svg') center / 75.77772% auto no-repeat;mask:url('./assets/uos-signature-ko.svg') center / 75.77772% auto no-repeat}
html[lang=en] .university-official{-webkit-mask-image:url('./assets/uos-signature-en.svg');mask-image:url('./assets/uos-signature-en.svg');-webkit-mask-size:contain;mask-size:contain}
.footer-lockup .university-identity{width:96px}
.footer-lockup .university-official{height:59px}
@media(min-width:1001px){.site-header .wordmark,.site-header .wordmark span{font-size:30px}}
.university-signature{display:inline-flex;align-items:center;min-height:44px;margin-top:8px}
.university-signature img{display:block;width:210px;height:auto}
.site-footer>.admin-link{color:#d1dfdc}

/* JS prepares only off-screen entries; without JS every section remains visible. */
[data-reveal=pending]{opacity:0;transform:translateY(28px)}
@media(prefers-reduced-motion:reduce){[data-reveal]{opacity:1!important;transform:none!important}}
html[data-keyboard=true] [data-reveal]{opacity:1!important;transform:none!important}

/* Shared line-breaking rules: preserve Korean words and keep short titles balanced. */
body:not(.detail-page)>.site-header nav{justify-content:flex-end}
h1,h2,h3{word-break:keep-all;overflow-wrap:break-word;text-wrap:balance}
p,dd{word-break:keep-all;overflow-wrap:break-word;text-wrap:pretty}
html[lang=en] :is(h1,h2,h3,p,dd),[lang=en]{word-break:normal}
.paper h3,.catalog-paper :is(h2,h3){text-wrap:pretty;word-break:normal;overflow-wrap:break-word}
.paper-outbound{display:inline;white-space:nowrap;font-size:.75em;color:var(--muted)}
.paper{grid-template-columns:65px minmax(0,1fr)}
.paper-authors,.catalog-authors{line-height:1.7}
.paper-authors a,.catalog-authors a{white-space:nowrap}
#hero-title{white-space:normal;font-size:clamp(46px,4.35vw,68px);line-height:1.2;text-wrap:balance}
html[lang=en] #hero-title{font-size:clamp(44px,4.1vw,64px)}
.hero-copy{width:43%;max-width:620px}
.footer-main{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.footer-main .contact-info{max-width:none;justify-self:start}
.footer-bottom{align-items:center;gap:32px;margin-top:52px}
.footer-lockup{display:flex;align-items:center;gap:18px}
.footer-lockup .university-mark{color:inherit;flex:none}
.footer-lockup .wordmark{display:block;white-space:nowrap;line-height:1}
.footer-lab{min-width:0}
.footer-lab p{margin:6px 0 0;font-size:12px;line-height:1.4;color:inherit;text-wrap:pretty}
.footer-identity{flex:none;max-width:100%}

.site-footer .footer-identity{color:#d1dfdc}
.site-footer .footer-lockup{color:#eff9f5}

.footer-affiliation{display:flex;justify-content:flex-end;align-items:center;gap:32px;margin-top:12px}
.footer-affiliation:empty{display:none}
.footer-affiliation .university-signature{margin:0;min-height:44px}
.footer-affiliation .university-signature img{width:190px}
.footer-affiliation .admin-link{color:#d1dfdc;display:inline-flex;min-height:44px;align-items:center}
@media(min-width:1001px) and (max-width:1100px){.site-header nav{gap:17px;margin-right:10px}}
@media(max-width:1000px){.hero-copy{width:54%}}
@media(max-width:760px){.footer-main{grid-template-columns:1fr}.footer-brand{gap:12px}.footer-bottom{align-items:start}}

/* Prose flows naturally in both languages; authored hero heading breaks stay scoped. */
p[data-ko]{white-space:normal}
#hero-title{white-space:pre-line}
.hero-description{line-height:1.75;text-wrap:pretty}
/* Longer translations must leave room for the bottom scroll link. */
@media(min-width:1001px){#home.hero{height:auto;min-height:max(620px,100svh);padding-bottom:104px}}
@media(max-width:760px){.footer-identity{flex:initial;min-width:0}}

/* Native selects keep their keyboard behavior; reserve a separate chevron lane. */
.publication-filters select,#year-filter{
 appearance:none;padding-right:46px;padding-left:14px;
 background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='10' viewBox='0 0 14 10'%3E%3Cpath d='m2 3 5 5 5-5' fill='none' stroke='%234e626a' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
 background-repeat:no-repeat;background-position:right 16px center;background-size:14px 10px;
}
@media(forced-colors:active){.publication-filters select,#year-filter{appearance:auto;background-image:none}}
/* Explicit semantic groups stay together, but may wrap if text enlargement needs it. */
.keep-phrase{display:inline-block;width:max-content;max-width:100%;white-space:normal;vertical-align:bottom}
/* Restrained feedback shared by home and interior pages. */
:root{--feedback-ease:cubic-bezier(.23,1,.32,1)}
:is(.text-link,.area-links a,.people-group-nav a,.catalog-end a,.identity-contact a){text-decoration-thickness:1px;text-underline-offset:5px}
:is(.text-link,.area-links a,.people-group-nav a,.catalog-end a,.identity-contact a,.person-portrait,.primary-link,.publication-filters button){transition:transform 160ms var(--feedback-ease)}
.connected-footer nav a{position:relative}
.connected-footer nav a::after{content:none}
@media(hover:hover) and (pointer:fine){

 :is(.text-link,.area-links a,.catalog-end a,.identity-contact a):hover{transform:translateX(3px)}
 .person-portrait:hover{transform:translateY(-2px)}
 .paper-outbound{display:inline-block;transition:transform 180ms var(--feedback-ease)}
 a:hover>.paper-outbound{transform:translate(2px,-2px)}
}
:is(.text-link,.area-links a,.people-group-nav a,.catalog-end a,.identity-contact a,.primary-link,.publication-filters button):active{transform:translateY(1px);transition-duration:100ms}
html[data-keyboard=true] :is(.text-link,.area-links a,.people-group-nav a,.catalog-end a,.identity-contact a,.person-portrait,.primary-link,.publication-filters button,.area-card,.area-arrow,.paper-outbound){transform:none!important;transition:none!important}
html[data-keyboard=true] .connected-footer nav a::after{transition:none}
@media(prefers-reduced-motion:reduce){
 :is(.text-link,.area-links a,.people-group-nav a,.catalog-end a,.identity-contact a,.person-portrait,.primary-link,.publication-filters button,.area-card,.area-arrow,.paper-outbound){transform:none!important;transition:none!important}
 .connected-footer nav a::after{transition:none}
}
