/* Pitchestra readability system: preserve the terminal aesthetic while making
   every functional label comfortable to read on the dark canvas. */
:root { --muted:#b5bec8; --readable-muted:#aeb8c3; --readable-soft:#c3cbd3; --readable-dim:#9ea9b4; }
body { text-rendering:optimizeLegibility; -webkit-font-smoothing:antialiased; }

/* Header CTA: it is a primary action, so it must remain legible at a glance. */
.nav-actions [data-lab] {
  color:#000;
  font-size:13px;
  font-weight:800;
  letter-spacing:.075em;
  line-height:1.25;
  text-shadow:none;
}
.nav-actions [data-lab] b { font-size:16px; line-height:1; }

/* Global interface copy. Decorative background numerals are intentionally excluded. */
.nav .links,.nav .btn,.brand em,.sys,.kicker,.eyebrow,.hero-index,.section-code,.sub-code,.scroll-cue,.core-label,.coords,.micro-proof,.hud small,.hud em,.hud-b p,.data-strip span,.phase small,.phase-foot,.demo-shell small,.demo-top,.demo-output span,.signal-card>span,.signal-card em,.field-top,.field a,.chip,footer,.matrix-label,.map-status,.market-core span,.stack-core b,.stack-line,.orbit-tag,.console-rail,.console-body small,.neural-core span,.node span,.expert-status,.role,.rules-timeline .rule>span,.rules-timeline .rule>em,.lab-form label,.ai-meta,.typing,.empty b,.empty small { font-size:12px; line-height:1.6; color:var(--readable-muted); }
.phase p,.field p,.card p,.expert p,.play p,.analysis p,.rules-timeline .rule p,.lab-form textarea::placeholder { color:var(--readable-soft); }
.lab-form select,.lab-form textarea { min-height:48px; font-size:15px; color:#f1f4f6; }
.lab-form textarea::placeholder { opacity:1; }
.output { font-size:15px; line-height:1.8; }

/* Expert Chat. */
.chat-intro p,.rail-head,.expert-picker button>span,.expert-picker button b,.expert-picker button small,.active-expert small,.active-expert p,.daily-cap,.conversation-select,.message-meta,.chat-composer>label,.composer-meta,.chat-empty small,.chat-empty p,.starter-prompts button,.chat-confirm-card p,.confirm-cancel,.confirm-action,.composer-box textarea::placeholder,#quotaStatus { font-size:12px; line-height:1.55; color:var(--readable-muted); }
.expert-picker button { color:#d2d9df; }
.expert-picker button small,.message-meta,.composer-meta,.chat-composer>label,.chat-empty small,#quotaStatus { color:var(--readable-dim); }
.active-expert p,.chat-empty p,.chat-confirm-card p { color:var(--readable-soft); }
.message-card { font-size:15px; line-height:1.7; color:#edf1f4; }
.composer-box textarea { font-size:15px; line-height:1.6; color:#f4f6f7; }

/* Member screen. */
.member-page .eyebrow,.member-page .member-copy,.member-page .auth-note,.member-page .member-status,.member-page .member-terms,.member-page .member-footer,.member-page input::placeholder { font-size:13px; line-height:1.6; color:var(--readable-muted); }
.member-page .member-copy,.member-page .auth-note,.member-page .member-terms { color:var(--readable-soft); }
.member-page input { font-size:15px; color:#f1f4f6; }

/* Admin: data labels and buttons are functional text, never micro-copy. */
.admin-page .admin-eyebrow,.admin-page .admin-brand em,.admin-page .admin-system,.admin-page .stats-grid span,.admin-page .stats-grid small,.admin-page .revision-readout span,.admin-page .revision-readout small,.admin-page .entry-route small,.admin-page .entry-date,.admin-page .empty-state,.admin-page label small,.admin-page .privacy-check span,.admin-page .preview-output>span,.admin-page .admin-top-actions .admin-btn,.admin-page .admin-btn { font-size:12px; line-height:1.55; color:var(--readable-muted); }
.admin-page .admin-btn-primary { color:#090a0c; }

/* Header CTA: keep the label high-contrast on the yellow button. */
.nav .nav-actions .btn.btn-primary,
.nav .nav-actions .btn.btn-primary b {
  color: #000 !important;
  -webkit-text-fill-color: #000 !important;
  opacity: 1;
}

/* Absolute final override for the header CTA.  The inherited readability
   palette applies to all navigation buttons, so the label and arrow must use
   an explicit fill colour as well as the regular text colour. */
header.nav .nav-actions button[data-lab].btn-primary,
header.nav .nav-actions button[data-lab].btn-primary b {
  color: #000 !important;
  -webkit-text-fill-color: #000 !important;
  text-shadow: none !important;
  opacity: 1 !important;
}
.admin-page .dialog-copy,.admin-page .entry-copy,.admin-page .privacy-check span { color:var(--readable-soft); }
.admin-page input,.admin-page textarea { font-size:15px; color:#f4f6f7; }
.admin-page input::placeholder,.admin-page textarea::placeholder { color:var(--readable-dim); opacity:1; }

@media (max-width:640px) {
  .nav .links,.nav .btn,.brand em,.sys,.kicker,.eyebrow,.hero-index,.section-code,.sub-code,.scroll-cue,.core-label,.coords,.micro-proof,.hud small,.hud em,.hud-b p,.data-strip span,.phase small,.phase-foot,.demo-shell small,.demo-top,.demo-output span,.signal-card>span,.signal-card em,.field-top,.field a,.chip,footer,.matrix-label,.map-status,.market-core span,.stack-core b,.stack-line,.orbit-tag,.console-rail,.console-body small,.neural-core span,.node span,.expert-status,.role,.rules-timeline .rule>span,.rules-timeline .rule>em,.lab-form label,.ai-meta,.typing,.empty b,.empty small,.chat-intro p,.rail-head,.expert-picker button>span,.expert-picker button b,.expert-picker button small,.active-expert small,.active-expert p,.daily-cap,.conversation-select,.message-meta,.chat-composer>label,.composer-meta,.chat-empty small,.chat-empty p,.starter-prompts button,.chat-confirm-card p,.confirm-cancel,.confirm-action,.composer-box textarea::placeholder,#quotaStatus,.member-page .eyebrow,.member-page .member-copy,.member-page .auth-note,.member-page .member-status,.member-page .member-terms,.member-page .member-footer,.member-page input::placeholder,.admin-page .admin-eyebrow,.admin-page .admin-brand em,.admin-page .admin-system,.admin-page .stats-grid span,.admin-page .stats-grid small,.admin-page .revision-readout span,.admin-page .revision-readout small,.admin-page .entry-route small,.admin-page .entry-date,.admin-page .empty-state,.admin-page label small,.admin-page .privacy-check span,.admin-page .preview-output>span,.admin-page .admin-top-actions .admin-btn,.admin-page .admin-btn { font-size:11px; }
  .message-card,.composer-box textarea,.lab-form select,.lab-form textarea,.member-page input,.admin-page input,.admin-page textarea { font-size:14px; }
}
