.r2t-sound {
  --r2t-sc-ink: #172033;
  --r2t-sc-muted: rgba(23, 32, 51, 0.68);
  --r2t-sc-border: rgba(23, 32, 51, 0.12);
  --r2t-sc-soft: #f5f7ff;
  --r2t-sc-white: #ffffff;
  --r2t-sc-navy: #10324a;
  --r2t-sc-purple: #6d4cff;
  --r2t-sc-shadow: 0 24px 70px rgba(23, 32, 51, 0.12);
  --r2t-sc-zone: #65d98c;
  --r2t-sc-level: 0;
  color: var(--r2t-sc-ink);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  box-sizing: border-box;
}

.r2t-sound *,
.r2t-sound *::before,
.r2t-sound *::after { box-sizing: border-box; }
.r2t-sound button,
.r2t-sound select { font: inherit; }

.r2t-sound {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 390px);
  gap: clamp(16px, 3vw, 28px);
  width: 100%;
  min-height: min(100vh, 860px);
  padding: clamp(12px, 2vw, 28px);
  border-radius: 28px;
  background:
    radial-gradient(circle at top left, rgba(109, 76, 255, 0.13), transparent 34%),
    radial-gradient(circle at bottom right, rgba(51, 196, 255, 0.13), transparent 32%),
    #f8faff;
}

.r2t-sound--embedded {
  min-height: 0;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 350px);
  padding: clamp(10px, 1.5vw, 18px);
}

.r2t-sound--compact {
  grid-template-columns: 1fr;
  min-height: 0;
  padding: 0;
  background: transparent;
}

.r2t-sound--floating {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 99999;
  width: min(420px, calc(100vw - 36px));
  min-height: 0;
  grid-template-columns: 1fr;
  padding: 0;
  background: transparent;
}

.r2t-sc-main,
.r2t-sc-controls {
  border: 1px solid var(--r2t-sc-border);
  background: rgba(255, 255, 255, 0.78);
  backdrop-filter: blur(18px);
  box-shadow: var(--r2t-sc-shadow);
}

.r2t-sc-main {
  display: grid;
  grid-template-rows: auto auto minmax(330px, 1fr) auto;
  gap: 14px;
  border-radius: 30px;
  padding: clamp(14px, 1.8vw, 24px);
  min-width: 0;
}

.r2t-sc-controls {
  align-self: start;
  position: sticky;
  top: 16px;
  border-radius: 28px;
  padding: 18px;
}

.r2t-sc-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.r2t-sc-brand {
  display: flex;
  align-items: center;
  gap: 12px;
}

.r2t-sc-mark {
  width: 52px;
  height: 52px;
  border-radius: 16px;
  display: grid;
  place-items: center;
  color: white;
  font-weight: 950;
  letter-spacing: -0.04em;
  background: linear-gradient(135deg, var(--r2t-sc-navy), var(--r2t-sc-purple));
  box-shadow: 0 14px 34px rgba(16, 50, 74, 0.22);
}

.r2t-sc-eyebrow,
.r2t-sc-small {
  margin: 0;
  font-size: 0.75rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-weight: 950;
  color: var(--r2t-sc-muted);
}

.r2t-sc-main h2,
.r2t-sc-main h3,
.r2t-sc-controls h3,
.r2t-sc-main p,
.r2t-sc-controls p { margin-top: 0; }

.r2t-sc-main h2 {
  margin-bottom: 0;
  font-size: clamp(1.7rem, 3vw, 3rem);
  line-height: 0.94;
  letter-spacing: -0.06em;
}

.r2t-sc-pill {
  border: 1px solid var(--r2t-sc-border);
  border-radius: 999px;
  padding: 8px 12px;
  color: rgba(23, 32, 51, 0.74);
  font-size: 0.9rem;
  font-weight: 850;
  background: rgba(255, 255, 255, 0.78);
}

.r2t-sc-probar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  border: 1px solid rgba(109, 76, 255, 0.18);
  border-radius: 20px;
  padding: 10px 12px;
  background: linear-gradient(135deg, rgba(109, 76, 255, 0.10), rgba(51, 196, 255, 0.08));
}

.r2t-sc-probar span {
  color: var(--r2t-sc-muted);
  font-size: 0.78rem;
  font-weight: 950;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.r2t-sc-probar strong {
  font-weight: 950;
  text-align: right;
}

.r2t-sc-visual {
  position: relative;
  min-height: 360px;
  overflow: hidden;
  border: 1px solid var(--r2t-sc-border);
  border-radius: 30px;
  display: grid;
  place-items: center;
  padding: clamp(22px, 4vw, 52px);
  isolation: isolate;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.88), rgba(245, 247, 255, 0.72)),
    radial-gradient(circle at 40% 18%, color-mix(in srgb, var(--r2t-sc-zone) 24%, transparent), transparent 28%);
}

.r2t-sound--compact .r2t-sc-main,
.r2t-sound--floating .r2t-sc-main {
  grid-template-rows: auto minmax(250px, 1fr) auto;
  border-radius: 24px;
}

.r2t-sound--compact .r2t-sc-probar,
.r2t-sound--floating .r2t-sc-probar { display: none; }

.r2t-sc-zone-backdrop {
  position: absolute;
  inset: -18%;
  z-index: -2;
  background:
    radial-gradient(circle at 50% 24%, color-mix(in srgb, var(--r2t-sc-zone) 28%, transparent), transparent 30%),
    radial-gradient(circle at 78% 64%, rgba(51, 196, 255, 0.15), transparent 28%),
    radial-gradient(circle at 15% 82%, rgba(109, 76, 255, 0.11), transparent 26%);
  filter: blur(14px);
  transition: background 300ms ease, transform 300ms ease, opacity 300ms ease;
}

.r2t-sc-bubbles {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  opacity: 1;
  transition: opacity 250ms ease;
}

.r2t-sc-bubbles span {
  position: absolute;
  bottom: -90px;
  width: var(--size);
  height: var(--size);
  border-radius: 999px;
  border: 2px solid rgba(255, 255, 255, 0.74);
  background: radial-gradient(circle at 32% 28%, rgba(255,255,255,0.95), rgba(255,255,255,0.28) 28%, rgba(255,255,255,0.06));
  box-shadow: inset 0 0 22px rgba(255,255,255,0.5), 0 10px 34px rgba(23,32,51,0.1);
  animation: r2tScFloatUp var(--duration) linear infinite;
  animation-delay: var(--delay);
  opacity: 0.72;
}

@keyframes r2tScFloatUp {
  0% { transform: translate3d(0, 0, 0) scale(0.72); opacity: 0; }
  10% { opacity: 0.72; }
  100% { transform: translate3d(var(--drift), -660px, 0) scale(1.08); opacity: 0; }
}

.r2t-sc-orb {
  position: relative;
  z-index: 2;
  width: min(32vw, 260px);
  height: min(32vw, 260px);
  min-width: 170px;
  min-height: 170px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background:
    radial-gradient(circle at 34% 28%, rgba(255,255,255,0.92), rgba(255,255,255,0.38) 28%, rgba(255,255,255,0.08)),
    color-mix(in srgb, var(--r2t-sc-zone) 62%, white);
  box-shadow:
    0 28px 80px color-mix(in srgb, var(--r2t-sc-zone) 34%, transparent),
    inset 0 0 60px rgba(255,255,255,0.45);
  transform: scale(calc(0.92 + (var(--r2t-sc-level) * 0.0018)));
  transition: transform 160ms ease, background 250ms ease;
}

.r2t-sc-orb span {
  font-size: clamp(3rem, 8vw, 7.2rem);
  font-weight: 950;
  color: rgba(23, 32, 51, 0.72);
}

.r2t-sc-readout {
  position: absolute;
  z-index: 3;
  inset: auto 22px 32px 22px;
  text-align: center;
  pointer-events: none;
}

.r2t-sc-readout p {
  margin: 0 0 6px;
  font-weight: 950;
  color: rgba(23, 32, 51, 0.68);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-size: clamp(0.75rem, 1.2vw, 0.95rem);
}

.r2t-sc-readout h3 {
  margin: 0;
  font-size: clamp(2rem, 5vw, 4.6rem);
  letter-spacing: -0.065em;
  line-height: 0.92;
}

.r2t-sc-readout span {
  display: block;
  margin-top: 10px;
  font-size: clamp(1rem, 1.4vw, 1.2rem);
  font-weight: 760;
  color: rgba(23, 32, 51, 0.72);
}

.r2t-sc-volume {
  position: absolute;
  left: 24px;
  right: 24px;
  bottom: 18px;
  height: 12px;
  border-radius: 999px;
  background: rgba(23, 32, 51, 0.10);
  overflow: hidden;
}

.r2t-sc-volume div {
  width: calc(var(--r2t-sc-level) * 1%);
  height: 100%;
  border-radius: inherit;
  background: var(--r2t-sc-zone);
  transition: width 110ms linear, background 250ms ease;
}

.r2t-sc-fullscreen {
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 10;
  width: 46px;
  height: 38px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(23, 32, 51, 0.12);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.78);
  color: rgba(23, 32, 51, 0.72);
  cursor: pointer;
  font-weight: 950;
  letter-spacing: -0.12em;
  box-shadow: 0 10px 30px rgba(23, 32, 51, 0.10);
}

.r2t-sc-fullscreen:hover { transform: translateY(-1px); }

.r2t-sc-goal {
  border: 1px solid var(--r2t-sc-border);
  border-radius: 24px;
  padding: 16px;
  background: rgba(255, 255, 255, 0.72);
  display: grid;
  gap: 12px;
}

.r2t-sc-goal strong { display: block; font-size: 1.05rem; }
.r2t-sc-goal span { color: var(--r2t-sc-muted); font-weight: 740; }

.r2t-sc-goalbar {
  height: 12px;
  border-radius: 999px;
  background: rgba(23, 32, 51, 0.09);
  overflow: hidden;
}

.r2t-sc-goalbar div {
  height: 100%;
  width: 0%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--r2t-sc-zone), color-mix(in srgb, var(--r2t-sc-zone) 58%, white));
  transition: width 220ms ease;
}

.r2t-sc-streaks {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}

.r2t-sc-streaks div {
  border-radius: 18px;
  padding: 12px;
  background: rgba(245, 247, 255, 0.85);
}

.r2t-sc-streaks span {
  display: block;
  color: var(--r2t-sc-muted);
  font-size: 0.82rem;
  font-weight: 850;
}

.r2t-sc-streaks strong {
  font-size: 1.55rem;
  letter-spacing: -0.04em;
}

.r2t-sc-control-head h3 { margin-bottom: 4px; font-size: 1.35rem; letter-spacing: -0.04em; }
.r2t-sc-control-head p { color: var(--r2t-sc-muted); font-weight: 700; margin-bottom: 12px; }

.r2t-sc-control {
  display: grid;
  gap: 7px;
  margin-bottom: 12px;
}

.r2t-sc-control span {
  font-size: 0.78rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-weight: 950;
  color: var(--r2t-sc-muted);
}

.r2t-sc-control select {
  width: 100%;
  min-height: 43px;
  border: 1px solid var(--r2t-sc-border);
  border-radius: 15px;
  padding: 9px 12px;
  background: rgba(255, 255, 255, 0.90);
  color: var(--r2t-sc-ink);
  font-weight: 800;
}

.r2t-sc-buttons {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 9px;
  margin-top: 12px;
}

.r2t-sc-buttons .r2t-sc-primary { grid-column: 1 / -1; }

.r2t-sc-primary,
.r2t-sc-secondary {
  border: 0;
  border-radius: 16px;
  padding: 11px 14px;
  font-weight: 950;
  cursor: pointer;
}

.r2t-sc-primary {
  color: #fff;
  background: linear-gradient(135deg, var(--r2t-sc-navy), var(--r2t-sc-purple));
  box-shadow: 0 14px 30px rgba(109, 76, 255, 0.20);
}

.r2t-sc-secondary {
  color: rgba(23, 32, 51, 0.78);
  background: rgba(245, 247, 255, 0.92);
  border: 1px solid var(--r2t-sc-border);
}

.r2t-sc-primary:disabled,
.r2t-sc-secondary:disabled { opacity: 0.45; cursor: not-allowed; }

.r2t-sc-privacy {
  margin-top: 14px;
  border: 1px solid rgba(23, 32, 51, 0.1);
  border-radius: 18px;
  padding: 11px 13px;
  background: rgba(245, 247, 255, 0.75);
}
.r2t-sc-privacy summary { font-weight: 950; cursor: pointer; }
.r2t-sc-privacy p { margin: 8px 0 0; color: var(--r2t-sc-muted); font-size: 0.94rem; }

.r2t-sc-dialog {
  width: min(520px, calc(100vw - 28px));
  border: 0;
  border-radius: 26px;
  padding: 0;
  box-shadow: 0 30px 120px rgba(23, 32, 51, 0.28);
}
.r2t-sc-dialog::backdrop { background: rgba(16, 50, 74, 0.35); backdrop-filter: blur(4px); }
.r2t-sc-dialog form { padding: 26px; color: var(--r2t-sc-ink); }
.r2t-sc-dialog h3 { margin: 0 0 8px; font-size: 1.6rem; letter-spacing: -0.045em; }
.r2t-sc-dialog p,
.r2t-sc-dialog li { color: var(--r2t-sc-muted); font-weight: 720; }
.r2t-sc-dialog menu { padding: 0; margin: 18px 0 0; }

.r2t-sound[data-r2t-theme="minimal"] .r2t-sc-bubbles,
.r2t-sound[data-r2t-theme="minimal"] .r2t-sc-orb,
.r2t-sound[data-r2t-theme="minimal"] .r2t-sc-ring,
.r2t-sound[data-r2t-theme="minimal"] .r2t-sc-wave,
.r2t-sound[data-r2t-theme="minimal"] .r2t-sc-blocks { display: none; }
.r2t-sound[data-r2t-theme="minimal"] .r2t-sc-visual { background: linear-gradient(180deg, rgba(255,255,255,0.92), rgba(245,247,255,0.82)); }
.r2t-sound[data-r2t-theme="minimal"] .r2t-sc-readout { position: relative; inset: auto; }
.r2t-sound[data-r2t-theme="minimal"] .r2t-sc-readout::before {
  content: "";
  display: block;
  width: min(520px, 76vw);
  height: 40px;
  margin: 0 auto 28px;
  border-radius: 999px;
  background: linear-gradient(90deg, #6bd6ff, #65d98c, #ffd86b, #ff9f5a, #ff6b7a);
  opacity: 0.20;
}
.r2t-sound[data-r2t-theme="minimal"] .r2t-sc-readout::after {
  content: "";
  position: absolute;
  top: -2px;
  left: 50%;
  width: calc(min(520px, 76vw) * var(--r2t-sc-level) / 100);
  max-width: min(520px, 76vw);
  height: 40px;
  transform: translateX(-50%);
  border-radius: 999px;
  background: var(--r2t-sc-zone);
  opacity: 0.95;
  z-index: -1;
}

.r2t-sc-ring,
.r2t-sc-wave,
.r2t-sc-blocks { display: none; }

.r2t-sound[data-r2t-theme="ring"] .r2t-sc-bubbles,
.r2t-sound[data-r2t-theme="ring"] .r2t-sc-orb,
.r2t-sound[data-r2t-theme="ring"] .r2t-sc-wave,
.r2t-sound[data-r2t-theme="ring"] .r2t-sc-blocks { display: none; }
.r2t-sound[data-r2t-theme="ring"] .r2t-sc-ring {
  display: grid;
  place-items: center;
  width: min(36vw, 300px);
  height: min(36vw, 300px);
  min-width: 190px;
  min-height: 190px;
  border-radius: 999px;
  background: conic-gradient(var(--r2t-sc-zone) calc(var(--r2t-sc-level) * 1%), rgba(23,32,51,0.10) 0);
  box-shadow: 0 24px 80px color-mix(in srgb, var(--r2t-sc-zone) 28%, transparent);
}
.r2t-sound[data-r2t-theme="ring"] .r2t-sc-ring div {
  width: 76%; height: 76%; border-radius: inherit; display: grid; place-items: center;
  background: rgba(255,255,255,0.86);
  border: 1px solid rgba(23,32,51,0.08);
}
.r2t-sound[data-r2t-theme="ring"] .r2t-sc-ring span { font-size: clamp(3rem, 7vw, 6.5rem); font-weight: 950; }

.r2t-sound[data-r2t-theme="wave"] .r2t-sc-bubbles,
.r2t-sound[data-r2t-theme="wave"] .r2t-sc-orb,
.r2t-sound[data-r2t-theme="wave"] .r2t-sc-ring,
.r2t-sound[data-r2t-theme="wave"] .r2t-sc-blocks { display: none; }
.r2t-sound[data-r2t-theme="wave"] .r2t-sc-wave {
  display: block;
  position: absolute;
  inset: 18% 8% auto 8%;
  height: 150px;
  opacity: 0.95;
}
.r2t-sound[data-r2t-theme="wave"] .r2t-sc-wave path {
  fill: none;
  stroke: var(--r2t-sc-zone);
  stroke-width: 10;
  stroke-linecap: round;
  filter: drop-shadow(0 18px 26px color-mix(in srgb, var(--r2t-sc-zone) 32%, transparent));
}

.r2t-sound[data-r2t-theme="glow"] .r2t-sc-bubbles,
.r2t-sound[data-r2t-theme="glow"] .r2t-sc-orb,
.r2t-sound[data-r2t-theme="glow"] .r2t-sc-ring,
.r2t-sound[data-r2t-theme="glow"] .r2t-sc-wave,
.r2t-sound[data-r2t-theme="glow"] .r2t-sc-blocks { display: none; }
.r2t-sound[data-r2t-theme="glow"] .r2t-sc-visual {
  min-height: 260px;
  border-color: color-mix(in srgb, var(--r2t-sc-zone) 42%, rgba(23,32,51,0.12));
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--r2t-sc-zone) 12%, rgba(255,255,255,0.94)), rgba(255,255,255,0.78));
}
.r2t-sound[data-r2t-theme="glow"] .r2t-sc-visual::before {
  content: "";
  position: absolute;
  left: 0; right: 0; top: 0;
  height: clamp(14px, 2.2vw, 28px);
  background: var(--r2t-sc-zone);
  box-shadow: 0 0 42px color-mix(in srgb, var(--r2t-sc-zone) 62%, transparent);
}
.r2t-sound[data-r2t-theme="glow"] .r2t-sc-readout { position: relative; inset: auto; }

.r2t-sound[data-r2t-theme="lowstim"] .r2t-sc-bubbles,
.r2t-sound[data-r2t-theme="lowstim"] .r2t-sc-orb,
.r2t-sound[data-r2t-theme="lowstim"] .r2t-sc-ring,
.r2t-sound[data-r2t-theme="lowstim"] .r2t-sc-wave { display: none; }
.r2t-sound[data-r2t-theme="lowstim"] .r2t-sc-blocks {
  display: flex;
  gap: 10px;
  position: relative;
  z-index: 2;
  margin-bottom: 150px;
}
.r2t-sound[data-r2t-theme="lowstim"] .r2t-sc-blocks span {
  width: clamp(38px, 7vw, 72px);
  height: clamp(38px, 7vw, 72px);
  border-radius: 18px;
  background: rgba(23, 32, 51, 0.11);
}
.r2t-sound[data-r2t-theme="lowstim"] .r2t-sc-blocks span.is-active { background: var(--r2t-sc-zone); }
.r2t-sound[data-r2t-theme="lowstim"] .r2t-sc-visual,
.r2t-sound[data-r2t-theme="lowstim"] .r2t-sc-zone-backdrop { transition: none; filter: none; }
.r2t-sound[data-r2t-theme="lowstim"] * { animation: none !important; }

.r2t-sound[data-r2t-zone="red"] .r2t-sc-visual { box-shadow: inset 0 0 0 4px color-mix(in srgb, var(--r2t-sc-zone) 58%, transparent); }
.r2t-sound[data-r2t-goal-reached="true"] .r2t-sc-visual::after {
  content: "Target reached";
  position: absolute;
  top: 64px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 6;
  padding: 9px 14px;
  border-radius: 999px;
  background: rgba(255,255,255,0.86);
  border: 1px solid rgba(23,32,51,0.1);
  font-weight: 950;
  color: rgba(23,32,51,0.76);
  box-shadow: 0 14px 42px rgba(23,32,51,0.12);
}

.r2t-sound--controls-hidden { grid-template-columns: 1fr; background: transparent; padding: 0; min-height: 0; }
.r2t-sound--controls-hidden .r2t-sc-controls { display: none; }
.r2t-sound--controls-hidden .r2t-sc-main { box-shadow: none; border-radius: 22px; }

.r2t-sound--controls-compact .r2t-sc-controls {
  padding: 14px;
}
.r2t-sound--controls-compact .r2t-sc-control-head p,
.r2t-sound--controls-compact .r2t-sc-privacy { font-size: 0.86rem; }

.r2t-sound--pro[data-r2t-class-mode="whole_class"] [data-control="stationProfile"] { display: none; }
.r2t-sound--pro[data-r2t-class-mode="stations"] [data-control="activityMode"] { display: none; }
.r2t-sound--pro[data-r2t-class-mode="manual"] [data-control="stationProfile"] { display: none; }

.r2t-sc-visual:fullscreen {
  width: 100vw;
  height: 100vh;
  border-radius: 0;
  border: 0;
  padding: clamp(40px, 5vw, 84px);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.92), rgba(245, 247, 255, 0.78)),
    radial-gradient(circle at 40% 18%, color-mix(in srgb, var(--r2t-sc-zone) 28%, transparent), transparent 30%);
}
.r2t-sc-visual:fullscreen .r2t-sc-readout h3 { font-size: clamp(4rem, 9vw, 10rem); }
.r2t-sc-visual:fullscreen .r2t-sc-readout span { font-size: clamp(1.5rem, 2.5vw, 2.4rem); }
.r2t-sc-visual:fullscreen .r2t-sc-orb { width: min(40vw, 430px); height: min(40vw, 430px); }
.r2t-sc-visual.r2t-sc-card-fs {
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  z-index: 999999 !important;
  border-radius: 0 !important;
  border: 0 !important;
  padding: clamp(40px, 5vw, 84px) !important;
}
.r2t-sc-visual.r2t-sc-card-fs .r2t-sc-readout h3 { font-size: clamp(4rem, 9vw, 10rem); }
.r2t-sc-visual.r2t-sc-card-fs .r2t-sc-readout span { font-size: clamp(1.5rem, 2.5vw, 2.4rem); }
body.r2t-sc-lock-scroll { overflow: hidden !important; }

@media (max-width: 980px) {
  .r2t-sound,
  .r2t-sound--embedded { grid-template-columns: 1fr; }
  .r2t-sc-controls { position: static; }
}

@media (max-width: 640px) {
  .r2t-sound { padding: 10px; border-radius: 18px; }
  .r2t-sc-main { border-radius: 22px; }
  .r2t-sc-visual { min-height: 330px; border-radius: 22px; }
  .r2t-sc-head { align-items: flex-start; }
  .r2t-sc-mark { width: 46px; height: 46px; }
  .r2t-sc-streaks { grid-template-columns: 1fr; }
  .r2t-sc-buttons { grid-template-columns: 1fr; }
  .r2t-sc-buttons .r2t-sc-primary { grid-column: auto; }
}


/* Ready2Teach embedded classroom-display sound meter support. */

.r2t-sc-embed,
.r2t-sound-check[data-r2t-sound-embed="1"] {
  --r2t-sc-live-level: 0;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  padding: 9px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.90);
  border: 1px solid rgba(16,32,51,.12);
  box-shadow: 0 12px 32px rgba(16,32,51,.14);
  color: #102033;
  backdrop-filter: blur(12px);
  font-family: inherit;
}
.r2t-sc-embed[data-r2t-enabled="0"] { display: none !important; }
.r2t-sc-embed--floating {
  position: fixed;
  left: 50%;
  bottom: 22px;
  transform: translateX(-50%);
  z-index: 2147483639;
  min-width: min(560px, 44vw);
  max-width: 720px;
}
.r2t-sc-embed--header { min-width: 260px; }
.r2t-sc-embed-label,
.r2t-sound-label {
  font-size: 12px;
  font-weight: 1000;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #33516f;
  white-space: nowrap;
}
.r2t-sc-embed-bars,
.r2t-wave,
.r2t-noise-bars {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  flex: 1;
  height: 34px;
  min-width: 100px;
}
.r2t-sc-embed-bars i,
.r2t-wave i,
.r2t-noise-bars i {
  display: block;
  width: 8px;
  min-height: 7px;
  height: var(--h, var(--bar-h, 10px));
  border-radius: 999px;
  background: #38bdf8;
  box-shadow: 0 0 16px rgba(56,189,248,.28);
  transform-origin: center center;
  transition: height .08s linear, background .18s ease, box-shadow .18s ease;
}
.r2t-sc-embed.is-medium .r2t-sc-embed-bars i,
.r2t-sc-embed.is-medium .r2t-wave i,
.r2t-sound-check.is-medium .r2t-wave i { background: #f59e0b; box-shadow: 0 0 16px rgba(245,158,11,.30); }
.r2t-sc-embed.is-loud .r2t-sc-embed-bars i,
.r2t-sc-embed.is-loud .r2t-wave i,
.r2t-sound-check.is-loud .r2t-wave i { background: #ef4444; box-shadow: 0 0 16px rgba(239,68,68,.32); }
.r2t-sc-embed.is-idle .r2t-sc-embed-bars i,
.r2t-sc-embed.is-demo .r2t-sc-embed-bars i,
.r2t-sound-check.is-idle .r2t-wave i { animation: r2tScEmbedIdleWave 1.25s ease-in-out infinite; }
.r2t-sc-embed-bars i:nth-child(2), .r2t-wave i:nth-child(2){ animation-delay:.08s; }
.r2t-sc-embed-bars i:nth-child(3), .r2t-wave i:nth-child(3){ animation-delay:.16s; }
.r2t-sc-embed-bars i:nth-child(4), .r2t-wave i:nth-child(4){ animation-delay:.24s; }
.r2t-sc-embed-bars i:nth-child(5), .r2t-wave i:nth-child(5){ animation-delay:.32s; }
.r2t-sc-embed-bars i:nth-child(6), .r2t-wave i:nth-child(6){ animation-delay:.40s; }
.r2t-sc-embed-bars i:nth-child(7), .r2t-wave i:nth-child(7){ animation-delay:.48s; }
.r2t-sc-embed-bars i:nth-child(8), .r2t-wave i:nth-child(8){ animation-delay:.56s; }
.r2t-sc-embed-bars i:nth-child(9), .r2t-wave i:nth-child(9){ animation-delay:.64s; }
@keyframes r2tScEmbedIdleWave { 0%,100%{height:8px} 50%{height:28px} }
.r2t-sc-embed button[data-r2t-sound-start],
.r2t-sc-embed button[data-r2t-sound-stop] {
  border: 0;
  border-radius: 999px;
  padding: 8px 11px;
  background: #102033;
  color: #fff;
  font-size: 12px;
  font-weight: 900;
  cursor: pointer;
  white-space: nowrap;
}
.r2t-sc-embed.is-live button[data-r2t-sound-start] { display: none; }
.r2t-sc-embed:not(.is-live) button[data-r2t-sound-stop] { display: none; }
@media (max-width: 760px) {
  .r2t-sc-embed--floating { min-width: 260px; max-width: 68vw; bottom: 16px; }
  .r2t-sc-embed-label { display: none; }
}

