/* lab10yr-theme.css — canonical Lab10YR amber theme + shared app launcher.
   One source of truth for color across the public app/map site, matching the
   innovation-prototype home (#f59e0b amber on dark). Link this on every page;
   per-page :root accents should reference these values. */
:root{
  /* brand amber (matches innovation-prototype) */
  --l10-acc:#f59e0b;        /* primary accent */
  --l10-acc2:#fcd34d;       /* light accent / highlight */
  --l10-acc-deep:#d97706;   /* deep amber */
  --l10-accgrad:linear-gradient(135deg,#d97706,#fbbf24);
  --l10-acc-glow:rgba(245,158,11,.30);
  /* dark surface (shared baseline; map apps may keep their own --bg) */
  --l10-bg:#06080f;
  --l10-panel:#0f1121;
  --l10-text:#d8ddf0;
  --l10-dim:#6870a0;
  --l10-border:#252540;
}

/* ───────── shared app launcher (the cross-app "hook up") ─────────
   Fixed, unobtrusive corner control. Sits above map canvases without
   disturbing each app's own header/toolbar. Injected by js/lab10yr-nav.js. */
.l10-launch{position:fixed;top:12px;right:12px;z-index:99999;font:500 12px/1.2
  ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
.l10-launch *{box-sizing:border-box}
.l10-launch-btn{display:inline-flex;align-items:center;gap:7px;cursor:pointer;
  padding:7px 12px;border-radius:9px;color:#1a1206;background:var(--l10-accgrad);
  border:0;box-shadow:0 4px 16px rgba(245,158,11,.28);font-weight:700;
  letter-spacing:.02em;transition:transform .15s ease,box-shadow .15s ease}
.l10-launch-btn:hover{transform:translateY(-1px);box-shadow:0 6px 22px rgba(245,158,11,.4)}
.l10-launch-btn .l10-dot{width:7px;height:7px;border-radius:50%;background:#1a1206;
  box-shadow:0 0 0 3px rgba(26,18,6,.25)}
.l10-launch-btn .l10-caret{font-size:9px;opacity:.8}
.l10-menu{position:absolute;top:calc(100% + 8px);right:0;min-width:230px;
  background:rgba(15,17,33,.97);border:1px solid var(--l10-border);
  border-radius:12px;padding:7px;backdrop-filter:blur(10px);
  box-shadow:0 18px 50px rgba(0,0,0,.6);display:none;
  max-height:calc(100vh - 72px);overflow-y:auto}
.l10-menu.open{display:block}
.l10-menu a{display:flex;align-items:center;gap:9px;padding:9px 11px;border-radius:8px;
  color:var(--l10-text);text-decoration:none;font-weight:500}
.l10-menu a:hover{background:rgba(245,158,11,.12);color:#fff}
.l10-menu a.cur{color:var(--l10-acc2);background:rgba(245,158,11,.08)}
.l10-menu a .l10-i{font-size:13px;width:18px;text-align:center;opacity:.9}
.l10-menu .l10-sep{height:1px;background:var(--l10-border);margin:5px 8px}
.l10-menu .l10-hd{padding:6px 11px 3px;color:var(--l10-dim);font-size:10px;
  text-transform:uppercase;letter-spacing:.12em;font-weight:700}
@media print{.l10-launch{display:none}}

/* ── Landing header (the lab10yr.com nav) applied on every page ──────────────
   Injected into the page's existing #nav by lab10yr-nav.js so the content
   offset below the bar is preserved. Matches innovation-prototype Nav.tsx.
   Pages without a legacy #nav get a standalone .l10-sitebar injected as the
   first body element instead (lab10yr-nav.js injectSiteBar). */
#nav.l10-themed{background:rgba(8,8,12,.82)!important;
  border-bottom:1px solid rgba(255,255,255,.06)!important;
  backdrop-filter:blur(14px);display:flex!important;align-items:center;
  padding:0!important;gap:0!important}
.l10-sitebar{position:sticky;top:0;z-index:9998;display:flex;align-items:center;
  min-height:52px;background:rgba(8,8,12,.92);
  border-bottom:1px solid rgba(255,255,255,.06);backdrop-filter:blur(14px);
  font:500 13px/1.2 ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  box-sizing:border-box}
.l10-sitebar *{box-sizing:border-box}
.l10-top-inner{display:flex;align-items:center;justify-content:space-between;
  gap:18px;width:100%;max-width:1200px;margin:0 auto;padding:0 22px}
.l10-brand{display:flex;align-items:center;gap:9px;text-decoration:none;flex-shrink:0}
.l10-brand-bars{display:flex;align-items:stretch;gap:2px;height:22px}
.l10-brand-bars i{width:4px;border-radius:1px;display:block}
.l10-brand-word{font-family:Georgia,'Times New Roman',serif;font-size:19px;
  font-weight:700;color:#f0ead8;letter-spacing:-.01em;line-height:1}
.l10-brand-word span{color:#d9a83a}
.l10-top-links{display:flex;gap:26px;min-width:0}
.l10-top-links a{color:#c4c4cc;text-decoration:none;font-size:13px;font-weight:500;
  white-space:nowrap;transition:color .15s}
.l10-top-links a:hover{color:#fff}
.l10-top-cta{display:flex;align-items:center;gap:8px;flex-shrink:0}
.l10-getstarted{display:inline-flex;align-items:center;gap:6px;color:#fff;
  text-decoration:none;font-size:13px;font-weight:600;padding:8px 15px;
  border-radius:11px;white-space:nowrap;border:1px solid rgba(245,158,11,.45);
  background:linear-gradient(180deg,rgba(245,158,11,.18),rgba(245,158,11,.06));
  transition:border-color .15s,background .15s}
.l10-getstarted:hover{border-color:rgba(245,158,11,.8);
  background:linear-gradient(180deg,rgba(245,158,11,.30),rgba(245,158,11,.12))}
@media(max-width:820px){.l10-top-links{display:none}}
/* On phones the fixed "Lab10YR apps" launcher occupies the bar's right side —
   the Get-started CTA collides with it; the launcher wins (it carries Home). */
@media(max-width:640px){.l10-top-cta{display:none}}
