/* Local, isolated banner styles. No theme/PLUS selectors are modified. */
#rksb-root {
  --rksb-bg:#fffdf8; --rksb-text:#202d31; --rksb-muted:#505d61; --rksb-border:#d5dcd7;
  --rksb-shadow:0 12px 45px #142b3330; --rksb-accent:#9bdfc0; --rksb-button-text:#142b24;
  font-family:system-ui,-apple-system,"Segoe UI",sans-serif; font-size:16px; line-height:1.45;
  color:var(--rksb-text); text-align:left;
}
#rksb-root[data-theme="dark"] { --rksb-bg:#19232b; --rksb-text:#f4f5f0; --rksb-muted:#c4cece; --rksb-border:#49585e; --rksb-shadow:0 12px 45px #0006; }
@media (prefers-color-scheme:dark) {
  #rksb-root[data-theme="auto"] { --rksb-bg:#19232b; --rksb-text:#f4f5f0; --rksb-muted:#c4cece; --rksb-border:#49585e; --rksb-shadow:0 12px 45px #0006; }
}
#rksb-root *, #rksb-root *::before, #rksb-root *::after { box-sizing:border-box; }
#rksb-root [hidden] { display:none !important; }
#rksb-root .rksb-banner {
  position:fixed; z-index:9000; left:50%; bottom:calc(12px + env(safe-area-inset-bottom,0px));
  transform:translateX(-50%); width:min(860px,calc(100% - 176px)); max-height:calc(100dvh - 130px);
  overflow:auto; margin:0; padding:0; border:1px solid var(--rksb-border); border-radius:20px;
  background:var(--rksb-bg); color:var(--rksb-text); box-shadow:var(--rksb-shadow);
  isolation:isolate;
}
#rksb-root[data-game="einer-passt-noch"] { --rksb-accent:#f0ba96; --rksb-button-text:#38251c; }
#rksb-root[data-game="aus-dem-weg"] { --rksb-accent:#d2c1ee; --rksb-button-text:#2e2440; }
#rksb-root[data-game="unzenblick"] { --rksb-accent:#ebc9ce; --rksb-button-text:#47272d; }
#rksb-root .rksb-card { display:grid; grid-template-columns:72px minmax(0,1fr) auto; column-gap:20px; row-gap:8px; align-items:center; padding:24px 58px 22px 24px; border-left:5px solid var(--rksb-accent); }
#rksb-root .rksb-logo { display:block; grid-row:1 / 3; width:72px; height:72px; margin:0; border:0; border-radius:20px; box-shadow:none; }
#rksb-root .rksb-copy { min-width:0; grid-row:1 / 3; }
#rksb-root .rksb-eyebrow { display:block; margin:0 0 3px; font-size:12px; font-weight:650; letter-spacing:.025em; color:var(--rksb-muted); }
#rksb-root .rksb-title { display:block; font-size:23px; line-height:1.2; font-weight:750; font-style:normal; color:var(--rksb-text); overflow-wrap:anywhere; }
#rksb-root .rksb-text { display:block; margin:7px 0 0; padding:0; font-size:14px; line-height:1.45; font-weight:400; font-style:normal; color:var(--rksb-muted); overflow-wrap:anywhere; }
#rksb-root .rksb-play { display:inline-flex; justify-content:center; align-items:center; gap:5px; min-height:38px; margin:0; padding:7px 15px; border:2px solid transparent; border-radius:11px; background:var(--rksb-accent); color:var(--rksb-button-text) !important; font:700 14px/1.3 system-ui,-apple-system,"Segoe UI",sans-serif; text-decoration:none; text-align:center; box-shadow:none; transition:none; }
#rksb-root .rksb-play:hover { text-decoration:underline; border-color:var(--rksb-button-text); }
#rksb-root .rksb-details { grid-column:3; font-size:11px; line-height:1.3; color:var(--rksb-muted); text-align:center; }
#rksb-root .rksb-close { position:absolute; top:5px; right:5px; display:grid; place-items:center; width:44px; height:44px; min-width:44px; min-height:44px; margin:0; padding:0; border:1px solid transparent; border-radius:50%; background:transparent; color:var(--rksb-text); box-shadow:none; font:400 27px/1 system-ui,sans-serif; cursor:pointer; }
#rksb-root .rksb-close:hover { background:var(--rksb-border); }
#rksb-root a:focus-visible, #rksb-root button:focus-visible { outline:3px solid var(--rksb-text) !important; outline-offset:3px; }
#rksb-root .rksb-sr { position:absolute !important; width:1px !important; height:1px !important; padding:0 !important; margin:-1px !important; overflow:hidden !important; clip:rect(0,0,0,0) !important; white-space:nowrap !important; border:0 !important; }
@media (max-width:899px) {
  /* Leave the theme's right-hand icon rail reachable. */
  #rksb-root .rksb-banner { left:12px; right:80px; width:auto; transform:none; border-radius:16px; }
  #rksb-root .rksb-card { grid-template-columns:48px minmax(0,1fr); column-gap:12px; row-gap:12px; padding:18px 16px 16px; }
  #rksb-root .rksb-logo { width:48px; height:48px; border-radius:13px; grid-row:1; align-self:start; }
  #rksb-root .rksb-copy { grid-row:1; padding-right:19px; }
  #rksb-root .rksb-title { font-size:20px; }
  #rksb-root .rksb-text { font-size:13px; }
  #rksb-root .rksb-play { grid-column:1 / -1; justify-self:stretch; }
  #rksb-root .rksb-details { grid-column:1 / -1; }
  #rksb-root .rksb-eyebrow { font-size:11px; }
}
@media (max-width:440px) {
  #rksb-root .rksb-card { grid-template-columns:34px minmax(0,1fr); column-gap:9px; row-gap:10px; padding:16px 12px 12px; }
  #rksb-root .rksb-logo { width:34px; height:34px; border-radius:9px; }
  #rksb-root .rksb-title { font-size:18px; }
  #rksb-root .rksb-eyebrow { display:none; }
  #rksb-root .rksb-text { grid-column:1 / -1; }
}
@media print { #rksb-root { display:none !important; } }
@media (max-width:899px) {
  #rksb-root .rksb-copy { display:contents; }
  #rksb-root .rksb-eyebrow { grid-column:2; grid-row:1; padding-right:22px; margin:0; }
  #rksb-root .rksb-title { grid-column:2; grid-row:2; padding-right:20px; }
  #rksb-root .rksb-logo { grid-row:1 / 3; }
  #rksb-root .rksb-text { grid-column:1 / -1; margin:0; }
}
@media (max-width:440px) {
  #rksb-root .rksb-title, #rksb-root .rksb-logo { grid-row:1; }
}

@media (max-width:899px) {
  /* Only reserve extra height when the existing PLUS control would overlap. */
  body:has(#rkp-promo-float:not([hidden])) #rksb-root .rksb-banner {
    bottom:calc(72px + env(safe-area-inset-bottom,0px));
  }
}
