/* ASMR Sanctuary — Embed Widget Shared Styles */
*, *::before, *::after { box-sizing: border-box; }
html, body {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  font-size: 14px;
  line-height: 1.4;
  background: #0a0a12;
  color: #e8e4f0;
  -webkit-font-smoothing: antialiased;
  overflow: hidden;
}
body.embed {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: space-between;
  padding: 10px 12px 6px;
  gap: 8px;
}
.embed-stage {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 0;
}
.embed-title {
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.65;
  margin: 0;
  text-align: center;
}
.embed-display {
  font-size: 28px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-align: center;
  font-variant-numeric: tabular-nums;
}
.embed-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
  justify-content: center;
}
.embed-btn {
  font: inherit;
  background: #8b7cf8;
  color: #fff;
  border: 0;
  border-radius: 8px;
  padding: 6px 14px;
  cursor: pointer;
  font-weight: 600;
  font-size: 13px;
  transition: background .15s, transform .1s;
}
.embed-btn:hover { background: #a394f9; }
.embed-btn:active { transform: scale(0.97); }
.embed-btn.ghost {
  background: transparent;
  color: #c9c3e0;
  border: 1px solid rgba(139,124,248,.45);
}
.embed-btn.ghost:hover { background: rgba(139,124,248,.12); }
.embed-btn.ghost.active {
  background: rgba(139,124,248,.22);
  color: #fff;
  border-color: #8b7cf8;
}
.embed-btn.tiny { padding: 4px 8px; font-size: 11px; border-radius: 6px; }
.embed-slider {
  -webkit-appearance: none;
  appearance: none;
  width: 100%;
  max-width: 180px;
  height: 4px;
  background: rgba(139,124,248,.25);
  border-radius: 2px;
  outline: none;
}
.embed-slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 14px; height: 14px;
  background: #8b7cf8;
  border-radius: 50%;
  cursor: pointer;
  border: 0;
}
.embed-slider::-moz-range-thumb {
  width: 14px; height: 14px;
  background: #8b7cf8;
  border-radius: 50%;
  cursor: pointer;
  border: 0;
}
.embed-attrib {
  text-align: center;
  font-size: 10px;
  opacity: 0.55;
  margin: 0;
  padding-top: 2px;
}
.embed-attrib a {
  color: inherit;
  text-decoration: none;
  border-bottom: 1px dotted currentColor;
}
.embed-attrib a:hover { opacity: 1; color: #c4baf7; }

/* breathing circle */
.bx-circle {
  width: 110px; height: 110px;
  border-radius: 50%;
  background: radial-gradient(circle at 35% 30%, #a394f9 0%, #8b7cf8 50%, #5e4dcf 100%);
  box-shadow: 0 0 30px rgba(139,124,248,.35);
  transition: transform 0.4s ease-out;
  transform: scale(0.55);
  will-change: transform;
}
.bx-phase {
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 0.05em;
  min-height: 1.4em;
}
.bx-count {
  font-size: 12px;
  opacity: 0.7;
  font-variant-numeric: tabular-nums;
}

/* sound wave svg */
.snd-wave { width: 100%; max-width: 240px; height: 38px; display: block; }
.snd-wave path {
  fill: none;
  stroke: #8b7cf8;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* light theme */
@media (prefers-color-scheme: light) {
  html, body { background: #f6f4fb; color: #1b1a2a; }
  .embed-btn.ghost { color: #3b3460; border-color: rgba(94,77,207,.4); }
  .embed-btn.ghost:hover { background: rgba(94,77,207,.08); }
  .embed-btn.ghost.active { background: rgba(94,77,207,.16); color: #1b1a2a; border-color: #5e4dcf; }
  .embed-slider { background: rgba(94,77,207,.2); }
}

/* reduced motion */
@media (prefers-reduced-motion: reduce) {
  .bx-circle { transition: none; transform: scale(0.7); }
  .embed-btn { transition: none; }
}
