/*
 * Raptor 3.0.0-rc24 — final shared appearance contract.
 *
 * One explicit preference (`raptor-theme`: system | light | dark) controls all
 * Raptor-owned surfaces. This layer intentionally targets platform chrome and
 * common integration surfaces without changing plugin data or behavior.
 */
:root{
  --raptor-app-canvas:var(--surface-canvas,#F7FAFD);
  --raptor-app-panel:var(--surface-raised,#FFFFFF);
  --raptor-app-subtle:var(--surface-subtle,#EEF5FA);
  --raptor-app-text:var(--text-primary,#111318);
  --raptor-app-muted:var(--text-secondary,#5A616D);
  --raptor-app-line:var(--line-soft,rgba(17,19,24,.11));
  --raptor-app-accent:var(--accent,#2B56FB);
  --raptor-app-focus:var(--focus-ring,#1747F5);
}
html{background:var(--raptor-app-canvas)}
body,.site-content{background-color:var(--raptor-app-canvas);color:var(--raptor-app-text)}
.site-header,.drawer,.raptor-search-panel{color:var(--raptor-app-text)}
:where(input,select,textarea,button){accent-color:var(--raptor-app-accent)}
:where(input,select,textarea):focus-visible{outline:2px solid var(--raptor-app-focus);outline-offset:2px}

/* Shared application surfaces. */
html[data-theme="dark"] :where(.site-header,.drawer,.raptor-search-panel,.global-search-results,.account-panel,.woocommerce form,.woocommerce table.shop_table,.woocommerce-MyAccount-content,.tutor-dashboard-content,.tutor-card,.tutor-course-card,.rce-card,.rce-panel,.raptor-panel){
  color:var(--raptor-app-text);
  border-color:var(--raptor-app-line);
}
html[data-theme="dark"] :where(.site-header,.drawer,.raptor-search-panel,.woocommerce form,.woocommerce table.shop_table,.woocommerce-MyAccount-content,.tutor-dashboard-content,.tutor-card,.tutor-course-card,.rce-card,.rce-panel,.raptor-panel){background-color:var(--raptor-app-panel)}
html[data-theme="dark"] :where(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),select,textarea){
  background-color:var(--raptor-app-panel);color:var(--raptor-app-text);border-color:var(--raptor-app-line)
}
html[data-theme="dark"] :where(input,select,textarea)::placeholder{color:var(--raptor-app-muted);opacity:.9}
html[data-theme="dark"] :where(.site-header,.drawer,.raptor-search-panel,.theme-menu,.language-popover){box-shadow:var(--shadow-1)}
html[data-theme="dark"] :where(.theme-menu,.language-popover,.dropdown-menu,.select2-dropdown){background:var(--raptor-app-panel);color:var(--raptor-app-text);border-color:var(--raptor-app-line)}
html[data-theme="dark"] :where(.muted,.subtle,.description,.help-text,.form-description,.tutor-color-muted){color:var(--raptor-app-muted)!important}
html[data-theme="dark"] :where(hr,.divider,.separator){border-color:var(--raptor-app-line)}
html[data-theme="dark"] img{color-scheme:normal}

/* Theme controls must be deliberate: no container or body tap changes mode. */
[data-theme-control]{position:relative;isolation:isolate}
[data-theme-menu-trigger],[data-theme-choice]{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.theme-menu[hidden]{display:none!important}
.theme-menu [data-theme-choice][aria-checked="true"]{background:color-mix(in srgb,var(--raptor-app-accent) 13%,var(--raptor-app-panel));color:var(--raptor-app-accent)}

/* Keep motion restrained when the preference changes. */
@media (prefers-reduced-motion:no-preference){
  body,.site-header,.drawer,.raptor-search-panel{transition:background-color var(--motion-fast,140ms) ease,color var(--motion-fast,140ms) ease,border-color var(--motion-fast,140ms) ease}
}
@media (prefers-reduced-motion:reduce){body,.site-header,.drawer,.raptor-search-panel{transition:none!important}}
