/* Scoped local media presentation. Banner files and all other modules are untouched. */
body.pm-media .phone-container{height:100dvh;max-height:none;max-width:430px;border-radius:0;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom);background:radial-gradient(ellipse at 100% 0,#47348c77,transparent 48%),linear-gradient(160deg,#1d1743,#0e1129 70%)}
body.pm-media #app-scroll{padding:18px 14px 20px;scroll-padding:16px;min-height:0}
body.pm-media #detail-view{padding:0;background:transparent!important;border:0;box-shadow:none;position:relative;isolation:isolate}
body.pm-media #detail-view:before,body.pm-media #detail-view:after{display:none}
body.pm-media #view-kicker{font-size:9px;letter-spacing:1.6px;color:#e6a5ff;margin-bottom:5px}
body.pm-media #view-title{font-size:clamp(25px,7vw,31px);line-height:1.16;letter-spacing:-1px;margin-bottom:7px;color:#fff}
body.pm-media #view-description{font-size:12px;line-height:1.5;color:#bcb0e5;margin:0 0 15px}
body.pm-media #library-switch{display:flex;gap:9px;margin:0 0 14px;padding:0;background:transparent}
body.pm-media #library-switch button{min-height:44px;min-width:100px;padding:10px 18px;border:1px solid #8d70dc55;border-radius:17px;background:#171336;color:#c8b4f7;font-size:13px;font-weight:800}
body.pm-media #library-switch button[aria-pressed="true"]{background:linear-gradient(125deg,#efb1ff,#c879f5);color:#1c123a;border-color:#e5abf2;box-shadow:0 4px 18px #aa58d92b}
body.pm-media #library-theme-card.supplied-media-banner{display:block;width:100%;height:auto!important;min-height:0;aspect-ratio:3/1;overflow:hidden;position:relative;padding:0;margin:0 0 16px;border:1px solid #ab76f291;border-radius:22px;box-shadow:0 0 14px #804dea30;background:#14112d}
body.pm-media #library-theme-card .library-theme-image{display:block;width:100%;height:100%;max-width:100%;max-height:none;object-fit:contain;transform:none;border-radius:inherit;margin:0}
body.pm-media #list-content{display:flex;flex-direction:column;gap:0;min-width:0}
body.pm-media #entry-label{display:none}
body.pm-media #entry-form{display:none;margin:0 0 12px;gap:8px;align-items:center}
body.pm-media.pm-add-open #entry-form{display:flex}
body.pm-media #entry-form input{flex:1;min-width:0;height:44px;border:1px solid #9672dc77;border-radius:13px;background:#181533;font-size:13px;padding:0 12px;color:#f6edff}
body.pm-media #entry-form button{height:44px;min-width:65px;border-radius:13px;background:#c58af1;color:#1d1137}
body.pm-media .pm-tools{display:grid;gap:10px;margin:0 0 12px;min-width:0}
.pm-filters{display:flex;gap:6px;overflow:auto;padding:1px 1px 3px;scrollbar-width:none}.pm-filters::-webkit-scrollbar{display:none}
.pm-filters button{flex:0 0 auto;min-height:44px;padding:8px 12px;border:1px solid #8b6dd657;border-radius:999px;background:#262048;color:#d8c7f5;font-size:11px;font-weight:750;white-space:nowrap}
.pm-filters button[aria-pressed="true"]{background:linear-gradient(120deg,#df9af4,#a980ee);color:#201535;border-color:#d7a2f4;box-shadow:0 0 13px #a775dd24}
.pm-search-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.pm-search{min-width:0}.pm-search input{width:100%;height:44px;padding:0 12px;border-radius:14px;border:1px solid #a07cea77;background:#12142d;color:#f6eeff;font-size:13px}.pm-search input::placeholder{color:#a99acb}
.pm-add{min-height:44px;padding:8px 14px;border:1px solid #e7b2f17a;border-radius:14px;background:linear-gradient(130deg,#d997f2,#ac7beb);color:#201337;font-size:13px;font-weight:800}
.pm-browse-meta{display:flex;justify-content:space-between;gap:10px;align-items:center}.pm-genre select{height:44px;max-width:180px;border:1px solid #8b6dd64d;border-radius:11px;background:#211a40;color:#c8b9df;padding:0 8px;font-size:11px}.pm-count{font-size:11px;color:#a89bbd;white-space:nowrap}
.pm-tools{position:relative}.pm-browse-meta{display:contents}.pm-filters .pm-genre{position:relative;flex:0 0 auto}.pm-filters .pm-genre select{border-radius:999px;max-width:145px}.pm-count{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden}
body.pm-media #item-list.pm-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 10px;margin:0;padding:0;list-style:none;align-items:start}
#item-list .pm-card{min-width:0;margin:0;padding:0;border:1px solid #9e71e376;border-radius:18px;overflow:hidden;background:linear-gradient(155deg,#29204e,#17162e);box-shadow:inset 0 1px #e5c4ff12,0 4px 14px #09051d33}
.pm-card-open{display:block;width:100%;min-width:0;text-align:left;padding:0;border:0;border-radius:inherit;background:transparent;color:#f5eeff;cursor:pointer;transition:transform .18s ease}
.pm-poster{width:100%;aspect-ratio:2/3;position:relative;background:radial-gradient(ellipse at 70% 15%,#6d48943d,transparent 65%),#15142c;overflow:hidden;border-bottom:1px solid #ab86eb29}
.pm-poster img,.pm-detail-poster img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#121224}
.pm-no-poster{position:absolute;inset:0;display:flex;flex-direction:column;gap:8px;align-items:center;justify-content:center;color:#8f7cac}.pm-no-poster[hidden]{display:none}.pm-film-icon{font-size:35px;color:#aa89ce}.pm-no-poster small{font-size:10px;font-weight:500}
.pm-card-info{padding:9px 9px 10px;min-width:0}
#detail-view .pm-card-info h2{font-size:13px;line-height:1.35;letter-spacing:-.2px;font-weight:800;margin:0 0 4px;color:#faf4ff;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow-wrap:anywhere}
.pm-card-meta{font-size:10px;line-height:1.5;color:#b4a8cf;margin:0 0 7px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.pm-tags{display:flex;flex-wrap:wrap;gap:5px}.pm-status,.pm-rating{display:inline-flex;align-items:center;max-width:100%;font-size:10px;line-height:1.4;padding:3px 7px;background:#7e5fb721;border:1px solid #9c77da38;border-radius:999px;color:#d9c5f7;overflow-wrap:anywhere}.pm-rating{color:#eecfa7;background:#59436622}
body.pm-media #empty-state{font-size:13px;border:1px dashed #8e70ca66;background:#221b40;padding:24px 18px;color:#bcacd6;border-radius:18px}
.pm-sr{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden}
.pm-detail{width:min(414px,calc(100vw - 20px));max-width:none;max-height:calc(100dvh - 28px - env(safe-area-inset-top) - env(safe-area-inset-bottom));padding:16px;margin:auto;border:1px solid #ae7de28c;border-radius:25px;background:radial-gradient(ellipse at 95% 0,#61429255,transparent 48%),linear-gradient(150deg,#262044,#11162b);color:#f8eeff;box-shadow:0 0 25px #8d4cc528;overflow:auto;overscroll-behavior:contain;font-family:var(--font-ui,'Plus Jakarta Sans',sans-serif)}
.pm-detail::backdrop{background:#08061bba;backdrop-filter:blur(4px)}
.pm-detail-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.pm-detail-kicker{font-size:10px;font-weight:800;letter-spacing:1.4px;color:#daacfa}.pm-close{height:44px;width:44px;flex:0 0 44px;font-size:25px;border:1px solid #ad86d439;background:#6b4c9d22;border-radius:50%;color:#ead5ff;cursor:pointer}
.pm-detail-summary{display:grid;grid-template-columns:34% minmax(0,1fr);gap:14px;align-items:start;margin-bottom:16px}.pm-detail-poster{position:relative;aspect-ratio:2/3;border-radius:16px;border:1px solid #af80db66;overflow:hidden;box-shadow:0 0 14px #a26bca18;background:#141329}
.pm-detail-intro{min-width:0}.pm-detail h2{font-size:20px;line-height:1.25;letter-spacing:-.5px;overflow-wrap:anywhere;margin:2px 0 8px;font-weight:800}.pm-detail-meta{font-size:12px;line-height:1.6;color:#c8b6e7;margin:0 0 8px;overflow-wrap:anywhere}.pm-detail-intro .pm-rating{font-size:12px}.pm-description{font-size:12px;line-height:1.65;color:#b9abd1;margin:10px 0}.pm-detail-intro a{font-size:11px;color:#bc9bea;display:inline-block;padding:10px 0;min-height:36px}
.pm-description:not(.expanded){display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.pm-read-more{display:inline-block;min-height:44px;padding:5px 8px 5px 0;border:0;background:transparent;color:#d7b7f7;font-size:11px;cursor:pointer}.pm-detail-intro a{min-height:44px}
.pm-edit-form{display:grid;gap:12px}.pm-field{display:grid;gap:6px;font-size:11px;color:#c8b6de;min-width:0}.pm-field input,.pm-field select{width:100%;min-width:0;min-height:44px;border-radius:13px;border:1px solid #ad85d64d;padding:8px 10px;background:#16182e;color:#f3e9ff;font-size:13px}.pm-field input::placeholder{color:#8e7ca7}.pm-field input:invalid:not(:placeholder-shown){border-color:#d58fbd}.pm-progress-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px;border:0;margin:0;padding:0}.pm-wide{grid-column:1/-1}
.pm-metadata-fields{border-top:1px solid #b491d32b;padding-top:3px}.pm-metadata-fields>summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font-size:12px;color:#d3b7ee;font-weight:750}.pm-metadata-fields>summary:before{content:'＋';margin-right:8px}.pm-metadata-fields[open]>summary:before{content:'−'}.pm-metadata-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.pm-metadata-grid .pm-field:is(:first-child,:last-of-type){grid-column:1/-1}.pm-family{display:flex;align-items:center;gap:9px;font-size:11px;grid-column:1/-1;color:#c8b6de;min-height:44px}.pm-family input{width:20px;height:20px;accent-color:#c18bf0}
.pm-metadata-grid .pm-field[data-field="thumb"]{grid-column:1/-1}
.pm-detail-message{font-size:12px;line-height:1.5;color:#e4b5d6;margin:0}.pm-detail-message:empty{display:none}.pm-detail-actions{display:grid;grid-template-columns:auto 1fr;gap:12px;padding-top:6px}.pm-detail-actions button{min-height:44px;border-radius:14px;font-size:13px;padding:10px 14px;font-weight:750;cursor:pointer}.pm-delete{background:#52283c33;color:#eeb7ce;border:1px solid #bf779e4a}.pm-save{background:linear-gradient(120deg,#d098ef,#9b79e1);color:#20142f;border:1px solid #d7a5ee66}
.pm-detail :is(button,input,select,summary):focus-visible,.pm-media :is(.pm-card-open,.pm-filters button,.pm-add,.pm-search input,.pm-genre select):focus-visible{outline:3px solid #e1c0ff;outline-offset:2px}
@media(hover:hover){.pm-card-open:hover{transform:translateY(-2px)}.pm-card:hover{border-color:#d6a9ff;box-shadow:0 0 13px #a168db38}}
@media(max-width:340px){body.pm-media #app-scroll{padding:14px 12px 18px}.pm-card-info{padding:8px}.pm-status,.pm-rating{font-size:9px;padding:3px 6px}.pm-detail{padding:13px}.pm-detail-summary{gap:11px}.pm-detail h2{font-size:18px}.pm-detail-meta{font-size:11px}.pm-description{font-size:11px}.pm-count{font-size:10px}.pm-genre select{max-width:145px}}
@media(prefers-reduced-motion:reduce){.pm-card-open{transition:none!important;transform:none!important}}
/* V2: shared cinematic wave frame, with an open central notch rather than a footer. */
body.pm-media .phone-container{background:radial-gradient(ellipse at 12% 0,#5244c178,transparent 47%),radial-gradient(ellipse at 100% 40%,#39248655,transparent 60%),linear-gradient(155deg,#1a1749,#11112e 76%)}
body.pm-media #detail-view:before{display:block;content:'';position:absolute;z-index:-1;pointer-events:none;width:80%;height:260px;right:0;top:-210px;border-radius:50%;border:1px solid #b37aff44;background:linear-gradient(135deg,#483db477,#8e46c033)}
body.pm-media[data-pm-kind="movies"] #view-kicker{display:none}
body.pm-media #view-title{font-size:clamp(27px,7.6vw,33px);letter-spacing:-1px;text-shadow:0 2px 12px #18104444}
body.pm-media #view-description{color:#b29af5;font-size:13px;line-height:1.5;margin-bottom:13px}
body.pm-media #library-switch{gap:9px;margin-bottom:0}
body.pm-media #library-switch button{border-radius:999px;background:linear-gradient(135deg,#1b1647,#171333);border-color:#8260e267;color:#c8abff;box-shadow:inset 0 1px #e1b9ff08}
body.pm-media #library-switch button[aria-pressed="true"]{background:linear-gradient(120deg,#f3a4ff,#dc68f5);border-color:#f7c3ffb3;color:#180b35;box-shadow:0 4px 20px #ce67ef30,inset 0 1px #ffdcff66}
body.pm-media #library-theme-card.supplied-media-banner{aspect-ratio:2.65/1;overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none;margin:0 0 10px;isolation:isolate}
body.pm-media #library-theme-card .library-theme-image{position:absolute;inset:0;object-fit:cover;clip-path:url(#pm-banner-clip);border-radius:0}
.pm-banner-frame{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible;filter:drop-shadow(0 0 3px #ba70ffbb) drop-shadow(0 3px 8px #702bff55)}
.pm-banner-frame>path{fill:none;stroke:#b276ff;stroke-width:1.25;stroke-linejoin:round}
.pm-filters{gap:6px;padding:2px 1px 5px}
.pm-filters button,.pm-filters .pm-genre select{background:linear-gradient(125deg,#29215caa,#211b50aa);border-color:#8062df70;color:#e9dfff;box-shadow:inset 0 1px #e6bdff0b}
.pm-filters button{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;padding:8px 11px}
.pm-filters button[aria-pressed="true"]{background:linear-gradient(115deg,#ed9aff,#c77ff4);color:#1c1038;border-color:#e8b1ff;box-shadow:0 3px 16px #c578f633}
.pm-search input{border-color:#a17affbc;background:linear-gradient(120deg,#242052bb,#171633);border-radius:15px;box-shadow:inset 0 1px #d2b0ff0b}
.pm-search input::placeholder{color:#ae95ee}
.pm-add{background:linear-gradient(125deg,#ed9bff,#c87af4);border-color:#ecc1ff;border-radius:15px;box-shadow:0 4px 18px #b664e827}
#item-list .pm-card{border-color:#8f58e6a6;border-radius:17px;background:linear-gradient(145deg,#251c53,#161332);box-shadow:inset 0 1px #e5b8ff21,0 0 9px #8041dd24,0 4px 14px #09051d33}
.pm-poster{border-bottom-color:#b772f842}
.pm-status{border-color:#9269e26b;background:linear-gradient(115deg,#50338166,#35286766);color:#ead4ff}
.pm-rating{border-color:#8f68c76b;background:#161334aa}
.pm-detail{border-color:#a678f3bd;background:radial-gradient(ellipse at 8% 0,#6932aa44,transparent 40%),linear-gradient(145deg,#28205a,#171534 85%);box-shadow:0 0 23px #9e45e92b,inset 0 1px #ecbaff22}
.pm-detail-poster{border-color:#bd7bffb3;box-shadow:0 0 12px #a74bdb38}
.pm-field input,.pm-field select{background:linear-gradient(130deg,#31225866,#181634);border-color:#9c75e46b}
.pm-save{background:linear-gradient(115deg,#e69bf7,#b67cf2);border-color:#e2b5ff}
/* Carousel content stays inside the unchanged V2 vector frame. */
.pm-carousel-window{position:absolute;inset:0;clip-path:url(#pm-banner-clip);touch-action:pan-y;overflow:hidden}
.pm-carousel-track{display:flex;height:100%;width:100%;transition:transform .45s ease;will-change:transform}
.pm-hero-slide{position:relative;flex:0 0 100%;height:100%;min-width:0;overflow:hidden;background:#151236}
body.pm-media #library-theme-card .pm-hero-slide .library-theme-image{clip-path:none;inset:0;object-fit:cover}
.pm-feature-slide{display:flex;align-items:center;padding:24px 12px 9px 8%;background:radial-gradient(ellipse at 85% 20%,#905ce980,transparent 70%),linear-gradient(125deg,#141439,#2c1959);color:#f9eeff}
.pm-feature-copy{display:grid;gap:3px;max-width:62%;min-width:0;z-index:1}.pm-feature-copy small{font-size:9px;color:#e0aaff;text-transform:uppercase;letter-spacing:1px}.pm-feature-copy strong{font-size:clamp(14px,4vw,18px);line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.pm-feature-copy span,.pm-feature-copy em{font-size:9px;font-style:normal;color:#cfbce7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pm-feature-slide>img{position:absolute;right:4%;top:3%;height:95%;width:28%;object-fit:contain;filter:drop-shadow(0 2px 6px #05031e99)}
.pm-feature-source{position:absolute;bottom:13%;right:34%;color:#dfc8f8;font-size:9px;z-index:2}
.pm-carousel-dots{position:absolute;bottom:-7px;left:50%;transform:translateX(-50%);display:flex;align-items:center;z-index:3;gap:0;height:24px}
.pm-carousel-dots button{position:relative;width:24px;height:24px;padding:0;border:0;background:transparent;border-radius:50%;cursor:pointer}
.pm-carousel-dots button:after{content:'';display:block;width:5px;height:5px;background:#6650a3;border-radius:99px;margin:auto;transition:width .2s}
.pm-carousel-dots button[aria-current="true"]:after{width:13px;background:#e98cff;box-shadow:0 0 6px #cd65ff}
body.pm-media #library-theme-card:focus-visible,.pm-carousel-dots button:focus-visible{outline:2px solid #f3ccff;outline-offset:2px}
.pm-community{margin:0 0 12px;padding:10px 0 0;border-top:1px solid #9a70c529;min-width:0}.pm-community header{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:7px}#detail-view .pm-community h2{font-size:14px;margin:0;letter-spacing:-.2px;color:#f5eaff}.pm-community header>span{font-size:9px;color:#b9a4d5}.pm-community-note{font-size:11px;color:#b7a4cb;line-height:1.5;margin:0 0 6px}
.pm-community-row{display:flex;gap:9px;overflow-x:auto;padding:1px 0 8px;scroll-snap-type:x proximity}.pm-community-card{display:flex;gap:9px;flex:0 0 min(290px,95%);scroll-snap-align:start;padding:9px;border:1px solid #a472db60;border-radius:15px;background:linear-gradient(130deg,#352154aa,#17152b);min-width:0}.pm-community-card>img{width:60px;height:90px;object-fit:contain;flex:0 0 60px;border-radius:8px;background:#17122a}.pm-community-card>div{min-width:0;flex:1}#detail-view .pm-community-card h3{font-size:12px;margin:0 0 3px;color:#f8edff;overflow-wrap:anywhere}.pm-community-card p,.pm-community-card blockquote{font-size:10px;color:#c6b2db;margin:0 0 5px;line-height:1.4;overflow-wrap:anywhere}.pm-community-card blockquote{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pm-community-button{min-height:44px;padding:7px 10px;border:1px solid #b584e46b;border-radius:12px;background:#63449155;color:#f0daff;font-size:11px;font-weight:700;cursor:pointer}.pm-community-button:disabled{opacity:.65}.pm-community-text-button{min-height:44px;border:0;background:transparent;color:#d4abe9;font-size:11px;padding:5px 8px;cursor:pointer}.pm-recommend-action{margin-top:15px;padding-top:13px;border-top:1px solid #b188d633}.pm-recommend-action .pm-community-button{width:100%}.pm-share-dialog textarea{width:100%;min-height:80px;padding:10px;resize:vertical;border-radius:12px;border:1px solid #a27ad570;background:#19162f;color:#f7e8ff;font:inherit;font-size:13px}.pm-share-dialog h2{font-size:20px}.pm-share-dialog .pm-family{line-height:1.5}.pm-share-dialog .pm-family input{flex-shrink:0}
.pm-community :is(button,a):focus-visible{outline:2px solid #e5b8ff;outline-offset:2px}
@media(prefers-reduced-motion:reduce){.pm-carousel-track,.pm-carousel-dots button:after{transition:none!important}}
/* Shared media header and accessible, overflowing filter rail. */
body.pm-media #view-kicker{display:none}
body.pm-media #view-title{margin-top:0}
.pm-filter-shell{position:relative;min-width:0}
.pm-filters{position:relative;scroll-padding-inline:32px;padding-inline:1px;overscroll-behavior-x:contain}
.pm-filter-icon{display:block;width:17px;height:17px;flex:0 0 17px;overflow:visible}
.pm-filter-shell:before,.pm-filter-shell:after{content:'';position:absolute;z-index:1;top:0;bottom:0;width:34px;pointer-events:none;opacity:0}
.pm-filter-shell:before{left:0;background:linear-gradient(90deg,#211c48,transparent)}
.pm-filter-shell:after{right:0;background:linear-gradient(270deg,#211c48,transparent)}
.pm-filter-shell[data-left="true"]:before,.pm-filter-shell[data-right="true"]:after{opacity:1}
.pm-filters-prev,.pm-filters-next{position:absolute;z-index:2;top:7px;width:32px;height:32px;border:1px solid #bd90ea66;border-radius:50%;background:#29204ee8;color:#ead7ff;font:23px/1 system-ui;cursor:pointer;padding:0;box-shadow:0 0 9px #130e29aa}
.pm-filters-prev{left:0}.pm-filters-next{right:0}
.pm-filter-shell button[hidden]{display:none}
.pm-filter-shell>button:focus-visible{outline:2px solid #e9c6ff;outline-offset:1px}
body.pm-media #item-list.pm-grid[hidden]{display:none}
.pm-community-recommended{margin-top:0;padding-top:6px;border-top:0}
.pm-community-recommended .pm-community-note{padding:16px;border:1px solid #ab80d942;border-radius:14px;background:#21183977}
/* Shared compact control geometry — scoped to Learning and media, never the dock. */
:root{--zy-control-height:44px;--zy-control-radius:12px;--zy-control-gap:6px;--zy-control-font:11px}
#learning-content>.ws-chips,.pm-filters,#detail-view[data-module="books"] .media-section-strip,#detail-view:has(#show-books[aria-pressed="true"]) .media-section-strip{display:flex;flex-wrap:wrap;overflow:visible;gap:var(--zy-control-gap);padding:3px 1px;margin-bottom:8px;scroll-padding:0}
#learning-content>.ws-chips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
#learning-content>.ws-chips>.ws-chip,.pm-filters button,.pm-filters .pm-genre select,.media-section-strip button{min-height:var(--zy-control-height);height:auto;box-sizing:border-box;padding:7px 9px;border-radius:var(--zy-control-radius);font-size:var(--zy-control-font);font-weight:700;line-height:1.25;white-space:nowrap}
#learning-content>.ws-chips>.ws-chip{min-width:0;margin:0}
.pm-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;box-sizing:border-box}
.pm-filters button{display:flex;justify-content:center;align-items:center;gap:5px;min-width:0;padding-inline:6px}
.pm-filters .pm-filter-icon{width:15px;height:15px;flex-basis:15px}
.pm-filters .pm-genre{min-width:0;width:100%;grid-column:span 2}
.pm-filters .pm-genre select{width:100%;max-width:none;height:44px}
.pm-filter-shell:before,.pm-filter-shell:after,.pm-filters-prev,.pm-filters-next{display:none!important}
.media-section-strip{flex-wrap:wrap;overflow:visible;gap:6px}
.media-section-strip button{display:inline-flex;align-items:center;justify-content:center;flex:0 1 auto;max-width:100%;white-space:normal;overflow-wrap:anywhere}
#learning-content>.ws-toolbar>.ws-button,.pm-add,#detail-view:has(#show-books[aria-pressed="true"]) .entry-form .primary-button{min-height:44px;border-radius:12px;padding:8px 13px;font-size:12px;line-height:1.3}
#learning-content>.ws-toolbar input,.pm-search input{min-height:44px;box-sizing:border-box;font-size:12px}
#learning-content>.learn-actions>.ws-button{min-height:44px;border-radius:12px;padding:8px 12px;font-size:12px}
#learning-content .course-actions-menu summary{min-width:44px;min-height:44px;box-sizing:border-box;display:flex;align-items:center;justify-content:center;padding:5px 10px}
.course-actions-panel.lc-floating-menu{position:fixed;inset:auto;margin:0;width:176px;max-width:calc(100vw - 20px);box-sizing:border-box;padding:6px;border:1px solid #a88acb66;border-radius:15px;background:linear-gradient(135deg,#352a50f7,#211a35fa);box-shadow:0 12px 35px #08051280, inset 0 1px #ffffff0a;color:#f4eaff;overflow:visible}
.course-actions-panel.lc-floating-menu:not(:popover-open){display:none}
.course-actions-panel.lc-floating-menu:popover-open{display:grid;gap:3px}
.course-actions-panel.lc-floating-menu::backdrop{background:transparent}
#learning-content .lc-floating-menu .ws-button,.lc-floating-menu .ws-button{display:flex;align-items:center;justify-content:flex-start;gap:10px;width:100%;min-height:44px;margin:0;padding:8px 10px;border-radius:10px;border:1px solid transparent;background:#b28bd516;color:#eddcff;font-size:12px;font-weight:650;line-height:1.3;opacity:1;box-shadow:none}
#learning-content .lc-floating-menu .ws-button.danger,.lc-floating-menu .ws-button.danger{background:#d4788812;color:#f0a7b3;border-color:#d68b9d24}
.lc-floating-menu .ws-button svg{width:17px;height:17px;flex:0 0 17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.lc-floating-menu .ws-button:hover{filter:brightness(1.15)}
.lc-floating-menu .ws-button:focus-visible{outline:2px solid #dcafff;outline-offset:-2px}
@media(max-width:350px){.pm-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.pm-filters .pm-genre{grid-column:span 2}.pm-filters button{padding-inline:8px;gap:6px}#learning-content>.ws-chips>.ws-chip{padding-inline:4px;font-size:10.5px}#learning-content>.ws-chips>.ws-chip:before{margin-right:4px}}
/* Single-row filters: compact painted surface within a full 44px touch target. */
#learning-content>.ws-chips.zy-single-filter,.pm-filters.zy-single-filter,.media-section-strip.zy-single-filter{display:flex;flex-wrap:nowrap;gap:5px;overflow:visible;align-items:center;box-sizing:border-box;width:100%;padding:0 2px;margin-bottom:5px;min-height:44px}
.zy-single-filter>.zy-filter-hidden{display:none!important}
#learning-content>.ws-chips.zy-single-filter>button,.pm-filters.zy-single-filter>button,.media-section-strip.zy-single-filter>button{position:relative;isolation:isolate;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:4px;box-sizing:border-box;height:44px;min-height:44px;min-width:44px;margin:0;padding:0 9px;border:0;border-radius:10px;background:transparent;box-shadow:none;color:#dcd0ee;font-size:11px;line-height:1.2;font-weight:650;white-space:nowrap}
#learning-content>.ws-chips.zy-single-filter>button:after,.pm-filters.zy-single-filter>button:after,.media-section-strip.zy-single-filter>button:after{content:'';position:absolute;inset:6px 0;border:1px solid #9d7dc94a;border-radius:10px;background:#2c214d9c;z-index:-1;pointer-events:none}
#learning-content>.ws-chips.zy-single-filter>button[aria-pressed=true],.pm-filters.zy-single-filter>button[aria-pressed=true],.media-section-strip.zy-single-filter>button.active,.zy-single-filter>button.zy-filter-more.is-selected{color:#211333}
#learning-content>.ws-chips.zy-single-filter>button[aria-pressed=true]:after,.pm-filters.zy-single-filter>button[aria-pressed=true]:after,.media-section-strip.zy-single-filter>button.active:after,.zy-single-filter>button.zy-filter-more.is-selected:after{background:linear-gradient(115deg,#efabd9,#cc89ed);border-color:#efb5fa80;box-shadow:0 2px 9px #bd70de22}
#learning-content>.ws-chips.zy-single-filter>button:before{width:5px;height:5px;margin-right:0;flex-shrink:0}
.pm-filters.zy-single-filter .pm-filter-icon{width:11px;height:11px;flex-basis:11px}
.pm-filters.zy-single-filter>.pm-genre{flex:0 0 auto;width:auto;max-width:120px;min-width:90px;grid-column:auto}
.pm-filters.zy-single-filter .pm-genre select{font-size:11px;min-height:44px;width:100%;padding:0 5px;border-radius:10px}
#learning-content>.ws-chips.zy-single-filter>button.zy-filter-more:before{display:none}
.zy-single-filter>button.zy-filter-more[hidden]{display:none!important}
.zy-filter-menu{position:fixed;inset:auto;margin:0;width:200px;max-width:calc(100vw - 16px);max-height:calc(100dvh - 110px);overflow-y:auto;box-sizing:border-box;padding:6px;border:1px solid #b695dc66;border-radius:14px;background:linear-gradient(140deg,#35294efc,#211a35fc);color:#efe5ff;box-shadow:0 12px 36px #09051480}
.zy-filter-menu:not(:popover-open){display:none}
.zy-filter-menu:popover-open{display:grid;gap:3px}
.zy-filter-menu::backdrop{background:transparent}
.zy-filter-menu button,.zy-filter-menu select{min-height:44px;width:100%;box-sizing:border-box;border:1px solid transparent;border-radius:9px;background:#9c79c316;color:#eadcfb;font:650 12px/1.3 var(--font-ui,'Plus Jakarta Sans',system-ui);padding:8px 10px;text-align:left}
.zy-filter-menu button[aria-checked=true]{background:#c29ae32a;border-color:#b895db66;color:#f4dfff}
.zy-filter-menu label{display:grid;gap:4px;padding:4px;font-size:11px;color:#cec0e3}
.zy-filter-menu select{background:#2b2141;border-color:#b595d866}
.zy-filter-menu :is(button,select):focus-visible{outline:2px solid #dfb8ff;outline-offset:-2px}
#learning-content>.ws-chips.zy-single-filter>button.zy-filter-more.is-selected{color:#211333}
#learning-content>.ws-chips.zy-single-filter>button.zy-filter-more.is-selected:after{background:linear-gradient(115deg,#efabd9,#cc89ed);border-color:#efb5fa80;box-shadow:0 2px 9px #bd70de22}
#learning-content>.ws-chips.zy-single-filter>button.ws-chip{padding-inline:9px;gap:4px;font-size:11px}
#learning-content>.ws-chips.zy-single-filter>button.ws-chip:before{width:5px;height:5px}
#learning-content>.ws-chips.zy-single-filter>button.ws-chip[aria-pressed=true]{background:transparent;border:0;box-shadow:none}
/* Explicit group for existing status dots only. SVG media icons remain unchanged. */
.zy-single-filter>button.zy-has-filter-dot:before{content:none!important;display:none!important}
.zy-single-filter .zy-filter-group{display:inline-flex;align-items:center;justify-content:center;column-gap:2px;row-gap:0;flex:0 0 auto;margin:0;padding:0;border:0;white-space:nowrap;line-height:inherit;letter-spacing:inherit}
.zy-single-filter .zy-filter-dot{display:block;flex:0 0 6px;width:6px;height:6px;min-width:6px;min-height:6px;margin:0;padding:0;border:0;border-radius:50%;box-shadow:none}
.zy-single-filter .zy-filter-label{display:block;flex:0 0 auto;margin:0;padding:0;border:0;line-height:inherit;font:inherit;letter-spacing:inherit}
/* Movies' original 3:1 artwork fits inside the approved curved frame without cropping characters. */
body.pm-media #library-theme-card[data-banner="movies"] .pm-hero-slide:has(>.library-theme-image)::before{content:'';position:absolute;inset:-8px;background:url('/assets/media-movies-banner-clean.webp') center/cover no-repeat;filter:blur(7px);opacity:.7;pointer-events:none}
body.pm-media #library-theme-card:is([data-banner="movies"],[data-banner="series"]) .pm-hero-slide .library-theme-image{object-fit:contain;object-position:center;mask-image:linear-gradient(90deg,transparent,#000 1.5%,#000 98.5%,transparent),linear-gradient(180deg,transparent,#000 3%,#000 97%,transparent);mask-composite:intersect}
body.pm-media #library-theme-card[data-banner="series"] .pm-hero-slide:has(>.library-theme-image)::before{content:'';position:absolute;inset:-18px;background:url('/assets/media-series-banner-clean.webp') center/cover no-repeat;filter:blur(14px);opacity:.7;pointer-events:none}
/* Leave right-corner clearance without moving the first title into the left clip. */
body.pm-media #library-theme-card[data-banner="series"] .pm-hero-slide .library-theme-image{inset:13% 0 auto;width:100%;height:100%;object-position:center top}
