/* Shared by all entry pages; the audio owner survives browsing in its content frame. */
.music-persistent-player[hidden],.music-persistent-player [hidden]{display:none!important}
.music-persistent-player button:focus-visible,.music-persistent-player a:focus-visible,.music-persistent-player input:focus-visible{outline:2px solid #975a37;outline-offset:3px}
.music-persistent-player button:focus:not(:focus-visible),.music-persistent-player a:focus:not(:focus-visible),.music-persistent-player input:focus:not(:focus-visible){outline:none}
body.music-has-player{padding-bottom:var(--music-dock-height,110px)}
.music-has-player .scroll-to-top{bottom:calc(var(--music-dock-height,110px) + 12px)}
.music-persistent-player{position:fixed;inset:auto 0 0;z-index:1100;padding:8px 20px calc(12px + env(safe-area-inset-bottom));color:#283c30;pointer-events:none}
.music-persistent-inner{position:relative;max-width:1160px;margin:auto;display:grid;grid-template-columns:minmax(180px,1fr) minmax(340px,1.65fr) auto;gap:24px;align-items:center;padding:12px 18px;background:rgba(255,255,252,.97);border:1px solid #dce3d6;border-radius:16px;box-shadow:0 8px 36px #253d2e17,0 2px 8px #253d2e06;backdrop-filter:blur(16px);pointer-events:auto}
.music-now{display:flex;gap:12px;align-items:center;min-width:0}
.music-now img{width:48px;height:48px;object-fit:cover;flex-shrink:0;border-radius:8px;box-shadow:0 2px 8px #2c453214}
.music-now>div{min-width:0}
.music-now a{display:block;color:#2f4939;font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.7;text-decoration:none}
.music-now p{margin:4px 0 0;font-size:10px;color:#8a9384;line-height:1.6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.music-now a.music-now-source{font-size:10px;margin-top:3px;font-weight:400;color:#7b8874}
.music-persistent-player button{font:inherit;color:#48634e;cursor:pointer;-webkit-tap-highlight-color:transparent}
.music-persistent-player svg{width:20px;height:20px;display:block;fill:currentColor;flex-shrink:0}
.music-playback-controls{display:grid;grid-template-columns:auto minmax(100px,1fr);align-items:center;gap:20px;min-width:0}
.music-transport{display:flex;gap:5px;align-items:center;justify-content:center}
.music-transport button{display:grid;place-items:center;width:40px;height:40px;padding:0;border:0;border-radius:50%;background:transparent;transition:background .15s,transform .15s}
.music-transport button:hover:enabled{background:#edf2e8}
.music-transport button:active:enabled{transform:scale(.96)}
.music-transport button>svg{width:19px;height:19px}
.music-transport .music-main-play{width:56px;height:56px;background:#31574e;color:#fff;box-shadow:0 4px 12px #31574e1f}
.music-transport .music-main-play:hover:enabled{background:#26483e}
.music-transport .music-main-play>svg{width:23px;height:23px}
.music-transport .music-main-play>.music-icon-play{transform:translateX(1px)}
.music-persistent-player button:disabled{opacity:.3;cursor:default}
.music-timeline{display:flex;gap:9px;align-items:center;min-width:0;font-size:10px;color:#8a9384;font-variant-numeric:tabular-nums}
.music-timeline>span{flex-shrink:0;min-width:25px;text-align:center}
.music-timeline input{appearance:none;-webkit-appearance:none;width:100%;min-width:0;height:24px;margin:0;padding:0;border:0;background:transparent;cursor:pointer;--music-progress:0%}
.music-timeline input::-webkit-slider-runnable-track{height:3px;border-radius:3px;background:linear-gradient(to right,#52765e 0%,#52765e var(--music-progress),#e5e9e1 var(--music-progress),#e5e9e1 100%)}
.music-timeline input::-webkit-slider-thumb{-webkit-appearance:none;width:10px;height:10px;border:0;border-radius:50%;background:#52765e;margin-top:-3.5px;box-shadow:0 0 0 3px #fff}
.music-timeline input::-moz-range-track{height:3px;border:0;border-radius:3px;background:#e5e9e1}
.music-timeline input::-moz-range-progress{height:3px;border-radius:3px;background:#52765e}
.music-timeline input::-moz-range-thumb{width:10px;height:10px;border:0;border-radius:50%;background:#52765e;box-shadow:0 0 0 3px #fff}
.music-timeline input:disabled{cursor:default;opacity:.5}
.music-queue-toggle{display:flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:8px 11px;border:0;border-radius:9px;background:transparent;font-size:11px!important;white-space:nowrap;transition:background .15s}
.music-queue-toggle:hover,.music-queue-toggle[aria-expanded=true]{background:#edf2e8}
.music-queue-toggle>svg{width:18px;height:18px}
.music-queue-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;border-radius:6px;background:#edf1e8;color:#65805c;font-size:10px;font-weight:600;font-variant-numeric:tabular-nums}
.music-queue-status{grid-column:1/-1;margin:0;padding-top:8px;border-top:1px solid #edf0e8;font-size:11px;color:#867451;overflow-wrap:anywhere;line-height:1.7}
.music-queue-status:empty{display:none}
.music-queue-announcement{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.music-queue-panel{position:absolute;bottom:calc(100% + 2px);right:max(20px,calc((100vw - 1160px)/2));width:380px;max-width:calc(100vw - 40px);max-height:45vh;max-height:min(50dvh,440px);overflow:auto;overscroll-behavior:contain;padding:17px;background:#fffefb;border:1px solid #dce3d6;border-radius:14px;box-shadow:0 12px 40px #253d2e21;pointer-events:auto}
.music-queue-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}
.music-queue-heading h2{display:flex;align-items:center;gap:8px;flex:1;margin:0;color:#2f4939;font-size:14px;font-weight:600;line-height:1.5}
.music-queue-heading h2 .music-queue-count{height:19px;min-width:19px}
.music-queue-heading button{display:grid;place-items:center;min-width:36px;min-height:36px;padding:7px;border:0;border-radius:7px;background:transparent;font-size:11px;color:#89947f}
.music-queue-heading button:hover{background:#f0f3ec}
.music-queue-heading button>svg{width:16px;height:16px}
.music-queue-panel ol{list-style:none;margin:0;padding:0}
.music-queue-panel li{display:flex;gap:6px;align-items:center;border-radius:9px;margin:3px 0;padding:2px 4px}
.music-queue-panel li.is-current{background:#eef3e8}
.music-queue-item{display:flex;align-items:center;gap:12px;flex:1;min-width:0;min-height:60px;text-align:left;padding:9px 5px;border:0;border-radius:6px;background:transparent}
.music-queue-order{width:20px;flex-shrink:0;text-align:center;color:#a6ae9d;font-size:11px;font-variant-numeric:tabular-nums}
.music-queue-item>span:last-child{min-width:0}
.music-queue-item strong{display:block;font-size:12px;line-height:1.7;font-weight:500;color:#3e5642;overflow-wrap:anywhere}
.music-queue-item small{display:block;font-size:10px;line-height:1.7;color:#919b86;margin-top:2px;overflow-wrap:anywhere}
.music-queue-panel [aria-current=true] strong{color:#31574e;font-weight:600}
.music-queue-remove{display:grid;place-items:center;flex-shrink:0;width:36px;height:36px;border:0;border-radius:7px;background:transparent;color:#9da594!important}
.music-queue-remove>svg{width:15px;height:15px}
.music-queue-remove:hover{background:#e3ebdc;color:#52674e!important}
.music-queue-empty{padding:22px 8px 16px;text-align:center;font-size:12px;line-height:1.8;color:#929b88}
.music-browsing-shell{overflow:hidden;height:100vh;height:100dvh;padding:0!important}
.music-browsing-shell>:not(.music-persistent-player):not(.music-browse-frame):not(script):not(style){display:none!important}
.music-browse-frame{position:fixed;inset:0 0 auto;width:100%;height:calc(100vh - var(--music-dock-height,110px));height:calc(100dvh - var(--music-dock-height,110px));border:0;background:#faf9f6}
@media(max-width:960px){.music-persistent-inner{grid-template-columns:minmax(150px,1fr) auto auto;gap:5px 15px;padding:10px 16px}.music-playback-controls{display:contents}.music-transport{grid-column:2;grid-row:1}.music-timeline{grid-column:1/-1;grid-row:2}.music-queue-toggle{grid-column:3;grid-row:1}}
@media(max-width:600px){.music-persistent-player{padding:6px 10px calc(8px + env(safe-area-inset-bottom))}.music-persistent-inner{grid-template-columns:minmax(0,1fr) auto;gap:3px 10px;padding:10px 12px;border-radius:13px}.music-now{gap:9px}.music-now img{width:40px;height:40px;border-radius:7px}.music-now a{font-size:12px}.music-now p{font-size:10px;margin-top:3px}.music-transport{gap:2px}.music-transport button{width:36px;height:40px}.music-transport .music-main-play{width:52px;height:52px}.music-transport .music-main-play>svg{width:22px;height:22px}.music-transport button>svg{width:17px;height:17px}.music-timeline{grid-column:1;grid-row:2;gap:6px;font-size:9px}.music-queue-toggle{grid-column:2;grid-row:2;gap:6px;min-height:36px;padding:5px 8px;font-size:10px!important}.music-queue-toggle>svg{width:16px;height:16px}.music-queue-count{min-width:18px;height:18px;font-size:9px}.music-queue-panel{left:10px;right:10px;bottom:calc(100% + 2px);width:auto;max-width:none;padding:14px;border-radius:12px}.music-queue-status{font-size:10px;padding-top:7px}}
@media(prefers-reduced-motion:reduce){.music-persistent-player button{transition:none}}
