/* Light academic directory with a fixed, information-bearing research rail. */
:root {
  --ink:#18263a; --muted:#66758a; --line:#d9e1ea; --paper:#f5f7f9; --card:#ffffff;
  --blue:#2364d8; --coral:#e75d62; --lime:#c9db54; --navy:#17263b; --rail:390px;
  --shadow:0 12px 30px rgba(25,45,72,.08); --radius:12px;
  font-family:"Noto Sans SC","Microsoft YaHei",Arial,sans-serif;
}
* { scrollbar-color:#aebdce transparent; scrollbar-width:thin; }
::selection { background:#dbe7fb; color:var(--ink); }
body { padding-right:var(--rail); background:var(--paper); color:var(--ink); }
body::before { display:none; }
.site-header { right:var(--rail); height:76px; padding:0 clamp(24px,4.5vw,72px); border:0; border-bottom:1px solid var(--line); background:rgba(255,255,255,.96); box-shadow:none; }
.brand { gap:11px; }.brand-mark { width:36px; height:36px; border-radius:9px; background:var(--blue); color:#fff; box-shadow:none; font:700 15px/1 "Noto Serif SC",serif; }.brand strong { font:600 18px/1 "Noto Serif SC","Songti SC",serif; letter-spacing:.04em; }.brand small { color:var(--muted); letter-spacing:.04em; }
nav { gap:26px; color:var(--muted); } nav a { padding:27px 0 24px; font-weight:600; } nav a.active { color:var(--ink); border-color:var(--blue); }
.page-shell { max-width:1260px; margin:0 auto; padding:68px clamp(24px,4.5vw,72px) 100px; }
.hero { max-width:none; margin:0 0 58px; }.hero-content { max-width:820px; }.hero-content>.eyebrow { display:none; }.hero h1 { max-width:720px; margin:0 0 18px; font:600 clamp(42px,5.2vw,70px)/1.08 "Noto Serif SC","Songti SC",serif; letter-spacing:-.025em; }.hero h1 em { color:var(--blue); font-style:normal; }.hero h1::after { content:""; display:inline-block; width:36px; height:5px; margin-left:16px; vertical-align:.16em; background:var(--coral); }.hero-copy { max-width:600px; margin:0 0 27px; color:var(--muted); font-size:15px; }.search-box { max-width:760px; height:58px; border:1px solid #cbd5e1; border-radius:10px; background:#fff; box-shadow:0 9px 24px rgba(35,65,101,.07); }.search-box span { color:var(--blue); }.search-box:focus-within { border-color:var(--blue); box-shadow:0 0 0 3px rgba(35,100,216,.12); } kbd { border-color:#d5dee8; color:var(--muted); }

/* Fixed editorial poster: full-bleed CCUS geological artwork. */
@font-face { font-family:"Mona Sans"; src:url("./assets/fonts/MonaSansVF.woff2") format("woff2"); font-weight:200 900; font-display:swap; }
.hero-poster { position:fixed; z-index:5; inset:0 0 0 auto; width:var(--rail); min-height:100vh; overflow:hidden; isolation:isolate; color:#fff; background:#101820; box-shadow:-14px 0 38px rgba(21,37,58,.18); font-family:"Mona Sans","Noto Sans SC","Microsoft YaHei",sans-serif; }
.poster-art { position:absolute; z-index:-2; inset:0; width:100%; height:100%; display:block; object-fit:cover; object-position:50% 50%; }
.hero-poster::after { content:""; position:absolute; z-index:-1; inset:0; background:linear-gradient(180deg,rgba(7,16,25,.78) 0,rgba(7,16,25,.13) 24%,rgba(7,16,25,0) 67%,rgba(7,16,25,.2) 100%); pointer-events:none; }
.poster-brand { position:absolute; top:30px; left:28px; right:26px; display:flex; flex-direction:column; align-items:flex-start; padding-top:14px; border-top:1px solid rgba(255,255,255,.67); text-shadow:0 2px 18px rgba(0,0,0,.35); }
.poster-brand span { margin-bottom:19px; color:#d9ff48; font-size:9px; font-weight:700; letter-spacing:.22em; }
.poster-brand strong { font-size:38px; font-weight:760; line-height:1; letter-spacing:-.045em; }
.poster-brand small { margin-top:8px; color:rgba(255,255,255,.84); font-size:12px; font-weight:520; letter-spacing:.08em; }
.poster-signature { position:absolute; left:28px; right:25px; bottom:24px; display:flex; justify-content:space-between; gap:9px; padding-top:12px; border-top:1px solid rgba(255,255,255,.58); color:#fff; font-size:8px; font-weight:680; letter-spacing:.13em; text-shadow:0 2px 12px rgba(0,0,0,.48); }

.workspace-grid { grid-template-columns:255px minmax(0,1fr); gap:38px; }.filter-panel { position:sticky; top:100px; align-self:start; max-height:calc(100vh - 120px); overflow-y:auto; overscroll-behavior:contain; scrollbar-gutter:stable; padding:20px; border:1px solid var(--line); border-radius:var(--radius); background:#fff; box-shadow:none; }.panel-heading h2,.results-heading h2,.private-progress h2 { font:600 24px/1.2 "Noto Serif SC","Songti SC",serif; letter-spacing:0; }.eyebrow { color:#4f806e; letter-spacing:.11em; }.text-button { color:var(--blue); }.filter-group { border-color:#e4e9ef; }.summary-icon { width:7px; height:7px; border:1px solid var(--blue); transform:rotate(45deg); }.filter-option { color:#53647a; }.filter-option input { accent-color:var(--blue); }.filter-chip,.tag { border:1px solid #c7d7ee; border-radius:5px; background:#f4f7fb; color:#315f9e; }.results-heading { border-color:#ccd8e7; }.results-heading select { border-color:#ccd6e1; border-radius:7px; background:#fff; color:var(--ink); }
.advisor-list { display:grid; grid-template-columns:1fr; gap:12px; }.advisor-card { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(230px,.75fr); grid-template-areas:"top paper" "directions paper" "links footer"; min-height:218px; padding:22px 24px; border:1px solid var(--line); border-radius:var(--radius); background:#fff; box-shadow:none; transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease; }.advisor-card:nth-child(n) { border-left:1px solid var(--line); }.advisor-card:hover { transform:translateY(-2px); border-color:#bdcbdc; box-shadow:var(--shadow); }.card-top { grid-area:top; display:grid; grid-template-columns:96px minmax(0,1fr) auto; gap:16px; align-items:start; }.advisor-avatar { width:96px; height:116px; overflow:hidden; display:grid; place-items:center; border-radius:8px; background:#dfe7ef; color:var(--blue); font:600 30px/1 "Noto Serif SC",serif; }.advisor-avatar-image { width:100%; height:100%; display:block; object-fit:cover; object-position:center top; }.card-top h3 { margin:2px 0 5px; font:600 23px/1.2 "Noto Serif SC","Songti SC",serif; letter-spacing:.03em; }.advisor-role { color:var(--blue); }.institution,.card-directions,.jif-label { color:var(--muted); }.card-badges { display:flex; align-items:flex-end; flex-direction:column; gap:6px; }.relevance-badge,.evidence-badge { border-radius:5px; border:1px solid currentColor; background:#fff; }.relevance-badge { color:#3268b3; }.evidence-badge { color:#b76b48; }.card-section { grid-area:directions; padding:14px 0 9px 112px; }.card-label { color:#4f806e; letter-spacing:.09em; }.card-directions { margin:0 0 9px; }.paper-summary { grid-area:paper; align-self:stretch; padding:4px 0 6px 22px; border-top:0; border-left:1px solid #e0e6ed; }.paper-summary strong { font:600 14px/1.5 "Noto Serif SC","Songti SC",serif; }.card-links { grid-area:links; padding-left:112px; font-size:11px; }.official-link,.source-list a,.card-button { color:var(--blue); text-underline-offset:3px; }.card-footer { grid-area:footer; align-self:end; padding-top:11px; border-top:0; }.match-score { color:#b5565a; }
.private-progress { margin-top:72px; border:0; border-radius:var(--radius); background:#e9eef5; color:var(--ink); box-shadow:none; }.private-progress .eyebrow { color:#4f806e; }.private-progress p,.progress-stats span { color:var(--muted); }.progress-stats strong { color:var(--blue); }.secondary-button { border-color:#9aabba; border-radius:7px; color:var(--ink); }.secondary-button:hover { background:var(--navy); color:#fff; }.about-note { color:var(--muted); }.about-note strong { color:var(--ink); }
.contact-float { position:fixed; left:20px; bottom:20px; z-index:6; display:inline-flex; align-items:center; gap:8px; padding:9px 12px; border:1px solid #cbd6e2; border-radius:8px; background:rgba(255,255,255,.94); color:#31465f; text-decoration:none; font-size:12px; box-shadow:0 8px 22px rgba(29,51,79,.12); }.contact-float span:first-child { color:var(--blue); }.contact-float:hover { border-color:var(--blue); color:var(--blue); }
#profile-dialog { width:min(720px,calc(100% - 100px)); max-height:none; overflow:visible; border:0; padding:0; border-radius:0; background:transparent; box-shadow:none; } #profile-dialog::backdrop { background:rgba(20,34,53,.52); backdrop-filter:blur(5px); }.profile-dialog-form { max-height:min(86vh,780px); overflow-y:auto; padding:34px; border:1px solid #d3dce6; border-radius:12px; background:#fbfcfd; }.dialog-close { position:absolute; left:calc(100% + 12px); top:0; min-width:50px; min-height:48px; border:0; border-radius:7px; background:var(--navy); color:#fff; font:600 12px/1 "Noto Sans SC",sans-serif; cursor:pointer; }.dialog-close:hover { background:var(--blue); }.profile-identity { display:flex; gap:18px; align-items:center; }.profile-avatar { width:84px; height:102px; flex:0 0 auto; overflow:hidden; display:grid; place-items:center; border-radius:8px; background:#dfe7ef; color:var(--blue); }.profile-avatar-image { width:100%; height:100%; display:block; object-fit:cover; object-position:center top; }.profile-head h2 { font:600 29px/1.2 "Noto Serif SC",serif; }.profile-section h3 { color:#4f806e; }.profile-paper,.private-box { border-radius:8px; border-color:#dbe2e9; background:#fff; }.private-box textarea,.private-box select { border-radius:6px; border-color:#cdd7e1; }.card-button:focus-visible,.dialog-close:focus-visible,.source-list a:focus-visible,.official-link:focus-visible,.contact-float:focus-visible { outline:3px solid rgba(35,100,216,.23); outline-offset:3px; }
@media(max-width:1180px){ :root{--rail:340px}.page-shell{padding-left:30px;padding-right:30px}.workspace-grid{grid-template-columns:235px minmax(0,1fr);gap:26px}.card-top{grid-template-columns:82px minmax(0,1fr) auto}.advisor-avatar{width:82px;height:102px}.card-section,.card-links{padding-left:98px} }
@media(max-width:980px){ body{padding-right:0}.site-header{right:0}.hero{display:grid;gap:32px}.hero-poster{position:relative; inset:auto; width:100%; height:min(78vh,760px); min-height:620px; border-radius:12px; box-shadow:none}.poster-art{object-position:center 48%}.workspace-grid{grid-template-columns:1fr}.filter-panel{position:static;max-height:none;overflow:visible}.advisor-card{grid-template-columns:1fr;grid-template-areas:"top" "directions" "paper" "links" "footer"}.card-section,.card-links{padding-left:0}.paper-summary{padding:16px 0;border-left:0;border-top:1px solid #e0e6ed}.card-footer{border-top:1px solid #e0e6ed} }
@media(max-width:760px){ .site-header{height:66px;padding:0 16px}.brand small{display:none}nav{gap:13px;font-size:11px}nav a{padding:22px 0}.page-shell{padding:40px 18px 88px}.hero{margin-bottom:42px}.hero h1{font-size:clamp(38px,11.5vw,54px)}.hero-poster{height:600px;min-height:600px}.poster-brand{top:22px;left:20px;right:20px}.poster-brand strong{font-size:34px}.poster-signature{left:20px;right:20px;bottom:18px;font-size:7px}.card-top{grid-template-columns:76px minmax(0,1fr);gap:12px}.advisor-avatar{width:76px;height:92px}.card-badges{grid-column:1/-1;flex-direction:row;align-items:flex-start}.contact-float{left:12px;bottom:12px;font-size:11px}.profile-identity{align-items:flex-start}.profile-avatar{width:64px;height:80px}.profile-head h2{font-size:25px}#profile-dialog{width:min(100% - 32px,720px)}.dialog-close{left:auto;right:0;top:-52px}.profile-dialog-form{max-height:min(82vh,780px);padding:23px 19px} }
.advisor-avatar,.profile-avatar { position:relative; isolation:isolate; background:#eef5ff; color:#3982ce; }
.advisor-avatar.avatar-female,.profile-avatar.avatar-female { background:#fff0f5; color:#cf7198; }
.avatar-outline { width:78%; height:86%; grid-area:1/1; }
.advisor-avatar-image,.profile-avatar-image { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; object-position:center; background:#f1f4f8; z-index:1; }
.publication-meta { display:block; margin-top:10px; color:var(--muted); font-size:11px; line-height:1.6; }
.paper-source-link { font-size:12px; color:var(--blue); text-underline-offset:3px; }
.paper-selection { font-size:11px!important; line-height:1.6; }
