/* Platform primitives. Existing palette tokens remain the compatibility API.
   New components consume these scales instead of inventing local values. */
:root {
  --ds-space-1: .25rem;
  --ds-space-2: .5rem;
  --ds-space-3: .75rem;
  --ds-space-4: 1rem;
  --ds-space-5: 1.5rem;
  --ds-space-6: 2rem;
  --ds-space-7: 3rem;
  --ds-space-8: 4rem;
  --ds-content-width: 76rem;
  --ds-reading-width: 46rem;
  --ds-control-height: 2.75rem;
  --ds-radius-control: .625rem;
  --ds-radius-panel: 1rem;
  --ds-motion-fast: 140ms;
  --ds-motion-normal: 220ms;
  --ds-layer-content: 0;
  --ds-layer-sticky: 20;
  --ds-layer-navigation: 100;
  --ds-layer-overlay: 200;
  --ds-layer-feedback: 300;
  --ds-surface: var(--ds-card-solid);
  --ds-surface-raised: var(--ds-card2);
  --ds-text-secondary: var(--ds-muted);
}

/* =========================================================
   DEENSTUDY DESIGN SYSTEM V50 – REDESIGN 2026
   ---------------------------------------------------------
   Ruhig, edel, minimalistisch (Referenz: rahmaniyyah.com / hudan.eu).
   Eine Quelle für: Farb-Tokens (7 Paletten x Light/Dark),
   Header, Drawer, Menüs, Back-to-top, Basis-Utilities.
   Seiten konsumieren die Variablen:
   --ds-bg, --ds-bg2, --ds-card, --ds-card-solid, --ds-text,
   --ds-muted, --ds-muted2, --ds-accent, --ds-accent2, --ds-accent3,
   --ds-border, --ds-border2, --ds-chip, --ds-chip-border
   ========================================================= */

/* ---------- Sprache (global) ---------- */
.ds-i18n{display:none!important;}
html:not([data-lang]) .ds-i18n[data-lang="de"],
html[data-lang="de"] .ds-i18n[data-lang="de"]{display:inline!important;}
html[data-lang="en"] .ds-i18n[data-lang="en"]{display:inline!important;}
html:not([data-lang]) .ds-i18n.lang-block[data-lang="de"],
html[data-lang="de"] .ds-i18n.lang-block[data-lang="de"]{display:block!important;}
html[data-lang="en"] .ds-i18n.lang-block[data-lang="en"]{display:block!important;}

/* ---------- Design-Tokens: Dark (Standardfläche für alle Paletten) ---------- */
html[data-ds-palette="orange"], html:not([data-ds-palette]){ --ds-bg:#0c0a08; --ds-bg2:#12100c; --ds-card:#15120e; --ds-card-solid:#15120e; --ds-text:#f2ede3; --ds-muted:rgba(242,237,227,.62); --ds-muted2:rgba(242,237,227,.82); --ds-accent:#d98e4a; --ds-accent2:#e5a86e; --ds-accent3:#f0c495; --ds-border:rgba(217,142,74,.20); --ds-border2:rgba(217,142,74,.12); --ds-chip:rgba(217,142,74,.09); --ds-chip-border:rgba(217,142,74,.20); }
html[data-ds-palette="teal"]{ --ds-bg:#080d0d; --ds-bg2:#0d1313; --ds-card:#101616; --ds-card-solid:#101616; --ds-text:#e9f0ee; --ds-muted:rgba(233,240,238,.62); --ds-muted2:rgba(233,240,238,.82); --ds-accent:#57b3a4; --ds-accent2:#7cc7ba; --ds-accent3:#a3d9d0; --ds-border:rgba(87,179,164,.20); --ds-border2:rgba(87,179,164,.12); --ds-chip:rgba(87,179,164,.09); --ds-chip-border:rgba(87,179,164,.20); }
html[data-ds-palette="green"]{ --ds-bg:#090c09; --ds-bg2:#0e120e; --ds-card:#111611; --ds-card-solid:#111611; --ds-text:#ecf1ea; --ds-muted:rgba(236,241,234,.62); --ds-muted2:rgba(236,241,234,.82); --ds-accent:#6fae80; --ds-accent2:#92c5a1; --ds-accent3:#b6dac1; --ds-border:rgba(111,174,128,.20); --ds-border2:rgba(111,174,128,.12); --ds-chip:rgba(111,174,128,.09); --ds-chip-border:rgba(111,174,128,.20); }
html[data-ds-palette="blue"]{ --ds-bg:#090b0f; --ds-bg2:#0e1116; --ds-card:#11141a; --ds-card-solid:#11141a; --ds-text:#eaeef4; --ds-muted:rgba(234,238,244,.62); --ds-muted2:rgba(234,238,244,.82); --ds-accent:#7396c4; --ds-accent2:#96b1d6; --ds-accent3:#b9cce6; --ds-border:rgba(115,150,196,.20); --ds-border2:rgba(115,150,196,.12); --ds-chip:rgba(115,150,196,.09); --ds-chip-border:rgba(115,150,196,.20); }
html[data-ds-palette="red"]{ --ds-bg:#0d0909; --ds-bg2:#130e0e; --ds-card:#171111; --ds-card-solid:#171111; --ds-text:#f2ebea; --ds-muted:rgba(242,235,234,.62); --ds-muted2:rgba(242,235,234,.82); --ds-accent:#c96f66; --ds-accent2:#d9938c; --ds-accent3:#e6b5b0; --ds-border:rgba(201,111,102,.20); --ds-border2:rgba(201,111,102,.12); --ds-chip:rgba(201,111,102,.09); --ds-chip-border:rgba(201,111,102,.20); }
html[data-ds-palette="gold"]{ --ds-bg:#0c0a06; --ds-bg2:#12100a; --ds-card:#16130c; --ds-card-solid:#16130c; --ds-text:#f2eddf; --ds-muted:rgba(242,237,223,.62); --ds-muted2:rgba(242,237,223,.82); --ds-accent:#c9a457; --ds-accent2:#dabd7f; --ds-accent3:#e8d3a6; --ds-border:rgba(201,164,87,.22); --ds-border2:rgba(201,164,87,.13); --ds-chip:rgba(201,164,87,.09); --ds-chip-border:rgba(201,164,87,.22); }
html[data-ds-palette="purple"]{ --ds-bg:#0b090e; --ds-bg2:#100e14; --ds-card:#141118; --ds-card-solid:#141118; --ds-text:#efecf4; --ds-muted:rgba(239,236,244,.62); --ds-muted2:rgba(239,236,244,.82); --ds-accent:#9c82c2; --ds-accent2:#b7a3d4; --ds-accent3:#d0c2e4; --ds-border:rgba(156,130,194,.20); --ds-border2:rgba(156,130,194,.12); --ds-chip:rgba(156,130,194,.09); --ds-chip-border:rgba(156,130,194,.20); }

/* ---------- Design-Tokens: Light (warmes Elfenbein statt Bonbonfarben) ---------- */
html[data-theme="light"][data-ds-palette="orange"], html[data-theme="light"]:not([data-ds-palette]){ --ds-bg:#faf7f1; --ds-bg2:#f3eee3; --ds-card:#ffffff; --ds-card-solid:#ffffff; --ds-text:#241e15; --ds-muted:rgba(36,30,21,.60); --ds-muted2:rgba(36,30,21,.80); --ds-accent:#b06c2f; --ds-accent2:#c9863f; --ds-accent3:#dda868; --ds-border:rgba(176,108,47,.20); --ds-border2:rgba(176,108,47,.12); --ds-chip:rgba(176,108,47,.08); --ds-chip-border:rgba(176,108,47,.18); }
html[data-theme="light"][data-ds-palette="teal"]{ --ds-bg:#f6faf8; --ds-bg2:#ebf3f0; --ds-card:#ffffff; --ds-card-solid:#ffffff; --ds-text:#152420; --ds-muted:rgba(21,36,32,.60); --ds-muted2:rgba(21,36,32,.80); --ds-accent:#2f7f72; --ds-accent2:#3f9787; --ds-accent3:#6bb3a6; --ds-border:rgba(47,127,114,.20); --ds-border2:rgba(47,127,114,.12); --ds-chip:rgba(47,127,114,.08); --ds-chip-border:rgba(47,127,114,.18); }
html[data-theme="light"][data-ds-palette="green"]{ --ds-bg:#f6faf5; --ds-bg2:#ecf3ea; --ds-card:#ffffff; --ds-card-solid:#ffffff; --ds-text:#17231a; --ds-muted:rgba(23,35,26,.60); --ds-muted2:rgba(23,35,26,.80); --ds-accent:#47795a; --ds-accent2:#5b9070; --ds-accent3:#84af94; --ds-border:rgba(71,121,90,.20); --ds-border2:rgba(71,121,90,.12); --ds-chip:rgba(71,121,90,.08); --ds-chip-border:rgba(71,121,90,.18); }
html[data-theme="light"][data-ds-palette="blue"]{ --ds-bg:#f6f8fb; --ds-bg2:#ebeff5; --ds-card:#ffffff; --ds-card-solid:#ffffff; --ds-text:#161d29; --ds-muted:rgba(22,29,41,.60); --ds-muted2:rgba(22,29,41,.80); --ds-accent:#3f6494; --ds-accent2:#537cad; --ds-accent3:#7f9fc6; --ds-border:rgba(63,100,148,.20); --ds-border2:rgba(63,100,148,.12); --ds-chip:rgba(63,100,148,.08); --ds-chip-border:rgba(63,100,148,.18); }
html[data-theme="light"][data-ds-palette="red"]{ --ds-bg:#fbf7f6; --ds-bg2:#f5ecea; --ds-card:#ffffff; --ds-card-solid:#ffffff; --ds-text:#291a18; --ds-muted:rgba(41,26,24,.60); --ds-muted2:rgba(41,26,24,.80); --ds-accent:#a04b43; --ds-accent2:#b96158; --ds-accent3:#d18a82; --ds-border:rgba(160,75,67,.20); --ds-border2:rgba(160,75,67,.12); --ds-chip:rgba(160,75,67,.08); --ds-chip-border:rgba(160,75,67,.18); }
html[data-theme="light"][data-ds-palette="gold"]{ --ds-bg:#faf7ef; --ds-bg2:#f4eede; --ds-card:#ffffff; --ds-card-solid:#ffffff; --ds-text:#241f12; --ds-muted:rgba(36,31,18,.60); --ds-muted2:rgba(36,31,18,.80); --ds-accent:#a07f35; --ds-accent2:#b99a4b; --ds-accent3:#d0b878; --ds-border:rgba(160,127,53,.22); --ds-border2:rgba(160,127,53,.13); --ds-chip:rgba(160,127,53,.08); --ds-chip-border:rgba(160,127,53,.20); }
html[data-theme="light"][data-ds-palette="purple"]{ --ds-bg:#f9f7fb; --ds-bg2:#f0edf5; --ds-card:#ffffff; --ds-card-solid:#ffffff; --ds-text:#1f1928; --ds-muted:rgba(31,25,40,.60); --ds-muted2:rgba(31,25,40,.80); --ds-accent:#6d5494; --ds-accent2:#846bab; --ds-accent3:#a992c4; --ds-border:rgba(109,84,148,.20); --ds-border2:rgba(109,84,148,.12); --ds-chip:rgba(109,84,148,.08); --ds-chip-border:rgba(109,84,148,.18); }

/* Abgeleitete Tokens */
html{ --ds-shadow:0 16px 40px rgba(10,8,5,.10); --ds-shadow2:0 28px 70px rgba(10,8,5,.16); --ds-radius:14px; --ds-radius-lg:20px; --ds-card2:var(--ds-card-solid); --ds-font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif; --ds-font-arabic:"Amiri","Noto Naskh Arabic",serif; }
html:not([data-theme="light"]){ --ds-shadow:0 18px 44px rgba(0,0,0,.42); --ds-shadow2:0 30px 80px rgba(0,0,0,.55); }

/* ---------- Globale Grundfläche + Kalligraphie-Muster ---------- */
html{ background:var(--ds-bg); margin:0; padding:0; width:100%; min-height:100%; }
body{ background-color:var(--ds-bg); margin:0; padding:0; width:100%; min-height:100%; }
body{
  background-image:url("/assets/img/ds-arabesque.svg");
  background-size:420px 420px;
  background-attachment:fixed;
  background-position:center top;
}
::selection{ background:color-mix(in srgb,var(--ds-accent) 26%,transparent); }

/* Altlasten: Seiten-Paddings, die für den früheren Sticky-Header gerechnet waren */
html body .ds-app-page,
html body [id^="ds-app-"].ds-app-page,
html body #ds-quran.dsq-wrap,
html body .dsq-wrap{ padding-top:0!important; margin-top:0!important; }
html body .ds-app-page .ds-app-wrap,
html body .ds-app-page .ds-app-shell,
html body .ds-app-page .ds-app-container,
html body #ds-quran .dsq-container{ padding-top:0!important; margin-top:0!important; }

/* ---------- Header-Grundgerüst ---------- */
#ds-header.ds-header{
  position:absolute; top:0; left:0; right:0;
  z-index:2147482500;
  background:transparent; border:0; box-shadow:none;
  font-family:var(--ds-font);
  color:var(--ds-text);
}
#ds-header.ds-header, #ds-header.ds-header *{ box-sizing:border-box; }
#ds-header .ds-bar{
  display:grid; grid-template-columns:1fr auto 1fr; align-items:center;
  gap:12px; min-height:52px; padding:8px clamp(16px,3vw,44px);
}

/* Hauptnavigation links: ruhige Versalien mit Hairline-Unterstrich */
#ds-header .ds-mainnav{ display:flex; align-items:center; gap:clamp(10px,1.6vw,26px); justify-self:start; }
#ds-header .ds-link{
  position:relative; display:inline-flex; align-items:center;
  padding:8px 2px; border:0; background:transparent;
  color:var(--ds-muted2); text-decoration:none;
  font-size:11.5px; font-weight:600; letter-spacing:.16em; text-transform:uppercase;
  transition:color .18s ease;
}
#ds-header .ds-link::after{
  content:""; position:absolute; left:0; right:100%; bottom:2px; height:1px;
  background:var(--ds-accent); transition:right .22s ease;
}
#ds-header .ds-link:hover{ color:var(--ds-text); background:transparent; border:0; }
#ds-header .ds-link:hover::after{ right:0; }
#ds-header .ds-link.is-active{ color:var(--ds-text); background:transparent; border:0; }
#ds-header .ds-link.is-active::after{ right:0; }
#ds-header .ds-link.is-current-section{ color:var(--ds-text); }

/* Logo mittig */
#ds-header .ds-center{ justify-self:center; }
#ds-header .ds-brand{ display:inline-flex; align-items:center; text-decoration:none; }
#ds-header .ds-logo-box{ display:inline-flex; align-items:center; }
#ds-header .ds-logo{ height:clamp(30px,3.4vw,38px); width:auto; display:block; }

/* Aktionen rechts */
#ds-header .ds-right{ display:flex; align-items:center; gap:8px; justify-self:end; }
#ds-header .ds-iconbtn{
  display:inline-flex; align-items:center; justify-content:center;
  width:36px; height:36px; padding:0;
  border-radius:11px; border:1px solid var(--ds-border2);
  background:color-mix(in srgb,var(--ds-card-solid) 55%,transparent);
  color:var(--ds-text); cursor:pointer;
  backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
  transition:border-color .18s ease, background .18s ease;
}
#ds-header .ds-iconbtn:hover{
  border-color:color-mix(in srgb,var(--ds-accent) 45%,transparent);
  background:color-mix(in srgb,var(--ds-accent) 10%,var(--ds-card-solid));
}
#ds-header .ds-iconbtn:focus-visible,
#ds-header .ds-link:focus-visible,
#ds-header .ds-account-chip:focus-visible{
  outline:2px solid color-mix(in srgb,var(--ds-accent) 60%,transparent); outline-offset:2px;
}
.ds-svg{ width:17px; height:17px; display:block; fill:none; stroke:currentColor; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }

/* Palette-Button */
#ds-header .ds-palette-wrap{ position:relative; display:inline-flex; align-items:center; }
#ds-header .ds-palettebtn{ width:auto; min-width:0; gap:8px; padding:0 12px; font-family:var(--ds-font); }
.ds-palette-dot,.ds-palette-option-dot{
  width:12px; height:12px; border-radius:999px; display:inline-flex; flex:0 0 auto;
  background:linear-gradient(135deg,var(--ds-accent),var(--ds-accent2));
  border:1px solid rgba(127,127,127,.25);
}
.ds-palette-option-dot[data-palette="orange"],.ds-palette-dot[data-palette="orange"]{background:linear-gradient(135deg,#d98e4a,#e5a86e);}
.ds-palette-option-dot[data-palette="teal"],.ds-palette-dot[data-palette="teal"]{background:linear-gradient(135deg,#57b3a4,#7cc7ba);}
.ds-palette-option-dot[data-palette="green"],.ds-palette-dot[data-palette="green"]{background:linear-gradient(135deg,#6fae80,#92c5a1);}
.ds-palette-option-dot[data-palette="blue"],.ds-palette-dot[data-palette="blue"]{background:linear-gradient(135deg,#7396c4,#96b1d6);}
.ds-palette-option-dot[data-palette="red"],.ds-palette-dot[data-palette="red"]{background:linear-gradient(135deg,#c96f66,#d9938c);}
.ds-palette-option-dot[data-palette="gold"],.ds-palette-dot[data-palette="gold"]{background:linear-gradient(135deg,#c9a457,#dabd7f);}
.ds-palette-option-dot[data-palette="purple"],.ds-palette-dot[data-palette="purple"]{background:linear-gradient(135deg,#9c82c2,#b7a3d4);}
.ds-palette-option-dot[data-palette="basic"],.ds-palette-dot[data-palette="basic"]{background:linear-gradient(135deg,#f8fafc 0 48%,#18181b 52% 100%);border-color:rgba(148,163,184,.55);}
#ds-header .ds-palette-label{ font-size:11px; font-weight:600; letter-spacing:.04em; color:currentColor; }

/* Sprach-Button */
#ds-header .ds-lang-wrap{ position:relative; display:inline-flex; }
#ds-header .ds-langbtn{ width:auto; gap:7px; padding:0 11px; font-family:var(--ds-font); }
#ds-header .ds-langcode{ font-size:11px; font-weight:600; letter-spacing:.08em; }

/* Konto-Chip */
#ds-header .ds-account-wrap{ position:relative; display:inline-flex; }
#ds-header .ds-account-chip{
  display:inline-flex; align-items:center; gap:8px; height:36px; padding:0 13px;
  border-radius:11px; border:1px solid var(--ds-border2);
  background:color-mix(in srgb,var(--ds-card-solid) 55%,transparent);
  color:var(--ds-text); cursor:pointer; font-family:var(--ds-font);
  font-size:12px; font-weight:600; letter-spacing:.02em;
  backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
  transition:border-color .18s ease, background .18s ease;
  max-width:220px;
}
#ds-header .ds-account-chip:hover{
  border-color:color-mix(in srgb,var(--ds-accent) 45%,transparent);
  background:color-mix(in srgb,var(--ds-accent) 10%,var(--ds-card-solid));
}
#ds-header .ds-account-chip [data-ds-account-text]{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
#ds-header .ds-account-avatar{
  width:22px; height:22px; border-radius:999px; flex:0 0 auto;
  display:inline-flex; align-items:center; justify-content:center;
  position:relative; overflow:hidden; isolation:isolate;
  background:color-mix(in srgb,var(--ds-accent) 18%,transparent);
  color:var(--ds-accent); font-size:10px; font-weight:700;
  background-size:cover; background-position:center;
}
select{ color-scheme:dark; }
select option,select optgroup{ background:var(--ds-card-solid,#0e0b08); color:var(--ds-text,#fff); }
html[data-theme="light"] select{ color-scheme:light; }
html[data-theme="light"] select option,html[data-theme="light"] select optgroup{ background:var(--ds-card-solid,#fff); color:var(--ds-text,#241e15); }
#ds-header .ds-account-avatar > img{
  display:block!important; width:100%!important; height:100%!important;
  min-width:100%!important; min-height:100%!important;
  max-width:100%!important; max-height:100%!important;
  object-fit:cover!important; object-position:center!important;
  border:0!important; border-radius:inherit!important; margin:0!important; padding:0!important;
  position:absolute!important; inset:0!important; transform:none!important;
}
#ds-header .ds-account-caret{ font-size:12px; line-height:1; opacity:.55; transform:translateY(-1px); }

/* ---------- Dropdown-Menüs (im Header und nach body portalisiert) ---------- */
.ds-account-menu,.ds-lang-menu,.ds-palette-menu{
  display:none; z-index:2147483646;
  min-width:210px; max-width:calc(100vw - 20px); max-height:min(70vh,440px);
  overflow-x:hidden; overflow-y:auto; overscroll-behavior:contain;
  padding:7px; border-radius:var(--ds-radius);
  border:1px solid var(--ds-border);
  background:var(--ds-card-solid);
  color:var(--ds-text); box-shadow:var(--ds-shadow2);
  font-family:var(--ds-font); box-sizing:border-box;
}
.ds-account-menu *,.ds-lang-menu *,.ds-palette-menu *{ box-sizing:border-box; max-width:100%; }
.ds-account-menu[data-open="1"],.ds-lang-menu[data-open="1"],.ds-palette-menu[data-open="1"]{
  display:grid; gap:2px; animation:dsMenuIn .16s ease;
}
@keyframes dsMenuIn{ from{ opacity:0; transform:translateY(-4px);} to{ opacity:1; transform:none;} }

/* Position im Header (vor Portalisierung) */
#ds-header .ds-account-menu,#ds-header .ds-lang-menu,#ds-header .ds-palette-menu{
  position:absolute; top:calc(100% + 8px); right:0;
}
/* Position nach Portalisierung an body (JS setzt die Variablen) */
body > .ds-account-menu{ position:fixed; top:var(--ds-account-menu-top,52px); right:var(--ds-account-menu-right,16px); left:auto; }
body > .ds-lang-menu{ position:fixed; top:var(--ds-lang-menu-top,52px); right:var(--ds-lang-menu-right,16px); left:auto; }
body > .ds-palette-menu{ position:fixed; top:var(--ds-palette-menu-top,52px); right:var(--ds-palette-menu-right,16px); left:auto; width:212px; }

.ds-account-menu a,.ds-account-menu button,.ds-lang-menu button,.ds-palette-menu button{
  display:flex; align-items:center; gap:10px; width:100%; min-width:0; min-height:40px;
  padding:0 12px; border:0; border-radius:10px; background:transparent;
  color:var(--ds-muted2); text-decoration:none; text-align:left; cursor:pointer;
  font-family:var(--ds-font); font-size:13px; font-weight:500; line-height:1.3;
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
  transition:background .15s ease,color .15s ease;
}
.ds-account-menu a:hover,.ds-account-menu button:hover,
.ds-lang-menu button:hover,.ds-palette-menu button:hover,
.ds-lang-menu button.is-active,.ds-palette-menu button.is-active{
  background:color-mix(in srgb,var(--ds-accent) 10%,transparent); color:var(--ds-text);
}
.ds-account-mobile-tools{ display:none; }
.ds-account-mobile-tools-label{
  padding:9px 12px 5px; color:var(--ds-muted); font-size:9.5px; font-weight:700;
  letter-spacing:.16em; text-transform:uppercase;
}
.ds-account-mobile-palette{
  display:grid; grid-template-columns:repeat(7,1fr); gap:5px; padding:7px 8px 9px;
  border-bottom:1px solid var(--ds-border2);
}
.ds-account-mobile-palette button{
  min-height:32px; height:32px; padding:0; justify-content:center; border:1px solid transparent;
}
.ds-account-mobile-palette button.is-active{
  border-color:var(--ds-accent); background:color-mix(in srgb,var(--ds-accent) 13%,transparent);
}
.ds-account-mobile-palette .ds-palette-option-dot{ width:14px; height:14px; }
#ds-header [hidden],.ds-drawer [hidden],
body > .ds-account-menu [hidden],body > .ds-lang-menu [hidden]{ display:none!important; }

/* ---------- Seitlicher Menü-Button ---------- */
.ds-side-trigger{
  position:fixed; left:clamp(12px,1.4vw,20px); top:calc(var(--ds-header-h,52px) + 12px);
  z-index:2147482600;
  display:inline-flex; align-items:center; justify-content:center;
  width:38px; height:38px; padding:0; cursor:pointer;
  border-radius:11px; border:1px solid var(--ds-border2);
  background:color-mix(in srgb,var(--ds-card-solid) 78%,transparent);
  color:var(--ds-text);
  backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
  transition:top .2s ease,border-color .18s ease,background .18s ease,left .2s ease;
}
html.ds-page-scrolled .ds-side-trigger{ top:12px; }
.ds-side-trigger:hover{
  border-color:color-mix(in srgb,var(--ds-accent) 45%,transparent);
  background:color-mix(in srgb,var(--ds-accent) 10%,var(--ds-card-solid));
}
.ds-header.is-drawer-open .ds-side-trigger,
html.ds-drawer-open .ds-side-trigger{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}

/* ---------- Drawer (Bereichsmenü) ---------- */
.ds-drawer-overlay{
  position:fixed; inset:0; z-index:2147483000;
  background:rgba(8,6,4,.55);
  backdrop-filter:blur(3px); -webkit-backdrop-filter:blur(3px);
  opacity:0; visibility:hidden; pointer-events:none;
  transition:opacity .22s ease,visibility .22s ease;
}
.ds-drawer-overlay[aria-hidden="false"]{ opacity:1; visibility:visible; pointer-events:auto; }

.ds-drawer{
  position:fixed; top:0; left:0; bottom:0; z-index:2147483200;
  width:min(360px,92vw); height:100dvh;
  display:flex; flex-direction:column;
  background:var(--ds-card-solid);
  border-right:1px solid var(--ds-border2);
  box-shadow:var(--ds-shadow2);
  color:var(--ds-text); font-family:var(--ds-font);
  transform:translateX(-104%); visibility:hidden;
  transition:transform .26s cubic-bezier(.22,.8,.3,1),visibility .26s;
}
.ds-drawer[aria-hidden="false"],
.ds-header.is-drawer-open .ds-drawer{ transform:none; visibility:visible; }
.ds-drawer, .ds-drawer *{ box-sizing:border-box; }

.ds-drawer-head{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  padding:18px 18px 14px; border-bottom:1px solid var(--ds-border2);
}
.ds-drawer-titlebox{ display:grid; gap:3px; min-width:0; }
.ds-drawer-titlebox > span{ font-size:10px; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--ds-accent); }
.ds-drawer-titlebox strong{ font-size:16px; font-weight:600; letter-spacing:-.01em; }
.ds-drawer-close{
  display:inline-flex; align-items:center; justify-content:center;
  width:34px; height:34px; padding:0; cursor:pointer;
  border-radius:10px; border:1px solid var(--ds-border2);
  background:transparent; color:var(--ds-text);
  transition:border-color .18s ease,background .18s ease;
}
.ds-drawer-close:hover{ border-color:color-mix(in srgb,var(--ds-accent) 45%,transparent); background:color-mix(in srgb,var(--ds-accent) 9%,transparent); }

.ds-drawer-account{
  display:flex; align-items:center; gap:12px;
  margin:14px 14px 0; padding:12px 14px;
  border:1px solid var(--ds-border2); border-radius:var(--ds-radius);
  background:color-mix(in srgb,var(--ds-accent) 5%,transparent);
}
.ds-drawer-account-avatar{
  width:38px; height:38px; border-radius:999px; flex:0 0 auto;
  display:inline-flex; align-items:center; justify-content:center;
  position:relative; overflow:hidden; isolation:isolate;
  background:color-mix(in srgb,var(--ds-accent) 16%,transparent);
  color:var(--ds-accent); font-size:13px; font-weight:700; letter-spacing:.02em;
  background-size:cover; background-position:center;
}
.ds-drawer-account-avatar > img{
  display:block!important; width:100%!important; height:100%!important;
  min-width:100%!important; min-height:100%!important;
  max-width:100%!important; max-height:100%!important;
  object-fit:cover!important; object-position:center!important;
  border:0!important; border-radius:inherit!important; margin:0!important; padding:0!important;
  position:absolute!important; inset:0!important; transform:none!important;
}
.ds-drawer-account > div{ display:grid; gap:1px; min-width:0; }
.ds-drawer-account strong{ font-size:14px; font-weight:600; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ds-drawer-account span{ font-size:12px; color:var(--ds-muted); }

.ds-drawer-account-actions{ display:grid; gap:2px; padding:10px 14px 4px; }
.ds-drawer-account-actions a{
  display:flex; align-items:center; min-height:38px; padding:0 12px;
  border-radius:10px; color:var(--ds-muted2); text-decoration:none;
  font-size:13px; font-weight:500;
  transition:background .15s ease,color .15s ease;
}
.ds-drawer-account-actions a:hover{ background:color-mix(in srgb,var(--ds-accent) 10%,transparent); color:var(--ds-text); }

.ds-drawer-scroll{ flex:1; overflow-y:auto; overscroll-behavior:contain; padding:8px 14px 22px; }
.ds-drawer-scroll::-webkit-scrollbar{ width:8px; }
.ds-drawer-scroll::-webkit-scrollbar-thumb{ background:color-mix(in srgb,var(--ds-accent) 22%,transparent); border-radius:99px; }

.ds-drawer-section{ display:block; border-bottom:1px solid var(--ds-border2); }
.ds-drawer-section:last-child{ border-bottom:0; }
.ds-drawer-section-title{
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  padding:14px 10px; cursor:pointer; user-select:none; border:0; outline:none;
}
.ds-drawer-section-title > span{
  font-size:10.5px; font-weight:600; letter-spacing:.18em; text-transform:uppercase;
  color:var(--ds-muted2);
}
.ds-drawer-section-title:focus-visible{ box-shadow:0 0 0 2px color-mix(in srgb,var(--ds-accent) 40%,transparent) inset; border-radius:8px; }
.ds-drawer-section:not([data-current="1"]) > .ds-drawer-section-title::after{
  content:"+"; width:26px; min-width:26px; height:26px;
  display:inline-flex; align-items:center; justify-content:center;
  border-radius:999px; border:1px solid var(--ds-border);
  background:transparent; color:var(--ds-accent);
  font-size:15px; font-weight:500;
}
.ds-drawer-section[data-open="1"]:not([data-current="1"]) > .ds-drawer-section-title::after{ content:"−"; }
.ds-drawer-section[data-current="1"] > .ds-drawer-section-title::after{
  content:"Aktiver Bereich"; padding:4px 10px; border-radius:999px;
  border:1px solid var(--ds-border); color:var(--ds-accent);
  background:color-mix(in srgb,var(--ds-accent) 8%,transparent);
  font-size:9.5px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; white-space:nowrap;
}
html[data-lang="en"] .ds-drawer-section[data-current="1"] > .ds-drawer-section-title::after{ content:"Active section"; }

.ds-drawer-section > .ds-drawer-links{ display:none; gap:2px; padding:0 4px 14px; }
.ds-drawer-section[data-open="1"] > .ds-drawer-links{ display:grid; }
.ds-drawer-links > a{
  display:flex; align-items:center; min-height:38px; padding:0 12px;
  border-radius:10px; color:var(--ds-muted2); text-decoration:none;
  font-size:13.5px; font-weight:500;
  transition:background .15s ease,color .15s ease,box-shadow .15s ease;
}
.ds-drawer-links > a:hover{ background:color-mix(in srgb,var(--ds-accent) 10%,transparent); color:var(--ds-text); }
.ds-drawer-links > a.is-active{
  background:color-mix(in srgb,var(--ds-accent) 16%,var(--ds-card2)); color:var(--ds-text);
  box-shadow:inset 3px 0 0 var(--ds-accent),0 0 22px color-mix(in srgb,var(--ds-accent) 10%,transparent);
  font-weight:800;
}

.ds-drawer-nested{ display:grid; }
.ds-drawer-nested-toggle{
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  min-height:38px; padding:0 12px; border:0; border-radius:10px;
  background:transparent; color:var(--ds-muted2); cursor:pointer;
  font-family:var(--ds-font); font-size:13.5px; font-weight:500; text-align:left;
  transition:background .15s ease,color .15s ease;
}
.ds-drawer-nested-toggle:hover{ background:color-mix(in srgb,var(--ds-accent) 10%,transparent); color:var(--ds-text); }
.ds-drawer-nested-toggle em{
  font-style:normal; color:var(--ds-accent); font-size:15px; font-weight:500;
  width:22px; height:22px; display:inline-flex; align-items:center; justify-content:center;
  border:1px solid var(--ds-border); border-radius:999px;
}
.ds-drawer-nested-links{ display:none; padding:2px 0 6px 14px; }
.ds-drawer-nested[data-open="1"] > .ds-drawer-nested-links{ display:grid; gap:2px; }
.ds-drawer-nested-links > a{
  display:flex; align-items:center; min-height:34px; padding:0 12px;
  border-radius:9px; color:var(--ds-muted); text-decoration:none;
  font-size:13px; font-weight:500;
  transition:background .15s ease,color .15s ease,box-shadow .15s ease;
}
.ds-drawer-nested-links > a:hover{ background:color-mix(in srgb,var(--ds-accent) 10%,transparent); color:var(--ds-text); }
.ds-drawer-nested-links > a.is-active{ background:color-mix(in srgb,var(--ds-accent) 14%,var(--ds-card2));color:var(--ds-text);box-shadow:inset 3px 0 0 var(--ds-accent),0 0 18px color-mix(in srgb,var(--ds-accent) 9%,transparent);font-weight:800; }

/* Scroll-Verhalten Drawer */
html.ds-drawer-lock, html.ds-drawer-lock body{ overflow:auto!important; }
@media (max-width:1050px){
  html.ds-drawer-open, html.ds-drawer-open body{ overflow:hidden!important; }
}

/* Desktop: Drawer schiebt die Seite nach rechts (Push-Modus) */
@media (min-width:1051px){
  html{ --ds-drawer-push-w:360px; }
  html.ds-drawer-open body{ overflow:auto!important; overflow-x:hidden!important; }
  html.ds-drawer-open body .ds-drawer-overlay,
  html.ds-drawer-open body .ds-drawer-overlay[aria-hidden="false"]{
    display:none!important; opacity:0!important; visibility:hidden!important; pointer-events:none!important;
  }
  html.ds-drawer-open body .ds-drawer{ width:var(--ds-drawer-push-w); max-width:var(--ds-drawer-push-w); box-shadow:none!important; border-right:0!important; }
  html.ds-drawer-open body > main,
  html.ds-drawer-open body > #content,
  html.ds-drawer-open body > .site,
  html.ds-drawer-open body > .site-main,
  html.ds-drawer-open body > .page,
  html.ds-drawer-open body > .content,
  html.ds-drawer-open body > .ds-page-main,
  html.ds-drawer-open body > [class*="ds-page"],
  html.ds-drawer-open body > [id^="ds-"]{
    margin-left:var(--ds-drawer-push-w)!important;
    width:calc(100vw - var(--ds-drawer-push-w))!important;
    max-width:calc(100vw - var(--ds-drawer-push-w))!important;
    transition:margin-left .2s ease,width .2s ease,max-width .2s ease!important;
  }
  html.ds-drawer-open body > #ds-header{
    left:0!important;
    right:auto!important;
    margin-left:var(--ds-drawer-push-w)!important;
    width:calc(100vw - var(--ds-drawer-push-w))!important;
    max-width:calc(100vw - var(--ds-drawer-push-w))!important;
  }
  html.ds-drawer-open body > .ds-drawer-overlay,
  html.ds-drawer-open body > .ds-side-trigger,
  html.ds-drawer-open body > .ds-back-to-top,
  html.ds-drawer-open body > .ds-account-menu,
  html.ds-drawer-open body > .ds-lang-menu,
  html.ds-drawer-open body > .ds-palette-menu{
    margin-left:0!important; width:auto!important; max-width:none!important;
  }
  html.ds-drawer-open body .ds-side-trigger{ left:calc(var(--ds-drawer-push-w) + 14px); }
  html.ds-drawer-open body .dsq-player{
    left:var(--ds-drawer-push-w)!important;
    width:calc(100vw - var(--ds-drawer-push-w))!important;
    max-width:calc(100vw - var(--ds-drawer-push-w))!important;
  }
  html.ds-drawer-open body .ds-app-shell{ margin-left:0!important; }
}

/* ---------- Mobiler Bereichs-Button in der Leiste ---------- */
#ds-header .ds-mobile-section-wrap{ display:none; }
#ds-verify .iv-meta span span{padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;}

/* ---------- Back-to-top ---------- */
.ds-back-to-top{
  position:fixed; right:18px; bottom:18px; z-index:2147482600;
  display:inline-flex; align-items:center; justify-content:center;
  width:40px; height:40px; padding:0; cursor:pointer;
  border-radius:12px; border:1px solid var(--ds-border2);
  background:color-mix(in srgb,var(--ds-card-solid) 82%,transparent);
  color:var(--ds-text); box-shadow:var(--ds-shadow);
  backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
  opacity:0; visibility:hidden; transform:translateY(8px);
  transition:opacity .2s ease,visibility .2s ease,transform .2s ease,border-color .18s ease,background .18s ease;
}
.ds-back-to-top.is-show{ opacity:1; visibility:visible; transform:none; }
.ds-back-to-top:hover{
  border-color:color-mix(in srgb,var(--ds-accent) 45%,transparent);
  background:color-mix(in srgb,var(--ds-accent) 10%,var(--ds-card-solid));
}
.ds-back-to-top svg{ width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }

/* Platform navigation: brand, destinations, account. */
@media (min-width:1051px){
  #ds-header .ds-bar{grid-template-columns:auto minmax(0,1fr) auto;gap:24px}
  #ds-header .ds-center{order:1;justify-self:start}
  #ds-header .ds-mainnav{order:2;justify-self:center;gap:clamp(12px,1.4vw,22px)}
  #ds-header .ds-right{order:3}
  #ds-header .ds-logo{max-width:180px;height:auto;max-height:38px}
  #ds-header .ds-link{font-size:13px;letter-spacing:0;text-transform:none;min-height:44px;white-space:nowrap}
}
@media (min-width:1051px) and (max-width:1350px){
  #ds-header .ds-bar{gap:14px;padding-inline:20px}
  #ds-header .ds-logo{max-width:140px}
  #ds-header .ds-palette-label{display:none}
  #ds-header .ds-account-chip [data-ds-account-text]{max-width:75px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
}
/* ---------- Responsive ---------- */
@media (max-width:1050px){
  #ds-header .ds-mainnav{ display:none; }
  .ds-side-trigger{ display:none; }
  #ds-header .ds-mobile-section-wrap{ display:inline-flex; justify-self:start; }
  #ds-header .ds-bar{ grid-template-columns:auto 1fr auto; min-height:50px; }
  #ds-header .ds-center{ justify-self:center; }
}
@media (max-width:960px){
  #ds-header .ds-palettebtn{ width:36px; min-width:36px; padding:0; }
  #ds-header .ds-palette-label{ display:none; }
}
@media (max-width:760px){
  html,body{ max-width:100%; overflow-x:hidden; }
  #ds-header{ max-width:100vw; overflow:visible; }
  #ds-header .ds-bar{ width:100%; max-width:100vw; padding:8px 10px; gap:6px; }
  #ds-header .ds-right{ min-width:0; gap:0; }
  #ds-header .ds-prayer-widget,
  #ds-header .ds-theme-toggle,
  #ds-header .ds-palette-wrap,
  #ds-header .ds-lang-wrap{ display:none!important; }
  #ds-header .ds-account-chip{ padding:0 10px; max-width:132px; }
  #ds-header .ds-account-chip [data-ds-account-text]{ display:none; }
  #ds-header .ds-account-caret{ display:none; }
  #ds-header .ds-logo{ height:28px; }
  .ds-account-mobile-tools{ display:block; border-bottom:1px solid var(--ds-border2); padding-bottom:5px; }
  .ds-account-mobile-tools > button,.ds-account-mobile-tools > a{ min-height:38px; }
  body > .ds-palette-menu{ right:10px; }
}
@media (prefers-reduced-motion:reduce){
  .ds-drawer,.ds-drawer-overlay,.ds-back-to-top,#ds-header .ds-link::after{ transition:none; }
  .ds-account-menu[data-open="1"],.ds-lang-menu[data-open="1"],.ds-palette-menu[data-open="1"]{ animation:none; }
}

/* Support follows the same palette depth and card treatment as the learning pages. */
#ds-tickets{
  background:
    radial-gradient(circle at 8% 0,color-mix(in srgb,var(--ds-accent) 20%,transparent),transparent 34%),
    radial-gradient(circle at 92% 4%,color-mix(in srgb,var(--ds-accent2) 13%,transparent),transparent 35%),
    var(--ds-bg)!important;
}
#ds-tickets .tk-card{
  background:color-mix(in srgb,var(--ds-card) 92%,transparent)!important;
  border-color:var(--ds-border)!important;
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}
#ds-tickets .tk-input,#ds-tickets .tk-row,#ds-tickets .tk-msg,#ds-tickets .tk-btn{
  background:var(--ds-card2)!important;
  color:var(--ds-text)!important;
}
#ds-tickets .tk-btn.primary{
  border:0!important;
  background:var(--ds-accent)!important;
  color:var(--ds-on-accent)!important;
}

/* =========================================================
   DEENSTUDY DESIGN CONTRACT
   The profile page is the canonical palette for every page.
   ========================================================= */
html[data-ds-palette="orange"],html:not([data-ds-palette]){--ds-bg:#070604!important;--ds-bg2:#0d0906!important;--ds-card:rgba(18,14,10,.86)!important;--ds-card2:rgba(27,18,11,.90)!important;--ds-card-solid:#1b120b!important;--ds-input:rgba(10,7,4,.90)!important;--ds-text:#fff7ed!important;--ds-muted:rgba(255,247,237,.58)!important;--ds-muted2:rgba(255,247,237,.76)!important;--ds-border:rgba(249,115,22,.24)!important;--ds-border2:rgba(249,115,22,.16)!important;--ds-chip:color-mix(in srgb,#fb923c 10%,rgba(27,18,11,.90))!important;--ds-chip-border:rgba(249,115,22,.24)!important;--ds-accent:#fb923c!important;--ds-accent2:#f97316!important;--ds-accent3:#fdba74!important}
html[data-ds-palette="green"]{--ds-bg:#020806!important;--ds-bg2:#06120c!important;--ds-card:rgba(8,20,14,.86)!important;--ds-card2:rgba(10,29,18,.90)!important;--ds-card-solid:#0a1d12!important;--ds-input:rgba(4,14,9,.90)!important;--ds-text:#f0fdf4!important;--ds-muted:rgba(240,253,244,.58)!important;--ds-muted2:rgba(240,253,244,.76)!important;--ds-border:rgba(34,197,94,.24)!important;--ds-border2:rgba(34,197,94,.16)!important;--ds-chip:color-mix(in srgb,#22c55e 10%,rgba(10,29,18,.90))!important;--ds-chip-border:rgba(34,197,94,.24)!important;--ds-accent:#22c55e!important;--ds-accent2:#16a34a!important;--ds-accent3:#86efac!important}
html[data-ds-palette="blue"]{--ds-bg:#020817!important;--ds-bg2:#071225!important;--ds-card:rgba(8,18,36,.86)!important;--ds-card2:rgba(10,25,50,.90)!important;--ds-card-solid:#0a1932!important;--ds-input:rgba(5,14,30,.90)!important;--ds-text:#eff6ff!important;--ds-muted:rgba(239,246,255,.58)!important;--ds-muted2:rgba(239,246,255,.76)!important;--ds-border:rgba(59,130,246,.24)!important;--ds-border2:rgba(59,130,246,.16)!important;--ds-chip:color-mix(in srgb,#38bdf8 10%,rgba(10,25,50,.90))!important;--ds-chip-border:rgba(59,130,246,.24)!important;--ds-accent:#38bdf8!important;--ds-accent2:#2563eb!important;--ds-accent3:#93c5fd!important}
html[data-ds-palette="gold"]{--ds-bg:#080704!important;--ds-bg2:#141006!important;--ds-card:rgba(20,16,8,.86)!important;--ds-card2:rgba(31,24,10,.90)!important;--ds-card-solid:#1f180a!important;--ds-input:rgba(14,10,4,.90)!important;--ds-text:#fefce8!important;--ds-muted:rgba(254,252,232,.58)!important;--ds-muted2:rgba(254,252,232,.76)!important;--ds-border:rgba(250,204,21,.24)!important;--ds-border2:rgba(250,204,21,.16)!important;--ds-chip:color-mix(in srgb,#facc15 10%,rgba(31,24,10,.90))!important;--ds-chip-border:rgba(250,204,21,.24)!important;--ds-accent:#facc15!important;--ds-accent2:#d97706!important;--ds-accent3:#fde68a!important}
html[data-ds-palette="purple"],html[data-ds-palette="lila"]{--ds-bg:#090614!important;--ds-bg2:#120a24!important;--ds-card:rgba(18,11,32,.86)!important;--ds-card2:rgba(28,16,48,.90)!important;--ds-card-solid:#1c1030!important;--ds-input:rgba(12,8,26,.90)!important;--ds-text:#faf5ff!important;--ds-muted:rgba(250,245,255,.58)!important;--ds-muted2:rgba(250,245,255,.76)!important;--ds-border:rgba(168,85,247,.24)!important;--ds-border2:rgba(168,85,247,.16)!important;--ds-chip:color-mix(in srgb,#a855f7 10%,rgba(28,16,48,.90))!important;--ds-chip-border:rgba(168,85,247,.24)!important;--ds-accent:#a855f7!important;--ds-accent2:#7c3aed!important;--ds-accent3:#c084fc!important}
html[data-ds-palette="teal"],html[data-ds-palette="default"]{--ds-bg:#07111f!important;--ds-bg2:#0b1322!important;--ds-card:rgba(15,23,42,.86)!important;--ds-card2:rgba(11,19,34,.90)!important;--ds-card-solid:#0b1322!important;--ds-input:rgba(6,18,31,.90)!important;--ds-text:#f3f7ff!important;--ds-muted:rgba(203,213,225,.62)!important;--ds-muted2:rgba(226,232,240,.78)!important;--ds-border:rgba(45,212,191,.22)!important;--ds-border2:rgba(45,212,191,.15)!important;--ds-chip:color-mix(in srgb,#2dd4bf 10%,rgba(11,19,34,.90))!important;--ds-chip-border:rgba(45,212,191,.22)!important;--ds-accent:#2dd4bf!important;--ds-accent2:#14b8a6!important;--ds-accent3:#67e8f9!important}
html[data-ds-palette="red"],html[data-ds-palette="rot"]{--ds-bg:#0b0505!important;--ds-bg2:#160808!important;--ds-card:rgba(32,12,12,.88)!important;--ds-card2:rgba(48,18,18,.90)!important;--ds-card-solid:#301212!important;--ds-input:rgba(18,7,7,.90)!important;--ds-text:#fff1f2!important;--ds-muted:rgba(255,241,242,.60)!important;--ds-muted2:rgba(255,241,242,.78)!important;--ds-border:rgba(239,68,68,.25)!important;--ds-border2:rgba(239,68,68,.16)!important;--ds-chip:color-mix(in srgb,#ef4444 10%,rgba(48,18,18,.90))!important;--ds-chip-border:rgba(239,68,68,.27)!important;--ds-accent:#ef4444!important;--ds-accent2:#dc2626!important;--ds-accent3:#fca5a5!important}

html[data-theme="light"][data-ds-palette="orange"],html[data-theme="light"]:not([data-ds-palette]){--ds-bg:#fff7ed!important;--ds-bg2:#ffedd5!important;--ds-card:rgba(255,255,255,.92)!important;--ds-card2:rgba(255,250,245,.94)!important;--ds-card-solid:#fffaf5!important;--ds-input:#fff!important;--ds-text:#1c1917!important;--ds-muted:rgba(28,25,23,.60)!important;--ds-muted2:rgba(28,25,23,.74)!important;--ds-border:rgba(249,115,22,.25)!important;--ds-border2:rgba(249,115,22,.14)!important;--ds-accent:#ea580c!important;--ds-accent2:#f97316!important;--ds-accent3:#fb923c!important}
html[data-theme="light"][data-ds-palette="green"]{--ds-bg:#f0fdf4!important;--ds-bg2:#dcfce7!important;--ds-card:rgba(255,255,255,.92)!important;--ds-card2:rgba(247,255,250,.94)!important;--ds-card-solid:#f7fffa!important;--ds-input:#fff!important;--ds-text:#052e16!important;--ds-muted:rgba(5,46,22,.60)!important;--ds-muted2:rgba(5,46,22,.74)!important;--ds-border:rgba(34,197,94,.25)!important;--ds-border2:rgba(34,197,94,.14)!important;--ds-accent:#16a34a!important;--ds-accent2:#22c55e!important;--ds-accent3:#4ade80!important}
html[data-theme="light"][data-ds-palette="blue"]{--ds-bg:#eff6ff!important;--ds-bg2:#dbeafe!important;--ds-card:rgba(255,255,255,.92)!important;--ds-card2:rgba(248,251,255,.94)!important;--ds-card-solid:#f8fbff!important;--ds-input:#fff!important;--ds-text:#0f172a!important;--ds-muted:rgba(15,23,42,.60)!important;--ds-muted2:rgba(15,23,42,.74)!important;--ds-border:rgba(37,99,235,.24)!important;--ds-border2:rgba(37,99,235,.14)!important;--ds-accent:#2563eb!important;--ds-accent2:#38bdf8!important;--ds-accent3:#60a5fa!important}
html[data-theme="light"][data-ds-palette="gold"]{--ds-bg:#fefce8!important;--ds-bg2:#fef3c7!important;--ds-card:rgba(255,255,255,.92)!important;--ds-card2:rgba(255,253,242,.94)!important;--ds-card-solid:#fffdf2!important;--ds-input:#fff!important;--ds-text:#1c1917!important;--ds-muted:rgba(28,25,23,.60)!important;--ds-muted2:rgba(28,25,23,.74)!important;--ds-border:rgba(217,119,6,.25)!important;--ds-border2:rgba(217,119,6,.14)!important;--ds-accent:#d97706!important;--ds-accent2:#facc15!important;--ds-accent3:#fbbf24!important}
html[data-theme="light"][data-ds-palette="purple"],html[data-theme="light"][data-ds-palette="lila"]{--ds-bg:#faf5ff!important;--ds-bg2:#f3e8ff!important;--ds-card:rgba(255,255,255,.92)!important;--ds-card2:rgba(253,250,255,.94)!important;--ds-card-solid:#fdfaff!important;--ds-input:#fff!important;--ds-text:#1e1b4b!important;--ds-muted:rgba(30,27,75,.60)!important;--ds-muted2:rgba(30,27,75,.74)!important;--ds-border:rgba(168,85,247,.25)!important;--ds-border2:rgba(168,85,247,.14)!important;--ds-accent:#7c3aed!important;--ds-accent2:#a855f7!important;--ds-accent3:#c084fc!important}
html[data-theme="light"][data-ds-palette="teal"],html[data-theme="light"][data-ds-palette="default"]{--ds-bg:#f5fbff!important;--ds-bg2:#ecfeff!important;--ds-card:rgba(255,255,255,.92)!important;--ds-card2:rgba(248,253,255,.94)!important;--ds-card-solid:#f8fdff!important;--ds-input:#fff!important;--ds-text:#0b1220!important;--ds-muted:rgba(51,65,85,.62)!important;--ds-muted2:rgba(51,65,85,.78)!important;--ds-border:rgba(13,148,136,.22)!important;--ds-border2:rgba(13,148,136,.12)!important;--ds-accent:#0d9488!important;--ds-accent2:#14b8a6!important;--ds-accent3:#2dd4bf!important}
html[data-theme="light"][data-ds-palette="red"],html[data-theme="light"][data-ds-palette="rot"]{--ds-bg:#fff1f2!important;--ds-bg2:#ffe4e6!important;--ds-card:rgba(255,255,255,.92)!important;--ds-card2:rgba(255,247,247,.94)!important;--ds-card-solid:#fff7f7!important;--ds-input:#fff!important;--ds-text:#450a0a!important;--ds-muted:rgba(69,10,10,.60)!important;--ds-muted2:rgba(69,10,10,.76)!important;--ds-border:rgba(220,38,38,.24)!important;--ds-border2:rgba(220,38,38,.14)!important;--ds-accent:#dc2626!important;--ds-accent2:#ef4444!important;--ds-accent3:#f87171!important}
html[data-ds-palette="basic"]{--ds-bg:#09090b!important;--ds-bg2:#111113!important;--ds-card:rgba(24,24,27,.92)!important;--ds-card2:rgba(39,39,42,.90)!important;--ds-card-solid:#18181b!important;--ds-input:#101012!important;--ds-text:#fafafa!important;--ds-muted:rgba(244,244,245,.60)!important;--ds-muted2:rgba(244,244,245,.78)!important;--ds-border:rgba(228,228,231,.18)!important;--ds-border2:rgba(228,228,231,.11)!important;--ds-chip:rgba(244,244,245,.08)!important;--ds-chip-border:rgba(228,228,231,.18)!important;--ds-accent:#e4e4e7!important;--ds-accent2:#a1a1aa!important;--ds-accent3:#f4f4f5!important;--ds-on-accent:#09090b!important}
html[data-theme="light"][data-ds-palette="basic"]{--ds-bg:#f7f7f8!important;--ds-bg2:#ededf0!important;--ds-card:rgba(255,255,255,.94)!important;--ds-card2:rgba(250,250,250,.96)!important;--ds-card-solid:#fff!important;--ds-input:#fff!important;--ds-text:#18181b!important;--ds-muted:rgba(24,24,27,.60)!important;--ds-muted2:rgba(24,24,27,.76)!important;--ds-border:rgba(24,24,27,.16)!important;--ds-border2:rgba(24,24,27,.09)!important;--ds-chip:rgba(24,24,27,.06)!important;--ds-chip-border:rgba(24,24,27,.14)!important;--ds-accent:#18181b!important;--ds-accent2:#52525b!important;--ds-accent3:#71717a!important;--ds-on-accent:#fff!important}
html{--ds-danger:#ef4444!important;--ds-shadow:0 24px 70px rgba(0,0,0,.36)!important;--ds-shadow2:0 32px 90px rgba(0,0,0,.46)!important}
html[data-theme="light"]{--ds-chip:color-mix(in srgb,var(--ds-accent) 10%,var(--ds-card2))!important;--ds-chip-border:var(--ds-border)!important;--ds-shadow:0 20px 56px color-mix(in srgb,var(--ds-accent) 10%,transparent)!important;--ds-shadow2:0 28px 76px color-mix(in srgb,var(--ds-accent) 14%,transparent)!important}

body :where(.ds-app-btn,.ds-btn,.ds-mini-btn,.dsdash-btn,.dsl-btn,.dspt-btn,.dsg-btn,.ds-dua-btn,.ds-filter-btn,.ds-complete-btn,.ds-watch-btn,.ds-lesson-nav-btn,.ia-btn,.tk-btn,.iv-btn,.iv-link,.rg-btn,.as-btn,.sbtn,.btn){border-color:var(--ds-border)!important;background:var(--ds-card2)!important;color:var(--ds-text)!important;border-radius:var(--ds-radius-control)!important;font-family:var(--ds-font)!important;font-weight:600!important;min-height:var(--ds-control-height);box-shadow:none;transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease}
body :where(.ds-app-btn,.ds-btn,.ds-mini-btn,.dsdash-btn,.dsl-btn,.dspt-btn,.dsg-btn,.ds-dua-btn,.ds-filter-btn,.ds-complete-btn,.ds-watch-btn,.ds-lesson-nav-btn,.ia-btn,.tk-btn,.iv-btn,.iv-link,.rg-btn,.as-btn,.sbtn,.btn):hover{border-color:color-mix(in srgb,var(--ds-accent) 55%,var(--ds-border))!important;background:color-mix(in srgb,var(--ds-accent) 9%,var(--ds-card2))!important;box-shadow:0 10px 28px color-mix(in srgb,var(--ds-accent) 12%,transparent)}
body :where(main,[id^="ds-app-"],#ds-tickets,#ds-ia,#ds-verify,.ds-account-page,.dspt-page) :where(button,a).primary,body :where(main,[id^="ds-app-"],#ds-tickets,#ds-ia,#ds-verify,.ds-account-page,.dspt-page) :where(button,a).is-primary,body :where(main,[id^="ds-app-"],#ds-tickets,#ds-ia,#ds-verify,.ds-account-page,.dspt-page) :where(.dsdash-btn-main,.dsg-btn-primary,.ds-dua-btn-primary,.rg-btn-primary,.as-btn-primary),body :where(main,[id^="ds-app-"],#ds-tickets,#ds-ia,#ds-verify,.ds-account-page,.dspt-page) :where(button,a)[aria-selected="true"],body :where(main,[id^="ds-app-"],#ds-tickets,#ds-ia,#ds-verify,.ds-account-page,.dspt-page) :where(button,a).is-on,body :where(main,[id^="ds-app-"],#ds-tickets,#ds-ia,#ds-verify,.ds-account-page,.dspt-page) :where(button,a).is-active{border-color:transparent!important;background:var(--ds-accent)!important;color:var(--ds-on-accent)!important}

/* Foregrounds verified against solid palette accents, including light mode. */
html{--ds-on-accent:#000!important}
html[data-theme="light"]:is([data-ds-palette="blue"],[data-ds-palette="purple"],[data-ds-palette="lila"],[data-ds-palette="red"],[data-ds-palette="rot"]){--ds-on-accent:#fff!important}
body main :where(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),select,textarea){border-color:var(--ds-border)!important;background:var(--ds-input,var(--ds-card2))!important;color:var(--ds-text)!important;border-radius:var(--ds-radius-control)!important;font-family:var(--ds-font)!important}
body main :where(input,select,textarea):focus{outline:none!important;border-color:var(--ds-accent)!important;box-shadow:0 0 0 4px color-mix(in srgb,var(--ds-accent) 14%,transparent)!important}
body main :where(input[type="checkbox"],input[type="radio"],input[type="range"]){accent-color:var(--ds-accent)!important}
