/**
 * Spice Rating UI v2 — reviewed v19.0.2 release layer.
 *
 * The production HTML and JavaScript keep ownership of every state, route,
 * entitlement, safety decision and request. This file is active only when the
 * rehearsed page carries body.sms-ui-v2.
 */

html:has(> body.sms-ui-v2) {
  background: #11100f;
  color-scheme: dark;
}

body.sms-ui-v2 {
  --sms-app-canvas: #11100f;
  --sms-app-surface: #191716;
  --sms-app-raised: #211d1b;
  --sms-app-soft: #282321;
  --sms-app-text: #f4eee5;
  --sms-app-muted: #bbb0a7;
  --sms-app-line: rgba(244, 238, 229, 0.15);
  --sms-app-line-strong: rgba(244, 238, 229, 0.26);
  --sms-paprika-decorative: #b94230;
  --sms-paprika-text: #e78675;
  --sms-paprika-action: #99372d;
  --sms-paprika-action-hover: #842c24;
  --sms-action-label: #fffdf8;
  --sms-app-gold: #d7b36a;
  --sms-app-ok: #6fc49a;
  --sms-app-danger: #ff9b8d;
  --sms-app-focus: #70a9ff;
  --sms-app-display: 'Fraunces', Georgia, serif;
  --sms-app-body: 'DM Sans', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

  /* Map the current pages' two token dialects without changing their markup. */
  --bg: var(--sms-app-canvas);
  --card: var(--sms-app-surface);
  --panel: var(--sms-app-surface);
  --sand: var(--sms-app-soft);
  --blush: var(--sms-app-raised);
  --blushlight: var(--sms-app-raised);
  --accent: var(--sms-paprika-action);
  --accent2: var(--sms-paprika-decorative);
  --coral: var(--sms-paprika-decorative);
  --cream: var(--sms-app-text);
  --ink: var(--sms-app-text);
  --plum: var(--sms-app-text);
  --muted: var(--sms-app-muted);
  --line: var(--sms-app-line);
  --ok: var(--sms-app-ok);
  --btntext: var(--sms-action-label);

  min-width: 0;
  background: var(--sms-app-canvas);
  color: var(--sms-app-text);
  font-family: var(--sms-app-body);
  font-weight: 400;
  text-rendering: optimizeLegibility;
  overflow-x: clip;
}

body.sms-ui-v2 :is(.app, .wrap, main) {
  min-width: 0;
}

body.sms-ui-v2 :is(h1, h2, h3, .brand, .card h1, .card h2, .q, .score, .verdict-card h1) {
  color: var(--sms-app-text);
  font-family: var(--sms-app-display);
  font-kerning: normal;
  letter-spacing: -0.012em;
  word-spacing: 0.035em;
  text-wrap: balance;
}

body.sms-ui-v2 :is(.brand, header b, .eyebrow, .hero-kicker, .section-label, .lbl) {
  color: var(--sms-paprika-text);
}

body.sms-ui-v2 :is(.lead, .muted, .fineprint, .legal, .back, .assurance, .member-copy, .privacy-note, .expiry-note, .invite-note, .prefs-note, .upgrade-subcopy) {
  color: var(--sms-app-muted);
}

body.sms-ui-v2 :is(.card, .chip, .pcard, .scene-card, .mode-card, .play-option, .daily-block, .training, .sharebox, .review-drawer, .report-panel, .verdict-card) {
  background: var(--sms-app-surface);
  border-color: var(--sms-app-line);
  color: var(--sms-app-text);
  box-shadow: 0 16px 44px rgba(0, 0, 0, 0.28);
}

body.sms-ui-v2 :is(.card, .mode-card, .play-option, .pcard, .scene-card) {
  border-radius: 14px;
}

body.sms-ui-v2 .card::before {
  background: var(--sms-paprika-decorative);
}

body.sms-ui-v2 :is(.banner, .scenebar, .ref, .lockbanner, .daily-confirm, .evidence-check, .match-safety, .report-receipt) {
  background: var(--sms-app-raised);
  border-color: var(--sms-app-line-strong);
  color: var(--sms-app-text);
}

body.sms-ui-v2 :is(.choice button, .filterrow button, .pills button, .pcard, .scene-card, .play-option, .mode-card, input, textarea, select) {
  background: var(--sms-app-raised);
  border-color: var(--sms-app-line);
  color: var(--sms-app-text);
}

body.sms-ui-v2 :is(input, textarea, select)::placeholder {
  color: #8e837b;
  opacity: 1;
}

body.sms-ui-v2 :is(.choice button.sel, .filterrow button.sel, .pills button.sel, .pcard.sel, .scene-card.sel, .play-option.active, .mode-card.active) {
  background: rgba(153, 55, 45, 0.2);
  border-color: var(--sms-paprika-decorative);
  color: var(--sms-app-text);
  box-shadow: 0 0 0 1px rgba(185, 66, 48, 0.38) inset;
}

body.sms-ui-v2 :is(.primary, .send, button#checkout, button#retry, .button, .upgrade-cta, .report-submit) {
  min-height: 48px;
  background: var(--sms-paprika-action) !important;
  border-color: var(--sms-paprika-action) !important;
  color: var(--sms-action-label) !important;
  font-family: var(--sms-app-body);
  font-weight: 700;
  letter-spacing: 0.01em;
  text-shadow: none;
  box-shadow: 0 10px 28px rgba(153, 55, 45, 0.32);
}

body.sms-ui-v2 :is(.primary, .send, button#checkout, button#retry, .button, .upgrade-cta, .report-submit):hover:not(:disabled) {
  background: var(--sms-paprika-action-hover) !important;
  border-color: var(--sms-paprika-action-hover) !important;
}

body.sms-ui-v2 :is(.primary, .send, button#checkout, button#retry, .button, .upgrade-cta, .report-submit):disabled,
body.sms-ui-v2 :is(.primary, .send, button#checkout, button#retry, .button, .upgrade-cta, .report-submit)[aria-disabled='true'] {
  cursor: not-allowed;
  opacity: 0.5;
  box-shadow: none;
}

body.sms-ui-v2 :is(.ghost, .minor, .back, .legal a, .linkrow a) {
  border-color: var(--sms-paprika-decorative);
  color: #e78675;
}

body.sms-ui-v2 :is(.me, .avatar) {
  background: var(--sms-paprika-action);
  color: var(--sms-action-label);
}

body.sms-ui-v2 :is(.them, .typing, .wrap .waiting, .msg:not(.me)) {
  background: var(--sms-app-raised);
  border-color: var(--sms-app-line);
  color: var(--sms-app-text);
}

body.sms-ui-v2 :is(.stream, .composer, .chathead) {
  border-color: var(--sms-app-line);
}

body.sms-ui-v2 .composer {
  background: linear-gradient(to bottom, rgba(17, 16, 15, 0.76), var(--sms-app-canvas) 18%);
  padding-bottom: max(0px, env(safe-area-inset-bottom));
}

body.sms-ui-v2 .composer input {
  min-height: 48px;
  background: var(--sms-app-raised);
  border-color: var(--sms-app-line-strong);
  color: var(--sms-app-text);
}

body.sms-ui-v2 :is(.tag, .mode-badge, .beta-pill, .training-pill, .chip) {
  border-color: var(--sms-app-line);
}

body.sms-ui-v2 .training-pill {
  color: var(--sms-paprika-text);
}

body.sms-ui-v2 :is(.price, .chip b, .score, .flames, .hot, .rating-orbit, .waiting i) {
  color: var(--sms-app-gold);
}

body.sms-ui-v2 .waiting i {
  background: var(--sms-app-gold);
}

body.sms-ui-v2 :is(.err, .danger, .danger-action, .match-closed-reason) {
  color: var(--sms-app-danger);
}

body.sms-ui-v2 :is(.member-state, .evidence-check) {
  color: var(--sms-app-ok);
}

body.sms-ui-v2 :is(.benefit-icon, input[type='checkbox']) {
  accent-color: var(--sms-paprika-action);
}

body.sms-ui-v2 .benefit-icon {
  background: rgba(153, 55, 45, 0.22);
  color: #f0a18f;
}

body.sms-ui-v2 :is(a, button, input, textarea, select, [tabindex]):focus-visible {
  outline: 3px solid var(--sms-app-focus) !important;
  outline-offset: 3px;
}

body.sms-ui-v2 :is(.ghost, .rate, .choice button, .filterrow button, .pills button, .pcard, .scene-card, .play-option, .mode-card, input, textarea, select) {
  min-height: 44px;
}

@media (min-width: 760px) {
  body.sms-ui-v2 .app {
    max-width: 680px;
    padding: 28px;
  }

  body.sms-ui-v2 .wrap {
    max-width: 680px;
    padding: 28px 24px 48px;
  }

  body.sms-ui-v2 > main {
    max-width: 540px;
  }
}

@media (max-width: 360px) {
  body.sms-ui-v2 :is(.app, .wrap) {
    padding-left: 12px;
    padding-right: 12px;
  }

  body.sms-ui-v2 :is(h1, .q, .verdict-card h1) {
    overflow-wrap: anywhere;
  }
}

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

@media (forced-colors: active) {
  body.sms-ui-v2 :is(.primary, .send, button#checkout, button#retry, .button, .upgrade-cta, .report-submit) {
    border: 2px solid ButtonText !important;
  }
}

/* Integration-only additions for shared trust links and server-rendered pages. */
body.sms-ui-v2 :is(a.brand, a.back, .brand a) {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
}

body.sms-ui-v2 a.back {
  justify-content: center;
}

body.sms-ui-v2 a.mode-card {
  min-height: 118px;
}

body.sms-ui-v2 .sms-app-legal {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 4px 18px;
  width: 100%;
  margin: 22px auto 0;
  padding: 12px 0 max(4px, env(safe-area-inset-bottom));
  color: var(--sms-app-muted);
  font-size: 12px;
}

body.sms-ui-v2 .sms-app-legal a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: var(--sms-paprika-text);
  text-underline-offset: 3px;
}

body.sms-ui-v2 .sms-generated-page {
  width: 100%;
  max-width: 428px;
  min-width: 0;
}

body.sms-ui-v2 .sms-generated-page .card {
  margin-inline: auto;
}

body.sms-ui-v2 .sms-generated-page :is(.btn, button.btn) {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 48px;
  background: var(--sms-paprika-action) !important;
  border-color: var(--sms-paprika-action) !important;
  color: var(--sms-action-label) !important;
  cursor: pointer;
  font-family: var(--sms-app-body);
}

body.sms-ui-v2 .sms-generated-page .btn2 {
  box-sizing: border-box;
  border-color: var(--sms-paprika-decorative);
  color: var(--sms-paprika-text);
}

body.sms-ui-v2 .sms-generated-page .ghostlink {
  color: var(--sms-app-muted);
}

body.sms-ui-v2 .sms-generated-page .arch {
  background: rgba(153, 55, 45, 0.2);
  border-color: var(--sms-paprika-decorative);
  color: var(--sms-paprika-text);
}

body.sms-ui-v2 .sms-generated-page .quote {
  background: var(--sms-app-raised);
  border-color: var(--sms-paprika-decorative);
  color: var(--sms-app-text);
}

body.sms-ui-v2 .sms-generated-page [style*='color:#3D0814'] {
  color: var(--sms-app-text) !important;
}

body.sms-ui-v2 .sms-generated-page [style*='color:#7A5560'] {
  color: var(--sms-app-muted) !important;
}
