/* Bio2Twin member onboarding visual unification (2026-11-04).
   Scoped to Personal Model Start and OI Consent; no API or consent changes. */
body.pm-start-page,
body.oi-consent-page {
  --journey-bg: var(--bt-canvas, #111315);
  --journey-panel: var(--bt-surface, #191c1f);
  --journey-raised: var(--bt-surface-raised, #202428);
  --journey-text: var(--bt-ink, #eeeae4);
  --journey-muted: var(--bt-body, #c1beb8);
  --journey-line: var(--bt-line, #32363b);
  --journey-accent: #b9cafa;
  --journey-focus: #9fc5fa;
  color-scheme: dark;
  margin: 0;
  padding-top: var(--nav, 64px);
  background: var(--journey-bg) !important;
  color: var(--journey-text) !important;
  font: 15px/1.7 var(--bt-font, -apple-system, BlinkMacSystemFont, "PingFang TC", "Noto Sans TC", sans-serif);
  text-rendering: optimizeLegibility;
}
body.pm-start-page *,
body.oi-consent-page * { box-sizing: border-box; }
body.pm-start-page [hidden],
body.oi-consent-page [hidden] { display: none !important; }
body.pm-start-page .b2t-shared-topbar,
body.oi-consent-page .b2t-shared-topbar {
  background: rgba(17,19,21,.96);
  border-bottom: 1px solid var(--journey-line);
}
body.pm-start-page main,
body.oi-consent-page .oi-shell {
  width: 100%;
  max-width: 1056px;
  margin: 0 auto;
  padding: 30px clamp(18px, 4vw, 46px) 76px;
}
body.pm-start-page h1,
body.oi-consent-page .oi-head h1 {
  margin: 5px 0 12px;
  font-size: clamp(29px, 3.3vw, 40px);
  font-weight: 500;
  line-height: 1.25;
  letter-spacing: -.035em;
  color: var(--journey-text);
}
body.pm-start-page .eyebrow,
body.oi-consent-page .oi-kicker {
  color: #9eb9e7;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .16em;
}
body.pm-start-page .muted,
body.oi-consent-page .oi-intro,
body.oi-consent-page .oi-subtitle {
  color: var(--journey-muted);
  line-height: 1.85;
}
body.pm-start-page main > .muted { max-width: 780px; margin-bottom: 25px; }
body.pm-start-page section.panel,
body.oi-consent-page .oi-details,
body.oi-consent-page .oi-decision,
body.oi-consent-page .oi-ident,
body.oi-consent-page .oi-passport {
  background: var(--journey-panel);
  border: 1px solid var(--journey-line);
  border-radius: var(--bt-radius, 14px);
  box-shadow: none;
  padding: clamp(18px, 2.5vw, 27px);
  margin-top: 16px;
  min-width: 0;
}
body.pm-start-page section.panel h2,
body.oi-consent-page .oi-section-heading h2 {
  margin: 0 0 13px;
  font-size: 18px;
  line-height: 1.4;
  font-weight: 550;
  letter-spacing: -.015em;
  color: var(--journey-text);
}
body.pm-start-page section.panel p,
body.oi-consent-page .oi-detail-row p,
body.oi-consent-page .oi-dialog-inner p {
  color: var(--journey-muted);
  line-height: 1.8;
}
body.pm-start-page .rows { gap: 12px; }
body.pm-start-page .mini,
body.oi-consent-page .oi-ident > div,
body.oi-consent-page .oi-passport dl > div {
  min-width: 0;
  background: var(--journey-raised);
  border: 1px solid var(--journey-line);
  border-radius: 10px;
  padding: 14px 16px;
}
body.pm-start-page .mini b,
body.oi-consent-page .oi-small,
body.oi-consent-page .oi-passport dt {
  display: block;
  font-size: 12px;
  font-weight: 450;
  color: #a4b0bf;
}
body.pm-start-page .mini span,
body.oi-consent-page .oi-ident strong,
body.oi-consent-page .oi-passport dd {
  display: block;
  overflow-wrap: anywhere;
  font-size: 16px;
  font-weight: 500;
  color: #eff2f8;
}
body.oi-consent-page .oi-ident {
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 12px;
  margin-bottom: 18px;
}
body.oi-consent-page .oi-details,
body.oi-consent-page .oi-decision { margin-top: 22px; }
body.oi-consent-page .oi-head { padding-bottom: 25px; }
body.oi-consent-page .crumb { margin-bottom: 30px; }
body.oi-consent-page .oi-detail-row {
  border-bottom-color: var(--journey-line);
  padding: 23px 0;
}
body.oi-consent-page .oi-detail-row:last-child { border-bottom: 0; padding-bottom: 0; }
body.oi-consent-page .oi-versions dt { color: #a1adbb; }
body.oi-consent-page .oi-versions dd { color: #e0e6ef; }
body.pm-start-page .btn,
body.oi-consent-page .oi-button {
  min-height: 46px;
  border: 1px solid #596778;
  border-radius: var(--bt-radius-sm, 9px);
  background: #242d38;
  color: #eaf0fc !important;
  padding: 11px 17px;
  font: inherit;
  font-size: 14px;
  line-height: 1.35;
  text-decoration: none;
  cursor: pointer;
  transition: background .16s, border-color .16s;
}
body.pm-start-page .btn:hover:not(:disabled),
body.oi-consent-page .oi-button:hover:not(:disabled) {
  background: #303d4d;
  border-color: #a7bce0;
  text-decoration: none !important;
}
body.pm-start-page .btn.secondary { background: transparent; }
body.pm-start-page #start,
body.oi-consent-page .oi-primary {
  background: var(--journey-accent);
  border-color: var(--journey-accent);
  color: #121923 !important;
  font-weight: 600;
}
body.pm-start-page #start:hover:not(:disabled),
body.oi-consent-page .oi-primary:hover:not(:disabled) {
  background: #d0dcff;
  border-color: #d0dcff;
}
body.oi-consent-page .oi-danger {
  background: #302126;
  border-color: #a87884;
  color: #ffdce2 !important;
}
body.pm-start-page .btn:disabled,
body.oi-consent-page .oi-button:disabled { opacity: .42; cursor: not-allowed; }
body.pm-start-page :is(a,button,input):focus-visible,
body.oi-consent-page :is(a,button,input):focus-visible {
  outline: 2px solid var(--journey-focus);
  outline-offset: 3px;
}
body.pm-start-page .choice { align-items: flex-start; gap: 12px; padding: 13px 0; }
body.pm-start-page .choice input { width: 18px; height: 18px; flex: 0 0 18px; accent-color: #b9cafa; }
body.pm-start-page .actions,
body.oi-consent-page .oi-actions { gap: 11px; }
body.pm-start-page .message {
  border: 1px solid #6c624d;
  background: #28261e;
  color: #eee0bc;
  border-radius: 10px;
  padding: 14px 17px;
}
body.pm-start-page .message.good {
  background: #1d302e;
  border-color: #517d74;
  color: #bce8de;
}
body.pm-start-page .caption,
body.pm-start-page .footer,
body.oi-consent-page .oi-hint,
body.oi-consent-page .oi-footer { color: #9ea9b6; font-size: 12px; line-height: 1.75; }
body.oi-consent-page .oi-footer { margin-top: 30px; }
body.oi-consent-page #revokeDialog {
  background: var(--journey-panel);
  border-color: var(--journey-line);
}
@media(max-width:700px) {
  body.pm-start-page main,
  body.oi-consent-page .oi-shell { padding: 20px 18px 64px; }
  body.pm-start-page h1,
  body.oi-consent-page .oi-head h1 { font-size: 30px; }
  body.pm-start-page .rows,
  body.oi-consent-page .oi-ident { grid-template-columns: minmax(0,1fr); }
  body.pm-start-page section.panel,
  body.oi-consent-page .oi-details,
  body.oi-consent-page .oi-decision,
  body.oi-consent-page .oi-ident,
  body.oi-consent-page .oi-passport { padding: 18px; }
  body.pm-start-page .actions .btn,
  body.oi-consent-page .oi-actions .oi-button { max-width: 100%; }
  body.oi-consent-page .oi-detail-row { grid-template-columns: 29px minmax(0,1fr); }
}
@media(max-width:390px) {
  body.pm-start-page main,
  body.oi-consent-page .oi-shell { padding-inline: 15px; }
  body.pm-start-page .actions .btn,
  body.oi-consent-page .oi-actions .oi-button { width: 100%; }
}
@media(prefers-reduced-motion:reduce) {
  body.pm-start-page *,
  body.oi-consent-page * { transition: none !important; scroll-behavior: auto !important; }
}
