/* R201: reuse the approved R197 drawer texture in both themes.
   Restricted to primary/selected accent controls; never restyle provider logos,
   danger/stop actions, neutral secondary buttons, or component geometry. */
:root :is(
  .primary-action,
  .small-primary,
  .send-button:not(.stop),
  .start-debate-button,
  .purchase-button,
  .speech-voice-preview.is-active,
  .voltage-level-button.active,
  .studio-mobile-tabs button.active,
  .studio-mobile-tabs button[aria-selected="true"],
  .scope-switch button.active,
  .speech-engine-switch button[aria-checked="true"],
  .vs-primary,
  .vs-completion-open,
  .vs-template[aria-pressed="true"],
  .vs-steps button.active,
  .role-button.primary,
  .role-mode.selected,
  .role-section-nav [aria-pressed="true"],
  .story-primary,
  .story-send,
  .story-new,
  .story-quick-story-card > button,
  .story-rule-offer-body button,
  .story-trpg-preset-actions > button,
  #story-text-editor-submit,
  .story-return-recap button:first-child,
  .story-first-scene > button,
  .story-panel-tabs button.active,
  .story-library-tabs button.active,
  .story-mobile-library-tabs button.active,
  [data-story-experience].active,
  [data-story-experience][aria-checked="true"],
  [data-story-experience][aria-pressed="true"],
  .story-quick-genre.active,
  .debate-character-actions button.active,
  .debate-intervention-scroll button.active,
  .debate-format-option.active,
  .story-room-mode-tools button,
  .story-panel-mode-tab,
  .story-backdrop-category[aria-checked="true"],
  .story-backdrop-category.active
) {
  background: var(--drawer-action-image) center / 100% 100% no-repeat !important;
  color: var(--drawer-action-text) !important;
  border-color: var(--border) !important;
  box-shadow: none !important;
}
.vs-consent-guide { border:1px solid var(--border); border-radius:14px; padding:14px; margin:14px 0; }
.vs-consent-guide summary { cursor:pointer; font-weight:700; line-height:1.6; }
.vs-consent-guide p { line-height:1.75; overflow-wrap:anywhere; }
.vs-policy-links { display:flex; flex-wrap:wrap; gap:8px 16px; line-height:1.7; }
.vs-policy-links a { color:inherit; text-decoration:underline; text-underline-offset:3px; overflow-wrap:anywhere; }
/* R212: checkout amount tint and consent-enabled payment action. */
:root:not([data-theme="dark"]) #modal-root .checkout-product-summary {
  background: linear-gradient(125deg, #f4f8f4 0%, #e5eee6 52%, #d4e2d6 100%);
  border-color: #bed0c0;
}
:root #modal-root .checkout-method-button:not(:disabled) {
  background: var(--drawer-action-image) center / 100% 100% no-repeat;
  color: var(--drawer-action-text);
  border-color: rgba(var(--accent-rgb), .55);
  box-shadow: 0 8px 18px rgba(17, 40, 26, .18), inset 0 1px 0 rgba(255, 255, 255, .14);
  opacity: 1;
}
:root #modal-root .checkout-method-button:not(:disabled) :is(strong, span) {
  color: inherit;
}
:root #modal-root .checkout-method-button:not(:disabled) span {
  opacity: .92;
}
:root[data-theme="dark"] #modal-root .checkout-method-button:not(:disabled) {
  border-color: rgba(var(--accent-rgb), .60);
  box-shadow: 0 8px 20px rgba(0, 0, 0, .32), inset 0 1px 0 rgba(255, 255, 255, .16);
}
:root #modal-root .checkout-method-button:not(:disabled):hover {
  filter: brightness(1.07);
}
:root #modal-root .checkout-method-button:not(:disabled):focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 3px;
}
:root #modal-root .checkout-method-button:disabled {
  background: var(--surface-solid);
  border-color: var(--border);
  box-shadow: none;
  filter: none;
}

/* R213: optional sample-reading action, tinted like the checkout amount. */
:root:not([data-theme="dark"]) #voice-studio #vs-use-reading {
  background: linear-gradient(125deg, #f4f8f4 0%, #e5eee6 52%, #d4e2d6 100%);
  border-color: #bed0c0;
  color: #243c2d;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.8), 0 3px 8px rgba(36,60,45,.08);
}
:root[data-theme="dark"] #voice-studio #vs-use-reading {
  background: linear-gradient(125deg, #1b1c1e 0%, #28251f 52%, #373024 100%);
  border-color: #62503a;
  color: #f2f0ec;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 3px 8px rgba(0,0,0,.22);
}
:root #voice-studio #vs-use-reading:not(:disabled):hover { filter: brightness(1.05); }
:root #voice-studio #vs-use-reading:not(:disabled):active { filter: brightness(.96); }
:root #voice-studio #vs-use-reading:disabled { cursor: not-allowed; }
