/* Ringa v0.82 visual theme engine.
 * Lightweight design tokens only: no image/font/network dependencies.
 */

:root{
  --ringa-theme-page-bg: var(--ringa-bg);
  --ringa-theme-surface: var(--ringa-surface);
  --ringa-theme-surface-2: var(--ringa-surface-2);
  --ringa-theme-surface-3: #0d1018;
  --ringa-theme-border: var(--ringa-border);
  --ringa-theme-text: var(--ringa-text);
  --ringa-theme-muted: var(--ringa-muted);
  --ringa-theme-accent: var(--ringa-accent);
  --ringa-theme-accent-2: var(--ringa-accent-2);
  --ringa-theme-input: rgba(255,255,255,.035);
  --ringa-theme-hover: rgba(255,255,255,.06);
  --ringa-theme-soft: rgba(255,255,255,.04);
  --ringa-theme-shadow: 0 18px 50px rgba(0,0,0,.30);
  --ringa-theme-card-radius: 16px;
  --ringa-theme-feed-gap: 14px;
  --ringa-theme-font: ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";
  --ringa-theme-overlay-text: #fff;
  --ringa-theme-media-bg: #000;
  --ringa-theme-page-art: none;
  --ringa-theme-selection: rgba(255,97,32,.28);
}

/* Theme 1: the locked v0.81 visual baseline. */
body.ringa-theme-midnight{
  --ringa-bg:#0b0d12;
  --ringa-surface:#111521;
  --ringa-surface-2:#151a2a;
  --ringa-border:rgba(255,255,255,.08);
  --ringa-text:rgba(255,255,255,.92);
  --ringa-muted:rgba(255,255,255,.75);
  --ringa-accent:#ff6120;
  --ringa-accent-2:#ff8a48;
  --ringa-theme-page-bg:#0b0d12;
  --ringa-theme-surface:#111521;
  --ringa-theme-surface-2:#151a2a;
  --ringa-theme-surface-3:#0d1018;
  --ringa-theme-border:rgba(255,255,255,.08);
  --ringa-theme-text:rgba(255,255,255,.92);
  --ringa-theme-muted:rgba(255,255,255,.75);
  --ringa-theme-accent:#ff6120;
  --ringa-theme-accent-2:#ff8a48;
  --ringa-theme-input:rgba(255,255,255,.035);
  --ringa-theme-hover:rgba(255,255,255,.06);
  --ringa-theme-soft:rgba(255,255,255,.04);
  --ringa-theme-shadow:0 18px 50px rgba(0,0,0,.30);
  --ringa-theme-card-radius:16px;
  --ringa-theme-feed-gap:14px;
  --ringa-theme-page-art:none;
}

/* Theme 2: black + substantially stronger Ringa orange. */
body.ringa-theme-ember{
  --ringa-bg:#090705;
  --ringa-surface:#15100d;
  --ringa-surface-2:#21140e;
  --ringa-border:rgba(255,126,54,.20);
  --ringa-text:#fff7f1;
  --ringa-muted:#d9b9aa;
  --ringa-accent:#ff5a16;
  --ringa-accent-2:#ff9b3f;
  --ringa-theme-page-bg:#090705;
  --ringa-theme-surface:#15100d;
  --ringa-theme-surface-2:#21140e;
  --ringa-theme-surface-3:#100b08;
  --ringa-theme-border:rgba(255,126,54,.20);
  --ringa-theme-text:#fff7f1;
  --ringa-theme-muted:#d9b9aa;
  --ringa-theme-accent:#ff5a16;
  --ringa-theme-accent-2:#ff9b3f;
  --ringa-theme-input:rgba(255,122,47,.08);
  --ringa-theme-hover:rgba(255,115,36,.12);
  --ringa-theme-soft:rgba(255,111,31,.08);
  --ringa-theme-shadow:0 20px 58px rgba(255,86,18,.10),0 18px 48px rgba(0,0,0,.42);
  --ringa-theme-card-radius:18px;
  --ringa-theme-feed-gap:12px;
  --ringa-theme-page-art:radial-gradient(circle at 15% 0%,rgba(255,101,22,.19),transparent 30%),radial-gradient(circle at 88% 28%,rgba(255,145,49,.10),transparent 24%),linear-gradient(180deg,#090705,#0c0806 58%,#090705);
  --ringa-theme-selection:rgba(255,102,25,.38);
}

/* Theme 3: clean white / orange / black. */
body.ringa-theme-daylight{
  --ringa-bg:#f4f4f2;
  --ringa-surface:#ffffff;
  --ringa-surface-2:#f1f1ef;
  --ringa-border:rgba(20,20,20,.11);
  --ringa-text:#151515;
  --ringa-muted:#66645f;
  --ringa-accent:#ef5a1c;
  --ringa-accent-2:#ff8b33;
  --ringa-theme-page-bg:#f4f4f2;
  --ringa-theme-surface:#ffffff;
  --ringa-theme-surface-2:#f1f1ef;
  --ringa-theme-surface-3:#ffffff;
  --ringa-theme-border:rgba(20,20,20,.11);
  --ringa-theme-text:#151515;
  --ringa-theme-muted:#66645f;
  --ringa-theme-accent:#ef5a1c;
  --ringa-theme-accent-2:#ff8b33;
  --ringa-theme-input:#f4f4f2;
  --ringa-theme-hover:rgba(0,0,0,.055);
  --ringa-theme-soft:rgba(0,0,0,.035);
  --ringa-theme-shadow:0 18px 44px rgba(27,22,18,.12);
  --ringa-theme-card-radius:14px;
  --ringa-theme-feed-gap:16px;
  --ringa-theme-font:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --ringa-theme-page-art:linear-gradient(180deg,#fafaf8,#f1f1ee);
  --ringa-theme-selection:rgba(239,90,28,.20);
}

/* Theme 4: Aurora, a richer editorial night palette. */
body.ringa-theme-aurora{
  --ringa-bg:#100b18;
  --ringa-surface:#181122;
  --ringa-surface-2:#241532;
  --ringa-border:rgba(255,141,107,.16);
  --ringa-text:#fff8ff;
  --ringa-muted:#cdbfd6;
  --ringa-accent:#ff5f6d;
  --ringa-accent-2:#ff9a38;
  --ringa-theme-page-bg:#100b18;
  --ringa-theme-surface:#181122;
  --ringa-theme-surface-2:#241532;
  --ringa-theme-surface-3:#130d1c;
  --ringa-theme-border:rgba(255,141,107,.16);
  --ringa-theme-text:#fff8ff;
  --ringa-theme-muted:#cdbfd6;
  --ringa-theme-accent:#ff5f6d;
  --ringa-theme-accent-2:#ff9a38;
  --ringa-theme-input:rgba(198,113,255,.075);
  --ringa-theme-hover:rgba(255,126,111,.10);
  --ringa-theme-soft:rgba(199,119,255,.07);
  --ringa-theme-shadow:0 20px 58px rgba(92,34,124,.26),0 10px 34px rgba(0,0,0,.36);
  --ringa-theme-card-radius:20px;
  --ringa-theme-feed-gap:14px;
  --ringa-theme-font:"Trebuchet MS",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --ringa-theme-page-art:radial-gradient(circle at 20% -5%,rgba(185,92,255,.21),transparent 35%),radial-gradient(circle at 88% 10%,rgba(255,96,105,.17),transparent 27%),radial-gradient(circle at 50% 88%,rgba(255,151,56,.09),transparent 33%),#100b18;
  --ringa-theme-selection:rgba(255,95,109,.30);
}

/* Theme 5: Tide, deep ocean glass with coral accents. */
body.ringa-theme-tide{
  --ringa-bg:#06131a;
  --ringa-surface:#0b2028;
  --ringa-surface-2:#102b35;
  --ringa-border:rgba(91,218,214,.16);
  --ringa-text:#f2fcff;
  --ringa-muted:#a9cbd0;
  --ringa-accent:#ff6a2a;
  --ringa-accent-2:#20c7c4;
  --ringa-theme-page-bg:#06131a;
  --ringa-theme-surface:#0b2028;
  --ringa-theme-surface-2:#102b35;
  --ringa-theme-surface-3:#081920;
  --ringa-theme-border:rgba(91,218,214,.16);
  --ringa-theme-text:#f2fcff;
  --ringa-theme-muted:#a9cbd0;
  --ringa-theme-accent:#ff6a2a;
  --ringa-theme-accent-2:#20c7c4;
  --ringa-theme-input:rgba(72,200,200,.07);
  --ringa-theme-hover:rgba(66,211,205,.10);
  --ringa-theme-soft:rgba(36,184,184,.065);
  --ringa-theme-shadow:0 18px 52px rgba(0,112,120,.17),0 12px 34px rgba(0,0,0,.38);
  --ringa-theme-card-radius:16px;
  --ringa-theme-feed-gap:13px;
  --ringa-theme-font:"Avenir Next",Avenir,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --ringa-theme-page-art:radial-gradient(circle at 50% -10%,rgba(32,199,196,.18),transparent 32%),radial-gradient(circle at 5% 55%,rgba(255,106,42,.09),transparent 25%),linear-gradient(180deg,#06131a,#07171e);
  --ringa-theme-selection:rgba(32,199,196,.27);
}

body:not(.ringa-theme-midnight)[class*="ringa-theme-"]{
  background:var(--ringa-theme-page-art),var(--ringa-theme-page-bg)!important;
  color:var(--ringa-theme-text)!important;
  font-family:var(--ringa-theme-font)!important;
  --ringa-v02-accent:var(--ringa-theme-accent);
  --ringa-v02-accent2:var(--ringa-theme-accent-2);
  --ringa-v02-glass:color-mix(in srgb,var(--ringa-theme-surface) 88%,transparent);
  --ringa-v02-line:var(--ringa-theme-border);
}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] ::selection{background:var(--ringa-theme-selection);}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] a{color:inherit;}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-app{background:transparent;color:var(--ringa-theme-text);}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-feed{gap:var(--ringa-theme-feed-gap);}

/* App chrome, cards and information surfaces. */
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] :is(
  .ringa-topbar,.ringa-bottom-nav,.ringa-app-drawer,.ringa-menu-panel,.ringa-menu-panel-floating,
  .ringa-card,.ringa-group-card,.ringa-settings-card,.ringa-profile-wallet-card,.ringa-partner-progress-card,
  .ringa-rc-card,.ringa-achievement-summary,.ringa-achievement-milestones,.ringa-history-week,
  .ringa-admin-ad-card,.ringa-admin-report-card,.ringa-admin-user-card,.ringa-admin-media-card,
  .ringa-notif-item,.ringa-conversation-item,.ringa-message-composer,.ringa-inbox-thread-head,
  .ringa-generic-content,.ringa-delete-account-panel,.ringa-media-unavailable-card,.ringa-feed-status-card,
  .ringa-pwa-install-banner,.ringa-pwa-install-sheet-card,.ringa-boost-dialog,.ringa-direct-ad-card,
  .ringa-ad-card,.ringa-create-composer-card,.ringa-create-type-card,.ringa-processing-card
){
  background:var(--ringa-theme-surface)!important;
  color:var(--ringa-theme-text)!important;
  border-color:var(--ringa-theme-border)!important;
}

body:not(.ringa-theme-midnight)[class*="ringa-theme-"] :is(
  .ringa-modal-sheet,.ringa-caption-sheet,.ringa-avatar-sheet,.ringa-delete-confirm-sheet,.ringa-story-delete-card,
  .ringa-story-post-sheet-v011,.ringa-story-mini-sheet-v011,.ringa-cover-editor-card,.ringa-group-create-panel,
  .ringa-message-bubble,.ringa-message-media-preview,.ringa-admin-private-preview,
  .ringa-admin-ad-preview
){
  background:var(--ringa-theme-surface-2)!important;
  color:var(--ringa-theme-text)!important;
  border-color:var(--ringa-theme-border)!important;
}

body:not(.ringa-theme-midnight)[class*="ringa-theme-"] :is(
  .ringa-topbar,.ringa-bottom-nav,.ringa-app-drawer,.ringa-modal-sheet,.ringa-caption-sheet,
  .ringa-pwa-install-banner,.ringa-pwa-install-sheet-card,.ringa-boost-dialog
){box-shadow:var(--ringa-theme-shadow);}

body:not(.ringa-theme-midnight)[class*="ringa-theme-"] :is(
  .ringa-settings-card,.ringa-profile-wallet-card,.ringa-partner-progress-card,.ringa-rc-card,
  .ringa-achievement-summary,.ringa-achievement-milestones,.ringa-history-week,.ringa-admin-ad-card,
  .ringa-admin-report-card,.ringa-admin-user-card,.ringa-admin-media-card,.ringa-pwa-install-banner,
  .ringa-pwa-install-sheet-card,.ringa-boost-dialog,.ringa-media-unavailable-card
){border-radius:var(--ringa-theme-card-radius)!important;}

/* Inputs and search controls. */
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] :is(
  input:not([type]),input[type="text"],input[type="search"],input[type="email"],input[type="password"],input[type="url"],input[type="number"],input[type="tel"],
  textarea,select,.ringa-search-input,.ringa-group-input,.ringa-group-textarea,.ringa-comment-textarea,
  .ringa-store-search,.ringa-admin-user-search,.ringa-create-caption-input,
  .ringa-leader-search-box
){
  background:var(--ringa-theme-input)!important;
  color:var(--ringa-theme-text)!important;
  border-color:var(--ringa-theme-border)!important;
}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] :is(
  input:not([type]),input[type="text"],input[type="search"],input[type="email"],input[type="password"],input[type="url"],input[type="number"],input[type="tel"],textarea
)::placeholder{color:var(--ringa-theme-muted)!important;opacity:.78;}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] :is(.ringa-muted,.ringa-subline,.ringa-muted-copy,.ringa-notif-time,.ringa-comment-time,.ringa-user-sub,.ringa-search-hint){color:var(--ringa-theme-muted)!important;}

/* Buttons, tabs, selection states and icons. */
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] :is(.ringa-icon-btn,.ringa-pill,.ringa-profile-tool,.ringa-message-tool,.ringa-avatar-sheet button,.ringa-pwa-install-actions button){
  color:var(--ringa-theme-text)!important;
  border-color:var(--ringa-theme-border)!important;
  background:var(--ringa-theme-soft)!important;
}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] :is(.ringa-icon-btn,.ringa-pill,.ringa-profile-tool,.ringa-message-tool):hover{background:var(--ringa-theme-hover)!important;}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] :is(
  .ringa-pill.is-primary,.ringa-follow-btn:not(.is-following),.ringa-create-submit,.ringa-settings-save,
  .ringa-message-send,.ringa-comment-submit,.ringa-pwa-install-primary,.ringa-boost-submit,.ringa-paid-cta,
  .ringa-profile-tabs a.is-active,.ringa-profile-tabs button.is-active,.ringa-find-tab.is-active,
  .ringa-create-mode-tab.is-active,.ringa-create-destination-tab.is-active
){
  background:linear-gradient(135deg,var(--ringa-theme-accent-2),var(--ringa-theme-accent))!important;
  color:#fff!important;
  border-color:transparent!important;
}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] :is(.ringa-svg-icon,.ringa-navitem,.ringa-action-btn,.ringa-reel-action,.ringa-story-action){color:inherit;}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] :is(.ringa-navitem.is-active,.ringa-reel-action.is-active,.ringa-action-btn.is-active,.ringa-profile-rank-link,.ringa-points-leaderboard-link){color:var(--ringa-theme-accent)!important;}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] :is(.ringa-dot,.ringa-avatar-presence,.ringa-presence-badge.is-online){border-color:var(--ringa-theme-surface)!important;}

/* Reactions stay expressive; the tray itself follows the selected theme. */
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-reactions-picker{
  background:color-mix(in srgb,var(--ringa-theme-surface) 96%,transparent)!important;
  border-color:var(--ringa-theme-border)!important;
  box-shadow:var(--ringa-theme-shadow)!important;
}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-reactions-picker button:hover{background:var(--ringa-theme-hover)!important;}

/* Profile, points, leaderboard and wallet. */
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] :is(.ringa-profile-v02,.ringa-profile,.ringa-profile-feed,.ringa-profile-timeline,.ringa-leaderboard-page,.ringa-settings-page,.ringa-connections-page){color:var(--ringa-theme-text);}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] :is(.ringa-profile-tabs,.ringa-leader-table-head,.ringa-leader-row-simple,.ringa-history-row-simple,.ringa-profile-statline){border-color:var(--ringa-theme-border)!important;}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] :is(.ringa-leader-row-simple,.ringa-history-row-simple):hover{background:var(--ringa-theme-hover)!important;}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] :is(.ringa-eyebrow,.ringa-rank,.ringa-rank-number,.ringa-partner-head small,.ringa-rc-mark){color:var(--ringa-theme-accent)!important;}

/* Groups / discovery. */
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] :is(.ringa-group-profile,.ringa-group-single-content,.ringa-group-posts,.ringa-group-list){color:var(--ringa-theme-text);}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] :is(.ringa-group-profile-nav,.ringa-group-single-topbar,.ringa-group-hero,.ringa-group-card){border-color:var(--ringa-theme-border)!important;}

/* Comments and sheets. */
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] :is(.ringa-comments,.ringa-comments-inline,.ringa-modal-body,.ringa-comment-list,.ringa-comments-list){color:var(--ringa-theme-text);}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-comment{border-color:var(--ringa-theme-border)!important;}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] :is(.ringa-modal-backdrop,.ringa-avatar-sheet-backdrop,.ringa-delete-confirm-backdrop,.ringa-story-delete-backdrop,.ringa-boost-backdrop){background:rgba(0,0,0,.58)!important;}

/* Create Studio gets the theme without changing its functional layout. */
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] :is(.ringa-create-studio,.ringa-create-shell,.ringa-create-stage,.ringa-create-review,.ringa-create-gate){color:var(--ringa-theme-text)!important;}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] :is(.ringa-create-appbar,.ringa-create-panel-head,.ringa-create-mode-tabs,.ringa-create-submit-row){border-color:var(--ringa-theme-border)!important;}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] :is(.ringa-create-empty-preview,.ringa-create-text-preview,.ringa-create-gallery-item,.ringa-create-video-preview){background:var(--ringa-theme-surface-2)!important;border-color:var(--ringa-theme-border)!important;}

/* Ads/boost UI follows the site palette. Sponsored media itself is untouched. */
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] :is(.ringa-ad-label,.ringa-paid-badge,.ringa-sponsored-strip,.ringa-boost-status){color:var(--ringa-theme-accent)!important;}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] :is(.ringa-boost-field,.ringa-boost-pay,.ringa-boost-surfaces){border-color:var(--ringa-theme-border)!important;}

/* Keep immersive media truly media-first on every theme. */
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] :is(.ringa-media,.ringa-reels,.ringa-reels-snap,.ringa-reel,.ringa-reel-media,.ringa-story-viewer,.ringa-story-viewer-media,.ringa-story-ad-stage){background:var(--ringa-theme-media-bg)!important;}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] :is(.ringa-reel,.ringa-reel-meta,.ringa-reel-actions,.ringa-reels-topglass,.ringa-story-viewer,.ringa-story-viewer-head,.ringa-story-viewer-foot,.ringa-story-nav,.ringa-story-message-bar){color:var(--ringa-theme-overlay-text)!important;}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-reel :is(.ringa-svg-icon,.ringa-reel-action){color:#fff!important;}

/* Light theme: explicitly repair dark-first hard-coded text/surfaces outside immersive media. */
body.ringa-theme-daylight :is(
  .ringa-card,.ringa-card-header,.ringa-card-body,.ringa-profile-v02,.ringa-profile-tabs,.ringa-profile-feed,
  .ringa-settings-page,.ringa-leaderboard-page,.ringa-group-profile,.ringa-group-card,.ringa-inbox-page,
  .ringa-notifs-wrap,.ringa-generic,.ringa-store,.woocommerce,.woocommerce-page
){color:#151515!important;}
body.ringa-theme-daylight :is(.ringa-topbar,.ringa-bottom-nav){background:rgba(255,255,255,.96)!important;backdrop-filter:blur(18px);}
body.ringa-theme-daylight :is(.ringa-app-drawer,.ringa-menu-panel,.ringa-menu-panel-floating){background:#fff!important;}
body.ringa-theme-daylight :is(.ringa-menu-panel button:hover,.ringa-drawer-nav a:hover){background:rgba(0,0,0,.055)!important;}
body.ringa-theme-daylight .ringa-story-card{color:#171717;}
body.ringa-theme-daylight .ringa-story-name{color:#333!important;}
body.ringa-theme-daylight .ringa-story-thumb img{border-color:#fff!important;}
body.ringa-theme-daylight .ringa-story-card.is-seen .ringa-story-thumb{background:rgba(0,0,0,.14)!important;}
body.ringa-theme-daylight .ringa-story-card-add .ringa-story-thumb:before{background:#ececea!important;}
body.ringa-theme-daylight .ringa-story-card-add .ringa-story-thumb i{border-color:#fff!important;}
body.ringa-theme-daylight :is(.ringa-modal-sheet,.ringa-caption-sheet,.ringa-avatar-sheet,.ringa-delete-confirm-sheet){box-shadow:0 22px 60px rgba(0,0,0,.18);}

/* Theme-specific personality details. */
body.ringa-theme-ember .ringa-topbar{background:linear-gradient(90deg,#0f0a07,rgba(37,18,9,.97),#0f0a07)!important;}
body.ringa-theme-ember .ringa-bottom-nav{background:linear-gradient(180deg,rgba(21,12,8,.96),#100a07)!important;}
body.ringa-theme-ember .ringa-card{box-shadow:inset 3px 0 0 rgba(255,99,22,.18);}
body.ringa-theme-ember .ringa-brand-text{color:#ffb075;}

body.ringa-theme-aurora .ringa-topbar,body.ringa-theme-aurora .ringa-bottom-nav{background:rgba(18,12,27,.90)!important;backdrop-filter:blur(20px);}
body.ringa-theme-aurora :is(.ringa-pill.is-primary,.ringa-create-submit,.ringa-message-send,.ringa-comment-submit){background:linear-gradient(135deg,#b967ff,#ff5f6d 58%,#ff9a38)!important;}
body.ringa-theme-aurora .ringa-card{box-shadow:0 14px 38px rgba(78,30,105,.11);}

body.ringa-theme-tide .ringa-topbar,body.ringa-theme-tide .ringa-bottom-nav{background:rgba(6,20,26,.91)!important;backdrop-filter:blur(18px);}
body.ringa-theme-tide :is(.ringa-pill.is-primary,.ringa-create-submit,.ringa-message-send,.ringa-comment-submit){background:linear-gradient(135deg,#20c7c4,#ff6a2a)!important;}
body.ringa-theme-tide .ringa-brand-text{background:linear-gradient(90deg,#64e3df,#ff8b55);-webkit-background-clip:text;background-clip:text;color:transparent;}

/* Keep WooCommerce readable when the Ringa theme wraps Store pages. */
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] :is(.woocommerce,.woocommerce-page){color:var(--ringa-theme-text);}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] :is(.woocommerce ul.products li.product,.woocommerce div.product,.woocommerce table.shop_table,.woocommerce form.checkout,.woocommerce-cart-form){color:var(--ringa-theme-text);border-color:var(--ringa-theme-border);}
body.ringa-theme-daylight :is(.woocommerce ul.products li.product,.woocommerce div.product,.woocommerce table.shop_table){color:#151515;}

@media (min-width:760px){
  body:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-card{border-color:var(--ringa-theme-border)!important;}
}

@media (prefers-reduced-motion:reduce){
  body:not(.ringa-theme-midnight)[class*="ringa-theme-"] *{scroll-behavior:auto!important;}
}


/* =========================================================
   Ringa v0.84 theme consistency contract
   Components get explicit semantic colours instead of inheriting assumptions
   from the locked dark theme. Immersive media remains a separate dark canvas.
   ========================================================= */
:root{
  --ringa-theme-on-accent:#fff;
  --ringa-theme-icon:var(--ringa-theme-text);
  --ringa-theme-icon-muted:var(--ringa-theme-muted);
  --ringa-theme-nav-bg:var(--ringa-theme-surface);
  --ringa-theme-profile-bg:var(--ringa-theme-surface);
  --ringa-theme-tab-bg:var(--ringa-theme-surface-3);
  --ringa-theme-control-bg:var(--ringa-theme-soft);
  --ringa-theme-control-border:var(--ringa-theme-border);
  --ringa-theme-overlay-muted:rgba(255,255,255,.72);
  --ringa-theme-progress-fill:#ff7b24;
  --ringa-theme-progress-track:rgba(255,255,255,.34);
}
body.ringa-theme-midnight{
  --ringa-theme-nav-bg:#0b0d12;
  --ringa-theme-profile-bg:#0b0d12;
  --ringa-theme-tab-bg:rgba(10,11,16,.92);
}
body.ringa-theme-ember{
  --ringa-theme-nav-bg:#100a07;
  --ringa-theme-profile-bg:#15100d;
  --ringa-theme-tab-bg:rgba(18,11,8,.96);
}
body.ringa-theme-daylight{
  --ringa-theme-on-accent:#fff;
  --ringa-theme-nav-bg:#ffffff;
  --ringa-theme-profile-bg:#ffffff;
  --ringa-theme-tab-bg:rgba(255,255,255,.96);
  --ringa-theme-icon:#171717;
  --ringa-theme-icon-muted:#68655f;
}
body.ringa-theme-aurora{
  --ringa-theme-nav-bg:#160e20;
  --ringa-theme-profile-bg:#181122;
  --ringa-theme-tab-bg:rgba(20,13,29,.96);
}
body.ringa-theme-tide{
  --ringa-theme-nav-bg:#081920;
  --ringa-theme-profile-bg:#0b2028;
  --ringa-theme-tab-bg:rgba(7,24,31,.96);
}

/* Give the app shell a deterministic canvas. Never let the browser/page colour
   shine through a themed Ringa component. */
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-app,
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-content{
  background:var(--ringa-theme-page-bg)!important;
  color:var(--ringa-theme-text)!important;
}

/* Shared chrome contrast. */
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] :is(.ringa-topbar,.ringa-bottom-nav){
  background:var(--ringa-theme-nav-bg)!important;
  color:var(--ringa-theme-text)!important;
  border-color:var(--ringa-theme-border)!important;
}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] :is(.ringa-topbar,.ringa-bottom-nav) :is(a,button,.ringa-svg-icon){
  color:inherit;
}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-bottom-nav .navitem{
  color:var(--ringa-theme-icon-muted)!important;
}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-bottom-nav .navitem.is-active{
  color:var(--ringa-theme-text)!important;
}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-bottom-nav .navitem.is-active:after{
  background:var(--ringa-theme-accent)!important;
}

/* Profile contract: identity, counters, tabs and tools must always share the
   selected surface/text pair. This explicitly repairs dark-first hard-codes. */
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-profile-hero{
  background:var(--ringa-theme-profile-bg)!important;
  color:var(--ringa-theme-text)!important;
  border-color:var(--ringa-theme-border)!important;
}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-profile-nameblock h1{
  color:var(--ringa-theme-text)!important;
}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-profile-handle-row,
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-profile-handle-row>span{
  color:var(--ringa-theme-muted)!important;
}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-profile-rank-link{
  color:var(--ringa-theme-accent)!important;
}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-profile-statline{
  border-color:var(--ringa-theme-border)!important;
}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-profile-statline>a,
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-profile-statline>span,
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-profile-statline strong{
  color:var(--ringa-theme-text)!important;
}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-profile-statline :is(a,span) span{
  color:var(--ringa-theme-muted)!important;
}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-profile-avatar-img{
  border-color:var(--ringa-theme-profile-bg)!important;
}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-profile-tool,
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-follow-btn.is-following,
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-pill.is-ghost{
  background:var(--ringa-theme-control-bg)!important;
  color:var(--ringa-theme-text)!important;
  border-color:var(--ringa-theme-control-border)!important;
}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-profile-tabs{
  background:var(--ringa-theme-tab-bg)!important;
  border-color:var(--ringa-theme-border)!important;
  color:var(--ringa-theme-text)!important;
}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-profile-tabs a{
  color:var(--ringa-theme-muted)!important;
}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-profile-tabs a.is-active{
  color:var(--ringa-theme-on-accent)!important;
}

/* Feed/posts: preserve media itself, theme the information/actions around it. */
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] :is(
 .ringa-card-header,.ringa-card-body,.ringa-card-footer,.ringa-post-copy,.ringa-caption,.ringa-post-caption,
 .ringa-actions-zone,.ringa-feed-status,.ringa-comments-inline
){
  color:var(--ringa-theme-text)!important;
  border-color:var(--ringa-theme-border)!important;
}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] :is(
 .ringa-username,.ringa-card strong,.ringa-post-author,.ringa-comment-author,.ringa-conversation-name
){color:var(--ringa-theme-text)!important;}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] :is(
 .ringa-card time,.ringa-post-date,.ringa-card-date,.ringa-meta,.ringa-comment-time,.ringa-conversation-preview
){color:var(--ringa-theme-muted)!important;}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] :is(.ringa-action-btn,.ringa-card-menu-btn){
  color:var(--ringa-theme-icon)!important;
}

/* Sheets/dialogs/comments must not inherit white text on a light sheet. */
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] :is(
 .ringa-modal-sheet,.ringa-caption-sheet,.ringa-avatar-sheet,.ringa-delete-confirm-sheet,.ringa-story-delete-card,
 .ringa-boost-dialog,.ringa-pwa-install-sheet-card,.ringa-cover-editor-card
){
  color:var(--ringa-theme-text)!important;
}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] :is(
 .ringa-modal-sheet,.ringa-caption-sheet,.ringa-avatar-sheet,.ringa-delete-confirm-sheet,.ringa-story-delete-card,
 .ringa-boost-dialog,.ringa-pwa-install-sheet-card
) :is(h1,h2,h3,strong,label,p,span:not(.ringa-svg-icon),a,button){
  color:inherit;
}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] :is(.ringa-sheet-handle,.ringa-modal-handle){
  background:color-mix(in srgb,var(--ringa-theme-text) 24%,transparent)!important;
}

/* Leaderboard/Points/Wallet hard-coded dark text cleanup. */
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] :is(
 .ringa-profile-points-strip>div,.ringa-wallet-points-mini>div,.ringa-achievement-summary>div,
 .ringa-history-week,.ringa-partner-progress-card,.ringa-points-leaderboard-link,
 .ringa-leader-search-toggle,.ringa-leader-search-box input
){
  color:var(--ringa-theme-text)!important;
  border-color:var(--ringa-theme-border)!important;
}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] :is(
 .ringa-profile-points-strip span,.ringa-wallet-points-mini span,.ringa-history-week small,
 .ringa-achievement-milestones article>small,.ringa-partner-row>div span
){color:var(--ringa-theme-muted)!important;}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-partner-row>div b{color:var(--ringa-theme-text)!important;}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-partner-row>i{background:color-mix(in srgb,var(--ringa-theme-text) 10%,transparent)!important;}

/* Discover/groups/inbox/notifications: explicit text hierarchy. */
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] :is(
 .ringa-group-card,.ringa-group-profile,.ringa-inbox-page,.ringa-notifs-wrap,.ringa-settings-page,
 .ringa-connections-page,.ringa-leaderboard-page
){color:var(--ringa-theme-text)!important;}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] :is(
 .ringa-group-card small,.ringa-group-profile-bio,.ringa-message-user-result small,
 .ringa-inbox-section-label,.ringa-conversation-user,.ringa-notif-time
){color:var(--ringa-theme-muted)!important;}

/* Stories list follows the normal site theme. Fullscreen Story viewing remains
   a black media canvas with white controls. */
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-story-card{color:var(--ringa-theme-text)!important;}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-story-name{color:var(--ringa-theme-text)!important;}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-story-viewer,
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-story-viewer *{
  --ringa-theme-text:#fff;
}

/* VIDZ IMMERSIVE CONTRACT
   The 28px seek input is an interaction hit-area, not a themed input surface.
   v0.82 themed every <input>, painting that whole hit-area and creating the
   thick translucent stripe seen above the footer. Keep only the 3px seek line. */
body.page-template-page-videos[class*="ringa-theme-"]{
  background:#000!important;
}
body.page-template-page-videos[class*="ringa-theme-"] :is(.ringa-app,.ringa-content,.ringa-reels,.ringa-reels-snap,.ringa-reel,.ringa-reel-media){
  background:#000!important;
}
body.page-template-page-videos[class*="ringa-theme-"] :is(.ringa-reel-meta,.ringa-reel-actions,.ringa-reel-gradient,.ringa-reels-topglass){
  border-color:transparent!important;
  box-shadow:none!important;
}
body.page-template-page-videos[class*="ringa-theme-"] :is(.ringa-reel-meta,.ringa-reel-actions){
  background:transparent!important;
  color:#fff!important;
}
body.page-template-page-videos[class*="ringa-theme-"] .ringa-reel :is(.ringa-reel-meta,.ringa-reel-actions,.ringa-reel-action,.ringa-reel-author-line,.ringa-reel-caption,.ringa-caption-more,.ringa-svg-icon){
  color:#fff!important;
}
body.page-template-page-videos[class*="ringa-theme-"] .ringa-reel .ringa-follow-btn.is-following{
  color:#fff!important;
  background:rgba(0,0,0,.42)!important;
  border-color:rgba(255,255,255,.30)!important;
}
body.page-template-page-videos[class*="ringa-theme-"] .ringa-bottom-nav,
body.page-template-page-videos.ringa-fixed-shell[class*="ringa-theme-"] .ringa-bottom-nav{
  background:var(--ringa-theme-nav-bg)!important;
  border-top:0!important;
  box-shadow:none!important;
  color:var(--ringa-theme-text)!important;
}
body.page-template-page-videos[class*="ringa-theme-"] .ringa-reel-seek-v013{
  background:linear-gradient(90deg,var(--ringa-theme-progress-fill) 0 var(--ringa-reel-progress,0%),var(--ringa-theme-progress-track) var(--ringa-reel-progress,0%) 100%) left bottom/100% 3px no-repeat!important;
  border:0!important;
  box-shadow:none!important;
  color:transparent!important;
}
body.page-template-page-videos[class*="ringa-theme-"] .ringa-reel-seek-v013::-webkit-slider-runnable-track{
  background:transparent!important;
  border:0!important;
}
body.page-template-page-videos[class*="ringa-theme-"] .ringa-reel-seek-v013::-moz-range-track{
  background:transparent!important;
  border:0!important;
}

/* Daylight needs explicit dark copy on ordinary surfaces, while media overlays
   stay white because the Vidz/Story rules above are more specific. */
body.ringa-theme-daylight :is(
 .ringa-profile-hero,.ringa-profile-tabs,.ringa-card,.ringa-group-card,.ringa-settings-card,
 .ringa-profile-wallet-card,.ringa-partner-progress-card,.ringa-rc-card,.ringa-achievement-summary,
 .ringa-history-week,.ringa-notif-item,.ringa-conversation-item,.ringa-modal-sheet,.ringa-caption-sheet,
 .ringa-avatar-sheet,.ringa-delete-confirm-sheet,.ringa-boost-dialog,.ringa-pwa-install-sheet-card
){color:#151515!important;}
body.ringa-theme-daylight :is(.ringa-topbar,.ringa-bottom-nav,.ringa-profile-tabs) :is(.ringa-svg-icon,a,button){
  color:inherit;
}


/* =========================================================
   Ringa v0.84 pre-test consistency audit
   Close remaining dark-first colour leaks found by static audit. These rules
   only affect non-Midnight themes; the locked Midnight visual remains intact.
   ========================================================= */

/* Bottom navigation: label colour must follow the icon state too. */
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-bottom-nav .ringa-nav-label{
  color:var(--ringa-theme-icon-muted)!important;
}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-bottom-nav .navitem.is-active .ringa-nav-label{
  color:var(--ringa-theme-text)!important;
}

/* Drawer/menu hierarchy. */
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] :is(
  .ringa-drawer-head,.ringa-drawer-user,.ringa-drawer-guest,.ringa-drawer-nav,.ringa-drawer-auth
){color:var(--ringa-theme-text)!important;}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] :is(
  .ringa-drawer-label,.ringa-drawer-user small,.ringa-drawer-guest span,
  .ringa-drawer-nav a>.ringa-svg-icon:last-child
){color:var(--ringa-theme-muted)!important;}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] :is(.ringa-drawer-nav a,.ringa-drawer-auth a){
  color:var(--ringa-theme-text)!important;
}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] :is(.ringa-drawer-nav a,.ringa-drawer-auth a):hover{
  background:var(--ringa-theme-hover)!important;
}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-drawer-auth a.is-primary{
  color:var(--ringa-theme-on-accent)!important;
}

/* PWA install + push prompt. v0.83 themed the card but old child copy was
   still explicitly white, which would disappear on Daylight. */
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-pwa-install-copy strong,
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-pwa-install-sheet-card h2{
  color:var(--ringa-theme-text)!important;
}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-pwa-install-copy span,
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-pwa-install-sheet-card p,
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-pwa-install-steps li{
  color:var(--ringa-theme-muted)!important;
}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-pwa-install-sheet-actions button{
  background:var(--ringa-theme-control-bg)!important;
  color:var(--ringa-theme-text)!important;
  border-color:var(--ringa-theme-border)!important;
}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-pwa-install-sheet-actions .is-primary{
  background:linear-gradient(135deg,var(--ringa-theme-accent-2),var(--ringa-theme-accent))!important;
  color:var(--ringa-theme-on-accent)!important;
  border-color:transparent!important;
}

/* Create Studio: theme the editor chrome, not the actual photo/video canvas. */
body.ringa-create-page:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-create-studio{
  --rc-border:var(--ringa-theme-border);
  --rc-soft:var(--ringa-theme-soft);
  --rc-softer:color-mix(in srgb,var(--ringa-theme-surface) 70%,transparent);
  color:var(--ringa-theme-text)!important;
  background:var(--ringa-theme-page-art),var(--ringa-theme-page-bg)!important;
}
body.ringa-create-page:not(.ringa-theme-midnight)[class*="ringa-theme-"] :is(
  .ringa-create-appbar,.ringa-create-gate-card,.ringa-create-hero,.ringa-create-type-card,
  .ringa-create-review,.ringa-processing-card,.ringa-create-prepare-message
){
  color:var(--ringa-theme-text)!important;
  border-color:var(--ringa-theme-border)!important;
}
body.ringa-create-page:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-create-appbar{
  background:color-mix(in srgb,var(--ringa-theme-nav-bg) 92%,transparent)!important;
}
body.ringa-create-page:not(.ringa-theme-midnight)[class*="ringa-theme-"] :is(
  .ringa-create-gate-card,.ringa-create-hero,.ringa-create-type-card,.ringa-processing-card,.ringa-create-prepare-message
){
  background:var(--ringa-theme-surface)!important;
}
body.ringa-create-page:not(.ringa-theme-midnight)[class*="ringa-theme-"] :is(
  .ringa-create-back,.ringa-create-userchip,.ringa-create-clear-tab,.ringa-create-tab
){
  color:var(--ringa-theme-text)!important;
  background:var(--ringa-theme-control-bg)!important;
  border-color:var(--ringa-theme-border)!important;
}
body.ringa-create-page:not(.ringa-theme-midnight)[class*="ringa-theme-"] :is(
  .ringa-create-kicker,.ringa-create-gate p,.ringa-create-hero p,.ringa-create-type-card small,
  .ringa-create-link,.ringa-create-text-preview-sub,.ringa-create-caption-label,.ringa-create-caption-meta,
  .ringa-create-message.is-info,.ringa-upload-progress-text,.ringa-create-add-media small
){
  color:var(--ringa-theme-muted)!important;
}
body.ringa-create-page:not(.ringa-theme-midnight)[class*="ringa-theme-"] :is(
  .ringa-create-link.is-strong,.ringa-create-type-card strong,.ringa-create-appbar h1,.ringa-create-review-top h2
){color:var(--ringa-theme-text)!important;}
body.ringa-create-page:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-create-spark{
  color:var(--ringa-theme-accent)!important;
  background:color-mix(in srgb,var(--ringa-theme-accent) 11%,transparent)!important;
  border-color:color-mix(in srgb,var(--ringa-theme-accent) 28%,transparent)!important;
}
body.ringa-create-page:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-create-add-media{
  color:var(--ringa-theme-text)!important;
  background:var(--ringa-theme-surface-2)!important;
  border-color:color-mix(in srgb,var(--ringa-theme-accent) 42%,var(--ringa-theme-border))!important;
}
/* Keep actual media/editor canvases dark so light themes never tint media. */
body.ringa-create-page[class*="ringa-theme-"] :is(
  .ringa-create-preview video,.ringa-create-editor-preview video,.ringa-create-editor-preview img,.ringa-create-video-preview video
){background:#000!important;}

/* Login/signup/recovery. */
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-form{
  background:var(--ringa-theme-surface)!important;
  color:var(--ringa-theme-text)!important;
  border-color:var(--ringa-theme-border)!important;
}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] :is(.ringa-auth-links a,.ringa-auth-success-actions a){
  color:var(--ringa-theme-text)!important;
}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] :is(
  .ringa-auth-copy,.ringa-password-guidance,.ringa-password-match.is-neutral,.ringa-email-delivery-note
){color:var(--ringa-theme-muted)!important;}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] :is(.ringa-email-delivery-note,.ringa-auth-success-actions a){
  background:var(--ringa-theme-soft)!important;
  border-color:var(--ringa-theme-border)!important;
}

/* Generic/public information pages. */
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-generic-content{
  color:var(--ringa-theme-text)!important;
}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-generic-content :is(h1,h2,h3,strong){
  color:var(--ringa-theme-text)!important;
}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-generic-content a{
  color:var(--ringa-theme-accent)!important;
}

/* Caption + classic comment fallbacks. */
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] :is(
  .ringa-caption-username,.ringa-caption-body,.ringa-caption-author,
  .ringa-comment-list .comment-content,.ringa-comment-list .reply a
){color:var(--ringa-theme-text)!important;}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-caption-close{
  color:var(--ringa-theme-text)!important;
  background:var(--ringa-theme-control-bg)!important;
  border-color:var(--ringa-theme-border)!important;
}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-comment-vote{
  color:var(--ringa-theme-muted)!important;
}

/* Groups. */
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] :is(
  .ringa-group-create-panel,.ringa-group-profile-bio,.ringa-group-about
){
  color:var(--ringa-theme-text)!important;
  border-color:var(--ringa-theme-border)!important;
}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] :is(.ringa-group-create-summary,.ringa-group-back){
  color:var(--ringa-theme-text)!important;
}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-group-back{
  background:var(--ringa-theme-control-bg)!important;
  border-color:var(--ringa-theme-border)!important;
}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] :is(.ringa-group-about p,.ringa-group-create-form label){
  color:var(--ringa-theme-muted)!important;
}

/* Front-end admin/moderation/ad/media panels also have to respect a light theme. */
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] :is(
  .ringa-admin-users,.ringa-admin-moderation,.ringa-admin-ads,.ringa-admin-media-list
){color:var(--ringa-theme-text)!important;}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] :is(
  .ringa-admin-subtabs,.ringa-admin-report-card,.ringa-admin-user-card,.ringa-admin-ad-card,.ringa-admin-media-card
){
  background:var(--ringa-theme-surface)!important;
  color:var(--ringa-theme-text)!important;
  border-color:var(--ringa-theme-border)!important;
}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] :is(
  .ringa-admin-subtabs a,.ringa-admin-section-head p,.ringa-admin-report-top span,
  .ringa-admin-report-grid small,.ringa-admin-report-reason small,.ringa-admin-report-grid span,
  .ringa-admin-report-reason p,.ringa-moderation-action-form label>span,.ringa-admin-history-result span,
  .ringa-admin-user-main>a small,.ringa-admin-user-main>div>small,.ringa-user-history summary,
  .ringa-user-history p span,.ringa-user-history p small,.ringa-admin-ad-top small,
  .ringa-admin-ad-preview small,.ringa-admin-ad-surfaces>small,.ringa-admin-ad-metrics small,
  .ringa-admin-ad-metrics span,.ringa-admin-private-preview p,.ringa-admin-media-head small,
  .ringa-admin-media-meta
){color:var(--ringa-theme-muted)!important;}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] :is(
  .ringa-admin-report-grid strong a,.ringa-admin-user-main>a,.ringa-admin-private-preview strong,
  .ringa-leader-username,.ringa-history-row
){color:var(--ringa-theme-text)!important;}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-admin-subtabs a.is-active{
  color:var(--ringa-theme-accent)!important;
  background:color-mix(in srgb,var(--ringa-theme-accent) 10%,transparent)!important;
}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] :is(.ringa-admin-report-grid>div,.ringa-admin-ad-metrics>div,.ringa-user-history p){
  background:var(--ringa-theme-soft)!important;
}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] :is(.ringa-admin-media-repair input,.ringa-moderation-action-form input,.ringa-moderation-action-form select){
  background:var(--ringa-theme-input)!important;
  color:var(--ringa-theme-text)!important;
  border-color:var(--ringa-theme-border)!important;
}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-admin-media-meta code{
  color:var(--ringa-theme-text)!important;
  background:var(--ringa-theme-soft)!important;
}

/* Processing/non-media status cards should not retain dark-only copy. */
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] :is(
  .ringa-processing-banner,.ringa-processing-card,.ringa-upload-sub,.ringa-upload-meta
){color:var(--ringa-theme-text)!important;}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-processing-banner{
  background:var(--ringa-theme-soft)!important;
  border-color:var(--ringa-theme-border)!important;
}

/* v0.84 audit follow-up: remaining ordinary-surface contrast exceptions. */
body:not(.page-template-page-videos):not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-react-btn:not(.is-reacted)[aria-pressed="false"] :is(.ringa-svg-icon-heart,.ringa-heart-icon){
  color:var(--ringa-theme-icon)!important;
  stroke:var(--ringa-theme-icon)!important;
}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] :is(
  .ringa-about-row p,.ringa-page-title p,.ringa-wallet-grid p,.ringa-weekly-winner span,
  .ringa-top10-head span,.ringa-leader-name small,.ringa-achievement-grid p,
  .ringa-analytics-grid article>span,.ringa-connections-head span,.ringa-connection-person small,
  .ringa-user-status.is-unknown,.ringa-ad-state.is-completed
){color:var(--ringa-theme-muted)!important;}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] :is(.ringa-leader-row,.ringa-connection-person){
  color:var(--ringa-theme-text)!important;
}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-connections-back{
  color:var(--ringa-theme-text)!important;
  background:var(--ringa-theme-control-bg)!important;
  border-color:var(--ringa-theme-border)!important;
}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-delete-confirm-actions button:not(.is-delete){
  color:var(--ringa-theme-text)!important;
  background:var(--ringa-theme-control-bg)!important;
  border-color:var(--ringa-theme-border)!important;
}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-comment-load-older{
  color:var(--ringa-theme-muted)!important;
  background:var(--ringa-theme-control-bg)!important;
  border-color:var(--ringa-theme-border)!important;
}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-leaderboard-note{
  color:var(--ringa-theme-muted)!important;
}
/* Cover editing is an image-editing surface: keep image-overlaid hint/close
   white, but theme the detached action/status chrome below the image. */
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-cover-editor-actions button{
  color:var(--ringa-theme-text)!important;
  background:var(--ringa-theme-control-bg)!important;
  border-color:var(--ringa-theme-border)!important;
}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] :is(.ringa-cover-editor-status,.ringa-cover-editor-help){
  color:var(--ringa-theme-muted)!important;
}


/* =========================================================
   Ringa v0.85 third-pass theme safety audit
   Protect semantic/immersive controls from broad theme rules.
   ========================================================= */

/* Preserve native compact controls instead of painting every input as a text box. */
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] :is(
  input[type="checkbox"],input[type="radio"],input[type="range"]:not(.ringa-reel-seek-v013),input[type="file"],input[type="hidden"]
){
  background:initial!important;
  border-color:initial!important;
  box-shadow:none;
}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] :is(input[type="checkbox"],input[type="radio"]){
  accent-color:var(--ringa-theme-accent);
}

/* Primary submit controls keep their semantic button treatment. */
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] :is(
  .ringa-comment-form input[type="submit"],
  .woocommerce input.button,
  .woocommerce #respond input#submit
){
  background:linear-gradient(135deg,var(--ringa-theme-accent-2),var(--ringa-theme-accent))!important;
  color:var(--ringa-theme-on-accent)!important;
  border-color:transparent!important;
}

/* Create's free-form text editor is an editor canvas, not a normal textarea. */
body.ringa-create-page:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-create-editor-text textarea{
  background:transparent!important;
  color:#fff!important;
  border:0!important;
}

/* Story composer/viewer stay media-first even when the site uses Daylight. */
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-story-composer-v011 :is(input,textarea,select),
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-story-viewer :is(input,textarea,select){
  color:#fff!important;
}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-story-message-bar input{
  background:transparent!important;
  color:#fff!important;
  border:0!important;
}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-story-message-bar input::placeholder{
  color:rgba(255,255,255,.70)!important;
}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-story-text-entry-v011 input{
  background:#11131a!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.10)!important;
}

/* The Story delete overlay itself remains transparent; only its confirmation card is themed. */
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-story-delete-sheet{
  background:transparent!important;
}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-story-delete-card{
  background:var(--ringa-theme-surface-2)!important;
  color:var(--ringa-theme-text)!important;
  border-color:var(--ringa-theme-border)!important;
}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-story-delete-card button:not(.is-danger){
  background:var(--ringa-theme-control-bg)!important;
  color:var(--ringa-theme-text)!important;
  border-color:var(--ringa-theme-border)!important;
}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-story-delete-card button.is-danger,
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-delete-confirm-actions .is-delete{
  background:linear-gradient(135deg,#ff3d5f,#ff772b)!important;
  color:#fff!important;
  border-color:transparent!important;
}

/* Inbox ownership must remain visually obvious. */
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-message-row.is-mine .ringa-message-bubble{
  background:linear-gradient(135deg,var(--ringa-theme-accent-2),var(--ringa-theme-accent))!important;
  color:var(--ringa-theme-on-accent)!important;
  border-color:transparent!important;
}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-message-row.is-mine .ringa-message-bubble :is(a,span,strong,small,p){
  color:inherit!important;
}

/* Ordinary Feed/comment text that still carried locked-dark child colours. */
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-action-btn .count{
  color:var(--ringa-theme-muted)!important;
}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-comment .text{
  color:var(--ringa-theme-text)!important;
}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] :is(.ringa-processing-eta,.ringa-analytics-intro p){
  color:var(--ringa-theme-muted)!important;
}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-avatar-sheet button.is-cancel{
  color:var(--ringa-theme-muted)!important;
}

/* Unified ad inventory: feed/profile/group ad copy uses the site theme; immersive
   Vidz/Story paid creatives stay dark and media-first. */
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-ad-preview{
  color:var(--ringa-theme-text)!important;
  background:color-mix(in srgb,var(--ringa-theme-accent) 7%,var(--ringa-theme-surface))!important;
  border-color:color-mix(in srgb,var(--ringa-theme-accent) 46%,var(--ringa-theme-border))!important;
}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-ad-preview :is(span,small){
  color:var(--ringa-theme-muted)!important;
}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-direct-ad-copy{
  color:var(--ringa-theme-text)!important;
}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-direct-ad-copy>span,
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-direct-ad-copy p{
  color:var(--ringa-theme-muted)!important;
}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-boost-x{
  background:var(--ringa-theme-control-bg)!important;
  color:var(--ringa-theme-text)!important;
  border:1px solid var(--ringa-theme-border)!important;
}
/* Paid creatives shown as full Vidz/Story slides deliberately stay black/white. */
body.page-template-page-videos[class*="ringa-theme-"] .ringa-paid-creative,
body[class*="ringa-theme-"] .ringa-story-ad-shell>.ringa-paid-creative{
  background:#090b10!important;
  color:#fff!important;
}
body.page-template-page-videos[class*="ringa-theme-"] .ringa-paid-copy,
body[class*="ringa-theme-"] .ringa-story-ad-shell>.ringa-paid-creative .ringa-paid-copy{
  color:#fff!important;
  background:linear-gradient(180deg,rgba(11,13,18,.96),#0b0d12)!important;
}
body.page-template-page-videos[class*="ringa-theme-"] .ringa-paid-copy :is(span,p),
body[class*="ringa-theme-"] .ringa-story-ad-shell>.ringa-paid-creative .ringa-paid-copy :is(span,p){
  color:rgba(255,255,255,.74)!important;
}

/* Store cards need explicit surface/text pairing; parent colour alone cannot beat
   Woo/Ringa's older product-title hard-code. */
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-store .woocommerce ul.products li.product{
  background:var(--ringa-theme-surface)!important;
  color:var(--ringa-theme-text)!important;
  border-color:var(--ringa-theme-border)!important;
}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-store .woocommerce ul.products li.product .woocommerce-loop-product__title{
  color:var(--ringa-theme-text)!important;
}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-store .woocommerce ul.products li.product .price{
  color:var(--ringa-theme-accent)!important;
}

/* Remaining ordinary information surfaces discovered by the third-pass audit. */
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-topsearch{
  background:color-mix(in srgb,var(--ringa-theme-nav-bg) 94%,transparent)!important;
  color:var(--ringa-theme-text)!important;
  border-color:var(--ringa-theme-border)!important;
}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] :is(
  .ringa-profile-about,
  .ringa-wallet-grid article,
  .ringa-weekly-winner,
  .ringa-achievement-grid article,
  .ringa-achievement-milestones article,
  .ringa-analytics-grid article
){
  background:var(--ringa-theme-surface)!important;
  color:var(--ringa-theme-text)!important;
  border-color:var(--ringa-theme-border)!important;
}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] :is(
  .ringa-about-row,.ringa-leader-row,.ringa-connection-row
){
  border-color:var(--ringa-theme-border)!important;
}
body.ringa-create-page:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-create-destination-tabs{
  background:var(--ringa-theme-control-bg)!important;
  border-color:var(--ringa-theme-border)!important;
}
body.ringa-create-page:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-create-destination-tab:not(.is-active){
  color:var(--ringa-theme-muted)!important;
}
body.ringa-create-page:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-create-destination-tab.is-active{
  color:var(--ringa-theme-on-accent)!important;
  background:linear-gradient(135deg,var(--ringa-theme-accent-2),var(--ringa-theme-accent))!important;
}

body:not(.ringa-theme-midnight)[class*="ringa-theme-"] :is(.ringa-partner-choice,.ringa-wallet-info,.ringa-settings-session,.ringa-leader-search-box){
  color:var(--ringa-theme-text)!important;
}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-partner-choice:before,
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-partner-choice:after{
  background:var(--ringa-theme-border)!important;
}


/* =========================================================
   Ringa v0.86 fourth-pass theme hardening contract
   Interactive geometry stays owned by feature CSS. Themes may paint controls,
   but must not turn structural wrappers into inputs/cards or alter immersive media.
   ========================================================= */

/* Inbox: never paint or resize the structural composer row. The composer itself
   is the surface; the row is only layout. */
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-message-composer-row{
  background:transparent!important;
  color:inherit!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  padding:0!important;
}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-message-composer textarea{
  background:var(--ringa-theme-input)!important;
  color:var(--ringa-theme-text)!important;
  border-color:var(--ringa-theme-border)!important;
}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-message-date-separator{
  color:var(--ringa-theme-muted)!important;
}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-message-date-separator span{
  background:var(--ringa-theme-soft)!important;
  color:var(--ringa-theme-muted)!important;
  border-color:var(--ringa-theme-border)!important;
}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-message-row:not(.is-mine) .ringa-message-bubble{
  background:var(--ringa-theme-surface-2)!important;
  color:var(--ringa-theme-text)!important;
  border-color:var(--ringa-theme-border)!important;
}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-message-voice-duration{
  color:inherit!important;
}

/* Fixed app chrome: themes may change colour, never its geometry. */
body.ringa-fixed-shell:not(.ringa-theme-midnight)[class*="ringa-theme-"] :is(.ringa-topbar,.ringa-bottom-nav){
  position:fixed!important;
}
body.ringa-fixed-shell:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-topbar{top:0!important;}
body.ringa-fixed-shell:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-bottom-nav{bottom:0!important;}

/* Search/auth/drawer ordinary surfaces. */
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] :is(
  .ringa-searchbar,.ringa-topsearch,.ringa-search-form,.ringa-auth-card,.ringa-auth-panel,
  .ringa-forgot-card,.ringa-reset-card,.ringa-menu-panel,.ringa-menu-panel-floating
){
  color:var(--ringa-theme-text)!important;
  border-color:var(--ringa-theme-border)!important;
}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] :is(
  .ringa-search-form input,.ringa-auth-card input,.ringa-auth-panel input,.ringa-forgot-card input,.ringa-reset-card input
){
  background:var(--ringa-theme-input)!important;
  color:var(--ringa-theme-text)!important;
  border-color:var(--ringa-theme-border)!important;
}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] :is(
  .ringa-auth-links a,.ringa-drawer-nav a,.ringa-drawer-auth a,.ringa-search-results a
){color:var(--ringa-theme-text)!important;}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-drawer-nav a>.ringa-svg-icon:last-child{
  color:var(--ringa-theme-icon-muted)!important;
}

/* Groups: all textual regions follow the selected surface. */
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] :is(
  .ringa-group-about p,.ringa-group-card p,.ringa-group-profile p,.ringa-group-profile h1,.ringa-group-profile h2,
  .ringa-group-profile strong,.ringa-group-meta,.ringa-group-members-copy
){color:var(--ringa-theme-text)!important;}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] :is(.ringa-group-meta,.ringa-group-members-copy){color:var(--ringa-theme-muted)!important;}

/* Feed comments and ordinary WordPress comment markup. */
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] :is(
  .ringa-comment-list,.ringa-comment-list .comment-content,.ringa-comment-list .reply a,
  .ringa-comment-body,.ringa-comment-body p,.ringa-comment-author
){color:var(--ringa-theme-text)!important;}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] :is(.ringa-comment-meta,.ringa-comment-date){color:var(--ringa-theme-muted)!important;}

/* Install/notification prompts: explicit hierarchy on light and dark themes. */
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-pwa-install-copy strong,
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-pwa-install-sheet-card h2{
  color:var(--ringa-theme-text)!important;
}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] :is(
  .ringa-pwa-install-copy span,.ringa-pwa-install-sheet-card p,.ringa-pwa-install-steps li
){color:var(--ringa-theme-muted)!important;}

/* Create Studio ordinary chrome. Keep actual photo/video/text-art canvases under
   their feature-level immersive contract. */
body.ringa-create-page:not(.ringa-theme-midnight)[class*="ringa-theme-"] :is(
  .ringa-create-gate-card,.ringa-create-hero,.ringa-create-type-card,.ringa-create-review,
  .ringa-create-prepare-message,.ringa-processing-card,.ringa-create-caption-panel
){
  color:var(--ringa-theme-text)!important;
  border-color:var(--ringa-theme-border)!important;
}
body.ringa-create-page:not(.ringa-theme-midnight)[class*="ringa-theme-"] :is(
  .ringa-create-gate p,.ringa-create-hero p,.ringa-create-type-card small,.ringa-create-text-preview-sub,
  .ringa-create-caption-meta,.ringa-create-message.is-info,.ringa-create-add-media small,.ringa-upload-progress-text
){color:var(--ringa-theme-muted)!important;}
body.ringa-create-page:not(.ringa-theme-midnight)[class*="ringa-theme-"] :is(
  .ringa-create-type-card strong,.ringa-create-appbar h1,.ringa-create-review-top h2,.ringa-create-link.is-strong
){color:var(--ringa-theme-text)!important;}

/* Utility/settings/legal content should never retain locked-dark copy. */
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-generic-content,
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-generic-content :is(h1,h2,h3,h4,strong,p,li){
  color:var(--ringa-theme-text)!important;
}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-generic-content :is(small,.ringa-muted){
  color:var(--ringa-theme-muted)!important;
}

/* Themed media exclusions. Keep native/audio/video controls and media canvas
   ownership out of generic theme painting. */
body[class*="ringa-theme-"] :is(video,audio,.ringa-media,.ringa-reel-media,.ringa-story-viewer-media){
  color-scheme:dark;
}
body.page-template-page-videos[class*="ringa-theme-"] :is(.ringa-reel,.ringa-reel-media,.ringa-reels-snap){
  background:#000!important;
}
body.page-template-page-videos[class*="ringa-theme-"] :is(.ringa-reel-meta,.ringa-reel-actions,.ringa-reels-topglass,.ringa-reel-sound){
  color:#fff!important;
}

/* Theme-selected focus is visible on both light and dark themes without moving controls. */
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] :is(button,a,input,textarea,select):focus-visible{
  outline:2px solid color-mix(in srgb,var(--ringa-theme-accent) 72%,#fff)!important;
  outline-offset:2px;
}


/* v0.86 final cascade lock: Vidz seeker must remain visible after all generic
   form-control safety rules. The 28px element stays transparent; only its 3px
   bottom paint represents progress. */
body.page-template-page-videos[class*="ringa-theme-"] .ringa-reel-seek-v013{
  background:linear-gradient(90deg,var(--ringa-theme-progress-fill) 0 var(--ringa-reel-progress,0%),var(--ringa-theme-progress-track) var(--ringa-reel-progress,0%) 100%) left bottom/100% 3px no-repeat!important;
  background-color:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
body.page-template-page-videos[class*="ringa-theme-"] .ringa-reel-seek-v013::-webkit-slider-runnable-track,
body.page-template-page-videos[class*="ringa-theme-"] .ringa-reel-seek-v013::-moz-range-track{
  background:transparent!important;
  border:0!important;
}

/* =========================================================
   Ringa v0.90 voice-note player theme contract
   Custom waveform controls inherit the message bubble palette; ordinary theme
   button/input rules must never turn them into full-size pills or text fields.
   ========================================================= */
body[class*="ringa-theme-"] .ringa-message-voice-player .ringa-message-voice-toggle,
body[class*="ringa-theme-"] .ringa-message-voice-player .ringa-message-voice-wave{
  border:0!important;box-shadow:none!important;color:inherit!important;
}
body[class*="ringa-theme-"] .ringa-message-voice-player .ringa-message-voice-wave{
  background:transparent!important;
}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-message-row.is-theirs .ringa-message-voice-toggle{
  background:var(--ringa-theme-soft)!important;color:var(--ringa-theme-text)!important;
}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-message-row.is-theirs .ringa-message-voice-wave-base{
  color:var(--ringa-theme-text)!important;
}
body:not(.ringa-theme-midnight)[class*="ringa-theme-"] .ringa-message-row.is-theirs .ringa-message-voice-wave-progress{
  color:var(--ringa-theme-accent)!important;
}
body[class*="ringa-theme-"] .ringa-message-row.is-mine .ringa-message-voice-toggle{
  background:rgba(255,255,255,.14)!important;color:#fff!important;
}
body[class*="ringa-theme-"] .ringa-message-row.is-mine .ringa-message-voice-wave-base,
body[class*="ringa-theme-"] .ringa-message-row.is-mine .ringa-message-voice-wave-progress,
body[class*="ringa-theme-"] .ringa-message-row.is-mine .ringa-message-voice-clock{
  color:#fff!important;
}
