/* Web-only consent UI. Keep the client and promo public copies in sync. */
.ruplex-cookie {
  --rc-bg: #fff; --rc-text: #172033; --rc-muted: #627086; --rc-line: #e5eaf1;
  --rc-soft: #f5f7fb; --rc-blue: #2563eb; --rc-on: #fff;
  box-sizing: border-box; position: fixed; z-index: 2147483000;
  bottom: max(24px, env(safe-area-inset-bottom)); left: max(24px, env(safe-area-inset-left));
  width: min(440px, calc(100vw - 48px)); max-height: calc(100dvh - 48px);
  overflow-y: auto; overscroll-behavior: contain; padding: 24px;
  color: var(--rc-text); background: var(--rc-bg); border: 1px solid var(--rc-line);
  border-radius: 24px; box-shadow: 0 16px 64px #02061726, 0 2px 8px #0206170a;
  font: 14px/1.55 system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  color-scheme: light;
}
.ruplex-cookie *, .ruplex-cookie *::before, .ruplex-cookie *::after { box-sizing: border-box; }
.ruplex-cookie .rc-heading { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; }
.ruplex-cookie .rc-icon { display: grid; place-items: center; flex: 0 0 44px; height: 44px; border-radius: 15px; background: #2563eb12; color: var(--rc-blue); }
.ruplex-cookie .rc-eyebrow { font-size: 9px; font-weight: 700; letter-spacing: 1.6px; color: var(--rc-muted); }
.ruplex-cookie h2 { font: 650 17px/1.35 system-ui, sans-serif; letter-spacing: -.4px; margin: 3px 0 0; color: var(--rc-text); }
.ruplex-cookie .rc-description { margin: 0 0 18px; color: var(--rc-muted); font-size: 13px; }
.ruplex-cookie .rc-options { border: 1px solid var(--rc-line); border-radius: 16px; overflow: hidden; margin-bottom: 14px; background: var(--rc-soft); }
.ruplex-cookie .rc-option { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px; cursor: pointer; }
.ruplex-cookie .rc-option + .rc-option { border-top: 1px solid var(--rc-line); }
.ruplex-cookie .rc-option-title { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; font-size: 13px; font-weight: 650; }
.ruplex-cookie .rc-option-text { display: block; margin-top: 4px; font-size: 11px; line-height: 1.5; color: var(--rc-muted); }
.ruplex-cookie .rc-badge { font-size: 9px; font-weight: 500; color: var(--rc-muted); }
.ruplex-cookie .rc-toggle { appearance: none; -webkit-appearance: none; flex: 0 0 38px; width: 38px; height: 23px; margin: 0; border: 1px solid #8793a6; border-radius: 20px; background: #8793a6; position: relative; cursor: pointer; }
.ruplex-cookie .rc-toggle::after { content: ''; position: absolute; width: 17px; height: 17px; border-radius: 50%; background: #fff; top: 2px; left: 2px; }
.ruplex-cookie .rc-toggle:checked { background: var(--rc-blue); border-color: var(--rc-blue); }
.ruplex-cookie .rc-toggle:checked::after { transform: translateX(15px); }
.ruplex-cookie .rc-toggle:disabled { opacity: .5; cursor: not-allowed; }
.ruplex-cookie .rc-policy { display: inline-block; font-size: 11px; color: var(--rc-blue); text-decoration: underline; text-underline-offset: 3px; margin-bottom: 18px; }
.ruplex-cookie .rc-actions { display: flex; gap: 8px; }
.ruplex-cookie .rc-button { flex: 1; min-height: 44px; padding: 11px 12px; border-radius: 12px; border: 1px solid transparent; font: 600 12px/1.4 system-ui, sans-serif; cursor: pointer; text-align: center; }
.ruplex-cookie .rc-primary { background: var(--rc-blue); color: var(--rc-on); }
.ruplex-cookie .rc-secondary { background: var(--rc-soft); color: var(--rc-text); border-color: var(--rc-line); }
.ruplex-cookie .rc-button:hover { filter: brightness(.94); }
.ruplex-cookie :focus-visible { outline: 3px solid var(--rc-blue); outline-offset: 4px; }
.ruplex-cookie .rc-storage-note { font-size: 12px; color: var(--rc-muted); margin: 0 0 12px; }
.ruplex-cookie [hidden] { display: none !important; }
.ruplex-cookie .rc-sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
@media (prefers-color-scheme: dark) {
  .ruplex-cookie { --rc-bg: #172131; --rc-text: #f1f5f9; --rc-muted: #a8b5c9; --rc-line: #324056; --rc-soft: #1e2b3f; --rc-blue: #78a9ff; --rc-on: #0c1b34; color-scheme: dark; }
}
.ruplex-cookie[data-theme="dark"] { --rc-bg: #172131; --rc-text: #f1f5f9; --rc-muted: #a8b5c9; --rc-line: #324056; --rc-soft: #1e2b3f; --rc-blue: #78a9ff; --rc-on: #0c1b34; color-scheme: dark; }
@media (max-width: 520px) {
  .ruplex-cookie { left: max(12px, env(safe-area-inset-left)); right: max(12px, env(safe-area-inset-right)); bottom: max(12px, env(safe-area-inset-bottom)); width: auto; max-height: calc(100dvh - 24px); padding: 20px; border-radius: 20px; }
}
@media (max-width: 350px) { .ruplex-cookie .rc-actions { flex-direction: column-reverse; } .ruplex-cookie { padding: 16px; } }
@media (forced-colors: active) { .ruplex-cookie .rc-toggle:checked { background: Highlight; } .ruplex-cookie .rc-toggle::after { background: CanvasText; } }
