/* Shared JoeLearns header controls and Labs-style public beta notice. */
.toplinks {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 11px;
  flex-wrap: wrap;
}
.toplinks .beta-trigger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 34px;
  padding: 8px 13px;
  border: 1px solid rgba(65,218,244,.3);
  border-radius: 999px;
  color: #9ceafa;
  background: rgba(16,137,167,.13);
  font: 800 10px/1.2 Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Arial,sans-serif;
  letter-spacing: 1.3px;
  white-space: nowrap;
  cursor: pointer;
  transition: border-color .16s, background .16s, box-shadow .16s;
}
.toplinks .beta-trigger:hover,
.toplinks .beta-trigger:focus-visible {
  background: rgba(16,137,167,.23);
  border-color: rgba(112,234,249,.65);
  box-shadow: 0 0 16px rgba(34,211,238,.11);
}
.toplinks .labs-header-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 42px;
  padding: 10px 17px;
  border: 1px solid rgba(167,139,250,.55);
  border-radius: 16px;
  background: linear-gradient(115deg,rgba(80,50,140,.28),rgba(30,31,75,.40));
  color: #e9ddff;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.2;
  white-space: nowrap;
  text-decoration: none;
  box-shadow: 0 0 15px rgba(139,92,246,.14);
  transition: background .18s, border-color .18s, box-shadow .18s;
}
.toplinks .labs-header-link .labs-spark { color: #c4b5fd; font-size: 15px; }
.toplinks .labs-header-link:hover,
.toplinks .labs-header-link:focus-visible {
  border-color: rgba(196,181,253,.9);
  background: linear-gradient(115deg,rgba(99,70,176,.43),rgba(42,40,98,.58));
  color: #fff;
  box-shadow: 0 0 19px rgba(139,92,246,.25);
}
.toplinks .tour-top-button {
  min-height: 40px;
  padding: 9px 14px;
  border-radius: 16px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .1px;
}
.toplinks .main-site-link-frame {border-radius: 17px;}
.toplinks .main-site-link {
  border-radius: 16px;
  min-height: 40px;
  font-size: 14px;
  font-weight: 700;
}
.beta-info-dialog {
  position: fixed;
  inset: 0;
  width: min(570px,calc(100% - 32px));
  max-height: min(90vh,760px);
  margin: auto;
  overflow-y: auto;
  padding: 30px 32px;
  border: 1px solid rgba(98,174,202,.6);
  border-radius: 20px;
  background: linear-gradient(145deg,#11263b,#0c1729);
  color: #eaf5ff;
  box-shadow: 0 32px 95px rgba(0,0,0,.68);
}
.beta-info-dialog::backdrop {
  background: rgba(0,5,15,.77);
  backdrop-filter: blur(5px);
}
.beta-info-head {display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:20px;}
.beta-info-badge {display:inline-flex;align-items:center;gap:9px;padding:9px 13px;border-radius:999px;border:1px solid rgba(65,218,244,.27);background:rgba(16,137,167,.13);color:#9ceafa;font-size:11px;font-weight:800;letter-spacing:1.2px;}
.beta-info-badge .pulse {width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:#4ce4aa;box-shadow:0 0 12px rgba(77,224,172,.55);}
.beta-info-close {width:39px;height:39px;flex:none;border:1px solid rgba(128,167,197,.37);border-radius:11px;background:#152c41;color:#d2e8f3;font-size:26px;line-height:1;cursor:pointer;}
.beta-info-close:hover {background:#20415a;}
.beta-info-dialog h2 {margin:0 0 15px;font-size:clamp(24px,3vw,30px);font-weight:800;letter-spacing:-.025em;line-height:1.2;}
.beta-info-dialog p {margin:0 0 14px;color:#c2d2e3;font-size:15px;line-height:1.72;}
.beta-info-dialog .beta-info-footnote {margin-top:20px;padding:14px 16px;border:1px solid rgba(103,232,249,.16);border-radius:13px;background:rgba(25,50,75,.3);color:#a9c4d5;font-size:14px;}
.beta-info-actions {display:flex;justify-content:flex-end;margin-top:23px;}
.beta-info-confirm {min-height:42px;padding:10px 24px;border:1px solid #83e5f7;border-radius:12px;background:#79e6f6;color:#081525;font-size:14px;font-weight:800;cursor:pointer;}
.beta-info-confirm:hover {background:#a5f3fc;}
.beta-info-dialog button:focus-visible,.toplinks a:focus-visible,.toplinks button:focus-visible {outline:2px solid #91effd;outline-offset:3px;}
@media(max-width:780px) {
  .toplinks {gap:8px;}
  .toplinks .beta-trigger {min-height:34px;font-size:9px;padding:7px 10px;}
  .toplinks .tour-top-button {min-height:36px;padding:8px 10px;border-radius:13px;font-size:11px;}
  .toplinks .labs-header-link {min-height:38px;padding:9px 12px;font-size:12px;border-radius:13px;}
  .toplinks .main-site-link-frame {border-radius:14px;}
  .toplinks .main-site-link {min-height:38px;padding:10px 14px;border-radius:13px;font-size:12px;}
}
@media(max-width:540px) {
  .toplinks {justify-content:flex-start;width:100%;}
  .beta-info-dialog {padding:22px 20px;}
}
@media(prefers-reduced-motion:reduce) {
  .toplinks .beta-trigger,.toplinks .labs-header-link {transition:none;}
  .beta-info-dialog::backdrop {backdrop-filter:none;}
}


/* JoeLearns headings: keep the hierarchy, lose the ultra-heavy weight. */
.brand-lockup { display:flex; align-items:center; gap:13px; }
.brand-title { font-size:19px; font-weight:800; line-height:1.25; letter-spacing:.05px; }
.brand-sub { font-size:10px; font-weight:700; line-height:1.5; letter-spacing:2.4px; margin-top:2px; }
.launcher-intro h1 { font-weight:700; letter-spacing:-.55px; line-height:1.18; }
.workspace .hero h1 { font-weight:700; letter-spacing:-.35px; line-height:1.28; }
.workspace .action-heading { font-weight:700; }
@media (max-width:780px) {
  .launcher-intro h1 { letter-spacing:-.4px; }
  .workspace .hero h1 { line-height:1.3; }
}
