
:root{--fs-micro:10px;--fs-2xs:11px;--fs-xs:12px;--fs-sm:13px;--fs-md:15px;--fs-lg:18px;--fs-xl:24px;--fs-h1:clamp(28px,3.4vw,48px);--fw-regular:500;--fw-bold:700;--fw-heavy:850;--r-sm:10px;--r-md:16px;--r-lg:22px;--r-pill:999px;--bg:#172033;--panel:rgba(30,41,59,.92);--panel2:rgba(51,65,85,.86);--line:rgba(203,213,225,.34);--text:#ffffff;--muted:#eef2f7;--soft:#f8fafc;--brand:#a5f3fc;--accent:#c4b5fd;--good:#6ee7b7;--warn:#fbbf24;--danger:#fb7185;--shadow:0 18px 42px rgba(0,0,0,.30);}
*{box-sizing:border-box}html{color-scheme:dark}body{margin:0;font-family:Inter,Segoe UI,Roboto,Arial,sans-serif;background:radial-gradient(circle at 18% -10%,rgba(96,165,250,.42),transparent 34%),radial-gradient(circle at 86% 4%,rgba(168,85,247,.28),transparent 32%),linear-gradient(135deg,#1e293b,#25344d 46%,#334155);color:var(--text);min-height:100vh}a{color:inherit}input,select,button{font:inherit}input,select{width:100%;background:rgba(15,23,42,.82);border:1px solid var(--line);border-radius:var(--r-md);color:var(--text);padding:12px 14px;outline:none}input:focus,select:focus{border-color:rgba(125,211,252,.75);box-shadow:0 0 0 3px rgba(125,211,252,.12)}button,.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid var(--line);border-radius:var(--r-md);padding:11px 14px;text-decoration:none;color:var(--text);background:linear-gradient(180deg,rgba(255,255,255,.18),rgba(255,255,255,.08));box-shadow:0 8px 18px rgba(0,0,0,.18);cursor:pointer;min-height:44px;white-space:nowrap}.btn:hover,button:hover{border-color:rgba(125,211,252,.58);transform:translateY(-1px)}.btn.primary,button.primary{background:linear-gradient(135deg,rgba(14,165,233,.92),rgba(124,58,237,.82));border-color:rgba(255,255,255,.16)}.btn.good{background:linear-gradient(135deg,rgba(16,185,129,.78),rgba(14,165,233,.55))}.btn.danger{background:linear-gradient(135deg,rgba(244,63,94,.75),rgba(124,58,237,.44))}.icon{width:34px;height:34px;border-radius:var(--r-sm);display:inline-grid;place-items:center;background:radial-gradient(circle at 30% 20%,rgba(255,255,255,.72),rgba(255,255,255,.08) 33%,rgba(15,23,42,.28) 72%),linear-gradient(145deg,rgba(125,211,252,.82),rgba(167,139,250,.78));box-shadow:inset 0 1px 0 rgba(255,255,255,.45),0 10px 22px rgba(0,0,0,.34);font-size:var(--fs-lg);line-height:1}.icon.small{width:30px;height:30px;border-radius:var(--r-sm);font-size:var(--fs-md)}.shell{width:min(1600px,100%);margin:0 auto;padding:14px 18px}.topbar{position:sticky;top:0;z-index:10;backdrop-filter:blur(18px);background:linear-gradient(180deg,rgba(30,41,59,.96),rgba(30,41,59,.82));border-bottom:1px solid rgba(203,213,225,.22)}.nav{display:flex;align-items:center;gap:12px;justify-content:space-between;width:min(1600px,100%);margin:0 auto;padding:12px 18px}.brand{display:flex;align-items:center;gap:12px;font-weight:var(--fw-heavy);letter-spacing:-.03em}.brand small{display:block;font-size:var(--fs-xs);color:var(--muted);font-weight:var(--fw-bold);letter-spacing:0}.ui-version{font-size:var(--fs-2xs);color:#67e8f9;border:1px solid rgba(125,211,252,.22);background:rgba(14,165,233,.10);padding:4px 7px;border-radius:var(--r-pill);margin-left:4px;white-space:nowrap}.navlinks{display:flex;gap:9px;align-items:center}.navlinks .btn{padding:9px 12px}.navlinks .active{border-color:rgba(125,211,252,.58);background:rgba(125,211,252,.12)}.flash{margin:12px 0;padding:13px 15px;border:1px solid rgba(125,211,252,.24);background:rgba(14,165,233,.10);border-radius:var(--r-md);color:#dff7ff}.grid-shell{display:grid;grid-template-columns:370px minmax(0,1fr);gap:16px;align-items:start}.panel{background:linear-gradient(180deg,rgba(30,41,59,.94),rgba(30,41,59,.82));border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);backdrop-filter:blur(18px);overflow:hidden}.panel-pad{padding:14px}.searchbar{display:grid;grid-template-columns:1fr auto;gap:10px;margin-bottom:10px}.filters{border-top:1px solid rgba(148,163,184,.13);padding-top:12px}.filters summary{cursor:pointer;color:var(--soft);font-weight:var(--fw-heavy);margin-bottom:10px;list-style:none}.filters summary::-webkit-details-marker{display:none}.filters summary:after{content:"⌄";float:right;color:var(--brand)}.filters[open] summary:after{content:"⌃"}.movie-filter-accordion{border:1px solid rgba(203,213,225,.24);border-radius:var(--r-md);background:linear-gradient(180deg,rgba(30,41,59,.72),rgba(30,41,59,.56));padding:12px;margin-top:10px}.filter-grid{display:grid;gap:10px}.filter-group{display:grid;gap:7px;max-height:145px;overflow:auto;padding:8px;border:1px solid rgba(203,213,225,.20);border-radius:var(--r-md);background:rgba(15,23,42,.46)}.check{display:flex;gap:8px;align-items:center;color:var(--soft);font-size:var(--fs-sm)}.check input{width:auto}.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:12px}.muted{color:var(--muted)}.list{display:grid;gap:8px;max-height:calc(100vh - 190px);overflow:auto;padding:10px 10px 12px}.item{display:grid;grid-template-columns:50px minmax(0,1fr);gap:11px;padding:9px;border-radius:var(--r-md);text-decoration:none;border:1px solid transparent;min-height:88px}.item:hover{background:rgba(125,211,252,.10);border-color:rgba(125,211,252,.22)}.item.active{background:linear-gradient(135deg,rgba(14,165,233,.24),rgba(124,58,237,.18));border-color:rgba(125,211,252,.64);box-shadow:inset 4px 0 0 rgba(125,211,252,.86),0 14px 28px rgba(14,165,233,.10)}.item.active .item-title{color:#fff}.item.active .thumb{border-color:rgba(125,211,252,.52);box-shadow:0 12px 24px rgba(14,165,233,.16),0 10px 18px rgba(0,0,0,.28)}.thumb{width:50px;height:74px;border-radius:var(--r-sm);background:#111827 center/cover no-repeat;border:1px solid rgba(255,255,255,.12);box-shadow:0 10px 18px rgba(0,0,0,.26)}.item-title{font-weight:var(--fw-heavy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}.item-meta{font-size:var(--fs-xs);color:var(--muted);line-height:1.35;margin-top:4px;overflow:hidden}.item-tags{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin-top:6px;min-height:22px}.item-tags .chip{display:inline-flex;align-items:center;justify-content:center;line-height:1;min-height:22px}.browse-density-btn{min-height:30px;padding:5px 8px;font-size:var(--fs-2xs);box-shadow:none}.browse-density-btn.active{border-color:rgba(125,211,252,.55);background:rgba(14,165,233,.16)}body.browse-density-compact .list{gap:5px}body.browse-density-compact .item{grid-template-columns:38px minmax(0,1fr);gap:9px;min-height:64px;padding:7px 8px;border-radius:var(--r-sm)}body.browse-density-compact .thumb{width:38px;height:56px;border-radius:var(--r-sm)}body.browse-density-compact .item-title{font-size:var(--fs-sm)}body.browse-density-compact .item-meta{font-size:var(--fs-2xs);line-height:1.25;margin-top:2px}body.browse-density-compact .item-tags{display:none}body.browse-density-compact .item.active{box-shadow:inset 3px 0 0 rgba(125,211,252,.86),0 10px 22px rgba(14,165,233,.08)}.hero-art{height:245px;background:#111827 center/cover no-repeat;position:relative}.hero-art:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,10,18,.06),rgba(7,10,18,.88))}.detail{padding:16px 18px 18px}.detail-head{display:grid;grid-template-columns:170px minmax(0,1fr);gap:18px;margin-top:-72px;position:relative;z-index:1}.poster{height:255px;border-radius:var(--r-lg);background:#111827 center/cover no-repeat;border:1px solid rgba(255,255,255,.18);box-shadow:0 22px 50px rgba(0,0,0,.45)}h1,h2,h3{margin:0 0 10px;letter-spacing:-.035em}h1{font-size:var(--fs-h1);line-height:1.05}.chips{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.chip{font-size:var(--fs-xs);font-weight:var(--fw-heavy);color:#e0f2fe;border:1px solid rgba(125,211,252,.25);background:rgba(14,165,233,.14);padding:6px 9px;border-radius:var(--r-pill)}.plot{line-height:1.58;color:#d7dee9;max-width:1050px}.info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}.info{padding:12px;border:1px solid rgba(203,213,225,.22);background:rgba(30,41,59,.72);border-radius:var(--r-md)}.info b{display:block;font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:5px}.path-info{display:grid;gap:8px}.path-copy-text{display:block;word-break:break-all;color:#cbd5e1;font-size:var(--fs-sm);line-height:1.35}.btn-mini{min-height:34px;padding:7px 10px;border-radius:var(--r-sm);font-size:var(--fs-xs)}.library-copy-status{display:block;margin-top:8px;color:var(--muted);font-size:var(--fs-xs)}.episode-path-tools{display:flex;gap:7px;flex-wrap:wrap;align-items:center;margin-top:8px}.episode-path-tools .path-copy-text{font-size:var(--fs-xs);color:var(--muted);background:rgba(2,6,23,.34);border:1px solid rgba(148,163,184,.10);border-radius:var(--r-sm);padding:6px 8px;max-width:100%}.back-one{width:44px;height:44px;padding:0;border-radius:var(--r-md);margin-bottom:12px}.empty{padding:34px;text-align:center;color:var(--muted)}.pagination{display:flex;gap:8px;justify-content:center;align-items:center;flex-wrap:wrap;padding:12px}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.settings-card{padding:18px}.settings-card form{display:grid;gap:10px}.weekday-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin:8px 0 2px;padding:10px;border:1px solid rgba(148,163,184,.12);border-radius:var(--r-md);background:rgba(2,6,23,.24)}.schedule-preset-row{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}.schedule-preset{min-height:34px;padding:7px 10px;border-radius:var(--r-pill);font-size:var(--fs-xs);font-weight:var(--fw-heavy);background:rgba(15,23,42,.50)}.schedule-preview{margin:10px 0 0;padding:11px 12px;border-radius:var(--r-md);border:1px solid rgba(34,197,94,.22);background:rgba(34,197,94,.07);display:grid;gap:4px}.schedule-preview b{color:#bbf7d0}.schedule-preview span{font-weight:var(--fw-heavy);color:#e0f2fe}.schedule-preview small{color:var(--muted);line-height:1.35}.schedule-note{margin:8px 0 0;padding:9px 11px;border-radius:var(--r-md);border:1px solid rgba(125,211,252,.16);background:rgba(14,165,233,.055);color:var(--muted);font-size:var(--fs-xs);line-height:1.4}.schedule-form-warning{display:none;margin:10px 0 0;padding:10px 12px;border-radius:var(--r-md);border:1px solid rgba(251,191,36,.28);background:rgba(251,191,36,.09);color:#fde68a;font-size:var(--fs-xs);font-weight:var(--fw-heavy)}.schedule-form-warning.show{display:block}.path{word-break:break-word;color:var(--muted);font-size:var(--fs-sm);background:rgba(2,6,23,.34);border:1px solid rgba(148,163,184,.12);border-radius:var(--r-md);padding:10px}.season-layout{display:grid;grid-template-columns:270px minmax(0,1fr);gap:16px;margin-top:14px;align-items:start}.season-layout section{min-width:0;min-height:0}.season-list{display:grid;gap:9px;max-height:calc(100vh - 360px);overflow:auto;padding-right:4px}.season-card{display:grid;grid-template-columns:48px minmax(0,1fr);gap:10px;padding:9px;border-radius:var(--r-md);border:1px solid rgba(148,163,184,.14);text-decoration:none;background:rgba(2,6,23,.26)}.season-card.active{border-color:rgba(125,211,252,.72);background:linear-gradient(135deg,rgba(14,165,233,.22),rgba(124,58,237,.16));box-shadow:inset 4px 0 0 rgba(125,211,252,.84),0 12px 24px rgba(14,165,233,.10)}.season-card.active b{color:#fff}.season-poster{height:68px;border-radius:var(--r-sm);background:#111827 center/cover no-repeat;border:1px solid rgba(255,255,255,.10)}.episodes{display:grid;gap:9px;max-height:calc(100vh - 410px);overflow:auto;padding-right:4px;align-content:start}.episode{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:12px;align-items:start;padding:12px 14px;border-radius:var(--r-md);background:rgba(30,41,59,.72);border:1px solid rgba(203,213,225,.22)}.epno{font-weight:var(--fw-heavy);color:var(--brand)}.episode p{margin:5px 0 0;color:var(--muted);line-height:1.42}.mobile-only{display:none}@media(max-width:950px){.nav{align-items:flex-start;gap:10px}.brand small,.ui-version{display:none}.navlinks{flex-wrap:wrap;justify-content:flex-end}.navlinks .txt{display:none}.shell{padding:10px}.grid-shell,.settings-grid{grid-template-columns:1fr}.list{max-height:none;padding:8px}.item{min-height:84px}.item-tags{gap:4px;margin-top:5px}.item-tags .chip{font-size:var(--fs-micro);padding:4px 6px;max-width:82px}.detail{padding:12px 12px 16px}.detail-head{grid-template-columns:1fr;margin-top:-52px;gap:12px}.poster{width:min(190px,54vw);height:min(285px,82vw);margin:auto}.info-grid,.season-layout{grid-template-columns:1fr}.season-list{max-height:none;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));padding-right:0}.episodes{max-height:58vh;overflow:auto;padding-right:2px}.hero-art{height:165px}.episode{grid-template-columns:1fr;gap:7px}.episode .muted{text-align:left}.chips{gap:6px}.chip{font-size:var(--fs-2xs);padding:5px 8px}.desktop-only{display:none}.mobile-only{display:block}}
.tag-row{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}.collection-row{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:10px 0 2px}.collection-row .btn{min-height:34px;padding:7px 10px;border-radius:var(--r-pill);font-weight:var(--fw-heavy)}.collection-strip{margin-top:14px;padding:13px;border:1px solid rgba(148,163,184,.14);background:rgba(2,6,23,.25);border-radius:var(--r-md)}.section-title{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}.section-title b{font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.06em;color:#e0f2fe}.section-title span{font-size:var(--fs-xs);color:var(--muted)}.collection-items{display:flex;gap:10px;overflow:auto;padding-bottom:3px}.collection-tile{flex:0 0 132px;text-decoration:none;border:1px solid rgba(148,163,184,.14);border-radius:var(--r-md);background:rgba(15,23,42,.50);padding:8px;display:grid;gap:7px}.collection-tile:hover{border-color:rgba(125,211,252,.50);background:rgba(14,165,233,.12)}.collection-tile.active{border-color:rgba(125,211,252,.72);box-shadow:inset 0 0 0 2px rgba(125,211,252,.25);background:linear-gradient(135deg,rgba(14,165,233,.20),rgba(124,58,237,.14))}.collection-tile-poster{height:156px;border-radius:var(--r-sm);background:#111827 center/cover no-repeat;border:1px solid rgba(255,255,255,.12)}.collection-tile-title{font-weight:var(--fw-heavy);font-size:var(--fs-sm);line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.collection-tile-meta{font-size:var(--fs-xs);color:var(--muted);line-height:1.25}.detail-browse-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:12px 0 6px;padding:10px 12px;border:1px solid rgba(148,163,184,.14);background:rgba(2,6,23,.24);border-radius:var(--r-md)}.detail-browse-nav b{display:block;font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em;color:#e0f2fe}.detail-browse-nav span{display:block;margin-top:3px;color:var(--muted);font-size:var(--fs-xs)}.detail-key-hint{font-size:var(--fs-2xs);color:var(--muted);margin-top:4px}.detail-browse-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.detail-browse-actions .btn{min-width:110px}.detail-neighbor-link{min-width:165px;max-width:270px;align-items:flex-start;flex-direction:column;gap:2px;white-space:normal;text-align:left}.detail-neighbor-dir{font-size:var(--fs-2xs)!important;font-weight:var(--fw-heavy);text-transform:uppercase;letter-spacing:.06em;color:#bfdbfe!important;margin:0!important}.detail-neighbor-title{font-size:var(--fs-sm)!important;font-weight:var(--fw-heavy);color:#fff!important;margin:0!important;line-height:1.18;display:-webkit-box!important;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.detail-neighbor-meta{font-size:var(--fs-2xs)!important;color:var(--muted)!important;margin:0!important}@media(max-width:950px){.detail-browse-nav{align-items:stretch;flex-direction:column}.detail-browse-actions{justify-content:stretch}.detail-browse-actions .btn{flex:1}.detail-neighbor-link{max-width:none}}.episode-meta-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}.item .chip{font-size:var(--fs-2xs);padding:4px 7px;max-width:116px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.episode-pane{display:none}.episode-pane.active{display:grid}.episode-pane::-webkit-scrollbar,.season-list::-webkit-scrollbar,.list::-webkit-scrollbar{width:10px}.episode-pane::-webkit-scrollbar-thumb,.season-list::-webkit-scrollbar-thumb,.list::-webkit-scrollbar-thumb{background:rgba(148,163,184,.35);border-radius:var(--r-pill)}.scan-card{padding:18px}.scan-state{border:1px solid rgba(148,163,184,.14);background:rgba(2,6,23,.30);border-radius:var(--r-md);padding:13px;line-height:1.5;word-break:break-word}.scan-state strong{display:block;margin-bottom:4px}.scan-state.running{border-color:rgba(125,211,252,.45);box-shadow:0 0 0 3px rgba(125,211,252,.08)}.scan-state.done{border-color:rgba(52,211,153,.34)}.scan-state.error{border-color:rgba(251,113,133,.42)}



/* Shared Admin console section tabs */
.admin-console-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}.admin-console-tabs a{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(148,163,184,.16);background:rgba(15,23,42,.46);color:var(--text);text-decoration:none;border-radius:var(--r-pill);padding:9px 12px;font-weight:var(--fw-heavy);font-size:var(--fs-sm);box-shadow:0 10px 24px rgba(0,0,0,.16)}.admin-console-tabs a:hover{border-color:rgba(125,211,252,.58);transform:translateY(-1px)}.admin-console-tabs a.active{background:linear-gradient(135deg,rgba(99,102,241,.95),rgba(14,165,233,.78));border-color:rgba(255,255,255,.20)}.admin-next-actions{margin:14px 0;display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.45fr);gap:12px}.admin-next-main,.admin-next-side{padding:15px;border:1px solid rgba(125,211,252,.18);border-radius:var(--r-lg);background:rgba(14,165,233,.06)}.admin-next-main h2,.admin-next-side h2{margin:0 0 8px}.admin-next-list{display:grid;gap:8px;margin-top:10px}.admin-next-item{padding:10px 12px;border-radius:var(--r-md);background:rgba(2,6,23,.28);border:1px solid rgba(148,163,184,.12);display:flex;justify-content:space-between;gap:10px;align-items:center}.admin-next-item b{display:block}.admin-next-item span{display:block;color:var(--muted);font-size:var(--fs-xs);margin-top:2px}.admin-next-side .kv{grid-template-columns:1fr}.admin-jump-panel{margin:0 0 14px;padding:12px 14px;border:1px solid rgba(125,211,252,.16);border-radius:var(--r-md);background:rgba(14,165,233,.06);display:flex;justify-content:space-between;gap:12px;align-items:center}.admin-jump-panel p{margin:0;color:var(--muted);font-size:var(--fs-sm)}.admin-jump-links{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.admin-jump-links a{display:inline-flex;align-items:center;min-height:34px;padding:7px 10px;border-radius:var(--r-pill);border:1px solid rgba(148,163,184,.16);background:rgba(15,23,42,.42);color:var(--text);text-decoration:none;font-size:var(--fs-xs);font-weight:var(--fw-heavy)}.admin-jump-links a:hover{border-color:rgba(125,211,252,.48)}.admin-section-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.admin-section-card{padding:16px;border:1px solid rgba(148,163,184,.14);border-radius:var(--r-lg);background:rgba(2,6,23,.26);scroll-margin-top:92px}.admin-section-card h3{margin:0 0 6px}.admin-section-card p{margin:0 0 12px;color:var(--muted)}.admin-more{margin-top:10px;border-top:1px solid rgba(148,163,184,.12);padding-top:10px}.admin-more summary{cursor:pointer;color:#bfdbfe;font-weight:var(--fw-heavy);font-size:var(--fs-sm)}.admin-more .toolbar{margin-top:10px}.admin-section-card .primary-row{margin-bottom:0}.admin-group-head{margin:18px 0 10px;display:flex;justify-content:space-between;gap:12px;align-items:flex-end;scroll-margin-top:92px}.admin-group-head:first-of-type{margin-top:4px}.admin-group-head h3{margin:0;font-size:var(--fs-lg)}.admin-group-head p{margin:3px 0 0;color:var(--muted);font-size:var(--fs-sm)}.admin-group-label{font-size:var(--fs-xs);font-weight:var(--fw-heavy);text-transform:uppercase;letter-spacing:.08em;color:#93c5fd;border:1px solid rgba(147,197,253,.22);border-radius:var(--r-pill);padding:5px 9px;background:rgba(59,130,246,.08);white-space:nowrap}.admin-advanced-wrap{margin-top:18px;border:1px solid rgba(245,158,11,.20);border-radius:var(--r-lg);background:rgba(245,158,11,.055);overflow:hidden}.admin-advanced-wrap>summary{list-style:none;cursor:pointer;padding:15px 16px;display:flex;justify-content:space-between;gap:12px;align-items:center}.admin-advanced-wrap>summary::-webkit-details-marker{display:none}.admin-advanced-wrap summary h3{margin:0}.admin-advanced-wrap summary p{margin:4px 0 0;color:var(--muted);font-size:var(--fs-sm)}.admin-advanced-toggle{font-size:var(--fs-xs);font-weight:var(--fw-heavy);text-transform:uppercase;letter-spacing:.08em;color:#fcd34d;border:1px solid rgba(252,211,77,.22);border-radius:var(--r-pill);padding:6px 10px;background:rgba(245,158,11,.10);white-space:nowrap}.admin-advanced-body{padding:0 16px 16px}.admin-advanced-note{margin:0 0 12px;padding:10px 12px;border-radius:var(--r-md);border:1px solid rgba(245,158,11,.18);background:rgba(2,6,23,.24);color:var(--muted);font-size:var(--fs-sm)}.runtime-location-card{margin:14px 0;padding:14px 16px;border-radius:var(--r-lg);border:1px solid rgba(148,163,184,.16);background:rgba(2,6,23,.28)}.runtime-location-card.good{border-color:rgba(34,197,94,.24);background:rgba(34,197,94,.07)}.runtime-location-card.warn{border-color:rgba(245,158,11,.32);background:rgba(245,158,11,.08)}.runtime-location-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.runtime-version-strip{margin-top:12px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.runtime-version-strip div{padding:10px 12px;border-radius:var(--r-md);background:rgba(2,6,23,.30);border:1px solid rgba(148,163,184,.12)}.runtime-version-strip b{display:block;font-size:var(--fs-xs);color:var(--muted);margin-bottom:3px}.runtime-version-strip span{display:block;font-weight:var(--fw-heavy);color:var(--text)}.runtime-location-path{margin-top:8px;font-size:var(--fs-xs);color:var(--muted);word-break:break-all}.runtime-location-action{margin-top:8px;color:#bfdbfe;font-size:var(--fs-sm)}.runtime-update-checklist{margin-top:12px;padding:11px 12px;border-radius:var(--r-md);border:1px solid rgba(125,211,252,.16);background:rgba(14,165,233,.055);display:grid;gap:7px}.runtime-update-checklist h3{margin:0;font-size:var(--fs-md)}.runtime-update-checklist ul{margin:0;padding-left:18px;color:var(--muted);font-size:var(--fs-xs);line-height:1.45}.runtime-update-checklist b{color:var(--text)}.runtime-command-helper{margin-top:10px;border-top:1px solid rgba(125,211,252,.12);padding-top:10px}.runtime-command-helper summary{cursor:pointer;color:#bfdbfe;font-size:var(--fs-xs);font-weight:var(--fw-heavy)}.runtime-command-card{margin-top:10px;border:1px solid rgba(148,163,184,.14);border-radius:var(--r-md);background:rgba(2,6,23,.35);overflow:hidden}.runtime-command-head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;border-bottom:1px solid rgba(148,163,184,.10)}.runtime-command-head b{font-size:var(--fs-xs)}.runtime-copy-btn{border:1px solid rgba(125,211,252,.28);background:rgba(14,165,233,.12);color:#dbeafe;border-radius:var(--r-pill);padding:6px 10px;font-size:var(--fs-xs);font-weight:var(--fw-heavy);cursor:pointer}.runtime-copy-btn:hover{border-color:rgba(125,211,252,.62);background:rgba(14,165,233,.20)}.runtime-command-helper pre{margin:0;padding:10px;background:rgba(2,6,23,.50);overflow:auto;font-size:var(--fs-2xs);line-height:1.45;color:#dbeafe}.runtime-command-helper code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.runtime-copy-status{margin-top:8px;color:#bfdbfe;font-size:var(--fs-xs);font-weight:var(--fw-heavy);min-height:16px}@media(max-width:760px){.runtime-version-strip{grid-template-columns:1fr}.admin-next-actions{grid-template-columns:1fr}.admin-next-item{display:block}.admin-next-item .btn{margin-top:8px}.admin-section-grid{grid-template-columns:1fr}.admin-console-tabs a{flex:1;justify-content:center}.admin-jump-panel{display:block}.admin-jump-links{justify-content:flex-start;margin-top:10px}.admin-group-head{display:block}.admin-group-label{display:inline-flex;margin-top:8px}}


.detail-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}.detail-meta-grid .info{min-width:0}.detail-path-wide{grid-column:span 2}.info-value{display:block;font-weight:var(--fw-heavy);color:#f8fafc;line-height:1.25}.info-sub{display:block;margin-top:4px;color:var(--muted);font-size:var(--fs-xs);line-height:1.35}.cast-scroll{max-height:92px;overflow:auto;padding-right:4px}.tech-details{margin-top:14px;border:1px solid rgba(148,163,184,.13);background:rgba(2,6,23,.24);border-radius:var(--r-md);overflow:hidden}.tech-details summary{cursor:pointer;list-style:none;padding:12px 14px;color:var(--soft);font-weight:var(--fw-heavy);display:flex;justify-content:space-between;gap:10px;align-items:center}.tech-details summary::-webkit-details-marker{display:none}.tech-details summary:after{content:"Show";font-size:var(--fs-2xs);color:var(--muted);border:1px solid rgba(148,163,184,.18);border-radius:var(--r-pill);padding:4px 8px;background:rgba(15,23,42,.45)}.tech-details[open] summary:after{content:"Hide"}.tech-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:0 12px 12px}.tech-item{border:1px solid rgba(148,163,184,.10);background:rgba(15,23,42,.28);border-radius:var(--r-sm);padding:9px;min-width:0}.tech-item b{display:block;font-size:var(--fs-micro);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:4px}.tech-item span{display:block;color:#dbeafe;font-size:var(--fs-xs);line-height:1.35;overflow-wrap:anywhere}.tech-item.wide{grid-column:span 3}.tech-copy-row{display:flex;gap:7px;flex-wrap:wrap;margin-top:7px}.detail-section-note{margin:10px 0 0;color:var(--muted);font-size:var(--fs-xs);line-height:1.35}.episode-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:9px}.episode-detail-grid div{border:1px solid rgba(148,163,184,.11);background:rgba(15,23,42,.34);border-radius:var(--r-sm);padding:7px 8px;min-width:0}.episode-detail-grid b{display:block;font-size:var(--fs-micro);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:3px}.episode-detail-grid span{display:block;font-size:var(--fs-xs);color:#dbeafe;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.episode-technical-details{margin-top:8px}.episode-technical-details summary{font-size:var(--fs-xs);color:var(--muted);cursor:pointer}.episode-technical-details[open] summary{color:#dbeafe}@media(max-width:950px){.detail-meta-grid{grid-template-columns:1fr}.detail-path-wide{grid-column:auto}.tech-grid{grid-template-columns:1fr}.tech-item.wide{grid-column:auto}.episode-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* v28.6.34: make browsing summaries readable in narrower desktop windows. */
.browse-context{padding:12px 14px;border-top:1px solid rgba(148,163,184,.13);display:grid;gap:9px;overflow:hidden}
.browse-context>div:first-child{display:grid;gap:3px;min-width:0}
.browse-context b{display:block;font-size:var(--fs-sm);line-height:1.25;color:#f8fafc;letter-spacing:-.015em}
.browse-context span{line-height:1.35;min-width:0}
.browse-shortcuts{display:flex;gap:7px;flex-wrap:wrap;align-items:center;color:var(--muted);font-size:var(--fs-xs)}
.browse-shortcuts>span{display:inline-flex;align-items:center;gap:4px;min-height:30px;padding:4px 0;color:var(--muted)}
kbd{display:inline-flex;align-items:center;justify-content:center;min-width:22px;min-height:22px;padding:2px 6px;border-radius:var(--r-sm);border:1px solid rgba(148,163,184,.22);background:rgba(2,6,23,.48);color:#e0f2fe;font-size:var(--fs-2xs);font-weight:var(--fw-heavy);line-height:1}
.browse-chips{display:flex;gap:7px;flex-wrap:wrap;align-items:center;min-width:0}
.browse-chip{display:inline-flex;gap:5px;align-items:center;max-width:100%;padding:5px 8px;border-radius:var(--r-pill);border:1px solid rgba(125,211,252,.22);background:rgba(14,165,233,.10);font-size:var(--fs-xs);line-height:1.25;color:#dbeafe}
.browse-chip em{font-style:normal;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:180px}
@media(max-width:760px){.grid-shell{grid-template-columns:1fr}.list{max-height:none}.grid-shell>section.panel{min-height:180px}}
@media(max-width:620px){.browse-context{padding:10px 12px}.browse-shortcuts{display:grid;grid-template-columns:1fr 1fr;align-items:stretch}.browse-shortcuts>span{min-height:auto}.browse-density-btn{justify-content:center}.searchbar{grid-template-columns:1fr 48px}.pagination .btn{min-width:80px}}





/* v28.8.1 mobile Movies list-only browse */
@media(max-width:760px){
  .movies-browser-shell{
    display:block !important;
    grid-template-columns:1fr !important;
    width:100% !important;
    max-width:100% !important;
  }

  .movies-browser-shell > aside.panel{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
  }

  /* On phone, Movies is a picker. Details open on /movie/<id>, so do not
     stack the selected desktop detail panel under the list. */
  .movies-browser-shell > section.panel{
    display:none !important;
  }

  .movies-browser-shell .item.active{
    background:rgba(15,23,42,.42) !important;
    border-color:rgba(148,163,184,.14) !important;
    box-shadow:none !important;
  }

  .movies-browser-shell .item.active .item-title{
    color:var(--text) !important;
  }

  .movies-browser-shell .item.active .thumb{
    border-color:rgba(255,255,255,.12) !important;
    box-shadow:0 10px 18px rgba(0,0,0,.26) !important;
  }

  .movies-browser-shell .list{
    padding-bottom:92px !important;
  }
}

/* v28.7.99 TV mobile selected-season stack fix */
@media(max-width:760px){
  .season-layout[data-tv-show-id]{
    display:block !important;
    grid-template-columns:1fr !important;
    width:100% !important;
    max-width:100% !important;
    overflow:visible !important;
  }

  .season-layout[data-tv-show-id] > aside,
  .season-layout[data-tv-show-id] > section{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
  }

  .season-layout[data-tv-show-id] > section{
    margin-top:14px !important;
    clear:both !important;
  }

  .season-layout[data-tv-show-id] > section > h2{
    margin:0 0 8px !important;
    font-size:var(--fs-xl) !important;
    line-height:1.08 !important;
    white-space:normal !important;
  }

  .season-layout[data-tv-show-id] > section > .muted{
    margin:0 0 12px !important;
    max-width:100% !important;
    font-size:var(--fs-md) !important;
    line-height:1.35 !important;
  }

  .season-layout[data-tv-show-id] .season-list{
    display:flex !important;
    grid-template-columns:none !important;
    width:100% !important;
    max-width:100% !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    gap:10px !important;
    padding:2px 2px 12px !important;
    -webkit-overflow-scrolling:touch;
  }

  .season-layout[data-tv-show-id] .season-card{
    flex:0 0 154px !important;
    width:154px !important;
    max-width:154px !important;
  }

  .season-layout[data-tv-show-id] .episodes,
  .season-layout[data-tv-show-id] .episode-pane,
  .season-layout[data-tv-show-id] .episode-pane.active{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
  }

  .season-layout[data-tv-show-id] .episode-pane.active{
    display:grid !important;
  }

  .season-layout[data-tv-show-id] .episodes{
    max-height:none !important;
    overflow:visible !important;
    padding-right:0 !important;
  }

  .season-layout[data-tv-show-id] .episode{
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
  }

  main.shell:has(.season-layout[data-tv-show-id]){
    padding-bottom:112px !important;
  }
}

/* v28.7.98 mobile movies and TV season polish */
.thumb.thumb-img-wrap{
  overflow:hidden;
  display:block;
  background:#111827;
}
.thumb.thumb-img-wrap img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  border:0;
}
@media(max-width:760px){
  .season-layout[data-tv-show-id]{
    gap:12px;
  }
  .season-layout[data-tv-show-id] .season-list{
    display:flex;
    overflow-x:auto;
    gap:9px;
    padding:2px 2px 10px;
    scroll-snap-type:x proximity;
    -webkit-overflow-scrolling:touch;
  }
  .season-layout[data-tv-show-id] .season-card{
    flex:0 0 148px;
    min-height:72px;
    grid-template-columns:42px minmax(0,1fr);
    padding:8px;
    scroll-snap-align:start;
  }
  .season-layout[data-tv-show-id] .season-card.active{
    border-color:rgba(125,211,252,.95);
    background:linear-gradient(135deg,rgba(14,165,233,.32),rgba(124,58,237,.22));
    box-shadow:inset 0 0 0 2px rgba(125,211,252,.20),0 12px 26px rgba(14,165,233,.14);
  }
  .season-layout[data-tv-show-id] .season-poster{
    height:58px;
    border-radius:var(--r-sm);
  }
  .season-layout[data-tv-show-id] .episodes{
    max-height:none;
    overflow:visible;
    gap:10px;
    padding-right:0;
  }
  .season-layout[data-tv-show-id] .episode{
    grid-template-columns:1fr;
    gap:7px;
    padding:13px 14px;
    border-radius:var(--r-md);
  }
  .season-layout[data-tv-show-id] .episode .epno{
    display:inline-flex;
    width:max-content;
    padding:4px 8px;
    border-radius:var(--r-pill);
    border:1px solid rgba(125,211,252,.24);
    background:rgba(14,165,233,.10);
    font-size:var(--fs-xs);
  }
}

.tv-intro{display:flex;align-items:center;justify-content:flex-start;gap:14px}.count-pill{display:inline-flex;align-items:center;justify-content:center;padding:7px 12px;border-radius:var(--r-pill);border:1px solid rgba(56,189,248,.38);background:rgba(14,165,233,.16);color:#e0f2fe;font-size:var(--fs-sm);font-weight:var(--fw-heavy);white-space:nowrap}.season-layout>aside{position:sticky;top:82px}.season-layout h2{font-size:var(--fs-xl)}.episode b{font-size:var(--fs-md)}.mobile-detail-link:active,.season-card:active{transform:scale(.995)}@media(max-width:760px){.season-layout>aside{position:static}.season-layout h2{font-size:var(--fs-lg)}.tv-intro{display:flex;align-items:center;gap:10px}.count-pill{margin-top:0}.back-one{position:relative;z-index:2}.settings-card,.scan-card{padding:14px}}




/* v28.7.44 unified UI base: top nav, Admin tabs, headers, and readable cards */

/* Clean shared UI base
   Keep this small and predictable:
   - one page width
   - one top navigation layout
   - one admin tab layout
   - readable cards without forcing ugly equal heights
*/

.shell,
main.shell{
  width:min(1600px,100%);
  margin-left:auto;
  margin-right:auto;
  padding-left:18px;
  padding-right:18px;
  box-sizing:border-box;
}

/* Top application bar: one canonical layout everywhere */
.topbar{
  position:sticky;
  top:0;
  z-index:50;
  width:100%;
  background:linear-gradient(180deg,rgba(30,41,59,.96),rgba(30,41,59,.84));
  backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(203,213,225,.24);
}

.topbar .nav{
  width:min(1600px,100%);
  margin:0 auto;
  padding:12px 18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  box-sizing:border-box;
}

/* Brand: supports both new NAV_HTML and any old fallback markup */
.topbar .brand{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
  color:var(--text);
  text-decoration:none;
  font-weight:var(--fw-heavy);
  letter-spacing:-.03em;
}

.topbar .brand-icon,
.topbar .brand > .icon{
  width:38px;
  height:38px;
  min-width:38px;
  border-radius:var(--r-md);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:var(--fs-xl);
  line-height:1;
  background:radial-gradient(circle at 30% 20%,rgba(255,255,255,.72),rgba(255,255,255,.08) 33%,rgba(15,23,42,.28) 72%),linear-gradient(145deg,rgba(125,211,252,.82),rgba(167,139,250,.78));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.45),0 10px 22px rgba(0,0,0,.34);
  border:1px solid rgba(255,255,255,.14);
}

.topbar .brand-text,
.topbar .brand > div{
  display:block;
  min-width:0;
  font-size:var(--fs-md);
  font-weight:var(--fw-heavy);
  line-height:1.05;
}

.topbar .brand-text small,
.topbar .brand small{
  display:block;
  margin-top:3px;
  color:var(--muted);
  font-size:var(--fs-xs);
  font-weight:var(--fw-bold);
  line-height:1.15;
  letter-spacing:0;
}

/* Primary nav: stable desktop row */
.topbar .navlinks{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:9px;
  flex-wrap:nowrap;
  min-width:0;
}

/* Buttons: supports both new .navbtn and old .btn markup */
.topbar .navbtn,
.topbar .navlinks > .btn{
  width:104px;
  min-width:104px;
  height:42px;
  min-height:42px;
  max-height:42px;
  padding:0 12px;
  margin:0;
  display:inline-flex;
  flex-direction:row;
  align-items:center;
  justify-content:center;
  gap:7px;
  box-sizing:border-box;
  border:1px solid rgba(148,163,184,.18);
  border-radius:var(--r-md);
  background:linear-gradient(180deg,rgba(255,255,255,.10),rgba(255,255,255,.045));
  color:var(--text);
  text-decoration:none;
  box-shadow:0 10px 24px rgba(0,0,0,.20);
  font-size:var(--fs-sm);
  font-weight:var(--fw-heavy);
  line-height:1;
  white-space:nowrap;
  transform:none;
}

.topbar .navbtn:hover,
.topbar .navlinks > .btn:hover{
  border-color:rgba(125,211,252,.58);
  transform:none;
}

.topbar .navbtn.active,
.topbar .navlinks > .btn.active{
  border-color:rgba(125,211,252,.58);
  background:rgba(125,211,252,.12);
  transform:none;
}

.topbar .navbtn.logout{
  width:104px;
  min-width:104px;
}

.topbar .nav-ico,
.topbar .navlinks > .btn > span:first-child{
  width:18px;
  min-width:18px;
  height:18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  line-height:1;
}

.topbar .navbtn > span,
.topbar .navlinks > .btn > span,
.topbar .navlinks > .btn > .txt{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  line-height:1;
  white-space:nowrap;
}

/* Tablet/mobile: wrap cleanly without stacking icon above text */
@media(max-width:900px){
  .topbar .nav{
    align-items:flex-start;
    flex-direction:column;
    gap:10px;
  }

  .topbar .navlinks{
    width:100%;
    justify-content:flex-start;
    flex-wrap:wrap;
  }

  .topbar .navbtn,
  .topbar .navlinks > .btn{
    flex:0 0 112px;
    width:112px;
    min-width:112px;
  }
}

@media(max-width:760px){
  .topbar .nav{
    padding-left:12px;
    padding-right:12px;
  }

  .topbar .brand-text small,
  .topbar .brand small{
    display:none;
  }

  .topbar .navbtn,
  .topbar .navlinks > .btn{
    flex:1 1 calc(50% - 9px);
    width:auto;
    min-width:0;
  }
}


/* Admin tabs: one canonical layout only */
main.shell > nav.admin-console-tabs,
main.shell > .admin-console-tabs{
  display:grid;
  grid-template-columns:repeat(6, 118px);
  grid-auto-rows:38px;
  align-items:stretch;
  justify-content:start;
  gap:9px;
  margin:0 0 14px;
  padding:0;
}

main.shell > nav.admin-console-tabs > a,
main.shell > .admin-console-tabs > a{
  width:118px;
  min-width:118px;
  max-width:118px;
  height:38px;
  min-height:38px;
  max-height:38px;
  padding:0 12px;
  margin:0;
  display:flex;
  align-items:center;
  justify-content:center;
  align-self:stretch;
  justify-self:stretch;
  box-sizing:border-box;
  border:1px solid rgba(203,213,225,.24);
  border-radius:var(--r-pill);
  background:rgba(30,41,59,.72);
  color:var(--text);
  text-decoration:none;
  box-shadow:0 8px 18px rgba(0,0,0,.14);
  font-size:var(--fs-xs);
  font-weight:var(--fw-heavy);
  line-height:1;
  white-space:nowrap;
  text-align:center;
  transform:none;
}

main.shell > nav.admin-console-tabs > a:hover,
main.shell > .admin-console-tabs > a:hover{
  border-color:rgba(125,211,252,.58);
  transform:none;
}

main.shell > nav.admin-console-tabs > a.active,
main.shell > .admin-console-tabs > a.active{
  background:linear-gradient(135deg,rgba(99,102,241,.95),rgba(14,165,233,.78));
  border-color:rgba(255,255,255,.20);
  transform:none;
}

@media(max-width:900px){
  main.shell > nav.admin-console-tabs,
  main.shell > .admin-console-tabs{
    grid-template-columns:repeat(3, minmax(0, 1fr));
    grid-auto-rows:38px;
  }

  main.shell > nav.admin-console-tabs > a,
  main.shell > .admin-console-tabs > a{
    width:auto;
    min-width:0;
    max-width:none;
  }
}

@media(max-width:760px){
  main.shell > nav.admin-console-tabs,
  main.shell > .admin-console-tabs{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}


/* Admin section subnav: one consistent second-level nav */
.admin-section-subnav{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  align-items:center;
  margin:-4px 0 14px;
  padding:10px 12px;
  border:1px solid rgba(148,163,184,.12);
  border-radius:var(--r-md);
  background:rgba(2,6,23,.20);
}

.admin-section-subnav a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:7px 11px;
  border-radius:var(--r-pill);
  border:1px solid rgba(148,163,184,.16);
  background:rgba(15,23,42,.45);
  color:var(--text);
  text-decoration:none;
  font-size:var(--fs-xs);
  font-weight:var(--fw-heavy);
  white-space:nowrap;
  line-height:1;
  transform:none;
}

.admin-section-subnav a:hover{
  border-color:rgba(125,211,252,.58);
  transform:none;
}

.admin-section-subnav a.active{
  border-color:rgba(255,255,255,.22);
  background:linear-gradient(135deg,rgba(99,102,241,.85),rgba(14,165,233,.70));
}

@media(max-width:760px){
  .admin-section-subnav{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .admin-section-subnav a{
    width:100%;
  }
}


/* Admin page headers */
main.shell > .admin-console-tabs + .settings-hero,
main.shell > .admin-console-tabs ~ .settings-hero:first-of-type{
  margin:0 0 14px;
  padding:18px;
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  border-radius:var(--r-lg);
  box-sizing:border-box;
}

main.shell > .admin-console-tabs + .settings-hero h1,
main.shell > .admin-console-tabs ~ .settings-hero:first-of-type h1{
  margin:0 0 5px;
  font-size:clamp(26px,3vw,38px);
  line-height:1.08;
}

main.shell > .admin-console-tabs + .settings-hero p,
main.shell > .admin-console-tabs ~ .settings-hero:first-of-type p{
  margin:0;
  line-height:1.4;
}

main.shell > .admin-console-tabs + .settings-hero .settings-hero-actions,
main.shell > .admin-console-tabs ~ .settings-hero:first-of-type .settings-hero-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  align-items:center;
  gap:10px;
  margin:0;
}

/* Readability: avoid joined/cramped text */
main.shell .settings-card,
main.shell .scan-card,
main.shell .diag-card,
main.shell .health-card,
main.shell .server-card,
main.shell .system-card,
main.shell .scan-report-card,
main.shell .artwork-card,
main.shell .mini-stat{
  box-sizing:border-box;
  line-height:1.35;
  overflow-wrap:normal;
  word-break:normal;
}

main.shell .settings-card,
main.shell .scan-card{
  padding:18px;
}

main.shell .path,
main.shell code,
main.shell pre,
main.shell .system-path,
main.shell .runtime-path,
main.shell .source-path,
main.shell .detail-path-wide{
  overflow-wrap:anywhere;
  word-break:break-word;
}

main.shell .mini-stat b{
  line-height:1.08;
  overflow-wrap:normal;
  word-break:normal;
}

main.shell .mini-stat span{
  line-height:1.25;
  overflow-wrap:normal;
  word-break:normal;
}

body:has(.admin-console-tabs) main.shell .mini-stat{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}

body:has(.admin-console-tabs) main.shell .mini-stat b{
  min-width:3ch;
  text-align:right;
}

body:has(.admin-console-tabs) main.shell .mini-stat span{
  margin-top:0;
  min-width:0;
}

/* Mobile/tablet: keep Logout visible and allow nav to wrap cleanly */
@media(max-width:900px){
  .topbar .nav{
    align-items:flex-start;
    flex-direction:column;
    gap:10px;
  }

  .topbar .navlinks{
    width:100%;
    justify-content:flex-start;
  }

  main.shell > .admin-console-tabs + .settings-hero,
  main.shell > .admin-console-tabs ~ .settings-hero:first-of-type{
    display:block;
  }

  main.shell > .admin-console-tabs + .settings-hero .settings-hero-actions,
  main.shell > .admin-console-tabs ~ .settings-hero:first-of-type .settings-hero-actions{
    justify-content:flex-start;
    margin-top:12px;
  }
}

@media(max-width:760px){
  .shell,
  main.shell{
    padding-left:12px;
    padding-right:12px;
  }

  .topbar .nav{
    padding-left:12px;
    padding-right:12px;
  }

  .topbar .brand-text small{
    display:none;
  }

  .topbar .navbtn{
    flex:1 1 calc(50% - 9px);
    min-width:0;
  }

  main.shell > .admin-console-tabs a{
    flex:1 1 calc(50% - 9px);
    width:auto;
    min-width:0;
  }
}




/* ===== v28.7.45 admin card polish ===== */
.admin-use-card,
.admin-card,
.admin-compact-card,
.settings-card,
.panel,
.issue-card,
.health-card,
.scan-card,
.runtime-location-card,
.activity-history-row,
.mini-stat {
  box-sizing: border-box;
}

.admin-use-card,
.admin-card,
.admin-compact-card,
.settings-card,
.issue-card,
.health-card,
.scan-card {
  overflow: hidden;
  word-break: normal;
  overflow-wrap: anywhere;
}

.admin-use-card h2,
.admin-use-card h3,
.admin-card h2,
.admin-card h3,
.admin-compact-card h2,
.admin-compact-card h3,
.settings-card h2,
.settings-card h3,
.issue-card h2,
.issue-card h3,
.health-card h2,
.health-card h3,
.scan-card h2,
.scan-card h3 {
  line-height: 1.18;
  margin-top: 0;
  overflow-wrap: anywhere;
}

.admin-use-card p,
.admin-card p,
.admin-compact-card p,
.settings-card p,
.issue-card p,
.health-card p,
.scan-card p,
.muted,
.source-path,
.runtime-location-path,
.thumb-cache-path {
  line-height: 1.42;
  overflow-wrap: anywhere;
}

.toolbar,
.admin-use-buttons,
.settings-hero-actions,
.activity-monitor-tools,
.activity-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.btn,
.badge,
.status-pill {
  max-width: 100%;
  white-space: normal;
  text-align: center;
  line-height: 1.2;
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
}

.badge,
.status-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.dashboard-grid,
.mini-grid,
.admin-compact-grid {
  align-items: stretch;
}

.mini-stat {
  min-width: 0;
  overflow: hidden;
}

.mini-stat span,
.mini-stat b {
  overflow-wrap: anywhere;
}

.admin-big-number {
  line-height: 1;
  overflow-wrap: anywhere;
}

.issue-summary,
.health-top,
.runtime-location-head,
.section-title {
  gap: 10px;
  flex-wrap: wrap;
}

.copy-box,
.activity-log-box,
.activity-history-json {
  overflow-wrap: anywhere;
  word-break: break-word;
}

/* Activity Monitor polish */
.activity-history-list {
  display: grid;
  gap: 0;
}

.activity-history-row {
  padding: 13px 0;
  border-bottom: 1px solid rgba(255,255,255,.10);
}

.activity-history-row:last-child {
  border-bottom: 0;
}

.activity-history-main {
  display: grid;
  grid-template-columns: 132px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: start;
}

.activity-history-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  min-width: 0;
}

.activity-history-content {
  min-width: 0;
}

.activity-history-title {
  color: #f8fafc;
  font-weight: var(--fw-heavy);
  line-height: 1.2;
  overflow-wrap: anywhere;
}

.activity-history-message {
  color: #dbeafe;
  line-height: 1.35;
  margin-top: 3px;
  overflow-wrap: anywhere;
}

.activity-history-time,
.activity-history-right {
  color: #94a3b8;
  font-size: var(--fs-xs);
  line-height: 1.25;
  white-space: nowrap;
}

.activity-history-details {
  margin-top: 7px;
}

.activity-history-details summary {
  cursor: pointer;
  color: #bfdbfe;
  font-weight: var(--fw-heavy);
  font-size: var(--fs-xs);
}

.activity-history-json {
  margin-top: 7px;
  font-size: var(--fs-2xs);
  max-height: 130px;
  overflow: auto;
}

/* Thumbnail Cache polish */
.thumb-progress-wrap,
.tc-progress-shell {
  width: 100%;
}

.thumb-cache-path {
  margin-bottom: 6px;
}

.raw-server-output-panel summary {
  cursor: pointer;
  color: #e5e7eb;
  font-weight: var(--fw-heavy);
  padding: 4px 0;
}

.raw-server-output-panel details[open] summary {
  margin-bottom: 10px;
}

/* Keep admin cards comfortable on narrower browser widths */
@media (max-width: 980px) {
  .activity-history-main {
    grid-template-columns: 1fr;
  }

  .activity-history-time,
  .activity-history-right {
    white-space: normal;
  }

  .section-title {
    align-items: flex-start;
  }

  .settings-hero {
    gap: 12px;
  }
}

@media (max-width: 680px) {
  .toolbar,
  .admin-use-buttons,
  .settings-hero-actions,
  .activity-monitor-tools,
  .activity-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .btn {
    width: 100%;
  }

  .mini-grid,
  .dashboard-grid,
  .admin-compact-grid {
    grid-template-columns: 1fr !important;
  }
}
/* ===== end v28.7.45 admin card polish ===== */



/* ===== v28.7.45 admin inner spacing polish ===== */
.panel,
.admin-use-card,
.admin-card,
.admin-compact-card,
.settings-card,
.issue-card,
.health-card,
.scan-card,
.runtime-location-card,
.activity-monitor-hero,
.security-access-panel,
.activity-history-panel,
.raw-server-output-panel {
  padding: 18px !important;
}

.panel > h1:first-child,
.panel > h2:first-child,
.panel > h3:first-child,
.admin-card > h1:first-child,
.admin-card > h2:first-child,
.admin-card > h3:first-child,
.admin-use-card > h1:first-child,
.admin-use-card > h2:first-child,
.admin-use-card > h3:first-child {
  margin-top: 0 !important;
}

.section-title {
  padding: 0 !important;
  margin-bottom: 12px !important;
}

.activity-history-list,
.issue-list,
.health-list {
  padding-left: 2px;
  padding-right: 2px;
}

.activity-history-row,
.issue-card,
.health-card {
  padding-left: 14px !important;
  padding-right: 14px !important;
}

.activity-history-row {
  border-radius: var(--r-sm);
}

.activity-history-main {
  padding-left: 0;
  padding-right: 0;
}

.copy-box,
.activity-log-box,
.activity-history-json {
  padding: 12px !important;
  border-radius: var(--r-sm);
}

.mini-grid,
.dashboard-grid,
.admin-clean-grid,
.admin-action-grid,
.admin-compact-grid {
  gap: 14px !important;
}

.mini-stat {
  padding: 15px !important;
}

.toolbar,
.bulk-bar,
.activity-monitor-tools,
.activity-actions,
.admin-use-buttons {
  margin-top: 8px;
  margin-bottom: 8px;
}

.source-path,
.thumb-cache-path,
.runtime-location-path,
.muted {
  line-height: 1.45;
}

/* Keep top navigation/subnavigation compact; only content cards get extra breathing room */
.admin-tabs,
.admin-subnav,
.nav {
  padding-left: initial;
  padding-right: initial;
}

/* Wider desktop readability */
@media (min-width: 900px) {
  .panel,
  .admin-use-card,
  .admin-card,
  .admin-compact-card,
  .settings-card,
  .issue-card,
  .health-card,
  .scan-card,
  .runtime-location-card,
  .activity-monitor-hero,
  .security-access-panel,
  .activity-history-panel,
  .raw-server-output-panel {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
}
/* ===== end v28.7.45 admin inner spacing polish ===== */



/* ===== v28.7.45 admin page alignment fix ===== */
body:has(.admin-console-tabs){
  min-height:calc(100vh + 1px);
}
/* ===== end v28.7.45 admin page alignment fix ===== */





/* ===== v28.7.45 admin subnav alignment fix ===== */
.admin-section-subnav{
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
  flex-wrap:wrap !important;
}

.admin-section-subnav a{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:34px !important;
  padding:8px 14px !important;
  line-height:1 !important;
  box-sizing:border-box !important;
  white-space:nowrap !important;
  vertical-align:middle !important;
}

.admin-section-subnav a.active{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
}

@media(max-width:760px){
  .admin-section-subnav a{
    min-height:36px !important;
    padding:9px 12px !important;
  }
}
/* ===== end v28.7.45 admin subnav alignment fix ===== */


/* ===== premium browsing interaction polish ===== */
.item,
.collection-tile,
.season-card,
.overview-mini-card,
.deck-card {
  transition:
    transform .18s ease,
    border-color .18s ease,
    background .18s ease,
    box-shadow .18s ease,
    filter .18s ease;
}

.item .thumb,
.collection-tile-poster,
.season-poster,
.poster,
.overview-mini-poster,
.deck-poster img {
  transition:
    transform .22s ease,
    filter .22s ease,
    box-shadow .22s ease,
    border-color .22s ease;
}

.item:hover {
  transform: translateY(-1px);
  background:rgba(125,211,252,.12);
  border-color:rgba(125,211,252,.34);
  box-shadow:0 12px 26px rgba(0,0,0,.18);
}

.item:hover .thumb {
  transform: scale(1.035);
  filter:saturate(1.12) brightness(1.08);
  box-shadow:0 14px 26px rgba(14,165,233,.16),0 12px 22px rgba(0,0,0,.30);
}

.item.active {
  position:relative;
  transform: translateY(-1px);
  border-color:rgba(125,211,252,.78);
  box-shadow:
    inset 4px 0 0 rgba(125,211,252,.92),
    0 0 0 1px rgba(125,211,252,.14),
    0 18px 34px rgba(14,165,233,.15),
    0 10px 22px rgba(0,0,0,.24);
}

.item.active:after {
  content:"";
  position:absolute;
  inset:-1px;
  border-radius:var(--r-md);
  pointer-events:none;
  background:linear-gradient(90deg,rgba(125,211,252,.22),transparent 38%);
  opacity:.75;
}

.item.active .thumb {
  transform: scale(1.04);
  filter:saturate(1.16) brightness(1.10);
}

.collection-tile:hover,
.season-card:hover,
.overview-mini-card:hover {
  transform: translateY(-2px);
  border-color:rgba(125,211,252,.50);
  box-shadow:0 16px 30px rgba(0,0,0,.22);
}

.collection-tile:hover .collection-tile-poster,
.season-card:hover .season-poster,
.overview-mini-card:hover .overview-mini-poster {
  transform: scale(1.035);
  filter:saturate(1.12) brightness(1.08);
}

.collection-tile.active,
.season-card.active {
  transform: translateY(-1px);
  box-shadow:
    inset 0 0 0 2px rgba(125,211,252,.24),
    0 0 0 1px rgba(125,211,252,.18),
    0 16px 28px rgba(14,165,233,.12);
}

.hero-art {
  animation: detailReveal .24s ease both;
}

.detail {
  animation: detailLift .24s ease both;
}

.poster {
  animation: posterPop .28s ease both;
}

@keyframes detailReveal {
  from { opacity:.70; filter:brightness(.92); }
  to { opacity:1; filter:brightness(1); }
}

@keyframes detailLift {
  from { opacity:.86; transform:translateY(5px); }
  to { opacity:1; transform:translateY(0); }
}

@keyframes posterPop {
  from { opacity:.90; transform:translateY(6px) scale(.985); }
  to { opacity:1; transform:translateY(0) scale(1); }
}

@media (prefers-reduced-motion: reduce) {
  .item,
  .collection-tile,
  .season-card,
  .overview-mini-card,
  .deck-card,
  .item .thumb,
  .collection-tile-poster,
  .season-poster,
  .poster,
  .overview-mini-poster,
  .deck-poster img,
  .hero-art,
  .detail {
    transition:none !important;
    animation:none !important;
    transform:none !important;
  }
}

/* ===== v28.7.53 mobile collection and touch polish ===== */

/* Taller, more poster-shaped collection posters on mobile/tablet. */
.collection-card-poster,
.collection-tile-poster{
  background-position:center top;
}

@media(max-width:950px){
  .collections-grid{
    gap:12px;
  }

  .collection-card{
    border-radius:var(--r-lg);
    padding:9px;
  }

  .collection-card-poster{
    height:clamp(300px, 58vw, 430px);
    border-radius:var(--r-md);
    background-size:cover;
    background-position:center top;
  }

  .collection-items{
    gap:12px;
    padding-bottom:8px;
    scroll-snap-type:x proximity;
    -webkit-overflow-scrolling:touch;
  }

  .collection-tile{
    flex-basis:148px;
    scroll-snap-align:start;
  }

  .collection-tile-poster{
    height:218px;
    border-radius:var(--r-md);
    background-size:cover;
    background-position:center top;
  }
}

@media(max-width:650px){
  .collections-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
  }

  .collection-card-poster{
    height:clamp(255px, 74vw, 390px);
    background-position:center top;
  }

  .collection-card-title{
    font-size:var(--fs-sm);
  }

  .collection-card-meta{
    font-size:var(--fs-2xs);
  }

  .collection-tile{
    flex-basis:142px;
  }

  .collection-tile-poster{
    height:212px;
  }
}

@media(max-width:430px){
  .collection-card-poster{
    height:clamp(225px, 72vw, 330px);
  }

  .collection-tile{
    flex-basis:136px;
  }

  .collection-tile-poster{
    height:204px;
  }
}

/* Stop tablet/touch devices keeping desktop hover highlight stuck on cards. */
@media (hover:none), (pointer:coarse){
  .item:hover,
  .collection-tile:hover,
  .collection-card:hover,
  .collection-movie:hover,
  .season-card:hover,
  .overview-mini-card:hover,
  .deck-card:hover,
  .btn:hover,
  button:hover,
  .topbar .navbtn:hover,
  .topbar .navlinks > .btn:hover,
  .admin-console-tabs a:hover,
  .admin-section-subnav a:hover{
    transform:none !important;
    filter:none !important;
  }

  .item:hover,
  .collection-tile:hover,
  .collection-card:hover,
  .collection-movie:hover,
  .season-card:hover,
  .overview-mini-card:hover{
    border-color:rgba(148,163,184,.14) !important;
    background:rgba(15,23,42,.48) !important;
  }

  .item.active:hover{
    background:linear-gradient(135deg,rgba(14,165,233,.24),rgba(124,58,237,.18)) !important;
    border-color:rgba(125,211,252,.64) !important;
  }

  .collection-tile.active:hover,
  .season-card.active:hover{
    border-color:rgba(125,211,252,.72) !important;
    background:linear-gradient(135deg,rgba(14,165,233,.20),rgba(124,58,237,.14)) !important;
  }

  .item:hover .thumb,
  .collection-tile:hover .collection-tile-poster,
  .collection-card:hover .collection-card-poster,
  .collection-movie:hover .collection-movie-poster,
  .season-card:hover .season-poster,
  .overview-mini-card:hover .overview-mini-poster{
    transform:none !important;
    filter:none !important;
  }
}

/* Stronger visible press feedback. This will still be brief if navigation is instant. */
.item,
.collection-tile,
.collection-card,
.collection-movie,
.season-card,
.overview-mini-card,
.deck-card,
.navbtn,
.mobile-bottom-nav a,
.btn,
button{
  transition:transform .10s ease, filter .10s ease, box-shadow .10s ease;
  -webkit-tap-highlight-color:rgba(125,211,252,.18);
}

.item:active,
.collection-tile:active,
.collection-card:active,
.collection-movie:active,
.season-card:active,
.overview-mini-card:active,
.deck-card:active,
.navbtn:active,
.mobile-bottom-nav a:active,
.btn:active,
button:active{
  transform:scale(.94) !important;
  filter:brightness(1.22) saturate(1.18);
  box-shadow:0 0 0 3px rgba(125,211,252,.28),0 12px 28px rgba(14,165,233,.18) !important;
}

/* ===== end v28.7.53 mobile collection and touch polish ===== */


/* ===== v28.7.53 tablet and mobile UI polish ===== */

/* Tablet: give the interface more breathing room without changing desktop layout. */
@media(min-width:700px) and (max-width:1180px){
  .shell{
    padding:14px 16px;
  }

  .grid-shell{
    grid-template-columns:330px minmax(0,1fr);
    gap:14px;
  }

  .panel{
    border-radius:var(--r-lg);
  }

  .panel-pad{
    padding:16px;
  }

  .list{
    gap:9px;
    padding:11px;
  }

  .item{
    min-height:92px;
    padding:11px;
    border-radius:var(--r-md);
  }

  .thumb{
    width:54px;
    height:80px;
    border-radius:var(--r-sm);
  }

  .detail{
    padding:18px;
  }

  .detail-head{
    grid-template-columns:160px minmax(0,1fr);
    gap:18px;
  }

  .poster{
    height:242px;
  }

  .viewer-grid{
    gap:16px;
  }

  .viewer-card{
    min-height:205px;
    border-radius:var(--r-lg);
  }

  .overview-mini-grid{
    gap:12px;
  }
}

/* Touch devices: active row should be clear, but not look like a mouse hover got stuck. */
@media (hover:none), (pointer:coarse){
  .item.active{
    background:linear-gradient(135deg,rgba(14,165,233,.18),rgba(124,58,237,.12));
    border-color:rgba(125,211,252,.46);
    box-shadow:inset 3px 0 0 rgba(125,211,252,.70),0 8px 18px rgba(14,165,233,.07);
  }

  .item.active .thumb{
    border-color:rgba(125,211,252,.36);
    box-shadow:0 8px 16px rgba(14,165,233,.10),0 8px 16px rgba(0,0,0,.22);
  }

  .collection-tile.active,
  .season-card.active{
    border-color:rgba(125,211,252,.52);
    box-shadow:inset 0 0 0 1px rgba(125,211,252,.22);
    background:linear-gradient(135deg,rgba(14,165,233,.15),rgba(124,58,237,.10));
  }

  .navlinks .active,
  .mobile-bottom-nav a.active{
    border-color:rgba(125,211,252,.42);
    background:rgba(14,165,233,.12);
  }
}

/* Mobile: cleaner spacing and larger tap areas. */
@media(max-width:700px){
  .shell{
    padding:10px 9px;
  }

  .panel{
    border-radius:var(--r-lg);
  }

  .panel-pad{
    padding:14px;
  }

  .viewer-hero{
    padding:18px;
    border-radius:var(--r-lg);
  }

  .viewer-hero h1{
    font-size:30px;
  }

  .viewer-grid{
    gap:12px;
  }

  .viewer-card{
    padding:18px;
    border-radius:var(--r-lg);
  }

  .viewer-card .big-icon{
    font-size:42px;
  }

  .viewer-card h2{
    font-size:var(--fs-xl);
  }

  .viewer-card-actions{
    display:grid;
  }

  .viewer-card-actions .btn{
    width:100%;
  }

  .overview-head{
    align-items:flex-start;
    flex-direction:column;
  }

  .overview-mini-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
  }

  .overview-mini-card{
    border-radius:var(--r-md);
  }

  .overview-mini-poster{
    min-height:188px;
    border-radius:var(--r-md);
  }

  .item{
    min-height:88px;
    padding:10px;
    border-radius:var(--r-md);
  }

  .item-title{
    font-size:var(--fs-md);
  }

  .item-meta{
    font-size:var(--fs-xs);
  }

  .btn,
  button{
    min-height:46px;
  }

  .btn-mini{
    min-height:36px;
  }

  .toolbar{
    gap:8px;
  }

  .toolbar .btn{
    white-space:normal;
  }
}

/* Very small phones: reduce grid pressure but keep posters readable. */
@media(max-width:430px){
  .overview-mini-grid{
    gap:9px;
  }

  .overview-mini-poster{
    min-height:168px;
  }

  .viewer-card{
    padding:16px;
  }

  .detail{
    padding:12px;
  }

  .chips{
    gap:5px;
  }

  .chip{
    font-size:var(--fs-micro);
    padding:5px 7px;
  }
}

/* ===== end v28.7.53 tablet and mobile UI polish ===== */



/* ===== end premium browsing interaction polish ===== */


/* ===== true mobile floating back button ===== */
.mobile-floating-back{
  display:none;
}

@media(max-width:950px){
  .mobile-detail-panel,
  .panel{
    position:relative;
  }

  .mobile-floating-back{
    display:flex;
    position:absolute;
    top:12px;
    left:12px;
    z-index:50;
    width:42px;
    height:42px;
    align-items:center;
    justify-content:center;
    border-radius:var(--r-pill);
    text-decoration:none;
    color:#fff;
    font-size:34px;
    line-height:1;
    font-weight:var(--fw-regular);
    background:rgba(2,6,23,.52);
    border:1px solid rgba(255,255,255,.24);
    box-shadow:0 12px 30px rgba(0,0,0,.35);
    backdrop-filter:blur(14px);
  }

  .mobile-floating-back:active{
    transform:scale(.96);
  }

  .mobile-back-label{
    display:none !important;
  }
}
/* ===== end true mobile floating back button ===== */


/* ===== mobile bottom app navigation ===== */
.mobile-bottom-nav{
  display:none;
}

@media(max-width:950px){
  body{
    padding-bottom:78px;
  }

  .topbar{
    position:sticky;
    top:0;
    z-index:20;
  }

  .topbar .nav{
    padding:10px 12px;
  }

  .topbar .navlinks{
    display:none !important;
  }

  .brand{
    min-width:0;
  }

  .brand-text{
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }

  .mobile-bottom-nav{
    position:fixed;
    left:10px;
    right:10px;
    bottom:10px;
    z-index:80;
    display:flex;
    align-items:center;
    justify-content:space-around;
    gap:6px;
    padding:7px;
    border-radius:var(--r-lg);
    border:1px solid rgba(148,163,184,.20);
    background:rgba(7,10,18,.82);
    backdrop-filter:blur(20px);
    box-shadow:0 18px 45px rgba(0,0,0,.42);
  }

  .mobile-bottom-nav a{
    flex:1;
    min-width:0;
    min-height:52px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:3px;
    border-radius:var(--r-md);
    text-decoration:none;
    color:var(--muted);
    font-weight:var(--fw-heavy);
    border:1px solid transparent;
  }

  .mobile-bottom-nav a span{
    font-size:var(--fs-lg);
    line-height:1;
  }

  .mobile-bottom-nav a em{
    font-style:normal;
    font-size:var(--fs-micro);
    line-height:1;
    white-space:nowrap;
  }

  .mobile-bottom-nav a.active{
    color:#fff;
    border-color:rgba(125,211,252,.28);
    background:linear-gradient(135deg,rgba(14,165,233,.24),rgba(124,58,237,.18));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
  }

  .mobile-bottom-nav a:active{
    transform:scale(.97);
  }
}

@media(max-width:420px){
  .mobile-bottom-nav{
    left:8px;
    right:8px;
    bottom:8px;
    border-radius:var(--r-lg);
  }

  .mobile-bottom-nav a{
    min-height:50px;
    border-radius:var(--r-md);
  }

  .mobile-bottom-nav a span{
    font-size:var(--fs-lg);
  }

  .mobile-bottom-nav a em{
    font-size:var(--fs-micro);
  }
}
/* ===== end mobile bottom app navigation ===== */


/* ===== mobile/tablet premium browse cards ===== */
@media(max-width:950px){
  .list{
    gap:10px;
    padding:10px;
  }

  .item{
    grid-template-columns:64px minmax(0,1fr);
    gap:13px;
    min-height:104px;
    padding:11px;
    border-radius:var(--r-lg);
    border:1px solid rgba(148,163,184,.12);
    background:linear-gradient(135deg,rgba(15,23,42,.58),rgba(15,23,42,.32));
    box-shadow:0 12px 28px rgba(0,0,0,.18);
  }

  .item:hover{
    background:linear-gradient(135deg,rgba(15,23,42,.70),rgba(15,23,42,.42));
    border-color:rgba(125,211,252,.22);
    transform:none;
  }

  .item.active{
    background:
      radial-gradient(circle at 10% 0%,rgba(14,165,233,.22),transparent 38%),
      linear-gradient(135deg,rgba(15,23,42,.72),rgba(30,41,59,.48));
    border-color:rgba(125,211,252,.34);
    box-shadow:0 16px 34px rgba(0,0,0,.24), inset 0 0 0 1px rgba(125,211,252,.10);
  }

  .item.active .item-title{
    color:#fff;
  }

  .thumb{
    width:64px;
    height:94px;
    border-radius:var(--r-md);
    box-shadow:0 14px 28px rgba(0,0,0,.34);
  }

  .item.active .thumb{
    border-color:rgba(125,211,252,.42);
    box-shadow:0 16px 30px rgba(14,165,233,.14),0 14px 28px rgba(0,0,0,.34);
  }

  .item-title{
    font-size:var(--fs-md);
    line-height:1.22;
    white-space:normal;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }

  .item-meta{
    margin-top:6px;
    font-size:var(--fs-xs);
    line-height:1.35;
    color:#aebbd0;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }

  .item-tags{
    margin-top:8px;
    gap:5px;
  }

  .item-tags .chip,
  .item .chip{
    font-size:var(--fs-micro);
    padding:4px 7px;
    max-width:96px;
    border-color:rgba(125,211,252,.18);
    background:rgba(14,165,233,.10);
  }
}

@media(max-width:520px){
  .list{
    padding:8px;
    gap:9px;
  }

  .item{
    grid-template-columns:58px minmax(0,1fr);
    min-height:96px;
    gap:11px;
    padding:10px;
    border-radius:var(--r-md);
  }

  .thumb{
    width:58px;
    height:86px;
    border-radius:var(--r-md);
  }

  .item-title{
    font-size:var(--fs-md);
  }

  .item-meta{
    font-size:var(--fs-2xs);
  }

  .item-tags .chip,
  .item .chip{
    font-size:var(--fs-micro);
    max-width:82px;
  }
}
/* ===== end mobile/tablet premium browse cards ===== */


/* ===== mobile/tablet premium detail pages ===== */
@media(max-width:950px){
  .mobile-detail-panel{
    border-radius:var(--r-lg);
    overflow:hidden;
    background:
      radial-gradient(circle at 20% 0%,rgba(14,165,233,.18),transparent 34%),
      linear-gradient(180deg,rgba(15,23,42,.82),rgba(15,23,42,.58));
  }

  .mobile-detail-panel .hero-art{
    height:230px;
    background-position:center;
    background-size:cover;
  }

  .mobile-detail-panel .hero-art:after{
    background:
      linear-gradient(180deg,rgba(2,6,23,.08),rgba(2,6,23,.48) 48%,rgba(2,6,23,.96)),
      linear-gradient(90deg,rgba(2,6,23,.38),transparent 52%,rgba(2,6,23,.28));
  }

  .mobile-detail-panel .detail{
    padding:0 14px 18px;
  }

  .mobile-detail-panel .detail-head{
    display:grid;
    grid-template-columns:118px minmax(0,1fr);
    align-items:start;
    gap:14px;
    margin-top:-34px;
  }

  .mobile-detail-panel .detail-head > div:last-child{
    display:contents;
  }

  .mobile-detail-panel .detail-head h1,
  .mobile-detail-panel .detail-head .muted,
  .mobile-detail-panel .detail-head .collection-row,
  .mobile-detail-panel .detail-head .chips{
    grid-column:1 / -1;
  }

  .mobile-detail-panel .detail-head .poster{
    grid-column:1;
    grid-row:5;
  }

  .mobile-detail-panel .detail-head .plot{
    grid-column:2;
    grid-row:5;
    margin-top:0;
  }

  .mobile-detail-panel .poster{
    width:118px;
    height:178px;
    margin:0;
    border-radius:var(--r-md);
    border:1px solid rgba(255,255,255,.24);
    box-shadow:0 22px 48px rgba(0,0,0,.52);
  }

  .mobile-detail-panel h1{
    margin:0 0 6px;
    font-size:clamp(25px,7vw,38px);
    line-height:1.02;
    letter-spacing:-.06em;
    text-shadow:0 2px 14px rgba(0,0,0,.42);
  }

  .mobile-detail-panel .muted{
    color:#b8c5d8;
    font-size:var(--fs-sm);
    line-height:1.35;
  }

  .mobile-detail-panel .collection-row{
    margin:9px 0 0;
    gap:7px;
  }

  .mobile-detail-panel .collection-row .btn{
    min-height:32px;
    padding:6px 10px;
    font-size:var(--fs-xs);
  }

  .mobile-detail-panel .chips{
    margin:12px 0 10px;
    gap:6px;
  }

  .mobile-detail-panel .chip{
    font-size:var(--fs-micro);
    padding:5px 8px;
    border-color:rgba(125,211,252,.20);
    background:rgba(14,165,233,.11);
    color:#dff7ff;
  }

  .mobile-detail-panel .plot{
    margin-top:10px;
    padding:12px;
    border-radius:var(--r-md);
    border:1px solid rgba(148,163,184,.12);
    background:rgba(2,6,23,.24);
    color:#dbeafe;
    line-height:1.55;
    font-size:var(--fs-md);
  }

  .mobile-detail-panel .detail-meta-grid{
    gap:10px;
    margin-top:12px;
  }

  .mobile-detail-panel .info,
  .mobile-detail-panel .tech-details,
  .mobile-detail-panel .collection-strip,
  .mobile-detail-panel .detail-browse-nav{
    border-radius:var(--r-md);
    background:rgba(2,6,23,.28);
    border-color:rgba(148,163,184,.12);
  }

  .mobile-detail-panel .info{
    padding:12px;
  }

  .mobile-detail-panel .info b{
    font-size:var(--fs-micro);
  }

  .mobile-detail-panel .info-value{
    font-size:var(--fs-sm);
  }

  .mobile-detail-panel .tech-details summary{
    padding:12px;
    font-size:var(--fs-sm);
  }

  .mobile-detail-panel .collection-items{
    gap:8px;
  }

  .mobile-detail-panel .collection-tile{
    flex-basis:112px;
    border-radius:var(--r-md);
  }

  .mobile-detail-panel .collection-tile-poster{
    height:134px;
    border-radius:var(--r-sm);
  }

  .mobile-floating-back{
    top:14px;
    left:14px;
    width:46px;
    height:46px;
    font-size:32px;
    background:rgba(2,6,23,.62);
    border:1px solid rgba(255,255,255,.30);
    box-shadow:0 16px 36px rgba(0,0,0,.42);
  }
}

@media(max-width:520px){
  .mobile-detail-panel .hero-art{
    height:210px;
  }

  .mobile-detail-panel .detail{
    padding-left:12px;
    padding-right:12px;
  }

  .mobile-detail-panel .detail-head{
    grid-template-columns:104px minmax(0,1fr);
    gap:12px;
    margin-top:-28px;
  }

  .mobile-detail-panel .poster{
    width:104px;
    height:156px;
    border-radius:var(--r-md);
  }

  .mobile-detail-panel h1{
    font-size:clamp(23px,7.5vw,32px);
  }

  .mobile-detail-panel .plot{
    font-size:var(--fs-sm);
  }
}
/* ===== end mobile/tablet premium detail pages ===== */


/* ===== safe premium search button ===== */
.searchbar{
  align-items:stretch;
}

.searchbar input{
  min-height:46px;
}

.search-btn{
  min-height:46px;
  padding:0 16px;
  border-radius:var(--r-md);
  gap:8px;
  font-weight:var(--fw-heavy);
  letter-spacing:-.01em;
  background:
    radial-gradient(circle at 25% 10%,rgba(255,255,255,.20),transparent 32%),
    linear-gradient(135deg,rgba(14,165,233,.86),rgba(124,58,237,.76));
  border-color:rgba(255,255,255,.18);
  box-shadow:0 12px 26px rgba(14,165,233,.16),0 10px 24px rgba(0,0,0,.22);
}

.search-btn:hover{
  border-color:rgba(191,219,254,.46);
  box-shadow:0 14px 32px rgba(14,165,233,.22),0 10px 24px rgba(0,0,0,.26);
}

.search-btn-icon{
  display:inline-grid;
  place-items:center;
  width:24px;
  height:24px;
  border-radius:var(--r-sm);
  background:rgba(255,255,255,.14);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16);
  line-height:1;
}

.search-btn-text{
  line-height:1;
}

.movie-live-search-wrap{
  position:relative;
  min-width:0;
}

.movie-live-search-panel{
  position:absolute;
  left:0;
  right:0;
  top:calc(100% + 8px);
  z-index:30;
  display:none;
  overflow:hidden;
  border:1px solid rgba(125,211,252,.24);
  border-radius:var(--r-md);
  background:linear-gradient(180deg,rgba(15,23,42,.98),rgba(30,41,59,.96));
  box-shadow:0 18px 44px rgba(0,0,0,.42);
}

.movie-live-search-panel.is-open{
  display:block;
}

.movie-live-search-state{
  padding:12px 13px;
  color:var(--muted);
  font-size:var(--fs-sm);
}

.movie-live-search-result{
  display:grid;
  grid-template-columns:38px minmax(0,1fr);
  gap:10px;
  align-items:center;
  padding:8px 10px;
  text-decoration:none;
  border-top:1px solid rgba(148,163,184,.10);
}

.movie-live-search-result:first-child{
  border-top:0;
}

.movie-live-search-result:hover,
.movie-live-search-result:focus{
  outline:none;
  background:rgba(14,165,233,.14);
}

.movie-live-search-thumb{
  width:38px;
  height:56px;
  border-radius:var(--r-sm);
  background:#111827 center/cover no-repeat;
  border:1px solid rgba(255,255,255,.12);
}

.movie-live-search-title{
  display:block;
  color:#fff;
  font-weight:var(--fw-heavy);
  line-height:1.2;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.movie-live-search-meta{
  display:block;
  margin-top:3px;
  color:var(--muted);
  font-size:var(--fs-xs);
  line-height:1.3;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

@media(max-width:620px){
  .searchbar{
    grid-template-columns:1fr 54px !important;
    gap:8px;
  }

  .search-btn{
    width:54px;
    min-width:54px;
    padding:0;
    border-radius:var(--r-md);
  }

  .search-btn-icon{
    width:28px;
    height:28px;
    font-size:var(--fs-lg);
    background:transparent;
    box-shadow:none;
  }

  .search-btn-text{
    display:none;
  }

  .movie-live-search-wrap{
    grid-column:1 / -1;
  }
}
/* ===== end safe premium search button ===== */


/* ===== clean browser summary cards ===== */
.browse-summary{
  gap:10px;
  padding:12px 14px;
  border-radius:var(--r-md);
  background:
    radial-gradient(circle at 0% 0%,rgba(14,165,233,.12),transparent 36%),
    rgba(2,6,23,.24);
}

.browse-summary-head{
  display:flex !important;
  align-items:flex-end;
  justify-content:space-between;
  gap:10px;
}

.browse-summary-head b{
  display:block;
  color:#f8fafc;
  font-size:var(--fs-sm);
  line-height:1.1;
  letter-spacing:-.02em;
  text-transform:none;
}

.browse-summary-head span{
  display:block;
  margin:0;
  color:#cbd5e1;
  font-size:var(--fs-sm);
  font-weight:var(--fw-heavy);
  text-align:right;
}

.browse-summary-pills{
  display:flex;
  gap:7px;
  flex-wrap:wrap;
  align-items:center;
}

.browse-summary-pill{
  display:inline-flex !important;
  align-items:center;
  gap:6px;
  margin:0 !important;
  padding:6px 9px;
  border-radius:var(--r-pill);
  border:1px solid rgba(148,163,184,.14);
  background:rgba(15,23,42,.42);
  color:#dbeafe !important;
  font-size:var(--fs-xs) !important;
  line-height:1 !important;
}

.browse-summary-pill strong{
  color:#93c5fd;
  font-size:var(--fs-micro);
  text-transform:uppercase;
  letter-spacing:.06em;
}

.browse-summary-pill em{
  color:#f8fafc;
  font-style:normal;
  font-weight:var(--fw-heavy);
}

@media(max-width:620px){
  .browse-summary{
    padding:11px 12px;
  }

  .browse-summary-head{
    display:grid !important;
    gap:4px;
    align-items:start;
  }

  .browse-summary-head span{
    text-align:left;
    font-size:var(--fs-md);
  }

  .browse-summary-pills{
    gap:6px;
  }

  .browse-summary-pill{
    padding:6px 8px;
    font-size:var(--fs-2xs) !important;
  }
}
/* ===== end clean browser summary cards ===== */


/* ===== shared desktop browser list width polish ===== */
@media(min-width:951px){
  .grid-shell{
    grid-template-columns:410px minmax(0,1fr);
  }

  .item{
    grid-template-columns:46px minmax(0,1fr);
    gap:10px;
    padding:8px;
  }

  .thumb{
    width:46px;
    height:68px;
    border-radius:var(--r-sm);
  }

  .item-title{
    font-size:var(--fs-md);
    line-height:1.18;
  }

  .item-meta{
    font-size:var(--fs-xs);
    line-height:1.28;
    margin-top:3px;
  }

  .item-tags{
    gap:4px;
    margin-top:5px;
  }

  .item .chip,
  .item-tags .chip{
    font-size:var(--fs-micro);
    padding:4px 7px;
    max-width:132px;
  }

  .list{
    padding:9px;
  }
}
/* ===== end shared desktop browser list width polish ===== */


/* ===== premium movie filter design ===== */
.searchbar-with-filters{
  grid-template-columns:minmax(0,1fr) auto auto;
  align-items:center;
}

.filter-toggle-btn{
  min-height:44px;
  padding:10px 14px;
  border-radius:var(--r-md);
  font-weight:var(--fw-heavy);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  background:
    radial-gradient(circle at 20% 0%,rgba(255,255,255,.16),transparent 36%),
    linear-gradient(180deg,rgba(15,23,42,.66),rgba(15,23,42,.38));
  border-color:rgba(125,211,252,.18);
  white-space:nowrap;
}

.filter-toggle-btn:hover{
  border-color:rgba(125,211,252,.52);
  background:
    radial-gradient(circle at 20% 0%,rgba(255,255,255,.20),transparent 36%),
    linear-gradient(180deg,rgba(14,165,233,.18),rgba(15,23,42,.42));
}

.filter-toggle-btn em{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:21px;
  height:21px;
  padding:0 6px;
  border-radius:var(--r-pill);
  background:rgba(14,165,233,.24);
  border:1px solid rgba(125,211,252,.32);
  color:#dff7ff;
  font-size:var(--fs-2xs);
  font-style:normal;
  font-weight:var(--fw-heavy);
}

.movie-filter-accordion{
  margin-top:10px;
  padding:0;
  border-radius:var(--r-md);
  overflow:hidden;
  border:1px solid rgba(148,163,184,.16);
  background:
    radial-gradient(circle at 0% 0%,rgba(14,165,233,.10),transparent 38%),
    rgba(2,6,23,.24);
}

.movie-filter-accordion:not([open]){
  display:none;
}

.movie-filter-accordion .filter-summary-hidden{
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip:rect(0 0 0 0);
  white-space:nowrap;
  margin:0;
  padding:0;
  border:0;
}

.movie-filter-accordion .filter-summary-hidden::-webkit-details-marker{
  display:none;
}

.movie-filter-accordion .filter-grid{
  padding:14px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}

.movie-filter-accordion .filter-field{
  min-width:0;
}

.movie-filter-accordion .filter-field-wide{
  grid-column:1 / -1;
}

.movie-filter-accordion select{
  width:100%;
  min-height:42px;
  border-radius:var(--r-md);
}

.movie-filter-accordion .filter-field > b{
  display:block;
  margin:2px 0 7px;
  color:#cbd5e1;
  font-size:var(--fs-2xs);
  text-transform:uppercase;
  letter-spacing:.07em;
}

.movie-filter-accordion .filter-group{
  max-height:150px;
  overflow:auto;
  border-radius:var(--r-md);
  background:rgba(15,23,42,.34);
  border-color:rgba(148,163,184,.12);
}

.movie-filter-accordion .check{
  min-height:29px;
  font-size:var(--fs-xs);
}

.movie-filter-actions{
  grid-column:1 / -1;
  display:flex;
  gap:10px;
  align-items:center;
  justify-content:flex-end;
  padding-top:3px;
}

.movie-filter-actions .primary{
  background:
    radial-gradient(circle at 25% 10%,rgba(255,255,255,.18),transparent 32%),
    linear-gradient(135deg,rgba(14,165,233,.86),rgba(124,58,237,.76));
}

@media(max-width:620px){
  .searchbar-with-filters{
    grid-template-columns:1fr auto;
  }

  .searchbar-with-filters input{
    grid-column:1 / -1;
  }

  .searchbar-with-filters .search-btn{
    min-height:44px;
  }

  .searchbar-with-filters .filter-toggle-btn{
    min-height:44px;
  }

  .movie-filter-accordion .filter-grid{
    padding:10px;
    grid-template-columns:1fr;
    gap:10px;
  }

  .movie-filter-accordion .filter-field-wide{
    grid-column:auto;
  }

  .movie-filter-actions{
    display:grid;
    grid-template-columns:1fr;
  }
}
/* ===== end premium movie filter design ===== */





/* ===== clean TV intro card on mobile/tablet ===== */
@media(max-width:950px){
  .tv-intro{
    display:grid !important;
    grid-template-columns:1fr auto;
    align-items:start;
    gap:12px;
    padding:14px;
  }

  .tv-intro h2{
    margin:0 0 5px !important;
    font-size:var(--fs-xl);
    line-height:1;
    letter-spacing:-.05em;
  }

  .tv-intro .muted{
    max-width:34ch;
    font-size:var(--fs-md);
    line-height:1.42;
    color:#aebbd0;
  }

  .count-pill{
    min-width:58px;
    min-height:58px;
    padding:7px 9px;
    display:grid;
    place-items:center;
    text-align:center;
    border-radius:var(--r-pill);
    font-size:var(--fs-2xs);
    line-height:1.05;
    background:
      radial-gradient(circle at 30% 10%,rgba(255,255,255,.16),transparent 34%),
      rgba(14,165,233,.16);
    border-color:rgba(125,211,252,.28);
    box-shadow:0 12px 26px rgba(14,165,233,.12);
  }

  .count-pill::first-line{
    font-size:var(--fs-md);
    font-weight:var(--fw-heavy);
  }
}

@media(max-width:520px){
  .tv-intro{
    grid-template-columns:1fr;
    gap:9px;
  }

  .count-pill{
    width:max-content;
    min-width:0;
    min-height:0;
    padding:7px 10px;
    border-radius:var(--r-pill);
    display:inline-flex;
    justify-content:center;
  }

  .tv-intro .muted{
    max-width:none;
  }
}
/* ===== end clean TV intro card on mobile/tablet ===== */


/* ===== keep TV show count inline on mobile/tablet ===== */
@media(max-width:950px){
  .tv-intro{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:12px;
  }

  .tv-intro h2{
    margin:0 !important;
  }

  .count-pill{
    flex:0 0 auto;
    min-width:0;
    min-height:0;
    padding:7px 10px;
    border-radius:var(--r-pill);
    display:inline-flex;
    align-items:center;
    justify-content:center;
    white-space:nowrap;
    font-size:var(--fs-xs);
    line-height:1;
  }
}

@media(max-width:520px){
  .tv-intro{
    grid-template-columns:none !important;
    display:flex !important;
  }

  .count-pill{
    width:auto;
  }
}
/* ===== end keep TV show count inline on mobile/tablet ===== */






/* ===== v28.7.51 TV season and episode desktop polish ===== */
.season-layout{grid-template-columns:300px minmax(0,1fr);gap:18px}
.season-layout>aside{border:1px solid rgba(148,163,184,.12);background:rgba(2,6,23,.18);border-radius:var(--r-lg);padding:12px}
.season-layout>section{border:1px solid rgba(148,163,184,.12);background:rgba(2,6,23,.14);border-radius:var(--r-lg);padding:12px}
.season-card{grid-template-columns:58px minmax(0,1fr);min-height:86px;align-items:center;background:linear-gradient(135deg,rgba(15,23,42,.62),rgba(15,23,42,.34))}
.season-poster{height:78px}.episodes{max-height:calc(100vh - 360px);gap:11px}
.episode{grid-template-columns:78px minmax(0,1fr) minmax(82px,auto);padding:14px;border-radius:var(--r-lg);background:radial-gradient(circle at 0% 0%,rgba(14,165,233,.10),transparent 36%),linear-gradient(135deg,rgba(15,23,42,.58),rgba(15,23,42,.32))}
.epno{display:inline-flex;align-items:center;justify-content:center;width:max-content;max-width:100%;padding:6px 9px;border-radius:var(--r-pill);border:1px solid rgba(125,211,252,.22);background:rgba(14,165,233,.10);color:#dff7ff;font-size:var(--fs-xs);letter-spacing:.04em}
.episode-meta-tags .chip{font-size:var(--fs-2xs);padding:4px 7px;background:rgba(14,165,233,.10)}
.episode-technical-details{border-radius:var(--r-md);border:1px solid rgba(148,163,184,.11);background:rgba(2,6,23,.18);overflow:hidden}
.episode-technical-details summary{padding:9px 10px;font-weight:var(--fw-heavy);color:#bfdbfe}
.episode-technical-details .episode-detail-grid{padding:0 10px 10px;margin-top:0}
@media(max-width:950px){.season-layout>aside,.season-layout>section{padding:0;border:0;background:transparent;border-radius:0}}
/* ===== end v28.7.51 TV season and episode desktop polish ===== */


/* ===== mobile/tablet premium TV season and episode cards ===== */
@media(max-width:950px){
  .season-layout{
    gap:12px;
  }

  .season-layout h2{
    font-size:var(--fs-lg);
    letter-spacing:-.04em;
  }

  .season-list{
    display:flex;
    gap:9px;
    overflow:auto;
    padding:2px 2px 8px;
    scroll-snap-type:x proximity;
  }

  .season-card{
    flex:0 0 156px;
    min-height:78px;
    scroll-snap-align:start;
    grid-template-columns:46px minmax(0,1fr);
    align-items:center;
    gap:10px;
    padding:9px;
    border-radius:var(--r-md);
    background:linear-gradient(135deg,rgba(15,23,42,.60),rgba(15,23,42,.34));
    border-color:rgba(148,163,184,.12);
    box-shadow:0 12px 26px rgba(0,0,0,.18);
  }

  .season-card.active{
    border-color:rgba(125,211,252,.36);
    background:
      radial-gradient(circle at 10% 0%,rgba(14,165,233,.24),transparent 42%),
      linear-gradient(135deg,rgba(15,23,42,.76),rgba(30,41,59,.50));
    box-shadow:0 15px 32px rgba(0,0,0,.24), inset 0 0 0 1px rgba(125,211,252,.10);
  }

  .season-poster{
    height:62px;
    border-radius:var(--r-sm);
    box-shadow:0 10px 22px rgba(0,0,0,.30);
  }

  .season-card b{
    display:block;
    font-size:var(--fs-sm);
    line-height:1.15;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }

  .season-card .muted{
    margin-top:3px;
    font-size:var(--fs-2xs);
    color:#aebbd0;
  }

  .episodes{
    max-height:none;
    gap:10px;
    overflow:visible;
    padding-right:0;
  }

  .episode{
    grid-template-columns:1fr;
    gap:8px;
    padding:13px;
    border-radius:var(--r-lg);
    background:linear-gradient(135deg,rgba(15,23,42,.58),rgba(15,23,42,.34));
    border-color:rgba(148,163,184,.12);
    box-shadow:0 12px 28px rgba(0,0,0,.18);
  }

  .epno{
    width:max-content;
    max-width:100%;
    padding:5px 8px;
    border-radius:var(--r-pill);
    border:1px solid rgba(125,211,252,.22);
    background:rgba(14,165,233,.10);
    color:#dff7ff;
    font-size:var(--fs-2xs);
    letter-spacing:.04em;
  }

  .episode b{
    display:block;
    margin-top:2px;
    font-size:var(--fs-md);
    line-height:1.25;
    color:#f8fafc;
  }

  .episode p{
    margin-top:6px;
    font-size:var(--fs-sm);
    line-height:1.45;
    color:#cbd5e1;
  }

  .episode > .muted{
    font-size:var(--fs-xs);
    color:#9aa7ba;
  }

  .episode-technical-details{
    margin-top:9px;
    border-radius:var(--r-md);
    border:1px solid rgba(148,163,184,.12);
    background:rgba(2,6,23,.24);
    overflow:hidden;
  }

  .episode-technical-details summary{
    padding:10px 11px;
    list-style:none;
    font-size:var(--fs-xs);
    font-weight:var(--fw-heavy);
    color:#bfdbfe;
  }

  .episode-technical-details summary::-webkit-details-marker{
    display:none;
  }

  .episode-technical-details summary:after{
    content:"Show";
    float:right;
    color:var(--muted);
    font-size:var(--fs-micro);
    border:1px solid rgba(148,163,184,.16);
    border-radius:var(--r-pill);
    padding:3px 7px;
    background:rgba(15,23,42,.42);
  }

  .episode-technical-details[open] summary:after{
    content:"Hide";
  }

  .episode-detail-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:7px;
    padding:0 10px 10px;
    margin-top:0;
  }

  .episode-detail-grid div{
    padding:8px;
    border-radius:var(--r-sm);
    background:rgba(15,23,42,.34);
  }

  .episode-detail-grid b{
    font-size:var(--fs-micro);
  }

  .episode-detail-grid span{
    font-size:var(--fs-2xs);
  }
}

@media(max-width:520px){
  .season-card{
    flex-basis:144px;
  }

  .episode{
    padding:12px;
    border-radius:var(--r-md);
  }

  .episode-detail-grid{
    grid-template-columns:1fr 1fr;
  }
}
/* ===== end mobile/tablet premium TV season and episode cards ===== */


/* ===== fix mobile TV season horizontal scroll ===== */
@media(max-width:950px){
  .season-layout,
  .season-layout aside,
  .season-layout section{
    min-width:0;
    width:100%;
  }

  .season-layout aside{
    overflow:hidden;
  }

  .season-list{
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:nowrap !important;
    grid-template-columns:none !important;
    width:100%;
    max-width:100%;
    max-height:none !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-x:contain;
    padding:2px 2px 10px !important;
    scrollbar-width:thin;
  }

  .season-card{
    flex:0 0 156px !important;
    width:156px;
    max-width:156px;
  }
}

@media(max-width:520px){
  .season-card{
    flex-basis:144px !important;
    width:144px;
    max-width:144px;
  }
}
/* ===== end fix mobile TV season horizontal scroll ===== */









/* ===== mobile/tablet browse UX polish ===== */
@media(max-width:950px){
  /* On mobile/tablet the list is a launch list, not a desktop split-pane selection. */
  .list .item.active{
    background:rgba(2,6,23,.26) !important;
    border-color:transparent !important;
    box-shadow:none !important;
    transform:none !important;
  }

  .list .item.active:after{
    display:none !important;
  }

  .list .item.active .item-title{
    color:var(--text) !important;
  }

  .list .item.active .thumb{
    transform:none !important;
    filter:none !important;
    border-color:rgba(255,255,255,.12) !important;
    box-shadow:0 10px 18px rgba(0,0,0,.26) !important;
  }

  .list .item:active{
    transform:scale(.992) !important;
    background:rgba(125,211,252,.12) !important;
    border-color:rgba(125,211,252,.22) !important;
  }

  .mobile-back-label{
    width:auto !important;
    height:auto !important;
    min-height:42px !important;
    padding:8px 12px 8px 8px !important;
    margin:0 0 12px 0 !important;
    border-radius:var(--r-pill) !important;
    display:inline-flex !important;
    align-items:center !important;
    gap:8px !important;
    font-weight:var(--fw-heavy) !important;
  }

  .mobile-back-label .icon{
    width:28px !important;
    height:28px !important;
    border-radius:var(--r-sm) !important;
  }

  .mobile-back-label span{
    display:inline !important;
    font-size:var(--fs-sm) !important;
  }
}

@media(min-width:951px){
  .mobile-back-label span{
    display:none;
  }
}
/* ===== end mobile/tablet browse UX polish ===== */














/* v28.8.5 mobile movie search polish */
@media(max-width:620px){
  .searchbar.searchbar-with-filters{
    grid-template-columns:minmax(0,1fr) 48px 86px !important;
    gap:8px !important;
    align-items:start !important;
  }

  .searchbar-with-filters input[data-movie-live-search]{
    min-height:48px !important;
    border-radius:var(--r-md) !important;
    font-size:var(--fs-md) !important;
  }

  .searchbar-with-filters .search-btn{
    width:48px !important;
    min-width:48px !important;
    max-width:48px !important;
    min-height:48px !important;
    border-radius:var(--r-md) !important;
  }

  .searchbar-with-filters .filter-toggle-btn{
    min-height:48px !important;
    padding-left:10px !important;
    padding-right:10px !important;
    border-radius:var(--r-md) !important;
    font-size:var(--fs-sm) !important;
  }

  .movie-live-search-panel{
    width:calc(100vw - 32px) !important;
    max-height:66vh !important;
    left:0 !important;
    right:auto !important;
    padding:10px !important;
    border-radius:var(--r-lg) !important;
    box-shadow:0 26px 70px rgba(0,0,0,.62) !important;
  }

  .movie-live-search-result{
    grid-template-columns:58px minmax(0,1fr) !important;
    gap:12px !important;
    min-height:92px !important;
    padding:10px !important;
    border-radius:var(--r-md) !important;
  }

  .movie-live-search-thumb{
    width:58px !important;
    height:84px !important;
    border-radius:var(--r-sm) !important;
  }

  .movie-live-search-title{
    font-size:var(--fs-md) !important;
    line-height:1.2 !important;
    white-space:normal !important;
    display:-webkit-box !important;
    -webkit-line-clamp:2 !important;
    -webkit-box-orient:vertical !important;
  }

  .movie-live-search-meta{
    margin-top:5px !important;
    font-size:var(--fs-xs) !important;
    line-height:1.35 !important;
    white-space:normal !important;
    display:-webkit-box !important;
    -webkit-line-clamp:2 !important;
    -webkit-box-orient:vertical !important;
  }

  .movie-live-search-state{
    padding:15px 14px !important;
    text-align:center !important;
    border-radius:var(--r-md) !important;
    background:rgba(2,6,23,.34) !important;
    color:#cbd5e1 !important;
    font-weight:var(--fw-heavy) !important;
  }
}

/* v28.8.6 Admin mobile cleanup */

/* v28.8.7 narrow Admin overflow fix */
@media(max-width:430px){
  html,
  body{
    max-width:100% !important;
    overflow-x:hidden !important;
  }

  body:has(.admin-console-tabs) main.shell,
  body:has(.admin-section-grid) main.shell{
    width:100% !important;
    max-width:100vw !important;
    padding-left:10px !important;
    padding-right:10px !important;
    box-sizing:border-box !important;
    overflow-x:hidden !important;
  }

  body:has(.admin-console-tabs) main.shell > nav.admin-console-tabs,
  body:has(.admin-console-tabs) main.shell > .admin-console-tabs{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    gap:8px !important;
    overflow:visible !important;
  }

  body:has(.admin-console-tabs) main.shell > nav.admin-console-tabs > a,
  body:has(.admin-console-tabs) main.shell > .admin-console-tabs > a{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    justify-content:center !important;
    text-align:center !important;
    white-space:normal !important;
    line-height:1.15 !important;
    padding:11px 8px !important;
    overflow-wrap:anywhere !important;
  }

  body:has(.admin-section-grid) .admin-action-strip,
  body:has(.admin-section-grid) .admin-next-actions,
  body:has(.admin-section-grid) .admin-section-grid,
  body:has(.admin-section-grid) .admin-dashboard-grid,
  body:has(.admin-section-grid) .admin-attention-row,
  body:has(.admin-section-grid) .settings-hero-actions{
    grid-template-columns:1fr !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
  }

  body:has(.admin-section-grid) .panel,
  body:has(.admin-section-grid) .settings-hero,
  body:has(.admin-section-grid) .admin-next-main,
  body:has(.admin-section-grid) .admin-next-side,
  body:has(.admin-section-grid) .admin-section-card,
  body:has(.admin-section-grid) .admin-attention-row,
  body:has(.admin-section-grid) .admin-home-action{
    max-width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
    overflow-wrap:anywhere !important;
  }

  body:has(.admin-section-grid) .btn,
  body:has(.admin-section-grid) button{
    max-width:100% !important;
    min-width:0 !important;
    white-space:normal !important;
  }

  body:has(.admin-section-grid) .admin-home-action,
  body:has(.admin-section-grid) .admin-attention-row .btn,
  body:has(.admin-section-grid) .admin-section-card .btn,
  body:has(.admin-section-grid) .settings-hero-actions .btn{
    width:100% !important;
  }

  body:has(.admin-section-grid) .admin-count-pill,
  body:has(.admin-section-grid) .count-pill{
    max-width:100% !important;
    min-width:0 !important;
    justify-content:flex-start !important;
    overflow-wrap:anywhere !important;
  }
}

@media(max-width:360px){
  body:has(.admin-console-tabs) main.shell > nav.admin-console-tabs,
  body:has(.admin-console-tabs) main.shell > .admin-console-tabs{
    grid-template-columns:1fr !important;
  }
}

@media(max-width:760px){
  body:has(.admin-console-tabs){
    overflow-x:hidden;
  }

  body:has(.admin-console-tabs) main.shell{
    width:100%;
    max-width:100vw;
    padding-left:12px;
    padding-right:12px;
    box-sizing:border-box;
  }

  main.shell > nav.admin-console-tabs,
  main.shell > .admin-console-tabs{
    display:flex;
    flex-wrap:nowrap;
    gap:8px;
    overflow-x:auto;
    overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:thin;
    margin:0 -12px 12px;
    padding:2px 12px 8px;
    max-width:calc(100vw + 24px);
  }

  main.shell > nav.admin-console-tabs > a,
  main.shell > .admin-console-tabs > a{
    flex:0 0 auto;
    width:auto;
    min-width:118px;
    max-width:none;
    min-height:44px;
    height:44px;
    max-height:none;
    padding:0 14px;
    white-space:nowrap;
    scroll-snap-align:start;
  }

  .admin-section-subnav{
    display:flex;
    flex-wrap:nowrap;
    overflow-x:auto;
    overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch;
    gap:8px;
    margin:0 -12px 12px;
    padding:8px 12px;
    border-left:0;
    border-right:0;
    border-radius:0;
    max-width:calc(100vw + 24px);
  }

  .admin-section-subnav a{
    flex:0 0 auto;
    width:auto;
    min-width:104px;
    min-height:42px;
    padding:0 12px;
  }

  main.shell > .admin-console-tabs + .settings-hero,
  main.shell > .admin-console-tabs ~ .settings-hero:first-of-type,
  main.shell > .admin-standard-hero{
    display:block;
    padding:14px !important;
    margin-bottom:10px;
    border-radius:var(--r-md);
  }

  main.shell > .admin-console-tabs + .settings-hero h1,
  main.shell > .admin-console-tabs ~ .settings-hero:first-of-type h1,
  main.shell > .admin-standard-hero h1{
    font-size:var(--fs-xl);
    line-height:1.12;
  }

  main.shell > .admin-console-tabs + .settings-hero .settings-hero-actions,
  main.shell > .admin-console-tabs ~ .settings-hero:first-of-type .settings-hero-actions,
  main.shell > .admin-standard-hero .settings-hero-actions{
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
    margin-top:10px;
    width:100%;
  }

  body:has(.admin-console-tabs) main.shell .toolbar,
  body:has(.admin-console-tabs) main.shell .settings-hero-actions,
  body:has(.admin-console-tabs) main.shell .admin-action-strip{
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
  }

  body:has(.admin-console-tabs) main.shell .btn,
  body:has(.admin-console-tabs) main.shell button.primary,
  body:has(.admin-console-tabs) main.shell .primary{
    width:100%;
    min-height:44px;
    box-sizing:border-box;
  }

  .admin-next-actions,
  .admin-section-grid,
  .admin-dashboard-grid,
  .admin-clean-grid,
  .admin-action-grid,
  .admin-compact-grid,
  .mini-grid,
  .dashboard-grid,
  .library-grid,
  .maintenance-dashboard,
  .users-layout{
    grid-template-columns:1fr !important;
    gap:10px;
  }

  .admin-next-item,
  .admin-attention-row,
  .library-source-row,
  .maintenance-action-row,
  .user-account-row{
    grid-template-columns:1fr !important;
    gap:8px;
  }

  .admin-section-card,
  .admin-compact-card,
  .admin-card,
  .settings-card,
  .maintenance-card,
  .library-card,
  .users-panel{
    border-radius:var(--r-md);
    padding:14px !important;
    min-width:0;
  }

  .admin-summary-row,
  .maintenance-summary-row,
  .library-status-row,
  .users-mini-row{
    align-items:flex-start;
    gap:8px;
  }

  .admin-summary-row b,
  .maintenance-summary-row b,
  .library-status-row b,
  .users-mini-row b{
    max-width:58%;
    overflow-wrap:anywhere;
  }

  .admin-advanced-wrap{
    margin-top:12px;
  }

  .admin-advanced-wrap > summary{
    padding:12px 14px;
  }
}


/* v28.9.0 TV season selection fix */
.season-layout .episode-pane{
  display:none;
}
.season-layout .episode-pane.active{
  display:grid;
}

/* v28.8.9 Admin tabs CSS render fix */
@media(max-width:700px){
  html,
  body{
    max-width:100%;
    overflow-x:hidden;
  }

  body:has(.admin-console-tabs) main.shell{
    width:100% !important;
    max-width:100vw !important;
    overflow-x:hidden !important;
    box-sizing:border-box !important;
  }

  body:has(.admin-console-tabs) main.shell > nav.admin-console-tabs,
  body:has(.admin-console-tabs) main.shell > .admin-console-tabs,
  main.shell > nav.admin-console-tabs,
  main.shell > .admin-console-tabs{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:8px !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin:0 0 12px !important;
    padding:0 !important;
    overflow:visible !important;
    box-sizing:border-box !important;
  }

  body:has(.admin-console-tabs) main.shell > nav.admin-console-tabs > a,
  body:has(.admin-console-tabs) main.shell > .admin-console-tabs > a,
  main.shell > nav.admin-console-tabs > a,
  main.shell > .admin-console-tabs > a{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    min-height:44px !important;
    height:auto !important;
    max-height:none !important;
    padding:10px 8px !important;
    box-sizing:border-box !important;
    justify-content:center !important;
    text-align:center !important;
    white-space:normal !important;
    overflow-wrap:anywhere !important;
    word-break:normal !important;
    line-height:1.15 !important;
  }

  body:has(.admin-console-tabs) .admin-action-strip,
  body:has(.admin-console-tabs) .admin-next-actions,
  body:has(.admin-console-tabs) .admin-section-grid,
  body:has(.admin-console-tabs) .admin-dashboard-grid,
  body:has(.admin-console-tabs) .admin-attention-row,
  body:has(.admin-console-tabs) .settings-hero-actions{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    grid-template-columns:1fr !important;
    box-sizing:border-box !important;
  }

  body:has(.admin-console-tabs) .admin-home-action,
  body:has(.admin-console-tabs) .admin-attention-row,
  body:has(.admin-console-tabs) .admin-section-card,
  body:has(.admin-console-tabs) .admin-next-main,
  body:has(.admin-console-tabs) .admin-next-side,
  body:has(.admin-console-tabs) .settings-hero,
  body:has(.admin-console-tabs) .panel{
    max-width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
    overflow-wrap:anywhere !important;
  }

  body:has(.admin-console-tabs) .admin-home-action,
  body:has(.admin-console-tabs) .admin-section-card .btn,
  body:has(.admin-console-tabs) .admin-attention-row .btn,
  body:has(.admin-console-tabs) .settings-hero-actions .btn{
    width:100% !important;
    max-width:100% !important;
    white-space:normal !important;
  }
}

@media(max-width:380px){
  body:has(.admin-console-tabs) main.shell > nav.admin-console-tabs,
  body:has(.admin-console-tabs) main.shell > .admin-console-tabs,
  main.shell > nav.admin-console-tabs,
  main.shell > .admin-console-tabs{
    grid-template-columns:1fr !important;
  }
}

/* ===== v28.7.91 forced movie live search UI polish ===== */
.searchbar.searchbar-with-filters{
  grid-template-columns:minmax(0,1fr) 46px 92px !important;
  align-items:start !important;
}

.movie-live-search-wrap{
  position:relative !important;
  min-width:0 !important;
  width:100% !important;
}

.searchbar-with-filters .movie-live-search-wrap input,
.searchbar-with-filters input[data-movie-live-search]{
  width:100% !important;
}

.searchbar-with-filters .search-btn{
  width:46px !important;
  min-width:46px !important;
  max-width:46px !important;
  padding:10px !important;
  border-radius:var(--r-sm) !important;
  opacity:.78 !important;
  box-shadow:none !important;
  background:rgba(15,23,42,.52) !important;
}

.searchbar-with-filters .search-btn:hover{
  opacity:1 !important;
  background:rgba(14,165,233,.18) !important;
}

.searchbar-with-filters .search-btn-text{
  display:none !important;
}

.searchbar-with-filters .search-btn-icon{
  margin:0 !important;
  font-size:var(--fs-lg) !important;
}

.movie-live-search-panel{
  z-index:100 !important;
  left:0 !important;
  right:auto !important;
  width:min(820px,calc(100vw - 36px)) !important;
  max-height:min(78vh,720px) !important;
  border-radius:var(--r-lg) !important;
  padding:12px !important;
  box-shadow:0 30px 80px rgba(0,0,0,.58) !important;
}

.movie-live-search-result{
  grid-template-columns:68px minmax(0,1fr) !important;
  gap:15px !important;
  padding:13px !important;
  border-radius:var(--r-md) !important;
  min-height:98px !important;
}

.movie-live-search-thumb{
  width:68px !important;
  height:98px !important;
  border-radius:var(--r-md) !important;
  box-shadow:0 12px 22px rgba(0,0,0,.28) !important;
}

.movie-live-search-title{
  font-size:var(--fs-md) !important;
  font-weight:var(--fw-heavy) !important;
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
}

.movie-live-search-meta{
  font-size:var(--fs-sm) !important;
  margin-top:6px !important;
}

@media(max-width:620px){
  .searchbar.searchbar-with-filters{
    grid-template-columns:minmax(0,1fr) 44px 82px !important;
  }

  .movie-live-search-panel{
    width:calc(100vw - 24px) !important;
    max-height:72vh !important;
  }

  .movie-live-search-result{
    grid-template-columns:56px minmax(0,1fr) !important;
    min-height:84px !important;
  }

  .movie-live-search-thumb{
    width:56px !important;
    height:82px !important;
  }
}
/* ===== end v28.7.91 forced movie live search UI polish ===== */

