/* Campus chrome matched to the round-3 front door: floating bars, glow, depth. */

body { padding-bottom: 96px; }
#sky { z-index: 0; }
.shell, .site-footer { position: relative; z-index: 2; }

.chrome {
  position: sticky;
  top: 10px;
  z-index: 30;
  margin: 10px 12px 8px;
  border-radius: 24px;
  overflow: hidden;
  border: 2px solid #22d3ee;
  background: #0f172a;
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.45), 0 0 26px rgba(34, 211, 238, 0.45);
}
.topbar {
  position: relative;
  top: auto;
  border: 0;
  background: #0f172a !important;
  color: #f8fafc !important;
}
.brand, .brand-name, .brand-sub, .top-actions .btn, .menu-toggle, #open-settings {
  color: #f8fafc !important;
}
.primary-menu { padding: 0 10px 10px; flex-wrap: nowrap; align-items: center; }
.primary-menu .menu-desc { display: none; }
.primary-menu .menu-search { flex: 0 0 200px; margin: 0; }
.primary-menu .menu-item { max-height: 44px; overflow: hidden; }
#primary-menu .menu-item,
.primary-menu a {
  border-radius: 14px !important;
  color: #f8fafc !important;
  background: #1e1b4b !important;
  border: 1px solid rgba(255,255,255,.28) !important;
  box-shadow: 0 5px 0 rgba(0,0,0,.28), 0 0 12px rgba(34,211,238,.35);
}
html[data-motion="full"] #primary-menu .menu-item:hover,
html[data-motion="full"] .primary-menu a:hover {
  transform: translateY(-3px);
}

.tabbar {
  display: flex !important;
  position: fixed !important;
  left: 50% !important;
  right: auto !important;
  transform: translateX(-50%) !important;
  width: min(880px, calc(100vw - 16px)) !important;
  bottom: 12px !important;
  height: 64px;
  overflow: hidden;
  border-radius: 22px;
  border: 2px solid transparent;
  background:
    linear-gradient(180deg, rgba(15,23,42,.95), rgba(49,46,129,.92)) padding-box,
    linear-gradient(120deg, #22d3ee, #a78bfa, #f472b6) border-box;
  box-shadow: 0 14px 32px rgba(0,0,0,.4), 0 0 22px rgba(167,139,250,.55);
  z-index: 30;
  padding: 6px 8px;
  color: #f8fafc;
}
.tabbar a, .tabbar button { flex: 1 1 0; min-width: 0; color: #f8fafc; border-radius: 14px; }
.tabbar .tab-desc { display: none; }
.tabbar a[aria-current="page"], .tabbar button[aria-pressed="true"] {
  background: linear-gradient(135deg, #22d3ee, #a78bfa);
  color: #082f49;
}

.rail a, .rail button.navlink {
  border-radius: 14px;
  margin: 4px 0;
  background: linear-gradient(160deg, rgba(34,211,238,.14), rgba(244,114,182,.1));
  border: 1px solid rgba(34,211,238,.35);
  box-shadow: 0 4px 0 rgba(0,0,0,.18);
}
html[data-motion="full"] .rail a:hover { transform: translateX(4px); }

.panel, .card, article.panel {
  border-radius: 18px;
  border: 2px solid transparent;
  background:
    linear-gradient(180deg, var(--cc-surface), var(--cc-surface-2)) padding-box,
    linear-gradient(135deg, #22d3ee, #a78bfa, #f472b6) border-box;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.16);
}

.section-downloads { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 0 0 12px; }
.section-downloads .btn, .section-downloads a.btn {
  border-radius: 999px;
  background: linear-gradient(135deg, #fef08a, #67e8f9);
  color: #082f49;
  font-weight: 800;
}

.sources-deeper { margin: 12px 0 4px; }
.sources-deeper li { margin: 6px 0; }
.sources-deeper .source-kind { font-weight: 800; letter-spacing: .04em; text-transform: uppercase; color: #22d3ee; }

@media (prefers-reduced-motion: reduce) {
  #primary-menu .menu-item, .rail a, .tabbar a { transform: none !important; transition: none !important; }
}
html[data-motion="reduce"] #primary-menu .menu-item:hover,
html[data-motion="reduce"] .rail a:hover { transform: none; }

/* R2 QA: Settings button had light text on a pale pink fill (contrast 1.14). Dark fill keeps the light label readable. */
.top-actions #open-settings, .top-actions .btn#open-settings {
  background: #0f172a !important;
  color: #f8fafc !important;
  border: 1px solid #94a3b8;
}
