/* VIBE refinement v1: existing palette and backgrounds are inherited unchanged. */
body.vibe-home-body, body.vibe-page-body { font-size:16px; }
.vibe-page { padding-top:36px; }
.vibe-page-hero { gap:16px; margin-bottom:32px; }
.vibe-page-hero h1 { font-size:clamp(32px,3.3vw,44px); font-weight:750; line-height:1.18; letter-spacing:-.025em; }
.vibe-page-hero p:last-child, .vibe-lead { font-size:17px; line-height:1.75; text-align:left; }
.vibe-hero { gap:36px; padding:36px 0 28px; }
.vibe-hero h1 { font-size:clamp(44px,5vw,64px); font-weight:800; line-height:1.05; letter-spacing:-.025em; }
.vibe-hero-subtitle { font-size:22px; font-weight:650; line-height:1.4; }
.vibe-section { margin-top:40px; }
.vibe-section-heading h2, .vibe-member-section h2 { font-size:28px; font-weight:750; line-height:1.25; }
.vibe-focus-card, .vibe-page-card, .vibe-resource-card, .vibe-news-panel, .vibe-campus-card,
.vibe-cosas-strip, .vibe-alumni-panel, .vibe-paper-figure, .vibe-member-card,
.vibe-member-card:hover, .vibe-member-card:focus { border-radius:10px; box-shadow:none; }
body.vibe-theme-dark .vibe-member-card, body.vibe-theme-dark .vibe-page-card,
body.vibe-theme-dark .vibe-resource-card, body.vibe-theme-dark .vibe-alumni-panel { box-shadow:none; }
.vibe-focus-card h3, .vibe-page-card h3, .vibe-resource-card h3 { font-weight:700; line-height:1.35; }
.vibe-focus-card p, .vibe-page-card p, .vibe-resource-card p { font-size:16px; line-height:1.65; }
.vibe-member-card img, .vibe-avatar-fallback { border-radius:10px; }
.vibe-member-card h3 { font-size:21px; font-weight:750; line-height:1.25; }
.vibe-member-card-featured h3 { font-size:28px; }
.vibe-member-card p { font-size:16px; line-height:1.6; }
.vibe-button, .vibe-button:hover, .vibe-button:focus { min-height:42px; padding:0 16px; border-radius:7px; font-size:14px; font-weight:650; box-shadow:none; }
.vibe-paper-list { gap:28px; }
.vibe-paper-row { padding-bottom:28px; }
.vibe-paper-body h2 { font-size:clamp(22px,2vw,27px); line-height:1.35; font-weight:700; text-wrap:initial; }
.vibe-paper-authors { font-size:16px; line-height:1.65; }
.vibe-paper-venue, .vibe-paper-tags { font-size:16px; line-height:1.6; }
.vibe-paper-links a, .vibe-paper-links a:nth-child(n),
.vibe-paper-links a:nth-child(n):focus { min-height:36px; min-width:66px; padding:0 14px; border:1px solid var(--vibe-line); border-radius:6px; background:var(--vibe-surface); color:var(--vibe-ink); font-size:13px; font-weight:650; box-shadow:none; }
.vibe-paper-links a:nth-child(n):hover { border-color:var(--vibe-primary); color:var(--vibe-primary); background:var(--vibe-surface); }
.vibe-cosas-copy h2 { font-size:clamp(25px,2.6vw,34px); line-height:1.3; font-weight:750; }
.cosas-papers-page .vibe-paper-row { border-radius:10px; }
.cosas-project-intro h1 { font-size:clamp(32px,3.3vw,44px); font-weight:750; }
a:focus-visible, button:focus-visible { outline:2px solid var(--vibe-primary); outline-offset:4px; }
/* Manual horizontal research carousel. No automatic motion; remains usable without JS. */
.vibe-highlights-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; }
.vibe-highlights-tools { display:flex; align-items:center; gap:10px; }
.vibe-scroll-button { display:none; align-items:center; justify-content:center; width:40px; height:40px; border:1px solid var(--vibe-line); border-radius:7px; color:var(--vibe-ink); background:var(--vibe-surface); font-size:20px; cursor:pointer; }
.vibe-highlights[data-enhanced] .vibe-scroll-button { display:inline-flex; }
.vibe-scroll-button:disabled { opacity:.35; cursor:default; }
.vibe-highlight-track { display:grid; grid-auto-flow:column; grid-auto-columns:calc((100% - 40px)/3); gap:20px; overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x mandatory; scroll-padding:1px; padding:4px 1px 14px; scrollbar-width:thin; scrollbar-color:var(--vibe-line) transparent; }
.vibe-highlight-card { min-width:0; display:flex; flex-direction:column; border:1px solid var(--vibe-line); border-radius:10px; background:var(--vibe-surface); overflow:hidden; scroll-snap-align:start; scroll-margin:1px; }
.vibe-highlight-image { display:flex; align-items:center; justify-content:center; height:172px; padding:20px; background:var(--vibe-surface); border-bottom:1px solid var(--vibe-line); }
.vibe-highlight-image img { max-width:100%; max-height:100%; object-fit:contain; border-radius:0; box-shadow:none; }
.vibe-highlight-copy { padding:20px; display:flex; flex-direction:column; flex:1; }
.vibe-highlight-meta { font-size:12px; font-weight:650; color:var(--vibe-muted); margin:0 0 12px; }
.vibe-highlight-copy h3 { font-size:19px; line-height:1.45; font-weight:700; margin:0 0 20px; }
.vibe-highlight-copy h3 a { color:var(--vibe-ink); text-decoration:none; }
.vibe-highlight-copy h3 a:hover { color:var(--vibe-primary); }
.vibe-highlight-copy .vibe-paper-links { margin-top:auto; padding-top:8px; }
.vibe-highlight-hint { font-size:13px; color:var(--vibe-muted); margin:8px 0 0; }
@media(max-width:1000px) { .vibe-highlight-track { grid-auto-columns:calc((100% - 20px)/2); } }
@media(max-width:640px) {
 .vibe-page { padding-top:28px; }
 .vibe-page-hero h1 { font-size:32px; }
 .vibe-hero { gap:28px; }
 .vibe-hero h1 { font-size:44px; }
 .vibe-hero-subtitle { font-size:20px; }
 .vibe-lead, .vibe-page-hero p:last-child { font-size:16px; }
 .vibe-highlight-track { grid-auto-columns:86%; gap:16px; }
 .vibe-highlights-tools { width:100%; }
 .vibe-highlights-tools > a { margin-right:auto; }
 .vibe-member-card, .vibe-member-card:hover, .vibe-member-card:focus { padding:18px; }
 .vibe-paper-body h2 { font-size:22px; }
}
@media(prefers-reduced-motion:reduce) { .vibe-highlight-track { scroll-behavior:auto; } }


/* V2: news sidebar, precise paper links, curated resources, and contact footer. */
.vibe-hero { align-items:start; }
.vibe-home-sidebar { min-width:0; display:grid; gap:18px; }
.vibe-home-sidebar .vibe-campus-card { min-height:220px; height:220px; }
.vibe-home-sidebar .vibe-campus-card img { width:100%; height:100%; object-fit:cover; }
.vibe-home-sidebar .vibe-campus-card figcaption { padding:10px 14px; }
.vibe-home-sidebar .vibe-campus-card figcaption strong { font-size:14px; }
.vibe-sidebar-news { border:1px solid var(--vibe-line); border-radius:10px; padding:18px; background:var(--vibe-surface); }
.vibe-sidebar-news-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; }
.vibe-sidebar-news-heading h2 { font-size:20px; line-height:1.3; font-weight:750; margin:0; }
.vibe-news-toggle { border:1px solid var(--vibe-line); border-radius:5px; background:var(--vibe-surface); color:var(--vibe-muted); font-size:12px; min-height:30px; padding:3px 9px; cursor:pointer; }
.vibe-news-viewport { max-height:190px; overflow-y:auto; scrollbar-width:thin; scrollbar-color:var(--vibe-line) transparent; overscroll-behavior-y:contain; }
.vibe-sidebar-news-item { padding:12px 0; border-bottom:1px solid var(--vibe-line); }
.vibe-sidebar-news-item:first-child { padding-top:0; }
.vibe-sidebar-news-item:last-child { border-bottom:0; }
.vibe-sidebar-news-date { display:flex; align-items:center; flex-wrap:wrap; gap:8px; font-size:11px; color:var(--vibe-muted); margin-bottom:6px; }
.vibe-sidebar-news-item p { font-size:14px; line-height:1.65; margin:0; color:var(--vibe-ink); }
.vibe-news-new { font-size:9px; font-weight:750; letter-spacing:.05em; border:1px solid var(--vibe-primary); color:var(--vibe-primary); border-radius:4px; padding:0 4px; line-height:1.6; }
.vibe-news-all { display:inline-block; margin-top:12px; font-size:13px; color:var(--vibe-primary); font-weight:650; }
.vibe-paper-row[id] { scroll-margin-top:100px; }
.vibe-paper-row[id]:target { border-left:3px solid var(--vibe-primary); padding-left:16px; }
.vibe-resource-project { border:1px solid var(--vibe-line); border-radius:10px; background:var(--vibe-surface); padding:28px; }
.vibe-resource-project-header { display:flex; align-items:center; gap:22px; }
.vibe-resource-project-header img { display:block; border-radius:10px; flex:0 0 96px; object-fit:contain; }
.vibe-resource-project h2 { margin:8px 0; font-size:30px; font-weight:750; line-height:1.25; }
.vibe-resource-project-header p { margin:0; color:var(--vibe-muted); font-size:17px; line-height:1.6; }
.vibe-resource-project-summary { margin:24px 0; font-size:16px; color:var(--vibe-muted); line-height:1.7; }
.vibe-resource-entries { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; padding-top:24px; border-top:1px solid var(--vibe-line); }
.vibe-resource-entries article { display:flex; flex-direction:column; align-items:flex-start; min-width:0; }
.vibe-resource-entries h3 { margin:0 0 10px; font-size:20px; font-weight:700; }
.vibe-resource-entries p { color:var(--vibe-muted); font-size:16px; line-height:1.7; margin:0 0 22px; }
.vibe-resource-entries a { margin-top:auto; }
.vibe-resource-citation { margin-top:32px; max-width:820px; }
.vibe-resource-citation h2 { font-size:22px; font-weight:700; }
.vibe-resource-citation p { font-size:16px; color:var(--vibe-muted); line-height:1.75; }
.vibe-resource-citation a { color:var(--vibe-primary); }
.vibe-footer-inner { display:flex; align-items:center; justify-content:space-between; gap:24px; }
.vibe-footer-details p { margin:4px 0; }
.vibe-footer-contact { display:flex; flex-direction:column; gap:8px; text-align:right; }
.vibe-footer a { color:var(--vibe-muted); text-decoration:none; font-size:13px; overflow-wrap:anywhere; }
.vibe-footer a:hover { color:var(--vibe-primary); text-decoration:underline; }
@media(max-width:1000px) and (min-width:641px) { .vibe-home-sidebar { grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:stretch; } .vibe-home-sidebar .vibe-campus-card { height:100%; min-height:290px; } }
@media(max-width:640px) {
 .vibe-home-sidebar .vibe-campus-card { height:200px; min-height:200px; }
 .vibe-news-viewport { max-height:190px; }
 .vibe-resource-project { padding:20px; }
 .vibe-resource-project-header { gap:16px; align-items:flex-start; }
 .vibe-resource-project-header img { width:64px; height:64px; flex-basis:64px; }
 .vibe-resource-project h2 { font-size:26px; }
 .vibe-resource-entries { grid-template-columns:1fr; gap:24px; }
 .vibe-resource-entries article + article { border-top:1px solid var(--vibe-line); padding-top:24px; }
 .vibe-footer-inner { align-items:flex-start; flex-direction:column; gap:16px; }
 .vibe-footer-contact { text-align:left; }
}

/* Keep Resources organized by the original four categories. */
.vibe-resource-links { display:flex; flex-wrap:wrap; gap:10px; margin-top:22px; }
.vibe-resource-links .vibe-button { font-size:13px; }

.vibe-footer a:focus:not(:focus-visible) {
  outline: none;
  box-shadow: none;
}

.vibe-footer a:focus-visible {
  outline: 2px solid var(--vibe-primary);
  outline-offset: 4px;
  border-radius: 3px;
}


*:focus:not(:focus-visible) {
  outline: none !important;
  box-shadow: none !important;
}

*:focus-visible {
  outline: 2px solid var(--vibe-primary) !important;
  outline-offset: 4px;
}

.vibe-alumni-marquee { margin-top:28px; }
.vibe-alumni-marquee-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:14px; }
.vibe-alumni-marquee-heading h3 { margin:0; font-size:18px; font-weight:650; color:var(--vibe-ink); }
.vibe-alumni-motion { padding:5px 10px; min-height:32px; font-size:12px; border:1px solid var(--vibe-line); border-radius:5px; color:var(--vibe-muted); background:var(--vibe-surface); cursor:pointer; }
.vibe-alumni-logo-window { overflow-x:auto; scrollbar-width:none; border:1px solid var(--vibe-line); border-radius:10px; background:rgba(184,193,204,.52); backdrop-filter:blur(6px); }
body.vibe-theme-dark .vibe-alumni-logo-window { background:rgba(225,229,235,.88); }
.vibe-alumni-logo-window::-webkit-scrollbar { display:none; }
.vibe-alumni-logo-track { display:flex; width:max-content; animation:vibe-university-flow 55s linear infinite; }
.vibe-alumni-logo-group { display:flex; flex:0 0 auto; align-items:center; gap:48px; padding:24px 48px 24px 0; }
.vibe-alumni-logo { display:flex; flex:0 0 180px; align-items:center; justify-content:center; width:180px; height:80px; padding:4px 14px; box-sizing:border-box; }
.vibe-alumni-logo img[src$="yale.png"] { max-width:130px; }
.vibe-alumni-logo img { display:block; width:auto; height:auto; max-width:100%; max-height:72px; object-fit:contain; border-radius:0; box-shadow:none; mix-blend-mode:multiply; }
.vibe-alumni-marquee:focus-within .vibe-alumni-logo-track { animation-play-state:paused; }
@keyframes vibe-university-flow { to { transform:translateX(-50%); } }


.vibe-alumni-marquee .vibe-alumni-logo-window {
  background: transparent;
  backdrop-filter: none;
  border: 0;
  border-top: 1px solid var(--vibe-line);
  border-bottom: 1px solid var(--vibe-line);
  border-radius: 0;
}

body.vibe-theme-dark .vibe-alumni-marquee .vibe-alumni-logo-window {
  background: transparent;
}
