.header{position:relative}.header nav{gap:24px}.menu-toggle{display:none;border:0;background:transparent;color:var(--text);width:36px;height:36px;padding:8px}.menu-toggle svg{width:20px;height:20px}.publication-intro{color:var(--muted);font-size:13px;line-height:1.9;margin:-10px 0 25px}.academic-links{display:flex;gap:23px;padding-bottom:6px;font-family:monospace;font-size:12px}.paper-filters{margin-bottom:26px}.paper-list{border-top:1px solid var(--line)}.paper{display:grid;grid-template-columns:90px 1fr;gap:18px;padding:30px 0;border-bottom:1px solid var(--line)}.paper[hidden]{display:none}.paper-year{font-size:13px;color:var(--muted);padding-top:3px;letter-spacing:1px}.paper-content{min-width:0}.paper-meta{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:10px}.paper-venue{color:var(--accent);font-size:11px}.paper-status{color:var(--muted);font-size:9px;border:1px solid var(--line);border-radius:20px;padding:2px 8px;white-space:nowrap}.paper-status.published{background:var(--surface-up);color:var(--text)}.paper h3{font-size:19px;line-height:1.6;font-weight:500;letter-spacing:-.2px;margin:0 0 11px;text-wrap:pretty}.paper-authors{font-family:Inter,system-ui,sans-serif;font-size:11px;line-height:1.95;color:var(--muted);margin:0;max-width:950px}.paper-authors strong{color:var(--text);font-weight:600;border-bottom:1px solid var(--accent)}.paper-summary{font-size:12px;color:var(--muted);line-height:1.9;margin:10px 0 13px}.paper-links{display:flex;flex-wrap:wrap;gap:22px;font-size:11px}.paper-links a{display:flex;gap:10px;align-items:center}.publication-note{color:var(--muted);font-size:10px;line-height:1.9;margin:21px 0 0;display:flex;justify-content:space-between;gap:20px}.publication-note span{white-space:nowrap}.education-list{border-block:1px solid var(--line)}.education-row{padding:30px 0;display:flex;align-items:center;gap:25px}.education-row+article{border-top:1px solid var(--line)}.school-mark{width:64px;height:64px;display:grid;place-items:center;color:var(--accent);border:1px solid var(--line);border-radius:50%;font-size:15px;flex-shrink:0;background:var(--surface)}.school-info h3{margin:0 0 5px;font-size:20px;font-weight:500;display:flex;align-items:center;gap:14px}.school-info h3 span{color:var(--muted);font-size:10px;font-weight:400;border:1px solid var(--line);border-radius:20px;padding:2px 9px}.school-info p{color:var(--muted);font-size:13px;margin:0}.school-en{font-size:10px;color:var(--muted);font-family:monospace;letter-spacing:.3px}.school-years{margin-left:auto;flex-shrink:0;color:var(--muted);font-size:12px}.profile-links{display:flex;flex-wrap:wrap;gap:25px}.contact-actions{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.contact-email{font-family:monospace;font-size:10px;color:var(--muted);overflow-wrap:anywhere}.contact-link{font-size:14px;gap:75px}
@media(max-width:1050px){.header nav{gap:19px}.paper{grid-template-columns:65px 1fr}.paper h3{font-size:18px}.hero-intro{font-size:14px}.hero h1{font-size:49px}.brand{letter-spacing:.5px}}
@media(max-width:760px){.header{flex-wrap:wrap;height:auto;min-height:78px}.header nav{order:3;flex-basis:100%;display:flex;justify-content:space-between;padding:10px 0 20px;gap:12px}.js .header{height:78px;flex-wrap:nowrap}.js .menu-toggle{display:grid;place-items:center}.js .header nav{display:none;position:absolute;left:0;right:0;top:77px;padding:18px 20px;background:var(--bg);border:1px solid var(--line);border-radius:0 0 4px 4px;z-index:5;box-shadow:0 20px 40px #0002}.js .header nav.is-open{display:flex;flex-direction:column;align-items:stretch;gap:0}.js .header nav a{padding:12px 5px}.js .header nav a+ a{border-top:1px solid var(--line)}.academic-links{margin-top:20px;font-size:11px}.publication-intro{font-size:12px;margin-top:-4px}.paper-filters{gap:2px;flex-wrap:wrap}.paper-filters button{font-size:10px;padding:8px}.paper-filters button span{margin-left:6px;font-size:9px}.paper{grid-template-columns:1fr;gap:10px;padding:25px 0}.paper-year{font-size:10px;padding:0;letter-spacing:2px}.paper h3{font-size:16px;line-height:1.6}.paper-meta{gap:10px}.paper-venue{font-size:10px}.paper-authors{font-size:10px;line-height:1.9}.paper-summary{font-size:12px}.paper-links{font-size:10px;gap:20px}.publication-note{display:block;font-size:9px}.publication-note span{display:block;margin-top:9px}.education-row{align-items:flex-start;gap:15px;position:relative;padding-block:25px}.school-mark{width:44px;height:44px;font-size:11px;margin-top:3px}.school-info h3{font-size:18px;gap:12px}.school-info p{font-size:12px}.school-en{font-size:8px;display:block;line-height:1.8;margin-top:5px;max-width:260px}.school-years{font-size:10px;position:absolute;left:59px;bottom:24px}.school-info{padding-bottom:24px}.contact-actions{margin-top:10px}.contact-actions .contact-link{margin-top:10px}.contact-email{font-size:10px}.hero h1{font-size:clamp(39px,8vw,60px)}.hero-intro{font-size:13px}}
.hero h1.hero-name{font-size:clamp(58px,6.2vw,84px);line-height:1.12;letter-spacing:-3px;color:var(--accent);font-weight:650;margin-bottom:22px}.hero-tagline{font-size:30px;line-height:1.5;font-weight:500;letter-spacing:-.7px;margin:0 0 22px}
@media(max-width:760px){.hero h1.hero-name{font-size:clamp(42px,10vw,60px);letter-spacing:-2px;margin-bottom:20px}.hero-tagline{font-size:26px;line-height:1.5;margin-bottom:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Three peer projects, readable body text, and larger interaction targets. */
.project-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.project { display: flex; flex-direction: column; }
.project-visual {
  --bg: #111810; --text: #f1f2ec; --muted: #a8b69e;
  --line: #34432d; --accent: #d0f59b;
  height: 244px; flex-shrink: 0; padding-inline: 20px; color: var(--text);
  background-color: #182015;
  background-image: radial-gradient(ellipse at 50% 35%, #d0f59b0c, transparent 72%), linear-gradient(#a3c18a0a 1px, transparent 1px), linear-gradient(90deg, #a3c18a0a 1px, transparent 1px);
  background-size: auto, 32px 32px, 32px 32px;
  border-bottom: 1px solid #34432d;
}
.project-body { display: flex; flex: 1; flex-direction: column; padding: 24px 22px 20px; }
.project h3 { font-size: 26px; }
.project-subtitle { font-size: 15px; line-height: 1.8; min-height: 54px; margin-block: 16px 10px; }
.project-description { font-size: 14px; min-height: 0; line-height: 1.9; margin-bottom: 18px; }
.tags { margin-top: auto; }
.tags span, .project-type { font-size: 11px; }
.project-links { gap: 16px; margin-top: 22px; padding-top: 14px; flex-wrap: wrap; }
.project-links a { font-size: 12px; min-height: 32px; gap: 6px; }
.visual-label { font-size: 8px; letter-spacing: .6px; }
.eval-demo { left: 7%; right: 7%; top: 56px; bottom: 27px; padding: 12px 14px; }
.flow-row > span:nth-child(odd) { padding-inline: 5px; }
.chart { height: 57px; }
.chart-bars { gap: 8px; }
.twinkle-demo, .swift-demo { position: absolute; left: 9%; right: 9%; top: 53px; bottom: 25px; }
.client-row, .backend-row { gap: 17px; }
.swift-demo .backend-row { gap: 8px; }
.swift-demo .backend-row span { font-size: 8px; padding-inline: 2px; }
.swift-symbol { display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid var(--accent); border-radius: 7px; color: var(--accent); font-size: 29px; line-height: 1; }
.filters { flex-wrap: wrap; }
.filters button { min-height: 40px; font-size: 12px; }
.theme-toggle, .menu-toggle { width: 44px; height: 44px; flex-shrink: 0; }
.text-link, .academic-links a, .paper-links a, .profile-links a, .contact-email, .footer a { display: inline-flex; align-items: center; min-height: 32px; }
.text-link, .paper-links, .academic-links { font-size: 13px; }
.hero-intro { font-size: 15px; }
.section-heading > p, .publication-intro, .focus-grid p, .about-copy p { font-size: 14px; }
.paper-authors { font-size: 12px; }
.paper-summary { font-size: 14px; }
.paper-venue { font-size: 12px; }
.paper-status, .publication-note { font-size: 11px; }
.school-info p { font-size: 14px; }
.school-en, .school-years { font-size: 12px; }
.contact-email { font-size: 12px; }
.about-copy p.about-muted { font-size: 14px; }

@media (min-width: 1100px) {
  .project-grid:has(.project[hidden]) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 761px) and (max-width: 1099px) {
  .project-grid { grid-template-columns: 1fr; }
  .project { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); }
  .project-visual { height: 100%; min-height: 300px; }
  .project-subtitle { min-height: 0; }
  .eval-demo { top: 50%; bottom: auto; height: 185px; transform: translateY(-50%); }
  .twinkle-demo, .swift-demo { top: 50%; bottom: auto; height: 190px; transform: translateY(-50%); }
}
@media (max-width: 760px) {
  .project-grid { grid-template-columns: 1fr; }
  .project-visual { height: 260px; }
  .project-body { padding: 24px; }
  .project-subtitle { min-height: 0; }
  .eval-demo { left: 9%; right: 9%; top: 52px; bottom: 29px; }
  .chart { height: 67px; }
  .twinkle-demo, .swift-demo { left: 12%; right: 12%; top: 56px; bottom: 30px; }
  .project-description, .focus-grid p, .about-copy p, .publication-intro { font-size: 14px; }
  .paper-authors { font-size: 12px; }
  .paper-summary { font-size: 14px; }
  .paper-links { font-size: 12px; }
  .paper-venue, .paper-status { font-size: 11px; }
  .paper-year { font-size: 11px; }
  .paper-filters button { font-size: 12px; padding: 8px 10px; }
  .publication-note { font-size: 11px; }
  .school-info { min-width: 0; padding-bottom: 27px; }
  .school-info p { font-size: 14px; }
  .school-en { font-size: 10px; }
  .school-years { font-size: 11px; }
  .contact-email { font-size: 12px; }
  .filter-note { display: none; }
}
