
:root {
  --bg:#0B0B12; --bg2:#12121C; --panel:rgba(255,255,255,.045);
  --ink:#F1F2F6; --muted:#A4A9B8; --line:rgba(255,255,255,.12); --paper:#0B0B12;
  --text:#E6E8EE; --gray:#A4A9B8; --border:rgba(255,255,255,.12); --light-gray:#101019;
  --dku-light-blue:rgba(255,255,255,.06); --violet:#B3A8FF; --teal:#7FD8C6;
}
html, body { background:var(--bg); color:var(--text); }
.story main, .home main, main { background:var(--bg); }

header { background:rgba(11,11,18,.72); border-bottom:1px solid var(--line); }
.brand-logo-box img { filter:brightness(0) invert(1); opacity:.92; }
.brand-text strong { color:var(--ink); }
.brand-text span { color:var(--muted); }
nav a { color:var(--ink); background:rgba(255,255,255,.04); border-color:var(--line); }
nav a:hover { border-color:var(--ink); color:var(--ink); }
nav a.active { background:var(--ink); color:#0B0B12; border-color:var(--ink); }

.v2-blob { opacity:.28; filter:blur(90px); }

.s-hero, .s-why { background:radial-gradient(circle at 18% 22%, rgba(127,216,198,.16), transparent 42%),
                              radial-gradient(circle at 82% 30%, rgba(155,140,255,.18), transparent 45%),
                              radial-gradient(circle at 55% 105%, rgba(240,140,150,.14), transparent 50%), var(--bg); }
.s-today { background:var(--bg); }
.s-fill .w { color:#33363F; }
.s-fill .w.on { color:var(--ink); }
.s-color { background:#08080D; }
.s-field { background:var(--bg); }
.s-next { background:linear-gradient(180deg,var(--bg),#100F1A); }
.s-food, .s-next-grid article { background:var(--panel); border-color:var(--line); }
.s-lead, .s-next-grid p { color:var(--muted); }
.s-why-text { color:var(--text); }
.grad { background:linear-gradient(90deg,#FF7EB0,#C59BFF 55%,#8FA6FF); -webkit-background-clip:text; background-clip:text; color:transparent; }
.s-big { background:linear-gradient(90deg,#7FD8C6,#B3A8FF 50%,#FF7EB0); -webkit-background-clip:text; background-clip:text; color:transparent; }

.v2-explore, .s-explore { background:var(--bg); }
.v2-explore a { background:var(--panel); border-color:var(--line); }
.v2-explore a:hover { border-color:var(--ink); }
.v2-explore strong { color:var(--ink); }
.v2-explore em { color:var(--violet); }
.s-contact { background:linear-gradient(135deg,#7FD8C6,#B3A8FF) !important; }
.s-contact strong, .s-contact .v2-label, .s-contact em { color:#0B0B12 !important; }

.v2-btn { background:var(--ink); color:#0B0B12; }
.v2-btn-ghost { background:transparent; color:var(--ink); border-color:var(--ink); }
.button { background:var(--ink); color:#0B0B12; border-color:var(--ink); }
.button-outline { background:transparent; color:var(--ink); }

.page-banner { color:var(--ink) !important;
  background:radial-gradient(circle at 12% 20%, rgba(127,216,198,.18), transparent 45%),
             radial-gradient(circle at 88% 30%, rgba(155,140,255,.2), transparent 45%), #0E0E16 !important; border-bottom:1px solid var(--line); }
.page-banner h1 { color:var(--ink); }
.section-light { background:#0F0F18; }
.section-heading h2, .year-title, .member-section-title, .profile-content h2, .member-card h3, .research-card h3,
.about-card h3, .award-content h3, .contact-card h3, .publication-item h3, .research-interests h3, .achievement-english h4 { color:var(--ink); }
.about-card, .research-card, .profile-card, .member-card, .award-item, .contact-card, .publication-item, .achievement-english {
  background:var(--panel) !important; border:1px solid var(--line) !important; box-shadow:none !important; }
.research-card:hover { border-color:var(--ink) !important; }
.about-card p, .research-card p, .member-card p, .award-content p, .achievement-english p, .mla-citation,
.profile-status, .contact-status, .section-heading p { color:var(--muted); }
.profile-info strong, .contact-info strong { color:var(--ink); }
.profile-info a, .member-card a, .contact-info a, .map-link a { color:var(--teal); }
.tag { color:var(--ink); border-color:var(--line); background:transparent; }
.publication-links a { color:var(--ink); border-color:var(--line); background:transparent; }
.publication-links a:hover { background:var(--ink); color:#0B0B12; }
.contact-page { background:radial-gradient(circle at 15% 20%, rgba(127,216,198,.14), transparent 45%),
                           radial-gradient(circle at 85% 40%, rgba(155,140,255,.16), transparent 45%), var(--bg) !important; }
.map-box { border-color:var(--line); background:var(--bg2); }
.map-link { background:var(--bg2); }
.profile-photo, .member-photo { background:var(--bg2); }

footer { background:#08080D !important; color:var(--muted) !important; border-top:1px solid var(--line); }
footer strong { color:var(--ink) !important; }

.s-fund { background:linear-gradient(180deg,#100F1A,var(--bg)); }
.s-fund h2 { font-size:clamp(34px,4.2vw,60px); font-weight:500; letter-spacing:-.03em; line-height:1.18; margin-bottom:24px; color:var(--ink); }
.s-counts { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin:56px 0 64px; }
.s-counts div { padding:26px 24px; border:1px solid var(--line); border-radius:22px; background:var(--panel); }
.s-counts strong { display:block; font-size:clamp(36px,4vw,56px); font-weight:500; letter-spacing:-.03em;
  background:linear-gradient(90deg,#7FD8C6,#B3A8FF); -webkit-background-clip:text; background-clip:text; color:transparent; }
.s-counts span { color:var(--muted); font-size:15px; }
.s-timeline { --from:2018; --to:2030; position:relative; padding-top:34px; }
.s-years { position:absolute; top:0; left:0; right:0; display:flex; justify-content:space-between;
  font-family:var(--mono); font-size:11px; color:var(--muted); border-bottom:1px solid var(--line); padding-bottom:8px; }
.s-bar { position:relative; margin-top:18px; min-height:64px; }
.s-fill-bar { position:absolute; top:0; height:6px; border-radius:6px;
  left:calc((var(--s) - var(--from)) / (var(--to) - var(--from)) * 100%);
  width:calc((var(--e) - var(--s)) / (var(--to) - var(--from)) * 100%);
  background:rgba(255,255,255,.25); transform-origin:left; transform:scaleX(0); transition:transform 1.2s cubic-bezier(.2,.7,.2,1); }
.s-bar.now .s-fill-bar { background:linear-gradient(90deg,#7FD8C6,#B3A8FF,#FF7EB0); box-shadow:0 0 18px rgba(179,168,255,.45); }
.s-timeline.in .s-fill-bar { transform:scaleX(1); }
.s-timeline.in .s-bar:nth-child(3) .s-fill-bar { transition-delay:.15s } .s-timeline.in .s-bar:nth-child(4) .s-fill-bar { transition-delay:.3s }
.s-timeline.in .s-bar:nth-child(5) .s-fill-bar { transition-delay:.45s } .s-timeline.in .s-bar:nth-child(6) .s-fill-bar { transition-delay:.6s }
.s-bar-text { padding-top:16px; display:flex; flex-wrap:wrap; gap:4px 14px; align-items:baseline; }
.s-bar-text strong { color:var(--ink); font-weight:500; font-size:16px; word-break:keep-all; }
.s-bar-text span { color:var(--muted); font-size:13px; font-family:var(--mono); }
.s-bar-text em { font-style:normal; font-family:var(--mono); font-size:11px; letter-spacing:.1em; padding:3px 9px; border-radius:999px;
  color:#0B0B12; background:linear-gradient(90deg,#7FD8C6,#B3A8FF); }
@media (max-width:960px) { .s-counts { grid-template-columns:repeat(2,1fr); } }

.s-value { height:380vh; background:radial-gradient(circle at 50% 50%, rgba(226,190,106,.10), transparent 55%), #09090F; }
.s-value .s-sticky { display:grid; grid-template-columns:1.1fr 1fr; align-items:center; padding:0 7%; gap:30px; }
.s-value-stage { position:relative; height:72vh; }
.s-value-stage i { position:absolute; left:0; top:0; border-radius:50%; will-change:transform, opacity; }
.s-value-stage .big { background:radial-gradient(circle at 32% 28%, #FFF7DD 0%, #F3D27E 28%, #C99A3A 70%, #8C6420 100%);
  box-shadow:0 0 80px rgba(243,210,126,.35); }
.s-steps { position:relative; min-height:260px; }
.s-steps p { position:absolute; left:0; top:0; font-size:clamp(28px,3.4vw,50px); line-height:1.25; font-weight:500; letter-spacing:-.03em;
  color:var(--ink); opacity:0; transform:translateY(18px); transition:opacity .6s ease, transform .6s ease; word-break:keep-all; }
.s-steps p.on { opacity:1; transform:none; }
@media (max-width:960px) { .s-value .s-sticky { grid-template-columns:1fr; } .s-value-stage { height:40vh; } }

.pub-summary { display:grid; grid-template-columns:repeat(5,1fr); gap:12px; margin-bottom:56px; }
.pub-summary div { padding:20px; border:1px solid var(--line); border-radius:18px; background:var(--panel); }
.pub-summary strong { display:block; font-size:34px; font-weight:500; background:linear-gradient(90deg,#7FD8C6,#B3A8FF);
  -webkit-background-clip:text; background-clip:text; color:transparent; }
.pub-summary span { color:var(--muted); font-size:14px; }
.pub-tag { display:inline-block; margin-bottom:10px; font-family:var(--mono); font-size:11px; letter-spacing:.06em; padding:3px 10px;
  border:1px solid var(--line); border-radius:999px; color:var(--violet); }
.mla-citation strong { color:var(--ink); font-weight:500; }
@media (max-width:960px) { .pub-summary { grid-template-columns:repeat(2,1fr); } }

.s-facts { grid-template-columns:repeat(2,1fr); max-width:520px; }
.s-food-sub { color:var(--muted); font-size:13px; margin-top:-10px; }
.s-src { margin-top:16px; padding-top:12px; border-top:1px solid var(--line); font-family:var(--mono); font-size:11.5px; letter-spacing:.03em; color:var(--muted); }
.s-counts { grid-template-columns:repeat(5,1fr); }
.s-journals { margin:-20px 0 56px; padding:22px 24px; border:1px solid var(--line); border-radius:20px; background:var(--panel); }
.s-journals .v2-label { display:block; margin-bottom:10px; }
.s-journals p { color:var(--ink); font-size:16px; line-height:1.9; font-weight:300; }
@media (max-width:960px) { .s-counts { grid-template-columns:repeat(2,1fr); } .s-facts { grid-template-columns:1fr; } }

.paper-links { display:flex; flex-wrap:wrap; gap:6px; margin-top:18px; }
.paper-links a, .paper-links span { font-family:var(--mono); font-size:11px; letter-spacing:.02em; padding:4px 10px; border-radius:999px;
  border:1px solid var(--line); color:var(--teal); text-decoration:none; }
.paper-links span { color:var(--muted); }
.paper-links a:hover { border-color:var(--teal); }
.paper-links.wide a { font-size:12.5px; padding:7px 14px; }
.research-grid { grid-template-columns:repeat(3,1fr); }
@media (max-width:900px) { .research-grid { grid-template-columns:1fr; } }

.advisor-detail-section h3 { margin:34px 0 14px; color:var(--ink); font-weight:500; }
.cv-list { list-style:none; border-left:1px solid var(--line); padding-left:22px; }
.cv-list li { position:relative; padding-bottom:26px; }
.cv-list li::before { content:""; position:absolute; left:-28px; top:7px; width:11px; height:11px; border-radius:50%;
  background:linear-gradient(135deg,#7FD8C6,#B3A8FF); }
.cv-head strong { font-family:var(--mono); font-weight:500; color:var(--violet); margin-right:12px; }
.cv-head span { color:var(--ink); }
.cv-title { margin:6px 0 4px; color:var(--ink); font-weight:400; }
.cv-title em { color:var(--muted); font-style:normal; font-size:14px; }
.cv-list p { color:var(--muted); line-height:1.75; }

.advisor-detail-section p { text-align:left; }

.s-predict { margin-top:18px !important; padding:16px 18px; border-left:2px solid #B3A8FF; background:rgba(179,168,255,.06);
  border-radius:0 14px 14px 0; color:#fff !important; font-size:19px !important; font-weight:500; line-height:1.6 !important; word-break:keep-all; }

.s-facts span { word-break:keep-all; }

.pub-if { display:inline-block; margin:0 0 10px 8px; font-family:var(--mono); font-size:11px; padding:3px 10px; border-radius:999px;
  color:#0B0B12; background:linear-gradient(90deg,#7FD8C6,#B3A8FF); }

.s-color { height:480vh; }
.s-chart-box { margin-top:14px; max-width:520px; padding:14px 16px 10px; border:1px solid rgba(255,255,255,.12); border-radius:16px; background:rgba(255,255,255,.03); }
.s-chart-labels { display:flex; gap:10px; align-items:center; font-family:var(--mono); font-size:11px; letter-spacing:.14em; margin-bottom:6px; }
.s-chart-labels span { color:rgba(255,255,255,.3); transition:color .3s ease; }
.s-chart-labels span.on { color:#fff; }
.s-chart { width:100%; height:120px; display:block; overflow:visible; }
.s-pts circle { transition:opacity .25s ease; }
.s-end { opacity:0; transition:opacity .4s ease; filter:drop-shadow(0 0 10px rgba(179,168,255,.9)); }
.s-end.on { opacity:1; }
.s-facts { grid-template-columns:repeat(4,1fr) !important; max-width:620px !important; gap:8px !important; margin-top:18px !important; }
.s-facts li { padding:10px 12px !important; border-radius:12px !important; }
.s-facts strong { font-size:15px !important; }
.s-facts span { font-size:11.5px !important; }
.s-color h2 { font-size:clamp(32px,3.8vw,56px) !important; margin-bottom:14px !important; }
.s-color p { font-size:16px !important; }
@media (max-width:960px) { .s-facts { grid-template-columns:repeat(2,1fr) !important; } }

.s-hazard { padding:140px 0; background:linear-gradient(180deg,#100F1A,var(--bg)); }
.s-hazard h2 { font-size:clamp(34px,4.2vw,60px); font-weight:500; letter-spacing:-.03em; line-height:1.18; margin-bottom:24px; word-break:keep-all; }
.s-hazard .s-lead { max-width:760px; word-break:keep-all; }
.s-hazard-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:56px; }
.s-hazard-grid article { position:relative; padding:30px 28px 30px; border:1px solid var(--line); border-radius:22px; background:var(--panel); }
.s-hazard-grid article:nth-child(2){transition-delay:.08s} .s-hazard-grid article:nth-child(3){transition-delay:.16s}
.s-hazard-grid article:nth-child(4){transition-delay:.24s} .s-hazard-grid article:nth-child(5){transition-delay:.32s}
.s-hazard-grid article:nth-child(6){transition-delay:.40s}
.s-hazard-grid em { font-style:normal; font-family:var(--mono); font-size:11px; letter-spacing:.06em; color:var(--muted); border:1px solid var(--line); border-radius:999px; padding:4px 10px; }
.s-hazard-grid article.now { border-color:rgba(127,216,198,.45); }
.s-hazard-grid article.now em { color:#7FD8C6; border-color:rgba(127,216,198,.5); }
.s-hazard-grid .np.mini { position:absolute; right:24px; top:26px; width:30px; height:30px; }
.s-hazard-grid h3 { font-size:22px; font-weight:500; margin:18px 0 8px; }
.s-hazard-grid p { color:var(--muted); line-height:1.75; word-break:keep-all; font-size:15px; }
.s-hazard-note { margin-top:36px; color:var(--ink); font-size:17px; word-break:keep-all; }
@media (max-width:960px) { .s-hazard-grid { grid-template-columns:1fr; } .s-hazard { padding:90px 0; } }

.brand-mark { width:34px; height:34px; flex-shrink:0; padding-left:18px; border-left:1px solid var(--line); box-sizing:content-box; }
@media (max-width:900px) { .brand-mark { width:26px; height:26px; padding-left:10px; } }

nav .lang-switch { display:inline-flex; align-items:center; margin-right:6px; padding:2px; border:1px solid var(--line); border-radius:999px; background:rgba(255,255,255,.04); }
nav .lang-switch a { padding:4px 10px; border:0; background:none; font-size:11px; letter-spacing:.08em; color:var(--muted, rgba(255,255,255,.55)); }
nav .lang-switch a:hover { color:var(--ink); border:0; }
nav .lang-switch a.on { background:rgba(255,255,255,.14); color:var(--ink); border-radius:999px; }
