:root {
  --bb-paper: #f7f7f4;
  --bb-surface: #ffffff;
  --bb-surface-soft: #f0f2f4;
  --bb-ink: #0b1830;
  --bb-ink-2: #354158;
  --bb-muted: #697386;
  --bb-line: #d9dde3;
  --bb-line-strong: #bdc4ce;
  --bb-navy: #07152f;
  --bb-navy-2: #10264e;
  --bb-blue: #1849d6;
  --bb-blue-soft: rgba(24, 73, 214, .08);
  --bb-orange: #ff6b35;
  --bb-success: #147d64;
  --bb-warning: #a85d08;
  --bb-danger: #bd2c3c;
  --bb-radius-xs: 4px;
  --bb-radius-sm: 6px;
  --bb-radius-md: 8px;
  --bb-shadow-1: 0 1px 2px rgba(7, 21, 47, .05);
  --bb-shadow-2: 0 14px 34px rgba(7, 21, 47, .10);
  --bb-font: "Noto Sans SC", "Microsoft YaHei", "PingFang SC", Arial, sans-serif;
  --bb-mono: "Geist Mono", "SFMono-Regular", Consolas, monospace;

  --bg: var(--bb-paper) !important;
  --bg2: var(--bb-surface) !important;
  --bg3: var(--bb-surface-soft) !important;
  --bd: var(--bb-line) !important;
  --bdh: var(--bb-line-strong) !important;
  --t: var(--bb-ink) !important;
  --t2: var(--bb-ink-2) !important;
  --t3: var(--bb-muted) !important;
  --t4: #8d96a5 !important;
  --bl: var(--bb-blue) !important;
  --bld: rgba(29, 78, 216, .08) !important;
  --cy: var(--bb-orange) !important;
  --cyd: rgba(240, 100, 50, .09) !important;
  --go: var(--bb-orange) !important;
  --god: rgba(240, 100, 50, .09) !important;
  --rd: var(--bb-danger) !important;
  --rdd: rgba(189, 44, 60, .08) !important;
  --pr: var(--bb-blue) !important;
  --prd: rgba(29, 78, 216, .08) !important;
  --gd: var(--bb-blue) !important;
  --rl: var(--bb-radius-md) !important;
  --rf: var(--bb-radius-sm) !important;
  --f: var(--bb-font) !important;
}

* { box-sizing: border-box; }
html { min-width: 320px; background: var(--bb-paper); }
body {
  margin: 0 !important;
  min-width: 320px;
  min-height: 100vh;
  overflow-x: hidden;
  background: var(--bb-paper) !important;
  color: var(--bb-ink) !important;
  font-family: var(--bb-font) !important;
  font-size: 14px;
  letter-spacing: 0 !important;
  -webkit-font-smoothing: antialiased;
}
body::before,
body::after { display: none !important; content: none !important; }
a { color: inherit; text-decoration: none; }
button,
input,
textarea,
select { font: inherit; letter-spacing: 0; }
button,
a { -webkit-tap-highlight-color: transparent; }

.bb-app {
  position: relative !important;
  z-index: 1;
  width: 100% !important;
  max-width: none !important;
  min-height: 100dvh !important;
  height: auto !important;
  margin: 0 !important;
  overflow: visible !important;
  background: var(--bb-paper) !important;
}
.bb-main {
  width: 100%;
  min-width: 0;
  height: auto !important;
  min-height: 100dvh;
  overflow: visible !important;
  padding: 0 16px calc(92px + env(safe-area-inset-bottom)) !important;
}
.bb-main > .bb-p {
  width: 100%;
  max-width: 1120px;
  margin-inline: auto;
}
.bb-p { color: var(--bb-ink) !important; }
.bb-screen {
  min-height: 0 !important;
  height: auto !important;
  padding-block: 0 !important;
}
.bb-screen-2 { padding-top: 34px !important; }
.bb-scroll-hint { display: none !important; }

.C,
.card,
.gcard,
.bs,
.oppo-card,
.pr,
.course-row,
.tc,
.level-card {
  border: 1px solid var(--bb-line) !important;
  border-radius: var(--bb-radius-md) !important;
  background: var(--bb-surface) !important;
  background-image: none !important;
  box-shadow: var(--bb-shadow-1) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  color: var(--bb-ink) !important;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease !important;
}
.C:hover,
.card:hover,
.gcard:hover,
.bs:hover,
.oppo-card:hover,
.pr:hover,
.course-row:hover,
.tc:hover {
  border-color: var(--bb-line-strong) !important;
  box-shadow: var(--bb-shadow-2) !important;
  transform: translateY(-1px);
}

.bt,
.btn,
.bp,
.hero-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 40px;
  text-decoration: none;
  border-radius: var(--bb-radius-sm) !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  box-shadow: none !important;
  transition: background-color .18s ease, border-color .18s ease, color .18s ease, transform .18s ease !important;
}

.chapter-desc-card + div .bt,
.chapter-desc-card ~ div .bt {
  margin-top: 10px;
}
.bt.bp,
.bp,
.btn:not(.secondary),
.hero-btn-primary {
  border: 1px solid var(--bb-blue) !important;
  background: var(--bb-blue) !important;
  background-image: none !important;
  color: #fff !important;
}
.bt.bo,
.bo,
.btn.secondary,
.hero-btn-ghost {
  border: 1px solid var(--bb-line-strong) !important;
  background: var(--bb-surface) !important;
  color: var(--bb-ink) !important;
}
.bt:hover,
.btn:hover,
.hero-btn:hover { filter: none !important; transform: translateY(-1px) !important; }

.bb-skill-picker { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 7px; }
.bb-skill-picker button { min-height: 34px; padding: 0 10px; border: 1px solid var(--bb-line); border-radius: 5px; background: var(--bb-surface); color: var(--bb-ink-3); font: inherit; font-size: 11px; cursor: pointer; }
.bb-skill-picker button.is-selected { border-color: var(--bb-blue); background: var(--bb-blue-soft); color: var(--bb-blue); font-weight: 700; }
.bb-avatar { display: inline-grid; place-items: center; flex: 0 0 auto; overflow: hidden; border-radius: 50%; object-fit: cover; color: #fff; font-weight: 900; }
.bb-skeleton { position: relative; overflow: hidden; background: #e9eef5; color: transparent !important; }
.bb-skeleton::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg,transparent,rgba(255,255,255,.72),transparent); transform: translateX(-100%); animation: bbSkeleton 1.2s ease-in-out infinite; }
@keyframes bbSkeleton { to { transform: translateX(100%); } }
.bb-avatar-edit{position:relative;width:58px;height:58px;padding:0;border:0;border-radius:50%;background:transparent;cursor:pointer}.bb-avatar-edit>span{position:absolute;right:-2px;bottom:-2px;width:22px;height:22px;display:grid;place-items:center;border:2px solid #fff;border-radius:50%;background:var(--bb-blue);color:#fff}.bb-growth-dashboard{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:10px 0}.bb-growth-dashboard>article{min-width:0;padding:16px;border:1px solid var(--bb-line);background:var(--bb-surface)}.bb-growth-dashboard header{display:flex;align-items:start;justify-content:space-between;gap:10px}.bb-growth-dashboard header small{color:var(--bb-blue);font-family:var(--bb-mono);font-size:8px}.bb-growth-dashboard h2{margin:4px 0 12px;font-size:17px}.bb-quest{min-height:52px;display:grid;grid-template-columns:38px minmax(0,1fr) 28px;align-items:center;gap:8px;border-top:1px solid var(--bb-line)}.bb-quest>span{color:var(--bb-muted);font-size:9px}.bb-quest b{display:block;font-size:11px}.bb-quest i{height:4px;display:block;overflow:hidden;margin-top:6px;background:var(--bb-line)}.bb-quest em{height:100%;display:block;background:var(--bb-blue)}.bb-quest>strong{font-size:10px}.bb-badge-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.bb-badge-grid>div{min-height:88px;padding:9px;border:1px solid var(--bb-line);filter:grayscale(1);opacity:.48}.bb-badge-grid>div.is-earned{border-color:#9ddbd7;background:#eefafa;filter:none;opacity:1}.bb-badge-grid b,.bb-badge-grid small{display:block}.bb-badge-grid b{margin-top:6px;font-size:10px}.bb-badge-grid small{margin-top:3px;color:var(--bb-muted);font-size:8px;line-height:1.4}.bb-work{padding:10px 0;border-top:1px solid var(--bb-line)}.bb-work b,.bb-work small{display:block}.bb-work b{font-size:12px}.bb-work small{margin-top:3px;color:var(--bb-blue);font-size:9px}.bb-work p,.bb-empty-copy,.bb-heatmap-note{margin:5px 0;color:var(--bb-muted);font-size:9px;line-height:1.5}.bb-work-candidates{display:grid;gap:5px;margin-top:9px}.bb-work-candidates button{min-height:38px;padding:0 10px;border:1px solid var(--bb-line);background:var(--bb-surface-2);color:var(--bb-ink-3);font-size:10px;text-align:left;cursor:pointer}.bb-heatmap{display:grid;grid-template-columns:repeat(12,1fr);gap:4px}.bb-heatmap i{aspect-ratio:1;border:1px solid var(--bb-line);background:#eef2f7}.bb-heatmap i[data-score]:not([data-score="0"]){background:#9ddbd7}.bb-heatmap i[data-score="10"],.bb-heatmap i[data-score="15"],.bb-heatmap i[data-score="20"]{background:#43aaa4}.bb-heatmap i[data-score="50"]{background:#1849d6}@media(max-width:767px){.bb-growth-dashboard{grid-template-columns:1fr}.bb-badge-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.bb-badge-grid>div{min-height:76px}.bb-badge-grid small{display:none}}

.sr,
.fi,
.fm-i,
.fm-ta,
.pf-i,
.form-control,
input:not([type="checkbox"]):not([type="radio"]),
textarea,
select {
  min-height: 42px;
  border: 1px solid var(--bb-line) !important;
  border-radius: var(--bb-radius-sm) !important;
  background: var(--bb-surface) !important;
  color: var(--bb-ink) !important;
  box-shadow: none !important;
}
.sr:focus,
.fi:focus,
.fm-i:focus,
.fm-ta:focus,
.pf-i:focus,
.form-control:focus,
input:focus,
textarea:focus,
select:focus {
  outline: none !important;
  border-color: var(--bb-blue) !important;
  box-shadow: 0 0 0 3px rgba(29, 78, 216, .10) !important;
}

.brand-title {
  font-family: var(--bb-font) !important;
  font-size: 28px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
  color: var(--bb-navy) !important;
  text-shadow: none !important;
  animation: none !important;
  transform: none !important;
}
.brand-sub,
.brand-sub-hl {
  font-family: var(--bb-font) !important;
  font-size: 14px !important;
  letter-spacing: 0 !important;
  color: var(--bb-muted) !important;
  text-shadow: none !important;
  animation: none !important;
}
.brand-sub-hl { color: var(--bb-orange) !important; font-weight: 700 !important; }
.sh,
.sh-art,
.section-title,
.section-heading { color: var(--bb-navy) !important; }
.sh-cnt,
.section-subtitle,
.muted { color: var(--bb-muted) !important; }

.hero-home {
  position: relative;
  width: calc(100% + 32px) !important;
  height: min(520px, 68vh) !important;
  min-height: 390px;
  margin-inline: -16px !important;
  border-radius: 0 !important;
  overflow: hidden;
  background: var(--bb-navy) !important;
}
.hero-home-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 54% center;
  filter: saturate(.78) contrast(1.04);
}
.hero-home-shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(4, 15, 34, .94) 0%, rgba(4, 15, 34, .70) 48%, rgba(4, 15, 34, .20) 100%) !important;
}
.hero-home-glow { display: none !important; }
.hero-brand {
  position: absolute !important;
  top: 26px !important;
  left: 24px !important;
  right: auto !important;
  color: #fff !important;
  font-family: var(--bb-font) !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  transform: none !important;
  text-shadow: none !important;
}
.hero-home-copy {
  position: absolute;
  left: 24px !important;
  right: 24px !important;
  bottom: 34px !important;
  display: block !important;
  max-width: 760px !important;
  width: auto !important;
  padding: 0 !important;
  text-align: left !important;
}
.hero-eyebrow,
.bb-page-eyebrow,
.bb-context-eyebrow {
  margin: 0 0 14px !important;
  color: var(--bb-orange) !important;
  font-family: var(--bb-mono);
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase;
}
.hero-eyebrow i { background: var(--bb-orange) !important; }
.hero-title {
  margin: 0 0 16px !important;
  color: #fff !important;
  font-family: var(--bb-font) !important;
  font-size: clamp(36px, 4vw, 54px) !important;
  font-weight: 800 !important;
  line-height: 1.12 !important;
  letter-spacing: 0 !important;
  text-align: left !important;
  text-shadow: none !important;
}
.hero-title .hero-line,
.hero-title .hero-line:first-child,
.hero-title .hero-line:last-child,
.hero-line > span {
  overflow: visible !important;
  font-size: inherit !important;
  line-height: inherit !important;
  text-align: left !important;
}
.hero-title em { color: #fff !important; font-style: normal; }
.hero-lead {
  max-width: 620px;
  margin: 0 !important;
  color: rgba(255, 255, 255, .78) !important;
  font-size: 15px !important;
  line-height: 1.8 !important;
}
.hero-actions { justify-content: flex-start !important; margin-top: 24px !important; gap: 10px !important; }
.hero-btn { padding: 0 18px !important; }
.hero-btn-ghost { border-color: rgba(255,255,255,.55) !important; background: transparent !important; color: #fff !important; }
.skill-tag-input { font-size: 14px !important; }

.bn-wrap { margin-top: 18px !important; }
.bn {
  min-height: 150px !important;
  border-radius: var(--bb-radius-md) !important;
  background: var(--bb-navy) !important;
  background-image: none !important;
  overflow: hidden;
}
.bn-img { border-radius: var(--bb-radius-md) !important; }
.bn-o { background: linear-gradient(90deg, rgba(7,21,47,.92), rgba(7,21,47,.46)) !important; }
.bn-tag { border-radius: var(--bb-radius-xs) !important; background: var(--bb-orange) !important; }
.bn-title,
.bn-stats strong { color: #fff !important; }
.bn-sub,
.bn-stats span { color: rgba(255,255,255,.72) !important; }

.bb-page-intro {
  margin: 0 0 24px;
  padding: 28px 0 24px;
  border-bottom: 1px solid var(--bb-line);
}
.bb-page-intro h1 {
  max-width: 760px;
  margin: 0;
  color: var(--bb-navy);
  font-size: clamp(28px, 4vw, 48px);
  line-height: 1.16;
  letter-spacing: 0;
}
.bb-page-intro > p {
  max-width: 700px;
  margin: 14px 0 0;
  color: var(--bb-ink-2);
  font-size: 15px;
  line-height: 1.8;
}
.bb-path {
  display: grid;
  grid-template-columns: 1fr auto 1fr auto 1fr;
  align-items: center;
  gap: 10px;
  max-width: 660px;
  margin-top: 22px;
}
.bb-path-step {
  padding: 13px 14px;
  border: 1px solid var(--bb-line);
  border-radius: var(--bb-radius-sm);
  background: var(--bb-surface);
}
.bb-path-step b { display: block; color: var(--bb-navy); font-size: 14px; }
.bb-path-step span { display: block; margin-top: 4px; color: var(--bb-muted); font-size: 14px; }
.bb-path-arrow { color: var(--bb-orange); }
.bb-next-action {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-top: 18px;
  padding: 16px 18px;
  border-left: 3px solid var(--bb-orange);
  background: #fff;
}
.bb-next-action small { display: block; color: var(--bb-muted); font-size: 14px; }
.bb-next-action strong { display: block; margin-top: 3px; color: var(--bb-navy); font-size: 16px; }
.bb-next-action a { color: var(--bb-blue); font-weight: 700; white-space: nowrap; }

.bb-task-meta {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 12px 0;
}
.bb-task-meta > div {
  padding: 10px;
  border: 1px solid var(--bb-line);
  border-radius: var(--bb-radius-xs);
  background: var(--bb-surface-soft);
}
.bb-task-meta span { display: block; color: var(--bb-muted); font-size: 14px; }
.bb-task-meta b { display: block; margin-top: 3px; color: var(--bb-ink); font-size: 14px; }
.tc { display: block; padding: 18px !important; margin-bottom: 12px; }
.tc-h { align-items: flex-start !important; }
.tc-ft { padding-top: 10px; border-top: 1px solid var(--bb-line); }

.bb-profile-hero {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
  margin: 0 0 18px;
  padding: 28px;
  border-radius: 0 0 var(--bb-radius-md) var(--bb-radius-md);
  background: var(--bb-navy);
  color: #fff;
}
.bb-profile-avatar {
  width: 72px;
  height: 72px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.38);
  border-radius: 50%;
  background: var(--bb-blue) !important;
  color: #fff;
  font-size: 25px;
  font-weight: 800;
}
.bb-profile-copy h1 { margin: 0; font-size: 24px; }
.bb-profile-copy p { margin: 6px 0 0; color: rgba(255,255,255,.7); line-height: 1.6; }
.bb-profile-score { text-align: right; }
.bb-profile-score strong { display: block; font-family: var(--bb-mono); font-size: 30px; }
.bb-profile-score span { color: rgba(255,255,255,.64); }
.bb-skill-row { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.bb-skill-row span,
.ch,
.tg,
.lv,
.status-badge,
.pill {
  border-radius: var(--bb-radius-xs) !important;
  font-size: 14px !important;
  letter-spacing: 0 !important;
}
.bb-skill-row span {
  padding: 4px 8px;
  border: 1px solid rgba(255,255,255,.25);
  color: #fff;
}

.st,
.st2,
.cats {
  border-radius: var(--bb-radius-sm) !important;
  background: var(--bb-surface-soft) !important;
  border: 1px solid var(--bb-line) !important;
}
.st > *,
.st2 > *,
.cats > * {
  min-height: 38px;
  border-radius: var(--bb-radius-xs) !important;
  color: var(--bb-muted) !important;
}
.st .a,
.st2 .a,
.cats .a {
  background: var(--bb-surface) !important;
  color: var(--bb-navy) !important;
  box-shadow: var(--bb-shadow-1) !important;
}
.pb { background: #e5e8ed !important; border-radius: 2px !important; overflow: hidden; }
.pb > div,
.level-progress-track > div { background: var(--bb-blue) !important; border-radius: 2px !important; }

.bb-ph {
  background: rgba(255,255,255,.94) !important;
  border-bottom: 1px solid var(--bb-line) !important;
  backdrop-filter: blur(12px) !important;
}
.bb-ph-t { color: var(--bb-navy) !important; }

.bb-tab {
  position: fixed !important;
  z-index: 999 !important;
  inset: auto 0 0 0 !important;
  transform: none !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 70px;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0 !important;
  padding: 6px 8px max(6px, env(safe-area-inset-bottom)) !important;
  border: 0 !important;
  border-top: 1px solid var(--bb-line) !important;
  background: rgba(255,255,255,.97) !important;
  background-image: none !important;
  box-shadow: 0 -6px 20px rgba(7,21,47,.07) !important;
  overflow: visible !important;
}
.bb-tab::before { display: none !important; content: none !important; }
.bb-tab a {
  position: relative;
  min-width: 0;
  min-height: 54px;
  display: flex !important;
  flex-direction: column;
  align-items: center;
  justify-content: center !important;
  gap: 4px !important;
  padding: 5px 3px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--bb-muted) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  box-shadow: none !important;
  text-shadow: none !important;
}
.bb-tab a.a {
  border: 0 !important;
  background: transparent !important;
  color: var(--bb-blue) !important;
  box-shadow: none !important;
}
.bb-tab a.a::after {
  content: "";
  position: absolute;
  left: 30%;
  right: 30%;
  bottom: 0;
  height: 2px;
  background: var(--bb-orange);
}

.bb-context-rail { display: none; }

body :where(p, li, label, input, textarea, td, th) {
  font-size: max(14px, 1em) !important;
}
body :where(button, small, .comment-actions, .bs-ft, .bs-t, .lv, .gc-count, .gc-arrow, .bb-meta) {
  font-size: inherit;
}

/* Admin shares the same tokens while keeping a dense desktop workflow. */
.admin-shell { grid-template-columns: 248px minmax(0, 1fr) !important; background: var(--bb-paper); }
.admin-sidebar {
  background: var(--bb-navy) !important;
  background-image: none !important;
  border-right: 1px solid rgba(255,255,255,.10);
}
.admin-sidebar-inner { padding: 18px 14px !important; }
.admin-sidebar .brand {
  padding: 14px 10px 18px !important;
  border: 0 !important;
  border-radius: 0 !important;
  border-bottom: 1px solid rgba(255,255,255,.12) !important;
  background: transparent !important;
}
.admin-sidebar .brand .logo {
  border-radius: var(--bb-radius-xs) !important;
  background: var(--bb-orange) !important;
}
.admin-sidebar .nav-title { letter-spacing: 0 !important; }
.admin-sidebar .nav a {
  border-radius: var(--bb-radius-xs) !important;
  font-size: 14px !important;
  transform: none !important;
}
.admin-sidebar .nav a.active {
  background: rgba(255,255,255,.12) !important;
  box-shadow: inset 3px 0 0 var(--bb-orange) !important;
}
.admin-sidebar .nav-icon { border-radius: var(--bb-radius-xs) !important; background: transparent !important; }
.admin-topbar { background: rgba(255,255,255,.96) !important; border-color: var(--bb-line) !important; }
.admin-content { max-width: 1480px !important; padding: 24px !important; }
.admin-content .card,
.table-wrap {
  border-radius: var(--bb-radius-sm) !important;
  border-color: var(--bb-line) !important;
  box-shadow: var(--bb-shadow-1);
}
.admin-content th {
  background: #f1f3f5 !important;
  color: var(--bb-ink-2) !important;
  font-size: 14px !important;
}
.admin-content td { font-size: 14px !important; }
.page-title { color: var(--bb-navy) !important; font-size: 22px !important; letter-spacing: 0 !important; }
.kpi .num { color: var(--bb-navy); font-family: var(--bb-mono); font-size: 28px !important; }
.admin-topbar .search,
.admin-topbar .pill { border-radius: var(--bb-radius-sm) !important; }

@media (min-width: 768px) and (max-width: 1199px) {
  .bb-app {
    display: grid !important;
    grid-template-columns: 76px minmax(0, 1fr) !important;
  }
  .bb-main {
    grid-column: 2;
    padding: 30px clamp(24px, 4vw, 46px) 56px !important;
  }
  .bb-tab {
    grid-column: 1;
    position: sticky !important;
    top: 0 !important;
    width: 76px !important;
    height: 100dvh !important;
    display: flex !important;
    flex-direction: column;
    padding: 112px 10px 18px !important;
    border-top: 0 !important;
    border-right: 1px solid rgba(255,255,255,.12) !important;
    background: var(--bb-navy) !important;
  }
  .bb-tab::before {
    display: block !important;
    content: "BB" !important;
    position: absolute;
    top: 30px !important;
    left: 20px !important;
    color: #fff;
    font-family: var(--bb-mono);
    font-size: 18px;
    font-weight: 800;
    right: auto !important;
    bottom: auto !important;
    width: auto !important;
    height: auto !important;
    background: none !important;
    animation: none !important;
    box-shadow: none !important;
  }
  .bb-tab a {
    min-height: 54px;
    color: rgba(255,255,255,.62) !important;
  }
  .bb-tab a span { display: none; }
  .bb-tab a.a { color: #fff !important; }
  .bb-tab a.a::after { left: -10px; right: auto; top: 12px; bottom: 12px; width: 3px; height: auto; }
  .hero-home { width: 100% !important; margin: 0 !important; border-radius: var(--bb-radius-md) !important; }
}

@media (min-width: 1200px) {
  .bb-app {
    display: grid !important;
    grid-template-columns: 248px minmax(0, 1fr) 288px !important;
    align-items: start;
  }
  .bb-main {
    grid-column: 2;
    grid-row: 1;
    min-width: 0;
    padding: 42px clamp(28px, 3vw, 58px) 72px !important;
  }
  .bb-tab {
    grid-column: 1;
    grid-row: 1;
    position: sticky !important;
    top: 0 !important;
    width: 248px !important;
    height: 100dvh !important;
    display: flex !important;
    flex-direction: column;
    justify-content: flex-start;
    gap: 4px !important;
    padding: 124px 16px 24px !important;
    border-top: 0 !important;
    border-right: 1px solid rgba(255,255,255,.11) !important;
    background: var(--bb-navy) !important;
    box-shadow: none !important;
  }
  .bb-tab::before {
    display: block !important;
    content: "BLUE BLOOD ELITE\A 蓝血菁英" !important;
    white-space: pre;
    position: absolute;
    top: 38px !important;
    left: 28px !important;
    color: #fff;
    font-family: var(--bb-mono);
    font-size: 13px;
    font-weight: 800;
    line-height: 1.8;
    letter-spacing: .08em;
    right: auto !important;
    bottom: auto !important;
    width: auto !important;
    height: auto !important;
    background: none !important;
    animation: none !important;
    box-shadow: none !important;
  }
  .bb-tab a {
    min-height: 46px;
    flex: 0 0 46px !important;
    flex-direction: row;
    justify-content: flex-start !important;
    gap: 11px !important;
    padding: 0 12px !important;
    border-radius: var(--bb-radius-xs) !important;
    color: rgba(255,255,255,.66) !important;
  }
  .bb-tab a:hover { background: rgba(255,255,255,.035) !important; color: #fff !important; }
  .bb-tab a.a { background: transparent !important; color: #fff !important; }
  .bb-tab a.a::after {
    left: 0;
    right: auto;
    top: 9px;
    bottom: 9px;
    width: 3px;
    height: auto;
  }
  .bb-context-rail {
    grid-column: 3;
    grid-row: 1;
    position: sticky;
    top: 0;
    display: block;
    height: 100dvh;
    border-left: 1px solid var(--bb-line);
    background: #f1f2ef;
  }
  .bb-context-inner {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 38px 24px 28px;
  }
  .bb-context-brand {
    color: var(--bb-navy);
    font-family: var(--bb-mono);
    font-size: 13px;
    font-weight: 800;
    line-height: 1.5;
    letter-spacing: .08em;
  }
  .bb-context-brand span { color: var(--bb-orange); }
  .bb-context-card { margin-top: 72px; }
  .bb-context-card h2 { margin: 0; color: var(--bb-navy); font-size: 22px; line-height: 1.35; }
  .bb-context-card p { margin: 12px 0 18px; color: var(--bb-ink-2); line-height: 1.75; }
  .bb-context-card a { display: inline-flex; align-items: center; gap: 6px; color: var(--bb-blue); font-weight: 700; }
  .bb-context-note {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: auto;
    color: var(--bb-muted);
    font-family: var(--bb-mono);
    font-size: 11px;
  }
  .bb-context-note i { width: 16px; height: 1px; background: var(--bb-line-strong); }
  .hero-home { width: 100% !important; margin: 0 !important; border-radius: var(--bb-radius-md) !important; }
  .sec-grid { grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr) !important; gap: 28px !important; }
}

@media (max-width: 767px) {
  .hero-home { height: 445px !important; }
  .hero-home-copy { left: 20px !important; right: 20px !important; bottom: 28px !important; }
  .hero-title { font-size: 34px !important; }
  .hero-lead { display: block !important; }
  .hero-actions { display: flex !important; flex-wrap: wrap; }
  .bb-page-intro { padding-top: 22px; }
  .bb-path { grid-template-columns: 1fr; }
  .bb-path-arrow { transform: rotate(90deg); justify-self: center; }
  .bb-next-action { align-items: flex-start; flex-direction: column; }
  .bb-task-meta { grid-template-columns: 1fr; }
  .bb-profile-hero { grid-template-columns: auto minmax(0, 1fr); padding: 22px 18px; }
  .bb-profile-score { grid-column: 1 / -1; display: flex; align-items: baseline; gap: 8px; text-align: left; }
  .bb-profile-score strong { font-size: 24px; }
  .sec-grid { display: block !important; }
}

@media (max-width: 980px) {
  .admin-shell { grid-template-columns: 1fr !important; }
  .admin-content { padding: 18px 14px !important; }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}

.bb-user-overlay { position: fixed; z-index: 1390; inset: 0; background: rgba(3,10,22,.38); }
.bb-user-drawer { position: fixed; z-index: 1400; top: 0; right: 0; width: min(390px, 100vw); height: 100dvh; display: grid; grid-template-rows: auto auto minmax(0,1fr); background: var(--bb-surface); border-left: 1px solid var(--bb-line); box-shadow: -24px 0 60px rgba(7,20,47,.18); transform: translateX(102%); transition: transform .2s ease; }
.bb-user-drawer.is-open { transform: translateX(0); }
.bb-user-drawer > header { min-height: 58px; display: flex; align-items: center; justify-content: space-between; padding: 0 16px; border-bottom: 1px solid var(--bb-line); }
.bb-user-drawer > header button { width: 40px; height: 40px; display: grid; place-items: center; border: 0; background: transparent; color: var(--bb-ink-3); cursor: pointer; }
.bb-user-card-body { padding: 18px; }
.bb-user-loading { padding: 40px 0; text-align: center; color: var(--bb-muted); }
.bb-user-identity { display: flex; align-items: center; gap: 12px; }
.bb-user-identity > img,.bb-user-identity > span { width: 54px; height: 54px; display: grid; place-items: center; border-radius: 50%; object-fit: cover; color: #fff; font-weight: 900; }
.bb-user-identity h3,.bb-user-identity p { margin: 0; }.bb-user-identity h3 { font-size: 17px; }.bb-user-identity p { margin-top: 4px; color: var(--bb-muted); font-size: 11px; }
.bb-user-bio { margin: 16px 0; color: var(--bb-ink-3); font-size: 12px; line-height: 1.7; }
.bb-user-evidence { display: grid; grid-template-columns: 1fr 1fr; border-block: 1px solid var(--bb-line); }
.bb-user-evidence > div { padding: 12px; text-align: center; }.bb-user-evidence b,.bb-user-evidence span { display: block; }.bb-user-evidence b { font-size: 19px; }.bb-user-evidence span { color: var(--bb-muted); font-size: 10px; }
.bb-user-skills { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 14px; }.bb-user-skills span { padding: 4px 7px; border: 1px solid var(--bb-line); border-radius: 4px; color: var(--bb-ink-3); font-size: 10px; }
.bb-user-actions { display: flex; gap: 8px; margin-top: 16px; }.bb-user-actions a,.bb-user-actions button { flex: 1; min-height: 40px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--bb-blue); border-radius: 5px; background: var(--bb-surface); color: var(--bb-blue); font: inherit; font-size: 12px; font-weight: 700; text-decoration: none; cursor: pointer; }.bb-user-actions button { background: var(--bb-blue); color: #fff; }
.bb-user-chat { min-height: 0; display: grid; grid-template-rows: minmax(0,1fr) auto; border-top: 1px solid var(--bb-line); background: var(--bb-surface-2); }.bb-user-chat[hidden] { display: none; }
.bb-user-chat-thread { min-height: 180px; overflow-y: auto; padding: 14px; }.bb-user-chat-thread div { width: fit-content; max-width: 82%; margin-bottom: 8px; padding: 8px 10px; border: 1px solid var(--bb-line); border-radius: 6px; background: #fff; font-size: 12px; }.bb-user-chat-thread div.is-me { margin-left: auto; background: var(--bb-blue); color: #fff; }.bb-user-chat-thread p { color: var(--bb-muted); font-size: 11px; text-align: center; }
.bb-user-chat form { display: grid; grid-template-columns: 1fr 42px; gap: 7px; padding: 10px; border-top: 1px solid var(--bb-line); }.bb-user-chat form button { border: 0; border-radius: 5px; background: var(--bb-blue); color: #fff; }
@media (prefers-reduced-motion: reduce) { .bb-user-drawer { transition: none; } }

/* Learning community components live here because legacy group pages still contain isolated styles. */
.group-quick-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:10px 0;background:var(--bb-line);border:1px solid var(--bb-line)}
.group-quick-actions a,.group-quick-actions button{min-height:58px;display:grid;grid-template-columns:20px 1fr;align-items:center;gap:4px;padding:9px 11px;border:0;background:#fff;color:var(--bb-ink);text-align:left;text-decoration:none;cursor:pointer}
.group-quick-actions span{font-size:12px;font-weight:800}.group-quick-actions b{grid-column:2;color:var(--bb-muted);font-size:9px}
.group-announcements,.group-active-members,.group-files{margin:10px 0;padding:14px;border:1px solid var(--bb-line);background:#fff;color:var(--bb-ink)}
.group-announcements>strong{display:flex;align-items:center;gap:6px;font-size:12px}.group-announcements article{margin-top:9px;padding-top:9px;border-top:1px solid var(--bb-line)}.group-announcements article b{font-size:12px}.group-announcements article p{margin:4px 0 0;color:var(--bb-muted);font-size:10px}
.group-active-members header,.group-files header{display:flex;justify-content:space-between;align-items:center}.group-active-members header strong{font-size:13px}.group-active-members header a{color:var(--bb-blue);font-size:10px}.group-active-members>div{display:flex;gap:7px;overflow-x:auto;margin-top:10px}.group-active-members button{min-width:86px;padding:9px;border:1px solid var(--bb-line);background:#fff;cursor:pointer}.group-active-members button span{width:32px;height:32px;display:grid;place-items:center;margin:auto;border-radius:50%;background:var(--bb-navy);color:#fff}.group-active-members button b,.group-active-members button small{display:block;margin-top:4px;font-size:9px}.group-active-members button small{color:var(--bb-muted)}
.group-files header small{color:var(--bb-blue);font-size:8px}.group-files h2{margin:2px 0;font-size:17px}.group-files header>span{color:var(--bb-muted);font-size:9px}.group-files>a{min-height:52px;display:grid;grid-template-columns:22px minmax(0,1fr) 18px;align-items:center;gap:9px;border-top:1px solid var(--bb-line);color:var(--bb-ink);text-decoration:none}.group-files>a span b,.group-files>a span small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.group-files>a span b{font-size:11px}.group-files>a span small,.group-files>p{color:var(--bb-muted);font-size:9px}
.group-chat-drawer{position:fixed!important;z-index:1450!important;top:0!important;right:0!important;bottom:0!important;width:min(420px,100vw)!important;height:100dvh!important;display:grid!important;grid-template-rows:auto minmax(0,1fr) auto!important;background:#fff!important;color:var(--bb-ink)!important;border-left:1px solid var(--bb-line)!important;transform:translateX(102%)!important;transition:transform .2s!important}.group-chat-drawer.is-open{transform:translateX(0)!important}.group-chat-drawer header{min-height:58px;display:flex;align-items:center;justify-content:space-between;padding:0 14px;border-bottom:1px solid var(--bb-line)}.group-chat-drawer header button{width:40px;height:40px;border:0;background:none}.group-chat-drawer>div{overflow-y:auto;padding:14px}.group-chat-message{display:grid;grid-template-columns:30px minmax(0,1fr);gap:8px;margin-bottom:11px}.group-chat-message>button{width:30px;height:30px;border:0;border-radius:50%;background:var(--bb-navy);color:#fff}.group-chat-message p{margin:3px 0 0;padding:8px;background:var(--bb-surface-2);border-radius:5px;font-size:11px}.group-chat-message small{color:var(--bb-muted);font-size:9px}.group-chat-drawer form{display:grid;grid-template-columns:1fr 58px;gap:7px;padding:10px;border-top:1px solid var(--bb-line)}.group-chat-drawer form button{border:0;background:var(--bb-blue);color:#fff;font-weight:800}
@media(max-width:767px){.group-quick-actions a,.group-quick-actions button{grid-template-columns:1fr;text-align:center;justify-items:center;padding-inline:5px}.group-quick-actions b{grid-column:1}.group-active-members button{min-width:78px}.group-chat-drawer{top:auto!important;height:min(76vh,680px)!important;border-radius:10px 10px 0 0!important}}

/* Launch experience v2: compact native mobile, evidence-first desktop. */
* { letter-spacing: 0 !important; }

.bb-live-missions {
  margin-top: 14px;
  padding: 14px;
  border: 1px solid #24334d;
  border-radius: var(--bb-radius-md);
  background: #08162b;
  color: #fff;
}
.bb-live-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; font-family: var(--bb-mono); font-size: 12px; }
.bb-live-head > div { display: flex; align-items: center; gap: 7px; color: #b7c5d9; }
.bb-live-head a { display: inline-flex; align-items: center; gap: 3px; color: #80e1dd; }
.bb-live-dot { width: 7px; height: 7px; border-radius: 50%; background: #50d6b5; box-shadow: 0 0 0 4px rgba(80,214,181,.12); }
.bb-live-track { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; margin-top: 12px; background: rgba(255,255,255,.12); }
.bb-live-card { min-width: 0; padding: 13px; background: #0d1d35; }
.bb-live-card span, .bb-live-card small { display: block; color: #8294ad; font-size: 11px !important; }
.bb-live-card strong { display: -webkit-box; min-height: 42px; margin: 7px 0; overflow: hidden; color: #f8fbff; font-size: 14px; line-height: 1.5; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.bb-live-card:hover { background: #122642; }

.bb-ability-os { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(220px, .5fr); gap: 22px; padding: 26px !important; border: 1px solid #263752 !important; border-radius: var(--bb-radius-md); background: #07152f; color: #fff; }
.bb-ability-os h1 { color: #fff; font-size: clamp(30px, 3.5vw, 46px); }
.bb-ability-os .bb-ability-copy > p { max-width: 700px; margin: 12px 0 0; color: #aebdd1; line-height: 1.7; }
.bb-ability-meter { display: grid; grid-template-columns: 112px 1fr; align-items: center; gap: 15px; }
.bb-ring { --score: 36; width: 112px; aspect-ratio: 1; display: grid; place-content: center; text-align: center; border-radius: 50%; background: radial-gradient(circle at center, #07152f 61%, transparent 62%), conic-gradient(#45d5ce calc(var(--score) * 1%), #263752 0); }
.bb-ring strong { font-family: var(--bb-mono); font-size: 30px; }
.bb-ring span { display: block; color: #8396b0; font-size: 11px !important; }
.bb-signal-list { display: grid; gap: 7px; }
.bb-signal-list div { display: flex; justify-content: space-between; gap: 8px; padding-bottom: 7px; border-bottom: 1px solid rgba(255,255,255,.12); }
.bb-signal-list span { color: #7f91a9; font-family: var(--bb-mono); font-size: 10px !important; }
.bb-signal-list b { color: #fff; font-family: var(--bb-mono); }
.bb-ability-os .bb-path { grid-column: 1 / -1; max-width: none; margin-top: 0; }
.bb-ability-os .bb-path-step { border-color: #2b3a52; background: #0d1d35; }
.bb-ability-os .bb-path-step b { color: #dce7f5; }
.bb-ability-os .bb-path-step span { color: #7588a2; }
.bb-ability-os .bb-path-step.is-done { border-color: rgba(80,214,181,.55); }
.bb-ability-os .bb-path-step.is-done b { color: #6de0c4; }
.bb-ability-os .bb-path-step.is-active { border-color: #4b8dff; box-shadow: inset 3px 0 0 #4b8dff; }
.bb-ability-os .bb-next-action { grid-column: 1 / -1; margin-top: 0; border-left-color: #45d5ce; background: #0d1d35; }
.bb-ability-os .bb-next-action small { color: #778aa4; }
.bb-ability-os .bb-next-action strong { color: #fff; }
.bb-ability-os .bb-next-action a { color: #72ddd6; }
.bb-legacy-heading { display: none !important; }

.bb-growth-carousel { position: relative; margin: 16px 0 18px; overflow: hidden; border-radius: var(--bb-radius-md); background: #061329; }
.bb-growth-track { position: relative; height: 330px; }
.bb-today-brief { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) auto; gap: 1px; margin: 0 0 16px; overflow: hidden; border: 1px solid var(--bb-line); border-radius: var(--bb-radius-sm); background: var(--bb-line); }
.bb-today-brief > div { min-width: 0; padding: 13px 15px; background: #fff; }
.bb-today-brief span, .bb-today-brief small { display: block; color: var(--bb-ink-3); font-size: 9px; }
.bb-today-brief span { font-family: var(--bb-mono); }
.bb-today-brief b { display: block; margin: 3px 0 2px; color: var(--bb-navy); font-family: var(--bb-mono); font-size: 18px; }
.bb-today-brief small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bb-today-brief > button { display: inline-flex; align-items: center; justify-content: center; gap: 7px; padding: 0 16px; border: 0; background: var(--bb-navy); color: #fff; font-size: 11px; font-weight: 800; cursor: pointer; }
.bb-job-filter-panel { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 12px 0; padding: 14px; border: 1px solid var(--bb-line); border-radius: var(--bb-radius-sm); background: #fff; }
.bb-job-filter-panel[hidden] { display: none; }
.bb-job-filter-panel label { color: var(--bb-ink-3); font-size: 10px; font-weight: 700; }
.bb-job-filter-panel input, .bb-job-filter-panel select { width: 100%; min-height: 36px; margin-top: 5px; padding: 0 9px; border: 1px solid var(--bb-line); border-radius: var(--bb-radius-xs); background: #f8fafc; color: var(--bb-ink); font: inherit; font-size: 11px; }
.bb-job-filter-panel button { min-height: 36px; align-self: end; border: 1px solid var(--bb-line-strong); border-radius: var(--bb-radius-xs); background: transparent; color: var(--bb-navy); cursor: pointer; }
.bb-job-filter-panel .job-more-filter { grid-column: 1 / -1; }
.bb-job-filter-panel .job-more-filter summary { width: fit-content; cursor: pointer; color: var(--bb-navy); font-size: 11px; font-weight: 800; }
.bb-job-filter-panel .job-more-filter > div { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; padding-top: 10px; }
.bb-growth-slide { position: absolute; inset: 0; opacity: 0; visibility: hidden; transform: scale(1.025); transition: opacity .45s ease, transform .7s ease, visibility .45s; }
.bb-growth-slide.is-active { opacity: 1; visibility: visible; transform: scale(1); }
.bb-growth-slide > img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.bb-growth-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(4,13,28,.95), rgba(4,13,28,.72) 48%, rgba(4,13,28,.12)); }
.bb-growth-copy { position: absolute; z-index: 1; left: 30px; bottom: 29px; width: min(590px, calc(100% - 60px)); color: #fff; }
.bb-growth-copy > span { color: #ff744b; font-family: var(--bb-mono); font-size: 11px; font-weight: 800; }
.bb-growth-copy h2 { max-width: 570px; margin: 9px 0 8px; color: #fff; font-size: clamp(25px, 3vw, 38px); line-height: 1.2; }
.bb-growth-copy p { max-width: 520px; margin: 0; color: #bcc9d9; font-size: 13px; line-height: 1.65; }
.bb-growth-copy > div { display: flex; align-items: center; gap: 18px; margin-top: 18px; }
.bb-growth-copy small { color: #94a6bb; font-family: var(--bb-mono); font-size: 10px !important; }
.bb-growth-copy a { display: inline-flex; align-items: center; gap: 5px; min-height: 38px; padding: 0 14px; border-radius: var(--bb-radius-sm); background: #2d5be3; color: #fff; font-size: 12px; font-weight: 800; }
.bb-growth-controls { position: absolute; z-index: 2; right: 18px; bottom: 16px; display: flex; align-items: center; gap: 14px; }
.bb-growth-dots { display: flex; gap: 5px; }
.bb-growth-dots button { width: 18px; height: 3px; padding: 0; border: 0; background: rgba(255,255,255,.35); cursor: pointer; transition: width .2s ease, background .2s ease; }
.bb-growth-dots button.is-active { width: 34px; background: #fff; }
.bb-growth-arrows { display: flex; gap: 4px; }
.bb-growth-arrows button { width: 30px; height: 30px; border: 1px solid rgba(255,255,255,.28); border-radius: var(--bb-radius-sm); background: rgba(4,13,28,.45); color: #fff; font-size: 18px; line-height: 1; cursor: pointer; }
.bb-program-paths { margin: 12px 0 24px; padding: 24px; border: 1px solid var(--bb-line); background: #f8f9fb; }
.bb-program-paths > header { display: grid; grid-template-columns: minmax(0, 1fr) minmax(250px, .7fr); column-gap: 24px; align-items: end; margin-bottom: 18px; }
.bb-program-paths > header span { grid-column: 1 / -1; color: #e75f38; font-family: var(--bb-mono); font-size: 10px; font-weight: 800; }
.bb-program-paths > header h2 { margin: 6px 0 0; color: var(--bb-navy); font-size: 29px; }
.bb-program-paths > header p { margin: 0; color: var(--bb-muted); font-size: 12px; line-height: 1.65; }
.bb-program-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border: 1px solid var(--bb-line); background: #fff; }
.bb-program-grid article { min-width: 0; padding: 19px; border-right: 1px solid var(--bb-line); }
.bb-program-grid article:last-child { border-right: 0; }
.bb-program-grid article.is-featured { background: #081831; color: #fff; }
.bb-program-grid article > span { color: #2d5be3; font-family: var(--bb-mono); font-size: 9px; font-weight: 800; }
.bb-program-grid .is-featured > span { color: #69ddd5; }
.bb-program-grid h3 { margin: 8px 0; color: var(--bb-navy); font-size: 18px; }
.bb-program-grid .is-featured h3 { color: #fff; }
.bb-program-grid p { min-height: 66px; margin: 0 0 14px; color: var(--bb-muted); font-size: 11px; line-height: 1.65; }
.bb-program-grid .is-featured p { color: #9fb0c5; }
.bb-program-grid dl { margin: 0; }
.bb-program-grid dl div { display: grid; grid-template-columns: 42px 1fr; gap: 7px; padding: 7px 0; border-top: 1px solid var(--bb-line); font-size: 10px; }
.bb-program-grid .is-featured dl div { border-color: rgba(255,255,255,.12); }
.bb-program-grid dt { color: #8a96a7; }
.bb-program-grid dd { margin: 0; font-weight: 700; }
.bb-level-ladder { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); margin-top: 12px; border-top: 2px solid #2d5be3; background: #fff; }
.bb-level-ladder > div { min-width: 0; padding: 11px 10px; border-right: 1px solid var(--bb-line); }
.bb-level-ladder > div:last-child { border: 0; }
.bb-level-ladder b, .bb-level-ladder span, .bb-level-ladder small { display: block; }
.bb-level-ladder b { color: #2d5be3; font-family: var(--bb-mono); font-size: 10px; }
.bb-level-ladder span { margin-top: 4px; color: var(--bb-navy); font-family: var(--bb-mono); font-size: 9px; font-weight: 800; }
.bb-level-ladder small { margin-top: 3px; color: var(--bb-muted); font-size: 9px !important; }

.bb-mission-hero { position: relative; min-height: 330px; display: flex; align-items: flex-end; overflow: hidden; padding: 34px !important; border: 0 !important; border-radius: var(--bb-radius-md); background: #07152f; }
.bb-mission-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 46%; }
.bb-mission-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(4,13,28,.94), rgba(4,13,28,.62) 54%, rgba(4,13,28,.12)); }
.bb-mission-copy { position: relative; z-index: 1; max-width: 650px; }
.bb-mission-copy h1 { color: #fff; font-size: clamp(34px, 4vw, 54px); }
.bb-mission-copy p { max-width: 560px; margin: 12px 0 0; color: #c0ccdc; font-size: 15px; line-height: 1.7; }
.bb-mission-signals { display: flex; gap: 18px; margin-top: 18px; color: #9fb0c5; font-family: var(--bb-mono); font-size: 12px; }
.bb-mission-signals span { display: inline-flex; align-items: center; gap: 7px; }
.bb-mission-signals i { width: 7px; height: 7px; border-radius: 50%; background: #57d7b8; box-shadow: 0 0 0 4px rgba(87,215,184,.12); }
.bb-mission-actions { position: absolute; right: 26px; bottom: 26px; z-index: 2; display: flex; gap: 8px; }
.bb-mission-action { min-height: 40px; display: inline-flex; align-items: center; padding: 0 16px; border: 1px solid #65d9d2; border-radius: var(--bb-radius-sm); background: #65d9d2; color: #061329; font-weight: 800; }
.bb-mission-action.secondary { border-color: rgba(255,255,255,.32); background: rgba(7,21,47,.62); color: #fff; }
.bb-mission-card { position: relative; padding-right: 92px !important; overflow: hidden; }
.bb-match-score { position: absolute; top: 16px; right: 16px; min-width: 58px; padding-left: 12px; border-left: 1px solid var(--bb-line); text-align: right; }
.bb-match-score strong { display: block; color: #148477; font-family: var(--bb-mono); font-size: 18px; }
.bb-match-score span { color: var(--bb-muted); font-size: 10px !important; }
.bb-match-evidence { position: absolute; top: 16px; right: 16px; max-width: 120px; padding-left: 12px; border-left: 1px solid var(--bb-line); text-align: right; }
.bb-match-evidence strong, .bb-match-evidence span { display: block; }
.bb-match-evidence strong { color: #148477; font-size: 13px; }
.bb-match-evidence span { margin-top: 2px; color: var(--bb-muted); font-size: 9px !important; overflow-wrap: anywhere; }

.bb-profile-workbench { display: grid; grid-template-columns: minmax(260px, .9fr) minmax(340px, 1.35fr) minmax(210px, .65fr); gap: 12px; margin-bottom: 12px; }
.bb-profile-panel { min-width: 0; padding: 18px; border: 1px solid var(--bb-line); border-radius: var(--bb-radius-md); background: var(--bb-surface); }
.bb-panel-label { color: var(--bb-muted); font-family: var(--bb-mono); font-size: 11px; }
.bb-radar-grid { display: grid; gap: 12px; margin: 18px 0; }
.bb-radar-row { display: grid; grid-template-columns: 72px 1fr 28px; align-items: center; gap: 8px; }
.bb-radar-row span, .bb-radar-row b { font-size: 11px !important; }
.bb-radar-row > div { height: 4px; overflow: hidden; background: #e2e7ec; }
.bb-radar-row i { display: block; height: 100%; background: #1d7c91; }
.bb-radar-row b { text-align: right; font-family: var(--bb-mono); }
.bb-panel-link { display: inline-flex; align-items: center; gap: 4px; padding: 0; border: 0; background: transparent; color: var(--bb-blue); font-weight: 700; cursor: pointer; }
.bb-profile-evidence h2 { margin: 8px 0 12px; color: var(--bb-navy); font-size: 20px; }
.bb-evidence-list { border-top: 1px solid var(--bb-line); }
.bb-evidence-list a { display: grid; grid-template-columns: 30px minmax(0, 1fr) 70px; align-items: center; gap: 10px; min-height: 59px; border-bottom: 1px solid var(--bb-line); }
.bb-evidence-index { color: #8994a4; font-family: var(--bb-mono); font-size: 11px; }
.bb-evidence-list strong, .bb-evidence-list small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bb-evidence-list strong { color: var(--bb-ink); font-size: 13px; }
.bb-evidence-list small { margin-top: 3px; color: var(--bb-muted); font-size: 10px !important; }
.bb-evidence-list i { height: 3px; background: linear-gradient(90deg, #1d7c91 var(--progress, 0%), #e2e7ec 0); }
.bb-profile-status { background: #0a1930; color: #fff; }
.bb-profile-status .bb-panel-label { color: #7589a3; }
.bb-availability { display: flex; align-items: center; gap: 9px; margin-top: 28px; }
.bb-availability i { width: 9px; height: 9px; border-radius: 50%; background: #57d7b8; box-shadow: 0 0 0 5px rgba(87,215,184,.11); }
.bb-availability strong { font-size: 17px; }
.bb-profile-status p { margin: 16px 0 24px; color: #93a5bc; line-height: 1.7; }
.bb-profile-status a { color: #71ded6; font-weight: 700; }

.bb-social-dock { position: fixed; z-index: 1100; top: 14px; right: 18px; display: flex; gap: 6px; }
.bb-social-dock a { position: relative; min-height: 36px; display: inline-flex; align-items: center; gap: 6px; padding: 0 10px; border: 1px solid rgba(21,49,89,.18); border-radius: var(--bb-radius-sm); background: rgba(255,255,255,.9); box-shadow: 0 8px 24px rgba(6,19,41,.08); color: var(--bb-navy); font-size: 11px; font-weight: 800; backdrop-filter: blur(14px); }
.bb-social-dock b { position: absolute; top: -5px; right: -5px; min-width: 17px; height: 17px; display: grid; place-items: center; padding: 0 4px; border-radius: 9px; background: #e04b35; color: #fff; font-size: 9px; }
.bb-community-feed { display: grid; gap: 7px; }
.bb-community-feed a { display: grid; gap: 4px; padding: 12px 13px; border: 1px solid var(--bb-line); border-left: 3px solid #2d5be3; border-radius: var(--bb-radius-sm); background: var(--bb-surface); }
.bb-community-feed span, .bb-community-feed small { color: var(--bb-muted); font-size: 10px !important; }
.bb-community-feed span { color: #2d5be3; font-family: var(--bb-mono); font-weight: 700; }
.bb-community-feed strong { overflow: hidden; color: var(--bb-ink); font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.bb-inline-link { display: inline-flex; align-items: center; gap: 3px; color: var(--bb-blue); font-size: 10px; font-weight: 800; }
.bb-contact-suggestions { margin: 26px 0 18px; }
.bb-contact-heading span, .bb-contact-heading strong { display: block; }
.bb-contact-heading span { color: #e65d37; font-family: var(--bb-mono); font-size: 10px; }
.bb-contact-heading strong { margin-top: 4px; color: var(--bb-navy); font-size: 19px; }
.bb-contact-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 12px; }
.bb-contact-grid > a { display: grid; grid-template-columns: 38px minmax(0, 1fr) 20px; align-items: center; gap: 10px; padding: 12px; border: 1px solid var(--bb-line); border-radius: var(--bb-radius-sm); background: #fff; }
.bb-contact-grid strong, .bb-contact-grid small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bb-contact-grid strong { color: var(--bb-ink); font-size: 12px; }
.bb-contact-grid small { margin-top: 3px; color: var(--bb-muted); font-size: 9px !important; }
.bb-contact-avatar { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 50%; background: #0a1930; color: #70ded6; font-weight: 900; }

.bb-context-copilot { width: 100%; min-height: 42px; display: flex; align-items: center; gap: 8px; margin-top: 14px; padding: 0 12px; border: 1px solid #163e78; border-radius: var(--bb-radius-sm); background: #071a36; color: #8de2dd; font-family: var(--bb-mono); font-size: 10px; font-weight: 800; cursor: pointer; }
.bb-context-copilot span { margin-left: auto; color: #fff; }
.bb-copilot-launcher { position: fixed; z-index: 1120; right: 20px; bottom: 22px; min-height: 43px; display: inline-flex; align-items: center; gap: 8px; padding: 0 14px; border: 1px solid #58d7ce; border-radius: var(--bb-radius-sm); background: #06172f; box-shadow: 0 15px 38px rgba(3,16,37,.24); color: #8de2dd; font-family: var(--bb-mono); font-size: 10px; font-weight: 800; cursor: pointer; }
#bb-main.bb-chapter-main { padding-top: 58px !important; }
.bb-copilot-panel { position: fixed; z-index: 1300; top: 16px; right: 16px; bottom: 16px; width: min(430px, calc(100vw - 32px)); display: grid; grid-template-rows: auto auto auto minmax(0, 1fr) auto auto auto; overflow: hidden; border: 1px solid #27466f; border-radius: var(--bb-radius-md); background: #071326; box-shadow: 0 30px 90px rgba(2,10,24,.42); color: #eaf1f9; opacity: 0; visibility: hidden; transform: translateX(22px); transition: opacity .2s ease, transform .2s ease, visibility .2s; }
.bb-copilot-panel.is-open { opacity: 1; visibility: visible; transform: translateX(0); }
.bb-copilot-panel > header { min-height: 70px; display: flex; align-items: center; justify-content: space-between; padding: 0 18px; border-bottom: 1px solid rgba(255,255,255,.1); }
.bb-copilot-panel header small, .bb-copilot-panel header strong { display: block; }
.bb-copilot-panel header small { color: #70ded6; font-family: var(--bb-mono); font-size: 9px !important; }
.bb-copilot-panel header strong { margin-top: 4px; color: #fff; font-size: 17px; }
.bb-copilot-panel header button { width: 34px; height: 34px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.15); border-radius: var(--bb-radius-sm); background: transparent; color: #b4c4d8; cursor: pointer; }
.bb-copilot-head-actions { display: flex; gap: 6px; }
.bb-copilot-head-actions #bbCopilotMemoryToggle { width: auto; padding: 0 9px; font-size: 10px; }
.bb-copilot-status { display: flex; align-items: center; gap: 8px; padding: 10px 18px; border-bottom: 1px solid rgba(255,255,255,.08); color: #8295ae; font-size: 10px; }
.bb-copilot-status i { width: 7px; height: 7px; border-radius: 50%; background: #54d8b3; box-shadow: 0 0 0 4px rgba(84,216,179,.1); }
.bb-copilot-status.is-offline i { background: #f1b94d; box-shadow: 0 0 0 4px rgba(241,185,77,.12); }
.bb-copilot-memory { max-height: 190px; overflow-y: auto; padding: 12px 18px; border-bottom: 1px solid rgba(255,255,255,.08); background: #09182d; }
.bb-copilot-memory[hidden] { display: none; }
.bb-copilot-memory > div:first-child strong, .bb-copilot-memory > div:first-child span { display: block; }
.bb-copilot-memory > div:first-child span, .bb-copilot-memory p { margin: 3px 0 8px; color: #71849e; font-size: 9px; }
#bbCopilotMemoryList > div { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 34px; border-top: 1px solid rgba(255,255,255,.07); font-size: 11px; }
#bbCopilotMemoryList button { border: 0; background: transparent; color: #ef9e9e; font-size: 9px; cursor: pointer; }
.bb-copilot-thread { overflow-y: auto; padding: 16px 18px; }
.bb-copilot-message { width: fit-content; max-width: 88%; margin-bottom: 10px; padding: 11px 12px; border: 1px solid rgba(255,255,255,.1); border-radius: 7px; white-space: pre-line; font-size: 12px; line-height: 1.65; }
.bb-copilot-message.is-ai { background: #0d213e; color: #dfeaf6; }
.bb-copilot-message.is-user { margin-left: auto; border-color: #3566d8; background: #254fb2; color: #fff; }
.bb-copilot-message.is-loading { color: #8fa4be; animation: bbCopilotPulse 1s ease-in-out infinite alternate; }
@keyframes bbCopilotPulse { to { opacity: .5; } }
.bb-copilot-sources { margin: -4px 0 12px; color: #7e92ad; font-family: var(--bb-mono); font-size: 9px; }
.bb-copilot-actions { display: flex; gap: 7px; margin: -2px 0 14px; }
.bb-copilot-actions a { padding: 7px 9px; border: 1px solid #3c6bd4; border-radius: 4px; color: #9dbbff; font-size: 10px; font-weight: 800; }
.bb-copilot-prompts { display: flex; gap: 6px; overflow-x: auto; padding: 0 18px 11px; scrollbar-width: none; }
.bb-copilot-prompts button { flex: 0 0 auto; min-height: 31px; padding: 0 9px; border: 1px solid #294667; border-radius: 4px; background: #0b1d37; color: #a7b9ce; font-size: 10px; cursor: pointer; }
.bb-copilot-prompts button.is-active { border-color: #59d9d0; color: #8de2dd; }
.bb-copilot-panel form { display: grid; grid-template-columns: minmax(0, 1fr) 40px; gap: 8px; padding: 12px 18px; border-top: 1px solid rgba(255,255,255,.1); }
.bb-copilot-panel textarea { resize: none; min-height: 42px; padding: 10px; border: 1px solid #294667; border-radius: 5px; outline: 0; background: #091a32; color: #fff; font: inherit; font-size: 12px; }
.bb-copilot-panel textarea:focus { border-color: #59d9d0; }
.bb-copilot-panel form button { border: 0; border-radius: 5px; background: #5edbd2; color: #061329; cursor: pointer; }
.bb-copilot-panel > footer { padding: 0 18px 13px; color: #607590; font-size: 9px; }

/* Legacy dark opportunity surfaces need explicit foregrounds after token remapping. */
.jobs-page .job-card,
.jobs-page .detail-card,
.hackathons-page .hackathon-card,
.hackathons-page .detail-card,
.company-job-page .list article,
.company-job-page .stats a,
.company-console .console-hero,
.company-console .stats-grid > div,
.company-console .quick-grid a,
.company-console .panel,
.company-job-detail .panel,
.company-job-detail .stats > div {
  color: #e8edf5 !important;
}
.jobs-page .job-card h2,
.jobs-page .detail-card h1,
.jobs-page .detail-card h2,
.hackathons-page .hackathon-card h2,
.hackathons-page .detail-card h1,
.hackathons-page .detail-card h2,
.company-job-page .job-title-row h2,
.company-job-page .stats strong,
.company-console h1,
.company-console h2,
.company-console .quick-grid strong,
.company-console .row strong,
.company-job-detail h1,
.company-job-detail h2,
.company-job-detail h3,
.company-job-detail .stats strong {
  color: #f6f9fd !important;
}
.jobs-page > header h1,
.hackathons-page > header h1 { color: var(--bb-navy) !important; }
.jobs-page > header p,
.hackathons-page > header p { color: var(--bb-ink-3) !important; }
.jobs-page > header .secondary,
.hackathons-page > header .secondary { color: var(--bb-navy) !important; border-color: var(--bb-line-strong) !important; }

@media (min-width: 768px) {
  .bb-main > .jobs-page,
  .bb-main > .hackathons-page { max-width: 720px; padding: 0 0 42px; }
  .jobs-page .job-card { min-height: 96px; padding: 14px 16px !important; }
  .jobs-page .job-card .summary { display: none; }
  .jobs-page .job-card .meta, .jobs-page .job-card .tags { margin-top: 7px; }
  .jobs-page .job-card .meta span, .jobs-page .job-card .tags span { padding: 2px 7px; font-size: 10px !important; }
}

@media (min-width: 1200px) {
  #p-mine { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 12px; align-items: start; }
  #p-mine > .bb-profile-hero, #p-mine > .bb-profile-workbench, #p-mine > div:first-child { grid-column: 1 / -1; }
  #p-mine > .bb-profile-stats { grid-column: 1; }
  #p-mine > .bb-profile-menu { grid-column: 2; grid-row: 3 / span 3; }
  #p-mine > .bb-profile-menu .mi { min-height: 52px; }
}

@media (min-width: 768px) and (max-width: 1199px) {
  .bb-profile-workbench { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bb-profile-status { grid-column: 1 / -1; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 18px; }
  .bb-profile-status .bb-panel-label { grid-column: 1 / -1; }
  .bb-profile-status .bb-availability { margin-top: 0; }
  .bb-profile-status p { margin: 0; }
}

@media (max-width: 767px) {
  .admin-shell, .admin-main, .admin-content { min-width: 0 !important; max-width: 100% !important; }
  .admin-content { overflow: hidden !important; }
  .admin-content .table-wrap { width: 100% !important; max-width: 100% !important; overflow-x: auto !important; -webkit-overflow-scrolling: touch; }
  .admin-content table { width: max-content; min-width: 100%; }
  .bb-main { padding-inline: 12px !important; }
  .bb-copilot-launcher { right: 12px; bottom: calc(76px + env(safe-area-inset-bottom)); min-height: 38px; padding: 0 10px; }
  .bb-copilot-launcher.is-chapter { top: 9px; right: 15px; bottom: auto; width: 38px; padding: 0; justify-content: center; }
  .bb-copilot-launcher span { display: none; }
  .bb-copilot-panel { top: auto; right: 0; bottom: 0; width: 100vw; height: min(72vh, 650px); border-radius: 12px 12px 0 0; transform: translateY(24px); }
  .bb-copilot-panel.is-open { transform: translateY(0); }
  .bb-copilot-panel::before { content: ''; position: absolute; top: 6px; left: 50%; width: 38px; height: 4px; transform: translateX(-50%); border-radius: 4px; background: rgba(255,255,255,.24); }
  .bb-copilot-panel > header { padding-top: 6px; }
  .bb-contact-grid { grid-template-columns: 1fr; }
  .hero-home { width: calc(100% + 24px) !important; height: 224px !important; min-height: 224px !important; margin-inline: -12px !important; }
  .hero-home-image { object-position: 68% center; }
  .hero-home-shade { background: linear-gradient(90deg, rgba(4,15,34,.93), rgba(4,15,34,.54) 72%, rgba(4,15,34,.18)) !important; }
  .hero-brand { top: 17px !important; left: 16px !important; font-size: 12px !important; }
  .hero-home-copy { left: 16px !important; right: 16px !important; bottom: 18px !important; }
  .hero-eyebrow { margin-bottom: 8px !important; font-size: 10px !important; }
  .hero-title { max-width: 330px; margin-bottom: 8px !important; font-size: 25px !important; line-height: 1.17 !important; }
  .hero-lead { display: none !important; }
  .hero-actions { margin-top: 12px !important; }
  .hero-btn { min-height: 36px; padding: 0 13px !important; font-size: 12px !important; }
  .hero-btn-ghost { display: none !important; }
  .bb-live-missions { margin: 10px -2px 0; padding: 12px; }
  .bb-live-track { display: flex; gap: 8px; overflow-x: auto; scroll-snap-type: x mandatory; background: transparent; scrollbar-width: none; }
  .bb-live-track::-webkit-scrollbar { display: none; }
  .bb-live-card { flex: 0 0 82%; scroll-snap-align: start; border: 1px solid rgba(255,255,255,.1); border-radius: 4px; }
  #p-disc .bn-wrap { display: none !important; }
  .bb-screen-2 { padding-top: 22px !important; }

  .bb-ability-os { grid-template-columns: minmax(0, 1fr) 92px; gap: 14px; margin: 10px 0 12px; padding: 16px !important; }
  .bb-ability-os h1 { font-size: 23px; line-height: 1.22; }
  .bb-ability-os .bb-ability-copy > p { display: none; }
  .bb-ability-meter { display: block; }
  .bb-ring { width: 82px; }
  .bb-ring strong { font-size: 23px; }
  .bb-signal-list { display: none; }
  .bb-ability-os .bb-path { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 5px; }
  .bb-ability-os .bb-path-arrow { display: none; }
  .bb-ability-os .bb-path-step { min-width: 0; padding: 9px 7px; }
  .bb-ability-os .bb-path-step b { font-size: 10px; white-space: nowrap; }
  .bb-ability-os .bb-path-step span { margin-top: 3px; font-size: 9px; }
  .bb-ability-os .bb-next-action { padding: 11px 12px; }
  .bb-ability-os .bb-next-action small { font-size: 9px !important; }
  .bb-ability-os .bb-next-action strong { font-size: 12px; line-height: 1.45; }
  .bb-ability-os .bb-next-action a { font-size: 11px !important; }
  #p-grow > .bb-screen-1 > .bn-wrap { display: none !important; }
  #p-grow > .bb-screen-1 > div[style*="position:relative"] { margin-top: 10px !important; }
  #p-grow .level-card { margin-top: 10px; }
  .bb-growth-carousel { width: calc(100% + 24px); margin: 12px -12px 14px; border-radius: 0; }
  .bb-growth-track { height: 188px; }
  .bb-growth-slide > img { object-position: 54% center; }
  .bb-growth-shade { background: linear-gradient(0deg, rgba(4,13,28,.96), rgba(4,13,28,.44) 76%, rgba(4,13,28,.10)); }
  .bb-growth-copy { left: 16px; bottom: 17px; width: calc(100% - 32px); padding-right: 52px; }
  .bb-growth-copy > span { font-size: 9px; }
  .bb-growth-copy h2 { max-width: 280px; margin: 5px 0; font-size: 18px; line-height: 1.25; }
  .bb-growth-copy p { display: none; }
  .bb-growth-copy > div { gap: 11px; margin-top: 10px; }
  .bb-growth-copy a { min-height: 32px; padding: 0 11px; font-size: 10px; }
  .bb-growth-controls { right: 13px; bottom: 13px; }
  .bb-growth-arrows { display: none; }
  .bb-growth-dots button { width: 12px; }
  .bb-growth-dots button.is-active { width: 24px; }
  .bb-today-brief { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-bottom: 10px; }
  .bb-today-brief > div { padding: 9px 8px; }
  .bb-today-brief b { font-size: 15px; }
  .bb-today-brief small { font-size: 8px; }
  .bb-today-brief > button { grid-column: 1 / -1; min-height: 36px; }
  .bb-job-filter-panel { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 10px; }
  .bb-job-filter-panel .job-more-filter > div { grid-template-columns: 1fr; }
  .bb-program-paths { margin: 10px -12px 16px; padding: 18px 12px; border-inline: 0; }
  .bb-program-paths > header { display: block; margin-bottom: 13px; }
  .bb-program-paths > header h2 { font-size: 23px; }
  .bb-program-paths > header p { margin-top: 7px; }
  .bb-program-grid { display: flex; gap: 8px; overflow-x: auto; border: 0; background: transparent; scroll-snap-type: x mandatory; scrollbar-width: none; }
  .bb-program-grid article { flex: 0 0 84%; border: 1px solid var(--bb-line); background: #fff; scroll-snap-align: start; }
  .bb-program-grid p { min-height: 0; }
  .bb-level-ladder { display: flex; overflow-x: auto; scrollbar-width: none; }
  .bb-level-ladder > div { flex: 0 0 128px; }

  .bb-mission-hero { min-height: 190px; margin: 8px 0 10px; padding: 15px !important; }
  .bb-mission-image { object-position: 54% center; }
  .bb-mission-shade { background: linear-gradient(90deg, rgba(4,13,28,.96), rgba(4,13,28,.62) 78%, rgba(4,13,28,.20)); }
  .bb-mission-copy { max-width: 280px; }
  .bb-mission-copy .bb-page-eyebrow { margin-bottom: 8px !important; font-size: 9px !important; }
  .bb-mission-copy h1 { font-size: 23px; }
  .bb-mission-copy p { max-width: 250px; margin-top: 7px; font-size: 11px; line-height: 1.55; }
  .bb-mission-signals { gap: 10px; margin-top: 11px; font-size: 9px; }
  .bb-mission-actions { top: 12px; right: 12px; bottom: auto; }
  .bb-mission-action { min-height: 30px; padding: 0 10px; font-size: 10px !important; }
  .bb-mission-action.secondary { display: none; }
  .bb-mission-card { padding: 14px 72px 14px 14px !important; }
  .bb-match-score { top: 13px; right: 12px; min-width: 52px; }
  .bb-task-meta { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 4px; }
  .bb-task-meta > div { min-width: 0; padding: 7px 6px; }
  .bb-task-meta span { font-size: 9px !important; }
  .bb-task-meta b { overflow: hidden; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }

  .bb-profile-hero { grid-template-columns: 56px minmax(0, 1fr) 50px !important; gap: 10px; margin: 10px 0; padding: 15px 13px; border-radius: var(--bb-radius-md); }
  .bb-profile-avatar { width: 50px; height: 50px; font-size: 19px; }
  .bb-profile-copy .bb-page-eyebrow { display: none; }
  .bb-profile-copy h1 { font-size: 18px; }
  .bb-profile-copy p { overflow: hidden; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
  .bb-skill-row { flex-wrap: nowrap; overflow: hidden; margin-top: 7px; }
  .bb-skill-row span { flex: 0 0 auto; padding: 2px 5px; font-size: 9px !important; }
  .bb-profile-score { grid-column: auto !important; display: block !important; text-align: right !important; }
  .bb-profile-score strong { font-size: 21px; }
  .bb-profile-score span { font-size: 8px !important; }
  .bb-profile-workbench { display: block; }
  .bb-profile-panel { margin-bottom: 9px; padding: 14px; }
  .bb-profile-radar, .bb-profile-status { display: none; }
  .bb-profile-evidence h2 { margin: 5px 0 8px; font-size: 16px; }
  .bb-evidence-list a { grid-template-columns: 26px minmax(0, 1fr) 52px; min-height: 52px; }
  .bb-profile-stats { padding: 12px !important; }
  .bb-profile-stats > div { gap: 6px !important; }
  .bb-profile-stats > div > div > div:first-child { font-size: 16px !important; }
  .bb-profile-stats > div > div > div:last-child { font-size: 9px !important; }
  .bb-profile-menu { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: var(--bb-line) !important; }
  .bb-profile-menu .mi { min-width: 0; padding: 12px 10px; border: 0; background: #fff; }
  .bb-profile-menu .mi > div { min-width: 0; }
  .bb-profile-menu .mi span { overflow: hidden; font-size: 11px !important; text-overflow: ellipsis; white-space: nowrap; }

  .bb-tab { min-height: 64px; padding: 4px 6px max(4px, env(safe-area-inset-bottom)) !important; border-top-color: #1f2d43 !important; background: rgba(5,15,31,.98) !important; box-shadow: 0 -8px 24px rgba(3,10,22,.24) !important; }
  .bb-tab::before { display: none !important; animation: none !important; }
  .bb-tab a { min-height: 52px; gap: 2px !important; border: 0 !important; background: transparent !important; box-shadow: none !important; color: #75879f !important; font-size: 10px !important; backdrop-filter: none !important; -webkit-backdrop-filter: none !important; }
  .bb-tab a svg { width: 18px; height: 18px; }
  .bb-tab a.a { color: #eef8ff !important; }
.bb-tab a.a::after { left: 34%; right: 34%; bottom: 2px; height: 2px; background: #54d6cf; box-shadow: 0 0 10px rgba(84,214,207,.6); }
.bb-tab a { position: relative; }
.bb-nav-badge { position: absolute; top: 4px; left: calc(50% + 9px); min-width: 16px; height: 16px; display: grid; place-items: center; padding: 0 4px; border: 2px solid #061329; border-radius: 9px; background: #e64d61; color: #fff; font-size: 8px; line-height: 1; }
}

@media (prefers-reduced-motion: reduce) {
  .bb-growth-slide { transition: none; }
  .bb-copilot-panel { transition: none; }
}

.bb-quest { grid-template-columns: 38px minmax(0, 1fr) 70px; }
.bb-quest > button { width: 70px; white-space: nowrap; }
