/* Zupali V9 readability layer
   Raises small type and low-contrast copy without flattening the visual system. */
html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  text-rendering: optimizeLegibility;
}

body {
  font-synthesis: none;
}

/* Homepage */
.desktop-nav { color: #d2c8d4; font-size: 14px; }
.live-pill, .account-button { font-size: 14px; }
.eyebrow, .overline { font-size: 12px; }
.hero-copy > p { color: #d0c6d1; font-size: 18px; }
.hero-trust { color: #bdb2bf; font-size: 13px; }
.stage-safe { color: #c7bdc9; font-size: 12px; }
.stage-center p { color: #c1b6c3; font-size: 15px; }
.stage-actions a { font-size: 15px; }
.stage-actions > span { font-size: 12px; }
.floating-card b { font-size: 13px; }
.floating-card small { color: #b9aebe; font-size: 11px; }
.section-heading > p { color: #c3b9c5; font-size: 16px; }
.card-meta { color: #b7acba; font-size: 11px; }
.action-card p { color: #c5bbc7; font-size: 15px; }
.card-link, .text-link { font-size: 14px; font-weight: 800; }
.feature-number { color: #ada2b0; font-size: 12px; }
.feature-tool small { color: #d2c6cf; font-size: 11px; }
.feature-tool p { color: #c9becb; font-size: 15px; }
.feature-tool > b { font-size: 14px; }
.how-copy p { color: #c4bac7; font-size: 16px; }
.step-list strong { font-size: 18px; }
.step-list p { color: #c2b8c5; font-size: 14px; }
.safety-section p { color: #c6bcc8; font-size: 15px; }
.safety-links a { color: #f1eaf2; font-size: 13px; }
.footer-brand p { color: #b9aebc; font-size: 14px; }
.footer-column strong, .footer-column a { font-size: 13px; }
.footer-column a { color: #bdb3c0; }
.home-footer > small { color: #9f95a2; font-size: 11px; }

/* Play, stories and quick experiences */
.app { --muted: #c5bbc8; }
.top-desktop-nav button, .top-desktop-nav a { color: #d1c7d3; font-size: 14px; }
.live-shortcut { font-size: 12px; }
.signal, .progress-chip { color: #cbc1cd; font-size: 12px; }
.hub-kicker, .experience-kicker, .story-badge { font-size: 11px; }
.hub-intro { color: #c7bdc9; font-size: 15px; }
.hub-feature .hub-tag, .experience-card .hub-tag { font-size: 10px; }
.hub-feature .hub-heading { font-size: 36px; }
.hub-feature .hub-copy { color: #ded5df; font-size: 14px; }
.hub-section-head h3 { font-size: 26px; }
.hub-section-head small { color: #b5aab8; font-size: 12px; }
.experience-card strong { font-size: 18px; }
.experience-card small { color: #e2d9e3; font-size: 13px; }
.ad-reserve { color: #aaa0ad; font-size: 11px; }
.experience-step, .story-step { color: #c1b6c3; font-size: 11px; }
.experience-view h1, .story-view h1 { font-size: 48px; }
.experience-lead, .story-scene { color: #c8beca; font-size: 16px; }
.experience-choice { min-height: 118px; }
.choice-copy strong { font-size: 18px; }
.choice-copy small { color: #c2b7c5; font-size: 14px; }
.experience-choice > .icon { color: #c4b9c7; }
.experience-result > p, .story-ending > p { color: #c7bdc9; font-size: 15px; }
.plan-point { color: #ece5ed; font-size: 13px; }
.context-bridge, .chapter-reward { color: #bdb3c0 !important; font-size: 12px !important; }
.story-card .story-copy { color: #ded5df; font-size: 14px; }
.story-meta > span { color: #eee7ef; font-size: 11px; }
.drawer nav small, .drawer-account small { color: #aaa0ad; font-size: 11px; }
.drawer-account strong { font-size: 13px; }
.modal-card > p { color: #c2b8c5; font-size: 14px; }
.modal-card label { color: #ddd4df; font-size: 11px; }
.modal-card input:not([type=checkbox]) { font-size: 16px; }
.check { color: #d0c6d2; font-size: 13px; }
.modal-note { color: #aaa0ad; font-size: 11px; }

/* Tools, guides, articles and legal pages */
.growth-body { --muted: #59505d; }
.g-kicker, .g-overline { font-size: 12px; }
.g-card-time, .g-count { font-size: 12px; }
.g-tool-card > p { color: #e1d8e2; font-size: 15px; }
.g-card-action, .g-read { font-size: 14px; }
.g-guide-meta { font-size: 12px; }
.g-guide-card h2 { font-size: 23px; }
.g-guide-card p { color: #5c535f; font-size: 15px; }
.g-cross p { color: #d4cbd6; font-size: 16px; }
.g-button { font-size: 14px; }
.g-breadcrumb { color: #665d69; font-size: 13px; }
.g-widget-step { color: #e0d7e1; font-size: 12px; }
.g-choice-row button, .g-choice-stack button { font-size: 14px; }
.g-choice-stack button small { font-size: 11px; }
.g-round-progress { color: #e0d6e1; font-size: 11px; }
.g-result > span { font-size: 10px; }
.g-result p { color: #574e5a; font-size: 15px; }
.g-result-points span { color: #4f4652; font-size: 11px; }
.g-result blockquote { font-size: 14px; }
.g-result-actions button, .g-reset { font-size: 12px; }
.g-side a strong { font-size: 13px; }
.g-side a small { color: #655c68; font-size: 11px; }
.g-byline { color: #d0c6d2; font-size: 12px; }
.g-safety-note p { font-size: 15px; }
.g-footer p { color: #d0c6d2; font-size: 14px; }
.g-footer-links { font-size: 13px; }
.g-footer > small { color: #aaa0ad; font-size: 11px; }
.legal-hero > p { color: #cbc1cd; font-size: 18px; }
.legal-hero > small { color: #aaa0ad; font-size: 12px; }
.legal-layout > aside strong, .legal-layout > aside a { font-size: 13px; }
.legal-layout > aside a { color: #c2b8c5; }
.legal-layout p { color: #c8beca; font-size: 16px; }

/* Standalone Community Rules */
body > .shell main > p { color: #d0c6d2; font-size: 17px; }
body > .shell main li { color: #f1eaf2; font-size: 16px; line-height: 1.65; }
body > .shell .notice { font-size: 15px; line-height: 1.6; }
body > .shell .language, body > .shell .back { font-size: 14px; }

/* Live room */
.z-room-app { --muted: #c3b9c6; }
.z-room-brand small { color: #c5bbc8; font-size: 12px; }
.z-live-pill b, .z-live-pill > span:last-child, .z-lang-button { font-size: 12px; }
.z-room-context strong { font-size: 15px; }
.z-room-loading p, .z-room-empty p { color: #c4bac7; font-size: 14px; }
.z-message header strong, .z-message-name { font-size: 12px; }
.z-message time { color: #b6abb9; font-size: 11px; }
.z-message p { font-size: 16px; line-height: 1.5; }
.z-message small { font-size: 11px; }
.z-reaction-pill, .z-moderation-notice { font-size: 12px; }
.z-room-feedback { font-size: 12px; }
.z-composer-field textarea { font-size: 16px; }
.z-composer-field textarea::placeholder { color: #ada2b0; }
.z-entry-kicker { font-size: 11px; }
.z-entry-card > p { color: #cbc1cd; font-size: 15px; }
.z-entry-tabs button { color: #c3b9c6; font-size: 13px; }
.z-entry-pane label:not(.z-check) { font-size: 11px; }
.z-entry-pane input[type="text"], .z-entry-pane input[type="email"], .z-entry-pane input[type="password"] { font-size: 16px; }
.z-check { color: #cbc1cd; font-size: 13px; }
.z-primary-button { font-size: 14px; }
.z-text-link, .z-entry-note { font-size: 12px; }
.z-entry-safety { color: #b9aebc !important; font-size: 11px !important; }
.z-verification-card > small, .z-verification-card p, .z-verification-card li { font-size: 12px; }
.z-room-menu b, .z-action-card > button { font-size: 14px; }

/* Private messages */
.dm-app { --muted: #c3b9c6; }
.dm-brand small { color: #c6bcc8; font-size: 12px; }
.dm-hero > span, .dm-kicker { font-size: 12px; }
.dm-hero p, .dm-gate p { color: #cbc1cd; font-size: 16px; }
.dm-list-head span { font-size: 12px; }
.dm-list-copy small { color: #c0b6c3; font-size: 13px; }
.dm-list-meta time { color: #ada2b0; font-size: 11px; }
.dm-empty p, .dm-loading { color: #c3b9c6; font-size: 14px; }
.dm-partner small { color: #c0b6c3; font-size: 12px; }
.dm-bubble header strong { font-size: 12px; }
.dm-bubble time { color: #b4a9b7; font-size: 11px; }
.dm-bubble p { font-size: 16px; line-height: 1.5; }
.dm-bubble > small { font-size: 11px; }
.dm-feedback { font-size: 12px; }
.dm-composer textarea { font-size: 16px; }
.dm-composer textarea::placeholder { color: #ada2b0; }
.dm-live-link { font-size: 13px; }

/* People */
.people-app { --muted: #c3b9c6; }
.people-brand small { color: #c2b8c5; font-size: 11px; }
.people-hero > span, .people-gate small { font-size: 11px; }
.people-hero p { color: #cbc1cd; font-size: 15px; }
.people-stats small { color: #c0b6c3; font-size: 12px; }
.people-tabs button { color: #c3b9c6; font-size: 14px; }
.people-loading { color: #c3b9c6; font-size: 13px; }
.person-meta small { color: #c1b7c4; font-size: 11px; }
.person-meta p { color: #bfb5c2; font-size: 12px; }
.person-actions button, .person-actions a { font-size: 12px; }
.people-empty p, .people-gate p { color: #c5bbc8; font-size: 14px; }
.people-empty a, .people-primary, .people-secondary { font-size: 13px; }
.people-feedback, .people-search button { font-size: 12px; }
.people-bottom small { font-size: 9px; }

/* Profile and password reset */
.profile-main { --muted: #c3b9c6; }
.brand small, .account-brand small { color: #bdb3c0; font-size: 11px; }
.profile-gate > small, .profile-hero > div > span, .card-head small, .account-kicker { font-size: 12px; }
.profile-gate p, .profile-hero p { color: #c7bdc9; font-size: 15px; }
.profile-hero > a { font-size: 13px; }
.card-head > span { color: #aaa0ad; font-size: 12px; }
.edit-card label > span, .edit-card legend, .account-panel label { font-size: 12px; }
.edit-card label > small, .account-panel label small { color: #aaa0ad; font-size: 11px; }
.interest-grid button { color: #c4bac7; font-size: 12px; }
.toggle-row b, .shortcut-grid b { font-size: 13px; }
.toggle-row small, .shortcut-grid small { color: #b7acba; font-size: 11px; }
.feedback, .account-feedback { font-size: 12px !important; }
.safety-card summary, .settings-row { font-size: 15px; }
#blockedList p, .blocked-person button { font-size: 12px; }
.account-panel > p { color: #c8beca; font-size: 15px; }
.account-panel input { font-size: 16px; }
.account-secondary { font-size: 13px; }

/* Shared desktop navigation */
.z-desktop-nav a { color: #cec4d0; font-size: 14px; }

@media (min-width: 760px) {
  .play-wrap { max-width: 1040px; }
  .experience-wrap, .story-wrap { max-width: 900px; }
  .experience-card { min-height: 240px; }
  .hub-feature { min-height: 400px; }
  .experience-view h1, .story-view h1 { font-size: 54px; }
}

@media (max-width: 720px) {
  .hero-copy > p, .section-heading > p, .how-copy p, .safety-section p { font-size: 15px; }
  .hero-trust { font-size: 11px; }
  .action-card p, .feature-tool p { font-size: 14px; }
  .mobile-bottom a small { font-size: 9px; }
}

@media (max-width: 390px) {
  .experience-view h1, .story-view h1 { font-size: 37px; }
  .experience-card strong { font-size: 16px; }
  .experience-card small { font-size: 12px; }
  .choice-copy strong { font-size: 16px; }
  .choice-copy small { font-size: 13px; }
}

@media (forced-colors: active) {
  * { forced-color-adjust: auto; }
}
