/* GENERATED by Problem Bank/video-pages/tools/build-deploy.mjs. Do not hand-edit.
   The site header's style, as the lessons bundle ships it (ebora-runtime.css). */
.eb-hdr{--eb-bg:#070b16;--eb-line-soft:rgba(132,166,255,.12);--t-lg:clamp(17px,1.1vw,19px);--eb-ink:#eef3ff;--eb-cyan:#38bdf8;--r-pill:999px;--t-sm:13px;--eb-muted:#9fb0d0;--eb-surface-2:#10182e;--t-xs:12px;--eb-line:rgba(132,166,255,.22);--eb-green:#34d399;--r-ctl:12px;--t-md:15px;--eb-blue:#2f6bff}
/* ---------- production header (authored: /lessons/ is a static dir, so the
   ebora-site-header.php mu-plugin never runs here) ---------- */
.eb-hdr{position:sticky;top:0;z-index:200;background:color-mix(in oklab,var(--eb-bg) 88%,transparent);
  backdrop-filter:blur(14px);border-bottom:1px solid var(--eb-line-soft)}
.eb-hdr__in{max-width:1240px;margin:0 auto;padding:0 clamp(14px,3vw,26px);height:62px;
  display:flex;align-items:center;gap:18px}
.eb-hdr__brand{display:flex;align-items:center;gap:9px;font-family:'Space Grotesk';
  font-weight:700;font-size:var(--t-lg);text-decoration:none;color:var(--eb-ink)}
.eb-hdr__mark{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;
  background:linear-gradient(140deg,var(--eb-accent),var(--eb-cyan));color:#fff;font-size:15px}
.eb-hdr__nav{display:flex;gap:4px;margin-left:8px}
.eb-hdr__nav a{padding:7px 13px;border-radius:var(--r-pill);font-size:var(--t-sm);
  font-weight:600;color:var(--eb-muted);text-decoration:none}
.eb-hdr__nav a:hover{color:var(--eb-ink)}
.eb-hdr__nav a.is-on{background:var(--eb-surface-2);color:var(--eb-ink)}
.eb-hdr__right{margin-left:auto;display:flex;align-items:center;gap:8px}
.eb-hdr__chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;
  border-radius:var(--r-pill);font-size:var(--t-xs);font-weight:700;
  border:1px solid var(--eb-line);color:var(--eb-muted)}
.eb-hdr__chip.is-on{color:var(--eb-green);border-color:color-mix(in oklab,var(--eb-green) 40%,transparent)}
.eb-hdr__chip svg{width:13px;height:13px}
.eb-hdr__cta{padding:7px 15px;border-radius:var(--r-pill);font-size:var(--t-xs);font-weight:700;
  background:var(--eb-accent);color:#fff;text-decoration:none;white-space:nowrap}
.eb-hdr__ico{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;
  background:none;border:1px solid var(--eb-line);color:var(--eb-muted);cursor:pointer}
.eb-hdr__ico svg{width:16px;height:16px}
.eb-hdr__burger{display:none}
.eb-hdr__drawer{display:none;flex-direction:column;gap:2px;padding:8px clamp(14px,3vw,26px) 14px;
  border-top:1px solid var(--eb-line-soft)}
.eb-hdr__drawer a{padding:11px 13px;border-radius:var(--r-ctl);font-size:var(--t-md);
  font-weight:600;color:var(--eb-muted);text-decoration:none}
.eb-hdr__drawer a.is-on{background:var(--eb-surface-2);color:var(--eb-ink)}
/* The mockup header had NO mobile nav at all — .hdr__nav{display:none} below
   820px with no hamburger. This one has one. */
@media(max-width:820px){
  .eb-hdr__nav{display:none}
  .eb-hdr__burger{display:grid}
  body.eb-nav-open .eb-hdr__drawer{display:flex}
}
.tierrow{display:flex;align-items:center;gap:10px;padding:10px 13px;border-radius:var(--r-ctl);
  background:var(--eb-surface-2);border:1px solid var(--eb-line-soft);font-size:var(--t-sm)}
.tierrow b:last-child{margin-left:auto}


/* ===================================================================
   SITE HEADER — lifted verbatim from ebora-site-header.php at build time.
   Do not edit here; edit the mu-plugin and rebuild.
   =================================================================== */
.eb-hdr, .eb-hdr * { box-sizing: border-box; }
.eb-hdr {
  --eb-bg:#070b16; --eb-bg-2:#0c1326; --eb-blue:#2f6bff; --eb-cyan:#38bdf8;
  --eb-ink:#eef3ff; --eb-muted:#9fb0d0; --eb-line:rgba(132,166,255,.22);
  position: sticky; top: 0; z-index: 1000; width: 100%;
  font-family: "Space Grotesk", "Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;
  background: #070b16;
  border-bottom: 1px solid var(--eb-line);
  box-shadow: 0 10px 30px -22px rgba(0,0,0,.9);
  -webkit-font-smoothing: antialiased;
  transition: transform .28s ease;   /* for auto-hide on scroll */
  will-change: transform;
}
.eb-hdr.eb-hdr--hidden { transform: translateY(-100%); }
.eb-hdr__inner { max-width: 1840px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 11px clamp(18px,4vw,84px); min-height: 64px; }
.eb-hdr__brand { display: flex; align-items: center; gap: 12px; text-decoration: none; color: var(--eb-ink); flex: 0 1 auto; min-width: 0; }
.eb-hdr__mark { flex: none; width: 40px; height: 40px; border-radius: 11px; display: grid; place-items: center; font-family: "Space Grotesk", sans-serif; font-weight: 700; font-size: 22px; color: #fff; background: linear-gradient(135deg, var(--eb-blue), var(--eb-cyan)); box-shadow: 0 6px 18px -6px rgba(47,107,255,.7); }
.eb-hdr__logo { flex: none; width: 40px; height: 40px; object-fit: cover; border-radius: 11px; display: block; }
.eb-hdr__name { font-family: "Space Grotesk", sans-serif; font-weight: 600; font-size: clamp(15px,1.3vw,19px); letter-spacing: -.01em; color: var(--eb-ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.eb-hdr__nav { display: flex; align-items: center; gap: clamp(14px,1.8vw,30px); }
.eb-hdr__link { position: relative; font-family: "Space Grotesk", sans-serif; font-weight: 500; font-size: 15px; color: var(--eb-muted); text-decoration: none; padding: 6px 2px; transition: color .18s ease; }
.eb-hdr__link:hover, .eb-hdr__link.is-active { color: var(--eb-ink); }
.eb-hdr__link::after { content: ""; position: absolute; left: 0; right: 0; bottom: -3px; height: 2px; background: var(--eb-cyan); transform: scaleX(0); transform-origin: left; transition: transform .2s ease; }
.eb-hdr__link:hover::after, .eb-hdr__link.is-active::after { transform: scaleX(1); }
.eb-hdr__btn { font-family: "Space Grotesk", sans-serif; font-weight: 600; font-size: 15px; color: #fff; text-decoration: none; white-space: nowrap; padding: 10px 20px; border-radius: 10px; background: linear-gradient(135deg, var(--eb-blue), #4f86ff); box-shadow: 0 8px 22px -10px rgba(47,107,255,.85), inset 0 1px 0 rgba(255,255,255,.25); transition: transform .15s ease, box-shadow .2s ease; }
.eb-hdr__btn:hover { transform: translateY(-2px); box-shadow: 0 14px 28px -10px rgba(47,107,255,.95), inset 0 1px 0 rgba(255,255,255,.3); }
/* Video-access days-left chip (shown only to active cc2 subscribers). margin-left:auto
   pushes it + the nav to the right while the brand stays left — so it stays visible on
   mobile, sitting just left of the hamburger. */
.eb-hdr__sub { margin-left: auto; display: inline-flex; align-items: center; gap: 6px; flex: none; font-family: "Space Grotesk", sans-serif; font-weight: 600; font-size: 13px; color: #bfe3ff; text-decoration: none; white-space: nowrap; padding: 7px 13px; border-radius: 999px; background: rgba(56,189,248,.12); border: 1px solid rgba(56,189,248,.35); transition: background .18s ease, color .18s ease; }
.eb-hdr__sub:hover { background: rgba(56,189,248,.2); color: #eaf6ff; }
.eb-hdr__sub--low { color: #ffd9b0; background: rgba(245,158,11,.14); border-color: rgba(245,158,11,.45); }
/* Final 24 hours — red, and the counter breathes. A student on the last day has to
   notice without being told, and the amber ≤5-day state is not distinct enough once
   the number has switched from days to hours. */
.eb-hdr__sub--crit { color: #ffd2da; background: rgba(255,59,92,.16); border-color: rgba(255,59,92,.55); }
.eb-hdr__sub--crit:hover { background: rgba(255,59,92,.26); color: #fff; }
/* The countdown pill inside the tier chip: "✓ Ancient Supporter [12d]". */
.eb-hdr__days { flex: none; margin-left: 1px; padding: 2px 7px; border-radius: 999px; font-weight: 800; font-size: 11.5px; letter-spacing: .01em; line-height: 1.45; font-variant-numeric: tabular-nums;
  color: #eaf6ff; background: rgba(56,189,248,.22); box-shadow: inset 0 0 0 1px rgba(56,189,248,.32); }
.eb-hdr__sub--low  .eb-hdr__days { color: #fff1dc; background: rgba(245,158,11,.28); box-shadow: inset 0 0 0 1px rgba(245,158,11,.5); }
.eb-hdr__sub--crit .eb-hdr__days { color: #fff; background: rgba(255,59,92,.42); box-shadow: inset 0 0 0 1px rgba(255,59,92,.7); animation: eb-days-pulse 1.9s ease-in-out infinite; }
@keyframes eb-days-pulse { 0%,100% { opacity: 1; } 50% { opacity: .55; } }
@media (prefers-reduced-motion: reduce) { .eb-hdr__sub--crit .eb-hdr__days { animation: none; } }
/* chips group (days-left + notes) — stays right of the brand, left of the hamburger.
   The .eb-hdr__chat and .eb-hdr__chat-badge rules that lived here went with the chat chips
   on 2026-08-25; the bubble (ebora-chat-dock.php) styles its own badge. */
.eb-hdr__chips { margin-left: auto; display: inline-flex; align-items: center; gap: 8px; flex: none; }
.eb-hdr__chips .eb-hdr__sub { margin-left: 0; }
/* Extra nav rows — backup entry points, shown ONLY in the mobile hamburger
   (the always-visible chip already covers desktop, so hide it there to avoid duplicates). */
.eb-hdr__navchat { display: none; }
/* CC2 Summer Notes chip — amber, to match the notes page's summer theme. */
.eb-hdr__notes { color:#ffe1bf; background:rgba(255,138,61,.16); border-color:rgba(255,138,61,.42); }
.eb-hdr__notes:hover { background:rgba(255,138,61,.28); color:#fff; }
/* Floating "Summer Notes" awareness bubble — shown to cc2 subscribers on every page except the notes page. */
.eb-notes-fab { position:fixed; right:16px; bottom:16px; z-index:1200; display:inline-flex; align-items:center; gap:8px; max-width:calc(100vw - 32px);
  font-family:"Space Grotesk","Manrope",system-ui,sans-serif; font-weight:700; font-size:14px; line-height:1.1; color:#10131c; text-decoration:none;
  padding:11px 14px; border-radius:999px; background:linear-gradient(135deg,#ff8a3d,#ffd24a);
  box-shadow:0 14px 32px -10px rgba(255,138,61,.75), 0 4px 12px rgba(0,0,0,.35);
  animation:eb-notes-pop .45s cubic-bezier(.2,.9,.3,1.3) both; }
.eb-notes-fab:hover { transform:translateY(-2px); box-shadow:0 18px 38px -10px rgba(255,138,61,.9), 0 6px 14px rgba(0,0,0,.4); }
.eb-notes-fab__ico { font-size:16px; flex:none; }
.eb-notes-fab__x { flex:none; margin-left:2px; width:20px; height:20px; border-radius:50%; display:grid; place-items:center; background:rgba(16,19,28,.18); color:#10131c; font-size:12px; font-weight:800; line-height:1; }
.eb-notes-fab__x:hover { background:rgba(16,19,28,.34); }
@keyframes eb-notes-pop { from { transform:translateY(14px) scale(.92); opacity:0 } to { transform:none; opacity:1 } }
@media (max-width:480px) { .eb-notes-fab { font-size:12.5px; padding:10px 12px; right:12px; bottom:12px; } }
.eb-hdr__toggle { display: none; }
@media (max-width: 880px) {
  .eb-hdr__toggle { display: inline-flex; flex-direction: column; justify-content: center; gap: 5px; width: 44px; height: 44px; padding: 11px; background: rgba(132,166,255,.06); border: 1px solid var(--eb-line); border-radius: 10px; cursor: pointer; flex: none; }
  .eb-hdr__toggle span { display: block; height: 2px; width: 100%; background: var(--eb-ink); border-radius: 2px; transition: transform .2s ease, opacity .2s ease; }
  .eb-hdr__toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .eb-hdr__toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
  .eb-hdr__toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
  .eb-hdr__nav { position: absolute; top: 100%; left: 0; right: 0; flex-direction: column; align-items: stretch; gap: 2px; background: #070b16; border-bottom: 1px solid var(--eb-line); padding: 8px clamp(18px,4vw,84px) 18px; transform: translateY(-10px); opacity: 0; pointer-events: none; transition: transform .2s ease, opacity .2s ease; }
  .eb-hdr__nav.is-open { transform: none; opacity: 1; pointer-events: auto; }
  .eb-hdr__link { padding: 13px 2px; font-size: 16px; }
  .eb-hdr__navchat { display: block; }
  .eb-hdr__link::after { display: none; }
  .eb-hdr__btn { margin-top: 10px; text-align: center; padding: 14px; font-size: 16px; }
}
@media (max-width: 880px) { .eb-hdr__name { font-size: 13px; } .eb-hdr__sub { font-size: 12px; padding: 6px 11px; margin-right: 8px; } }
@media (max-width: 480px) { .eb-hdr__sub .eb-hdr__sub-lbl { display: none; } }

/* Hub-only additions the mu-plugin has no need for: the current-page marker,
   the theme toggle, and the mobile drawer (the real header's own JS does not
   ship to a static directory, so the runtime wires the hamburger itself). */
.eb-hdr__link[aria-current]{color:var(--eb-ink)}
.eb-hdr__link[aria-current]::after{content:'';position:absolute;left:2px;right:2px;bottom:-2px;
  height:2px;border-radius:2px;background:linear-gradient(90deg,var(--eb-blue),var(--eb-cyan))}
.eb-hdr__ico{display:inline-grid;place-items:center;width:36px;height:36px;flex:none;
  border-radius:10px;border:1px solid var(--eb-line);background:transparent;
  color:var(--eb-muted);cursor:pointer;font-size:15px;line-height:1}
.eb-hdr__ico:hover{color:var(--eb-ink)}
@media (max-width:880px){
  .eb-hdr__nav{position:absolute;top:100%;left:0;right:0;display:none;flex-direction:column;
    align-items:flex-start;gap:2px;padding:10px clamp(18px,4vw,84px) 16px;
    background:#070b16;border-bottom:1px solid var(--eb-line)}
  body.eb-nav-open .eb-hdr__nav{display:flex}
}
