/* Personal Model v2 Phase 1 — sidebar + routes + layout.
   Graphite / quiet / evidence-first. No score glow. */

:root {
  --pm-canvas: #0B0C0C;
  --pm-surface: #101111;
  --pm-surface-soft: #181919;
  --pm-ink: #F2F3F1;
  --pm-body: #B8BDB9;
  --pm-muted: #818883;
  --pm-line: #25292C;
  --pm-line-strong: #2F3438;
  --pm-accent: #C7AD7B;
  --pm-sidebar: 240px;
  --pm-detail: 320px;
  --pm-font: Inter, "Noto Sans TC", "PingFang TC", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

*,
*::before,
*::after {
  box-sizing: border-box;
  min-width: 0;
}

html,
body.pmv2 {
  margin: 0;
  min-height: 100%;
  background: var(--pm-canvas);
  color: var(--pm-ink);
  color-scheme: dark;
}

body.pmv2 {
  font-family: var(--pm-font);
  font-size: 14px;
  line-height: 1.65;
  overflow-x: hidden;
}

body.pmv2.is-drawer-open {
  overflow: hidden;
}

a {
  color: inherit;
}

.pmv2-skip {
  position: absolute;
  left: -999px;
  top: 8px;
  z-index: 200;
  padding: 8px 12px;
  background: var(--pm-ink);
  color: var(--pm-canvas);
}

.pmv2-skip:focus {
  left: 8px;
}

.pmv2-app {
  display: flex;
  min-height: 100dvh;
  max-width: 100%;
}

.pmv2-backdrop {
  display: none;
}

.pmv2-sidebar {
  flex: 0 0 var(--pm-sidebar);
  width: var(--pm-sidebar);
  display: flex;
  flex-direction: column;
  min-height: 100dvh;
  position: sticky;
  top: 0;
  align-self: flex-start;
  height: 100dvh;
  overflow-x: hidden;
  overflow-y: auto;
  background: var(--pm-surface);
  border-right: 1px solid var(--pm-line);
}

.pmv2-brand {
  padding: 22px 20px 18px;
  border-bottom: 1px solid var(--pm-line);
}

.pmv2-brand-mark {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--pm-ink);
  text-decoration: none;
  line-height: 0;
}

.pmv2-brand-wordmark {
  display: block;
  width: 112px;
  height: auto;
  object-fit: contain;
  flex: 0 0 auto;
}

.pmv2-brand-symbol {
  display: block;
  width: 30px;
  height: 30px;
  object-fit: contain;
  flex: 0 0 30px;
  filter: drop-shadow(0 0 7px rgba(22,220,255,.20));
}

.pmv2-brand-sub {
  margin-top: 4px;
  color: var(--pm-muted);
  font-size: 11px;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.pmv2-account {
  padding: 16px 20px 14px;
  border-bottom: 1px solid var(--pm-line);
}

.pmv2-account-label,
.pmv2-foot-label {
  color: var(--pm-muted);
  font-size: 11px;
  letter-spacing: .08em;
}

.pmv2-account-id {
  display: block;
  margin-top: 6px;
  color: var(--pm-ink);
  font-size: 13px;
  font-weight: 600;
  overflow-wrap: anywhere;
}

.pmv2-account-sync {
  display: block;
  margin-top: 4px;
  color: var(--pm-body);
  font-size: 12px;
}

.pmv2-nav {
  display: flex;
  flex-direction: column;
  padding: 10px 10px;
  gap: 2px;
  flex: 1 1 auto;
}

.pmv2-nav a {
  display: block;
  padding: 9px 12px;
  border-radius: 6px;
  color: var(--pm-body);
  text-decoration: none;
  font-size: 13px;
  line-height: 1.35;
  border-left: 2px solid transparent;
}

.pmv2-nav a:hover {
  color: var(--pm-ink);
  background: rgba(255, 255, 255, .03);
}

.pmv2-nav a.is-current {
  color: var(--pm-ink);
  background: var(--pm-surface-soft);
  border-left-color: var(--pm-accent);
}

.pmv2-foot {
  padding: 14px 20px 20px;
  border-top: 1px solid var(--pm-line);
}

.pmv2-foot-value {
  display: block;
  margin: 4px 0 12px;
  color: var(--pm-body);
  font-size: 12px;
  overflow-wrap: anywhere;
}

.pmv2-logout {
  display: inline-block;
  color: var(--pm-body);
  font-size: 12px;
  text-decoration: none;
  border-bottom: 1px solid transparent;
}

.pmv2-logout:hover {
  color: var(--pm-ink);
  border-bottom-color: var(--pm-line-strong);
}

.pmv2-main-col {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  max-width: 100%;
}

.pmv2-topbar {
  display: none;
  align-items: center;
  gap: 12px;
  min-height: 52px;
  padding: 8px 16px;
  border-bottom: 1px solid var(--pm-line);
  background: var(--pm-surface);
  position: sticky;
  top: 0;
  z-index: 40;
}

.pmv2-menu {
  width: 36px;
  height: 36px;
  border: 1px solid var(--pm-line);
  background: transparent;
  color: var(--pm-ink);
  border-radius: 8px;
  cursor: pointer;
}

.pmv2-topbar-title {
  font-size: 13px;
  font-weight: 600;
}

.pmv2-workspace {
  flex: 1 1 auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  min-width: 0;
}

.pmv2-workspace.has-detail {
  grid-template-columns: minmax(0, 1fr) var(--pm-detail);
}

.pmv2-content {
  min-width: 0;
  padding: 40px 40px 88px;
  max-width: 1080px;
}

.pmv2-detail {
  min-width: 0;
  padding: 36px 24px 72px;
  border-left: 1px solid var(--pm-line);
  background: var(--pm-surface);
}

.pmv2-kicker {
  margin: 0 0 12px;
  color: var(--pm-muted);
  font-size: 11px;
  letter-spacing: .14em;
  font-weight: 650;
}

.pmv2-title {
  margin: 0;
  font-size: clamp(28px, 4vw, 48px);
  line-height: 1.08;
  letter-spacing: -.04em;
  font-weight: 720;
}

.pmv2-lead {
  margin: 16px 0 0;
  max-width: 640px;
  color: var(--pm-body);
  font-size: 15px;
  line-height: 1.8;
}

.pmv2-auth {
  margin: 14px 0 0;
  color: var(--pm-accent);
  font-size: 13px;
}

.pmv2-auth a {
  color: var(--pm-accent);
}

.pmv2-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--pm-line);
  border-bottom: 1px solid var(--pm-line);
  margin: 40px 0 0;
}

.pmv2-summary.is-four {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.pmv2-stat {
  min-height: 124px;
  padding: 22px 20px;
  border-right: 1px solid var(--pm-line);
}

.pmv2-summary:not(.is-four) .pmv2-stat:nth-child(3n),
.pmv2-summary.is-four .pmv2-stat:nth-child(4n),
.pmv2-stat:last-child {
  border-right: 0;
}

.pmv2-summary:not(.is-four) .pmv2-stat:nth-child(-n+3) {
  border-bottom: 1px solid var(--pm-line);
}

.pmv2-stat-label {
  color: var(--pm-muted);
  font-size: 12px;
  margin-bottom: 12px;
}

.pmv2-stat-value {
  display: block;
  color: var(--pm-ink);
  font-size: 26px;
  line-height: 1.15;
  font-weight: 700;
}

.pmv2-stat-note {
  display: block;
  margin-top: 8px;
  color: var(--pm-muted);
  font-size: 12px;
  line-height: 1.5;
}

.pmv2-quiet {
  margin: 14px 0 0;
  color: var(--pm-muted);
  font-size: 13px;
}

.pmv2-section {
  margin-top: 48px;
}

.pmv2-section h2 {
  margin: 0 0 16px;
  font-size: 18px;
  font-weight: 650;
  letter-spacing: -.02em;
}

.pmv2-timeline,
.pmv2-changes,
.pmv2-placeholder-card {
  border: 1px solid var(--pm-line);
  background: var(--pm-surface);
}

.pmv2-timeline-row,
.pmv2-change-row {
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr);
  gap: 16px;
  padding: 12px 16px;
  border-bottom: 1px solid var(--pm-line);
  color: var(--pm-body);
  font-size: 13px;
}

.pmv2-timeline-row:last-child,
.pmv2-change-row:last-child {
  border-bottom: 0;
}

.pmv2-timeline-row strong,
.pmv2-change-row strong {
  color: var(--pm-ink);
  font-weight: 600;
}

.pmv2-placeholder-card {
  padding: 22px 20px;
  color: var(--pm-body);
}

.pmv2-placeholder-card p {
  margin: 0 0 10px;
}

.pmv2-placeholder-card p:last-child {
  margin-bottom: 0;
  color: var(--pm-muted);
  font-size: 13px;
}

.pmv2-metric-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
}

.pmv2-timeline-row.is-report-day {
  align-items: start;
}

.pmv2-calendar-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: 40px 0 18px;
}

.pmv2-calendar-title {
  font-size: 20px;
  font-weight: 650;
}

.pmv2-calendar-nav {
  display: flex;
  gap: 8px;
}

.pmv2-calendar-nav button {
  min-height: 40px;
  padding: 0 14px;
  border: 1px solid var(--pm-line);
  background: transparent;
  color: var(--pm-body);
  border-radius: 999px;
  cursor: pointer;
}

.pmv2-calendar-nav button:hover {
  color: var(--pm-ink);
  border-color: var(--pm-line-strong);
}

.pm-week,
.pm-calendar {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
}

.pm-week {
  margin-bottom: 8px;
}

.pm-week > div {
  padding: 0 8px 8px;
  color: var(--pm-muted);
  font-size: 12px;
}

.pm-calendar {
  border-top: 1px solid var(--pm-line);
  border-left: 1px solid var(--pm-line);
}

.pm-calendar .pm-day,
.pm-calendar button {
  appearance: none;
  min-width: 0;
  min-height: 96px;
  margin: 0;
  padding: 12px;
  position: relative;
  display: block;
  width: 100%;
  background: transparent;
  color: var(--pm-body);
  border: 0;
  border-right: 1px solid var(--pm-line);
  border-bottom: 1px solid var(--pm-line);
  border-radius: 0;
  text-align: left;
  font: inherit;
  cursor: pointer;
}

.pm-calendar .pm-day:hover,
.pm-calendar button:hover {
  background: var(--pm-surface);
  color: var(--pm-ink);
}

.pm-calendar .pm-day.is-selected,
.pm-calendar button.is-selected {
  background: var(--pm-surface-soft);
}

.pm-calendar .pm-day.is-empty,
.pm-calendar button.is-empty {
  cursor: default;
  color: transparent;
  background: transparent;
}

.pm-day-number {
  display: block;
  font-size: 13px;
  line-height: 1;
}

.pm-day-mark {
  display: none;
}

.pm-source-marks {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-top: 10px;
}

.pm-source-mark {
  font-size: 9px;
  line-height: 1.3;
  letter-spacing: .02em;
  color: var(--pm-muted);
  border: 1px solid var(--pm-line);
  padding: 1px 4px;
  border-radius: 3px;
}

.pm-source-mark.is-daily_state {
  color: var(--pm-accent);
  border-color: #3A3428;
}

.pm-detail-block {
  margin-top: 18px;
  padding-top: 14px;
  border-top: 1px solid var(--pm-line);
}

.pm-detail-block h3 {
  margin: 0 0 10px;
  font-size: 13px;
  font-weight: 650;
  letter-spacing: .04em;
}

.pm-detail-block p {
  margin: 0;
  color: var(--pm-muted);
  font-size: 13px;
}

.pm-day.is-today::after,
.pm-calendar button.is-today::after {
  content: "";
  position: absolute;
  top: 10px;
  right: 10px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--pm-accent);
}

.pm-detail-label {
  color: var(--pm-muted);
  font-size: 12px;
  margin-bottom: 8px;
}

.pm-detail-title {
  font-size: 22px;
  font-weight: 700;
}

.pm-detail-rows {
  margin-top: 20px;
  display: grid;
  gap: 12px;
}

.pm-detail-row {
  display: grid;
  grid-template-columns: 108px minmax(0, 1fr);
  gap: 12px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--pm-line);
}

.pm-detail-row span {
  color: var(--pm-muted);
}

.pm-detail-row strong {
  color: var(--pm-ink);
  font-weight: 600;
  overflow-wrap: anywhere;
}

@media (max-width: 1100px) {
  .pmv2-workspace.has-detail {
    grid-template-columns: minmax(0, 1fr);
  }

  .pmv2-detail {
    border-left: 0;
    border-top: 1px solid var(--pm-line);
    padding-top: 28px;
  }
}

@media (max-width: 900px) {
  .pmv2-topbar {
    display: flex;
  }

  .pmv2-sidebar {
    position: fixed;
    left: 0;
    top: 0;
    z-index: 80;
    transform: translateX(-100%);
    transition: transform 180ms ease;
    box-shadow: none;
  }

  body.pmv2.is-drawer-open .pmv2-sidebar {
    transform: none;
  }

  .pmv2-backdrop {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 70;
    background: rgba(0, 0, 0, .46);
  }

  body.pmv2.is-drawer-open .pmv2-backdrop {
    display: block;
  }

  .pmv2-content {
    padding: 28px 16px 72px;
  }

  .pmv2-detail {
    padding: 24px 16px 64px;
  }

  .pmv2-summary,
  .pmv2-summary.is-four {
    grid-template-columns: 1fr 1fr;
  }

  .pmv2-summary .pmv2-stat,
  .pmv2-summary:not(.is-four) .pmv2-stat:nth-child(3n),
  .pmv2-summary:not(.is-four) .pmv2-stat:nth-child(-n+3),
  .pmv2-summary.is-four .pmv2-stat:nth-child(4n) {
    border-right: 1px solid var(--pm-line);
    border-bottom: 1px solid var(--pm-line);
  }

  .pmv2-summary .pmv2-stat:nth-child(even) {
    border-right: 0;
  }

  .pmv2-calendar-head {
    flex-direction: column;
    align-items: flex-start;
  }

  .pm-calendar .pm-day,
  .pm-calendar button {
    min-height: 72px;
    padding: 8px;
  }

  .pmv2-timeline-row,
  .pmv2-change-row,
  .pm-detail-row {
    grid-template-columns: minmax(0, 1fr);
    gap: 4px;
  }
}

@media (max-width: 480px) {
  .pmv2-summary,
  .pmv2-summary.is-four {
    grid-template-columns: 1fr;
  }

  .pmv2-summary .pmv2-stat {
    border-right: 0;
    border-bottom: 1px solid var(--pm-line);
  }

  .pmv2-stat:last-child {
    border-bottom: 0;
  }

  .pm-week > div {
    font-size: 10px;
    padding-left: 3px;
    padding-right: 3px;
  }

  .pm-calendar .pm-day,
  .pm-calendar button {
    min-height: 58px;
    padding: 6px;
  }

  .pm-day-number {
    font-size: 11px;
  }
}

/* Biology Timeline v1.1 */
.pm-biology-trends {
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid rgba(0,0,0,.08);
}

.pm-biology-trend-head,
.pm-trend-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.pm-biology-trend-tabs {
  display: flex;
  gap: 6px;
}

.pm-biology-trend-tabs button {
  border: 1px solid rgba(0,0,0,.12);
  background: transparent;
  border-radius: 999px;
  padding: 6px 10px;
  cursor: pointer;
}

.pm-biology-trend-tabs button.is-active {
  background: #111;
  color: #fff;
}

.pm-trend-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  margin-top: 14px;
}

.pm-trend-card {
  padding: 12px 0;
  border-bottom: 1px solid rgba(0,0,0,.07);
}

.pm-trend-svg {
  width: 100%;
  height: 52px;
  margin-top: 8px;
  overflow: visible;
}

.pm-trend-empty {
  padding: 16px 0;
  opacity: .5;
}

.pm-workout-card {
  padding: 10px 0;
  border-bottom: 1px solid rgba(0,0,0,.06);
}

.pm-workout-card:last-child {
  border-bottom: 0;
}

/* Personal Model sidebar icon containment hotfix */
.pmv2-nav a {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  align-items: center;
  column-gap: 10px;
}

.pmv2-nav .pmv2-ico {
  display: block !important;
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  min-height: 20px !important;
  max-width: 20px !important;
  max-height: 20px !important;
  flex: 0 0 20px !important;
  overflow: visible;
}

.pmv2-phys {
  margin-top: 8px;
}

.pmv2-phys-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.pmv2-phys-card {
  border: 1px solid var(--pm-line);
  background: var(--pm-surface);
  padding: 16px;
}

.pmv2-phys-card .pmv2-phys-label {
  color: var(--pm-muted);
  font-size: 12px;
}

.pmv2-phys-card .pmv2-phys-value {
  margin-top: 8px;
  color: var(--pm-ink);
  font-size: 28px;
  font-weight: 650;
  letter-spacing: -.03em;
}

.pmv2-phys-card .pmv2-phys-note {
  margin-top: 6px;
  color: var(--pm-muted);
  font-size: 12px;
}

.pmv2-phys-status {
  margin: 0 0 16px;
  color: var(--pm-muted);
  font-size: 13px;
}

.pmv2-phys-chart {
  width: 100%;
  height: 88px;
  margin-top: 10px;
}

.pmv2-phys-empty {
  border: 1px dashed var(--pm-line);
  padding: 18px 16px;
  color: var(--pm-muted);
  font-size: 13px;
}

.pmv2-phys-list {
  margin: 10px 0 0;
  padding: 0;
  list-style: none;
}

.pmv2-phys-list li {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 8px 0;
  border-bottom: 1px solid var(--pm-line);
  color: var(--pm-body);
  font-size: 13px;
}

.pmv2-phys-disclaimer {
  margin-top: 12px;
  color: var(--pm-muted);
  font-size: 12px;
}

@media (max-width: 720px) {
  .pmv2-phys-grid {
    grid-template-columns: 1fr;
  }
}

.pmv2-nav .pmv2-ico * {
  vector-effect: non-scaling-stroke;
}
#btPrivacyBackdrop[hidden]{display:none!important}
#btPrivacyBackdrop{position:fixed;inset:0;z-index:2147483000;background:rgba(0,0,0,.72);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:grid;place-items:center;padding:20px}
.bt-privacy-modal{width:min(700px,100%);max-height:min(86vh,820px);overflow:auto;background:#0f1111;border:1px solid rgba(255,255,255,.16);border-radius:26px;box-shadow:0 28px 90px rgba(0,0,0,.58);color:#f5f5f2;padding:28px}
.bt-privacy-eyebrow{font:600 12px/1.2 system-ui;letter-spacing:.16em;color:#9da2a0;text-transform:uppercase;margin:0 0 12px}
.bt-privacy-modal h2{font:700 28px/1.15 system-ui;margin:0 0 10px}
.bt-privacy-lead{font:500 15px/1.65 system-ui;color:#d4d7d5;margin:0 0 16px}.bt-privacy-lead b{color:#fff}
.bt-privacy-callout{padding:15px 16px;border:1px solid rgba(255,255,255,.14);border-radius:17px;background:rgba(255,255,255,.045);margin:0 0 14px}
.bt-privacy-callout b,.bt-privacy-point b{display:block;font:650 14px/1.35 system-ui;margin-bottom:5px}
.bt-privacy-callout span,.bt-privacy-point span{font:400 13px/1.58 system-ui;color:#bcc1be}
.bt-privacy-callout.apple{border-color:rgba(255,255,255,.22)}
.bt-privacy-points{display:grid;gap:10px;margin:14px 0}.bt-privacy-point{padding:14px 16px;border:1px solid rgba(255,255,255,.1);border-radius:16px;background:rgba(255,255,255,.025)}
.bt-privacy-point.dmz{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.18)}
.bt-privacy-note{font:400 12px/1.55 system-ui;color:#929795;margin:16px 0}
.bt-privacy-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;position:sticky;bottom:-28px;background:linear-gradient(transparent,#0f1111 22%);padding-top:28px;padding-bottom:2px}
.bt-privacy-btn{appearance:none;border-radius:999px;padding:12px 18px;font:650 14px/1 system-ui;cursor:pointer;border:1px solid rgba(255,255,255,.16)}
.bt-privacy-btn.secondary{background:transparent;color:#c1c5c3}.bt-privacy-btn.primary{background:#f3f5ef;color:#111;border-color:#f3f5ef}.bt-privacy-btn.ghost{background:none;color:#969b98;border-color:transparent;text-decoration:underline;text-underline-offset:3px}.bt-privacy-btn:disabled{opacity:.5;cursor:wait}
.bt-privacy-link{appearance:none;border:0;background:none;color:#aab0ad;text-decoration:underline;text-underline-offset:3px;font:500 12px/1.2 system-ui;cursor:pointer;padding:0;margin-top:10px}
@media(max-width:640px){#btPrivacyBackdrop{align-items:end;padding:0}.bt-privacy-modal{width:100%;max-height:91vh;border-radius:28px 28px 0 0;padding:24px 20px calc(22px + env(safe-area-inset-bottom))}.bt-privacy-modal h2{font-size:24px}.bt-privacy-actions{bottom:calc(-22px - env(safe-area-inset-bottom));flex-direction:column-reverse}.bt-privacy-btn{width:100%;padding:15px 18px}}


/* BIO2TWIN_CONSENT_MOBILE_OVERLAP_FIX_V2
   iPhone: privacy content must never sit behind consent actions.
   Desktop behavior remains unchanged.
*/
@media (max-width:640px){
  #btPrivacyBackdrop{
    padding:0;
  }

  .bt-privacy-modal{
    width:100%;
    max-height:91dvh;
    overflow-y:auto;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    padding:
      24px
      20px
      calc(24px + env(safe-area-inset-bottom));
  }

  .bt-privacy-actions{
    position:static !important;
    inset:auto !important;
    bottom:auto !important;

    margin-top:20px;
    padding-top:8px;
    padding-bottom:0;

    background:none;

    flex-direction:column-reverse;
    gap:10px;
  }

  .bt-privacy-btn{
    width:100%;
    min-height:50px;
  }

  .bt-privacy-note{
    margin-bottom:0;
  }
}


/* BIO2TWIN_PRIVACY_COLLAPSE_V3
   Default state = title only.
   Tap title to reveal full privacy explanation.
*/

.bt-privacy-collapse{
  display:block;
}

.bt-privacy-collapse > summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  list-style:none;
  cursor:pointer;
  user-select:none;
  -webkit-user-select:none;
}

.bt-privacy-collapse > summary::-webkit-details-marker{
  display:none;
}

.bt-privacy-collapse > summary::after{
  content:"+";
  flex:0 0 auto;
  width:26px;
  height:26px;
  display:grid;
  place-items:center;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.13);
  color:#aeb3b0;
  font:400 18px/1 system-ui;
}

.bt-privacy-collapse[open] > summary::after{
  content:"−";
}

.bt-privacy-collapse > summary > b{
  margin:0 !important;
}

.bt-privacy-collapse-body{
  display:block !important;
  padding-top:12px;
}

.bt-privacy-collapse[open]{
  background:rgba(255,255,255,.04);
}

@media(max-width:640px){
  .bt-privacy-collapse{
    padding:16px 17px;
  }

  .bt-privacy-collapse > summary{
    min-height:28px;
  }

  .bt-privacy-collapse > summary > b{
    font-size:15px;
    line-height:1.4;
  }

  .bt-privacy-collapse-body{
    padding-top:12px;
    font-size:13px !important;
    line-height:1.65 !important;
  }
}
/* BIO2TWIN_PERSONAL_MODEL_HOME_V3_1
   iPhone UX Polish
   Visual / spacing / sizing / touch targets / Safari safe-area only.
*/

:root{
  --pm3-bg:#0b0c0c;
  --pm3-card:#171919;
  --pm3-card-2:#101111;
  --pm3-line:rgba(255,255,255,.08);
  --pm3-line-strong:rgba(255,255,255,.12);
  --pm3-text:#f4f6f2;
  --pm3-soft:#b8bdb9;
  --pm3-muted:#858d89;
  --pm3-accent:#e2e5e3;
}

/* ---------------------------------------------------------
   BASE
   --------------------------------------------------------- */

html{
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}

body.pmv2[data-page="overview"]{
  margin:0;
  background:var(--pm3-bg);
  color:var(--pm3-text);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

body.pmv2[data-page="overview"] *,
body.pmv2[data-page="overview"] *::before,
body.pmv2[data-page="overview"] *::after{
  box-sizing:border-box;
}

body.pmv2[data-page="overview"] a,
body.pmv2[data-page="overview"] button{
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation;
}

body.pmv2[data-page="overview"] .pmv2-content{
  width:100%;
  max-width:720px;
  margin:0 auto;
}

body.pmv2[data-page="overview"] .pmv2-workspace{
  width:100%;
}

.pmhome3{
  width:100%;
  margin:0 auto;
  color:var(--pm3-text);
}

/* ---------------------------------------------------------
   HERO
   --------------------------------------------------------- */

.pmhome3-hero{
  padding:20px 2px 22px;
}

.pmhome3-eyebrow{
  margin:0 0 8px;
  color:var(--pm3-muted);
  font-size:10px;
  line-height:1.2;
  font-weight:650;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.pmhome3-title{
  margin:0;
  color:var(--pm3-text);
  font-size:34px;
  line-height:1.04;
  font-weight:620;
  letter-spacing:-.047em;
}

.pmhome3-date{
  margin:9px 0 0;
  color:var(--pm3-muted);
  font-size:13px;
  line-height:1.4;
}

.pmhome3-sync{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  gap:8px;
  margin-top:15px;
  padding:7px 11px;
  border:1px solid var(--pm3-line);
  border-radius:999px;
  background:rgba(255,255,255,.025);
  color:var(--pm3-soft);
  font-size:11px;
  line-height:1.2;
}

.pmhome3-dot{
  flex:0 0 auto;
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--pm3-accent);
  box-shadow:0 0 0 4px rgba(226,229,227,.07);
}

/* ---------------------------------------------------------
   SECTIONS / CARDS
   --------------------------------------------------------- */

.pmhome3-section{
  margin-top:10px;
}

.pmhome3-card{
  padding:18px;
  overflow:hidden;
  border:1px solid var(--pm3-line);
  border-radius:20px;
  background:var(--pm3-card);
}

.pmhome3-card + .pmhome3-card{
  margin-top:10px;
}

.pmhome3-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:15px;
}

.pmhome3-head h2{
  margin:0;
  color:var(--pm3-text);
  font-size:15px;
  line-height:1.25;
  font-weight:590;
  letter-spacing:-.018em;
}

.pmhome3-meta{
  flex:0 0 auto;
  color:var(--pm3-muted);
  font-size:9px;
  line-height:1.2;
  font-weight:600;
  letter-spacing:.085em;
  text-transform:uppercase;
}

/* ---------------------------------------------------------
   TODAY METRICS
   --------------------------------------------------------- */

.pmhome3-metrics{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1px;
  overflow:hidden;
  border:1px solid var(--pm3-line);
  border-radius:16px;
  background:var(--pm3-line);
}

.pmhome3-metric{
  min-width:0;
  min-height:114px;
  padding:15px 11px 13px;
  background:var(--pm3-card-2);
}

.pmhome3-metric-name{
  display:block;
  min-height:26px;
  margin-bottom:7px;
  color:var(--pm3-muted);
  font-size:10px;
  line-height:1.3;
}

.pmhome3-metric-value{
  display:flex;
  align-items:flex-end;
  flex-wrap:wrap;
  gap:3px;
  min-width:0;
  color:var(--pm3-text);
  font-size:24px;
  line-height:1;
  font-weight:590;
  letter-spacing:-.045em;
}

.pmhome3-metric-unit{
  margin:0 0 2px;
  color:var(--pm3-muted);
  font-size:9px;
  line-height:1;
  font-weight:520;
  letter-spacing:0;
}

.pmhome3-delta{
  display:block;
  margin-top:8px;
  color:var(--pm3-soft);
  font-size:9px;
  line-height:1.35;
}

.pmhome3-empty{
  grid-column:1/-1;
  margin:0;
  padding:18px;
  color:var(--pm3-muted);
  background:var(--pm3-card-2);
  font-size:12px;
  line-height:1.55;
}

/* ---------------------------------------------------------
   PERSONAL MODEL
   --------------------------------------------------------- */

.pmhome3-model-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin-bottom:14px;
}

.pmhome3-model-name{
  margin:0;
  color:var(--pm3-text);
  font-size:18px;
  line-height:1.22;
  font-weight:580;
  letter-spacing:-.028em;
}

.pmhome3-model-sub{
  margin:6px 0 0;
  color:var(--pm3-muted);
  font-size:10px;
  line-height:1.45;
}

.pmhome3-badge{
  flex:0 0 auto;
  min-height:28px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:5px 9px;
  border:1px solid rgba(226,229,227,.16);
  border-radius:999px;
  background:rgba(226,229,227,.035);
  color:var(--pm3-accent);
  font-size:9px;
  line-height:1;
  font-weight:650;
  letter-spacing:.07em;
}

.pmhome3-readiness{
  margin:0;
  padding:0;
  list-style:none;
  border-top:1px solid var(--pm3-line);
}

.pmhome3-readiness li{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:42px;
  border-bottom:1px solid var(--pm3-line);
  color:var(--pm3-soft);
  font-size:12px;
  line-height:1.3;
}

.pmhome3-readiness li:last-child{
  border-bottom:0;
}

.pmhome3-ready{
  color:var(--pm3-accent);
  font-size:10px;
  font-weight:570;
}

.pmhome3-learning{
  color:var(--pm3-muted);
  font-size:10px;
}

/* ---------------------------------------------------------
   SCIENTIFIC MEMORY
   --------------------------------------------------------- */

.pmhome3-memory{
  background:
    radial-gradient(
      circle at 100% 0,
      rgba(226,229,227,.055),
      transparent 38%
    ),
    var(--pm3-card);
}

.pmhome3-memory-text{
  margin:0;
  max-width:34em;
  color:var(--pm3-text);
  font-size:18px;
  line-height:1.48;
  font-weight:530;
  letter-spacing:-.022em;
}

.pmhome3-memory-foot{
  display:flex;
  flex-wrap:wrap;
  gap:6px 12px;
  margin-top:15px;
  color:var(--pm3-muted);
  font-size:10px;
  line-height:1.4;
}

/* ---------------------------------------------------------
   SIMULATION / TRUTH LOOP
   --------------------------------------------------------- */

.pmhome3-stage{
  color:var(--pm3-text);
  font-size:24px;
  line-height:1.08;
  font-weight:570;
  letter-spacing:-.035em;
}

.pmhome3-copy{
  max-width:520px;
  margin:9px 0 0;
  color:var(--pm3-muted);
  font-size:12px;
  line-height:1.6;
}

.pmhome3-loop{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:6px;
  margin:0 0 14px;
  color:var(--pm3-soft);
  font-size:11px;
  line-height:1.4;
}

.pmhome3-loop-arrow{
  color:#858d89;
}

.pmhome3-truth-counts{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:12px;
}

.pmhome3-truth-counts span{
  display:inline-flex;
  align-items:center;
  min-height:27px;
  padding:5px 8px;
  border:1px solid var(--pm3-line);
  border-radius:999px;
  color:var(--pm3-muted);
  font-size:9px;
}

/* ---------------------------------------------------------
   QUICK ACTIONS
   --------------------------------------------------------- */

.pmhome3-actions{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin-top:12px;
}

.pmhome3-action{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  min-width:0;
  min-height:54px;
  padding:0 14px;
  border:1px solid var(--pm3-line);
  border-radius:16px;
  background:var(--pm3-card);
  color:var(--pm3-soft);
  text-decoration:none;
  font-size:12px;
  line-height:1.3;
  font-weight:530;
}

.pmhome3-action::after{
  content:"›";
  flex:0 0 auto;
  color:var(--pm3-muted);
  font-size:19px;
  line-height:1;
  font-weight:300;
}

.pmhome3-action:active{
  transform:scale(.985);
  background:#121816;
}

/* ---------------------------------------------------------
   ERROR / RETRY
   --------------------------------------------------------- */

.pmhome3-error{
  padding:22px 18px;
  border:1px solid var(--pm3-line);
  border-radius:20px;
  background:var(--pm3-card);
}

.pmhome3-error h2{
  margin:0 0 7px;
  font-size:18px;
  line-height:1.25;
}

.pmhome3-error p{
  margin:0;
  color:var(--pm3-muted);
  font-size:12px;
  line-height:1.6;
}

.pmhome3-retry{
  min-width:96px;
  min-height:46px;
  margin-top:15px;
  padding:0 15px;
  border:0;
  border-radius:13px;
  background:#f2f4ef;
  color:#0b0d0c;
  font:600 12px/1 system-ui,-apple-system,BlinkMacSystemFont,sans-serif;
  cursor:pointer;
}

/* ---------------------------------------------------------
   FOCUS
   --------------------------------------------------------- */

.pmhome3-action:focus-visible,
.pmhome3-retry:focus-visible{
  outline:2px solid var(--pm3-accent);
  outline-offset:3px;
}

/* ---------------------------------------------------------
   IPHONE / MOBILE FIRST
   --------------------------------------------------------- */

@media(max-width:760px){

  body.pmv2[data-page="overview"] .pmv2-main-col{
    min-width:0;
    width:100%;
  }

  body.pmv2[data-page="overview"] .pmv2-workspace{
    padding-top:0 !important;
    padding-right:max(14px,env(safe-area-inset-right)) !important;
    padding-bottom:0 !important;
    padding-left:max(14px,env(safe-area-inset-left)) !important;
  }

  body.pmv2[data-page="overview"] .pmv2-content{
    width:100%;
    max-width:none;
    padding:0 !important;
  }

  body.pmv2[data-page="overview"] .pmv2-topbar{
    position:sticky !important;
    top:0;
    z-index:30;
    width:100%;
    min-height:calc(48px + env(safe-area-inset-top));
    padding-top:env(safe-area-inset-top) !important;
    padding-right:max(12px,env(safe-area-inset-right)) !important;
    padding-left:max(12px,env(safe-area-inset-left)) !important;
    border-bottom:1px solid rgba(255,255,255,.045);
    background:rgba(5,7,6,.84);
    -webkit-backdrop-filter:blur(18px) saturate(130%);
    backdrop-filter:blur(18px) saturate(130%);
  }

  body.pmv2[data-page="overview"] .pmv2-menu{
    width:44px;
    min-width:44px;
    height:44px;
    min-height:44px;
    padding:0;
    touch-action:manipulation;
  }

  body.pmv2[data-page="overview"] .pmv2-topbar-title{
    font-size:13px;
    line-height:1.2;
    font-weight:570;
    letter-spacing:-.01em;
  }

  .pmhome3{
    padding:
      0
      0
      max(34px,calc(24px + env(safe-area-inset-bottom)));
  }

  .pmhome3-hero{
    padding:22px 2px 19px;
  }

  .pmhome3-title{
    font-size:31px;
    line-height:1.045;
  }

  .pmhome3-section{
    margin-top:9px;
    scroll-margin-top:72px;
  }

  .pmhome3-card{
    padding:17px;
    border-radius:18px;
  }

  .pmhome3-head{
    margin-bottom:14px;
  }

  .pmhome3-model-name{
    font-size:17px;
  }

  .pmhome3-memory-text{
    font-size:17px;
  }

  .pmhome3-action{
    min-height:56px;
    padding:0 13px;
    border-radius:15px;
  }
}

/* Small iPhone / narrow viewport */
@media(max-width:359px){

  body.pmv2[data-page="overview"] .pmv2-workspace{
    padding-right:max(11px,env(safe-area-inset-right)) !important;
    padding-left:max(11px,env(safe-area-inset-left)) !important;
  }

  .pmhome3-title{
    font-size:29px;
  }

  .pmhome3-card{
    padding:15px;
  }

  .pmhome3-metrics{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .pmhome3-metric{
    min-height:105px;
  }

  .pmhome3-metric:nth-child(3):last-child{
    grid-column:1/-1;
  }

  .pmhome3-actions{
    grid-template-columns:1fr;
  }
}

/* ---------------------------------------------------------
   DESKTOP
   --------------------------------------------------------- */

@media(min-width:761px){

  body.pmv2[data-page="overview"] .pmv2-workspace{
    padding:0 24px 52px;
  }

  .pmhome3{
    padding:34px 0 60px;
  }

  .pmhome3-hero{
    padding-top:10px;
  }

  .pmhome3-title{
    font-size:44px;
  }

  .pmhome3-card{
    padding:22px;
  }

  .pmhome3-actions{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

/* Accessibility */
@media(prefers-reduced-motion:reduce){
  .pmhome3-action{
    transition:none !important;
  }
}

/* =========================================================
   BIO2TWIN_PERSONAL_MODEL_HOME_V3_2
   1080 Responsive Polish
   ========================================================= */

/*
   Medium desktop / tablet landscape:
   Keep the page compact instead of looking like an enlarged phone UI.
*/
@media (min-width:761px) and (max-width:1199px){

  body.pmv2[data-page="overview"] .pmv2-content{
    width:100%;
    max-width:900px;
    margin:0 auto;
  }

  body.pmv2[data-page="overview"] .pmv2-workspace{
    padding:
      0
      max(22px,env(safe-area-inset-right))
      44px
      max(22px,env(safe-area-inset-left));
  }

  .pmhome3{
    padding:22px 0 48px;
  }

  .pmhome3-hero{
    padding:4px 4px 18px;
  }

  .pmhome3-eyebrow{
    margin-bottom:7px;
  }

  .pmhome3-title{
    font-size:39px;
    line-height:1.03;
  }

  .pmhome3-date{
    margin-top:8px;
  }

  .pmhome3-sync{
    margin-top:13px;
  }

  .pmhome3-section{
    margin-top:9px;
  }

  .pmhome3-card{
    padding:20px;
    border-radius:19px;
  }

  .pmhome3-head{
    margin-bottom:14px;
  }

  /*
     3 real metrics -> 3 equal columns.
     4 real metrics -> 4 equal columns.
     No blank second row.
  */
  .pmhome3-metrics{
    grid-template-columns:
      repeat(auto-fit,minmax(150px,1fr));
  }

  .pmhome3-metric{
    min-height:104px;
    padding:14px 14px 12px;
  }

  .pmhome3-metric-name{
    min-height:auto;
    margin-bottom:9px;
  }

  .pmhome3-metric-value{
    font-size:27px;
  }

  .pmhome3-delta{
    margin-top:8px;
  }

  .pmhome3-model-top{
    margin-bottom:12px;
  }

  .pmhome3-model-name{
    font-size:17px;
  }

  .pmhome3-readiness li{
    min-height:39px;
  }

  .pmhome3-memory-text{
    font-size:17px;
  }

  .pmhome3-stage{
    font-size:22px;
  }

  .pmhome3-actions{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
  }

  .pmhome3-action{
    min-height:52px;
  }
}

/*
   Large desktop can breathe slightly more,
   but stays centered rather than stretching endlessly.
*/
@media (min-width:1200px){

  body.pmv2[data-page="overview"] .pmv2-content{
    max-width:960px;
  }

  .pmhome3-metrics{
    grid-template-columns:
      repeat(auto-fit,minmax(165px,1fr));
  }
}

/* === BIO2TWIN_HOME_V3_3_ICON_LANGUAGE_START === */

/*
  Bio2Twin Icon Language
  Quiet outline icons.
  No emoji.
  No external icon library.
*/

.pmhome3{
  --pm3-icon-color:#b8bdb9;
  --pm3-icon-size:16px;
}

/* ---------------------------------------------------------
   SHARED ICON SHELL
   --------------------------------------------------------- */

.pmhome3-head h2::before,
.pmhome3-metric-name::before,
.pmhome3-action::before{
  content:"";
  display:inline-block;
  flex:0 0 auto;
  width:var(--pm3-icon-size);
  height:var(--pm3-icon-size);
  background:var(--pm3-icon-color);

  -webkit-mask-image:var(--pm3-icon);
  mask-image:var(--pm3-icon);

  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;

  -webkit-mask-position:center;
  mask-position:center;

  -webkit-mask-size:contain;
  mask-size:contain;
}

/* ---------------------------------------------------------
   SECTION HEADERS
   --------------------------------------------------------- */

.pmhome3-head h2{
  display:flex;
  align-items:center;
  gap:8px;
}

/* Today / Reality */
.pmhome3-section:nth-of-type(1) .pmhome3-head h2{
  --pm3-icon:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12h4l2-5 4 10 2-5h6'/%3E%3C/svg%3E");
}

/* Personal Model / Layers */
.pmhome3-section:nth-of-type(2) .pmhome3-head h2{
  --pm3-icon:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 3 9 5-9 5-9-5 9-5Z'/%3E%3Cpath d='m3 12 9 5 9-5'/%3E%3Cpath d='m3 16 9 5 9-5'/%3E%3C/svg%3E");
}

/* Scientific Memory / Sparkles */
.pmhome3-section:nth-of-type(3) .pmhome3-head h2{
  --pm3-icon:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 3 1.3 3.7L17 8l-3.7 1.3L12 13l-1.3-3.7L7 8l3.7-1.3L12 3Z'/%3E%3Cpath d='m19 14 .8 2.2L22 17l-2.2.8L19 20l-.8-2.2L16 17l2.2-.8L19 14Z'/%3E%3Cpath d='m5 14 .6 1.4L7 16l-1.4.6L5 18l-.6-1.4L3 16l1.4-.6L5 14Z'/%3E%3C/svg%3E");
}

/* Simulation / Orbit */
.pmhome3-section:nth-of-type(4) .pmhome3-head h2{
  --pm3-icon:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='2.2'/%3E%3Cellipse cx='12' cy='12' rx='9' ry='4.5' transform='rotate(35 12 12)'/%3E%3Cellipse cx='12' cy='12' rx='9' ry='4.5' transform='rotate(-35 12 12)'/%3E%3C/svg%3E");
}

/* Truth Loop / verified */
.pmhome3-section:nth-of-type(5) .pmhome3-head h2{
  --pm3-icon:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='m8 12 2.5 2.5L16 9'/%3E%3C/svg%3E");
}

/* ---------------------------------------------------------
   TODAY METRIC ICONS
   --------------------------------------------------------- */

.pmhome3-metric-name{
  display:flex;
  align-items:center;
  gap:6px;
}

/* HRV */
.pmhome3-metric:nth-child(1) .pmhome3-metric-name{
  --pm3-icon:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12h4l2-5 4 10 2-5h8'/%3E%3C/svg%3E");
}

/* Resting Heart Rate */
.pmhome3-metric:nth-child(2) .pmhome3-metric-name{
  --pm3-icon:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.8 4.6a5.5 5.5 0 0 0-7.8 0L12 5.6l-1-1a5.5 5.5 0 0 0-7.8 7.8L12 21l8.8-8.6a5.5 5.5 0 0 0 0-7.8Z'/%3E%3C/svg%3E");
}

/* Respiratory */
.pmhome3-metric:nth-child(3) .pmhome3-metric-name{
  --pm3-icon:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 9h9a3 3 0 1 0-3-3'/%3E%3Cpath d='M3 15h13a3 3 0 1 1-3 3'/%3E%3Cpath d='M3 12h17'/%3E%3C/svg%3E");
}

/* Sleep, only if actually present */
.pmhome3-metric:nth-child(4) .pmhome3-metric-name{
  --pm3-icon:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 15.5A8.5 8.5 0 0 1 8.5 4 8.5 8.5 0 1 0 20 15.5Z'/%3E%3C/svg%3E");
}

.pmhome3-metric-name::before{
  width:14px;
  height:14px;
  opacity:.85;
}

/* ---------------------------------------------------------
   QUICK ACTION ICONS
   --------------------------------------------------------- */

.pmhome3-action{
  justify-content:flex-start;
}

.pmhome3-action::before{
  width:17px;
  height:17px;
  margin-right:2px;
  opacity:.88;
}

.pmhome3-action::after{
  margin-left:auto;
}

/* Calendar */
.pmhome3-action:nth-child(1){
  --pm3-icon:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M16 3v4M8 3v4M3 10h18'/%3E%3C/svg%3E");
}

/* Health */
.pmhome3-action:nth-child(2){
  --pm3-icon:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12h4l2-5 4 10 2-5h6'/%3E%3C/svg%3E");
}

/* Reports */
.pmhome3-action:nth-child(3){
  --pm3-icon:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2h8l4 4v16H6z'/%3E%3Cpath d='M14 2v5h5M9 12h6M9 16h6'/%3E%3C/svg%3E");
}

/* N-of-1 experiment */
.pmhome3-action:nth-child(4){
  --pm3-icon:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 3h6M10 3v5l-5 9a3 3 0 0 0 2.6 4.5h8.8A3 3 0 0 0 19 17l-5-9V3'/%3E%3Cpath d='M8 15h8'/%3E%3C/svg%3E");
}

/* Data Sources */
.pmhome3-action:nth-child(5){
  --pm3-icon:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cellipse cx='12' cy='5' rx='8' ry='3'/%3E%3Cpath d='M4 5v6c0 1.7 3.6 3 8 3s8-1.3 8-3V5'/%3E%3Cpath d='M4 11v6c0 1.7 3.6 3 8 3s8-1.3 8-3v-6'/%3E%3C/svg%3E");
}

/* Model Lab */
.pmhome3-action:nth-child(6){
  --pm3-icon:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 3h6M10 3v4.5L4.5 18a2 2 0 0 0 1.8 3h11.4a2 2 0 0 0 1.8-3L14 7.5V3'/%3E%3Cpath d='M8 15h8'/%3E%3C/svg%3E");
}

/* ---------------------------------------------------------
   SUBTLE INTERACTION
   --------------------------------------------------------- */

.pmhome3-action{
  transition:
    background .16s ease,
    border-color .16s ease,
    transform .12s ease;
}

@media(hover:hover){
  .pmhome3-action:hover{
    border-color:var(--pm3-line-strong);
    background:#111614;
  }

  .pmhome3-action:hover::before{
    background:var(--pm3-accent);
  }
}

/* Slightly quieter on iPhone */
@media(max-width:760px){
  .pmhome3{
    --pm3-icon-size:15px;
  }

  .pmhome3-head h2{
    gap:7px;
  }

  .pmhome3-action::before{
    width:16px;
    height:16px;
  }
}

/* === BIO2TWIN_HOME_V3_3_ICON_LANGUAGE_END === */

/* === BIO2TWIN_HOME_V3_5_MOTION_ICONS_START === */

/*
  Bigger icons + subtle motion
  CSS only
*/

/* Slightly larger global icon scale */
.pmhome3{
  --pm3-icon-size:18px;
}

/* ---------------------------------------------
   Bigger section icons
   --------------------------------------------- */

.pmhome3-head h2{
  gap:10px;
}

.pmhome3-head h2::before{
  width:18px;
  height:18px;
  opacity:.96;
}

/* ---------------------------------------------
   Bigger metric icons
   --------------------------------------------- */

.pmhome3-metric-name{
  gap:7px;
}

.pmhome3-metric-name::before{
  width:16px;
  height:16px;
  opacity:.96;
}

/* Slightly stronger emphasis for metric labels */
.pmhome3-metric-name{
  color:#b8bdb9;
}

/* ---------------------------------------------
   Bigger quick action icons
   --------------------------------------------- */

.pmhome3-action{
  gap:10px;
}

.pmhome3-action::before{
  width:19px;
  height:19px;
  margin-right:3px;
  opacity:.96;
}

.pmhome3-action::after{
  font-size:20px;
}

/* ---------------------------------------------
   Heartbeat motion
   Resting heart rate = 2nd metric
   --------------------------------------------- */

@keyframes btHeartBeat {
  0%   { transform:scale(1);     filter:drop-shadow(0 0 0 rgba(255,138,122,0)); }
  8%   { transform:scale(1.08);  filter:drop-shadow(0 0 5px rgba(255,138,122,.18)); }
  16%  { transform:scale(1);     filter:drop-shadow(0 0 0 rgba(255,138,122,0)); }
  28%  { transform:scale(1.16);  filter:drop-shadow(0 0 8px rgba(255,138,122,.24)); }
  40%  { transform:scale(1);     filter:drop-shadow(0 0 0 rgba(255,138,122,0)); }
  100% { transform:scale(1);     filter:drop-shadow(0 0 0 rgba(255,138,122,0)); }
}

.pmhome3-metric:nth-child(2) .pmhome3-metric-name::before{
  transform-origin:center;
  animation:btHeartBeat 1.65s ease-in-out infinite;
  will-change:transform,filter;
}

/* Optional subtle emphasis on the heart-rate value */
.pmhome3-metric:nth-child(2) .pmhome3-metric-value{
  text-shadow:0 0 10px rgba(255,138,122,.06);
}

/* ---------------------------------------------
   Tiny pulse on Apple Health sync dot
   --------------------------------------------- */

@keyframes btSyncPulse {
  0%   { box-shadow:0 0 0 0 rgba(226,229,227,.18); }
  70%  { box-shadow:0 0 0 8px rgba(226,229,227,0); }
  100% { box-shadow:0 0 0 0 rgba(226,229,227,0); }
}

.pmhome3-dot{
  animation:btSyncPulse 2.4s ease-out infinite;
}

/* ---------------------------------------------
   Hover polish
   --------------------------------------------- */

@media(hover:hover){
  .pmhome3-action:hover::before{
    transform:scale(1.08);
  }
}

/* ---------------------------------------------
   iPhone tuning
   --------------------------------------------- */

@media(max-width:760px){
  .pmhome3{
    --pm3-icon-size:17px;
  }

  .pmhome3-head h2{
    gap:9px;
  }

  .pmhome3-head h2::before{
    width:17px;
    height:17px;
  }

  .pmhome3-metric-name::before{
    width:15px;
    height:15px;
  }

  .pmhome3-action::before{
    width:18px;
    height:18px;
  }
}

/* ---------------------------------------------
   Respect reduced motion
   --------------------------------------------- */

@media(prefers-reduced-motion:reduce){
  .pmhome3-metric:nth-child(2) .pmhome3-metric-name::before,
  .pmhome3-dot{
    animation:none !important;
  }

  .pmhome3-action:hover::before{
    transform:none !important;
  }
}

/* === BIO2TWIN_HOME_V3_5_MOTION_ICONS_END === */

/* === BIO2TWIN_HOME_V3_6_START === */

/* =========================================================
   BIO2TWIN BIOLOGICAL VISUAL LANGUAGE
   Color + larger icons + living motion
   ========================================================= */

.pmhome3{
  --bt-hrv:#b8bdb9;
  --bt-heart:#FF776C;
  --bt-breath:#67B5FF;
  --bt-sleep:#8F94FF;

  --bt-model:#b8bdb9;
  --bt-memory:#B29CFF;
  --bt-simulation:#F4C76B;
  --bt-truth:#b8bdb9;
}

/* ---------------------------------------------------------
   SECTION ICON BASE
   --------------------------------------------------------- */

.pmhome3-head h2{
  display:flex;
  align-items:center;
  gap:11px;
}

.pmhome3-head h2::before{
  width:21px !important;
  height:21px !important;
  flex:0 0 21px;
  opacity:1 !important;
}

/* TODAY */
.pmhome3-section:nth-of-type(1) .pmhome3-head h2::before{
  background:var(--bt-hrv) !important;
  filter:drop-shadow(0 0 7px rgba(184,189,185,.25));
}

/* MODEL */
.pmhome3-section:nth-of-type(2) .pmhome3-head h2::before{
  background:var(--bt-model) !important;
  filter:drop-shadow(0 0 7px rgba(184,189,185,.20));
}

/* MEMORY */
.pmhome3-section:nth-of-type(3) .pmhome3-head h2::before{
  background:var(--bt-memory) !important;
  filter:drop-shadow(0 0 7px rgba(178,156,255,.22));
}

/* SIMULATION */
.pmhome3-section:nth-of-type(4) .pmhome3-head h2::before{
  background:var(--bt-simulation) !important;
  filter:drop-shadow(0 0 7px rgba(244,199,107,.20));
}

/* TRUTH */
.pmhome3-section:nth-of-type(5) .pmhome3-head h2::before{
  background:var(--bt-truth) !important;
  filter:drop-shadow(0 0 7px rgba(184,189,185,.22));
}

/* ---------------------------------------------------------
   METRIC ICONS
   --------------------------------------------------------- */

.pmhome3-metric-name{
  display:flex;
  align-items:center;
  gap:8px;
}

.pmhome3-metric-name::before{
  width:20px !important;
  height:20px !important;
  flex:0 0 20px;
  opacity:1 !important;
}

/* HRV */
.pmhome3-metric:nth-child(1) .pmhome3-metric-name::before{
  background:var(--bt-hrv) !important;
  filter:drop-shadow(0 0 6px rgba(184,189,185,.30));
}

.pmhome3-metric:nth-child(1) .pmhome3-metric-value{
  color:var(--bt-hrv) !important;
}

/* HEART */
.pmhome3-metric:nth-child(2) .pmhome3-metric-name::before{
  background:var(--bt-heart) !important;
  filter:drop-shadow(0 0 7px rgba(255,119,108,.36));
  transform-origin:center;
  animation:btHeartAlive 1.45s cubic-bezier(.2,.7,.35,1) infinite !important;
}

.pmhome3-metric:nth-child(2) .pmhome3-metric-value{
  color:var(--bt-heart) !important;
}

/* RESPIRATION */
.pmhome3-metric:nth-child(3) .pmhome3-metric-name::before{
  background:var(--bt-breath) !important;
  filter:drop-shadow(0 0 7px rgba(103,181,255,.30));
  transform-origin:center;
  animation:btBreathing 3.6s ease-in-out infinite;
}

.pmhome3-metric:nth-child(3) .pmhome3-metric-value{
  color:var(--bt-breath) !important;
}

/* SLEEP if available */
.pmhome3-metric:nth-child(4) .pmhome3-metric-name::before{
  background:var(--bt-sleep) !important;
}

.pmhome3-metric:nth-child(4) .pmhome3-metric-value{
  color:var(--bt-sleep) !important;
}

/* ---------------------------------------------------------
   HEARTBEAT
   two quick beats + rest
   --------------------------------------------------------- */

@keyframes btHeartAlive{
  0%{
    transform:scale(1);
    filter:drop-shadow(0 0 5px rgba(255,119,108,.25));
  }

  10%{
    transform:scale(1.32);
    filter:drop-shadow(0 0 13px rgba(255,119,108,.70));
  }

  18%{
    transform:scale(.96);
  }

  27%{
    transform:scale(1.20);
    filter:drop-shadow(0 0 10px rgba(255,119,108,.55));
  }

  37%{
    transform:scale(1);
    filter:drop-shadow(0 0 5px rgba(255,119,108,.25));
  }

  100%{
    transform:scale(1);
    filter:drop-shadow(0 0 5px rgba(255,119,108,.25));
  }
}

/* ---------------------------------------------------------
   BREATHING
   --------------------------------------------------------- */

@keyframes btBreathing{
  0%,100%{
    transform:scale(.90);
    opacity:.72;
  }

  50%{
    transform:scale(1.18);
    opacity:1;
  }
}

/* ---------------------------------------------------------
   HRV subtle electrical pulse
   --------------------------------------------------------- */

@keyframes btHrvPulse{
  0%,100%{
    opacity:.72;
    transform:translateY(0);
  }

  45%{
    opacity:1;
    transform:translateY(-1px);
  }

  55%{
    opacity:1;
    transform:translateY(1px);
  }
}

.pmhome3-metric:nth-child(1) .pmhome3-metric-name::before{
  animation:btHrvPulse 2.1s ease-in-out infinite;
}

/* ---------------------------------------------------------
   MODEL / MEMORY / SIMULATION / TRUTH COLORS
   --------------------------------------------------------- */

.pmhome3-badge,
.pmhome3-ready{
  color:var(--bt-model) !important;
}

.pmhome3-badge{
  border-color:rgba(184,189,185,.28) !important;
  background:rgba(184,189,185,.055) !important;
}

.pmhome3-memory{
  background:
    radial-gradient(
      circle at 96% 3%,
      rgba(178,156,255,.08),
      transparent 37%
    ),
    var(--pm3-card) !important;
}

.pmhome3-memory-text{
  color:#F1EEFF;
}

.pmhome3-memory-foot{
  color:#AFA3D5 !important;
}

.pmhome3-stage{
  color:var(--bt-simulation) !important;
}

.pmhome3-loop-arrow{
  color:var(--bt-truth) !important;
}

/* ---------------------------------------------------------
   CARD TOP ACCENT
   --------------------------------------------------------- */

.pmhome3-card{
  position:relative;
}

.pmhome3-card::before{
  content:"";
  position:absolute;
  top:0;
  left:20px;
  right:20px;
  height:1px;
  opacity:.55;
}

.pmhome3-section:nth-of-type(1) .pmhome3-card::before{
  background:linear-gradient(
    90deg,
    var(--bt-hrv),
    var(--bt-breath)
  );
}

.pmhome3-section:nth-of-type(2) .pmhome3-card::before{
  background:var(--bt-model);
}

.pmhome3-section:nth-of-type(3) .pmhome3-card::before{
  background:var(--bt-memory);
}

.pmhome3-section:nth-of-type(4) .pmhome3-card::before{
  background:var(--bt-simulation);
}

.pmhome3-section:nth-of-type(5) .pmhome3-card::before{
  background:var(--bt-truth);
}

/* ---------------------------------------------------------
   APPLE HEALTH LIVE DOT
   --------------------------------------------------------- */

@keyframes btSyncAlive{
  0%{
    box-shadow:
      0 0 0 0 rgba(184,189,185,.38),
      0 0 5px rgba(184,189,185,.30);
  }

  70%{
    box-shadow:
      0 0 0 9px rgba(184,189,185,0),
      0 0 7px rgba(184,189,185,.35);
  }

  100%{
    box-shadow:
      0 0 0 0 rgba(184,189,185,0),
      0 0 5px rgba(184,189,185,.25);
  }
}

.pmhome3-dot{
  background:var(--bt-model) !important;
  animation:btSyncAlive 2.25s ease-out infinite !important;
}

/* ---------------------------------------------------------
   QUICK ACTIONS
   --------------------------------------------------------- */

.pmhome3-action::before{
  width:21px !important;
  height:21px !important;
  flex:0 0 21px;
  opacity:1 !important;
}

.pmhome3-action:nth-child(1)::before{
  background:var(--bt-model) !important;
}

.pmhome3-action:nth-child(2)::before{
  background:var(--bt-hrv) !important;
}

.pmhome3-action:nth-child(3)::before{
  background:var(--bt-memory) !important;
}

.pmhome3-action:nth-child(4)::before{
  background:var(--bt-simulation) !important;
}

.pmhome3-action:nth-child(5)::before{
  background:var(--bt-breath) !important;
}

.pmhome3-action:nth-child(6)::before{
  background:var(--bt-truth) !important;
}

@media(hover:hover){
  .pmhome3-action:hover::before{
    transform:scale(1.12);
    filter:brightness(1.15);
  }
}

/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */

@media(max-width:760px){

  .pmhome3-head h2::before{
    width:20px !important;
    height:20px !important;
  }

  .pmhome3-metric-name::before{
    width:19px !important;
    height:19px !important;
  }

  .pmhome3-action::before{
    width:20px !important;
    height:20px !important;
  }
}

/* ---------------------------------------------------------
   ACCESSIBILITY
   --------------------------------------------------------- */

@media(prefers-reduced-motion:reduce){

  .pmhome3-metric-name::before,
  .pmhome3-dot{
    animation:none !important;
  }
}

/* === BIO2TWIN_HOME_V3_6_END === */

/* === BIO2TWIN_HOME_V3_7_MOTION_PLUS_START === */

/*
  Stronger visible motion for:
  - HRV
  - Respiratory rate
  Keep heart motion from v3.6
*/

/* ---------------------------------------------------------
   HRV: more alive
   --------------------------------------------------------- */

@keyframes btHrvAlive{
  0%,100%{
    transform:translateY(0) scale(1);
    opacity:.82;
    filter:drop-shadow(0 0 5px rgba(184,189,185,.18));
  }

  18%{
    transform:translateY(-1px) scale(1.05);
    opacity:1;
    filter:drop-shadow(0 0 8px rgba(184,189,185,.34));
  }

  28%{
    transform:translateY(1px) scale(.98);
    opacity:.92;
  }

  42%{
    transform:translateY(-2px) scale(1.12);
    opacity:1;
    filter:drop-shadow(0 0 12px rgba(184,189,185,.48));
  }

  56%{
    transform:translateY(0) scale(1);
    opacity:.94;
  }
}

.pmhome3-metric:nth-child(1) .pmhome3-metric-name::before{
  animation:btHrvAlive 1.9s ease-in-out infinite !important;
}

.pmhome3-metric:nth-child(1) .pmhome3-metric-value{
  text-shadow:0 0 12px rgba(184,189,185,.10);
}

/* Optional subtle pulse line feel on the card */
.pmhome3-metric:nth-child(1){
  background:
    linear-gradient(
      180deg,
      rgba(184,189,185,.04) 0%,
      rgba(184,189,185,0) 34%
    ),
    var(--pm3-card-2);
}

/* ---------------------------------------------------------
   BREATHING: more obvious inhale / exhale
   --------------------------------------------------------- */

@keyframes btBreathingAlive{
  0%{
    transform:scale(.86);
    opacity:.70;
    filter:drop-shadow(0 0 4px rgba(103,181,255,.16));
  }

  22%{
    transform:scale(1.00);
    opacity:.88;
    filter:drop-shadow(0 0 7px rgba(103,181,255,.28));
  }

  50%{
    transform:scale(1.22);
    opacity:1;
    filter:drop-shadow(0 0 12px rgba(103,181,255,.44));
  }

  78%{
    transform:scale(1.00);
    opacity:.88;
    filter:drop-shadow(0 0 7px rgba(103,181,255,.28));
  }

  100%{
    transform:scale(.86);
    opacity:.70;
    filter:drop-shadow(0 0 4px rgba(103,181,255,.16));
  }
}

.pmhome3-metric:nth-child(3) .pmhome3-metric-name::before{
  animation:btBreathingAlive 3.2s ease-in-out infinite !important;
}

.pmhome3-metric:nth-child(3) .pmhome3-metric-value{
  text-shadow:0 0 12px rgba(103,181,255,.10);
}

.pmhome3-metric:nth-child(3){
  background:
    linear-gradient(
      180deg,
      rgba(103,181,255,.04) 0%,
      rgba(103,181,255,0) 34%
    ),
    var(--pm3-card-2);
}

/* ---------------------------------------------------------
   Slight icon emphasis so motion reads better
   --------------------------------------------------------- */

.pmhome3-metric-name::before{
  transform-origin:center;
  will-change:transform,opacity,filter;
}

/* ---------------------------------------------------------
   Respect reduced motion
   --------------------------------------------------------- */

@media(prefers-reduced-motion:reduce){
  .pmhome3-metric:nth-child(1) .pmhome3-metric-name::before,
  .pmhome3-metric:nth-child(3) .pmhome3-metric-name::before{
    animation:none !important;
  }
}

/* === BIO2TWIN_HOME_V3_7_MOTION_PLUS_END === */

/* === BIO2TWIN_HOME_V3_8_LIVING_MOTION_START === */

/*
  Bio2Twin Living Biology Motion
  HRV      = moving electrical signal
  Heart    = heartbeat preserved from v3.6/v3.7
  Breath   = lung inhale / exhale
  Memory   = subtle sparkle
  Simulation = slow orbit
*/

/* =========================================================
   1. HRV — ELECTRICAL SIGNAL FLOW
   ========================================================= */

.pmhome3-metric:nth-child(1) .pmhome3-metric-name::before{
  background:
    linear-gradient(
      90deg,
      rgba(184,189,185,.38) 0%,
      #b8bdb9 32%,
      #e2e5e3 50%,
      #b8bdb9 68%,
      rgba(184,189,185,.38) 100%
    ) !important;

  background-size:220% 100% !important;

  animation:
    btHrvSignalFlow 1.55s linear infinite,
    btHrvMicroPulse 1.9s ease-in-out infinite !important;

  filter:
    drop-shadow(0 0 6px rgba(184,189,185,.35));
}

@keyframes btHrvSignalFlow{
  0%{
    background-position:200% 50%;
  }

  100%{
    background-position:-20% 50%;
  }
}

@keyframes btHrvMicroPulse{
  0%,100%{
    transform:translateY(0) scale(1);
    opacity:.82;
  }

  16%{
    transform:translateY(-1px) scale(1.05);
    opacity:1;
  }

  28%{
    transform:translateY(1px) scale(.97);
  }

  42%{
    transform:translateY(-2px) scale(1.11);
    opacity:1;
  }

  55%{
    transform:translateY(0) scale(1);
  }
}

/* faint electrical sweep inside HRV cell */

.pmhome3-metric:nth-child(1){
  background:
    radial-gradient(
      circle at 20% 0,
      rgba(184,189,185,.055),
      transparent 42%
    ),
    var(--pm3-card-2) !important;
}


/* =========================================================
   2. RESPIRATORY — REAL LUNG ICON + BREATHING
   ========================================================= */

/*
  Replace the wind symbol with a small lung silhouette.
*/

.pmhome3-metric:nth-child(3) .pmhome3-metric-name{
  --pm3-icon:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M11 3h2v7.1c.7-.5 1.3-1.3 1.8-2.3.8-1.7 1.9-2.8 3.1-2.8 2.2 0 3.6 3.1 3.6 7.2 0 5.6-2.5 8.8-6.2 8.8-1.8 0-2.3-1.1-2.3-2.6V12h-2v6.4c0 1.5-.5 2.6-2.3 2.6-3.7 0-6.2-3.2-6.2-8.8C2.5 8.1 3.9 5 6.1 5c1.2 0 2.3 1.1 3.1 2.8.5 1 1.1 1.8 1.8 2.3V3Z'/%3E%3C/svg%3E") !important;
}

.pmhome3-metric:nth-child(3) .pmhome3-metric-name::before{
  background:var(--bt-breath) !important;

  transform-origin:50% 56%;

  animation:
    btLungBreathing 4.2s cubic-bezier(.45,.05,.55,.95) infinite !important;

  filter:
    drop-shadow(0 0 7px rgba(103,181,255,.32));
}

@keyframes btLungBreathing{
  0%{
    transform:scaleX(.88) scaleY(.91);
    opacity:.68;
    filter:
      drop-shadow(0 0 4px rgba(103,181,255,.14));
  }

  18%{
    transform:scaleX(.96) scaleY(.96);
    opacity:.80;
  }

  46%{
    transform:scaleX(1.16) scaleY(1.10);
    opacity:1;
    filter:
      drop-shadow(0 0 13px rgba(103,181,255,.48));
  }

  58%{
    transform:scaleX(1.16) scaleY(1.10);
    opacity:1;
  }

  82%{
    transform:scaleX(.96) scaleY(.96);
    opacity:.82;
  }

  100%{
    transform:scaleX(.88) scaleY(.91);
    opacity:.68;
    filter:
      drop-shadow(0 0 4px rgba(103,181,255,.14));
  }
}

.pmhome3-metric:nth-child(3){
  background:
    radial-gradient(
      circle at 20% 0,
      rgba(103,181,255,.055),
      transparent 42%
    ),
    var(--pm3-card-2) !important;
}


/* =========================================================
   3. SCIENTIFIC MEMORY — SPARKLE
   ========================================================= */

.pmhome3-section:nth-of-type(3) .pmhome3-head h2::before{
  transform-origin:center;

  animation:
    btMemorySparkle 4.6s ease-in-out infinite !important;

  will-change:transform,opacity,filter;
}

@keyframes btMemorySparkle{
  0%,72%,100%{
    transform:rotate(0deg) scale(1);
    opacity:.82;
    filter:
      drop-shadow(0 0 4px rgba(178,156,255,.18));
  }

  78%{
    transform:rotate(-8deg) scale(1.18);
    opacity:1;
    filter:
      drop-shadow(0 0 11px rgba(178,156,255,.55));
  }

  84%{
    transform:rotate(6deg) scale(.96);
    opacity:.86;
  }

  90%{
    transform:rotate(0deg) scale(1.08);
    opacity:1;
    filter:
      drop-shadow(0 0 8px rgba(178,156,255,.38));
  }
}


/* =========================================================
   4. SIMULATION MATURITY — ORBIT
   ========================================================= */

.pmhome3-section:nth-of-type(4) .pmhome3-head h2::before{
  transform-origin:center;

  animation:
    btSimulationOrbit 8s linear infinite !important;

  filter:
    drop-shadow(0 0 7px rgba(244,199,107,.28));
}

@keyframes btSimulationOrbit{
  from{
    transform:rotate(0deg);
  }

  to{
    transform:rotate(360deg);
  }
}


/* =========================================================
   5. TRUTH LOOP — QUIET VERIFIED PULSE
   ========================================================= */

.pmhome3-section:nth-of-type(5) .pmhome3-head h2::before{
  animation:
    btTruthPulse 3.8s ease-in-out infinite !important;
}

@keyframes btTruthPulse{
  0%,100%{
    transform:scale(1);
    opacity:.82;
    filter:
      drop-shadow(0 0 4px rgba(184,189,185,.15));
  }

  50%{
    transform:scale(1.08);
    opacity:1;
    filter:
      drop-shadow(0 0 9px rgba(184,189,185,.36));
  }
}


/* =========================================================
   6. METRIC NUMBERS — VERY SUBTLE LIFE
   ========================================================= */

.pmhome3-metric:nth-child(1) .pmhome3-metric-value{
  text-shadow:
    0 0 14px rgba(184,189,185,.10);
}

.pmhome3-metric:nth-child(2) .pmhome3-metric-value{
  text-shadow:
    0 0 14px rgba(255,119,108,.11);
}

.pmhome3-metric:nth-child(3) .pmhome3-metric-value{
  text-shadow:
    0 0 14px rgba(103,181,255,.11);
}


/* =========================================================
   7. IPHONE
   ========================================================= */

@media(max-width:760px){

  .pmhome3-metric-name::before{
    width:20px !important;
    height:20px !important;
  }

  .pmhome3-head h2::before{
    width:20px !important;
    height:20px !important;
  }
}


/* =========================================================
   8. ACCESSIBILITY
   ========================================================= */

@media(prefers-reduced-motion:reduce){

  .pmhome3-metric:nth-child(1) .pmhome3-metric-name::before,
  .pmhome3-metric:nth-child(2) .pmhome3-metric-name::before,
  .pmhome3-metric:nth-child(3) .pmhome3-metric-name::before,
  .pmhome3-section:nth-of-type(3) .pmhome3-head h2::before,
  .pmhome3-section:nth-of-type(4) .pmhome3-head h2::before,
  .pmhome3-section:nth-of-type(5) .pmhome3-head h2::before,
  .pmhome3-dot{
    animation:none !important;
  }
}

/* === BIO2TWIN_HOME_V3_8_LIVING_MOTION_END === */

/* === BIO2TWIN_HOME_V3_9_TRENDS_ACTIVITY_START === */

/* =========================================================
   7 DAY TRENDS
   ========================================================= */

.pmhome3-trends{
  margin-top:17px;
  padding-top:15px;
  border-top:1px solid rgba(255,255,255,.07);
}

.pmhome3-subhead{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}

.pmhome3-subhead span:first-child{
  color:#b8bdb9;
  font-size:11px;
  font-weight:570;
}

.pmhome3-subhead span:last-child{
  color:#858d89;
  font-size:8px;
  font-weight:600;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.pmhome3-trend-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
}

.pmhome3-trend-item{
  min-width:0;
  padding:11px 11px 9px;
  border:1px solid rgba(255,255,255,.065);
  border-radius:13px;
  background:rgba(255,255,255,.018);
}

.pmhome3-trend-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:5px;
}

.pmhome3-trend-name{
  overflow:hidden;
  color:#858d89;
  font-size:9px;
  line-height:1.25;
  white-space:nowrap;
  text-overflow:ellipsis;
}

.pmhome3-trend-current{
  flex:0 0 auto;
  font-size:13px;
  line-height:1;
  font-weight:620;
  letter-spacing:-.025em;
}

.pmhome3-trend-current small{
  margin-left:2px;
  color:#858d89;
  font-size:7px;
  font-weight:520;
  letter-spacing:0;
}

.pmhome3-spark{
  display:block;
  width:100%;
  height:38px;
  margin-top:9px;
  overflow:visible;
}

.pmhome3-trend-base{
  stroke:rgba(255,255,255,.055);
  stroke-width:.7;
  vector-effect:non-scaling-stroke;
}

.pmhome3-trend-latest{
  filter:drop-shadow(0 0 3px currentColor);
}

.pmhome3-trend-foot{
  margin-top:5px;
  color:#858d89;
  font-size:7.5px;
  line-height:1.3;
}


/* =========================================================
   RECENT ACTIVITY
   ========================================================= */

.pmhome3-activity{
  margin-top:9px !important;
}

.pmhome3-activity .pmhome3-head{
  margin-bottom:7px;
}

/* Override first-section Reality icon for Activity */
.pmhome3-activity .pmhome3-head h2::before{
  --pm3-icon:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='5' r='2'/%3E%3Cpath d='m9 22 2-7-3-3 2-4 4 2 3 3'/%3E%3Cpath d='m14 22-2-7 3-2 3 2 3-1'/%3E%3C/svg%3E") !important;

  background:#F2C66D !important;

  filter:
    drop-shadow(0 0 7px rgba(242,198,109,.24)) !important;

  animation:none !important;
}

.pmhome3-activity-date{
  margin:0 0 13px;
  color:#858d89;
  font-size:10px;
  line-height:1.4;
}

.pmhome3-activity-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.07);
  border-radius:14px;
  background:rgba(255,255,255,.07);
}

.pmhome3-activity-item{
  min-width:0;
  padding:13px 11px;
  background:#101513;
}

.pmhome3-activity-name{
  display:flex;
  align-items:center;
  gap:6px;
  color:#858d89;
  font-size:9px;
  line-height:1.3;
}

.pmhome3-activity-name::before{
  content:"";
  width:6px;
  height:6px;
  flex:0 0 6px;
  border-radius:50%;
  background:#b8bdb9;
  box-shadow:0 0 7px rgba(255,255,255,.08);
}

.pmhome3-activity-item[data-kind="steps"]
.pmhome3-activity-name::before{
  background:#b8bdb9;
}

.pmhome3-activity-item[data-kind="active_energy"]
.pmhome3-activity-name::before{
  background:#FFB36B;
}

.pmhome3-activity-item[data-kind="exercise_minutes"]
.pmhome3-activity-name::before{
  background:#B9A7FF;
}

.pmhome3-activity-item[data-kind="stand_hours"]
.pmhome3-activity-name::before{
  background:#78B7FF;
}

.pmhome3-activity-value{
  margin-top:7px;
  color:#eef2ef;
  font-size:19px;
  line-height:1;
  font-weight:590;
  letter-spacing:-.035em;
}

.pmhome3-activity-value small{
  margin-left:3px;
  color:#858d89;
  font-size:8px;
  font-weight:520;
  letter-spacing:0;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media(max-width:760px){

  .pmhome3-trends{
    margin-top:15px;
    padding-top:14px;
  }

  .pmhome3-trend-grid{
    gap:5px;
  }

  .pmhome3-trend-item{
    padding:9px 8px 8px;
    border-radius:12px;
  }

  .pmhome3-trend-name{
    font-size:8px;
  }

  .pmhome3-trend-current{
    font-size:11px;
  }

  .pmhome3-spark{
    height:32px;
    margin-top:8px;
  }

  .pmhome3-trend-foot{
    display:none;
  }

  .pmhome3-activity-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .pmhome3-activity-item{
    min-height:72px;
    padding:12px;
  }

  .pmhome3-activity-value{
    font-size:18px;
  }
}


/* =========================================================
   VERY SMALL IPHONE
   ========================================================= */

@media(max-width:359px){

  .pmhome3-trend-current small{
    display:none;
  }

  .pmhome3-trend-item{
    padding-left:6px;
    padding-right:6px;
  }
}

/* === BIO2TWIN_HOME_V3_9_TRENDS_ACTIVITY_END === */

/* === BIO2TWIN_HOME_V3_10_MODEL_COMPACT_START === */

/* Compact only the Personal Biological Model card */
.pmhome3-model-compact{
  padding:20px 22px 18px !important;
}

.pmhome3-model-compact .pmhome3-head{
  margin-bottom:10px !important;
}

.pmhome3-model-compact .pmhome3-head h2{
  font-size:17px !important;
}

.pmhome3-model-compact .pmhome3-meta{
  font-size:10px !important;
  letter-spacing:.1em !important;
}

.pmhome3-model-compact h3,
.pmhome3-model-compact .pmhome3-title,
.pmhome3-model-compact .pmhome3-model-title{
  margin:0 0 4px !important;
  font-size:18px !important;
  line-height:1.12 !important;
  letter-spacing:-.03em !important;
}

.pmhome3-model-compact p,
.pmhome3-model-compact .pmhome3-note,
.pmhome3-model-compact .pmhome3-updated,
.pmhome3-model-compact .pmhome3-subtitle{
  margin-top:0 !important;
  margin-bottom:8px !important;
  line-height:1.45 !important;
}

.pmhome3-model-compact .pmhome3-badge,
.pmhome3-model-compact .pmhome3-chip,
.pmhome3-model-compact .pmhome3-pill{
  min-height:34px !important;
  padding:8px 14px !important;
  border-radius:999px !important;
  font-size:12px !important;
  line-height:1 !important;
}

/* Make list/table rows shorter */
.pmhome3-model-compact hr{
  margin:10px 0 !important;
  opacity:.6;
}

.pmhome3-model-compact ul,
.pmhome3-model-compact ol,
.pmhome3-model-compact table,
.pmhome3-model-compact tbody{
  margin-top:8px !important;
}

.pmhome3-model-compact li,
.pmhome3-model-compact tr,
.pmhome3-model-compact td,
.pmhome3-model-compact th,
.pmhome3-model-compact .pmhome3-row,
.pmhome3-model-compact .pmhome3-item,
.pmhome3-model-compact .pmhome3-line,
.pmhome3-model-compact .pmhome3-status-row{
  line-height:1.25 !important;
}

.pmhome3-model-compact li,
.pmhome3-model-compact td,
.pmhome3-model-compact th,
.pmhome3-model-compact .pmhome3-row,
.pmhome3-model-compact .pmhome3-item,
.pmhome3-model-compact .pmhome3-line,
.pmhome3-model-compact .pmhome3-status-row{
  padding-top:10px !important;
  padding-bottom:10px !important;
}

.pmhome3-model-compact td:first-child,
.pmhome3-model-compact th:first-child{
  padding-left:0 !important;
}

.pmhome3-model-compact td:last-child,
.pmhome3-model-compact th:last-child{
  padding-right:0 !important;
}

.pmhome3-model-compact .pmhome3-status,
.pmhome3-model-compact .status,
.pmhome3-model-compact .ready{
  font-size:12px !important;
}

/* Desktop: slightly tighter but still elegant */
@media (min-width: 1080px){
  .pmhome3-model-compact{
    padding:18px 22px 16px !important;
  }

  .pmhome3-model-compact li,
  .pmhome3-model-compact td,
  .pmhome3-model-compact th,
  .pmhome3-model-compact .pmhome3-row,
  .pmhome3-model-compact .pmhome3-item,
  .pmhome3-model-compact .pmhome3-line,
  .pmhome3-model-compact .pmhome3-status-row{
    padding-top:8px !important;
    padding-bottom:8px !important;
  }
}

/* iPhone keep readable */
@media (max-width: 640px){
  .pmhome3-model-compact{
    padding:18px 16px 16px !important;
  }

  .pmhome3-model-compact h3,
  .pmhome3-model-compact .pmhome3-title,
  .pmhome3-model-compact .pmhome3-model-title{
    font-size:17px !important;
  }

  .pmhome3-model-compact .pmhome3-badge,
  .pmhome3-model-compact .pmhome3-chip,
  .pmhome3-model-compact .pmhome3-pill{
    min-height:32px !important;
    padding:7px 12px !important;
    font-size:11px !important;
  }

  .pmhome3-model-compact li,
  .pmhome3-model-compact td,
  .pmhome3-model-compact th,
  .pmhome3-model-compact .pmhome3-row,
  .pmhome3-model-compact .pmhome3-item,
  .pmhome3-model-compact .pmhome3-line,
  .pmhome3-model-compact .pmhome3-status-row{
    padding-top:9px !important;
    padding-bottom:9px !important;
  }
}

/* === BIO2TWIN_HOME_V3_10_MODEL_COMPACT_END === */

/* === BIO2TWIN_HOME_V3_11_MODEL_GRID_START === */

/* Directly target the second Home section: Personal Model */
.pmhome3-section:nth-of-type(2) .pmhome3-card{
  padding:16px 18px 15px !important;
}

/* Header */
.pmhome3-section:nth-of-type(2) .pmhome3-head{
  margin-bottom:9px !important;
}

.pmhome3-section:nth-of-type(2) .pmhome3-head h2{
  font-size:16px !important;
}

/* Model title + version */
.pmhome3-section:nth-of-type(2) .pmhome3-model-top{
  align-items:center !important;
  margin-bottom:11px !important;
  gap:12px !important;
}

.pmhome3-section:nth-of-type(2) .pmhome3-model-name{
  font-size:17px !important;
  line-height:1.12 !important;
  margin:0 !important;
}

.pmhome3-section:nth-of-type(2) .pmhome3-model-sub{
  margin:5px 0 0 !important;
  font-size:9px !important;
  line-height:1.3 !important;
}

.pmhome3-section:nth-of-type(2) .pmhome3-badge{
  min-height:30px !important;
  padding:6px 11px !important;
  font-size:10px !important;
}

/* ---------------------------------------------------------
   Main change: 4 long rows -> compact 2 × 2
   --------------------------------------------------------- */

.pmhome3-section:nth-of-type(2) .pmhome3-readiness{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:1px !important;

  margin:0 !important;
  padding:0 !important;

  overflow:hidden;
  border:1px solid rgba(255,255,255,.075) !important;
  border-radius:13px !important;

  background:rgba(255,255,255,.07) !important;
}

.pmhome3-section:nth-of-type(2) .pmhome3-readiness li{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;

  min-width:0 !important;
  min-height:46px !important;

  margin:0 !important;
  padding:0 12px !important;

  border:0 !important;
  background:#101513 !important;

  color:#b8bdb9 !important;
  font-size:11px !important;
  line-height:1.2 !important;
}

/* subtle separation */
.pmhome3-section:nth-of-type(2) .pmhome3-readiness li:nth-child(1),
.pmhome3-section:nth-of-type(2) .pmhome3-readiness li:nth-child(2){
  border-bottom:1px solid rgba(255,255,255,.065) !important;
}

.pmhome3-section:nth-of-type(2) .pmhome3-readiness li:nth-child(odd){
  border-right:1px solid rgba(255,255,255,.065) !important;
}

.pmhome3-section:nth-of-type(2) .pmhome3-ready{
  color:#b8bdb9 !important;
  font-size:10px !important;
  font-weight:600 !important;
}

.pmhome3-section:nth-of-type(2) .pmhome3-learning{
  color:#858d89 !important;
  font-size:10px !important;
}

/* Neutral graphite model identity */
.pmhome3-section:nth-of-type(2) .pmhome3-readiness li::before{
  content:"";
  width:5px;
  height:5px;
  margin-right:7px;
  flex:0 0 5px;
  border-radius:50%;
  background:rgba(184,189,185,.65);
}

.pmhome3-section:nth-of-type(2) .pmhome3-readiness li{
  justify-content:flex-start !important;
}

.pmhome3-section:nth-of-type(2) .pmhome3-readiness li > span:last-child{
  margin-left:auto !important;
}

/* Sleep learning indicator quieter */
.pmhome3-section:nth-of-type(2) .pmhome3-readiness li:last-child::before{
  background:#858d89;
}

/* Desktop: make it very compact */
@media(min-width:761px){
  .pmhome3-section:nth-of-type(2) .pmhome3-card{
    padding:15px 18px 14px !important;
  }

  .pmhome3-section:nth-of-type(2) .pmhome3-readiness li{
    min-height:42px !important;
  }
}

/* iPhone: still 2 × 2, touch-friendly enough because not interactive */
@media(max-width:760px){
  .pmhome3-section:nth-of-type(2) .pmhome3-card{
    padding:15px !important;
  }

  .pmhome3-section:nth-of-type(2) .pmhome3-model-name{
    font-size:16px !important;
  }

  .pmhome3-section:nth-of-type(2) .pmhome3-readiness li{
    min-height:45px !important;
    padding:0 9px !important;
    font-size:10px !important;
  }

  .pmhome3-section:nth-of-type(2) .pmhome3-ready,
  .pmhome3-section:nth-of-type(2) .pmhome3-learning{
    font-size:9px !important;
  }
}

/* === BIO2TWIN_HOME_V3_11_MODEL_GRID_END === */

/* === BIO2TWIN_HOME_V3_12_DENSITY_FREEZE_START === */

/* =========================================================
   1. HERO — reduce empty space
   ========================================================= */

.pmhome3-hero{
  padding-top:12px !important;
  padding-bottom:13px !important;
}

.pmhome3-title{
  margin-bottom:0 !important;
}

.pmhome3-date{
  margin-top:6px !important;
}

.pmhome3-sync{
  margin-top:10px !important;
}

.pmhome3-section:first-of-type{
  margin-top:6px !important;
}


/* =========================================================
   2. SCIENTIFIC MEMORY — shorter, denser
   ========================================================= */

.pmhome3-section:nth-of-type(3) .pmhome3-card{
  padding:15px 18px 14px !important;
}

.pmhome3-section:nth-of-type(3) .pmhome3-head{
  margin-bottom:9px !important;
}

.pmhome3-section:nth-of-type(3) .pmhome3-memory-text{
  max-width:none !important;
  margin:0 !important;

  font-size:16px !important;
  line-height:1.38 !important;
  letter-spacing:-.02em !important;
}

.pmhome3-section:nth-of-type(3) .pmhome3-memory-foot{
  margin-top:9px !important;
  font-size:9px !important;
  line-height:1.3 !important;
}


/* =========================================================
   3. SIMULATION MATURITY — compact status row
   ========================================================= */

.pmhome3-section:nth-of-type(4) .pmhome3-card{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  grid-template-areas:
    "head state"
    "copy state" !important;

  align-items:center !important;
  column-gap:18px !important;
  row-gap:3px !important;

  min-height:72px !important;
  padding:13px 18px !important;
}

.pmhome3-section:nth-of-type(4) .pmhome3-head{
  grid-area:head !important;

  display:flex !important;
  align-items:center !important;

  margin:0 !important;
}

.pmhome3-section:nth-of-type(4) .pmhome3-head h2{
  font-size:14px !important;
  line-height:1.2 !important;
}

.pmhome3-section:nth-of-type(4) .pmhome3-meta{
  display:none !important;
}

.pmhome3-section:nth-of-type(4) .pmhome3-stage{
  grid-area:state !important;

  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;

  min-width:62px !important;
  min-height:30px !important;

  padding:6px 10px !important;

  border:1px solid rgba(244,199,107,.24) !important;
  border-radius:999px !important;

  background:rgba(244,199,107,.045) !important;

  color:#F4C76B !important;

  font-size:11px !important;
  line-height:1 !important;
  font-weight:600 !important;
  letter-spacing:.01em !important;
}

.pmhome3-section:nth-of-type(4) .pmhome3-copy{
  grid-area:copy !important;

  overflow:hidden !important;

  max-width:none !important;
  margin:0 !important;

  color:#7d837f !important;

  font-size:9px !important;
  line-height:1.35 !important;

  white-space:nowrap !important;
  text-overflow:ellipsis !important;
}


/* =========================================================
   4. TRUTH LOOP — compact status row
   ========================================================= */

.pmhome3-section:nth-of-type(5) .pmhome3-card{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  grid-template-areas:
    "head state"
    "copy state" !important;

  align-items:center !important;
  column-gap:18px !important;
  row-gap:3px !important;

  min-height:72px !important;
  padding:13px 18px !important;
}

.pmhome3-section:nth-of-type(5) .pmhome3-head{
  grid-area:head !important;
  margin:0 !important;
}

.pmhome3-section:nth-of-type(5) .pmhome3-head h2{
  font-size:14px !important;
}

.pmhome3-section:nth-of-type(5) .pmhome3-meta{
  display:none !important;
}

/* Prediction → Reality → Correction becomes the compact state */
.pmhome3-section:nth-of-type(5) .pmhome3-loop{
  grid-area:state !important;

  display:inline-flex !important;
  align-items:center !important;
  flex-wrap:nowrap !important;
  justify-content:center !important;

  min-height:30px !important;

  margin:0 !important;
  padding:6px 10px !important;

  border:1px solid rgba(184,189,185,.20) !important;
  border-radius:999px !important;

  background:rgba(184,189,185,.04) !important;

  color:#b8bdb9 !important;

  font-size:9px !important;
  line-height:1 !important;

  white-space:nowrap !important;
}

.pmhome3-section:nth-of-type(5) .pmhome3-loop-arrow{
  color:#b8bdb9 !important;
}

.pmhome3-section:nth-of-type(5) .pmhome3-copy{
  grid-area:copy !important;

  overflow:hidden !important;

  max-width:none !important;
  margin:0 !important;

  color:#858d89 !important;

  font-size:9px !important;
  line-height:1.35 !important;

  white-space:nowrap !important;
  text-overflow:ellipsis !important;
}

/* counts appear only once Truth has real data */
.pmhome3-section:nth-of-type(5) .pmhome3-truth-counts:empty{
  display:none !important;
}

.pmhome3-section:nth-of-type(5) .pmhome3-truth-counts:not(:empty){
  grid-column:1/-1 !important;
  margin-top:6px !important;
}


/* =========================================================
   5. GENERAL SECTION DENSITY
   ========================================================= */

.pmhome3-section{
  margin-top:8px !important;
}

.pmhome3-actions{
  margin-top:9px !important;
}


/* =========================================================
   6. DESKTOP
   ========================================================= */

@media(min-width:761px){

  .pmhome3{
    padding-top:18px !important;
  }

  .pmhome3-hero{
    padding-top:3px !important;
    padding-bottom:12px !important;
  }

  .pmhome3-section:nth-of-type(3) .pmhome3-card{
    padding:14px 18px 13px !important;
  }

  .pmhome3-section:nth-of-type(4) .pmhome3-card,
  .pmhome3-section:nth-of-type(5) .pmhome3-card{
    min-height:66px !important;
    padding-top:11px !important;
    padding-bottom:11px !important;
  }
}


/* =========================================================
   7. IPHONE
   ========================================================= */

@media(max-width:760px){

  .pmhome3-hero{
    padding-top:14px !important;
    padding-bottom:12px !important;
  }

  .pmhome3-section:nth-of-type(4) .pmhome3-card,
  .pmhome3-section:nth-of-type(5) .pmhome3-card{
    grid-template-columns:minmax(0,1fr) auto !important;

    min-height:68px !important;

    padding:12px 14px !important;

    column-gap:10px !important;
  }

  .pmhome3-section:nth-of-type(4) .pmhome3-stage{
    min-width:56px !important;
    padding-left:8px !important;
    padding-right:8px !important;
  }

  .pmhome3-section:nth-of-type(5) .pmhome3-loop{
    max-width:128px !important;
    padding-left:8px !important;
    padding-right:8px !important;

    font-size:8px !important;
  }

  .pmhome3-section:nth-of-type(4) .pmhome3-copy,
  .pmhome3-section:nth-of-type(5) .pmhome3-copy{
    max-width:230px !important;
  }
}


/* =========================================================
   8. SMALL IPHONE
   ========================================================= */

@media(max-width:359px){

  .pmhome3-section:nth-of-type(5) .pmhome3-loop{
    max-width:106px !important;
  }

  .pmhome3-section:nth-of-type(5) .pmhome3-loop span:nth-child(2),
  .pmhome3-section:nth-of-type(5) .pmhome3-loop span:nth-child(4){
    margin-left:1px;
    margin-right:1px;
  }
}

/* === BIO2TWIN_HOME_V3_12_DENSITY_FREEZE_END === */

/* === BIO2TWIN_PERSONAL_STATE_HOME_V1_START === */

.pmhome3-state-wrap{
  margin-top:8px;
}

.pmhome3-state-card{
  position:relative;
  overflow:hidden;
  padding:18px 20px 17px !important;
}

.pmhome3-state-card::before{
  content:"";
  position:absolute;
  top:0;
  left:22px;
  right:22px;
  height:1px;
  background:
    linear-gradient(
      90deg,
      rgba(184,189,185,.82),
      rgba(103,181,255,.72),
      rgba(244,199,107,.48)
    );
}

.pmhome3-state-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:14px;
}

.pmhome3-state-heading{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}

.pmhome3-state-heading h2{
  margin:0;
  font-size:16px;
  line-height:1.2;
  letter-spacing:-.02em;
  color:#f1f5f3;
}

.pmhome3-state-icon{
  width:18px;
  height:18px;
  flex:0 0 18px;
  border-radius:50%;
  border:1.5px solid #b8bdb9;
  position:relative;
}

.pmhome3-state-icon::before{
  content:"";
  position:absolute;
  left:3px;
  right:3px;
  top:8px;
  height:1.5px;
  background:#b8bdb9;
  transform:
    skewY(-32deg);
}

.pmhome3-state-meta{
  color:#858d89;
  font-size:9px;
  font-weight:600;
  letter-spacing:.12em;
  white-space:nowrap;
}

.pmhome3-state-grid{
  display:grid;
  grid-template-columns:
    1.15fr 1fr 1fr;
  gap:1px;
  overflow:hidden;
  border:
    1px solid rgba(255,255,255,.085);
  border-radius:14px;
  background:
    rgba(255,255,255,.075);
}

.pmhome3-state-primary,
.pmhome3-state-cell{
  min-width:0;
  min-height:116px;
  padding:16px;
  background:#101513;
}

.pmhome3-state-primary{
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.pmhome3-state-cell{
  display:grid;
  grid-template-columns:1fr auto;
  align-content:center;
  align-items:center;
  column-gap:10px;
  row-gap:6px;
}

.pmhome3-state-kicker{
  display:block;
  color:#79827e;
  font-size:8px;
  font-weight:600;
  letter-spacing:.10em;
}

.pmhome3-state-primary
.pmhome3-state-kicker{
  margin-bottom:6px;
}

.pmhome3-state-score{
  color:#b8bdb9;
  font-size:34px;
  font-weight:600;
  line-height:1;
  letter-spacing:-.05em;
}

.pmhome3-state-score.is-missing{
  color:#858d89;
}

.pmhome3-state-status{
  margin-top:7px;
  color:#b8bdb9;
  font-size:10px;
}

.pmhome3-state-source{
  margin-top:4px;
  color:#858d89;
  font-size:8px;
}

.pmhome3-state-cell
.pmhome3-state-kicker{
  grid-column:1 / -1;
}

.pmhome3-state-cell strong{
  color:#eef3f0;
  font-size:20px;
  line-height:1.1;
  letter-spacing:-.035em;
}

.pmhome3-state-cell strong.muted{
  color:#858d89;
  font-size:15px;
  letter-spacing:-.02em;
}

.pmhome3-state-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:25px;
  padding:5px 9px;
  border-radius:999px;
  font-size:8px;
  font-weight:600;
  white-space:nowrap;
}

.pmhome3-state-pill.learning{
  color:#f4c76b;
  border:
    1px solid rgba(244,199,107,.22);
  background:
    rgba(244,199,107,.045);
}

.pmhome3-state-pill.activity{
  color:#67b5ff;
  border:
    1px solid rgba(103,181,255,.20);
  background:
    rgba(103,181,255,.04);
}

.pmhome3-state-cell small{
  grid-column:1 / -1;
  display:block;
  color:#858d89;
  font-size:8px;
  line-height:1.35;
}

.pmhome3-state-foot{
  margin-top:10px;
  color:#858d89;
  font-size:8px;
  line-height:1.4;
}

@media(max-width:760px){

  .pmhome3-state-card{
    padding:15px !important;
  }

  .pmhome3-state-card::before{
    left:16px;
    right:16px;
  }

  .pmhome3-state-head{
    margin-bottom:11px;
  }

  .pmhome3-state-grid{
    grid-template-columns:1fr 1fr;
  }

  .pmhome3-state-primary{
    grid-column:1 / -1;
    min-height:98px;
  }

  .pmhome3-state-cell{
    min-height:96px;
    padding:13px;
  }

  .pmhome3-state-score{
    font-size:31px;
  }

  .pmhome3-state-cell strong{
    font-size:18px;
  }
}

@media(max-width:420px){

  .pmhome3-state-grid{
    grid-template-columns:1fr;
  }

  .pmhome3-state-primary{
    grid-column:auto;
  }

  .pmhome3-state-primary,
  .pmhome3-state-cell{
    min-height:88px;
  }
}

/* === BIO2TWIN_PERSONAL_STATE_HOME_V1_END === */

/* === BIO2TWIN_TREND_BEFORE_NOW_V1_START === */

/*
 * ----------------------------------------------------
 * BEFORE → NOW
 * ----------------------------------------------------
 */

.pmtrendba-card{
  --pmtrendba-live:#b8bdb9;
  --pmtrendba-live-rgb:99,230,209;

  position:relative !important;
  overflow:hidden !important;
  isolation:isolate;
}


/*
 * Right 20% = NOW zone.
 * Deliberately extremely subtle.
 */

.pmtrendba-card::after{
  content:"";
  position:absolute;
  z-index:0;
  pointer-events:none;

  top:0;
  right:0;
  bottom:0;
  width:22%;

  background:
    linear-gradient(
      90deg,
      rgba(
        var(--pmtrendba-live-rgb),
        0
      ) 0%,
      rgba(
        var(--pmtrendba-live-rgb),
        .018
      ) 32%,
      rgba(
        var(--pmtrendba-live-rgb),
        .045
      ) 72%,
      rgba(
        var(--pmtrendba-live-rgb),
        .072
      ) 100%
    );

  opacity:.9;
}


/*
 * Soft live halo at far right.
 */

.pmtrendba-card::before{
  content:"";
  position:absolute;
  z-index:0;
  pointer-events:none;

  width:150px;
  height:150px;

  right:-72px;
  top:50%;

  transform:
    translateY(-50%);

  border-radius:50%;

  background:
    radial-gradient(
      circle,
      rgba(
        var(--pmtrendba-live-rgb),
        .09
      ) 0%,
      rgba(
        var(--pmtrendba-live-rgb),
        .035
      ) 34%,
      rgba(
        var(--pmtrendba-live-rgb),
        0
      ) 72%
    );

  filter:blur(2px);
}


/*
 * Keep original content above glow.
 */

.pmtrendba-card > *{
  position:relative;
  z-index:1;
}


/*
 * ----------------------------------------------------
 * Trend path
 * ----------------------------------------------------
 */

.pmtrendba-history-shape{
  fill:none !important;

  stroke-linecap:round;
  stroke-linejoin:round;

  transition:
    stroke .35s ease,
    opacity .35s ease;
}


/*
 * ----------------------------------------------------
 * BEFORE / NOW labels
 * ----------------------------------------------------
 */

.pmtrendba-phase{
  position:absolute !important;
  z-index:3 !important;

  left:18px;
  right:16px;
  bottom:34px;

  display:grid;
  grid-template-columns:4fr 1fr;
  align-items:center;

  pointer-events:none;

  font-size:7px;
  font-weight:700;
  line-height:1;

  letter-spacing:.13em;
  text-transform:uppercase;
}

.pmtrendba-before{
  color:
    rgba(190,198,194,.38);
}

.pmtrendba-now{
  justify-self:end;

  color:
    rgba(
      var(--pmtrendba-live-rgb),
      .72
    );

  text-shadow:
    0 0 12px
    rgba(
      var(--pmtrendba-live-rgb),
      .18
    );
}


/*
 * Small NOW separator.
 */

.pmtrendba-now::before{
  content:"";
  display:inline-block;

  width:4px;
  height:4px;

  margin-right:5px;

  border-radius:50%;

  vertical-align:1px;

  background:
    var(--pmtrendba-live);

  box-shadow:
    0 0 8px
    rgba(
      var(--pmtrendba-live-rgb),
      .5
    );
}


/*
 * ----------------------------------------------------
 * Animated icons
 * ----------------------------------------------------
 */

.pmtrendba-label-with-icon{
  display:inline-flex !important;
  align-items:center;
  gap:7px;
}

.pmtrendba-live-icon{
  position:relative;

  display:inline-flex;
  align-items:center;
  justify-content:center;

  width:17px;
  height:17px;

  flex:0 0 17px;

  color:
    var(--pmtrendba-live);
}

.pmtrendba-live-icon svg{
  width:100%;
  height:100%;
  overflow:visible;
}

.pmtrendba-live-icon path{
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}


/*
 * HRV
 * waveform gently travels.
 */

.pmtrendba-hrv
.pmtrendba-icon-wave{
  stroke-dasharray:31 8;

  animation:
    pmtrendbaHrvFlow
    2.35s
    linear
    infinite;

  filter:
    drop-shadow(
      0 0 4px
      rgba(184,189,185,.30)
    );
}

@keyframes pmtrendbaHrvFlow{
  from{
    stroke-dashoffset:0;
  }

  to{
    stroke-dashoffset:-39;
  }
}


/*
 * RHR
 * soft heartbeat, not cartoonish.
 */

.pmtrendba-rhr
.pmtrendba-live-icon{
  transform-origin:50% 58%;

  animation:
    pmtrendbaHeartbeat
    1.38s
    ease-in-out
    infinite;
}

.pmtrendba-rhr
.pmtrendba-icon-heart{
  filter:
    drop-shadow(
      0 0 4px
      rgba(255,116,108,.22)
    );
}

@keyframes pmtrendbaHeartbeat{
  0%,
  46%,
  100%{
    transform:scale(1);
  }

  8%{
    transform:scale(1.11);
  }

  15%{
    transform:scale(.98);
  }

  23%{
    transform:scale(1.075);
  }

  31%{
    transform:scale(1);
  }
}


/*
 * RESPIRATION
 * left/right lungs expand together.
 */

.pmtrendba-resp
.pmtrendba-icon-lung{
  transform-box:fill-box;
  transform-origin:center;

  animation:
    pmtrendbaBreathe
    4.2s
    ease-in-out
    infinite;
}

.pmtrendba-resp
.pmtrendba-lung-left{
  transform-origin:right center;
}

.pmtrendba-resp
.pmtrendba-lung-right{
  transform-origin:left center;
}

.pmtrendba-resp
.pmtrendba-trachea{
  opacity:.68;
}

@keyframes pmtrendbaBreathe{
  0%,
  100%{
    transform:scale(.94, .96);
    opacity:.70;
  }

  45%,
  55%{
    transform:scale(1.07, 1.04);
    opacity:1;
  }
}


/*
 * ----------------------------------------------------
 * Tiny live movement in NOW label
 * ----------------------------------------------------
 */

.pmtrendba-now::before{
  animation:
    pmtrendbaNowPulse
    2.1s
    ease-in-out
    infinite;
}

@keyframes pmtrendbaNowPulse{
  0%,
  100%{
    opacity:.48;
    transform:scale(.82);
  }

  50%{
    opacity:1;
    transform:scale(1.18);
  }
}


/*
 * ----------------------------------------------------
 * Metric-specific tones
 * ----------------------------------------------------
 */

.pmtrendba-hrv{
  --pmtrendba-live:#b8bdb9;
  --pmtrendba-live-rgb:99,230,209;
}

.pmtrendba-rhr{
  --pmtrendba-live:#FF746C;
  --pmtrendba-live-rgb:255,116,108;
}

.pmtrendba-resp{
  --pmtrendba-live:#67B7FF;
  --pmtrendba-live-rgb:103,183,255;
}


/*
 * ----------------------------------------------------
 * Mobile
 * ----------------------------------------------------
 */

@media(max-width:760px){

  .pmtrendba-phase{
    left:15px;
    right:15px;
    bottom:31px;
  }

  .pmtrendba-live-icon{
    width:16px;
    height:16px;
    flex-basis:16px;
  }

  .pmtrendba-card::after{
    width:23%;
  }
}


/*
 * Accessibility:
 * Never force animation on users
 * requesting reduced motion.
 */

@media(prefers-reduced-motion:reduce){

  .pmtrendba-live-icon,
  .pmtrendba-live-icon *,
  .pmtrendba-now::before{
    animation:none !important;
  }

  .pmtrendba-history-shape{
    transition:none !important;
  }
}

/* === BIO2TWIN_TREND_BEFORE_NOW_V1_END === */

/* === BIO2TWIN_ACTIVITY_MOTION_ICONS_V1_START === */

.pmact-label,
.pmact-fourth-label{
  display:flex !important;
  align-items:center;
  gap:8px;
}

.pmact-icon{
  width:16px;
  height:16px;
  flex:0 0 16px;

  display:inline-flex;
  align-items:center;
  justify-content:center;
}

.pmact-icon svg{
  width:100%;
  height:100%;
  overflow:visible;
}

.pmact-icon svg *{
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}


/* STEP */

.pmact-icon-steps{
  color:#b8bdb9;
}

.pmact-icon-steps
.pmact-leg-a{
  transform-box:fill-box;
  transform-origin:top center;

  animation:
    pmactLegA
    1.05s
    ease-in-out
    infinite;
}

.pmact-icon-steps
.pmact-leg-b{
  transform-box:fill-box;
  transform-origin:top center;

  animation:
    pmactLegB
    1.05s
    ease-in-out
    infinite;
}

@keyframes pmactLegA{
  0%,100%{
    transform:rotate(10deg);
  }

  50%{
    transform:rotate(-12deg);
  }
}

@keyframes pmactLegB{
  0%,100%{
    transform:rotate(-10deg);
  }

  50%{
    transform:rotate(12deg);
  }
}


/* ACTIVE ENERGY */

.pmact-icon-energy{
  color:#FFB365;

  transform-origin:
    50% 85%;

  animation:
    pmactFlame
    1.5s
    ease-in-out
    infinite;
}

.pmact-flame{
  fill:
    rgba(255,179,101,.08)
    !important;
}

@keyframes pmactFlame{
  0%,100%{
    transform:scale(.93,.96);
    filter:
      drop-shadow(
        0 0 2px
        rgba(255,179,101,.15)
      );
  }

  50%{
    transform:scale(1.05,1.08);
    filter:
      drop-shadow(
        0 0 6px
        rgba(255,179,101,.35)
      );
  }
}


/* STAND */

.pmact-icon-stand{
  color:#69B8FF;

  animation:
    pmactStand
    2.8s
    ease-in-out
    infinite;
}

@keyframes pmactStand{
  0%,100%{
    transform:
      translateY(1px);
    opacity:.72;
  }

  50%{
    transform:
      translateY(-2px);
    opacity:1;
  }
}


/* EXERCISE */

.pmact-icon-exercise{
  color:#C19BFF;
}

.pmact-icon-exercise
.pmact-ring{
  stroke-dasharray:30 14;

  transform-box:fill-box;
  transform-origin:center;

  animation:
    pmactExerciseRing
    3s
    linear
    infinite;
}

@keyframes pmactExerciseRing{
  from{
    transform:rotate(0deg);
  }

  to{
    transform:rotate(360deg);
  }
}


/* FOURTH CELL */

.pmact-fourth-cell{
  position:relative;
  overflow:hidden;
}

.pmact-fourth-cell::after{
  content:"";
  position:absolute;

  inset:0;

  pointer-events:none;

  background:
    radial-gradient(
      circle at 88% 50%,
      rgba(193,155,255,.07),
      transparent 48%
    );
}

.pmact-fourth-inner{
  position:relative;
  z-index:1;

  height:100%;

  padding:
    20px 22px;

  display:flex;
  flex-direction:column;
  justify-content:center;
}

.pmact-fourth-label{
  color:#8B9490;
  font-size:13px;
}

.pmact-fourth-value{
  margin-top:11px;

  color:#F1F4F2;

  font-size:26px;
  line-height:1;
  font-weight:600;

  letter-spacing:-.04em;
}

.pmact-fourth-value small{
  margin-left:6px;

  color:#777F7B;

  font-size:11px;
  font-weight:500;
}

.pmact-fourth-value.is-missing{
  color:#69716D;
}

.pmact-fourth-status{
  margin-top:7px;

  color:#858d89;

  font-size:9px;
}


/*
 * Make the whole four-cell row feel alive,
 * without changing the actual data semantics.
 */

.pmact-grid-v1{
  overflow:hidden;
}


/* mobile */

@media(max-width:760px){

  .pmact-grid-v1{
    grid-template-columns:
      repeat(2,minmax(0,1fr))
      !important;
  }

  .pmact-fourth-inner{
    padding:
      16px 17px;
  }
}


/* accessibility */

@media(prefers-reduced-motion:reduce){

  .pmact-icon,
  .pmact-icon *{
    animation:none !important;
  }
}

/* === BIO2TWIN_ACTIVITY_MOTION_ICONS_V1_END === */

/* === BIO2TWIN_ACTIVITY_COMPACT_V2_START === */

/*
 * Outer Activity card
 */
.pmact-section-v1{
  padding-top:18px !important;
  padding-bottom:18px !important;
}

/*
 * Header / subtitle tighter
 */
.pmact-section-v1 .pmhome3-head{
  margin-bottom:5px !important;
}

.pmact-section-v1 .pmhome3-head + *{
  margin-top:0 !important;
}

.pmact-section-v1 p{
  margin-top:4px;
  margin-bottom:0;
}

/*
 * Four metric row
 */
.pmact-section-v1 .pmact-grid-v1{
  margin-top:14px !important;
  min-height:0 !important;
  height:auto !important;
}

/*
 * Existing 3 cells + new exercise cell
 */
.pmact-section-v1 .pmact-grid-v1 > *{
  box-sizing:border-box;

  min-height:118px !important;
  height:118px !important;

  padding:15px 20px !important;

  display:flex;
  flex-direction:column;
  justify-content:center;
}

/*
 * Fourth cell had its own inner padding.
 * Remove double padding.
 */
.pmact-section-v1
.pmact-fourth-cell{
  padding:0 !important;
}

.pmact-section-v1
.pmact-fourth-inner{
  min-height:118px;
  height:118px;

  padding:15px 20px !important;

  box-sizing:border-box;
}

/*
 * Metric labels
 */
.pmact-section-v1 .pmact-label,
.pmact-section-v1 .pmact-fourth-label{
  gap:7px;
  min-height:18px;
}

/*
 * Icons remain alive but slightly tighter
 */
.pmact-section-v1 .pmact-icon{
  width:15px;
  height:15px;
  flex-basis:15px;
}

/*
 * Main numbers
 */
.pmact-section-v1
.pmact-grid-v1 > * strong,
.pmact-section-v1
.pmact-fourth-value{
  margin-top:8px !important;
}

/*
 * Fourth cell status
 */
.pmact-section-v1
.pmact-fourth-status{
  margin-top:5px;
}

/*
 * Keep card visually dense.
 */
.pmact-section-v1
.pmact-grid-v1{
  border-radius:18px;
}


/* Tablet */
@media(max-width:900px){

  .pmact-section-v1
  .pmact-grid-v1 > *,

  .pmact-section-v1
  .pmact-fourth-inner{
    min-height:108px !important;
    height:108px !important;
  }

  .pmact-section-v1{
    padding-top:16px !important;
    padding-bottom:16px !important;
  }
}


/* Mobile = 2 x 2 */
@media(max-width:760px){

  .pmact-section-v1 .pmact-grid-v1{
    grid-template-columns:
      repeat(2,minmax(0,1fr))
      !important;
  }

  .pmact-section-v1
  .pmact-grid-v1 > *,

  .pmact-section-v1
  .pmact-fourth-inner{
    min-height:96px !important;
    height:96px !important;

    padding:12px 14px !important;
  }

  .pmact-section-v1{
    padding-top:14px !important;
    padding-bottom:14px !important;
  }

  .pmact-section-v1
  .pmact-fourth-value{
    font-size:23px;
  }
}

/* === BIO2TWIN_ACTIVITY_COMPACT_V2_END === */

/* === BIO2TWIN_TREND_CLEAN_NO_LABELS_V1 === */

.pmtrendba-phase{
  display:none !important;
}

.pmtrendba-card::after{
  width:22% !important;
}

.pmtrendba-card::before{
  opacity:.85 !important;
}

/* === END BIO2TWIN_TREND_CLEAN_NO_LABELS_V1 === */


/* === BIO2TWIN_ACTIVITY_FOURTH_TYPOGRAPHY_V1 === */

/* 第四格標題與前三格完全同一視覺層級 */
.pmact-fourth-label{
  font-size:11px !important;
  font-weight:400 !important;
  line-height:1.2 !important;
  letter-spacing:0 !important;
  color:#858d89 !important;
  gap:7px !important;
}

/* icon 尺寸也跟前三格一致 */
.pmact-fourth-label .pmact-icon{
  width:15px !important;
  height:15px !important;
  flex-basis:15px !important;
}

/* 數值區比例統一 */
.pmact-fourth-value{
  margin-top:9px !important;
  font-size:27px !important;
  line-height:1 !important;
  font-weight:500 !important;
}

/* min 跟其他單位一致 */
.pmact-fourth-value small{
  margin-left:7px !important;
  font-size:10px !important;
  font-weight:400 !important;
  color:#858d89 !important;
}

/* 尚無資料維持最低資訊層級 */
.pmact-fourth-status{
  margin-top:8px !important;
  font-size:9px !important;
  line-height:1.2 !important;
  color:#858d89 !important;
}

/* === END BIO2TWIN_ACTIVITY_FOURTH_TYPOGRAPHY_V1 === */

/* === BIO2TWIN_STATE_SCORE_SIZE_V1 === */

/* 69.7 不要過度搶畫面 */
#pmhome3StateV1 .pmhome3-state-score{
  font-size:42px !important;
  line-height:.96 !important;
  font-weight:600 !important;
  letter-spacing:-.045em !important;
}

/* 手機再收一點 */
@media(max-width:760px){
  #pmhome3StateV1 .pmhome3-state-score{
    font-size:36px !important;
  }
}

/* === END BIO2TWIN_STATE_SCORE_SIZE_V1 === */


/* === BIO2TWIN_PERSONAL_MODEL_SCREENSHOT_PROJECTION_V1 === */
/* Desktop target: 2026-09-11 Personal Model composition. */
@media (min-width:1200px){
  body.pmv2[data-page="overview"] .pmv2-content{
    max-width:900px !important;
  }
  .pmhome3-hero{
    padding-top:24px !important;
    padding-bottom:18px !important;
  }
  .pmhome3-title{
    font-size:40px !important;
    line-height:1.02 !important;
    letter-spacing:-.05em !important;
  }
  .pmhome3-section{
    margin-top:10px !important;
  }
  .pmhome3-card{
    border-radius:20px !important;
  }
  .pmhome3-section:first-of-type > .pmhome3-card{
    padding:22px 22px 18px !important;
  }
  .pmhome3-metrics{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  .pmhome3-metric{
    min-height:118px !important;
    padding:18px 14px 14px !important;
  }
  .pmhome3-trend-grid{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:8px !important;
  }
  .pmhome3-gpld{
    margin-top:22px !important;
    padding-top:20px !important;
    border-top:1px solid rgba(255,255,255,.08) !important;
  }
  .pmhome3-activity{
    margin-top:10px !important;
  }
}

/* Refine the first Reality card to the screenshot hierarchy. */
.pmhome3-section:first-of-type > .pmhome3-card{
  position:relative;
  background:
    radial-gradient(circle at 88% 12%,rgba(87,177,255,.045),transparent 32%),
    radial-gradient(circle at 10% 0%,rgba(184,189,185,.035),transparent 34%),
    var(--pm3-card) !important;
}
.pmhome3-section:first-of-type > .pmhome3-card::before{
  content:"";
  position:absolute;
  left:22px;
  right:22px;
  top:0;
  height:1px;
  background:linear-gradient(90deg,#b8bdb9,rgba(184,189,185,.2) 38%,rgba(93,181,255,.55));
  opacity:.95;
  pointer-events:none;
}
.pmhome3-section:first-of-type .pmhome3-head{
  margin-bottom:14px !important;
}
.pmhome3-section:first-of-type .pmhome3-meta{
  text-transform:none !important;
  letter-spacing:.04em !important;
}
.pmhome3-section:first-of-type .pmhome3-metrics{
  border-color:rgba(255,255,255,.10) !important;
  background:rgba(255,255,255,.08) !important;
}
.pmhome3-section:first-of-type .pmhome3-metric{
  background:#101513 !important;
}
.pmhome3-section:first-of-type .pmhome3-metric-value{
  font-size:25px !important;
}

@media (max-width:760px){
  .pmhome3-metrics{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}
/* === END BIO2TWIN_PERSONAL_MODEL_SCREENSHOT_PROJECTION_V1 === */
/* BIO2TWIN_PERSONAL_HOME_FINAL_V3 */


/* --------------------------------
   69.7 score
   -------------------------------- */

html body
#pmhome3StateV1
.pmhome3-state-score{
  font-size:38px !important;
  line-height:1 !important;
  font-weight:600 !important;
  letter-spacing:-.04em !important;
}


/* --------------------------------
   Four biological state cells
   -------------------------------- */

#pmhome3StateV1
.pmhome3-state-grid.pmfinal-state-grid{
  grid-template-columns:
    1.06fr 1fr 1fr 1fr !important;
}


/* --------------------------------
   Glucose rhythm
   -------------------------------- */

.pmstate-glucose-cell{
  position:relative;

  background:
    radial-gradient(
      circle at 8% 45%,
      rgba(225,122,176,.055),
      transparent 38%
    ),
    #101513 !important;
}


.pmfinal-glucose-title{
  grid-column:1 / -1;

  display:flex;
  align-items:center;
  gap:9px;

  color:#858d89;

  font-size:9px;
  font-weight:600;
}


.pmfinal-glucose-icon{
  width:29px;
  height:29px;

  flex:0 0 29px;

  color:#df7bab;

  display:inline-flex;

  filter:
    drop-shadow(
      0 0 6px
      rgba(223,123,171,.22)
    );
}


.pmfinal-glucose-icon svg{
  width:100%;
  height:100%;
  overflow:visible;
}


.pmfinal-glucose-icon svg *{
  fill:none;

  stroke:currentColor;

  stroke-linecap:round;
  stroke-linejoin:round;
}


.pmfinal-glucose-ring{
  opacity:.30;

  stroke-width:1.3;

  stroke-dasharray:8 5;

  transform-origin:
    16px 16px;

  animation:
    pmfinalGlucoseRing
    8s linear infinite;
}


.pmfinal-glucose-drop{
  stroke-width:1.7;

  fill:
    rgba(223,123,171,.08)
    !important;

  transform-origin:center;

  animation:
    pmfinalGlucosePulse
    2.5s ease-in-out infinite;
}


.pmfinal-glucose-wave{
  stroke-width:1.5;

  stroke-dasharray:
    18 8;

  animation:
    pmfinalGlucoseWave
    2.1s linear infinite;
}


.pmfinal-glucose-status{
  color:#979f9b !important;

  font-size:18px !important;
}


.pmfinal-glucose-upload{
  justify-self:start;

  display:inline-flex;
  align-items:center;

  min-height:28px;

  padding:
    5px 10px;

  border:
    1px solid
    rgba(223,123,171,.28);

  border-radius:999px;

  background:
    rgba(223,123,171,.045);

  color:#df83b0;

  font-size:8px;
  font-weight:600;

  text-decoration:none;
}


/* --------------------------------
   Glucose model path
   -------------------------------- */

#pmhome3StateV1
.pmglucose-flow{
  display:block !important;

  margin-top:10px;

  padding:
    10px 13px 11px;

  border:
    1px solid
    rgba(255,255,255,.055);

  border-radius:11px;

  background:
    rgba(255,255,255,.012);
}


.pmfinal-flow-head{
  display:flex;
  justify-content:space-between;
  align-items:center;

  gap:10px;

  margin-bottom:7px;
}


.pmfinal-flow-head span{
  color:#818985;
  font-size:9px;
}


.pmfinal-flow-head em{
  color:#ad728e;

  font-size:8px;
  font-style:normal;
}


.pmfinal-flow-track{
  display:flex;
  align-items:center;

  gap:7px;

  overflow-x:auto;

  white-space:nowrap;

  color:#858d89;

  font-size:8px;

  scrollbar-width:none;
}


.pmfinal-flow-track::-webkit-scrollbar{
  display:none;
}


.pmfinal-flow-track b{
  color:#4d5551;
  font-weight:400;
}


.pmfinal-flow-track strong{
  color:#dc82ad;
  font-weight:600;
}


.pmfinal-flow-inputs{
  margin-top:7px;

  color:#343838;

  font-size:7.5px;

  line-height:1.45;
}


/* --------------------------------
   BEFORE / NOW completely gone
   -------------------------------- */

.pmtrendba-phase{
  display:none !important;
}


/* --------------------------------
   Mobile
   -------------------------------- */

@media(max-width:1000px){

  #pmhome3StateV1
  .pmhome3-state-grid.pmfinal-state-grid{
    grid-template-columns:
      repeat(2,minmax(0,1fr))
      !important;
  }

}


@media(max-width:520px){

  #pmhome3StateV1
  .pmhome3-state-grid.pmfinal-state-grid{
    grid-template-columns:
      1fr !important;
  }

  html body
  #pmhome3StateV1
  .pmhome3-state-score{
    font-size:34px !important;
  }

}


@media(prefers-reduced-motion:reduce){

  .pmfinal-glucose-icon,
  .pmfinal-glucose-icon *{
    animation:none !important;
  }

}


/* --------------------------------
   Animation
   -------------------------------- */

@keyframes pmfinalGlucoseRing{

  from{
    transform:rotate(0deg);
  }

  to{
    transform:rotate(360deg);
  }

}


@keyframes pmfinalGlucosePulse{

  0%,100%{
    transform:scale(.94);
    opacity:.72;
  }

  50%{
    transform:scale(1.05);
    opacity:1;
  }

}


@keyframes pmfinalGlucoseWave{

  from{
    stroke-dashoffset:0;
  }

  to{
    stroke-dashoffset:-26;
  }

}
.pm-login{width:min(calc(100% - 72px),1040px);margin:0 auto;padding:88px 0 96px;color:#eef5f1}
.pm-login-kicker{margin:0 0 18px;color:#8ff5c4;font:700 10px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.18em}
.pm-login h1{max-width:850px;margin:0;font-size:clamp(42px,5vw,64px);line-height:1.04;letter-spacing:-.045em;font-weight:600}
.pm-login-lead{max-width:760px;margin:24px 0 0;color:rgba(238,245,241,.58);font-size:16px;line-height:1.8}
.pm-login-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:46px;border-top:1px solid rgba(255,255,255,.10);border-bottom:1px solid rgba(255,255,255,.10)}
.pm-login-grid article{min-height:190px;padding:24px 24px 26px;border-right:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.012)}
.pm-login-grid article:last-child{border-right:0}
.pm-login-grid span{color:#8ff5c4;font:700 10px/1 ui-monospace,monospace;letter-spacing:.1em}
.pm-login-grid h2{margin:48px 0 10px;font-size:20px;line-height:1.2;font-weight:580;letter-spacing:-.02em}
.pm-login-grid p{margin:0;color:rgba(238,245,241,.48);font-size:13px;line-height:1.65}
.pm-login-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:30px}
.pm-login-actions a{min-height:48px;padding:0 19px;display:inline-flex;align-items:center;justify-content:center;gap:22px;border-radius:999px;text-decoration:none;font-size:13px;font-weight:700}
.pm-login-primary{background:#f3f4ef;color:#07100e}
.pm-login-secondary{border:1px solid rgba(185,255,203,.28);color:#eef5f1}
.pm-login-note{max-width:720px;margin:22px 0 0;color:rgba(238,245,241,.38);font-size:11px;line-height:1.65}
@media(max-width:760px){
 .pm-login{width:calc(100% - 32px);padding:38px 0 62px}
 .pm-login h1{font-size:36px;line-height:1.07}
 .pm-login-lead{font-size:14px;line-height:1.7}
 .pm-login-grid{grid-template-columns:1fr;margin-top:30px}
 .pm-login-grid article{min-height:auto;padding:18px;border-right:0;border-bottom:1px solid rgba(255,255,255,.08)}
 .pm-login-grid article:last-child{border-bottom:0}
 .pm-login-grid h2{margin:24px 0 8px;font-size:17px}
 .pm-login-actions{align-items:stretch;flex-direction:column}
 .pm-login-actions a{width:100%;justify-content:space-between}
}
/* Bio2Twin Personal Model Overview v4
   Visual-only dashboard refinement. Data and runtime behavior unchanged. */
body.pmv2[data-page="overview"]{
  --pm4-bg:#0b0c0c;
  --pm4-panel:#171919;
  --pm4-panel-hi:#202323;
  --pm4-line:rgba(255,255,255,.075);
  --pm4-line-hi:rgba(226,229,227,.14);
  --pm4-text:#f4f7f3;
  --pm4-soft:#b8bdb9;
  --pm4-muted:#858d89;
  --pm4-accent:#e2e5e3;
  background:
    radial-gradient(900px 520px at 72% -12%,rgba(226,229,227,.055),transparent 58%),
    var(--pm4-bg);
}
body.pmv2[data-page="overview"] .pmv2-content{
  max-width:1180px;
}
.pmhome3{
  display:grid;
  grid-template-columns:minmax(0,1.12fr) minmax(300px,.88fr);
  gap:12px;
}
.pmhome3-hero,
.pmhome3-section:first-of-type,
.pmhome3-actions{
  grid-column:1/-1;
}
.pmhome3-hero{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  grid-template-areas:"title sync" "date sync";
  align-items:center;
  gap:4px 20px;
  padding:8px 2px 18px;
  border-bottom:1px solid rgba(255,255,255,.05);
}
.pmhome3-eyebrow{display:none}
.pmhome3-title{
  grid-area:title;
  font-size:32px;
  line-height:1.06;
  font-weight:590;
  letter-spacing:-.04em;
}
.pmhome3-date{
  grid-area:date;
  margin:3px 0 0;
  font-size:12px;
}
.pmhome3-sync{
  grid-area:sync;
  margin:0;
  min-height:32px;
  padding:6px 11px;
  background:rgba(226,229,227,.035);
  border-color:rgba(226,229,227,.11);
}
.pmhome3-section{margin:0}
.pmhome3-card{
  height:100%;
  padding:18px;
  border-radius:18px;
  border-color:var(--pm4-line);
  background:linear-gradient(180deg,rgba(255,255,255,.018),transparent 42%),var(--pm4-panel);
  box-shadow:0 18px 50px rgba(0,0,0,.12);
}
.pmhome3-head{
  margin-bottom:13px;
  padding-bottom:10px;
  border-bottom:1px solid rgba(255,255,255,.045);
}
.pmhome3-head h2{
  font-size:13px;
  font-weight:610;
  letter-spacing:-.01em;
}
.pmhome3-meta{
  font-size:8px;
  letter-spacing:.12em;
}
.pmhome3-metrics{
  grid-template-columns:repeat(auto-fit,minmax(145px,1fr));
  border:0;
  border-radius:14px;
  gap:7px;
  background:transparent;
}
.pmhome3-metric{
  min-height:92px;
  padding:13px 13px 11px;
  border:1px solid rgba(255,255,255,.055);
  border-radius:13px;
  background:var(--pm4-panel-hi);
}
.pmhome3-metric-name{
  min-height:auto;
  margin-bottom:9px;
}
.pmhome3-metric-value{font-size:25px}
.pmhome3-empty{
  border:1px solid rgba(255,255,255,.055);
  border-radius:13px;
}
.pmhome3-model-name{font-size:17px}
.pmhome3-memory-text{
  font-size:16px;
  line-height:1.55;
}
.pmhome3-stage{
  font-size:20px;
  letter-spacing:-.025em;
}
.pmhome3-copy{
  font-size:11px;
  line-height:1.65;
}
.pmhome3-loop{
  gap:5px;
  margin-bottom:11px;
}
.pmhome3-loop span:not(.pmhome3-loop-arrow){
  padding:5px 8px;
  border:1px solid rgba(255,255,255,.055);
  border-radius:999px;
  background:rgba(255,255,255,.018);
}
.pmhome3-actions{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:7px;
  margin-top:2px;
}
.pmhome3-action{
  min-height:48px;
  padding:9px 12px;
  border-radius:13px;
  background:rgba(255,255,255,.018);
  font-size:11px;
}
.pmhome3-action span{
  display:block;
  margin-top:3px;
  color:var(--pm4-muted);
  font-size:8px;
  line-height:1.35;
}
.pmhome3-action::after{font-size:16px}
.pace-pm{
  margin:12px 0 0 !important;
  padding:18px !important;
  border-radius:18px !important;
  border:1px solid var(--pm4-line) !important;
  background:linear-gradient(180deg,rgba(226,229,227,.025),transparent 34%),var(--pm4-panel) !important;
  color:var(--pm4-text) !important;
}
.pace-pm h2{
  margin:4px 0 10px !important;
  font-size:20px !important;
}
.pace-pm-kicker{
  font-size:9px !important;
  color:var(--pm4-muted) !important;
}
.pace-pm-state,.pace-pm-note{
  color:var(--pm4-soft) !important;
  font-size:11px !important;
}
.pace-pm-metrics{
  gap:10px !important;
  padding:12px 0 !important;
}
.pace-pm-metrics>div{
  min-width:120px;
  padding:11px 12px;
  border:1px solid rgba(255,255,255,.055);
  border-radius:12px;
  background:rgba(255,255,255,.018);
}
.pace-pm-metrics strong{font-size:21px !important}
@media(min-width:761px){
  body.pmv2[data-page="overview"] .pmv2-workspace{
    padding:24px 30px 56px;
  }
  .pmhome3{padding:0}
  .pmhome3-section:nth-of-type(2),
  .pmhome3-section:nth-of-type(4){grid-column:1}
  .pmhome3-section:nth-of-type(3),
  .pmhome3-section:nth-of-type(5){grid-column:2}
}
@media(max-width:760px){
  body.pmv2[data-page="overview"] .pmv2-content{max-width:none}
  .pmhome3{
    display:block;
    padding-bottom:max(28px,calc(18px + env(safe-area-inset-bottom)));
  }
  .pmhome3-hero{
    grid-template-columns:1fr auto;
    grid-template-areas:"title sync" "date date";
    padding:17px 2px 15px;
  }
  .pmhome3-title{font-size:27px}
  .pmhome3-sync{justify-self:end}
  .pmhome3-section{margin-top:8px}
  .pmhome3-card{padding:15px;border-radius:16px}
  .pmhome3-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pmhome3-metric{min-height:86px}
  .pmhome3-actions{
    grid-template-columns:repeat(2,minmax(0,1fr));
    margin-top:8px;
  }
  .pmhome3-action{min-height:50px}
}

/* v4.1 compact independent columns */
.pmhome3{display:block}
.pmhome3-board{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(300px,.92fr);
  gap:12px;
  margin-top:12px;
  align-items:start;
}
.pmhome3-column{
  display:flex;
  min-width:0;
  flex-direction:column;
  gap:12px;
}
.pmhome3-board .pmhome3-section{
  margin:0 !important;
  grid-column:auto !important;
}
.pmhome3-board .pmhome3-card{
  height:auto;
}
.pmhome3-actions{margin-top:12px}
@media(max-width:760px){
  .pmhome3-board{display:block;margin-top:0}
  .pmhome3-column{display:block}
  .pmhome3-board .pmhome3-section{margin-top:8px !important}
}
/* Bio2Twin Canonical Dark Green Palette v1
   Global system surface: deep ink green + Bio2Twin mint.
   Blue may remain only inside scientific / world / compute visualizations. */

:root{
  --bt-bg:#07100e;
  --bt-section:#0a1411;
  --bt-section-alt:#0c1714;
  --bt-panel:#0d1815;
  --bt-panel-deep:#0b1512;
  --bt-panel-hi:#10201b;
  --bt-ink:#f3f4ef;
  --bt-body:#b7c2ba;
  --bt-muted:#7d8c83;
  --bt-mint:#b9ffcb;
  --bt-accent:#72e6cf;
  --bt-line:rgba(185,255,203,.08);
  --bt-line-strong:rgba(185,255,203,.16);
  --bt-line-active:rgba(185,255,203,.28);

  --ds-canvas:#07100e;
  --ds-elevated:#0d1815;
  --ds-soft:#0c1714;
  --ds-ink:#f3f4ef;
  --ds-body:#b7c2ba;
  --ds-muted:#7d8c83;
  --ds-line:rgba(185,255,203,.08);
  --ds-line-strong:rgba(185,255,203,.16);
  --ds-accent:#b9ffcb;
  --ds-success:#72e6cf;

  --tech-bg:#07100e;
  --tech-surface:#0d1815;
  --tech-surface-2:#0b1512;
  --tech-ink:#f3f4ef;
  --tech-body:rgba(239,246,242,.68);
  --tech-muted:rgba(239,246,242,.42);
  --tech-line:rgba(185,255,203,.08);
  --tech-line-strong:rgba(185,255,203,.16);
  --tech-mint:#b9ffcb;
  --tech-gold:#b9ffcb;
  --tech-purple:#b9ffcb;

  --la-canvas:#07100e;
  --la-surface:#0d1815;
  --la-surface-2:#0b1512;
  --la-ink:#f3f4ef;
  --la-body:rgba(239,246,242,.68);
  --la-muted:rgba(239,246,242,.42);
  --la-line:rgba(185,255,203,.08);
  --la-gold:#b9ffcb;
  --plan-free-accent:rgba(185,255,203,.44);
  --plan-personal-accent:#72e6cf;
  --plan-twin-accent:#b9ffcb;
  --plan-experiment-accent:#8eeeb6;
  --plan-deep-accent:#a7e7c0;
}

html{
  background:#07100e;
  color-scheme:dark;
}
body{
  background-color:#07100e;
}

/* ---------------------------------------------------------
   Shared shell
   --------------------------------------------------------- */
.bt-header{
  background:rgba(7,16,14,.97)!important;
  border-bottom-color:rgba(185,255,203,.08)!important;
}
.bt-nav__trigger:hover,
.bt-nav__trigger[aria-expanded="true"],
.bt-nav__link:hover,
.bt-nav__link[aria-current="page"]{
  background:rgba(185,255,203,.05)!important;
}
.bt-cta-secondary{
  border-color:rgba(185,255,203,.20)!important;
}
.bt-menu{
  background:#0b1512!important;
  border-color:rgba(185,255,203,.12)!important;
}

/* Mega menus are part of the dark product system, never a white sheet */
.bt-mega{
  background:#0a1411!important;
  color:#f3f4ef!important;
  border-top:1px solid rgba(185,255,203,.05)!important;
  border-bottom-color:rgba(185,255,203,.10)!important;
}
.bt-mega__label{
  color:rgba(185,255,203,.48)!important;
}
.bt-mega__link{
  color:rgba(243,244,239,.74)!important;
}
.bt-mega__link i{
  color:rgba(185,255,203,.55)!important;
}
.bt-mega__link:hover,
.bt-mega__link:focus-visible,
.bt-mega__link.is-active{
  color:#f3f4ef!important;
  background:rgba(185,255,203,.05)!important;
}
.bt-mega__link:focus-visible{
  outline-color:rgba(185,255,203,.40)!important;
}
.bt-mega__visual{
  background:#0b1512!important;
  border:1px solid rgba(185,255,203,.08)!important;
}

/* Biology mega used to be blue; keep the UI green.
   Blue remains allowed inside the image itself. */
#bt-mega-biology{
  background:linear-gradient(180deg,#07100e 0%,#0c1714 100%)!important;
  color:#eef8f1!important;
  border-top-color:rgba(185,255,203,.07)!important;
  border-bottom-color:rgba(185,255,203,.10)!important;
}
#bt-mega-biology .bt-mega__label{
  color:rgba(185,255,203,.52)!important;
}
#bt-mega-biology .bt-mega__link{
  color:rgba(238,248,241,.78)!important;
}
#bt-mega-biology .bt-mega__link:hover,
#bt-mega-biology .bt-mega__link:focus-visible,
#bt-mega-biology .bt-mega__link.is-active{
  background:rgba(185,255,203,.055)!important;
  color:#b9ffcb!important;
}
#bt-mega-biology .bt-mega__link i{
  color:#b9ffcb!important;
}
#bt-mega-biology .bt-mega__visual{
  background:#0b1512!important;
  border-color:rgba(185,255,203,.10)!important;
}

/* ---------------------------------------------------------
   Foundation / generic cards
   --------------------------------------------------------- */
.bt-page,
.chat-page{
  color:#f3f4ef;
}
.bt-card,
.bt-page :where(button,.bt-button),
.bt-page :where(input,textarea,select){
  background-color:#0d1815!important;
  border-color:rgba(185,255,203,.10)!important;
}
.bt-notice{
  background-color:#0c1714!important;
  border-left-color:#b9ffcb!important;
}
.bt-page .bt-cta{
  background:#b9ffcb!important;
  border-color:#b9ffcb!important;
  color:#07100e!important;
}

/* ---------------------------------------------------------
   Technology + Health Groups
   --------------------------------------------------------- */
.technology-body{
  background:#07100e!important;
}
.technology-chain,
.technology-sources a{
  background-color:#0d1815!important;
  border-color:rgba(185,255,203,.08)!important;
}
.technology-index a{
  background-color:#0b1512!important;
  border-color:rgba(185,255,203,.08)!important;
}
.technology-unit--protein .technology-unit__id span,
.technology-unit--protein .technology-chain,
.technology-unit--agent .technology-unit__id span,
.technology-unit--truth .technology-unit__id span,
.technology-unit--research .technology-unit__id span,
.technology-unit--oi .technology-unit__id span,
.technology-unit--oi .technology-chain,
.technology-unit--secure .technology-unit__id span{
  color:#b9ffcb!important;
}
.health-main,
.health-discovery-content,
.health-category-section{
  background-color:#07100e;
}
.health-feature{
  background-color:#0d1815!important;
  border-color:rgba(185,255,203,.08)!important;
}
.health-feature:hover,
.health-feature:focus-within{
  border-color:rgba(185,255,203,.24)!important;
}

/* ---------------------------------------------------------
   OI Genesis / OI Research Horizon
   Deep green surfaces; blue is preserved only inside orbit/GPU visuals.
   --------------------------------------------------------- */
body.oi-genesis{
  background:#07100e!important;
}
.og-hero{
  background:
    radial-gradient(ellipse at 76% 38%,rgba(114,230,207,.075),transparent 40%),
    radial-gradient(ellipse at 11% 15%,rgba(185,255,203,.035),transparent 48%),
    #07100e!important;
  border-bottom-color:rgba(185,255,203,.10)!important;
}
.og-bar,
.og-section,
.og-principle,
.og-current,
.og-extensions{
  background-color:#07100e!important;
}
.og-section--alt,
.og-principle,
.og-extensions{
  background-color:#0a1411!important;
}
.og-step,
.og-panel,
.og-boundary,
.og-current__grid article,
.og-extensions__grid a,
.og-gpu-card,
.og-entry-readout>div,
.og-gate-rail,
.og-gate-reading{
  background-color:#0d1815!important;
  border-color:rgba(185,255,203,.10)!important;
}
.og-step--active,
.og-gpu-card--deep,
.og-gate-reading{
  background-color:#0c1714!important;
}
.og-entry-frame{
  background:
    radial-gradient(ellipse at 80% 6%,rgba(114,230,207,.055),transparent 59%),
    #0d1815!important;
}
.og-gpu-section,
.og-world{
  background-color:#07100e!important;
}
.og-earlybird{
  background:linear-gradient(110deg,rgba(185,255,203,.05),rgba(255,255,255,.01))!important;
  border-color:rgba(185,255,203,.12)!important;
}
.og-gpu-title strong,
.og-earlybird-goal strong{
  color:#b9ffcb!important;
}
.og-gpu-tier,
.og-earlybird-goal>span{
  color:rgba(185,255,203,.60)!important;
}

/* ---------------------------------------------------------
   Sovereign OI
   --------------------------------------------------------- */
.so-story-track,
.so-story-track--biology{
  background:linear-gradient(145deg,#0d1815,#0a1411)!important;
  border-color:rgba(185,255,203,.11)!important;
}
.so-story-track--biology .so-story-track__eyebrow,
.so-story-track__eyebrow{
  color:#b9ffcb!important;
}
.so-story-sequence li,
.so-story-track--biology li{
  background:#0b1512!important;
  border-color:rgba(185,255,203,.10)!important;
}
.so-story-memory,
.so-story-twin{
  background:linear-gradient(110deg,rgba(185,255,203,.045),rgba(114,230,207,.025))!important;
  border-color:rgba(185,255,203,.14)!important;
}

/* ---------------------------------------------------------
   Launch / Pricing
   --------------------------------------------------------- */
.launch-body{
  --la-system-bg:#07100e;
  --la-system-panel:#0d1815;
  --la-system-panel-hi:#10201b;
  --la-system-line:rgba(185,255,203,.08);
  --la-system-line-hi:rgba(185,255,203,.16);
  --la-system-accent:#72e6cf;
  --la-system-mint:#b9ffcb;
  background-color:#07100e!important;
}
.launch-card,
.plan-card,
.pricing-card{
  background-color:#0d1815!important;
  border-color:rgba(185,255,203,.08)!important;
}

/* ---------------------------------------------------------
   Personal Model
   --------------------------------------------------------- */
body.pmv2{
  background-color:#07100e!important;
}
body.pmv2[data-page="overview"]{
  --pm4-bg:#07100e;
  --pm4-panel:#0d1815;
  --pm4-panel-hi:#10201b;
  --pm4-line:rgba(185,255,203,.08);
  --pm4-line-hi:rgba(185,255,203,.16);
  --pm4-accent:#b9ffcb;
}
.pmhome3-card,
.pmhome3-metric,
.pace-pm{
  background-color:#0d1815!important;
  border-color:rgba(185,255,203,.08)!important;
}
.pmhome3-action{
  background-color:#0b1512!important;
  border-color:rgba(185,255,203,.07)!important;
}

/* ---------------------------------------------------------
   Health Reverse Research
   --------------------------------------------------------- */
.reverse-health-body{
  background:#07100e!important;
}
.reverse-health-page{
  --rh-bg:#07100e;
  --rh-panel:#0d1815;
  --rh-panel-deep:#0b1512;
  --rh-section:#0a1411;
  --rh-section-alt:#0c1714;
  --rh-line:rgba(185,255,203,.08);
  --rh-line-strong:rgba(185,255,203,.16);
  --rh-accent:#72e6cf;
  --rh-mint:#b9ffcb;
}
.rh-card,
.rh-flow div,
.rh-gate{
  background-color:#0d1815!important;
  border-color:rgba(185,255,203,.08)!important;
}
.rh-section--alt{
  background-color:#0a1411!important;
}

/* ---------------------------------------------------------
   Homepage system surfaces
   Background-color only: preserve scientific/image gradients.
   --------------------------------------------------------- */
body:not(.pmv2):not(.technology-body):not(.oi-genesis):not(.launch-body):not(.reverse-health-body){
  background-color:#07100e;
}
#member-start,
#body-state,
#b2t-space,
#original-intelligence,
#model-cycle,
#truth-loop,
#miimochi-meet,
#research-intelligence,
.home-final-cta{
  background-color:#07100e!important;
}
#member-start .member-start__grid article,
#model-cycle .model-cycle-panel,
#truth-loop .truth-step,
#research-intelligence .research-intelligence-node{
  background-color:#0d1815!important;
  border-color:rgba(185,255,203,.08)!important;
}

/* ---------------------------------------------------------
   Shared Research Map
   --------------------------------------------------------- */
.bt-doc-map{
  color:#f3f4ef;
}
.bt-doc-map__inner{
  border-left-color:rgba(185,255,203,.08)!important;
}
.bt-doc-map__list a.is-active{
  background:linear-gradient(90deg,rgba(185,255,203,.055),transparent 88%)!important;
}
@media(max-width:1279px){
  .bt-doc-map{
    background:rgba(7,16,14,.94)!important;
    border-color:rgba(185,255,203,.08)!important;
  }
}

/* Semantic mint focus everywhere */
:focus-visible{
  outline-color:#b9ffcb;
}

/* Final specificity locks for legacy high-specificity surfaces */
html body.pmv2[data-page="overview"]{
  --pm4-bg:#07100e!important;
  --pm4-panel:#0d1815!important;
  --pm4-panel-hi:#10201b!important;
  --pm4-line:rgba(185,255,203,.08)!important;
  --pm4-line-hi:rgba(185,255,203,.16)!important;
  background:
    radial-gradient(900px 520px at 72% -12%,rgba(185,255,203,.045),transparent 58%),
    #07100e!important;
}
html body.pmv2[data-page="overview"] .pmv2-workspace,
html body.pmv2[data-page="overview"] .pmv2-content{
  background-color:transparent!important;
}
html body.pmv2[data-page="overview"] .pmhome3-card,
html body.pmv2[data-page="overview"] .pmhome3-metric,
html body.pmv2[data-page="overview"] .pace-pm{
  background-color:#0d1815!important;
  border-color:rgba(185,255,203,.08)!important;
}

html body.technology-body .health-main .health-feature,
html body.technology-body .health-discovery-content .health-feature,
html body.technology-body #health-aging-grid .health-feature{
  background:#0d1815!important;
  border-color:rgba(185,255,203,.08)!important;
  box-shadow:none!important;
}
html body.technology-body .health-main .health-feature:hover,
html body.technology-body .health-main .health-feature:focus-within{
  border-color:rgba(185,255,203,.24)!important;
}
.surface-role{display:grid;grid-template-columns:112px minmax(0,1fr) auto;gap:20px;align-items:start;margin:18px 0 28px;padding:16px 0;border-top:1px solid rgba(226,229,227,.08);border-bottom:1px solid rgba(226,229,227,.08);color:#f3f4ef}
.surface-role-tag{color:#858d89;font-size:10px;font-weight:600;letter-spacing:.14em}
.surface-role strong{display:block;margin:0 0 4px;font-size:14px;font-weight:560;line-height:1.4}
.surface-role p{margin:0;color:#b8bdb9;font-size:12px;line-height:1.6}
.surface-role nav{display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.surface-role nav a{color:#e2e5e3;font-size:11px;text-decoration:none;white-space:nowrap}
.surface-role nav a:hover{text-decoration:underline}
.surface-role-biology{border-left:2px solid rgba(226,229,227,.28);padding-left:14px}
.surface-role-lab{border-left:2px solid #b8bdb9;padding-left:14px;background:#0b1512}
body[data-page="experiments"] .pmv2-title{max-width:760px}
body[data-page="experiments"] .pmv2-lead{max-width:780px}
body[data-page="experiments"] .n1-hero{border-top:1px solid rgba(226,229,227,.12)}
@media(max-width:760px){.surface-role{grid-template-columns:1fr;gap:7px;margin:14px 0 22px;padding:14px 0}.surface-role nav{align-items:flex-start;flex-direction:row;flex-wrap:wrap;gap:10px}.surface-role-biology,.surface-role-lab{padding-left:12px}}
/* Bio2Twin member-only Black Graphite · design.md v2.14
   Opt-in: body.bt-member-graphite. Never applied to public marketing,
   public research articles, public MY OI profiles, or biological visualizations. */
body.bt-member-graphite {
  --ds-canvas:#0b0c0c; --ds-elevated:#171919; --ds-soft:#101111;
  --ds-ink:#f2f3f1; --ds-body:#b8bdb9; --ds-muted:#858d89;
  --ds-line:rgba(255,255,255,.075); --ds-line-strong:rgba(255,255,255,.13);
  --ds-accent:#e2e5e3; --ds-success:#c0c6c3;
  --bt-bg:#0b0c0c; --bt-section:#101111; --bt-section-alt:#131515;
  --bt-panel:#171919; --bt-panel-deep:#101111; --bt-panel-hi:#202323;
  --bt-ink:#f2f3f1; --bt-body:#b8bdb9; --bt-muted:#858d89;
  --bt-line:rgba(255,255,255,.075); --bt-line-strong:rgba(255,255,255,.13);
  --bt-line-active:rgba(226,229,227,.26);
  --pm-canvas:#0b0c0c; --pm-surface:#101111; --pm-surface-soft:#171919;
  --pm-ink:#f2f3f1; --pm-body:#b8bdb9; --pm-muted:#858d89;
  --pm-line:#25292c; --pm-line-strong:#2f3438; --pm-accent:#e2e5e3;
  --os-section:#101111; --os-section-alt:#131515;
  --os-card:#171919; --os-card-deep:#101111; --os-card-hover:#202323;
  --os-active:rgba(226,229,227,.26);
  --tech-bg:#0b0c0c; --tech-surface:#171919; --tech-surface-2:#101111;
  --tech-ink:#f2f3f1; --tech-line:rgba(255,255,255,.075);
  --tech-line-strong:rgba(255,255,255,.13);
  background:#0b0c0c; color:var(--ds-ink);
}
/* Keep the site shell quiet; never recolor physiological graphics/canvases. */
body.bt-member-graphite.pmv2 .pmv2-sidebar,
body.bt-member-graphite.pmv2 .pmv2-topbar {
  background:#101111; border-color:#25292c;
}
body.bt-member-graphite.pmv2 .pmv2-workspace,
body.bt-member-graphite.pmv2 .pmv2-main-col {
  background:#0b0c0c;
}
body.bt-member-graphite.pmv2 .pmv2-sidebar a.is-current,
body.bt-member-graphite.pmv2 .pmv2-sidebar a[aria-current="page"] {
  background:#202323; border-color:rgba(226,229,227,.24);
}
body.bt-member-graphite .os-sidebar{background:#101111;border-color:#25292c}
body.bt-member-graphite .os-topbar,
body.bt-member-graphite .mobile-nav {background:rgba(16,17,17,.97);border-color:#25292c}
body.bt-member-graphite .login-cover{background:rgba(11,12,12,.97)}
/* Member cards: common surface only, not stage colours, CGM, mood artwork or plots. */
body.bt-member-graphite #pmv2Sleep {
  --sr-bg:#0b0c0c;--sr-panel:#171919;--sr-soft:#101111;--sr-deep:#101111;
  --sr-line:rgba(255,255,255,.075);--sr-strong:rgba(255,255,255,.13);
  --sr-ink:#f2f3f1;--sr-muted:#b8bdb9;--sr-accent:#e2e5e3;
}
body.bt-member-graphite #pmv2Sleep .sr-hero,
body.bt-member-graphite #pmv2Sleep .sr-panel,
body.bt-member-graphite #pmv2Sleep .sr-empty {
  background:#171919; border-color:rgba(255,255,255,.09);
}
body.bt-member-graphite #pmv2Sleep .sr-night,
body.bt-member-graphite #pmv2Sleep .sr-recovery-card,
body.bt-member-graphite #pmv2Sleep .sr-trend-detail {background:#101111}
body.bt-member-graphite #pmv2Sleep .sr-trend-detail {background:transparent}
body.bt-member-graphite .metric-grid,
body.bt-member-graphite .focus-card,
body.bt-member-graphite .module,
body.bt-member-graphite .system-card,
body.bt-member-graphite .body-system-card,
body.bt-member-graphite .closure-status-card {background:#171919;border-color:rgba(255,255,255,.075)}
body.bt-member-graphite .oi-band,
body.bt-member-graphite .reality-pill {background:#131515;border-color:rgba(255,255,255,.13)}
body.bt-member-graphite .body-map-panel{background:linear-gradient(180deg,#171919,#101111)}
body.bt-member-graphite .today-myoi-card {background:#171919}
/* Do not force black fills onto #mind-state visualizations, SVG, canvas, live mood imagery. */

/* v1.1 compatibility for legacy strong green selectors; member scope only. */
html body.bt-member-graphite,
html body.bt-member-graphite.pmv2,
html body.bt-member-graphite.bt-state-page {
  background:#0b0c0c !important;
  background-color:#0b0c0c !important;
}
body.bt-member-graphite.pmv2[data-page="overview"] .pmhome3-card {
  background:#171919 !important;
  border-color:rgba(255,255,255,.09) !important;
}
body.bt-member-graphite.pmv2[data-page="overview"] .pmhome3-section {
  border-color:rgba(255,255,255,.075);
}
body.bt-member-graphite.bt-state-page .hs5-shell {
  background:transparent;
}


/* v2.14 member controls are monochrome; scientific datasets keep semantic colours. */
body.bt-member-graphite {
 --bt-mint:#e2e5e3; --bt-accent:#c0c6c3;
 --bt-line-active:rgba(226,229,227,.26);
 --tech-mint:#e2e5e3; --tech-gold:#e2e5e3; --tech-purple:#e2e5e3;
 --la-gold:#e2e5e3;
 --plan-personal-accent:#c0c6c3; --plan-twin-accent:#e2e5e3;
 --plan-experiment-accent:#bfc5c2; --plan-deep-accent:#c7ccca;
}
body.bt-member-graphite.pmv2 .pmv2-sidebar a[aria-current="page"],
body.bt-member-graphite.pmv2 .pmv2-sidebar a.is-current,
body.bt-member-graphite .os-nav a.active{
 border-color:rgba(226,229,227,.28);
}
body.bt-member-graphite .os-nav a.active,
body.bt-member-graphite .os-nav a:hover {
 background:#202323;
}
body.bt-member-graphite #pmv2Sleep .sr-trend-total{
 fill:#d6dbd8;
}
body.bt-member-graphite #pmv2Sleep .sr-legend-key.sr-total,
body.bt-member-graphite #pmv2Sleep .sr-detail-dot.sr-total {
 background:#d6dbd8;
}
body.bt-member-graphite #pmv2Sleep .sr-primary:hover {
 background:#f3f4f2;
}
body.bt-member-graphite #pmv2Sleep .sr-switch button[aria-pressed="true"]{
 color:#111313;
}
body.bt-member-graphite.pmv2[data-page="restoration-map"]{
 --r-green:#c0c6c3;
}
body.bt-member-graphite .os-sidebar .sync-dot i.ok,
body.bt-member-graphite .reality-pill i,
body.bt-member-graphite .run-dot.is-ok {
 background:#c0c6c3;
}
body.bt-member-graphite .os-sidebar a:focus-visible,
body.bt-member-graphite button:focus-visible,
body.bt-member-graphite a:focus-visible,
body.bt-member-graphite input:focus-visible {
 outline-color:#e2e5e3;
}
/* Bio2Twin member surface standard v4 — Black Graphite UI, restrained Mint. */
body.bt-member-graphite {
 --ds-canvas:#0b0c0c;--ds-elevated:#171919;--ds-soft:#101111;
 --ds-line:rgba(255,255,255,.085);--ds-line-strong:rgba(255,255,255,.15);
 --ds-accent:#b9ffcb;--ds-success:#72e6cf;
 --bt-bg:#0b0c0c;--bt-section:#101111;--bt-section-alt:#171919;
 --bt-panel:#171919;--bt-panel-deep:#101111;--bt-panel-hi:#202222;
 --bt-line:rgba(255,255,255,.085);--bt-line-strong:rgba(255,255,255,.15);
 --bt-line-active:rgba(185,255,203,.25);--bt-mint:#b9ffcb;--bt-accent:#b9ffcb;
 --pm-canvas:#0b0c0c;--pm-surface:#101111;--pm-surface-soft:#171919;
 --pm-line:#303333;--pm-line-strong:#3a3e3d;--pm-accent:#b9ffcb;
 --os-section:#101111;--os-section-alt:#171919;--os-card:#171919;
 --os-card-deep:#101111;--os-card-hover:#202222;--os-active:rgba(185,255,203,.24);
 --tech-bg:#0b0c0c;--tech-surface:#171919;--tech-surface-2:#101111;
 --tech-line:rgba(255,255,255,.085);--tech-line-strong:rgba(255,255,255,.15);
}
body.bt-member-graphite.pmv2 .pmv2-sidebar,
body.bt-member-graphite.pmv2 .pmv2-topbar,
body.bt-member-graphite .os-sidebar,
body.bt-member-graphite .os-topbar{background:#101111;border-color:#303333}
body.bt-member-graphite.pmv2 .pmv2-workspace,
body.bt-member-graphite.pmv2 .pmv2-main-col{background:#0b0c0c}
body.bt-member-graphite .metric-grid,
body.bt-member-graphite .focus-card,
body.bt-member-graphite .module,
body.bt-member-graphite .system-card,
body.bt-member-graphite .body-system-card,
body.bt-member-graphite .closure-status-card,
body.bt-member-graphite .oi-band,
body.bt-member-graphite .reality-pill{background:#171919;border-color:rgba(255,255,255,.085)}
body.bt-member-graphite .body-map-panel{background:#171919;border-color:rgba(255,255,255,.085)}
/* Member UI cards and dynamic authenticated Personal Model surfaces. */
body.bt-member-graphite[data-page="overview"] .pmhome3-card,
body.bt-member-graphite[data-page="overview"] .pace-pm,
body.bt-member-graphite[data-page="overview"] .pmhome3-state-card,
body.bt-member-graphite[data-page="overview"] .pmstate2-done,
body.bt-member-graphite[data-page="overview"] .surface-role,
body.bt-member-graphite[data-page="overview"] .rc-card,
body.bt-member-graphite[data-page="overview"] #pace-analysis,
body.bt-member-graphite[data-page="overview"] #prot-analysis,
body.bt-member-graphite[data-page="overview"] #pheno-analysis,
body.bt-member-graphite[data-page="overview"] #blsa-analysis {
 background:#171919!important;border-color:rgba(255,255,255,.10)!important;
}
body.bt-member-graphite[data-page="overview"] .pmhome3-metric,
body.bt-member-graphite[data-page="overview"] .pmhome3-activity-item,
body.bt-member-graphite[data-page="overview"] .pmhome3-state-primary,
body.bt-member-graphite[data-page="overview"] .pmhome3-state-cell,
body.bt-member-graphite[data-page="overview"] .pmhome3-state-sleep,
body.bt-member-graphite[data-page="overview"] .pmhome3-state-activity,
body.bt-member-graphite[data-page="overview"] .pmhome3-state-recovery,
body.bt-member-graphite[data-page="overview"] .pmhome3-state-hrv,
body.bt-member-graphite[data-page="overview"] .rc-row,
body.bt-member-graphite[data-page="overview"] .rc-full-row{
 background:#101111!important;border-color:rgba(255,255,255,.10)!important;
}
body.bt-member-graphite[data-page="overview"] .pmhome3-metrics,
body.bt-member-graphite[data-page="overview"] .pmhome3-activity-grid,
body.bt-member-graphite[data-page="overview"] .pmhome3-state-grid{
 background:#303333!important;border-color:#303333!important;
}
body.bt-member-graphite[data-page="overview"] .pmhome3-section:first-of-type > .pmhome3-card{
 background:#171919!important;
}
body.bt-member-graphite[data-page="overview"] .pmhome3-section:first-of-type > .pmhome3-card::before,
body.bt-member-graphite[data-page="overview"] .pmhome3-state-card::before,
body.bt-member-graphite[data-page="overview"] .pmhome3-card::before {
 background:#414545!important;box-shadow:none!important;
}
body.bt-member-graphite[data-page="overview"] .pmhome3-card,
body.bt-member-graphite[data-page="overview"] .pmhome3-metric,
body.bt-member-graphite[data-page="overview"] .pmhome3-activity-item,
body.bt-member-graphite[data-page="overview"] .pmhome3-state-cell,
body.bt-member-graphite[data-page="overview"] .pmhome3-state-primary{
 box-shadow:none!important;
}
/* Neutral card contours; preserve separate evidence and physiological colour encodings. */
body.bt-member-graphite[data-page="overview"] .pmhome3-metric,
body.bt-member-graphite[data-page="overview"] .pmhome3-activity-item,
body.bt-member-graphite[data-page="overview"] .rc-row{outline-color:rgba(255,255,255,.12)}
body.bt-member-graphite[data-page="overview"] .rc-row:hover,
body.bt-member-graphite[data-page="overview"] .rc-badge.longitudinal,
body.bt-member-graphite[data-page="overview"] .rc-badge.available{
 border-color:rgba(255,255,255,.20)!important;
}
body.bt-member-graphite .mobile-nav{background:rgba(16,17,17,.97)}

/* High-specificity fix for legacy v3/v4 !important metric tile fills. */
html body.bt-member-graphite.pmv2[data-page="overview"]
 .pmhome3 .pmhome3-section .pmhome3-card .pmhome3-metric,
html body.bt-member-graphite.pmv2[data-page="overview"]
 .pmhome3 .pmhome3-section:first-of-type .pmhome3-metrics .pmhome3-metric,
html body.bt-member-graphite.pmv2[data-page="overview"]
 .pmhome3 .pmhome3-activity .pmhome3-activity-grid .pmhome3-activity-item {
 background:#101111!important;
 background-image:none!important;
 border-color:rgba(255,255,255,.10)!important;
}


/* v4c · authenticated dashboard neutral surfaces, without changing measured-data hues. */
html body.bt-member-graphite.pmv2[data-page="overview"]{
 --pm3-card:#171919;--pm3-card-2:#101111;
 --pm4-panel:#171919;--pm4-panel-hi:#202222;
 --pm3-bg:#0b0c0c;--pm4-bg:#0b0c0c;
}
html body.bt-member-graphite.pmv2[data-page="overview"]
 :is(.pmhome3-card,.pmhome3-state-card,.pmstate2-done,.pmstate2-done.pmhome3-card,.rc-card,.pace-pm,.surface-role,.pmhs-learning,.pmhs-research){
 background:#171919!important;
 background-image:none!important;
 border-color:rgba(255,255,255,.11)!important;
 box-shadow:none!important;
}
html body.bt-member-graphite.pmv2[data-page="overview"]
 :is(.pmhome3-metric,.pmhome3-activity-item,.pmhome3-state-primary,.pmhome3-state-cell,.pmhome3-state-sleep,.pmhome3-state-activity,.pmhome3-state-recovery,.pmhome3-state-hrv,.rc-row,.pmhome3-trend-item){
 background:#101111!important;
 background-image:none!important;
 border-color:rgba(255,255,255,.105)!important;
 box-shadow:none!important;
}
html body.bt-member-graphite.pmv2[data-page="overview"]
 :is(.pmhome3-metrics,.pmhome3-activity-grid,.pmhome3-state-grid){
 background:#303333!important;
 background-image:none!important;
 border-color:#303333!important;
 box-shadow:none!important;
}
html body.bt-member-graphite.pmv2[data-page="overview"]
 :is(.pmhome3-card,.pmhome3-state-card,.pmstate2-done,.pmhome3-metric,.pmhome3-state-primary,.pmhome3-state-cell,.pmhome3-activity-item,.rc-card,.rc-row)::before,
html body.bt-member-graphite.pmv2[data-page="overview"]
 :is(.pmhome3-card,.pmhome3-state-card,.pmstate2-done,.pmhome3-metric,.pmhome3-state-primary,.pmhome3-state-cell,.pmhome3-activity-item,.rc-card,.rc-row)::after{
 background-image:none!important;
 box-shadow:none!important;
}
html body.bt-member-graphite.pmv2[data-page="overview"]
 :is(.pmhome3-card,.pmhome3-state-card,.pmstate2-done)::before{
 background-color:#414545!important;
}
html body.bt-member-graphite.pmv2[data-page="overview"]
 :is(.pmhome3-card,.pmhome3-state-card,.pmstate2-done)::after{
 background-color:transparent!important;
}
html body.bt-member-graphite.pmv2[data-page="overview"] .pmhome3-state-pill,
html body.bt-member-graphite.pmv2[data-page="overview"] .rc-badge{
 background:#202222!important;
}
html body.bt-member-graphite.pmv2[data-page="overview"] .pmhs-learning,
html body.bt-member-graphite.pmv2[data-page="overview"] .pmhs-research{
 background:#171919!important;
 border-color:rgba(255,255,255,.11)!important;
}



/* Member overview v5: 7-day trend cards float on graphite, not a light gray grid. */
html body.bt-member-graphite.pmv2[data-page="overview"] .pmhome3-trends,
html body.bt-member-graphite.pmv2[data-page="overview"] #pmhome3TrendGrid,
html body.bt-member-graphite.pmv2[data-page="overview"] .pmhome3-trend-grid {
 background:transparent!important;
 background-color:transparent!important;
 background-image:none!important;
 border:0!important;
 outline:0!important;
 box-shadow:none!important;
}
html body.bt-member-graphite.pmv2[data-page="overview"] .pmhome3-trend-grid{
 gap:10px!important;
}
html body.bt-member-graphite.pmv2[data-page="overview"] .pmhome3-trend-item {
 background:#101111!important;
 background-image:none!important;
 border:1px solid rgba(255,255,255,.10)!important;
 border-radius:13px;
 box-shadow:none!important;
}
html body.bt-member-graphite.pmv2[data-page="overview"] .pmhome3-trend-grid::before,
html body.bt-member-graphite.pmv2[data-page="overview"] .pmhome3-trend-grid::after{
 content:none!important;
 background:none!important;
 box-shadow:none!important;
}
/* Bio2Twin Personal Model / clean graphite. No legacy auto-generated overrides.
   Member-only; do not desaturate scientific imagery or mutate Reality data. */
body.bt-member-graphite[data-page="overview"]{
  --pm3-bg:#0b0c0c;--pm3-card:#171919;--pm3-card-2:#101111;
  --pm3-accent:#e2e5e3;--pm3-soft:#b8bdb9;--pm3-muted:#858d89;
  --pm4-bg:#0b0c0c;--pm4-panel:#171919;--pm4-panel-hi:#202323;
  --pm4-accent:#e2e5e3;--pm4-soft:#b8bdb9;--pm4-muted:#858d89;
  --pm4-line-hi:rgba(226,229,227,.14);
}
body.bt-member-graphite[data-page="overview"] .pmhome3-card,
body.bt-member-graphite[data-page="overview"] .pace-pm,
body.bt-member-graphite[data-page="overview"] .surface-role{
  background:#171919!important;
  border-color:rgba(255,255,255,.09)!important;
}
body.bt-member-graphite[data-page="overview"] .pm-login-kicker,
body.bt-member-graphite[data-page="overview"] .pm-login-cover a,
body.bt-member-graphite[data-page="overview"] .pm-login-cover span,
body.bt-member-graphite[data-page="overview"] .pm-login-cover small{
  color:#e2e5e3!important;
}
body.bt-member-graphite[data-page="overview"] .pm-login-secondary{
  border-color:rgba(255,255,255,.18)!important;
}
body.bt-member-graphite[data-page="overview"] .pmhome3-dot,
body.bt-member-graphite[data-page="overview"] .pmhome3-readiness li::before{
  background:#c0c6c3!important;box-shadow:none!important;
}
body.bt-member-graphite[data-page="overview"] .pmhome3-ready,
body.bt-member-graphite[data-page="overview"] #pmhome3ModelVersion,
body.bt-member-graphite[data-page="overview"] .surface-role nav a,
body.bt-member-graphite[data-page="overview"] .pace-pm-metrics strong,
body.bt-member-graphite[data-page="overview"] .pace-pm-kicker,
body.bt-member-graphite[data-page="overview"] .pace-pm-item.confirmed b{
  color:#e2e5e3!important;
}
body.bt-member-graphite[data-page="overview"] .pace-pm-conclusions{
  border-left-color:rgba(226,229,227,.28)!important;
}
body.bt-member-graphite[data-page="overview"] #pmhome3ModelVersion,
body.bt-member-graphite[data-page="overview"] .pmhome3-badge{
  background:#202323!important;
  border-color:rgba(226,229,227,.24)!important;
}
body.bt-member-graphite[data-page="overview"] .pace-pm h2{color:#f2f3f1!important}
body.bt-member-graphite[data-page="overview"] .pace-pm-state,
body.bt-member-graphite[data-page="overview"] .pace-pm-note,
body.bt-member-graphite[data-page="overview"] .pace-pm-metrics span,
body.bt-member-graphite[data-page="overview"] .pace-pm-item small,
body.bt-member-graphite[data-page="overview"] .pace-pm-conclusions{
  color:#b8bdb9!important;
}
body.bt-member-graphite[data-page="overview"] .pace-pm-actions a,
body.bt-member-graphite[data-page="overview"] .pace-pm-actions button,
body.bt-member-graphite[data-page="overview"] .pmhome3-action,
body.bt-member-graphite[data-page="overview"] .pmhome3-sync{
  background:#171919!important;
  border-color:rgba(255,255,255,.16)!important;
  color:#e2e5e3!important;
}

body.bt-member-graphite[data-page="overview"] #pace-analysis,
body.bt-member-graphite[data-page="overview"] #prot-analysis,
body.bt-member-graphite[data-page="overview"] #pheno-analysis,
body.bt-member-graphite[data-page="overview"] #blsa-analysis{
 background:#171919!important;
 border-color:rgba(255,255,255,.09)!important;
}
body.bt-member-graphite[data-page="overview"] .pm-login-grid article span,
body.bt-member-graphite[data-page="overview"] .pm-login-grid article h2,
body.bt-member-graphite[data-page="overview"] .pm-login-grid article p{
 color:#b8bdb9!important;
}
body.bt-member-graphite[data-page="overview"] .pm-login-primary{
 background:#e2e5e3!important;color:#111313!important;
 border-color:#e2e5e3!important;
}
body.bt-member-graphite[data-page="overview"] .pm-login-primary span{
 color:#111313!important;
}

/* Personal Model member closure v1 · 2026-09-23 */
@media(min-width:981px){
  body.bt-member-graphite.pmv2[data-page="overview"] .pmv2-content{
    width:min(calc(100% - 48px),1120px)!important;max-width:1120px!important;
    margin:0 auto!important;padding:0 0 70px!important
  }
  body.bt-member-graphite.pmv2[data-page="overview"] .pmhome3{max-width:none!important}
  body.bt-member-graphite.pmv2[data-page="overview"] .pmhome3-hero{
    min-height:0!important;margin:0!important;padding:34px 0 22px!important;
    border-bottom:1px solid rgba(255,255,255,.08)!important
  }
  body.bt-member-graphite.pmv2[data-page="overview"] .pmhome3-eyebrow{display:none!important}
  body.bt-member-graphite.pmv2[data-page="overview"] .pmhome3-title{
    margin:0!important;font-size:clamp(32px,3.2vw,44px)!important;line-height:1.05!important
  }
  body.bt-member-graphite.pmv2[data-page="overview"] .pmhome3-date{margin-top:8px!important;font-size:11px!important}
  body.bt-member-graphite.pmv2[data-page="overview"] .pmhome3-sync{top:38px!important;right:0!important}
  body.bt-member-graphite.pmv2[data-page="overview"] .surface-role{
    margin:16px 0!important;min-height:0!important;padding:13px 16px!important;
    display:grid!important;grid-template-columns:110px minmax(0,1fr) auto!important;gap:16px!important;align-items:center!important
  }
  body.bt-member-graphite.pmv2[data-page="overview"] .surface-role p{margin:3px 0 0!important}
  body.bt-member-graphite.pmv2[data-page="overview"] .surface-role nav{display:flex!important;gap:14px!important;white-space:nowrap!important}
  body.bt-member-graphite.pmv2[data-page="overview"] .pmhome3-section{margin:16px 0!important;padding:0!important}
  body.bt-member-graphite.pmv2[data-page="overview"] .pmhome3-section:first-of-type{
    display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:16px!important;align-items:start!important
  }
  body.bt-member-graphite.pmv2[data-page="overview"] .pmhome3-section:first-of-type > .pmhome3-card{
    margin:0!important;min-width:0!important;min-height:250px!important;padding:18px!important
  }
  body.bt-member-graphite.pmv2[data-page="overview"] .pmhome3-section:first-of-type > #pmHealthStateSummary{margin:0!important}
  body.bt-member-graphite.pmv2[data-page="overview"] .pmhome3-section:first-of-type:not(:has(#pmHealthStateSummary)) > .pmhome3-card:first-child{grid-column:1 / -1!important}
  body.bt-member-graphite.pmv2[data-page="overview"] .pmhome3-card{border-radius:14px!important;padding:20px!important}
  body.bt-member-graphite.pmv2[data-page="overview"] .pmhome3-section:nth-of-type(2) .pmhome3-card{min-height:0!important}
  body.bt-member-graphite.pmv2[data-page="overview"] .pmhome3-actions{
    margin-top:18px!important;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important
  }
  body.bt-member-graphite.pmv2[data-page="overview"] .pmhome3-action{min-height:74px!important}
}
@media(min-width:981px) and (max-width:1180px){
  body.bt-member-graphite.pmv2[data-page="overview"] .surface-role{grid-template-columns:95px minmax(0,1fr)!important}
  body.bt-member-graphite.pmv2[data-page="overview"] .surface-role nav{grid-column:1 / -1!important;justify-content:flex-end!important}
}
@media(max-width:980px){
  body.bt-member-graphite.pmv2[data-page="overview"] .pmhome3-section:first-of-type{display:block!important}
}

/* Shared member-space switch */
.member-space-switch{display:grid;gap:6px;margin-top:18px}
.member-space-switch a{display:block;padding:10px 11px;border:1px solid rgba(255,255,255,.07);border-radius:10px;background:transparent;color:#b8bdb9}
.member-space-switch a:hover{background:#171919;border-color:rgba(255,255,255,.14);color:#f2f3f1}
.member-space-switch a.is-current{background:#171919;border-color:rgba(226,229,227,.18);color:#f2f3f1}
.member-space-switch strong{display:block;font-size:11px;line-height:1.2;font-weight:600;letter-spacing:.01em}
.member-space-switch small{display:block;margin-top:4px;color:#858d89;font-size:8.5px;line-height:1.4}
.os-sidebar .member-space-switch + .os-nav{margin-top:18px}
.pm-member-space-switch{margin:14px 12px 8px}
.pm-member-space-switch a{padding:9px 10px}
.pm-member-space-switch small{font-size:8px}
@media(max-width:767px){.member-space-switch{display:none}}
