/* Player v7: one design across light, Midnight Blue and future gift themes */
.mp7-root{--p-bg:var(--surface,#fff);--p-soft:var(--surface-2,#eef1f5);--p-text:var(--text,#222);--p-border:var(--border,#d4d9e0);--p-accent:var(--primary,#4169cf);position:sticky;top:0;z-index:1035;margin:0 auto;width:min(100%,1200px);color:var(--p-text);background:var(--p-bg);border:1px solid var(--p-border);box-shadow:0 8px 24px rgba(0,0,0,.13)}
.mp7-root[hidden],.mp7-root [hidden]{display:none!important}
.mp7-root button{font:inherit;cursor:pointer}
.mp7-mini{min-height:66px;display:flex;align-items:center;gap:8px;padding:8px 12px}
.mp7-cover{height:44px;width:44px;flex-shrink:0;border:0;border-radius:10px;color:var(--p-accent);background:var(--p-soft);font-size:22px;background-position:center;background-size:cover}.mp7-cover.has-cover i{visibility:hidden}
.mp7-titlebox{flex:1;min-width:0;text-align:left;background:transparent;border:0;color:var(--p-text);display:grid;gap:3px}
.mp7-titlebox strong,.mp7-titlebox span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mp7-titlebox strong{font-size:14px}.mp7-titlebox span{font-size:12px;opacity:.8}
.mp7-control{height:38px;width:38px;flex-shrink:0;border:0;border-radius:50%;color:var(--p-text);background:transparent;font-size:17px}
.mp7-control:focus-visible,.mp7-root button:focus-visible,.mp7-root input:focus-visible,.mp7-page-chapter:focus-visible{outline:2px solid var(--p-accent);outline-offset:2px}
.mp7-primary{background:var(--p-accent);color:white;font-size:22px;width:42px;height:42px}
.mp7-track{height:3px;background:var(--p-soft)}.mp7-track>div{height:100%;width:0;background:var(--p-accent);transition:width .15s linear}
.mp7-drawer{padding:13px;max-height:min(75vh,650px);overflow:auto;border-top:1px solid var(--p-border)}
.mp7-drawer-head,.mp7-seek,.mp7-settings{display:flex;align-items:center;justify-content:space-between;gap:10px}
.mp7-drawer-head{margin-bottom:12px}.mp7-drawer-head button{border:0;background:transparent;color:var(--p-text);font-size:20px}
.mp7-seek{font-size:12px;font-variant-numeric:tabular-nums}.mp7-seek input{flex:1;min-width:20px;accent-color:var(--p-accent)}
.mp7-settings{margin:14px 0}.mp7-settings button,.mp7-settings select,.mp7-retry{background:var(--p-soft);border:1px solid var(--p-border);color:var(--p-text);border-radius:8px;padding:8px}.mp7-settings label{font-size:12px}
#mp7-status{font-size:12px;opacity:.85;min-height:17px;margin:6px 0}
.mp7-queue{display:grid;gap:5px;max-height:250px;overflow:auto}
.mp7-qitem{border:1px solid transparent;border-radius:9px;padding:10px;text-align:left;display:flex;align-items:center;gap:12px;background:var(--p-soft);color:var(--p-text)}
.mp7-qitem span:nth-child(2){flex:1}.mp7-qitem.is-active{background:color-mix(in srgb,var(--p-accent) 15%,var(--p-bg));border-color:var(--p-accent);font-weight:700}
.mp7-book{--p-text:var(--text,#222);--p-bg:var(--surface,#fff);--p-soft:var(--surface-2,#eee);--p-accent:var(--primary,#4169cf);--p-border:var(--border,#ddd);background:var(--p-bg);color:var(--p-text);border:1px solid var(--p-border);border-radius:16px;padding:14px;margin:20px 0}
.mp7-book-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.mp7-book-header h3{font-size:18px;margin:0}.mp7-book-header h3 span{font-size:12px;opacity:.65;font-weight:400}
.mp7-start{border:0;border-radius:10px;background:var(--p-accent);color:white;padding:9px 15px;font-weight:600}
.mp7-page-list{max-height:480px;overflow:auto;display:grid;gap:6px}
.mp7-page-chapter{display:flex;align-items:center;width:100%;min-height:49px;gap:12px;padding:9px 12px;background:var(--p-soft);color:var(--p-text);border:1px solid transparent;border-radius:10px;text-align:left}
.mp7-page-chapter.is-active{border-color:var(--p-accent);background:color-mix(in srgb,var(--p-accent) 16%,var(--p-bg));font-weight:700}
.mp7-chapter-symbol{color:var(--p-accent);width:23px;flex-shrink:0}.mp7-chapter-name{flex:1;min-width:0}.mp7-chapter-duration{font-size:12px;opacity:.75;font-variant-numeric:tabular-nums}
@media(max-width:470px){.mp7-mini{gap:3px;padding:6px}.mp7-cover{width:38px;height:38px}.mp7-control{width:32px;height:34px}.mp7-primary{height:40px;width:40px}.mp7-expand{display:none}.mp7-titlebox strong{font-size:12px}.mp7-root{border-left:0;border-right:0}}

/* PLAYER V7.1 FIXES — all themes inherit the active site's CSS variables */
.mp7-book-header{flex-wrap:wrap}
.mp7-book-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.mp7-resume{border:1px solid var(--p-accent);border-radius:10px;color:var(--p-accent);background:var(--p-bg);padding:9px 13px;font-weight:700}
.mp7-resume[hidden],#mp7-resume-global[hidden]{display:none!important}
.mp7-settings select{color:var(--p-text)!important;background:var(--p-bg)!important;min-width:80px;max-width:110px;color-scheme:normal}
.mp7-settings select option{color:var(--p-text);background:var(--p-bg)}
.mp7-settings label{display:flex;align-items:center;gap:6px;color:var(--p-text);font-size:13px}
.mp7-root [hidden]{display:none!important}

/* PLAYER V7.2 — accessibility, theme-aware work links and distinct close/collapse controls */
.mp7-titlebox{text-decoration:none!important;cursor:pointer}
.mp7-titlebox:hover strong,.mp7-book-link:hover{text-decoration:underline}
.mp7-book-link{flex:1;min-width:0;text-decoration:none;color:var(--p-text);font-weight:600;overflow-wrap:anywhere}
.mp7-book-link:focus-visible,.mp7-titlebox:focus-visible{outline:2px solid var(--p-accent);outline-offset:3px;border-radius:5px}
.mp7-drawer-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}
.mp7-drawer-actions button{width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--p-border);border-radius:9px;background:var(--p-soft);color:var(--p-text)}
.mp7-root .mp7-stop{display:grid;place-items:center;font-size:15px;color:var(--p-text);opacity:.76;width:32px;min-width:32px}
.mp7-root .mp7-stop:hover,.mp7-drawer-actions #mp7-close:hover{color:var(--p-accent);opacity:1}
.mp7-root .mp7-drawer-head{align-items:start}
.mp7-root [hidden]{display:none!important}
@media(max-width:470px){.mp7-root .mp7-stop{width:27px;min-width:27px;font-size:13px}.mp7-mini{gap:3px}.mp7-mini .mp7-titlebox{min-width:54px}}
