/* Photon47 content-page soundtrack. Every selector is namespaced so the small
   opt-in controller cannot change page layout or inherit page-specific chrome. */
.p47-page-music{
  --p47pm-bg:rgba(5,7,14,.97);
  --p47pm-panel:#0b1322;
  --p47pm-line:rgba(133,147,169,.34);
  --p47pm-text:#edf1f7;
  --p47pm-muted:#9eacc1;
  --p47pm-accent:#45dfd0;
  position:fixed;right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));
  z-index:910;color:var(--p47pm-text);font:12px/1.35 system-ui,-apple-system,"Segoe UI",sans-serif;
  pointer-events:none;color-scheme:dark;
}
.p47-page-music,.p47-page-music *{box-sizing:border-box}
.p47-page-music button,.p47-page-music input,.p47-page-music a{font:inherit}
.p47-page-music__launcher{
  position:absolute;right:0;bottom:0;width:42px;height:42px;display:grid;place-items:center;padding:0;
  border:1px solid rgba(69,223,208,.5);border-radius:50%;background:var(--p47pm-bg);color:var(--p47pm-text);
  box-shadow:0 8px 28px rgba(0,0,0,.34),inset 0 1px rgba(255,255,255,.07);cursor:pointer;pointer-events:auto;
}
.p47-page-music__launcher svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.p47-page-music[data-playing="true"] .p47-page-music__launcher{color:var(--p47pm-accent);box-shadow:0 8px 28px rgba(0,0,0,.34),0 0 0 3px rgba(69,223,208,.1)}
.p47-page-music[data-playing="true"] .p47-page-music__launcher svg{animation:p47pm-pulse 1.8s ease-in-out infinite}
.p47-page-music__panel{
  position:absolute;right:0;bottom:52px;width:min(308px,calc(100vw - 24px));padding:11px;
  border:1px solid var(--p47pm-line);border-radius:13px;background:linear-gradient(145deg,var(--p47pm-panel),var(--p47pm-bg));
  box-shadow:0 18px 52px rgba(0,0,0,.48),inset 0 1px rgba(255,255,255,.055);pointer-events:auto;
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
}
.p47-page-music__panel[hidden]{display:none}
.p47-page-music__head{display:grid;grid-template-columns:minmax(0,1fr) 28px;align-items:start;gap:8px;margin-bottom:9px}
.p47-page-music__track{min-width:0;color:inherit;text-decoration:none}
.p47-page-music__track:hover .p47-page-music__title{color:var(--p47pm-accent)}
.p47-page-music__title,.p47-page-music__meta{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.p47-page-music__title{color:var(--p47pm-text);font-weight:720;letter-spacing:.01em}
.p47-page-music__meta{margin-top:2px;color:var(--p47pm-muted);font-size:10px;letter-spacing:.08em;text-transform:uppercase}
.p47-page-music__close,.p47-page-music__button{
  display:grid;place-items:center;margin:0;padding:0;border:1px solid var(--p47pm-line);border-radius:8px;
  background:rgba(255,255,255,.025);color:var(--p47pm-text);cursor:pointer;
}
.p47-page-music__close{width:28px;height:28px}
.p47-page-music__button{width:34px;height:34px}
.p47-page-music__close:hover,.p47-page-music__button:hover{border-color:var(--p47pm-accent);color:var(--p47pm-accent);background:rgba(69,223,208,.06)}
.p47-page-music__close svg,.p47-page-music__button svg{width:15px;height:15px;fill:currentColor;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.p47-page-music__controls{display:grid;grid-template-columns:34px 34px 34px 34px minmax(60px,1fr);align-items:center;gap:6px}
.p47-page-music__button[data-action="play"]{border-color:rgba(69,223,208,.55);background:rgba(69,223,208,.1);color:var(--p47pm-accent)}
.p47-page-music__volume{width:100%;height:34px;margin:0;accent-color:var(--p47pm-accent);cursor:pointer}
.p47-page-music__status{min-height:14px;margin:7px 1px 0;color:var(--p47pm-muted);font-size:10px}
.p47-page-music button:focus-visible,.p47-page-music a:focus-visible,.p47-page-music input:focus-visible{outline:3px solid rgba(69,223,208,.42);outline-offset:2px}
@keyframes p47pm-pulse{50%{transform:scale(.88);opacity:.72}}
@media(max-width:430px){
  .p47-page-music__panel{padding:10px}.p47-page-music__controls{grid-template-columns:34px 34px 34px 34px minmax(48px,1fr)}
}
@media(prefers-reduced-motion:reduce){.p47-page-music *{animation:none!important;transition:none!important}}
@media(forced-colors:active){.p47-page-music__launcher,.p47-page-music__panel,.p47-page-music__button,.p47-page-music__close{forced-color-adjust:auto}}
@media print{.p47-page-music{display:none!important}}
