/* Shared background-music mini player styles (oneday + festival). Idempotent, additive-only CSS. */
.meditation-player{position:fixed;z-index:1000;left:14px;bottom:16px;display:flex;align-items:center;gap:10px;max-width:252px;padding:8px 14px 8px 8px;border-radius:999px;box-shadow:0 15px 40px rgba(0,0,0,.35);transition:transform .3s,opacity .3s,bottom .3s;}
.meditation-player[hidden]{display:none}
.meditation-toggle{flex:none;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:1px solid transparent;position:relative;padding:0;transition:background .2s,color .2s,transform .2s}
.meditation-toggle:active{transform:scale(.94)}
.meditation-toggle svg{display:block}
.meditation-toggle .meditation-icon-off{display:block}
.meditation-toggle .meditation-icon-on{display:none}
.meditation-toggle[aria-pressed="true"] .meditation-icon-on{display:block}
.meditation-toggle[aria-pressed="true"] .meditation-icon-off{display:none}
.meditation-toggle[aria-pressed="false"] .meditation-icon-on{display:none}
.meditation-toggle[aria-pressed="false"] .meditation-icon-off{display:block}
.meditation-body{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}
.meditation-status{margin:0;font-size:.72rem;font-weight:700;line-height:1.3;max-width:168px;white-space:normal}
.meditation-volume-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.meditation-volume{width:92px;height:4px;accent-color:currentColor;cursor:pointer}

/* Theme: oneday (dark / orange) */
.theme-oneday{background:#1e2221e3;border:1px solid #ffffff27;color:#fff;backdrop-filter:blur(16px)}
.theme-oneday .meditation-toggle{background:#f16b3e;color:#171a1b}
.theme-oneday .meditation-toggle[aria-pressed="false"]{background:#ffffff1f;color:#ffb28e}
.theme-oneday .meditation-status{color:#ffd9c2}
.theme-oneday .meditation-credit{color:#9ca5a0}
.theme-oneday .meditation-credit a{color:#ffac84;text-decoration:underline;text-underline-offset:3px}

/* Theme: festival (ivory / forest) */
.theme-festival{background:rgba(243,240,232,.95);border:1px solid #d4d6cb;color:#203c32;backdrop-filter:blur(16px)}
.theme-festival .meditation-toggle{background:#203c32;color:#f3f0e8}
.theme-festival .meditation-toggle[aria-pressed="false"]{background:#e4e1d6;color:#687267}
.theme-festival .meditation-status{color:#687267}
.theme-festival .meditation-credit{color:#687267}
.theme-festival .meditation-credit a{color:#a86644;text-decoration:underline;text-underline-offset:3px}

.meditation-credit{font-size:.78rem;line-height:1.6;margin:10px 0 0;max-width:620px}
.meditation-credit a{color:inherit}

@media (max-width:700px){
  .meditation-player{left:10px;max-width:180px;padding:6px 10px 6px 6px;gap:7px}
  .meditation-status{font-size:.66rem;max-width:118px}
  .meditation-volume{width:64px}
  .theme-oneday.meditation-player{bottom:94px}
  .theme-festival.meditation-player{bottom:92px}
}
@media (prefers-reduced-motion:reduce){
  .meditation-player{transition:none}
  .meditation-toggle{transition:none}
}

/* Compact idle control keeps the registration CTA unobstructed. */
.meditation-player{width:54px;height:54px;max-width:none;box-sizing:border-box;padding:6px;gap:0}
.meditation-body{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.meditation-player:hover .meditation-body,.meditation-player:focus-within .meditation-body{width:176px;height:auto;left:64px;bottom:0;margin:0;padding:13px 16px;clip-path:none;overflow:visible;white-space:normal;border-radius:20px;box-shadow:0 10px 32px #0003;gap:8px}
.theme-oneday .meditation-body{background:#1e2221;color:#ffd9c2}
.theme-festival .meditation-body{background:#f3f0e8;color:#203c32}
.meditation-player:has(.meditation-toggle[aria-pressed=true]){box-shadow:0 0 0 3px #ffffff38,0 10px 32px #0003}
@media(max-width:700px){.meditation-player{width:48px;height:48px;padding:4px}.meditation-player:hover .meditation-body,.meditation-player:focus-within .meditation-body{left:56px;width:154px}.meditation-volume{width:100px}}
