/* PROTECTED UI AREAS — Movies, TV, Music, YouTube, Pictures, Adult, Music Videos, Concerts, Audiobooks, and Comics are confirmed working.
   Do not edit their selectors or shared rules without Mike's explicit approval. See /PROTECTED_AREAS.md. */

/* v0.0.0 — approved v0.0.808 visual shell match. */
:root{--header-h:64px;--page-side-padding:42px}
html,body{background:#050b13}
body{background:#050b13;color:rgba(255,255,255,.94)}
.app-bg{position:fixed;inset:0;z-index:0;background-image:linear-gradient(90deg,rgba(0,0,0,.42),rgba(0,0,0,.08),rgba(0,0,0,.58)),url('/assets/shell-backdrop-vertical.webp');background-size:cover;background-position:center;filter:saturate(1.05)}
.app-bg:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 22%,rgba(48,134,213,.25),transparent 32%),rgba(0,0,0,.22)}
.topbar{height:var(--header-h);position:fixed;top:0;left:0;right:0;z-index:25;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 18px;background:linear-gradient(90deg,rgba(0,0,0,.76),rgba(0,18,18,.56) 52%,rgba(0,0,0,.72)),url('/assets/metal-header.png') center/cover no-repeat,rgba(0,0,0,.72);border-bottom:1px solid rgba(57,255,20,.10);box-shadow:inset 0 -1px 0 rgba(255,255,255,.04),0 10px 24px rgba(0,0,0,.28);backdrop-filter:blur(18px)}
.header-logo{height:38px;max-width:280px}
.topbar-side{gap:14px}
.topbar-button{width:43px;height:43px;padding:0;border:0;border-radius:0;background:transparent;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:none;outline:none}
.topbar-button:hover,.topbar-button:focus-visible,.topbar-button:active{background:transparent;border:0;border-radius:0;box-shadow:none;outline:none;opacity:.86}
.topbar-button img{width:41px;height:41px;object-fit:contain;display:block;filter:none;pointer-events:none}
#menuButton{width:56px;height:56px}
#menuButton img{width:56px;height:56px}
#menuButton:hover,#menuButton:focus-visible,#menuButton:active{opacity:1}
#menuButton:hover img,#menuButton:focus-visible img,#menuButton:active img{content:url('/assets/icon-menu-pressed.webp')}
.topbar-right [data-page="search"]:hover img,.topbar-right [data-page="search"]:focus-visible img,.topbar-right [data-page="search"]:active img{content:url('/assets/icon-search-selected.webp')}
main{position:relative;z-index:1;padding:calc(var(--header-h) + 42px) var(--page-side-padding) 72px}
aside{top:0;width:320px;padding-top:var(--header-h);background-image:linear-gradient(180deg,rgba(2,5,10,.70),rgba(2,5,10,.88)),url('/assets/blue-drawer-image.webp');background-position:center,center;background-size:cover,cover;background-repeat:no-repeat;background-color:#07121f;border-right:1px solid rgba(57,255,20,.12);box-shadow:24px 0 48px rgba(0,0,0,.45),inset -1px 0 0 rgba(255,255,255,.035)}
.drawer-art{display:none}
.drawer-footer{background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.4));border-top:1px solid rgba(57,255,20,.10)}
.hero + .master-libraries{margin-top:42px}
@media(max-width:700px){:root{--page-side-padding:18px}.app-bg{background-image:linear-gradient(180deg,rgba(0,0,0,.18),rgba(0,0,0,.52)),url('/assets/shell-backdrop-vertical.webp')}main{padding-top:calc(var(--header-h) + 24px)}.header-logo{height:34px}.topbar{padding:0 12px}.topbar-side{gap:7px}.topbar-button{width:39px;height:39px}.topbar-button img{width:37px;height:37px}#menuButton{width:49px;height:49px}#menuButton img{width:49px;height:49px}}

:root{color-scheme:dark;--cyan:#25c8ff;--cyan-soft:#83e4ff;--panel:#0e151b;--panel-2:#121c24;--line:#283b48;--muted:#8fa6b5;--header-h:82px}*{box-sizing:border-box}html{background:#03070a}body{margin:0;min-height:100vh;color:#f4f8fb;font-family:Arial,Helvetica,sans-serif;background:radial-gradient(circle at 68% -10%,#17364a 0,#08131c 38%,#03070a 74%);overflow-x:hidden}.topbar{height:var(--header-h);position:sticky;top:0;z-index:25;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 25px;background:#080c10 url('/assets/metal-header.png') center/cover;border-bottom:1px solid #3b4d59;box-shadow:0 4px 16px #000b}.topbar-side{display:flex;align-items:center;gap:12px}.topbar-right{justify-content:flex-end}.header-logo{height:47px;max-width:310px}.topbar-button{width:50px;height:50px;border:0;background:transparent;display:grid;place-items:center;cursor:pointer;border-radius:8px}.topbar-button:hover{background:#12212b}.topbar-button img{width:30px;height:30px;object-fit:contain}.back-button{visibility:hidden}.back-button.show{visibility:visible}aside{position:fixed;z-index:40;left:0;top:0;bottom:0;width:305px;display:flex;flex-direction:column;transform:translateX(-103%);transition:transform .2s ease;background:#080d11 url('/assets/metal-drawer.png') center/cover;border-right:1px solid #526672;box-shadow:18px 0 46px #000c}aside.open{transform:none}.drawer-art{height:210px;flex:0 0 auto;background:url('/assets/ninja-drawer-city.webp') center bottom/cover no-repeat;border-bottom:1px solid #263a46}nav{padding:12px 14px;display:grid;gap:5px;overflow:auto}.nav-button{width:100%;min-height:51px;display:flex;align-items:center;gap:15px;padding:10px 14px;border:1px solid transparent;border-radius:5px;background:transparent;color:#edf6fb;font-size:17px;text-align:left;cursor:pointer}.nav-button:hover,.nav-button.active{background:linear-gradient(90deg,#16394b,#10232e);border-color:#287b9c;color:#70dbff}.nav-button img{width:28px;height:28px;object-fit:contain}.drawer-footer{margin-top:auto;padding:18px 20px 22px;border-top:1px solid #253945;color:#dcecf4}.drawer-footer img{width:190px;display:block;margin-bottom:8px}.drawer-footer span,.drawer-footer small{display:block;color:#91a8b7;margin-top:3px}.drawer-footer small{font-size:12px}#shade{display:none;position:fixed;inset:0;z-index:35;background:#000b}#shade.show{display:block}main{width:100%;padding:26px clamp(24px,3.4vw,58px) 90px}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:0 0 22px}.page-title{font-size:clamp(31px,3.5vw,48px);line-height:1;margin:0;text-shadow:0 2px 12px #000}.page-subtitle{margin:8px 0 0;color:var(--muted);font-size:16px}.master-libraries{display:grid;grid-template-columns:repeat(6,minmax(150px,1fr));gap:18px;margin:0 0 26px}.master-card{position:relative;min-height:118px;padding:20px;border:1px solid #2e4655;border-radius:10px;overflow:hidden;background:linear-gradient(145deg,#142632,#0b1117);box-shadow:0 12px 28px #0007;cursor:pointer;color:white;text-align:left}.master-card:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,#26c8ff12);pointer-events:none}.master-card:hover,.master-card.active{border-color:#36c9f7;box-shadow:0 0 0 1px #35c9f766,0 16px 34px #0009}.master-card img{width:34px;height:34px;object-fit:contain;margin-bottom:13px}.master-card strong{display:block;font-size:19px}.master-card small{display:block;color:#8fa6b5;margin-top:5px}.hero{position:relative;min-height:330px;border:1px solid #314a59;border-radius:11px;overflow:hidden;background:linear-gradient(90deg,#071018 0%,#0a1722e8 46%,#0b172299 70%,#0b172244 100%),url('/assets/ninja-default-blank-card.webp') 87% center/contain no-repeat;box-shadow:0 20px 55px #0009}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#050a0eaa,transparent 45%);pointer-events:none}.hero-copy{position:relative;z-index:2;width:min(580px,72%);padding:55px 48px}.hero-kicker{color:#5fd8ff;text-transform:uppercase;letter-spacing:2px;font-size:12px;font-weight:bold}.hero h2{font-size:clamp(31px,4vw,55px);line-height:1.02;margin:11px 0 12px}.hero p{max-width:560px;color:#c0d0d8;line-height:1.55}.hero-meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.meta-chip{padding:7px 11px;border:1px solid #34505f;border-radius:5px;background:#0c171ecc;color:#b5cad4;font-size:13px}.section{margin-top:34px}.section-heading{height:42px;display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.section-heading h3{font-size:22px;margin:0}.row-wrap{position:relative;padding:0 58px}.poster-row{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(135px,1fr);gap:16px;overflow:hidden}.poster-card{min-width:0}.poster-art{aspect-ratio:2/3;border:1px solid #263a47;border-radius:8px;background:linear-gradient(145deg,#17252f,#0b1015);box-shadow:0 10px 24px #0008;overflow:hidden;position:relative}.poster-art:after{content:"NINJA MEDIA";position:absolute;left:0;right:0;bottom:18%;text-align:center;color:#657985;font-size:12px;letter-spacing:1px}.poster-title{font-size:14px;margin-top:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.poster-meta{font-size:12px;color:#8196a4;margin-top:4px}.row-arrow{position:absolute;top:calc(50% - 31px);width:44px;height:62px;border:0;background:transparent center/contain no-repeat;cursor:pointer;opacity:.88}.row-arrow.left{left:3px;background-image:url('/assets/ui-arrow-left-big.webp')}.row-arrow.right{right:3px;background-image:url('/assets/ui-arrow-right-big.webp')}.row-arrow:hover{opacity:1;filter:drop-shadow(0 0 8px #28c7ff)}.category-bar{display:flex;gap:10px;flex-wrap:wrap;padding-bottom:3px}.pill{border:1px solid #34505f;background:linear-gradient(#14212a,#0d151b);color:#b9cbd4;padding:9px 17px;border-radius:5px;font-size:14px}.pill.active{border-color:#31c6f5;color:white;box-shadow:inset 0 0 14px #1bbcf333}.main-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:18px 16px}.setup-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}.setup-card{padding:22px;border:1px solid #2b414e;border-radius:9px;background:linear-gradient(145deg,#111c24,#0b1116);box-shadow:0 12px 26px #0006}.setup-card h3{text-transform:capitalize;margin:0 0 8px}.setup-card p,.setup-card small{color:#8fa6b5}.status{color:#57d8ff!important}.search-box{display:flex;gap:10px;max-width:850px}.search-box input{flex:1;padding:16px 18px;border-radius:6px;border:1px solid #395463;background:#0b141a;color:#fff;font-size:18px}.primary{padding:0 26px;border-radius:6px;border:1px solid #3fcaf5;background:linear-gradient(#1687aa,#0e617b);color:#fff;font-weight:bold}.search-results{margin-top:26px;min-height:300px;border:1px solid #263945;border-radius:8px;background:#081016aa;display:grid;place-items:center;color:#78909e}@media(max-width:1250px){.master-libraries{grid-template-columns:repeat(3,1fr)}.main-grid{grid-template-columns:repeat(6,1fr)}.poster-row{grid-auto-columns:minmax(145px,1fr)}}@media(max-width:850px){:root{--header-h:68px}.topbar{padding:0 13px}.header-logo{height:37px}.topbar-button{width:44px;height:44px}.master-libraries{grid-template-columns:repeat(2,1fr)}.hero{min-height:280px}.hero-copy{padding:36px 28px;width:86%}.row-wrap{padding:0}.row-arrow{display:none}.poster-row{grid-auto-columns:calc(50% - 8px);overflow-x:auto}.main-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:520px){main{padding:20px 14px 65px}.topbar-right .topbar-button:last-child{display:none}.header-logo{height:31px;max-width:190px}.master-libraries{gap:10px}.master-card{min-height:100px;padding:15px}.main-grid{grid-template-columns:repeat(2,1fr)}aside{width:86vw}.hero-copy{width:100%;padding:30px 22px}.hero h2{font-size:34px}}

/* Approved Ninja Media visual spacing: Hero is separate from the library cards. */
.hero + .master-libraries{margin-top:34px}

/* v0.0.0 — exact flat Ninja Media header structure from approved reference. */
:root{--header-h:64px}
.topbar{
  height:var(--header-h)!important;
  position:fixed!important;
  inset:0 0 auto 0!important;
  z-index:30!important;
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
  padding:0 18px!important;
  background:
    linear-gradient(90deg,rgba(0,0,0,.76),rgba(0,18,18,.56) 52%,rgba(0,0,0,.72)),
    url('/assets/metal-header.png') center/cover no-repeat,
    rgba(0,0,0,.72)!important;
  border-bottom:1px solid rgba(57,255,20,.10)!important;
  box-shadow:inset 0 -1px 0 rgba(255,255,255,.04),0 10px 24px rgba(0,0,0,.28)!important;
}
.topbar-plain-button{
  width:43px;height:43px;flex:0 0 43px;padding:0;margin:0;border:0!important;border-radius:0!important;
  background:transparent!important;box-shadow:none!important;outline:none!important;
  display:inline-flex;align-items:center;justify-content:center;cursor:pointer;
}
.topbar-plain-button img{width:41px;height:41px;display:block;object-fit:contain;filter:none!important;transform:none!important}
.topbar-plain-button:hover,.topbar-plain-button:focus-visible,.topbar-plain-button:active{background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;outline:none!important}
.menu-button{width:56px;height:56px;flex-basis:56px}
.menu-button img{width:56px;height:56px}
.menu-button:hover img,.menu-button:focus-visible img,.menu-button:active img{content:url('/assets/icon-menu-pressed.webp')}
.back-button{display:none}
.back-button.show{display:inline-flex}
.header-brand{display:flex;align-items:center;gap:18px;min-width:0;white-space:nowrap}
.header-logo{width:clamp(132px,10.8vw,172px)!important;height:42px!important;max-width:none!important;object-fit:contain;display:block}
.header-section-title{font-size:22px;line-height:1;font-weight:700;letter-spacing:.2px;color:#f4f8fb;text-shadow:0 1px 5px rgba(0,0,0,.75)}
.topbar-spacer{flex:1 1 auto;min-width:18px}
.header-avatar{width:52px;height:52px;flex:0 0 52px;padding:0;border:1px solid rgba(255,255,255,.16);border-radius:50%;overflow:hidden;background:rgba(255,255,255,.04);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.header-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.header-avatar:hover,.header-avatar:focus-visible{outline:none;border-color:rgba(255,204,0,.72);box-shadow:0 0 0 3px rgba(255,204,0,.14)}
#fullscreenButton img{width:39px;height:39px}
#requestsButton img{width:41px;height:41px}
#dojoButton img{width:43px;height:43px}
main{padding-top:calc(var(--header-h) + 42px)!important}
@media(max-width:850px){
  .topbar{gap:7px!important;padding:0 8px!important}
  .topbar-plain-button{width:38px;height:38px;flex-basis:38px}
  .topbar-plain-button img{width:36px;height:36px}
  .menu-button{width:46px;height:46px;flex-basis:46px}.menu-button img{width:46px;height:46px}
  .header-logo{width:46px!important;height:42px!important;content:url('/assets/ninja-media-icon.webp')}
  .header-brand{gap:8px}.header-section-title{font-size:18px}
  .header-avatar{width:42px;height:42px;flex-basis:42px}
  #dojoButton,#requestsButton{display:none}
}
@media(max-width:560px){
  .header-section-title{display:none}
  #fullscreenButton{display:none}
  .topbar-spacer{min-width:0}
}


/* v0.0.0 Movies Details page — UI-only layout. */
.poster-card.clickable{cursor:pointer}.poster-card.clickable:hover .poster-art{border-color:#36c9f7;box-shadow:0 0 0 1px #35c9f766,0 14px 30px #000}
.movie-detail-page{margin:calc((var(--header-h) + 42px)*-1) calc(var(--page-side-padding)*-1) -72px;min-height:100vh;background:#0b0b0b;color:#eee}
.movie-detail-hero{height:245px;position:relative;overflow:hidden;background:#232323}
.movie-detail-backdrop{position:absolute;inset:0;background:linear-gradient(90deg,#222 0 31%,transparent 55%),linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.48)),radial-gradient(circle at 47% 35%,#3b3b3b 0 16%,transparent 37%),radial-gradient(circle at 65% 30%,#262626 0 20%,transparent 43%),#242424;filter:contrast(1.08)}
.movie-detail-backdrop:before,.movie-detail-backdrop:after{content:"";position:absolute;top:-65px;width:330px;height:430px;border-radius:45% 45% 30% 30%;background:linear-gradient(120deg,#111,#3a3a3a 42%,#0d0d0d);opacity:.72}.movie-detail-backdrop:before{left:33%;transform:rotate(-8deg)}.movie-detail-backdrop:after{left:55%;transform:rotate(8deg)}
.movie-detail-logo{position:absolute;left:61%;top:48px;transform:skew(-10deg);font-size:54px;line-height:.72;font-weight:1000;font-style:italic;letter-spacing:-5px;color:#dfeaf0;text-shadow:0 3px 0 #226b8a,0 7px 12px #000}.movie-detail-logo span{font-size:47px;color:#b9d6e4}
.movie-summary-bar{height:83px;display:grid;grid-template-columns:480px 1fr auto;align-items:center;background:rgba(31,31,31,.98);border-bottom:1px solid #111;position:relative}
.movie-poster-column{position:relative;height:100%}.movie-detail-poster{position:absolute;left:56px;top:-66px;width:405px;height:618px;background:linear-gradient(145deg,#edf5f7 0 35%,#cfd8db 36% 44%,#0b0f12 45% 100%);border-radius:3px;box-shadow:0 5px 16px #000;overflow:hidden}.movie-detail-poster:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 33% 18%,#1d2c36 0 13%,transparent 14%),radial-gradient(circle at 68% 23%,#121b21 0 14%,transparent 15%),linear-gradient(155deg,transparent 0 42%,#10171c 43% 100%);opacity:.9}.poster-copy{position:absolute;z-index:2;left:0;right:0;top:205px;text-align:center;color:#e8f3f7;text-shadow:0 3px 0 #112733,0 4px 9px #000;transform:skew(-7deg)}.poster-copy b{display:block;font-size:48px;line-height:.82;font-style:italic}.poster-copy small{display:block;margin-top:105px;font-size:12px;letter-spacing:3px}
.movie-summary-copy{padding:0 24px}.movie-summary-copy h1{font-size:23px;margin:0 0 8px}.movie-facts{display:flex;align-items:center;gap:10px;font-size:12px;color:#d7d7d7}.rating-box{background:#555;padding:4px 7px;border-radius:2px}.star{color:#ffc107;font-size:19px}.clover{color:#1ed66f;font-size:18px}.movie-actions{display:flex;align-items:center;gap:19px;padding-right:28px}.detail-action{width:26px;height:32px;padding:0;border:0;background:transparent;border-radius:0;box-shadow:none}.detail-action img{width:20px;height:20px;filter:brightness(0) invert(1);opacity:.82}.detail-action:hover img{opacity:1}
.movie-detail-content{display:grid;grid-template-columns:480px 1fr;min-height:660px;background:#0b0b0b}.movie-poster-spacer{min-height:620px}.movie-information{padding:18px 32px 55px 24px;min-width:0}.media-options{max-width:620px;display:grid;gap:3px;margin-bottom:17px}.media-options label{display:grid;grid-template-columns:75px 1fr;align-items:center;font-size:12px}.media-options label span{color:#fff}.media-options select{height:22px;border:0;background:#333;color:#fff;padding:0 7px}.movie-information h3{font-size:14px;font-weight:400;margin:14px 0 28px}.movie-information p{font-size:12px;line-height:1.45;margin:0 0 23px;max-width:1100px}.detail-tags{font-size:11px!important}.provider-links{margin-top:-10px!important}.movie-details-list{display:grid;grid-template-columns:64px 1fr;gap:7px 16px;font-size:12px;margin:0 0 18px}.movie-details-list dt{font-weight:400}.movie-details-list dd{margin:0;font-weight:700}.detail-row-section{margin-top:18px}.detail-row-title{display:flex;align-items:center;justify-content:space-between}.detail-row-title h2{font-size:19px;font-weight:400;margin:0 0 10px}.mini-arrows{display:flex;gap:17px}.mini-arrows button{border:0;background:transparent;color:#fff;font-size:28px;line-height:1;padding:0}.mini-arrows button:first-child{opacity:.35}.cast-row,.recommend-row{display:grid;grid-auto-flow:column;grid-auto-columns:145px;gap:14px;overflow:hidden}.cast-photo{height:185px;background:linear-gradient(160deg,#7b6d5d,#1f2b32);display:grid;place-items:center;overflow:hidden;position:relative}.cast-photo:before{content:"";width:78px;height:98px;border-radius:48% 48% 42% 42%;background:linear-gradient(145deg,#d3ae91,#6c493a);position:absolute;top:24px}.cast-photo:after{content:"";width:124px;height:85px;border-radius:52% 52% 0 0;background:#222e36;position:absolute;bottom:-10px}.cast-photo span{position:relative;z-index:2;margin-top:-35px;font-size:20px;font-weight:700;color:#fff8}.cast-2{background:linear-gradient(160deg,#858585,#263039)}.cast-3{background:linear-gradient(160deg,#9a6549,#33231e)}.cast-4{background:linear-gradient(160deg,#d69b55,#24272c)}.cast-5{background:linear-gradient(160deg,#627986,#1a2024)}.cast-6{background:linear-gradient(160deg,#b9c1c0,#30393e)}.cast-7{background:linear-gradient(160deg,#d06d77,#392328)}.cast-card strong,.recommend-card strong{display:block;text-align:center;font-size:12px;font-weight:400;margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cast-card small,.recommend-card small{display:block;text-align:center;color:#9ba0a4;font-size:10px;margin-top:3px}.recommend-row{grid-auto-columns:145px}.recommend-art{height:218px;background:linear-gradient(155deg,#291b13,#9e4a22 43%,#10151c);display:flex;align-items:flex-end;padding:14px 8px;color:#fff;text-align:center;font-weight:800;font-style:italic;box-shadow:inset 0 0 0 1px #ffffff12}.recommend-2{background:linear-gradient(155deg,#eee,#111 53%,#555)}.recommend-3{background:linear-gradient(155deg,#d6e6ed,#5d8798 45%,#1b242a)}.recommend-4{background:linear-gradient(155deg,#4d4d4d,#151515 60%,#060606)}.recommend-5{background:linear-gradient(155deg,#fff,#111 50%,#222)}.recommend-6{background:linear-gradient(155deg,#d4eff7,#7bb5c8 55%,#17242c)}.recommend-7{background:linear-gradient(155deg,#dfe8ed,#7e9cad 50%,#1a2a36)}.recommend-art span{width:100%;text-shadow:0 2px 5px #000}
@media(max-width:1100px){.movie-summary-bar{grid-template-columns:330px 1fr auto}.movie-detail-content{grid-template-columns:330px 1fr}.movie-detail-poster{left:28px;width:280px;height:430px;top:-44px}.poster-copy{top:145px}.poster-copy b{font-size:33px}.poster-copy small{margin-top:70px}.movie-poster-spacer{min-height:440px}.movie-detail-logo{left:55%}.cast-row,.recommend-row{overflow-x:auto}}
@media(max-width:760px){.movie-detail-page{margin-top:calc((var(--header-h) + 24px)*-1);margin-left:-18px;margin-right:-18px}.movie-detail-hero{height:180px}.movie-detail-logo{left:48%;top:54px;font-size:36px}.movie-detail-logo span{font-size:31px}.movie-summary-bar{height:auto;grid-template-columns:130px 1fr;min-height:100px}.movie-poster-column{height:100px}.movie-detail-poster{left:14px;top:-34px;width:104px;height:156px}.poster-copy{top:52px}.poster-copy b{font-size:12px;letter-spacing:0}.poster-copy small{display:none}.movie-actions{grid-column:2;padding:0 15px 12px;gap:14px}.movie-summary-copy{padding:14px 10px 5px}.movie-summary-copy h1{font-size:19px}.movie-facts{gap:6px;flex-wrap:wrap}.movie-detail-content{display:block}.movie-poster-spacer{display:none}.movie-information{padding:25px 16px 45px}.media-options{max-width:none}.cast-row,.recommend-row{grid-auto-columns:130px}}

/* TV Details page — UI-only layout matching the supplied reference structure. */
.tv-detail-page{margin:calc((var(--header-h) + 42px)*-1) calc(var(--page-side-padding)*-1) -72px;min-height:100vh;background:#07111d;color:#eef6ff}
.tv-detail-hero{height:245px;position:relative;overflow:hidden;background:#1b2111}
.tv-detail-backdrop{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.06),rgba(0,0,0,.56)),radial-gradient(circle at 52% 35%,#3f5933 0 19%,transparent 42%),linear-gradient(120deg,#1b2613 0 34%,#304526 35% 58%,#162217 59%);opacity:.96}
.tv-detail-backdrop:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 40% 58%,#9f7a50 0 9%,transparent 10%),radial-gradient(circle at 49% 47%,#d2b580 0 8%,transparent 9%),radial-gradient(circle at 61% 55%,#8f603e 0 10%,transparent 11%),linear-gradient(10deg,transparent 0 57%,rgba(54,89,70,.55) 58% 63%,transparent 64%)}
.tv-detail-logo{position:absolute;left:61%;top:38px;transform:rotate(-2deg);font-size:58px;line-height:.73;font-weight:1000;letter-spacing:-4px;color:#2fc9ff;text-shadow:0 3px 0 #073b4e,0 7px 14px #000}.tv-detail-logo span{font-size:63px;color:#2fc9ff}
.tv-summary-bar{height:80px;display:grid;grid-template-columns:480px 1fr auto;align-items:center;background:linear-gradient(90deg,rgba(26,36,48,.98),rgba(24,31,41,.96));border-bottom:1px solid #07101a;position:relative}
.tv-poster-column{position:relative;height:100%}.tv-detail-poster{position:absolute;left:56px;top:-66px;width:405px;height:618px;background:linear-gradient(150deg,#f3ba2b 0 18%,#28a9e0 19% 33%,#f7df54 34% 47%,#ef6c2e 48% 64%,#74c5e9 65% 80%,#4ba24c 81%);border-radius:3px;box-shadow:0 6px 18px #000;overflow:hidden}.tv-detail-poster:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 32% 28%,#f6d3a4 0 10%,transparent 11%),radial-gradient(circle at 62% 42%,#f2c899 0 10%,transparent 11%),radial-gradient(circle at 44% 68%,#f4d0a4 0 12%,transparent 13%);opacity:.8}.tv-poster-copy{position:absolute;z-index:2;left:0;right:0;top:20px;text-align:center;color:#26bfff;text-shadow:0 4px 0 #052633,0 6px 9px #000}.tv-poster-copy b{display:block;font-size:55px;line-height:.8;font-weight:1000}.tv-poster-copy small{display:block;margin-top:380px;font-size:12px;letter-spacing:3px;color:#fff}
.tv-summary-copy{padding:0 24px}.tv-summary-copy h1{font-size:23px;margin:0 0 8px}.tv-facts{display:flex;gap:9px;align-items:center;font-size:12px;color:#d5dee8}.tv-actions{display:flex;align-items:center;gap:18px;padding-right:28px}
.tv-detail-content{display:grid;grid-template-columns:480px 1fr;background:#0a0d11;min-height:540px}.tv-poster-spacer{min-height:540px}.tv-information{padding:18px 34px 28px 24px;min-width:0}.tv-information p{font-size:12px;line-height:1.45;margin:0 0 20px;max-width:1120px}
.next-up-section{margin-top:12px}.next-up-section h2,.seasons-section h2,.episodes-section h2{font-size:18px;font-weight:400;margin:0 0 10px}.next-up-card{width:260px;background:#111821;border:1px solid #233245;box-shadow:0 8px 20px #0007}.next-up-thumb{height:125px;background:linear-gradient(145deg,#65888e,#1d2936 55%,#090d12);display:grid;place-items:center}.next-up-thumb span{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#f19a9a;color:#fff;font-weight:800}.next-up-card>div:last-child{padding:8px}.next-up-card strong{display:block;font-size:11px}.next-up-card small{display:block;color:#9fb0c0;font-size:10px;margin-top:4px}
.seasons-section,.episodes-section{background:linear-gradient(180deg,#0d2032,#081320);padding:14px 44px 20px}.tv-section-heading{display:flex;justify-content:space-between;align-items:center}.season-row{display:grid;grid-auto-flow:column;grid-auto-columns:165px;gap:8px;overflow-x:auto;padding-bottom:6px}.season-card{border:0;background:#11253a;color:#fff;text-align:left;padding:0 0 8px;box-shadow:none;border-radius:0}.season-card.active{outline:2px solid #42d7ff}.season-art{height:225px;background:linear-gradient(155deg,#f4b41d 0 25%,#4cc3e8 26% 52%,#f2672f 53% 76%,#74b94e 77%);display:grid;place-items:start center;padding-top:16px}.season-art span{font-size:22px;font-weight:1000;color:#36c9ff;text-shadow:0 2px 0 #003244}.season-2{background:linear-gradient(155deg,#f0b821,#4ec4e8 42%,#243f68)}.season-3{background:linear-gradient(155deg,#f4d82a,#6db8e7 45%,#e96826)}.season-4{background:linear-gradient(155deg,#ff8a2d,#f5d15a 45%,#2ca5b7)}.season-5{background:linear-gradient(155deg,#4cc2df,#f4d642 45%,#69b855)}.season-6{background:linear-gradient(155deg,#e73e3b,#762440 50%,#172b42)}.season-7{background:linear-gradient(155deg,#57c6eb,#f44c42 45%,#d4daef)}.season-8{background:linear-gradient(155deg,#ffd367,#63c9e8 47%,#e35c3d)}.season-9{background:linear-gradient(155deg,#6cd2e8,#7dbbd8 45%,#4d6a39)}.season-card strong,.season-card small{display:block;padding:0 8px}.season-card strong{font-size:11px;margin-top:7px}.season-card small{font-size:9px;color:#9eb0c0;margin-top:3px}
.episodes-section{padding-top:6px}.episode-list{display:grid;gap:2px}.episode-row{display:grid;grid-template-columns:58px 86px 1fr auto;align-items:center;min-height:74px;background:linear-gradient(90deg,#11263b,#0d1b2a);border:1px solid #19344e;padding:8px 12px;gap:12px}.episode-number{font-size:11px;font-weight:700;color:#d8e9f8}.episode-thumb{height:48px;background:linear-gradient(145deg,#f05a4b,#4f8db6);display:grid;place-items:center}.episode-thumb span{font-size:13px;font-weight:800}.episode-copy h3{font-size:13px;margin:0 0 2px}.episode-copy small{display:block;font-size:9px;color:#9db0c2;margin-bottom:4px}.episode-copy p{font-size:10px;line-height:1.3;margin:0;color:#d5dee7}.episode-actions{display:flex;gap:8px}.episode-actions .detail-action{width:28px;height:28px;border:1px solid #2e7a38;border-radius:50%;background:#0c1c11}.episode-actions .detail-action img{width:15px;height:15px;filter:brightness(0) saturate(100%) invert(76%) sepia(68%) saturate(1481%) hue-rotate(70deg) brightness(103%) contrast(104%)}
@media(max-width:1100px){.tv-summary-bar{grid-template-columns:330px 1fr auto}.tv-detail-content{grid-template-columns:330px 1fr}.tv-detail-poster{left:28px;width:280px;height:430px;top:-44px}.tv-poster-copy b{font-size:38px}.tv-poster-copy small{margin-top:250px}.tv-poster-spacer{min-height:430px}.tv-detail-logo{left:55%}.season-row{grid-auto-columns:145px}.season-art{height:198px}}
@media(max-width:760px){.tv-detail-page{margin-top:calc((var(--header-h) + 24px)*-1);margin-left:-18px;margin-right:-18px}.tv-detail-hero{height:180px}.tv-detail-logo{left:48%;top:45px;font-size:38px}.tv-detail-logo span{font-size:42px}.tv-summary-bar{height:auto;grid-template-columns:130px 1fr;min-height:100px}.tv-poster-column{height:100px}.tv-detail-poster{left:14px;top:-34px;width:104px;height:156px}.tv-poster-copy{top:8px}.tv-poster-copy b{font-size:18px}.tv-poster-copy small{display:none}.tv-actions{grid-column:2;padding:0 15px 12px;gap:13px}.tv-summary-copy{padding:14px 10px 5px}.tv-detail-content{display:block}.tv-poster-spacer{display:none}.tv-information{padding:24px 16px}.seasons-section,.episodes-section{padding-left:14px;padding-right:14px}.season-row{grid-auto-columns:130px}.season-art{height:178px}.episode-row{grid-template-columns:50px 70px 1fr}.episode-actions{grid-column:3}.episode-copy p{display:none}}

/* Music section — square album/artist layout matching the supplied reference. */
.music-page{margin:calc((var(--header-h) + 42px)*-1) calc(var(--page-side-padding)*-1) -72px;padding:14px 28px 70px;min-height:100vh;background:linear-gradient(180deg,rgba(1,7,13,.6),rgba(3,13,24,.92)),url('/assets/shell-bg-horizontal.webp') center/cover fixed;color:#fff}
.music-hero-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:72px 8px 12px;border:1px solid #27353a;border-radius:14px;background:#050706;box-shadow:0 12px 30px #0009;overflow:hidden}
.music-hero-card{position:relative;min-height:220px;border-radius:10px;overflow:hidden;background:linear-gradient(135deg,#0e1217,#28323b 46%,#080a0d)}
.music-hero-card:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 22% 42%,#b89674 0 8%,transparent 9%),radial-gradient(circle at 43% 35%,#806951 0 9%,transparent 10%),radial-gradient(circle at 68% 38%,#a6886b 0 8%,transparent 9%),linear-gradient(145deg,transparent 0 45%,rgba(0,0,0,.8) 72%)}
.music-hero-2{background:linear-gradient(135deg,#211410,#4f342b 48%,#070707)}.music-hero-3{background:linear-gradient(135deg,#1b2225,#65726e 48%,#111314)}
.music-hero-overlay{position:absolute;inset:auto 0 0;padding:52px 18px 16px;background:linear-gradient(transparent,rgba(0,0,0,.95));z-index:1}.music-hero-overlay h2{margin:0 0 4px;font-size:24px}.music-hero-overlay p,.music-hero-overlay small{display:block;margin:0 0 3px;font-size:11px;color:#e4e7e8}.music-hero-overlay button{margin-top:10px;border:1px solid #fff;border-radius:12px;background:#fff;color:#000;font-size:10px;font-weight:800;padding:5px 10px}
.music-category-tabs{display:flex;justify-content:center;gap:2px;margin:12px auto 16px;width:max-content;max-width:100%;background:#13181b;border:1px solid #20282d}.music-category-tabs button{border:0;background:transparent;color:#aeb8be;padding:8px 18px;font-size:11px}.music-category-tabs button.active{color:#fff;background:#20272c}
.music-subcategory-hero{height:210px;display:flex;align-items:flex-end;gap:18px;padding:0 18px 18px;margin:0 34px;background:radial-gradient(circle at 35% 40%,rgba(38,94,150,.45),transparent 32%),linear-gradient(120deg,#0b2138,#030a12 55%,#051222);overflow:hidden}.music-subcategory-art{width:310px;height:170px;background:linear-gradient(145deg,#0d2a4a,#103459 55%,#06101d);position:relative}.music-subcategory-art:after{content:"✦";position:absolute;right:36px;bottom:28px;font-size:78px;color:#203e61}.music-subcategory-hero h1{font-size:28px;margin:0}.music-subcategory-hero p{margin:5px 0;color:#aab8c5}
.music-row-section{margin:0 34px;background:linear-gradient(180deg,#0b2137,#06111e);padding:10px 12px 18px}.music-row-tabs{display:flex;gap:8px;margin-bottom:10px}.music-row-tabs button{border:1px solid #3a454c;border-radius:13px;background:#182129;color:#e8edf0;font-size:10px;padding:5px 11px;font-weight:800}.music-row-tabs button.active{border-color:#39ff14;color:#39ff14;background:#10221b}.music-row-wrap{display:grid;grid-template-columns:44px 1fr 44px;align-items:center}.music-album-row{display:grid;grid-auto-flow:column;grid-auto-columns:145px;gap:18px;overflow:hidden}.music-square-card{min-width:0}.music-square-art{aspect-ratio:1/1;border-radius:4px;background:linear-gradient(145deg,#d6dce2,#343d46);display:grid;place-items:end center;padding:10px;overflow:hidden;box-shadow:0 6px 16px #0008}.music-square-art span{font-size:10px;text-align:center;font-weight:800;text-shadow:0 2px 4px #000}.music-square-card strong{display:block;text-align:center;font-size:11px;margin-top:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.music-square-card small{display:block;text-align:center;color:#94a4ae;font-size:9px;margin-top:2px}.music-art-1{background:linear-gradient(145deg,#d7d4c7,#9b8b72)}.music-art-2{background:linear-gradient(145deg,#e9ecee,#c9cdd0)}.music-art-3{background:linear-gradient(145deg,#6b3e2f,#171416)}.music-art-4{background:linear-gradient(145deg,#d7d9da,#111)}.music-art-5{background:linear-gradient(145deg,#d8bf7c,#692d32)}.music-art-6{background:linear-gradient(145deg,#756e62,#26221f)}.music-art-7{background:linear-gradient(145deg,#be5d22,#3d120f)}.music-art-8{background:linear-gradient(145deg,#7a1731,#12141a)}
.music-library-section{position:relative;display:grid;grid-template-columns:1fr 28px;gap:18px;margin:0 34px;padding:18px;background:linear-gradient(180deg,#0a1d2f,#06111d)}.music-artist-grid{display:grid;grid-template-columns:repeat(7,minmax(110px,1fr));gap:18px 14px}.music-square-card.artist .music-square-art{border-radius:8px}.music-alpha-rail{position:sticky;top:calc(var(--header-h) + 12px);align-self:start;display:flex;flex-direction:column;gap:2px;background:transparent;border:0;box-shadow:none;width:auto;padding:0}.music-alpha-rail button{border:0;background:transparent;color:#fff;font-size:9px;padding:1px 0}.music-alpha-rail button.active{color:#39ff14;font-weight:800}
@media(max-width:1100px){.music-artist-grid{grid-template-columns:repeat(5,minmax(110px,1fr))}.music-album-row{grid-auto-columns:132px}.music-hero-strip{grid-template-columns:1fr 1fr}.music-hero-card:last-child{display:none}}
@media(max-width:760px){.music-page{margin-top:calc((var(--header-h) + 24px)*-1);margin-left:-18px;margin-right:-18px;padding:8px 8px 50px}.music-hero-strip{padding-top:62px;grid-template-columns:1fr}.music-hero-card{min-height:180px}.music-hero-card:nth-child(n+2){display:none}.music-category-tabs{overflow-x:auto;justify-content:flex-start;width:100%}.music-category-tabs button{padding:8px 12px;white-space:nowrap}.music-subcategory-hero,.music-row-section,.music-library-section{margin-left:0;margin-right:0}.music-subcategory-hero{height:160px}.music-subcategory-art{width:180px;height:120px}.music-row-wrap{grid-template-columns:32px 1fr 32px}.music-album-row{grid-auto-columns:120px;gap:12px}.music-artist-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.music-library-section{grid-template-columns:1fr 22px;padding:12px}}


/* Music layout correction: header tabs, subcategory card title, and row arrows. */
.music-header-tabs{display:none;align-items:stretch;justify-content:center;height:100%;margin-left:34px;white-space:nowrap}
.music-header-tabs.show{display:flex}
.music-header-tabs button{appearance:none;border:0;border-radius:0;background:transparent;color:#c7ced2;padding:0 15px;font-size:10px;line-height:var(--header-h);box-shadow:none}
.music-header-tabs button.active{background:rgba(255,255,255,.07);color:#fff}
.music-subcategory-strip{margin:12px 34px 0;min-height:165px;display:flex;align-items:flex-end;background:radial-gradient(circle at 32% 40%,rgba(38,94,150,.34),transparent 34%),linear-gradient(120deg,#0b2138,#030a12 58%,#051222);padding:0 18px 10px}
.music-subcategory-card{position:relative;width:250px;height:145px;overflow:hidden;background:linear-gradient(145deg,#0d2a4a,#103459 55%,#06101d);box-shadow:0 6px 18px #0008}
.music-subcategory-card-art{position:absolute;inset:0}
.music-subcategory-card-art:after{content:"✦";position:absolute;right:34px;bottom:26px;font-size:70px;color:#203e61}
.music-subcategory-card strong{position:absolute;left:0;right:0;bottom:0;padding:30px 12px 9px;text-align:center;font-size:22px;background:linear-gradient(transparent,rgba(0,0,0,.92))}
.music-row-section{padding:9px 8px 18px}
.music-row-wrap{grid-template-columns:52px minmax(0,1fr) 52px;gap:8px}
.music-row-center{min-width:0}
.music-row-tabs{margin:0 0 9px}
.music-row-wrap>.row-arrow{align-self:center}
@media(max-width:1180px){.music-header-tabs button{padding:0 9px;font-size:9px}.music-header-tabs{margin-left:18px}}
@media(max-width:900px){.music-header-tabs{max-width:45vw;overflow-x:auto;justify-content:flex-start}.music-header-tabs button{flex:0 0 auto}}
@media(max-width:760px){.music-header-tabs{display:none!important}.music-subcategory-strip{margin-left:0;margin-right:0;min-height:135px;padding-left:12px}.music-subcategory-card{width:190px;height:115px}.music-subcategory-card strong{font-size:18px}.music-row-wrap{grid-template-columns:34px minmax(0,1fr) 34px}}


/* Music visual correction — one continuous page background and exact Ninja quick-row arrows. */
.music-page{
  background:transparent !important;
}
.music-hero-strip,
.music-subcategory-strip,
.music-row-section,
.music-library-section{
  background:transparent !important;
  border-color:transparent !important;
  box-shadow:none !important;
}
.music-subcategory-strip{
  padding-left:18px;
  padding-right:18px;
}
.music-row-section{
  margin:0 34px;
  padding:9px 0 18px;
}
.music-row-tabs{
  margin:0 0 10px 0;
}
.music-row-wrap{
  --ninja-row-arrow-size:clamp(50px,3.4vw,66px);
  --ninja-row-arrow-gutter:clamp(72px,4.6vw,88px);
  display:grid;
  grid-template-columns:var(--ninja-row-arrow-gutter) minmax(0,1fr) var(--ninja-row-arrow-gutter);
  align-items:center;
  gap:0;
}
.music-row-arrow{
  appearance:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  justify-self:center;
  width:var(--ninja-row-arrow-size);
  height:var(--ninja-row-arrow-size);
  padding:0;
  border:0;
  border-radius:0;
  background:transparent !important;
  box-shadow:none;
  cursor:pointer;
  filter:drop-shadow(0 0 11px rgba(55,255,120,.22));
}
.music-row-arrow img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  pointer-events:none;
}
.music-row-arrow:hover,
.music-row-arrow:focus-visible{
  outline:none;
  background:transparent !important;
  filter:drop-shadow(0 0 13px rgba(55,255,120,.35)) brightness(1.08);
}
.music-library-section{
  padding-top:18px;
}
@media(max-width:760px){
  .music-row-section{margin-left:0;margin-right:0}
  .music-row-wrap{display:block}
  .music-row-arrow{display:none!important}
}


/* v0.0.0 — unified black/neon-green visual theme and Music grid cleanup. */
:root{
  --ninja-green:#39ff14;
  --ninja-green-soft:#8cff73;
  --ninja-black:#050706;
  --ninja-panel:#0a0d0b;
  --ninja-line:rgba(132,255,103,.28);
}
html,body{background:#040605!important}
body{color:#f5f7f5;background:#040605!important}
.app-bg{
  background:
    radial-gradient(circle at 38% 0%,rgba(58,255,20,.045),transparent 31%),
    linear-gradient(180deg,rgba(4,7,5,.93),rgba(2,4,3,.985)),
    url('/assets/shell-backdrop-vertical.webp') center/cover fixed!important;
  filter:saturate(.45) brightness(.34)!important;
}
.app-bg:after{background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.34))!important}
.topbar{
  background:
    linear-gradient(180deg,rgba(8,11,9,.96),rgba(3,5,4,.98)),
    url('/assets/metal-header.png') center/cover!important;
  border-bottom:1px solid rgba(57,255,20,.14)!important;
  box-shadow:0 6px 22px rgba(0,0,0,.62),inset 0 -1px 0 rgba(255,255,255,.025)!important;
}
.topbar-plain-button,.topbar-button{
  background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;
}
.topbar-plain-button:hover,.topbar-plain-button:focus-visible,.topbar-button:hover,.topbar-button:focus-visible{
  background:transparent!important;filter:drop-shadow(0 0 7px rgba(57,255,20,.45));outline:none!important;
}
.topbar-plain-button img,.topbar-button img{
  filter:hue-rotate(55deg) saturate(1.45) brightness(1.18) drop-shadow(0 0 3px rgba(57,255,20,.26));
}
.header-logo,.header-logo img{filter:none!important}
.header-section-title{color:#f5f7f5!important}
.music-header-tabs{background:rgba(0,0,0,.30);border:1px solid rgba(255,255,255,.045);border-radius:8px;height:46px;align-self:center;padding:0 7px}
.music-header-tabs button{line-height:44px!important;color:#f0f2f0!important;font-size:13px!important;padding:0 18px!important;border-bottom:2px solid transparent!important}
.music-header-tabs button.active{color:var(--ninja-green)!important;background:transparent!important;border-bottom-color:var(--ninja-green)!important}
.music-page,.music-hero-strip,.music-subcategory-strip,.music-row-section,.music-library-section{background:transparent!important}
.music-hero-card,.music-subcategory-card,.music-square-art{border-color:rgba(255,255,255,.15)!important;box-shadow:0 8px 24px rgba(0,0,0,.72)!important}
.music-hero-card:hover,.music-subcategory-card:hover,.music-square-card:hover .music-square-art{border-color:var(--ninja-green)!important;box-shadow:0 0 0 1px rgba(57,255,20,.25),0 0 18px rgba(57,255,20,.18)!important}
.music-row-tabs button{background:#090c0a!important;border:1px solid rgba(255,255,255,.25)!important;color:#f3f5f3!important}
.music-row-tabs button.active{color:var(--ninja-green)!important;border-color:var(--ninja-green)!important;background:#071007!important}
.music-row-arrow{filter:drop-shadow(0 0 10px rgba(57,255,20,.32))!important}
.music-row-arrow img{filter:hue-rotate(55deg) saturate(1.35) brightness(1.1)!important}
.music-square-art span{display:none!important}
.music-library-section{grid-template-columns:minmax(0,1fr) 42px!important;align-items:start!important;margin-top:8px!important;padding-top:8px!important}
.music-artists-content{min-width:0}
.music-artists-heading{margin:0 0 14px;font-size:24px;line-height:1;color:#f5f7f5;border-bottom:2px solid var(--ninja-green);padding-bottom:7px;width:max-content}
.music-alpha-rail{
  position:sticky!important;
  top:calc(var(--header-h) + 14px)!important;
  align-self:start!important;
  margin-top:36px!important;
  width:38px!important;
  gap:2px!important;
}
.music-alpha-rail button{
  color:#fff!important;
  font-size:15px!important;
  line-height:1.05!important;
  min-height:18px!important;
  padding:1px 0!important;
  font-weight:700!important;
  text-shadow:0 1px 2px #000!important;
}
.music-alpha-rail button.active{color:var(--ninja-green)!important;font-size:16px!important}
.music-square-card strong{font-size:12px!important}
.music-square-card small{color:#9fa7a0!important}
@media(max-width:1180px){.music-header-tabs button{padding:0 11px!important;font-size:11px!important}.music-alpha-rail button{font-size:13px!important}}
@media(max-width:760px){.music-library-section{grid-template-columns:minmax(0,1fr) 32px!important}.music-alpha-rail{margin-top:34px!important;width:30px!important}.music-alpha-rail button{font-size:11px!important;min-height:15px!important}.music-artists-heading{font-size:20px}}


/* v0.0.0 — logo, Artists divider, and alphabet alignment refinement. */
.header-logo,
.drawer-footer img{
  filter:grayscale(1) brightness(1.45) sepia(1) hue-rotate(62deg) saturate(7) drop-shadow(0 0 5px rgba(57,255,20,.38))!important;
}
.music-content-with-alpha{
  display:grid;
  grid-template-columns:minmax(0,1fr) 46px;
  gap:16px;
  align-items:start;
  margin:0 34px;
}
.music-content-main{min-width:0}
.music-content-with-alpha .music-row-section,
.music-content-with-alpha .music-library-section{
  margin-left:0!important;
  margin-right:0!important;
}
.music-library-section{
  display:block!important;
  grid-template-columns:none!important;
}
.music-artists-heading{
  width:auto!important;
  display:block!important;
  border-bottom:0!important;
  margin:0!important;
  padding:0 0 8px!important;
}
.music-artists-gradient{
  height:4px;
  width:100%;
  margin:0 0 16px;
  background:linear-gradient(90deg,var(--ninja-green) 0%,rgba(57,255,20,.82) 32%,rgba(57,255,20,.28) 72%,transparent 100%);
  box-shadow:0 0 9px rgba(57,255,20,.34);
}
.music-content-with-alpha>.music-alpha-rail{
  position:sticky!important;
  top:calc(var(--header-h) + 14px)!important;
  align-self:start!important;
  margin-top:9px!important;
  width:42px!important;
  padding-top:0!important;
}
@media(max-width:760px){
  .music-content-with-alpha{grid-template-columns:minmax(0,1fr) 32px;gap:8px;margin:0}
  .music-content-with-alpha>.music-alpha-rail{width:30px!important;margin-top:9px!important}
  .music-artists-gradient{height:3px;margin-bottom:12px}
}

/* v0.0.0 — full app visual unification to the approved black/neon-green concept. */
:root{
  --ninja-green:#59ff73;
  --ninja-green-strong:#35ff61;
  --ninja-green-deep:#0d6b2f;
  --ninja-black:#020403;
  --ninja-surface:#080d0a;
  --ninja-surface-2:#0c130f;
  --ninja-border:rgba(96,255,126,.42);
  --ninja-border-soft:rgba(96,255,126,.16);
  --ninja-text:#f3fff5;
  --ninja-muted:#91a598;
  --cyan:var(--ninja-green);
  --cyan-soft:#a7ffb5;
  --panel:var(--ninja-surface);
  --panel-2:var(--ninja-surface-2);
  --line:var(--ninja-border-soft);
  --muted:var(--ninja-muted);
}
html,body{background:#020403!important;color:var(--ninja-text)!important}
body{font-family:Arial,Helvetica,sans-serif!important}
.app-bg{
  background:
    radial-gradient(ellipse at 55% 8%,rgba(52,255,94,.12),transparent 34%),
    radial-gradient(ellipse at 88% 35%,rgba(27,126,57,.12),transparent 34%),
    linear-gradient(118deg,transparent 0 12%,rgba(78,255,112,.035) 12.3% 12.8%,transparent 13.1% 35%,rgba(78,255,112,.024) 35.2% 35.8%,transparent 36.1%),
    linear-gradient(180deg,#07100a 0%,#020403 48%,#010201 100%)!important;
  filter:none!important;
}
.app-bg:before{content:"";position:absolute;inset:-15%;background:repeating-linear-gradient(104deg,transparent 0 78px,rgba(86,255,118,.018) 79px 81px,transparent 82px 154px);transform:rotate(-5deg);opacity:.75}
.app-bg:after{background:linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.56))!important}

.topbar{
  background:linear-gradient(180deg,rgba(12,18,14,.985),rgba(3,6,4,.99))!important;
  border-bottom:1px solid var(--ninja-border)!important;
  box-shadow:0 14px 30px rgba(0,0,0,.74),0 4px 10px rgba(0,0,0,.58),inset 0 -1px 0 rgba(88,255,115,.08)!important;
  backdrop-filter:blur(16px)!important;
}
.header-brand{display:flex;align-items:center;gap:15px}
.header-logo,.drawer-footer img{filter:grayscale(1) brightness(1.42) sepia(1) hue-rotate(72deg) saturate(8) drop-shadow(0 0 6px rgba(73,255,106,.42))!important}
.header-section-title{color:#effff2!important;text-shadow:0 0 8px rgba(75,255,109,.16)}
.topbar-plain-button,.topbar-button{
  border:1px solid rgba(91,255,120,.28)!important;
  background:linear-gradient(180deg,rgba(15,28,19,.92),rgba(4,9,6,.96))!important;
  border-radius:3px!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.018),0 4px 12px rgba(0,0,0,.34)!important;
}
.topbar-plain-button:hover,.topbar-plain-button:focus-visible,.topbar-button:hover,.topbar-button:focus-visible{
  border-color:var(--ninja-green)!important;
  background:linear-gradient(180deg,rgba(24,54,32,.96),rgba(5,13,8,.98))!important;
  box-shadow:0 0 12px rgba(74,255,108,.28),inset 0 0 12px rgba(74,255,108,.05)!important;
}
.topbar-plain-button img,.topbar-button img{filter:grayscale(1) brightness(1.55) sepia(1) hue-rotate(72deg) saturate(9) drop-shadow(0 0 4px rgba(67,255,101,.42))!important}
.header-avatar{border:1px solid var(--ninja-green)!important;box-shadow:0 0 12px rgba(74,255,108,.24)!important;background:#071009!important}
.header-avatar img{filter:grayscale(1) brightness(1.15) sepia(.6) hue-rotate(70deg) saturate(3)!important}
.music-header-tabs{background:rgba(3,7,4,.75)!important;border:1px solid rgba(89,255,119,.17)!important;border-radius:3px!important;box-shadow:inset 0 0 18px rgba(69,255,103,.018)!important}
.music-header-tabs button{color:#cfe9d4!important;border-right:1px solid rgba(90,255,120,.08)!important}
.music-header-tabs button.active{color:var(--ninja-green)!important;border-bottom-color:var(--ninja-green)!important;text-shadow:0 0 8px rgba(73,255,105,.45)}

aside{background-color:#040404!important;background-image:linear-gradient(180deg,rgba(5,10,7,.80),rgba(1,3,2,.92)),url('/assets/drawer-wallpaper.webp')!important;background-repeat:no-repeat,no-repeat!important;background-position:center,center!important;background-size:cover,cover!important;border-right:1px solid var(--ninja-border)!important;box-shadow:22px 0 48px rgba(0,0,0,.72)!important}
.nav-button{border-radius:3px!important;color:#dbe9de!important}
.nav-button:hover,.nav-button.active{background:linear-gradient(90deg,rgba(27,77,39,.72),rgba(8,21,12,.78))!important;border-color:var(--ninja-green)!important;color:var(--ninja-green)!important;box-shadow:inset 3px 0 0 var(--ninja-green),0 0 14px rgba(69,255,103,.08)!important}
.nav-button img{filter:grayscale(1) brightness(1.45) sepia(1) hue-rotate(72deg) saturate(8)!important}
.drawer-footer{background:rgba(2,5,3,.88)!important;border-top-color:var(--ninja-border-soft)!important}

.page-title,.section-heading h3,.tv-section-heading h2,.detail-row-title h2,.music-artists-heading{color:#f5fff7!important;text-shadow:0 0 10px rgba(67,255,102,.10)}
.page-subtitle,.poster-meta,.setup-card p,.setup-card small,.music-square-card small{color:var(--ninja-muted)!important}
.hero,.master-card,.poster-art,.setup-card,.search-results,.movie-summary-bar,.tv-summary-bar,.movie-detail-content,.tv-detail-content,.seasons-section,.episodes-section,.episode-row,.next-up-card,.cast-card,.recommend-card{
  background:linear-gradient(145deg,rgba(12,20,15,.95),rgba(3,7,4,.98))!important;
  border-color:var(--ninja-border-soft)!important;
  box-shadow:0 13px 30px rgba(0,0,0,.55)!important;
}
.hero{background:linear-gradient(90deg,rgba(3,8,5,.98) 0%,rgba(7,18,11,.88) 55%,rgba(4,10,6,.32) 100%),url('/assets/ninja-default-blank-card.webp') 88% center/contain no-repeat!important}
.hero-kicker,.status,.provider-links,.star{color:var(--ninja-green)!important}
.meta-chip,.pill,.music-row-tabs button,.detail-action,.mini-arrows button,.episode-actions button,.primary{
  border:1px solid var(--ninja-border)!important;
  border-radius:3px!important;
  background:linear-gradient(180deg,#101b13,#050905)!important;
  color:#eaffed!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.02),0 4px 12px rgba(0,0,0,.30)!important;
}
.meta-chip:hover,.pill:hover,.pill.active,.music-row-tabs button:hover,.music-row-tabs button.active,.detail-action:hover,.mini-arrows button:hover,.episode-actions button:hover,.primary:hover{
  color:var(--ninja-green)!important;
  border-color:var(--ninja-green)!important;
  background:linear-gradient(180deg,#15301d,#07110a)!important;
  box-shadow:0 0 12px rgba(73,255,106,.22),inset 0 0 10px rgba(73,255,106,.035)!important;
}
.master-card:hover,.master-card.active,.poster-card.clickable:hover .poster-art,.music-hero-card:hover,.music-subcategory-card:hover,.music-square-card:hover .music-square-art,.season-card:hover .season-art,.season-card.active .season-art{
  border-color:var(--ninja-green)!important;
  box-shadow:0 0 0 1px rgba(75,255,108,.24),0 0 18px rgba(73,255,106,.16),0 14px 32px rgba(0,0,0,.56)!important;
}
.master-card:before{background:linear-gradient(90deg,transparent,rgba(62,255,99,.055))!important}
.master-card img,.detail-action img{filter:grayscale(1) brightness(1.45) sepia(1) hue-rotate(72deg) saturate(8)!important}
.poster-art:after{color:rgba(91,255,121,.30)!important}
.row-arrow,.music-row-arrow{filter:grayscale(1) brightness(1.45) sepia(1) hue-rotate(72deg) saturate(8) drop-shadow(0 0 8px rgba(72,255,105,.30))!important}
.row-arrow:hover,.music-row-arrow:hover{filter:grayscale(1) brightness(1.65) sepia(1) hue-rotate(72deg) saturate(9) drop-shadow(0 0 12px rgba(72,255,105,.52))!important}
.search-box input,select{background:#050a06!important;border:1px solid var(--ninja-border-soft)!important;color:#effff2!important;border-radius:3px!important}
.search-box input:focus,select:focus{outline:none!important;border-color:var(--ninja-green)!important;box-shadow:0 0 10px rgba(72,255,105,.17)!important}

.music-page{background:transparent!important}
.music-hero-card,.music-subcategory-card,.music-square-art,.season-art,.cast-photo,.recommend-art,.episode-thumb,.next-up-thumb,.movie-detail-poster,.tv-detail-poster{border:1px solid rgba(87,255,117,.20)!important;background-color:#08100a!important}
.music-hero-overlay{background:linear-gradient(transparent,rgba(1,4,2,.97))!important}
.music-hero-overlay button{background:#071009!important;color:var(--ninja-green)!important;border:1px solid var(--ninja-green)!important;border-radius:3px!important}
.music-subcategory-strip,.music-row-section,.music-library-section{background:transparent!important}
.music-subcategory-card strong{background:linear-gradient(transparent,rgba(1,4,2,.96))!important;color:#fff!important}
.music-artists-gradient,.section-heading:after,.tv-section-heading:after,.detail-row-title:after{
  background:linear-gradient(90deg,var(--ninja-green) 0%,rgba(83,255,113,.76) 34%,rgba(83,255,113,.20) 76%,transparent 100%)!important;
  box-shadow:0 0 10px rgba(73,255,106,.30)!important;
}
.music-alpha-rail button{color:#f5fff7!important;text-shadow:0 1px 2px #000,0 0 5px rgba(60,255,96,.08)!important}
.music-alpha-rail button:hover,.music-alpha-rail button.active{color:var(--ninja-green)!important;text-shadow:0 0 8px rgba(72,255,105,.52)!important}

.movie-detail-backdrop,.tv-detail-backdrop{filter:saturate(.55) contrast(1.08) brightness(.72) hue-rotate(60deg)!important}
.movie-summary-bar,.tv-summary-bar{border-top:1px solid var(--ninja-border-soft)!important;border-bottom:1px solid var(--ninja-border-soft)!important}
.rating-box{border-color:var(--ninja-border)!important;color:var(--ninja-green)!important;background:#071009!important}
.movie-details-list dt{color:var(--ninja-green)!important}
.season-card{background:transparent!important;color:#fff!important}
.episode-number{color:var(--ninja-green)!important}

/* Clean luminous section rules used throughout the concept. */
.section-heading,.tv-section-heading,.detail-row-title{position:relative;padding-bottom:9px!important;margin-bottom:14px!important}
.section-heading:after,.tv-section-heading:after,.detail-row-title:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px}

@media(max-width:760px){
  .topbar-plain-button,.topbar-button{border-color:rgba(91,255,120,.20)!important}
  .section-heading:after,.tv-section-heading:after,.detail-row-title:after{height:2px}
}

/* v0.0.0 — exact Music reference layout pass. */
:root{--music-lime:#6ee85f;--music-lime-soft:#a7f39d;--music-header:74px}
body{background:#050909!important}
.app-bg{background:radial-gradient(circle at 54% 15%,rgba(75,108,91,.11),transparent 34%),linear-gradient(180deg,#0b1010 0%,#060a0a 46%,#030606 100%)!important}
.app-bg:before{display:none!important}
.topbar{height:var(--music-header)!important;min-height:var(--music-header)!important;padding:0 20px!important;gap:12px!important;background:linear-gradient(180deg,#0c1111 0%,#070b0b 100%)!important;border-bottom:1px solid rgba(160,181,174,.22)!important;box-shadow:0 5px 16px rgba(0,0,0,.62),inset 0 -1px 0 rgba(255,255,255,.025)!important}
.topbar-plain-button,.topbar-button{width:46px!important;height:46px!important;flex:0 0 46px!important;border-radius:50%!important;border:1px solid rgba(169,185,177,.42)!important;background:radial-gradient(circle at 38% 30%,rgba(255,255,255,.08),rgba(8,13,12,.98) 58%)!important;box-shadow:inset 0 0 0 3px rgba(0,0,0,.48),0 3px 8px rgba(0,0,0,.42)!important;padding:7px!important}
.topbar-plain-button:hover,.topbar-button:hover{border-color:rgba(126,235,105,.82)!important;box-shadow:inset 0 0 0 3px rgba(0,0,0,.48),0 0 10px rgba(93,226,78,.20)!important}
.topbar-plain-button img,.topbar-button img{width:29px!important;height:29px!important;filter:grayscale(1) brightness(1.05) sepia(1) hue-rotate(56deg) saturate(5.2) drop-shadow(0 0 1px rgba(109,232,91,.25))!important}
.header-brand{gap:16px!important;min-width:260px}
.header-logo{height:54px!important;width:154px!important;max-width:none!important;filter:none!important}
.header-section-title{font-size:24px!important;font-weight:700!important;color:#f3f5f3!important;text-shadow:none!important}
.header-avatar{width:46px!important;height:46px!important;border:1px solid rgba(164,183,174,.46)!important;box-shadow:inset 0 0 0 3px rgba(0,0,0,.55),0 3px 8px rgba(0,0,0,.45)!important;background:#080c0b!important}
.header-avatar img{filter:saturate(.8) brightness(.85)!important}
.music-header-tabs{height:44px!important;min-width:635px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:0!important;padding:0 9px!important;background:#050908!important;border:1px solid rgba(112,130,123,.18)!important;border-radius:12px!important;box-shadow:inset 0 0 20px rgba(0,0,0,.45)!important}
.music-header-tabs button{height:43px!important;padding:0 22px!important;font-size:13px!important;font-weight:700!important;color:#f1f3f1!important;border:0!important;border-bottom:2px solid transparent!important;background:transparent!important}
.music-header-tabs button.active{color:var(--music-lime)!important;border-bottom-color:var(--music-lime)!important;text-shadow:none!important}
main{padding:34px 52px 70px!important}
.music-reference-layout{width:100%;max-width:none;margin:0}
.music-category-row{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:20px;margin:0 0 52px;padding:0}
.music-category-card{height:112px;position:relative;overflow:hidden;border:1px solid rgba(170,185,179,.28);border-radius:8px;background:#0b0f0f;box-shadow:0 7px 18px rgba(0,0,0,.34)}
.music-category-card.active{border-color:#54df48;box-shadow:0 0 0 1px rgba(78,225,67,.5),0 0 16px rgba(79,226,66,.26)}
.music-category-art{position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(2,5,4,.25)),radial-gradient(circle at 35% 30%,#3e4d46,transparent 38%),linear-gradient(135deg,#27332e,#0b0f0e 68%)}
.music-category-2 .music-category-art{background:linear-gradient(180deg,transparent,rgba(2,4,3,.42)),linear-gradient(125deg,#343a38,#111615)}
.music-category-3 .music-category-art{background:linear-gradient(180deg,transparent,rgba(2,4,3,.45)),linear-gradient(125deg,#4a3222,#12100d)}
.music-category-4 .music-category-art{background:linear-gradient(180deg,transparent,rgba(2,4,3,.45)),linear-gradient(125deg,#33332d,#10120f)}
.music-category-5 .music-category-art{background:linear-gradient(180deg,transparent,rgba(2,4,3,.45)),linear-gradient(125deg,#3f2e1f,#11100d)}
.music-category-6 .music-category-art{background:linear-gradient(180deg,transparent,rgba(2,4,3,.45)),linear-gradient(125deg,#30383a,#0e1213)}
.music-category-7 .music-category-art{background:linear-gradient(180deg,transparent,rgba(2,4,3,.45)),linear-gradient(125deg,#303638,#0d1111)}
.music-category-8 .music-category-art{background:radial-gradient(circle at 50% 45%,#f4f4f4 0 4px,transparent 5px),radial-gradient(circle at 42% 45%,#f4f4f4 0 4px,transparent 5px),radial-gradient(circle at 58% 45%,#f4f4f4 0 4px,transparent 5px),#0a0e0d}
.music-category-card strong{position:absolute;left:14px;right:12px;bottom:11px;font-size:18px;color:#fff;text-shadow:0 2px 4px #000}
.music-content-with-alpha{display:grid!important;grid-template-columns:minmax(0,1fr) 34px!important;gap:20px!important;margin:0!important;align-items:start!important}
.music-content-main{min-width:0}
.music-row-section{margin:0 0 36px!important}
.music-row-tabs{display:flex;gap:10px;margin:0 0 20px 10px!important}
.music-row-tabs button{height:35px!important;padding:0 18px!important;border-radius:19px!important;font-size:12px!important;font-weight:800!important;border:1px solid rgba(183,195,190,.38)!important;background:#080c0b!important;color:#f2f4f2!important;box-shadow:none!important}
.music-row-tabs button.active{border-color:#4fdb46!important;color:#64e857!important;background:#071008!important;box-shadow:none!important}
.music-row-wrap{position:relative!important;padding:0 38px!important}
.music-album-row{display:grid!important;grid-template-columns:repeat(8,minmax(0,1fr))!important;gap:14px!important;overflow:hidden!important}
.music-square-card{min-width:0!important;text-align:center!important}
.music-square-art{aspect-ratio:1/1!important;border-radius:6px!important;border:1px solid rgba(168,181,176,.28)!important;box-shadow:0 8px 18px rgba(0,0,0,.34)!important}
.music-square-card strong{display:block!important;margin-top:8px!important;font-size:13px!important;color:#fff!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.music-square-card small{display:none!important}
.music-row-arrow{position:absolute!important;top:50%!important;transform:translateY(-50%)!important;width:52px!important;height:52px!important;border-radius:50%!important;border:1px solid rgba(153,183,160,.35)!important;background:#07100a!important;display:grid!important;place-items:center!important;z-index:3!important;filter:none!important;box-shadow:0 0 0 3px rgba(0,0,0,.48),0 4px 12px rgba(0,0,0,.5)!important}
.music-row-arrow-left{left:-29px!important}.music-row-arrow-right{right:-29px!important}
.music-row-arrow img{width:34px!important;height:34px!important;filter:grayscale(1) brightness(1.15) sepia(1) hue-rotate(58deg) saturate(5)!important}
.music-library-section{margin:0!important;background:transparent!important}
.music-artists-heading{margin:0!important;font-size:24px!important;line-height:1!important;padding:0!important;border:0!important;width:auto!important}
.music-artists-gradient{width:128px!important;height:3px!important;margin:8px 0 14px!important;background:linear-gradient(90deg,#69e65d 0%,rgba(105,230,93,.5) 72%,transparent 100%)!important;box-shadow:none!important}
.music-artist-grid{display:grid!important;grid-template-columns:repeat(8,minmax(0,1fr))!important;gap:18px 18px!important}
.music-alpha-rail{position:sticky!important;top:calc(var(--music-header) + 20px)!important;margin:0!important;padding:0!important;width:34px!important;display:flex!important;flex-direction:column!important;align-items:center!important;gap:0!important;align-self:start!important}
.music-alpha-rail button{width:34px!important;min-height:24px!important;padding:0!important;border:0!important;background:transparent!important;color:#f2f4f2!important;font-size:18px!important;font-weight:800!important;line-height:1!important;text-shadow:none!important}
.music-alpha-rail button.active{color:#6ee85f!important;font-size:18px!important}
@media(max-width:1250px){.music-header-tabs{min-width:520px!important}.music-header-tabs button{padding:0 14px!important}.music-category-row{grid-template-columns:repeat(4,1fr)}.music-album-row,.music-artist-grid{grid-template-columns:repeat(6,1fr)!important}}
@media(max-width:850px){main{padding:24px 18px 55px!important}.music-header-tabs{display:none!important}.music-category-row{grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:30px}.music-content-with-alpha{grid-template-columns:minmax(0,1fr) 28px!important;gap:7px!important}.music-album-row,.music-artist-grid{grid-template-columns:repeat(2,1fr)!important}.music-row-wrap{padding:0!important}.music-row-arrow{display:none!important}.music-alpha-rail button{font-size:13px!important;min-height:18px!important;width:28px!important}.music-alpha-rail button.active{font-size:13px!important}}

/* v0.0.0 — clean single-layer header controls and visible category row. */
:root{--music-header:74px}
.topbar{
  position:fixed!important;
  top:0!important;
  left:0!important;
  right:0!important;
  z-index:25!important;
}
main{
  padding-top:calc(var(--music-header) + 22px)!important;
}
.topbar-plain-button,.topbar-button{
  width:44px!important;
  height:44px!important;
  flex:0 0 44px!important;
  padding:10px!important;
  border-radius:50%!important;
  border:1px solid rgba(142,160,151,.38)!important;
  background:linear-gradient(180deg,#111716,#070b0a)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.055),0 2px 7px rgba(0,0,0,.46)!important;
  overflow:hidden!important;
}
.topbar-plain-button img,.topbar-button img{
  width:24px!important;
  height:24px!important;
  object-fit:contain!important;
  filter:brightness(0) saturate(100%) invert(81%) sepia(21%) saturate(1119%) hue-rotate(59deg) brightness(94%) contrast(90%)!important;
  opacity:.92!important;
  transform:none!important;
}
.topbar-plain-button:hover,.topbar-button:hover,.topbar-plain-button:focus-visible,.topbar-button:focus-visible{
  border-color:rgba(116,223,92,.72)!important;
  background:linear-gradient(180deg,#131b18,#080d0b)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 0 8px rgba(104,220,83,.14)!important;
}
.topbar-plain-button:hover img,.topbar-button:hover img{opacity:1!important}
#menuButton:hover img,#menuButton:focus-visible img,#menuButton:active img,
.topbar-right [data-page="search"]:hover img,.topbar-right [data-page="search"]:focus-visible img,.topbar-right [data-page="search"]:active img{
  content:normal!important;
}
.header-avatar{
  width:44px!important;
  height:44px!important;
  padding:3px!important;
  border-radius:50%!important;
  background:#080c0b!important;
  border:1px solid rgba(142,160,151,.38)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 2px 7px rgba(0,0,0,.46)!important;
}
.header-avatar img{width:36px!important;height:36px!important;filter:none!important;border-radius:50%!important}
.music-category-row{
  padding-top:0!important;
  margin-top:0!important;
  overflow:visible!important;
}
.music-category-card{
  min-height:112px!important;
  height:112px!important;
  overflow:hidden!important;
}
.music-category-card strong{line-height:1.1!important}
@media(max-width:850px){main{padding-top:calc(var(--music-header) + 18px)!important}}

/* v0.0.0 — approved new header button template. This is the final header-control layer. */
.topbar-plain-button,
.topbar-button {
  width: 48px !important;
  height: 48px !important;
  flex: 0 0 48px !important;
  padding: 9px !important;
  border: 0 !important;
  border-radius: 50% !important;
  background-color: transparent !important;
  background-image: url('/assets/header-button-template.webp') !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 100% 100% !important;
  box-shadow: none !important;
  outline: none !important;
  overflow: visible !important;
}
.topbar-plain-button:hover,
.topbar-plain-button:focus-visible,
.topbar-plain-button:active,
.topbar-button:hover,
.topbar-button:focus-visible,
.topbar-button:active {
  border: 0 !important;
  background-color: transparent !important;
  background-image: url('/assets/header-button-template.webp') !important;
  box-shadow: none !important;
  transform: none !important;
  opacity: 1 !important;
}
.topbar-plain-button img,
.topbar-button img {
  width: 27px !important;
  height: 27px !important;
  object-fit: contain !important;
  filter: none !important;
  opacity: 1 !important;
  transform: none !important;
  pointer-events: none !important;
}
/* User avatar is identity artwork, not one of the template-backed header icons. */
.header-avatar {
  background-image: none !important;
}

/* Final approved wallpapers and round arrow template. */
html,body{
  background:#050505!important;
}
:root{--ninja-page-wallpaper:url('/assets/page-wallpaper.webp')}
.app-bg{
  position:fixed!important;
  inset:0!important;
  z-index:0!important;
  background-color:#050505!important;
  background-image:var(--ninja-page-wallpaper)!important;
  background-repeat:no-repeat!important;
  background-position:center top!important;
  background-size:cover!important;
  filter:none!important;
}
.app-bg:after{display:none!important}
.topbar{
  background-color:#080808!important;
  background-image:url('/assets/header-wallpaper.webp')!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
  background-size:cover!important;
  border-bottom:1px solid rgba(132,245,40,.16)!important;
  box-shadow:0 3px 14px rgba(0,0,0,.7)!important;
}
.music-page,
.movie-detail-page,
.tv-detail-page,
.music-library-section,
.music-row-section,
.music-category-row,
.music-content-with-alpha{
  background-color:transparent!important;
  background-image:none!important;
}
/* Remove every former arrow skin and use the supplied round template. */
.row-arrow,
.music-row-arrow{
  width:58px!important;
  height:58px!important;
  min-width:58px!important;
  min-height:58px!important;
  padding:0!important;
  border:0!important;
  border-radius:50%!important;
  background-color:transparent!important;
  background-repeat:no-repeat!important;
  background-position:center,center!important;
  background-size:31px 31px,100% 100%!important;
  box-shadow:none!important;
  filter:none!important;
  opacity:1!important;
}
.row-arrow.left,
.music-row-arrow-left{
  background-image:url('/assets/arrow-left-green.svg'),url('/assets/round-button-template.webp')!important;
}
.row-arrow.right,
.music-row-arrow-right{
  background-image:url('/assets/arrow-right-green.svg'),url('/assets/round-button-template.webp')!important;
}
.music-row-arrow img{display:none!important}
.row-arrow:hover,
.row-arrow:focus-visible,
.music-row-arrow:hover,
.music-row-arrow:focus-visible{
  background-color:transparent!important;
  box-shadow:0 0 12px rgba(132,245,40,.22)!important;
  filter:none!important;
  transform:translateY(-50%) scale(1.03)!important;
}
.row-arrow:hover,.row-arrow:focus-visible{transform:scale(1.03)!important}
@media(max-width:850px){
  .app-bg{background-size:auto 100%!important}
}


/* Music alphabet alignment fix: begin with Artists and move 50px right. */
.music-content-with-alpha{
  align-items:start!important;
}
.music-content-with-alpha>.music-alpha-rail{
  margin-top:0!important;
  transform:translateX(50px)!important;
}
@media(max-width:760px){
  .music-content-with-alpha>.music-alpha-rail{
    transform:translateX(50px)!important;
    margin-top:0!important;
  }
}


/* Music album row fill fix: evenly occupy all space between arrows. */
.music-row-wrap{
  display:grid;
  grid-template-columns:64px minmax(0,1fr) 64px;
  align-items:center;
  column-gap:16px;
  width:100%;
}
.music-album-row{
  display:grid;
  grid-template-columns:repeat(8,minmax(0,1fr));
  grid-auto-flow:unset;
  grid-auto-columns:unset;
  gap:16px;
  width:100%;
  min-width:0;
  overflow:hidden;
}
.music-album-row .music-square-card{
  width:100%;
  min-width:0;
}
.music-album-row .music-square-art{
  width:100%;
  aspect-ratio:1/1;
}
@media(max-width:1200px){
  .music-album-row{grid-template-columns:repeat(6,minmax(0,1fr))}
  .music-album-row .music-square-card:nth-child(n+7){display:none}
}
@media(max-width:760px){
  .music-row-wrap{grid-template-columns:44px minmax(0,1fr) 44px;column-gap:8px}
  .music-album-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
  .music-album-row .music-square-card:nth-child(n+4){display:none}
}

/* v0.0.1 — Music quick-row albums match the Artists grid card size. */
.music-row-wrap{
  display:block!important;
  position:relative!important;
  width:auto!important;
  margin-right:54px!important;
  padding:0!important;
}
.music-album-row{
  grid-template-columns:repeat(8,minmax(0,1fr))!important;
  gap:18px!important;
}
.music-row-arrow-left{left:-68px!important}
.music-row-arrow-right{right:-68px!important}
@media(max-width:1250px){
  .music-row-wrap{margin-right:54px!important}
  .music-album-row{grid-template-columns:repeat(6,minmax(0,1fr))!important}
}
@media(max-width:850px){
  .music-row-wrap{margin-right:35px!important;padding:0!important}
  .music-album-row{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important}
}

/* v0.0.3 — Section heading gradient bars match the short Audio/Music underline. */
.section-heading:after,
.tv-section-heading:after,
.detail-row-title:after{
  right:auto!important;
  width:128px!important;
  background:linear-gradient(90deg,#69e65d 0%,rgba(105,230,93,.5) 72%,transparent 100%)!important;
  box-shadow:none!important;
}

/* v0.0.4 — Move desktop row arrows 20px farther away from poster edges. */
.row-arrow.left{left:-17px!important}
.row-arrow.right{right:-17px!important}
.music-row-arrow-left{left:-88px!important}
.music-row-arrow-right{right:-88px!important}

/* v0.0.6 — Drawer navigation uses the approved round button template. */
.nav-button img{
  width:44px!important;
  height:44px!important;
  flex:0 0 44px!important;
  padding:9px!important;
  object-fit:contain!important;
  background-color:transparent!important;
  background-image:url('/assets/round-button-template.webp')!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
  background-size:100% 100%!important;
}
.nav-button:hover img,
.nav-button.active img{
  filter:grayscale(1) brightness(1.55) sepia(1) hue-rotate(72deg) saturate(9) drop-shadow(0 0 7px rgba(67,255,101,.5))!important;
}


/* v0.0.7 — One approved icon template everywhere; icon + ring turn cyan on hover. */
:root{
  --ninja-icon-green-filter:brightness(0) saturate(100%) invert(78%) sepia(98%) saturate(2311%) hue-rotate(42deg) brightness(105%) contrast(111%);
  --ninja-icon-cyan-filter:brightness(0) saturate(100%) invert(78%) sepia(95%) saturate(1945%) hue-rotate(140deg) brightness(104%) contrast(104%);
}

/* Header icon buttons: approved template only. */
.topbar-plain-button,
.topbar-button{
  background-image:url('/assets/round-button-template.webp')!important;
  background-color:transparent!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
  background-size:100% 100%!important;
  border:0!important;
  box-shadow:none!important;
}
.topbar-plain-button img,
.topbar-button img{
  background:none!important;
  filter:var(--ninja-icon-green-filter)!important;
}
.topbar-plain-button:hover,
.topbar-plain-button:focus-visible,
.topbar-button:hover,
.topbar-button:focus-visible{
  filter:hue-rotate(82deg) saturate(1.45) brightness(1.08)!important;
}
.topbar-plain-button:hover img,
.topbar-plain-button:focus-visible img,
.topbar-button:hover img,
.topbar-button:focus-visible img{
  filter:var(--ninja-icon-cyan-filter)!important;
}

/* Drawer: clean icon only on one approved template. */
.nav-button img{
  width:46px!important;
  height:46px!important;
  flex:0 0 46px!important;
  padding:10px!important;
  object-fit:contain!important;
  background:url('/assets/round-button-template.webp') center/100% 100% no-repeat!important;
  filter:var(--ninja-icon-green-filter)!important;
  border:0!important;
  border-radius:50%!important;
  box-shadow:none!important;
}
.nav-button:hover img,
.nav-button:focus-visible img,
.nav-button.active img{
  filter:var(--ninja-icon-cyan-filter)!important;
}

/* Detail, episode and compact icon actions. */
.detail-action,
.episode-actions .detail-action,
.mini-arrows button{
  width:44px!important;
  height:44px!important;
  min-width:44px!important;
  padding:9px!important;
  border:0!important;
  border-radius:50%!important;
  background:url('/assets/round-button-template.webp') center/100% 100% no-repeat!important;
  box-shadow:none!important;
}
.detail-action img,
.episode-actions .detail-action img,
.mini-arrows button img{
  width:24px!important;
  height:24px!important;
  background:none!important;
  filter:var(--ninja-icon-green-filter)!important;
}
.detail-action:hover,
.detail-action:focus-visible,
.episode-actions .detail-action:hover,
.episode-actions .detail-action:focus-visible,
.mini-arrows button:hover,
.mini-arrows button:focus-visible{
  filter:hue-rotate(82deg) saturate(1.45) brightness(1.08)!important;
}
.detail-action:hover img,
.detail-action:focus-visible img,
.episode-actions .detail-action:hover img,
.episode-actions .detail-action:focus-visible img,
.mini-arrows button:hover img,
.mini-arrows button:focus-visible img{
  filter:var(--ninja-icon-cyan-filter)!important;
}

/* Row arrows: no old arrow skin, only clean arrow + approved template. */
.row-arrow,
.music-row-arrow{
  background-color:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.row-arrow.left,
.music-row-arrow-left{
  background-image:url('/assets/arrow-left-green.svg'),url('/assets/round-button-template.webp')!important;
}
.row-arrow.right,
.music-row-arrow-right{
  background-image:url('/assets/arrow-right-green.svg'),url('/assets/round-button-template.webp')!important;
}
.music-row-arrow img{display:none!important}
.row-arrow:hover,
.row-arrow:focus-visible,
.music-row-arrow:hover,
.music-row-arrow:focus-visible{
  filter:hue-rotate(82deg) saturate(1.45) brightness(1.08)!important;
}

/* Large library-card icons also use one clean template. */
.master-card img{
  width:46px!important;
  height:46px!important;
  padding:10px!important;
  margin-bottom:13px!important;
  background:url('/assets/round-button-template.webp') center/100% 100% no-repeat!important;
  filter:var(--ninja-icon-green-filter)!important;
}
.master-card:hover img,
.master-card:focus-visible img,
.master-card.active img{
  filter:var(--ninja-icon-cyan-filter)!important;
}


/* v0.0.8 — Separate template and icon layers so the black face is never recolored. */
.icon-template{
  position:relative!important;
  display:inline-grid!important;
  place-items:center!important;
  width:46px!important;
  height:46px!important;
  min-width:46px!important;
  flex:0 0 46px!important;
  background:url('/assets/round-button-template.webp') center/100% 100% no-repeat!important;
  border:0!important;
  border-radius:50%!important;
  box-shadow:none!important;
  filter:none!important;
}
.icon-template img{
  width:25px!important;
  height:25px!important;
  padding:0!important;
  margin:0!important;
  object-fit:contain!important;
  background:none!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  filter:var(--ninja-icon-green-filter)!important;
}
.nav-button > img,
.master-card > img{background:none!important}
.nav-button:hover .icon-template,
.nav-button:focus-visible .icon-template,
.nav-button.active .icon-template,
.master-card:hover .icon-template,
.master-card:focus-visible .icon-template,
.master-card.active .icon-template{
  filter:hue-rotate(82deg) saturate(1.45) brightness(1.08)!important;
}
.nav-button:hover .icon-template img,
.nav-button:focus-visible .icon-template img,
.nav-button.active .icon-template img,
.master-card:hover .icon-template img,
.master-card:focus-visible .icon-template img,
.master-card.active .icon-template img{
  filter:var(--ninja-icon-cyan-filter)!important;
}
.master-card .icon-template{margin-bottom:13px!important}

/* v0.0.9 — Clean non-arrow icon hover and smoother 4px-larger template ring. */
:root{
  --ninja-button-template:url('/assets/round-button-template.webp');
  --ninja-button-template-hover:url('/assets/round-button-template-cyan.webp');
}

/* Never hue-rotate the full template: swap only to the clean cyan-ring asset. */
.topbar-plain-button,
.topbar-button,
.detail-action,
.episode-actions .detail-action,
.mini-arrows button{
  filter:none!important;
  background-image:var(--ninja-button-template)!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
  background-size:100% 100%!important;
}
.topbar-plain-button:hover,
.topbar-plain-button:focus-visible,
.topbar-button:hover,
.topbar-button:focus-visible,
.detail-action:hover,
.detail-action:focus-visible,
.episode-actions .detail-action:hover,
.episode-actions .detail-action:focus-visible,
.mini-arrows button:hover,
.mini-arrows button:focus-visible{
  filter:none!important;
  background-image:var(--ninja-button-template-hover)!important;
}

/* Four pixels larger than the former 46px drawer/library template. */
.icon-template{
  width:50px!important;
  height:50px!important;
  min-width:50px!important;
  flex-basis:50px!important;
  filter:none!important;
  background-image:var(--ninja-button-template)!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
  background-size:100% 100%!important;
}
.nav-button:hover .icon-template,
.nav-button:focus-visible .icon-template,
.nav-button.active .icon-template,
.master-card:hover .icon-template,
.master-card:focus-visible .icon-template,
.master-card.active .icon-template{
  filter:none!important;
  background-image:var(--ninja-button-template-hover)!important;
}

/* Icons alone change green to cyan. */
.nav-button:hover .icon-template img,
.nav-button:focus-visible .icon-template img,
.nav-button.active .icon-template img,
.master-card:hover .icon-template img,
.master-card:focus-visible .icon-template img,
.master-card.active .icon-template img,
.topbar-plain-button:hover img,
.topbar-plain-button:focus-visible img,
.topbar-button:hover img,
.topbar-button:focus-visible img,
.detail-action:hover img,
.detail-action:focus-visible img,
.episode-actions .detail-action:hover img,
.episode-actions .detail-action:focus-visible img,
.mini-arrows button:hover img,
.mini-arrows button:focus-visible img{
  filter:var(--ninja-icon-cyan-filter)!important;
}

/* Arrow buttons remain on their existing arrow treatment. */
.row-arrow,
.music-row-arrow,
.row-arrow:hover,
.row-arrow:focus-visible,
.music-row-arrow:hover,
.music-row-arrow:focus-visible{
  background-size:31px 31px,100% 100%!important;
}


/* v0.0.11 — 3px rings; hover changes only the outer ring to cyan. */
:root{
  --ninja-ring-green:#76f000;
  --ninja-ring-cyan:#25e6f3;
  --ninja-button-face:url('/assets/round-button-face.webp');
}

/* All non-arrow icon buttons use the clean black face with a real CSS ring. */
.topbar-plain-button,
.topbar-button,
.detail-action,
.episode-actions .detail-action,
.mini-arrows button,
.icon-template{
  box-sizing:border-box!important;
  border:3px solid var(--ninja-ring-green)!important;
  border-radius:50%!important;
  background-color:#030303!important;
  background-image:var(--ninja-button-face)!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
  background-size:cover!important;
  filter:none!important;
  box-shadow:0 2px 8px rgba(0,0,0,.48)!important;
}
.topbar-plain-button:hover,
.topbar-plain-button:focus-visible,
.topbar-button:hover,
.topbar-button:focus-visible,
.detail-action:hover,
.detail-action:focus-visible,
.episode-actions .detail-action:hover,
.episode-actions .detail-action:focus-visible,
.mini-arrows button:hover,
.mini-arrows button:focus-visible,
.nav-button:hover .icon-template,
.nav-button:focus-visible .icon-template,
.nav-button.active .icon-template,
.master-card:hover .icon-template,
.master-card:focus-visible .icon-template,
.master-card.active .icon-template{
  border-color:var(--ninja-ring-cyan)!important;
  background-image:var(--ninja-button-face)!important;
  filter:none!important;
  box-shadow:0 0 10px rgba(37,230,243,.26)!important;
}

/* Keep the top-row ring visible through every hover/active rule. */
.topbar-plain-button:hover,
.topbar-plain-button:focus-visible,
.topbar-plain-button:active,
.topbar-button:hover,
.topbar-button:focus-visible,
.topbar-button:active{
  border-width:3px!important;
  border-style:solid!important;
  border-color:var(--ninja-ring-cyan)!important;
  border-radius:50%!important;
  background-color:#030303!important;
  background-image:var(--ninja-button-face)!important;
  opacity:1!important;
}

/* Arrow buttons keep the same treatment with a 3px ring. */
.row-arrow,
.music-row-arrow{
  box-sizing:border-box!important;
  border:3px solid var(--ninja-ring-green)!important;
  border-radius:50%!important;
  background-color:#030303!important;
  background-repeat:no-repeat,no-repeat!important;
  background-position:center,center!important;
  background-size:31px 31px,cover!important;
  box-shadow:0 2px 8px rgba(0,0,0,.48)!important;
  filter:none!important;
}
.row-arrow.left,
.music-row-arrow-left{
  background-image:url('/assets/arrow-left-green.svg'),var(--ninja-button-face)!important;
}
.row-arrow.right,
.music-row-arrow-right{
  background-image:url('/assets/arrow-right-green.svg'),var(--ninja-button-face)!important;
}
.row-arrow:hover,
.row-arrow:focus-visible,
.music-row-arrow:hover,
.music-row-arrow:focus-visible{
  border-color:var(--ninja-ring-cyan)!important;
  box-shadow:0 0 10px rgba(37,230,243,.26)!important;
  filter:none!important;
}


/* v0.0.11 — Icons remain green on hover; only the outer ring turns cyan. */
.nav-button:hover .icon-template img,
.nav-button:focus-visible .icon-template img,
.nav-button.active .icon-template img,
.master-card:hover .icon-template img,
.master-card:focus-visible .icon-template img,
.master-card.active .icon-template img,
.topbar-plain-button:hover img,
.topbar-plain-button:focus-visible img,
.topbar-button:hover img,
.topbar-button:focus-visible img,
.detail-action:hover img,
.detail-action:focus-visible img,
.episode-actions .detail-action:hover img,
.episode-actions .detail-action:focus-visible img,
.mini-arrows button:hover img,
.mini-arrows button:focus-visible img{
  filter:var(--ninja-icon-green-filter)!important;
}

/* v0.0.13 — shared Recently Added / New Releases poster row. */
.dojo-combined-row{margin-top:34px!important;margin-bottom:34px!important;padding:0!important;background:transparent!important}
.dojo-combined-row .music-row-tabs{margin-left:0!important}
.dojo-combined-row .row-wrap{padding-left:58px!important;padding-right:58px!important}
.dojo-combined-row .poster-row{grid-auto-columns:minmax(135px,1fr)!important}
@media(max-width:850px){.dojo-combined-row .row-wrap{padding:0!important}.dojo-combined-row .poster-row{grid-auto-columns:calc(50% - 8px)!important;overflow-x:auto!important}}

/* v0.0.16 Music section hero spacing. */
.music-section-hero{margin:0 0 34px!important}

/* v0.0.18 — Shift the complete Music Recently Added/New Releases row 5px right. */
@media(min-width:851px){
  .music-page .music-row-section .music-row-wrap{
    transform:translateX(5px)!important;
  }
}

/* v0.0.20 — Move only Music quick-row arrows 4px outward. */
@media(min-width:851px){
  .music-page .music-row-section .music-row-wrap{
    margin-left:18px!important;
    margin-right:18px!important;
    transform:none!important;
  }
  .music-page .music-row-section .music-album-row{
    gap:16px!important;
  }
  .music-page .music-row-section .music-row-arrow-left{
    left:-62px!important;
  }
  .music-page .music-row-section .music-row-arrow-right{
    right:-62px!important;
  }
}

/* v0.0.21 — Move only Music quick-row arrows another 4px outward. */
@media(min-width:851px){
  .music-page .music-row-section .music-row-arrow-left{
    left:-66px!important;
  }
  .music-page .music-row-section .music-row-arrow-right{
    right:-66px!important;
  }
}



/* v0.0.23 — Music quick-row arrows exactly match Home large arrows. */
.music-page .music-row-section .music-row-arrow{
  background-repeat:no-repeat,no-repeat!important;
  background-position:center,center!important;
  background-size:31px 31px,cover!important;
  filter:none!important;
}
.music-page .music-row-section .music-row-arrow-left,
.music-page .music-row-section .music-row-arrow-left:hover,
.music-page .music-row-section .music-row-arrow-left:focus-visible{
  background-image:url('/assets/arrow-left-green.svg'),var(--ninja-button-face)!important;
}
.music-page .music-row-section .music-row-arrow-right,
.music-page .music-row-section .music-row-arrow-right:hover,
.music-page .music-row-section .music-row-arrow-right:focus-visible{
  background-image:url('/assets/arrow-right-green.svg'),var(--ninja-button-face)!important;
}
.music-page .music-row-section .music-row-arrow:hover,
.music-page .music-row-section .music-row-arrow:focus-visible{
  border-color:var(--ninja-ring-cyan)!important;
  filter:none!important;
}
.music-page .music-row-section .music-row-arrow img{
  display:none!important;
}

/* v0.0.24 — Library and subcategory cards 15% taller. */
.master-card{
  min-height:136px!important;
}
.music-category-card{
  height:129px!important;
}
.music-subcategory-card{
  height:167px!important;
}
@media(max-width:760px){
  .music-subcategory-card{
    height:132px!important;
  }
}
@media(max-width:520px){
  .master-card{
    min-height:115px!important;
  }
}

/* v0.0.25 — Unified library/category card rows with large side arrows. */
.category-card-row-wrap{
  position:relative;
  margin:0 0 26px;
  padding:0 58px;
}
.category-card-track{
  overflow:hidden!important;
}
.category-card-row-wrap .master-libraries{
  margin:0!important;
  display:grid!important;
  grid-auto-flow:column!important;
  grid-auto-columns:calc((100% - 90px)/6)!important;
  grid-template-columns:none!important;
  gap:18px!important;
}
.category-card-row-wrap .master-card{
  width:100%!important;
  min-height:0!important;
  aspect-ratio:16/9!important;
  padding:18px!important;
}
.category-card-row-wrap .category-row-arrow{
  top:50%!important;
  transform:translateY(-50%)!important;
}
.category-card-row-wrap .category-row-arrow.left{left:-17px!important}
.category-card-row-wrap .category-row-arrow.right{right:-17px!important}
.music-category-row-wrap{
  margin:0 0 52px!important;
}
.music-category-row-wrap .music-category-row{
  margin:0!important;
  padding:0!important;
  display:grid!important;
  grid-auto-flow:column!important;
  grid-auto-columns:calc((100% - 100px)/6)!important;
  grid-template-columns:none!important;
  gap:20px!important;
}
.music-category-row-wrap .music-category-card{
  width:100%!important;
  height:auto!important;
  aspect-ratio:16/9!important;
}
@media(max-width:1250px){
  .category-card-row-wrap .master-libraries,
  .music-category-row-wrap .music-category-row{
    grid-auto-columns:calc((100% - 54px)/4)!important;
  }
}
@media(max-width:850px){
  .category-card-row-wrap{padding:0!important}
  .category-card-row-wrap .category-row-arrow{display:none!important}
  .category-card-row-wrap .master-libraries,
  .music-category-row-wrap .music-category-row{
    grid-auto-columns:calc((100% - 12px)/2)!important;
    overflow-x:auto!important;
    gap:12px!important;
  }
}


/* v0.0.26 — Hero first with clean spacing before category rows. */
.hero + .category-card-row-wrap,
.music-section-hero + .music-category-row-wrap{
  margin-top:34px!important;
}

/* v0.0.27 — Equal section hero height prevents category-to-category page jump. */
.hero,
.music-section-hero{
  height:330px!important;
  min-height:330px!important;
  max-height:330px!important;
  overflow:hidden!important;
}
.hero-copy{
  height:100%!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  padding-top:36px!important;
  padding-bottom:36px!important;
}
@media(max-width:850px){
  .hero,
  .music-section-hero{
    height:280px!important;
    min-height:280px!important;
    max-height:280px!important;
  }
  .hero-copy{
    padding-top:28px!important;
    padding-bottom:28px!important;
  }
}

/* v0.0.28 — Music hero starts at the same vertical position as every other section. */
.music-page{
  margin-top:0!important;
  padding-top:0!important;
}
@media(max-width:760px){
  .music-page{
    margin-top:0!important;
    padding-top:0!important;
  }
}


/* v0.0.30 — YouTube uses the Music-style category row and square channel grid. */
.youtube-reference-layout{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
.youtube-section-hero{margin:0!important}
.youtube-section-hero + .youtube-category-row-wrap{margin-top:34px!important}
.youtube-category-row-wrap{margin-bottom:52px!important}
.youtube-category-row-wrap .music-category-row{grid-auto-columns:calc((100% - 100px)/6)!important}
.youtube-category-card{aspect-ratio:16/9!important;height:auto!important}
.youtube-library-section{margin:0!important;padding:0!important;background:transparent!important}
.youtube-channel-grid{grid-template-columns:repeat(8,minmax(0,1fr))!important}
.youtube-square-card .music-square-art{aspect-ratio:1/1!important}
@media(max-width:1250px){
  .youtube-category-row-wrap .music-category-row{grid-auto-columns:calc((100% - 54px)/4)!important}
  .youtube-channel-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important}
}
@media(max-width:850px){
  .youtube-category-row-wrap .music-category-row{grid-auto-columns:calc((100% - 12px)/2)!important}
  .youtube-channel-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}


/* v0.0.31 — TV uses the Music-style header tabs with no scrollbars. */
.music-header-tabs{
  overflow:hidden!important;
  scrollbar-width:none!important;
  -ms-overflow-style:none!important;
  max-width:min(635px,calc(100vw - 760px))!important;
}
.music-header-tabs::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}
.music-header-tabs button{min-width:0!important;flex:0 1 auto!important;white-space:nowrap!important}
@media(max-width:1250px){
  .music-header-tabs{min-width:0!important;max-width:min(520px,calc(100vw - 650px))!important}
  .music-header-tabs button{padding:0 11px!important;font-size:11px!important}
}
@media(max-width:1000px){
  .music-header-tabs{max-width:430px!important}
  .music-header-tabs button{padding:0 8px!important;font-size:10px!important}
}
@media(max-width:850px){.music-header-tabs{display:none!important}}

/* v0.0.33 — Nested Admin library category builder placeholder UI. */
.admin-library-builder{width:100%;max-width:1500px;margin:0 auto;padding:4px 0 80px}
.admin-builder-header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:18px}
.admin-builder-header h1{margin:0;font-size:34px}
.admin-builder-header p{margin:8px 0 0;color:var(--ninja-muted,#9caea2)}
.admin-add-master{min-height:48px;padding:0 18px;display:inline-flex;align-items:center;gap:10px;border:1px solid var(--ninja-green,#69e65d);border-radius:6px;background:linear-gradient(180deg,#111a13,#070b08);color:#fff;font-weight:800;cursor:pointer}
.admin-add-master img{width:22px;height:22px;filter:grayscale(1) brightness(1.4) sepia(1) hue-rotate(72deg) saturate(8)}
.admin-builder-legend{display:flex;gap:22px;flex-wrap:wrap;padding:11px 14px;margin-bottom:12px;border:1px solid rgba(105,230,93,.18);border-radius:6px;background:rgba(2,8,4,.62);color:#aebbb1;font-size:12px}
.admin-tree{display:grid;gap:8px}
.admin-tree-branch{min-width:0}
.admin-tree-row{--indent:calc(var(--admin-depth) * 34px);min-height:68px;margin-left:var(--indent);padding:9px 12px;display:grid;grid-template-columns:28px 30px minmax(150px,1fr) auto minmax(430px,auto);align-items:center;gap:10px;border:1px solid rgba(105,230,93,.25);border-left:3px solid rgba(105,230,93,.7);border-radius:7px;background:linear-gradient(90deg,rgba(14,24,16,.96),rgba(4,8,5,.96));box-shadow:0 8px 22px rgba(0,0,0,.32);transition:border-color .12s,transform .12s,opacity .12s}
.admin-tree-row.drag-over{border-color:#25dff5;box-shadow:0 0 0 1px #25dff5,0 8px 22px rgba(0,0,0,.45)}
.admin-tree-branch.dragging>.admin-tree-row{opacity:.45;transform:scale(.995)}
.admin-tree-row strong{font-size:17px;color:#f5fff7}
.admin-level-label{padding:5px 9px;border:1px solid rgba(255,255,255,.12);border-radius:999px;color:#9eb0a1;font-size:11px;white-space:nowrap}
.admin-expand{width:28px;height:28px;padding:0;border:1px solid rgba(105,230,93,.3);border-radius:50%;background:#071008;color:#69e65d;font-size:20px;line-height:1;cursor:pointer}
.admin-expand.empty{border-color:transparent;background:transparent;cursor:default}
.admin-drag-handle{width:30px;height:30px;display:grid;place-items:center;cursor:grab}
.admin-drag-handle img{width:22px;height:22px;filter:grayscale(1) brightness(1.25) sepia(1) hue-rotate(72deg) saturate(7)}
.admin-tree-actions{display:flex;justify-content:flex-end;gap:6px;min-width:0}
.admin-tree-actions button{height:38px;min-width:38px;padding:0 8px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid rgba(105,230,93,.35);border-radius:5px;background:#080d09;color:#effff1;cursor:pointer}
.admin-tree-actions button:hover{border-color:#25dff5}
.admin-tree-actions button.danger:hover{border-color:#ff5b6b}
.admin-tree-actions img{width:19px;height:19px;filter:grayscale(1) brightness(1.45) sepia(1) hue-rotate(72deg) saturate(8)}
.admin-tree-actions button:hover img{filter:grayscale(1) brightness(1.65) sepia(1) hue-rotate(130deg) saturate(8)}
.admin-tree-children{display:grid;gap:8px;margin-top:8px}
@media(max-width:1100px){.admin-tree-row{grid-template-columns:28px 30px minmax(130px,1fr);}.admin-level-label{display:none}.admin-tree-actions{grid-column:1/-1;justify-content:flex-start;padding-left:68px}.admin-tree-actions button span{display:none}}
@media(max-width:700px){.admin-builder-header{align-items:stretch;flex-direction:column}.admin-add-master{justify-content:center}.admin-tree-row{--indent:calc(var(--admin-depth) * 14px);margin-left:var(--indent);grid-template-columns:26px 26px minmax(0,1fr);padding:8px}.admin-tree-actions{padding-left:0;gap:5px;overflow-x:auto}.admin-tree-actions button{min-width:36px}.admin-builder-legend{gap:8px;flex-direction:column}}

/* v0.0.34 — Master-card grid and click-through nested subcategory layout. */
.admin-library-builder{max-width:1600px!important}
.admin-section-title{margin:22px 0 12px;font-size:22px}
.admin-master-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin-bottom:28px}
.admin-library-card{position:relative;min-width:0;border:1px solid rgba(105,230,93,.25);border-radius:8px;background:linear-gradient(145deg,rgba(14,24,16,.98),rgba(4,8,5,.98));box-shadow:0 10px 24px rgba(0,0,0,.38);overflow:hidden;transition:border-color .14s,box-shadow .14s,transform .14s}
.admin-library-card:hover,.admin-library-card.selected{border-color:#69e65d;box-shadow:0 0 0 1px rgba(105,230,93,.25),0 12px 26px rgba(0,0,0,.48)}
.admin-library-card.drag-over{border-color:#25dff5;box-shadow:0 0 0 2px rgba(37,223,245,.48),0 12px 26px rgba(0,0,0,.48)}
.admin-library-card.dragging{opacity:.45;transform:scale(.985)}
.admin-card-open{width:100%;min-height:132px;padding:17px 15px 13px;border:0;background:transparent;color:#fff;text-align:left;cursor:pointer}
.admin-card-icon{width:46px;height:46px;display:grid;place-items:center;margin-bottom:11px;border:3px solid #69e65d;border-radius:50%;background:#050805}
.admin-card-icon img{width:24px;height:24px;filter:grayscale(1) brightness(1.45) sepia(1) hue-rotate(72deg) saturate(8)}
.admin-card-open strong{display:block;font-size:19px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.admin-card-open small{display:block;margin-top:6px;color:#9eb0a1;font-size:12px}
.admin-card-actions{display:grid;grid-template-columns:minmax(0,1fr) repeat(6,36px);gap:4px;padding:8px;border-top:1px solid rgba(105,230,93,.14);background:rgba(1,5,2,.72)}
.admin-card-actions button{height:34px;min-width:0;padding:0 6px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid rgba(105,230,93,.28);border-radius:4px;background:#080d09;color:#effff1;cursor:pointer;overflow:hidden}
.admin-card-actions button:first-child{justify-content:flex-start;padding:0 9px}
.admin-card-actions button:hover{border-color:#25dff5}
.admin-card-actions button.danger:hover{border-color:#ff5b6b}
.admin-card-actions img{width:17px;height:17px;flex:0 0 17px;filter:grayscale(1) brightness(1.45) sepia(1) hue-rotate(72deg) saturate(8)}
.admin-card-actions span{font-size:11px;font-weight:800;white-space:nowrap}
.admin-drill-panel{padding:18px;border:1px solid rgba(105,230,93,.2);border-radius:9px;background:rgba(2,7,3,.7)}
.admin-breadcrumb{display:flex;align-items:center;gap:8px;padding:0 0 15px;overflow:hidden}
.admin-breadcrumb button{border:0;background:transparent;color:#69e65d;font-weight:800;cursor:pointer;padding:0;white-space:nowrap}
.admin-breadcrumb span{color:#66766a}
.admin-drill-header{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:16px}
.admin-drill-header h2{margin:0;font-size:24px}
.admin-drill-header p{margin:6px 0 0;color:#9eb0a1}
.admin-add-subcategory{min-height:42px;padding:0 14px;display:inline-flex;align-items:center;gap:8px;border:1px solid #69e65d;border-radius:5px;background:#080d09;color:#fff;font-weight:800;cursor:pointer}
.admin-add-subcategory img{width:19px;height:19px;filter:grayscale(1) brightness(1.45) sepia(1) hue-rotate(72deg) saturate(8)}
.admin-subcategory-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;min-height:120px}
.admin-empty-categories{grid-column:1/-1;min-height:120px;display:grid;place-items:center;border:1px dashed rgba(105,230,93,.22);border-radius:7px;color:#829087}
@media(max-width:1350px){.admin-master-grid,.admin-subcategory-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-card-actions{grid-template-columns:repeat(7,1fr)}.admin-card-actions button:first-child{grid-column:1/-1;justify-content:center}}
@media(max-width:980px){.admin-master-grid,.admin-subcategory-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.admin-master-grid,.admin-subcategory-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.admin-card-open{min-height:112px;padding:12px}.admin-drill-panel{padding:12px}.admin-drill-header{align-items:stretch;flex-direction:column}.admin-add-subcategory{justify-content:center}.admin-card-actions{grid-template-columns:repeat(4,1fr)}.admin-card-actions button:first-child{grid-column:1/-1}.admin-card-actions span{font-size:10px}}

/* v0.0.35 — Admin drag-only ordering and green action icons. */
.admin-card-actions{grid-template-columns:minmax(0,1fr) 36px 36px!important}
.admin-card-actions img,
.admin-card-actions button:hover img,
.admin-add-master img,
.admin-add-subcategory img,
.admin-card-icon img{filter:grayscale(1) brightness(1.45) sepia(1) hue-rotate(72deg) saturate(8)!important}
.admin-card-actions button:hover{border-color:#25dff5!important}
.admin-card-actions button.danger:hover{border-color:#25dff5!important}
@media(max-width:1350px){.admin-card-actions{grid-template-columns:minmax(0,1fr) 36px 36px!important}.admin-card-actions button:first-child{grid-column:auto!important;justify-content:flex-start!important}}
@media(max-width:700px){.admin-card-actions{grid-template-columns:minmax(0,1fr) 36px 36px!important}.admin-card-actions button:first-child{grid-column:auto!important}}

/* v0.0.36 — Keep Admin Edit/Delete assets their native Ninja green. */
.admin-card-actions button[data-admin-action="edit"] img,
.admin-card-actions button[data-admin-action="delete"] img,
.admin-card-actions button[data-admin-action="edit"]:hover img,
.admin-card-actions button[data-admin-action="delete"]:hover img{filter:none!important;opacity:1!important}

/* v0.0.37 — Edit Library placeholder panel. */
.admin-edit-shade{position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.78);display:flex;justify-content:flex-end;backdrop-filter:blur(5px)}
.admin-edit-panel{width:min(760px,96vw);height:100vh;background:#060a07;border-left:1px solid rgba(105,230,93,.36);box-shadow:-24px 0 60px rgba(0,0,0,.72);display:flex;flex-direction:column;color:#f4fff5}
.admin-edit-panel>header{min-height:88px;padding:18px 22px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(105,230,93,.18);background:#090e0a}
.admin-edit-panel>header small{color:#69e65d;text-transform:uppercase;letter-spacing:1.4px;font-weight:800}.admin-edit-panel>header h2{margin:4px 0 0;font-size:26px}.admin-edit-close{width:42px;height:42px;border:1px solid rgba(105,230,93,.35);border-radius:50%;background:#070b08;color:#69e65d;font-size:28px;cursor:pointer}
.admin-edit-body{flex:1;overflow:auto;padding:20px 22px 90px}.admin-edit-section{padding:18px;margin-bottom:16px;border:1px solid rgba(105,230,93,.18);border-radius:8px;background:rgba(11,18,12,.82)}.admin-edit-section h3{margin:0 0 16px;font-size:19px}.admin-field{display:grid;gap:7px}.admin-field span{font-size:12px;color:#aac6ae;font-weight:800;text-transform:uppercase}.admin-field input,.admin-filter-group input{height:42px;border:1px solid rgba(105,230,93,.25);border-radius:5px;background:#050805;color:#fff;padding:0 12px;font-size:14px}
.admin-card-upload{display:grid;grid-template-columns:180px 1fr;gap:16px;margin-top:16px}.admin-card-preview{aspect-ratio:16/9;border:1px dashed rgba(105,230,93,.36);border-radius:6px;background:#030503;display:grid;place-items:center;text-align:center;padding:12px;color:#8eaa92;font-size:12px}.admin-card-upload>div:last-child{display:flex;flex-wrap:wrap;align-content:center;gap:9px}.admin-upload-button,.admin-card-upload button{min-height:40px;padding:0 14px;border:1px solid rgba(105,230,93,.32);border-radius:5px;background:#071008;color:#69e65d;display:inline-flex;align-items:center;cursor:pointer}.admin-upload-button input{display:none}
.admin-source-grid,.admin-rating-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.admin-source-grid label,.admin-rating-grid label{min-height:42px;padding:0 10px;border:1px solid rgba(105,230,93,.18);border-radius:5px;background:#060a07;display:flex;align-items:center;gap:9px;cursor:pointer}.admin-source-grid input,.admin-rating-grid input{accent-color:#69e65d}.admin-source-grid span,.admin-rating-grid span{font-size:13px;font-weight:700}
.admin-filter-help{color:#9fb2a2;font-size:13px;line-height:1.45}.admin-filter-block{padding:14px 0;border-top:1px solid rgba(105,230,93,.12)}.admin-filter-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.admin-filter-title h4,.admin-rating-block h4{margin:0;font-size:15px}.admin-filter-title button,.admin-or-values button{height:34px;padding:0 10px;border:1px solid rgba(105,230,93,.28);border-radius:4px;background:#071008;color:#69e65d;cursor:pointer}.admin-filter-groups{display:grid;gap:10px;margin-top:10px}.admin-filter-group{display:grid;grid-template-columns:62px 1fr;gap:10px;align-items:start}.admin-filter-group-label{padding-top:12px;color:#69e65d;font-size:12px;font-weight:900;text-transform:uppercase}.admin-or-values{display:flex;gap:8px;flex-wrap:wrap}.admin-or-values label{display:flex;align-items:center;gap:7px}.admin-or-values input{width:150px}.admin-or-values label span{color:#25dff5;font-size:11px;font-weight:900}.admin-or-values label:last-of-type span{display:none}.admin-rating-block{padding-top:14px;border-top:1px solid rgba(105,230,93,.12)}.admin-rating-grid{margin-top:10px;grid-template-columns:repeat(4,minmax(0,1fr))}
.admin-filter-disabled{padding:18px;border:1px solid rgba(37,223,245,.25);border-radius:8px;background:rgba(4,17,18,.78)}.admin-filter-disabled strong{color:#25dff5}.admin-filter-disabled p{margin:7px 0 0;color:#a8bec0;line-height:1.5}.admin-edit-panel>footer{position:absolute;right:0;bottom:0;width:min(760px,96vw);height:72px;padding:12px 22px;display:flex;justify-content:flex-end;gap:10px;border-top:1px solid rgba(105,230,93,.18);background:#080d09}.admin-edit-panel>footer button{min-width:120px;border:1px solid rgba(105,230,93,.3);border-radius:5px;background:#070b08;color:#dfffe3;font-weight:800}.admin-edit-panel>footer .admin-edit-save{background:#102513;color:#69e65d;border-color:#69e65d}
@media(max-width:700px){.admin-card-upload{grid-template-columns:1fr}.admin-card-preview{max-width:240px}.admin-source-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-rating-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-filter-group{grid-template-columns:1fr}.admin-filter-group-label{padding-top:0}.admin-or-values input{width:132px}}


/* v0.0.38 — Uploaded library-card artwork replaces the builder placeholder immediately. */
.admin-library-card.has-card-art .admin-card-open{
  background-repeat:no-repeat!important;
  background-position:center!important;
  background-size:cover!important;
}
.admin-library-card.has-card-art .admin-card-icon{opacity:0!important}
.admin-library-card.has-card-art .admin-card-open strong,
.admin-library-card.has-card-art .admin-card-open small{
  position:relative;
  z-index:1;
  text-shadow:0 2px 6px #000,0 0 8px #000;
}
.admin-card-preview{overflow:hidden;position:relative}
.admin-card-preview.has-image{padding:0;background:#020302}
.admin-card-preview.has-image img{width:100%;height:100%;object-fit:cover;display:block}
.admin-card-preview.has-image span{position:absolute;left:0;right:0;bottom:0;padding:6px 8px;background:rgba(0,0,0,.72);color:#e8ffe9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* v0.0.39 — full-screen library editor and visible leaf-category filters. */
.admin-edit-shade{
  display:block!important;
  background:#040704!important;
  backdrop-filter:none!important;
}
.admin-edit-panel{
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  max-width:none!important;
  height:100vh!important;
  border:0!important;
  box-shadow:none!important;
  background:#060a07!important;
}
.admin-edit-panel>header{
  padding-left:clamp(22px,4vw,64px)!important;
  padding-right:clamp(22px,4vw,64px)!important;
}
.admin-edit-body{
  width:min(1500px,100%)!important;
  margin:0 auto!important;
  padding:28px clamp(22px,4vw,64px) 108px!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:20px!important;
  align-content:start!important;
}
.admin-edit-body>.admin-edit-section,
.admin-edit-body>.admin-filter-disabled{
  margin:0!important;
}
.admin-edit-body>.admin-leaf-filters,
.admin-edit-body>.admin-filter-disabled{
  grid-column:1/-1!important;
}
.admin-edit-panel>footer{
  position:fixed!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  width:100%!important;
  padding:12px clamp(22px,4vw,64px)!important;
}
.admin-leaf-filters{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
}
@media(max-width:900px){
  .admin-edit-body{grid-template-columns:1fr!important}
  .admin-edit-body>.admin-leaf-filters,
  .admin-edit-body>.admin-filter-disabled{grid-column:auto!important}
}


/* v0.0.40 — every master/subcategory Edit action uses the true full viewport editor. */
body.admin-editor-open{overflow:hidden!important}
.admin-edit-shade{position:fixed!important;inset:0!important;width:100dvw!important;height:100dvh!important;z-index:1000!important;background:#040704!important}
.admin-edit-panel{position:absolute!important;inset:0!important;width:100dvw!important;height:100dvh!important;max-width:none!important;max-height:none!important;margin:0!important;border-radius:0!important}
.admin-edit-body{width:100%!important;max-width:none!important;margin:0!important;padding-left:clamp(22px,4vw,64px)!important;padding-right:clamp(22px,4vw,64px)!important}
.admin-edit-panel>footer{z-index:2!important}

/* v0.0.42 — subcategories inherit sources from their master library. */
.admin-inherited-sources p{margin:0 0 12px;color:var(--ninja-muted,#9fb2a4)}
.admin-source-summary{display:flex;flex-wrap:wrap;gap:8px}
.admin-source-summary span{padding:9px 12px;border:1px solid rgba(105,230,93,.22);border-radius:5px;background:#060a07;color:#dff7e3;font-size:13px;font-weight:700}

/* v0.0.45 Admin Users and Roles placeholder UI */
.admin-users-page{display:grid;grid-template-columns:310px minmax(0,1fr);gap:18px;min-height:calc(100vh - var(--header-h) - 56px)}
.admin-users-left,.admin-users-main{border:1px solid rgba(96,255,116,.18);background:rgba(3,8,5,.72);border-radius:12px}
.admin-users-left{padding:14px;display:flex;flex-direction:column;gap:16px}
.admin-users-left section{display:grid;gap:8px}
.admin-users-kicker{font-size:12px;font-weight:900;letter-spacing:1.4px;color:var(--ninja-green)}
.admin-role-card,.admin-user-card{width:100%;border:1px solid rgba(128,155,140,.25);background:rgba(18,29,23,.78);color:#fff;border-radius:10px;padding:12px;text-align:left;cursor:pointer}
.admin-role-card.active,.admin-user-card.active{border-color:var(--ninja-green);background:rgba(28,73,41,.58);box-shadow:inset 3px 0 0 var(--ninja-green)}
.admin-role-card strong,.admin-role-card small,.admin-user-card strong,.admin-user-card small{display:block}.admin-role-card small,.admin-user-card small{color:#9fb1a5;margin-top:3px}
.admin-user-list{border-top:1px solid rgba(96,255,116,.15);padding-top:14px;max-height:58vh;overflow:auto}
.admin-user-card{display:flex;align-items:center;gap:11px}.admin-user-avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#12351d;border:2px solid var(--ninja-green);font-weight:900;color:#fff;flex:0 0 auto}.admin-user-avatar.large{width:72px;height:72px;font-size:25px}
.admin-add-user{min-height:42px;border:1px solid var(--ninja-green);background:#071009;color:var(--ninja-green);border-radius:8px;font-weight:800;cursor:pointer}
.admin-users-main{padding:18px}.admin-users-editor h1{margin:4px 0 18px}.admin-users-panel{border:1px solid rgba(145,173,158,.18);background:rgba(8,14,11,.74);border-radius:12px;padding:16px;margin-bottom:14px}.admin-users-panel h3{margin:0 0 14px}
.admin-users-panel label{display:grid;gap:7px;color:#c9d5cd;font-size:13px}.admin-users-panel input,.admin-users-panel select,.admin-users-panel textarea{width:100%;border:1px solid rgba(150,173,160,.35);background:#050907;color:#fff;border-radius:8px;padding:12px;font:inherit}.admin-users-panel textarea{resize:vertical}
.admin-user-name-row{display:grid;grid-template-columns:auto 1fr 1fr;align-items:end;gap:14px}.admin-user-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.admin-area-checks{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.admin-area-checks label,.admin-request-row>label{display:flex;align-items:center;gap:8px}.admin-area-checks input,.admin-request-row input[type=checkbox],.admin-user-library-grid input{width:auto}
.admin-request-row{display:grid;grid-template-columns:1fr minmax(180px,260px) 1fr;gap:18px;align-items:end}.admin-users-panel-title{display:flex;justify-content:space-between;align-items:center;gap:12px}.admin-users-panel-title h3{margin:0}.admin-users-panel-title small{color:#8fa397}
.admin-library-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.admin-library-tabs button{border:1px solid rgba(140,166,151,.35);background:#0b1510;color:#dce7df;border-radius:18px;padding:7px 14px}.admin-library-tabs button.active{border-color:var(--ninja-green);color:var(--ninja-green)}
.admin-user-library-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.admin-user-library-grid label{display:flex;align-items:center;gap:9px;padding:10px;border:1px solid rgba(143,167,152,.18);border-radius:8px;background:rgba(14,23,18,.65)}
.admin-user-actions{display:flex;gap:12px}.admin-user-save,.admin-user-delete{min-height:44px;padding:0 20px;border-radius:8px;font-weight:900;cursor:pointer}.admin-user-save{border:1px solid var(--ninja-green);background:var(--ninja-green);color:#031005}.admin-user-delete{border:1px solid #b95252;background:#1a0909;color:#ffb0b0}.admin-user-empty{color:#91a597}
@media(max-width:1000px){.admin-users-page{grid-template-columns:250px minmax(0,1fr)}.admin-area-checks{grid-template-columns:repeat(2,1fr)}.admin-request-row{grid-template-columns:1fr}.admin-user-name-row{grid-template-columns:auto 1fr}.admin-user-name-row label:last-child{grid-column:1/-1}.admin-user-library-grid{grid-template-columns:1fr}}
@media(max-width:700px){.admin-users-page{grid-template-columns:1fr}.admin-users-left{position:static}.admin-user-form-grid{grid-template-columns:1fr}}


/* v0.0.46 — Users/Roles reference-layout repair. Isolated from global aside/main rules. */
.admin-users-page{
  width:100%!important;
  min-height:calc(100vh - var(--header-h) - 42px)!important;
  display:grid!important;
  grid-template-columns:300px minmax(0,1fr)!important;
  gap:18px!important;
  align-items:start!important;
  margin:0!important;
  padding:0!important;
}
.admin-users-left{
  position:relative!important;
  inset:auto!important;
  width:auto!important;
  height:auto!important;
  min-height:calc(100vh - var(--header-h) - 42px)!important;
  transform:none!important;
  transition:none!important;
  display:flex!important;
  flex-direction:column!important;
  gap:14px!important;
  padding:14px!important;
  overflow:visible!important;
  border:1px solid rgba(96,255,116,.22)!important;
  border-radius:12px!important;
  background:rgba(3,8,5,.72)!important;
  box-shadow:none!important;
}
.admin-role-list,.admin-user-list{
  display:grid!important;
  gap:8px!important;
}
.admin-user-list{
  border-top:1px solid rgba(96,255,116,.16)!important;
  padding-top:14px!important;
  max-height:none!important;
  overflow:visible!important;
}
.admin-users-main{
  position:relative!important;
  width:100%!important;
  min-width:0!important;
  min-height:calc(100vh - var(--header-h) - 42px)!important;
  margin:0!important;
  padding:18px!important;
  border:1px solid rgba(96,255,116,.22)!important;
  border-radius:12px!important;
  background:rgba(3,8,5,.72)!important;
  overflow:visible!important;
}
.admin-users-editor{width:100%!important;max-width:none!important}
.admin-users-editor h1{font-size:28px!important;margin:4px 0 18px!important}
.admin-users-panel{width:100%!important}
.admin-user-name-row{grid-template-columns:84px minmax(260px,1fr) minmax(320px,1fr)!important}
.admin-user-form-grid{grid-template-columns:repeat(2,minmax(260px,1fr))!important}
.admin-user-library-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.admin-role-card,.admin-user-card{min-height:58px!important}
.admin-user-card{grid-template-columns:auto 1fr!important}
@media(max-width:1100px){
  .admin-users-page{grid-template-columns:250px minmax(0,1fr)!important}
  .admin-user-name-row{grid-template-columns:72px 1fr!important}
  .admin-user-name-row label:last-child{grid-column:1/-1!important}
}
@media(max-width:760px){
  .admin-users-page{grid-template-columns:1fr!important}
  .admin-users-left,.admin-users-main{min-height:auto!important}
  .admin-user-form-grid,.admin-user-library-grid{grid-template-columns:1fr!important}
}

/* v0.0.47 — Separate Admin drawer. Uses the same visual system as the user drawer. */
#adminDrawer{z-index:41}
#adminDrawer .drawer-footer small{color:var(--ninja-green)!important}
.admin-entry-button{margin-top:8px;border-top:1px solid rgba(89,255,119,.12)!important}
.admin-back-to-user{margin-bottom:8px;border-bottom:1px solid rgba(89,255,119,.12)!important}

/* v0.0.49 — Dojo-specific Admin Sources and YouTube Source Manager. */
.admin-sources-page,.youtube-source-manager{width:100%;max-width:1680px;margin:0 auto;padding:4px 0 70px}.admin-sources-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:24px}.admin-sources-heading h1,.youtube-source-header h1{font-size:38px;margin:3px 0 6px}.admin-sources-heading p,.youtube-source-header p{margin:0;color:#9db09f}.admin-source-kicker{color:#69e65d;font-size:11px;font-weight:900;letter-spacing:1.8px}.admin-source-card-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.admin-source-card{min-height:205px;padding:16px;border:1px solid rgba(105,230,93,.2);border-radius:10px;background:linear-gradient(145deg,rgba(13,21,15,.96),rgba(4,8,5,.98));box-shadow:0 14px 34px rgba(0,0,0,.46);display:flex;flex-direction:column}.admin-source-card-top{display:flex;align-items:center;gap:11px}.admin-source-card-top .icon-template{width:46px;height:46px}.admin-source-card h2{margin:0;font-size:19px}.admin-source-card small{color:#69e65d}.admin-source-card p{color:#a7b9aa;line-height:1.5;flex:1}.admin-source-edit,.youtube-source-back,.youtube-source-primary{min-height:44px;padding:0 14px;border:1px solid rgba(105,230,93,.3);border-radius:6px;background:#071008;color:#eaffed;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-weight:800;cursor:pointer}.admin-source-edit .icon-template,.youtube-source-back .icon-template,.youtube-source-primary .icon-template{width:32px;height:32px}.youtube-source-header{display:flex;align-items:center;gap:22px;margin-bottom:22px}.youtube-source-back{flex:0 0 auto}.youtube-source-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.youtube-source-status-grid article{min-height:128px;padding:18px;border:1px solid rgba(105,230,93,.18);border-radius:8px;background:rgba(7,13,8,.92);display:grid;align-content:start;gap:5px}.youtube-source-status-grid strong{font-size:12px;text-transform:uppercase;color:#bcd1bf}.youtube-source-status-grid span{font-size:31px;font-weight:900;color:#69e65d}.youtube-source-status-grid span.is-on{color:#25dff5}.youtube-source-status-grid small{color:#8da191}.youtube-source-panel{padding:22px;margin-bottom:18px;border:1px solid rgba(105,230,93,.18);border-radius:10px;background:linear-gradient(145deg,rgba(11,18,12,.95),rgba(4,8,5,.98));box-shadow:0 12px 28px rgba(0,0,0,.36)}.youtube-source-panel-title{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}.youtube-source-panel-title h2{margin:3px 0 0}.youtube-source-panel-title p{margin:5px 0 0;color:#93a796}.youtube-source-primary.compact{min-height:38px}.youtube-source-form-grid{display:grid;grid-template-columns:1fr 2fr;gap:14px}.youtube-source-form-grid label{display:grid;gap:7px;color:#bcd0bf;font-size:12px;font-weight:800;text-transform:uppercase}.youtube-source-form-grid input,.youtube-source-form-grid select,.youtube-source-add-row input{height:44px;border:1px solid rgba(105,230,93,.24);border-radius:5px;background:#050805;color:#fff;padding:0 12px}.youtube-source-add-row{display:grid;grid-template-columns:1fr auto;gap:10px;margin-bottom:16px}.youtube-source-add-row button,.youtube-source-request-list button{min-height:42px;padding:0 16px;border:1px solid rgba(105,230,93,.3);border-radius:5px;background:#071008;color:#69e65d;font-weight:800;cursor:pointer}.youtube-source-channel-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.youtube-source-channel-card{display:grid;grid-template-columns:66px 1fr auto;gap:13px;align-items:center;padding:13px;border:1px solid rgba(105,230,93,.15);border-radius:7px;background:#060a07}.youtube-source-channel-art{width:66px;aspect-ratio:1;border-radius:7px;background:linear-gradient(145deg,#223b28,#08100a);display:grid;place-items:center;color:#69e65d;font-size:18px;font-weight:900}.youtube-source-channel-copy{display:grid;gap:3px;min-width:0}.youtube-source-channel-copy strong{font-size:16px}.youtube-source-channel-copy small,.youtube-source-channel-copy span{color:#9bb09e}.youtube-source-channel-copy em{color:#25dff5;font-size:11px;font-style:normal}.youtube-source-channel-actions{display:flex;gap:6px}.youtube-source-channel-actions button,.youtube-source-category-list button{width:38px;height:38px;border:1px solid rgba(105,230,93,.2);border-radius:50%;background:#070b08;padding:2px;cursor:pointer}.youtube-source-channel-actions .icon-template,.youtube-source-category-list .icon-template{width:30px;height:30px}.youtube-source-two-column{display:grid;grid-template-columns:1fr 1fr;gap:18px}.youtube-source-request-list,.youtube-source-category-list{display:grid;gap:9px}.youtube-source-request-list article,.youtube-source-category-list article{min-height:58px;padding:10px 12px;border:1px solid rgba(105,230,93,.15);border-radius:6px;background:#060a07;display:flex;align-items:center;justify-content:space-between;gap:12px}.youtube-source-request-list article>div:first-child{display:grid;gap:3px}.youtube-source-request-list small{color:#94a797}.youtube-source-request-list .danger{border-color:rgba(255,90,90,.35);color:#ff9a9a}.youtube-source-category-list article{cursor:grab}.youtube-source-category-list article>div{display:flex;gap:6px}.youtube-drag-handle{color:#69e65d;font-weight:900;letter-spacing:-2px}.youtube-source-placeholder{min-height:260px;border:1px dashed rgba(105,230,93,.28);border-radius:8px;display:grid;place-content:center;text-align:center;gap:6px;color:#92a895}.youtube-source-placeholder strong{color:#eaffed;font-size:20px}
@media(max-width:1400px){.admin-source-card-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.movie-source-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1100px){.admin-source-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.movie-source-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.youtube-source-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.youtube-source-two-column,.youtube-source-channel-grid{grid-template-columns:1fr}.youtube-source-form-grid{grid-template-columns:1fr}}
@media(max-width:700px){.admin-source-card-grid{grid-template-columns:1fr}.youtube-source-header{align-items:flex-start;flex-direction:column}.youtube-source-status-grid{grid-template-columns:1fr}.youtube-source-panel{padding:14px}.youtube-source-panel-title{align-items:stretch;flex-direction:column}.youtube-source-channel-card{grid-template-columns:54px 1fr}.youtube-source-channel-art{width:54px}.youtube-source-channel-actions{grid-column:1/-1;justify-content:flex-end}.youtube-source-add-row{grid-template-columns:1fr}}

/* v0.0.50 — Full-width YouTube channel category organizer. */
.youtube-category-organizer-panel{width:100%!important;overflow:visible!important}
.youtube-category-row-wrap{position:relative;width:100%;padding:0 72px}
.youtube-category-organizer-row{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(330px,390px);gap:16px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;scroll-behavior:smooth;overscroll-behavior-inline:contain;padding:4px 0 8px}
.youtube-category-organizer-row::-webkit-scrollbar{display:none}
.youtube-category-arrow{top:50%!important;transform:translateY(-50%)!important}
.youtube-category-arrow.left{left:2px!important}.youtube-category-arrow.right{right:2px!important}
.youtube-category-organizer-card{min-height:235px;padding:14px;border:1px solid rgba(105,230,93,.22);border-radius:9px;background:linear-gradient(145deg,rgba(11,18,12,.98),rgba(4,8,5,.98));display:flex;flex-direction:column;gap:12px}
.youtube-category-organizer-card>header{display:flex;align-items:center;justify-content:space-between;gap:12px}
.youtube-category-organizer-card>header>div:first-child{display:grid;gap:3px}.youtube-category-organizer-card>header strong{font-size:18px}.youtube-category-organizer-card>header small{color:#8fa594}
.youtube-category-actions{display:flex;gap:6px}.youtube-category-actions button{width:36px;height:36px;border:1px solid rgba(105,230,93,.22);border-radius:50%;background:#070b08;padding:2px;cursor:pointer}.youtube-category-actions .icon-template{width:28px;height:28px}
.youtube-category-dropzone{min-height:160px;display:grid;align-content:start;gap:8px;padding:10px;border:1px dashed rgba(105,230,93,.24);border-radius:7px;background:rgba(1,5,2,.65);transition:border-color .16s ease,background .16s ease}
.youtube-category-dropzone>span{align-self:center;justify-self:center;color:#6f8273;font-size:12px;text-transform:uppercase;letter-spacing:1px}
.youtube-category-dropzone.is-drop-target,.youtube-category-organizer-card.is-drop-target{border-color:#25dff5!important;background:rgba(12,49,52,.32)!important}
.youtube-source-channel-card[draggable="true"]{cursor:grab}.youtube-source-channel-card.is-dragging{opacity:.42}
.youtube-source-channel-art{overflow:hidden}.youtube-source-channel-art img{width:100%;height:100%;display:block;object-fit:cover}
.youtube-source-channel-card.is-compact{grid-template-columns:46px 1fr auto;padding:8px;gap:9px;background:#071009}
.youtube-source-channel-card.is-compact .youtube-source-channel-art{width:46px;border-radius:50%}
.youtube-source-channel-card.is-compact .youtube-source-channel-copy strong{font-size:13px}.youtube-source-channel-card.is-compact .youtube-source-channel-copy small{font-size:11px}
.youtube-channel-unassign{width:30px;height:30px;border:1px solid rgba(105,230,93,.24);border-radius:50%;background:#060a07;color:#69e65d;font-size:19px;cursor:pointer}
.youtube-uncategorized-grid{min-height:110px;padding:4px;border-radius:8px;transition:border-color .16s ease,background .16s ease}
.youtube-uncategorized-grid.is-drop-target{outline:2px dashed #25dff5;background:rgba(12,49,52,.22)}
.youtube-empty-library{grid-column:1/-1;min-height:100px;display:grid;place-items:center;border:1px dashed rgba(105,230,93,.2);border-radius:7px;color:#7f9383}
@media(max-width:900px){.youtube-category-row-wrap{padding:0}.youtube-category-arrow{display:none!important}.youtube-category-organizer-row{grid-auto-columns:minmax(290px,86vw)}}

/* v0.0.51 — Keep YouTube category arrows fixed on hover. */
.youtube-category-arrow,
.youtube-category-arrow:hover,
.youtube-category-arrow:focus-visible,
.youtube-category-arrow:active{
  top:50%!important;
  transform:translateY(-50%)!important;
}


/* v0.0.52 YouTube channel collector editor */
.youtube-channel-editor-page{width:100%}
.youtube-channel-summary{display:grid;grid-template-columns:110px 1fr auto;gap:20px;align-items:center}
.youtube-channel-summary-art{width:110px;aspect-ratio:1;border-radius:14px;overflow:hidden;border:1px solid rgba(105,230,93,.26);background:#071008}
.youtube-channel-summary-art img{width:100%;height:100%;object-fit:cover;display:block}
.youtube-channel-summary h2{margin:0 0 4px;font-size:26px}.youtube-channel-summary p{margin:0 0 7px;color:#99ad9d}.youtube-channel-summary span{color:#25dff5;font-size:12px;text-transform:uppercase;letter-spacing:1px}
.youtube-channel-summary-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.youtube-collector-instructions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 18px}
.youtube-collector-instructions article{min-height:92px;padding:14px;border:1px solid rgba(105,230,93,.16);border-radius:8px;background:#060a07;display:flex;align-items:flex-start;gap:12px}
.youtube-collector-instructions strong{width:30px;height:30px;border:2px solid #69e65d;border-radius:50%;display:grid;place-items:center;color:#69e65d;flex:0 0 auto}.youtube-collector-instructions span{color:#b7c8ba;line-height:1.45}
.youtube-collector-paste-label{display:grid;gap:8px;color:#c7d7ca;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.6px}
.youtube-collector-paste-label textarea{width:100%;min-height:300px;resize:vertical;padding:16px;border:1px solid rgba(105,230,93,.27);border-radius:8px;background:#030604;color:#eaffed;font:13px/1.5 Consolas,monospace;box-shadow:inset 0 0 18px rgba(0,0,0,.45)}
.youtube-collector-paste-label textarea:focus{outline:1px solid #25dff5;border-color:#25dff5}
.youtube-collector-detect-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:16px 0}.youtube-collector-detect-row>div{margin-right:auto;display:flex;align-items:baseline;gap:8px}.youtube-collector-detect-row strong{font-size:32px;color:#69e65d}.youtube-collector-detect-row span{color:#99ad9d}
.youtube-source-primary:disabled{opacity:.4;cursor:not-allowed}
.youtube-collector-status{padding:16px;border:1px solid rgba(105,230,93,.17);border-radius:8px;background:#050905}.youtube-collector-status-head{display:flex;justify-content:space-between;gap:15px;margin-bottom:10px}.youtube-collector-status-head span{color:#a7b8aa}.youtube-collector-progress{height:9px;border-radius:999px;overflow:hidden;background:#101811}.youtube-collector-progress i{display:block;width:0;height:100%;background:linear-gradient(90deg,#69e65d,#25dff5);transition:width .35s ease}
.youtube-collector-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:13px}.youtube-collector-stats span{padding:10px;border:1px solid rgba(105,230,93,.12);border-radius:6px;color:#9db0a0}.youtube-collector-stats b{display:block;color:#eaffed;font-size:20px}
.youtube-console-fallback{margin-top:14px;padding:12px 14px;border:1px solid rgba(105,230,93,.14);border-radius:7px;background:#050905}.youtube-console-fallback summary{cursor:pointer;color:#69e65d;font-weight:800}.youtube-console-fallback p{color:#9fb1a2}
@media(max-width:1000px){.youtube-channel-summary{grid-template-columns:90px 1fr}.youtube-channel-summary-actions{grid-column:1/-1;justify-content:flex-start}.youtube-collector-instructions{grid-template-columns:repeat(2,minmax(0,1fr))}.youtube-collector-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.youtube-channel-summary{grid-template-columns:70px 1fr}.youtube-channel-summary-art{width:70px}.youtube-collector-instructions,.youtube-collector-stats{grid-template-columns:1fr}.youtube-collector-detect-row{align-items:stretch;flex-direction:column}.youtube-collector-detect-row>div{margin-right:0}.youtube-source-primary{width:100%}}


/* v0.0.53 collector entry wiring */
.youtube-source-channel-actions button[data-youtube-build-channel]{border-color:rgba(37,223,245,.45)!important}
.youtube-source-channel-actions button[data-youtube-build-channel]:hover{border-color:#25dff5!important}
.youtube-compact-channel-actions{display:flex;align-items:center;gap:6px;margin-left:auto}
.youtube-compact-channel-actions button{width:34px;height:34px;border:1px solid rgba(105,230,93,.28);border-radius:50%;background:#050905;display:grid;place-items:center;cursor:pointer}
.youtube-compact-channel-actions button img{width:18px;height:18px;filter:grayscale(1) brightness(1.45) sepia(1) hue-rotate(72deg) saturate(8)}
.youtube-compact-channel-actions button:hover{border-color:#25dff5}
.youtube-compact-channel-actions .youtube-channel-unassign{position:static;margin:0;color:#69e65d;font-size:21px;line-height:1}

/* v0.0.54 — Full-width YouTube channel editor and clean icon spacing. */
.youtube-channel-editor-page{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0 0 72px!important;
}
.youtube-channel-editor-page .youtube-source-header{
  width:100%!important;
  gap:26px!important;
  margin-bottom:26px!important;
}
.youtube-channel-editor-page .youtube-source-panel{
  width:100%!important;
  padding:28px!important;
  margin-bottom:24px!important;
}
.youtube-channel-editor-page .youtube-channel-summary{
  grid-template-columns:128px minmax(260px,1fr) auto!important;
  gap:28px!important;
}
.youtube-channel-editor-page .youtube-channel-summary-art{
  width:128px!important;
}
.youtube-channel-editor-page .youtube-channel-summary-actions{
  gap:14px!important;
}
.youtube-channel-editor-page .youtube-source-panel-title{
  gap:24px!important;
  margin-bottom:22px!important;
}
.youtube-channel-editor-page .youtube-source-primary,
.youtube-channel-editor-page .youtube-source-back{
  min-height:58px!important;
  padding:0 18px!important;
  gap:12px!important;
  flex:0 0 auto!important;
  white-space:nowrap!important;
}
.youtube-channel-editor-page .youtube-source-primary .icon-template,
.youtube-channel-editor-page .youtube-source-back .icon-template{
  width:40px!important;
  height:40px!important;
  min-width:40px!important;
  flex:0 0 40px!important;
  border:3px solid var(--ninja-ring-green)!important;
  background-color:#030303!important;
  background-image:var(--ninja-button-face)!important;
  box-shadow:0 2px 8px rgba(0,0,0,.48)!important;
}
.youtube-channel-editor-page .youtube-source-primary .icon-template img,
.youtube-channel-editor-page .youtube-source-back .icon-template img{
  width:21px!important;
  height:21px!important;
  filter:var(--ninja-icon-green-filter)!important;
}
.youtube-channel-editor-page .youtube-source-primary:hover .icon-template,
.youtube-channel-editor-page .youtube-source-primary:focus-visible .icon-template,
.youtube-channel-editor-page .youtube-source-back:hover .icon-template,
.youtube-channel-editor-page .youtube-source-back:focus-visible .icon-template{
  border-color:var(--ninja-ring-cyan)!important;
  background-image:var(--ninja-button-face)!important;
  box-shadow:0 0 10px rgba(37,230,243,.26)!important;
  filter:none!important;
}
.youtube-channel-editor-page .youtube-source-primary:hover .icon-template img,
.youtube-channel-editor-page .youtube-source-primary:focus-visible .icon-template img,
.youtube-channel-editor-page .youtube-source-back:hover .icon-template img,
.youtube-channel-editor-page .youtube-source-back:focus-visible .icon-template img{
  filter:var(--ninja-icon-green-filter)!important;
}
.youtube-channel-editor-page .youtube-collector-instructions{
  gap:16px!important;
  margin-bottom:22px!important;
}
.youtube-channel-editor-page .youtube-collector-instructions article{
  min-height:104px!important;
  padding:17px!important;
  gap:14px!important;
}
.youtube-channel-editor-page .youtube-collector-paste-label textarea{
  min-height:340px!important;
  padding:18px!important;
}
.youtube-channel-editor-page .youtube-collector-detect-row{
  gap:14px!important;
  margin:20px 0!important;
}
.youtube-channel-editor-page .youtube-collector-status{
  padding:20px!important;
}
@media(max-width:1100px){
  .youtube-channel-editor-page .youtube-channel-summary{grid-template-columns:100px 1fr!important}
  .youtube-channel-editor-page .youtube-channel-summary-art{width:100px!important}
  .youtube-channel-editor-page .youtube-channel-summary-actions{grid-column:1/-1!important;justify-content:flex-start!important}
}
@media(max-width:650px){
  .youtube-channel-editor-page .youtube-source-panel{padding:18px!important}
  .youtube-channel-editor-page .youtube-source-primary,
  .youtube-channel-editor-page .youtube-source-back{width:100%!important;justify-content:flex-start!important}
  .youtube-channel-editor-page .youtube-source-panel-title{align-items:stretch!important;flex-direction:column!important}
}

/* v0.0.55 — Actual full-viewport YouTube channel editor and stable icon alignment. */
.youtube-channel-editor-page{
  position:fixed!important;
  top:var(--header-h)!important;
  right:0!important;
  bottom:0!important;
  left:0!important;
  z-index:24!important;
  width:100vw!important;
  max-width:none!important;
  height:calc(100vh - var(--header-h))!important;
  margin:0!important;
  padding:24px clamp(24px,3vw,54px) 70px!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  box-sizing:border-box!important;
  background-color:#050505!important;
  background-image:var(--ninja-page-wallpaper)!important;
  background-position:center top!important;
  background-size:cover!important;
  background-repeat:no-repeat!important;
}
.youtube-channel-editor-page>.youtube-source-header,
.youtube-channel-editor-page>.youtube-source-panel{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}
.youtube-channel-editor-page .youtube-source-header{
  padding:0 0 4px!important;
  gap:26px!important;
}
.youtube-channel-editor-page .youtube-source-panel{
  padding:28px!important;
  margin-bottom:22px!important;
}
.youtube-channel-editor-page .youtube-channel-summary-actions,
.youtube-channel-editor-page .youtube-source-panel-title,
.youtube-channel-editor-page .youtube-collector-detect-row{
  column-gap:18px!important;
  row-gap:14px!important;
}
.youtube-channel-editor-page .youtube-source-primary,
.youtube-channel-editor-page .youtube-source-back{
  min-height:60px!important;
  padding:0 20px!important;
  gap:14px!important;
  transform:none!important;
  translate:none!important;
  scale:1!important;
}
.youtube-channel-editor-page .youtube-source-primary:hover,
.youtube-channel-editor-page .youtube-source-primary:focus-visible,
.youtube-channel-editor-page .youtube-source-primary:active,
.youtube-channel-editor-page .youtube-source-back:hover,
.youtube-channel-editor-page .youtube-source-back:focus-visible,
.youtube-channel-editor-page .youtube-source-back:active{
  transform:none!important;
  translate:none!important;
  scale:1!important;
}
.youtube-channel-editor-page .youtube-source-primary .icon-template,
.youtube-channel-editor-page .youtube-source-back .icon-template{
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  min-height:42px!important;
  flex:0 0 42px!important;
  display:grid!important;
  place-items:center!important;
  padding:0!important;
  margin:0!important;
  line-height:0!important;
  transform:none!important;
  translate:none!important;
  scale:1!important;
  overflow:hidden!important;
}
.youtube-channel-editor-page .youtube-source-primary .icon-template img,
.youtube-channel-editor-page .youtube-source-back .icon-template img{
  display:block!important;
  width:21px!important;
  height:21px!important;
  margin:0!important;
  padding:0!important;
  object-fit:contain!important;
  object-position:center!important;
  transform:none!important;
  translate:none!important;
  scale:1!important;
  filter:var(--ninja-icon-green-filter)!important;
}
.youtube-channel-editor-page .youtube-source-primary:hover .icon-template,
.youtube-channel-editor-page .youtube-source-primary:focus-visible .icon-template,
.youtube-channel-editor-page .youtube-source-primary:active .icon-template,
.youtube-channel-editor-page .youtube-source-back:hover .icon-template,
.youtube-channel-editor-page .youtube-source-back:focus-visible .icon-template,
.youtube-channel-editor-page .youtube-source-back:active .icon-template{
  border-color:var(--ninja-ring-cyan)!important;
  transform:none!important;
  translate:none!important;
  scale:1!important;
}
.youtube-channel-editor-page .youtube-source-primary:hover .icon-template img,
.youtube-channel-editor-page .youtube-source-primary:focus-visible .icon-template img,
.youtube-channel-editor-page .youtube-source-primary:active .icon-template img,
.youtube-channel-editor-page .youtube-source-back:hover .icon-template img,
.youtube-channel-editor-page .youtube-source-back:focus-visible .icon-template img,
.youtube-channel-editor-page .youtube-source-back:active .icon-template img{
  filter:var(--ninja-icon-green-filter)!important;
  transform:none!important;
}
@media(max-width:700px){
  .youtube-channel-editor-page{
    padding:18px 14px 55px!important;
  }
  .youtube-channel-editor-page .youtube-source-panel{
    padding:18px!important;
  }
}

/* v0.0.57 — Actual rendered YouTube Sources manager width and action-button repair. */
.youtube-source-manager:not(.youtube-channel-editor-page){
  width:calc(100vw - 48px)!important;
  max-width:none!important;
  margin-left:calc(50% - 50vw + 24px)!important;
  margin-right:0!important;
  padding-left:0!important;
  padding-right:0!important;
}
.youtube-source-manager:not(.youtube-channel-editor-page) .youtube-source-panel,
.youtube-source-manager:not(.youtube-channel-editor-page) .youtube-source-status-grid,
.youtube-source-manager:not(.youtube-channel-editor-page) .youtube-source-header{
  width:100%!important;
  max-width:none!important;
}
.youtube-source-manager .youtube-source-channel-actions,
.youtube-source-manager .youtube-category-actions,
.youtube-source-manager .youtube-compact-channel-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:12px!important;
}
.youtube-source-manager .youtube-source-channel-actions button,
.youtube-source-manager .youtube-category-actions button,
.youtube-source-manager .youtube-compact-channel-actions button{
  width:46px!important;
  height:46px!important;
  min-width:46px!important;
  min-height:46px!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:50%!important;
  background:transparent!important;
  display:grid!important;
  place-items:center!important;
  line-height:0!important;
  transform:none!important;
  translate:none!important;
  scale:1!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.youtube-source-manager .youtube-source-channel-actions .icon-template,
.youtube-source-manager .youtube-category-actions .icon-template,
.youtube-source-manager .youtube-compact-channel-actions .icon-template{
  width:46px!important;
  height:46px!important;
  min-width:46px!important;
  min-height:46px!important;
  flex:0 0 46px!important;
  margin:0!important;
  padding:0!important;
  border:3px solid var(--ninja-ring-green)!important;
  border-radius:50%!important;
  background:#030303 var(--ninja-button-face) center/cover no-repeat!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
  transform:none!important;
  translate:none!important;
  scale:1!important;
  filter:none!important;
  box-shadow:0 2px 8px rgba(0,0,0,.45)!important;
}
.youtube-source-manager .youtube-source-channel-actions .icon-template img,
.youtube-source-manager .youtube-category-actions .icon-template img,
.youtube-source-manager .youtube-compact-channel-actions .icon-template img{
  width:22px!important;
  height:22px!important;
  margin:0!important;
  padding:0!important;
  display:block!important;
  object-fit:contain!important;
  object-position:center!important;
  background:none!important;
  border:0!important;
  transform:none!important;
  translate:none!important;
  scale:1!important;
  filter:var(--ninja-icon-green-filter)!important;
}
.youtube-source-manager .youtube-source-channel-actions button:hover,
.youtube-source-manager .youtube-source-channel-actions button:focus-visible,
.youtube-source-manager .youtube-category-actions button:hover,
.youtube-source-manager .youtube-category-actions button:focus-visible,
.youtube-source-manager .youtube-compact-channel-actions button:hover,
.youtube-source-manager .youtube-compact-channel-actions button:focus-visible{
  transform:none!important;
  translate:none!important;
  scale:1!important;
  background:transparent!important;
}
.youtube-source-manager .youtube-source-channel-actions button:hover .icon-template,
.youtube-source-manager .youtube-source-channel-actions button:focus-visible .icon-template,
.youtube-source-manager .youtube-category-actions button:hover .icon-template,
.youtube-source-manager .youtube-category-actions button:focus-visible .icon-template,
.youtube-source-manager .youtube-compact-channel-actions button:hover .icon-template,
.youtube-source-manager .youtube-compact-channel-actions button:focus-visible .icon-template{
  border-color:var(--ninja-ring-cyan)!important;
  background:#030303 var(--ninja-button-face) center/cover no-repeat!important;
  transform:none!important;
  filter:none!important;
  box-shadow:0 0 10px rgba(37,223,245,.25)!important;
}
.youtube-source-manager .youtube-source-channel-actions button:hover .icon-template img,
.youtube-source-manager .youtube-source-channel-actions button:focus-visible .icon-template img,
.youtube-source-manager .youtube-category-actions button:hover .icon-template img,
.youtube-source-manager .youtube-category-actions button:focus-visible .icon-template img,
.youtube-source-manager .youtube-compact-channel-actions button:hover .icon-template img,
.youtube-source-manager .youtube-compact-channel-actions button:focus-visible .icon-template img{
  filter:var(--ninja-icon-green-filter)!important;
  transform:none!important;
}
.youtube-source-manager .youtube-source-channel-card{
  column-gap:18px!important;
  padding:16px!important;
}
.youtube-source-manager .youtube-category-organizer-row{
  gap:22px!important;
}
@media(max-width:700px){
  .youtube-source-manager:not(.youtube-channel-editor-page){
    width:calc(100vw - 28px)!important;
    margin-left:calc(50% - 50vw + 14px)!important;
  }
}

/* v0.0.58 — persistent Movies Dojo sources */
.movie-source-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.movie-source-card{padding:14px;border:1px solid var(--ninja-border-soft);border-radius:8px;background:linear-gradient(145deg,rgba(12,20,15,.96),rgba(3,7,4,.98));box-shadow:0 10px 24px rgba(0,0,0,.42)}
.movie-source-card.is-disabled{opacity:.62}
.movie-source-card-head{display:grid;grid-template-columns:44px 1fr;align-items:center;gap:10px}
.movie-source-card-head .icon-template{width:42px;height:42px}
.movie-source-card h3{margin:0 0 3px;font-size:16px}.movie-source-card small{color:var(--ninja-muted)}
.movie-source-card p{min-height:38px;margin:11px 0;color:#c7d7ca;overflow-wrap:anywhere}
.movie-source-status{padding:6px 9px;border:1px solid rgba(132,245,40,.28);border-radius:999px;color:var(--ninja-green);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.movie-source-status.status-path-not-found,.movie-source-status.status-needs-url{border-color:rgba(255,174,69,.45);color:#ffb75c}
.movie-source-status.status-disabled{border-color:rgba(255,255,255,.18);color:#a9b4ac}
.movie-source-card-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;border-top:1px solid rgba(132,245,40,.10);padding-top:14px}
.movie-source-card-actions label{margin-right:auto;display:flex;align-items:center;gap:8px;color:#d9e7dc;font-size:13px}
.movie-source-card-actions button{width:40px;height:40px;padding:0;border:0;background:transparent;display:grid;place-items:center}
.movie-source-card-actions button .icon-template{width:40px;height:40px;border:3px solid var(--ninja-ring-green);border-radius:50%;background:#030303 var(--ninja-button-face) center/cover no-repeat;display:grid;place-items:center}
.movie-source-card-actions button:hover .icon-template{border-color:var(--ninja-ring-cyan)}
.movie-source-card-actions button img{width:19px;height:19px;filter:var(--ninja-icon-green-filter)}
.movie-source-edit-panel{width:min(980px,calc(100vw - 40px))!important;max-width:none!important}
.movie-source-edit-panel .admin-edit-body{grid-template-columns:1fr!important}
.movie-source-enabled-editor{display:flex;align-items:center;gap:10px;margin-top:8px}
.admin-source-grid label small{display:block;margin-top:3px;color:var(--ninja-muted);font-size:10px;text-transform:uppercase}
.admin-no-source-options{grid-column:1/-1;margin:0;color:var(--ninja-muted)}
@media(max-width:850px){.admin-source-card-grid,.movie-source-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.movie-source-grid{grid-template-columns:1fr}.movie-source-card-head{grid-template-columns:48px 1fr}.movie-source-status{grid-column:1/-1;justify-self:start}}

/* v0.0.59 Movie source conditional fields and repeatable library locations */
.movie-source-edit-panel [hidden]{display:none!important}
.movie-location-editor{display:grid;gap:14px;margin-top:4px;padding:16px;border:1px solid rgba(132,245,40,.18);border-radius:7px;background:rgba(5,10,6,.62)}
.movie-location-heading{display:flex;align-items:center;justify-content:space-between;gap:18px}
.movie-location-heading strong,.movie-location-heading small{display:block}
.movie-location-heading strong{font-size:15px;color:#f2fff4}
.movie-location-heading small{margin-top:4px;color:var(--ninja-muted);line-height:1.4}
.movie-location-heading>button{min-height:48px;display:flex;align-items:center;gap:10px;padding:0 15px;border:1px solid rgba(132,245,40,.32);border-radius:6px;background:#071008;color:#eaffed;font-weight:800;cursor:pointer}
.movie-location-heading>button .icon-template{width:34px;height:34px}
.movie-location-list{display:grid;gap:10px}
.movie-location-row{display:grid;grid-template-columns:30px minmax(0,1fr) 46px;align-items:center;gap:10px;padding:9px;border:1px solid rgba(132,245,40,.15);border-radius:6px;background:#040704}
.movie-location-row.is-dragging{opacity:.45;border-color:var(--ninja-ring-cyan)}
.movie-location-drag{display:grid;place-items:center;color:var(--ninja-green);font-size:21px;cursor:grab;user-select:none}
.movie-location-drag:active{cursor:grabbing}
.movie-location-input{width:100%;height:44px;border:1px solid rgba(132,245,40,.25);border-radius:5px;background:#050805;color:#fff;padding:0 12px;font-size:14px}
.movie-location-row>button{width:46px;height:46px;padding:0;border:0;background:transparent;display:grid;place-items:center;cursor:pointer}
.movie-location-row>button .icon-template{width:42px;height:42px}
.movie-location-row>button:hover .icon-template{border-color:var(--ninja-ring-cyan)}
.movie-source-card p{max-height:66px;overflow:auto}
@media(max-width:700px){.movie-location-heading{align-items:flex-start;flex-direction:column}.movie-location-heading>button{width:100%;justify-content:center}.movie-location-row{grid-template-columns:24px minmax(0,1fr) 44px}}

/* v0.0.60 — Movie Source editor fills the viewport below the fixed header. */
.movie-source-edit-shade{
  position:fixed!important;
  inset:var(--music-header) 0 0 0!important;
  width:100dvw!important;
  height:calc(100dvh - var(--music-header))!important;
  z-index:1000!important;
  background:#040704!important;
  backdrop-filter:none!important;
}
.movie-source-edit-panel{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.movie-source-edit-panel .admin-edit-body{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:28px clamp(24px,4vw,72px) 104px!important;
}
.movie-source-edit-panel>footer{
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  width:100%!important;
}
@media(max-width:850px){
  .movie-source-edit-shade{
    inset:var(--music-header) 0 0 0!important;
    height:calc(100dvh - var(--music-header))!important;
  }
}

/* v0.0.66 — Pictures and Adult placeholder folder browsers. */
.folder-browser-page{display:grid;gap:28px;margin-top:30px}
.folder-browser-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}
.folder-browser-heading h2{margin:0;font-size:28px}.folder-browser-heading small{color:var(--ninja-muted)}
.folder-category-wrap{padding:0 72px}
.folder-category-track{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(220px,1fr);gap:18px;overflow:hidden}
.folder-category-card{position:relative;height:150px;padding:0;border:1px solid var(--ninja-border-soft);border-radius:9px;overflow:hidden;background:#090d0b;color:#fff;text-align:left;cursor:pointer;box-shadow:0 10px 24px rgba(0,0,0,.45)}
.folder-category-card:hover{border-color:var(--ninja-ring-cyan)}
.folder-card-art{position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(0,0,0,.72)),radial-gradient(circle at 34% 28%,rgba(132,245,40,.22),transparent 32%),linear-gradient(135deg,#26352b,#080b09)}
.folder-category-card strong,.folder-category-card small{position:absolute;left:16px;z-index:2}.folder-category-card strong{bottom:30px;font-size:19px}.folder-category-card small{bottom:12px;color:#a7b5aa}
.folder-thumbnail-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:18px 16px}
.folder-thumb-art{aspect-ratio:1/1;border:1px solid var(--ninja-border-soft);border-radius:8px;overflow:hidden;display:grid;place-items:center;background:linear-gradient(145deg,#233027,#080c09);color:rgba(255,255,255,.46);font-size:12px;box-shadow:0 9px 22px rgba(0,0,0,.42)}
.folder-thumb-2{background:linear-gradient(145deg,#302c22,#0c0907)}.folder-thumb-3{background:linear-gradient(145deg,#1f2f34,#070b0d)}.folder-thumb-4{background:linear-gradient(145deg,#33232f,#0c070b)}
.folder-thumb-5{background:linear-gradient(145deg,#253329,#080c09)}.folder-thumb-6{background:linear-gradient(145deg,#312925,#0c0908)}.folder-thumb-7{background:linear-gradient(145deg,#242b35,#08090d)}.folder-thumb-8{background:linear-gradient(145deg,#31311f,#0c0c07)}
@media(max-width:1250px){.folder-thumbnail-grid{grid-template-columns:repeat(6,1fr)}.folder-category-track{grid-auto-columns:minmax(210px,1fr)}}
@media(max-width:850px){.folder-category-wrap{padding:0}.folder-category-track{overflow-x:auto;grid-auto-columns:72%}.folder-thumbnail-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:520px){.folder-thumbnail-grid{grid-template-columns:repeat(2,1fr)}.folder-category-card{height:130px}}

/* v0.0.69 — Adult and Music Videos source Windows folder pickers. */
.movie-location-row.has-browse{grid-template-columns:30px minmax(0,1fr) 46px 46px}
.source-location-browse:disabled{opacity:.5;pointer-events:none}
@media(max-width:700px){.movie-location-row.has-browse{grid-template-columns:24px minmax(0,1fr) 44px 44px}}

/* v0.0.73 — signed-in user profile and Choose Your Ninja */
.user-profile-page{width:min(1280px,calc(100vw - 48px));margin:28px auto 70px;display:grid;gap:20px}
.user-profile-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 24px;border:1px solid rgba(132,245,40,.2);border-radius:9px;background:linear-gradient(145deg,rgba(12,20,15,.96),rgba(3,7,4,.98));box-shadow:0 12px 30px rgba(0,0,0,.42)}
.user-profile-heading h1{margin:4px 0 5px;font-size:32px}.user-profile-heading p{margin:0;color:var(--ninja-muted)}
.user-profile-current{width:110px;height:110px;object-fit:cover;border-radius:50%;border:4px solid var(--ninja-ring-green);background:#020402;box-shadow:0 0 0 4px #050805,0 12px 28px rgba(0,0,0,.55)}
.user-profile-panel{padding:22px;border:1px solid rgba(132,245,40,.18);border-radius:9px;background:rgba(5,10,6,.9)}
.user-profile-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.user-profile-fields label{display:grid;gap:8px;color:#e8f3ea;font-weight:800}.user-profile-fields input{height:48px;border:1px solid rgba(132,245,40,.25);border-radius:6px;background:#040704;color:#fff;padding:0 13px;font-size:15px}
.user-profile-panel-title{display:flex;align-items:end;justify-content:space-between;margin-bottom:18px}.user-profile-panel-title h2{margin:0 0 4px}.user-profile-panel-title small{color:var(--ninja-muted)}
.ninja-avatar-grid{display:grid;grid-template-columns:repeat(8,minmax(76px,1fr));gap:16px}
.ninja-avatar-choice{aspect-ratio:1;padding:5px;border:3px solid rgba(132,245,40,.2);border-radius:50%;background:#020402;cursor:pointer;overflow:hidden;transition:.15s ease}.ninja-avatar-choice:hover{border-color:var(--ninja-ring-cyan);transform:translateY(-2px)}.ninja-avatar-choice.selected{border-color:var(--ninja-ring-green);box-shadow:0 0 0 4px rgba(132,245,40,.18),0 0 20px rgba(132,245,40,.25)}.ninja-avatar-choice img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}
.user-profile-actions{display:flex;align-items:center;gap:18px}.user-profile-actions #profileStatus{color:var(--ninja-green);font-weight:800}.user-profile-empty{grid-column:1/-1;color:var(--ninja-muted)}
@media(max-width:1050px){.ninja-avatar-grid{grid-template-columns:repeat(6,1fr)}}
@media(max-width:760px){.user-profile-page{width:calc(100vw - 28px)}.user-profile-fields{grid-template-columns:1fr}.ninja-avatar-grid{grid-template-columns:repeat(4,1fr)}.user-profile-current{width:86px;height:86px}}
@media(max-width:470px){.ninja-avatar-grid{grid-template-columns:repeat(3,1fr)}.user-profile-heading{align-items:flex-start}.user-profile-current{width:72px;height:72px}}


/* v0.0.75 — compact user drawer, chosen Ninja header, User Profile and Requests */
#drawer{padding-top:0!important}
#drawer .user-drawer-profile{min-height:112px;display:flex;align-items:center;gap:14px;padding:14px 16px 12px;border-bottom:1px solid rgba(132,245,40,.20);background:linear-gradient(180deg,rgba(4,10,6,.76),rgba(1,4,2,.42));flex:0 0 auto}
#drawer .user-drawer-profile img{width:72px;height:72px;border-radius:50%;object-fit:cover;border:2px solid #84f528;box-shadow:0 0 14px rgba(132,245,40,.28);background:#030603}
#drawer .user-drawer-profile strong{display:block;font-size:18px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:168px}
#drawer .user-drawer-profile small{display:block;margin-top:4px;color:#84f528;font-size:12px}
#drawer nav{padding:7px 12px 10px!important;gap:0!important}
#drawer .nav-button{min-height:45px!important;padding:5px 8px!important;gap:11px!important;font-size:15px!important}
#drawer .nav-button .icon-template{width:42px!important;height:42px!important;min-width:42px!important}
#drawer .nav-button .icon-template img{width:25px!important;height:25px!important}
#drawer .admin-entry-button{margin-top:2px!important}
.user-request-card{max-width:760px}
@media(max-height:820px){#drawer .user-drawer-profile{min-height:92px;padding:9px 14px}.user-drawer-profile img{width:58px!important;height:58px!important}#drawer .nav-button{min-height:41px!important;padding-top:3px!important;padding-bottom:3px!important}#drawer .nav-button .icon-template{width:38px!important;height:38px!important;min-width:38px!important}}

/* v0.0.76 — keep every user-drawer icon perfectly circular */
#drawer .nav-button .icon-template{
  width:42px!important;
  min-width:42px!important;
  max-width:42px!important;
  height:42px!important;
  min-height:42px!important;
  max-height:42px!important;
  aspect-ratio:1 / 1!important;
  flex:0 0 42px!important;
  align-self:center!important;
  box-sizing:border-box!important;
  padding:0!important;
  overflow:hidden!important;
  border-radius:50%!important;
  background-size:contain!important;
}
@media(max-height:820px){
  #drawer .nav-button .icon-template{
    width:38px!important;
    min-width:38px!important;
    max-width:38px!important;
    height:38px!important;
    min-height:38px!important;
    max-height:38px!important;
    flex-basis:38px!important;
  }
}


/* v0.0.77 — fullscreen Choose Your Ninja Avatar below the header */
.user-profile-ninja-panel{display:flex;align-items:center;justify-content:space-between;gap:24px}.user-profile-ninja-panel h2{margin:0 0 5px}.user-profile-ninja-panel small{color:var(--ninja-muted)}
.choose-ninja-avatar-button{flex:0 0 auto;min-width:250px}
.ninja-avatar-chooser{position:fixed;z-index:24;top:var(--header-h);left:0;right:0;bottom:0;overflow-y:auto;padding:28px clamp(24px,4vw,64px) 60px;background:linear-gradient(180deg,rgba(2,6,3,.99),rgba(1,3,2,.995));}
.ninja-avatar-chooser-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;max-width:1500px;margin:0 auto 26px;padding-bottom:18px;border-bottom:1px solid rgba(132,245,40,.24)}
.ninja-avatar-chooser-heading h1{margin:4px 0 7px;font-size:clamp(30px,4vw,52px)}.ninja-avatar-chooser-heading p{margin:0;color:var(--ninja-muted)}
.ninja-avatar-chooser-close{width:50px;height:50px;flex:0 0 50px;border:2px solid #84f528;border-radius:50%;background:#030703;color:#84f528;font-size:34px;line-height:1;cursor:pointer}.ninja-avatar-chooser-close:hover{border-color:var(--ninja-ring-cyan);color:var(--ninja-ring-cyan)}
.ninja-avatar-chooser-grid{max-width:1500px;margin:0 auto;display:grid;grid-template-columns:repeat(10,minmax(82px,1fr));gap:20px}.ninja-avatar-chooser-grid .ninja-avatar-choice{width:100%;max-width:150px;justify-self:center}
.ninja-avatar-chooser-status{max-width:1500px;margin:20px auto 0;color:#84f528;font-weight:800;text-align:center}
body.ninja-avatar-chooser-open{overflow:hidden}
@media(max-width:1200px){.ninja-avatar-chooser-grid{grid-template-columns:repeat(8,1fr)}}
@media(max-width:900px){.ninja-avatar-chooser-grid{grid-template-columns:repeat(6,1fr)}.user-profile-ninja-panel{align-items:flex-start;flex-direction:column}.choose-ninja-avatar-button{min-width:0;width:100%}}
@media(max-width:620px){.ninja-avatar-chooser{padding:20px 15px 40px}.ninja-avatar-chooser-grid{grid-template-columns:repeat(4,1fr);gap:13px}.ninja-avatar-chooser-close{width:44px;height:44px;flex-basis:44px}.ninja-avatar-chooser-heading p{font-size:13px}}
@media(max-width:410px){.ninja-avatar-chooser-grid{grid-template-columns:repeat(3,1fr)}}

/* v0.0.78 — Admin user cards show each saved Ninja avatar. */
.admin-user-avatar{overflow:hidden}
.admin-user-avatar img{width:100%;height:100%;display:block;object-fit:cover;border-radius:50%}

/* v0.0.80 — resolution-matched wallpapers from cache/wallpapers. */
.app-bg{background-size:cover!important;background-position:center top!important}

/* v0.0.82 — Default empty cards: 50% transparent with grey outline; green on hover. */
.admin-empty-categories,
.youtube-source-placeholder,
.youtube-empty-library {
  background: rgba(5, 8, 6, 0.5) !important;
  border: 1px solid rgba(160, 160, 160, 0.72) !important;
  opacity: 1;
  transition: border-color .16s ease, box-shadow .16s ease, background .16s ease;
}
.admin-empty-categories:hover,
.youtube-source-placeholder:hover,
.youtube-empty-library:hover {
  border-color: #69e65d !important;
  box-shadow: 0 0 0 1px rgba(105, 230, 93, 0.22);
}

/* v0.0.82 — neutral grey empty cards and detail-preserving wallpaper fit. */
.admin-empty-categories,
.youtube-source-placeholder,
.youtube-empty-library {
  background-color: rgba(92, 92, 92, 0.50) !important;
  background-image: none !important;
  border-color: rgba(175, 175, 175, 0.78) !important;
  box-shadow: none !important;
  filter: none !important;
}
.admin-empty-categories::before,
.admin-empty-categories::after,
.youtube-source-placeholder::before,
.youtube-source-placeholder::after,
.youtube-empty-library::before,
.youtube-empty-library::after {
  background: none !important;
  background-image: none !important;
}
.admin-empty-categories:hover,
.youtube-source-placeholder:hover,
.youtube-empty-library:hover {
  background-color: rgba(92, 92, 92, 0.50) !important;
  border-color: #84f528 !important;
  box-shadow: 0 0 0 1px rgba(132, 245, 40, 0.24) !important;
}

/* Resolution-matched wallpapers keep their full framing instead of cover-zooming. */
.app-bg {
  background-color: #050505 !important;
  background-size: 100% auto !important;
  background-position: center top !important;
  background-repeat: no-repeat !important;
}
@media (orientation: portrait) {
  .app-bg {
    background-size: auto 100% !important;
    background-position: center top !important;
  }
}
\n\n/* v0.0.83 — true neutral-grey empty artwork; JPG/WEBP wallpapers stay at native pixel size. */
.admin-empty-categories,
.youtube-source-placeholder,
.youtube-empty-library,
.poster-art:not([style*="background-image"]),
.poster-art:not([style*="background:"]),
.folder-card-art,
.music-square-art[class*="music-art-"],
.season-art:not([style*="background-image"]),
.youtube-source-channel-art {
  background-color: rgba(92, 92, 92, 0.50) !important;
  background-image: none !important;
  border-color: rgba(175, 175, 175, 0.78) !important;
  box-shadow: none !important;
  filter: none !important;
}
.admin-empty-categories:hover,
.youtube-source-placeholder:hover,
.youtube-empty-library:hover,
.poster-card:hover .poster-art,
.folder-category-card:hover .folder-card-art,
.music-square-card:hover .music-square-art,
.season-card:hover .season-art {
  border-color: #84f528 !important;
  box-shadow: 0 0 0 1px rgba(132,245,40,.24) !important;
}
.app-bg {
  background-size: auto !important;
  background-position: center top !important;
  background-repeat: no-repeat !important;
}
@media (orientation: portrait) {
  .app-bg {
    background-size: auto !important;
    background-position: center top !important;
  }
}


/* v0.0.84 — exact neutral empty poster placeholders. */
.poster-art.empty-poster-art {
  background: rgba(96, 96, 96, 0.50) !important;
  background-image: none !important;
  border: 1px solid rgba(165, 165, 165, 0.82) !important;
  box-shadow: none !important;
  filter: none !important;
  backdrop-filter: grayscale(1) brightness(.58) !important;
  -webkit-backdrop-filter: grayscale(1) brightness(.58) !important;
}
.poster-art.empty-poster-art::before,
.poster-art.empty-poster-art::after {
  content: none !important;
  display: none !important;
  background: none !important;
  box-shadow: none !important;
}
.poster-card:hover .poster-art.empty-poster-art,
.poster-card.clickable:hover .poster-art.empty-poster-art {
  border-color: #84f528 !important;
  box-shadow: 0 0 0 1px rgba(132,245,40,.24) !important;
}

/* v0.0.85 — blank poster background is 90% transparent. */
.poster-art.empty-poster-art {
  background: rgba(96, 96, 96, 0.10) !important;
  background-image: none !important;
  border: 1px solid rgba(165, 165, 165, 0.82) !important;
  box-shadow: none !important;
  filter: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
.poster-card:hover .poster-art.empty-poster-art,
.poster-card.clickable:hover .poster-art.empty-poster-art {
  border-color: #84f528 !important;
  box-shadow: 0 0 0 1px rgba(132,245,40,.24) !important;
}


/* v0.0.86 — every blank artwork/card placeholder uses one neutral 15% fill. */
.admin-empty-categories,
.youtube-source-placeholder,
.youtube-empty-library,
.poster-art.empty-poster-art,
.poster-art:not([style*="background-image"]):not([style*="background:"]),
.folder-card-art,
.music-square-art[class*="music-art-"],
.season-art:not([style*="background-image"]),
.youtube-source-channel-art {
  background: rgba(96, 96, 96, 0.15) !important;
  background-color: rgba(96, 96, 96, 0.15) !important;
  background-image: none !important;
  border: 1px solid rgba(165, 165, 165, 0.82) !important;
  box-shadow: none !important;
  filter: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  opacity: 1 !important;
}
.admin-empty-categories::before,
.admin-empty-categories::after,
.youtube-source-placeholder::before,
.youtube-source-placeholder::after,
.youtube-empty-library::before,
.youtube-empty-library::after,
.poster-art.empty-poster-art::before,
.poster-art.empty-poster-art::after {
  content: none !important;
  display: none !important;
  background: none !important;
  background-image: none !important;
  box-shadow: none !important;
}
.admin-empty-categories:hover,
.youtube-source-placeholder:hover,
.youtube-empty-library:hover,
.poster-card:hover .poster-art.empty-poster-art,
.poster-card.clickable:hover .poster-art.empty-poster-art,
.folder-category-card:hover .folder-card-art,
.music-square-card:hover .music-square-art,
.season-card:hover .season-art {
  background: rgba(96, 96, 96, 0.15) !important;
  border-color: #84f528 !important;
  box-shadow: 0 0 0 1px rgba(132,245,40,.24) !important;
}

/* v0.0.88 — enrichment API sources */
.enrichment-source-manager{max-width:1600px;margin:0 auto;padding-bottom:48px}
.enrichment-provider-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:22px}
.enrichment-provider-card{border:1px solid rgba(180,180,180,.42);background:rgba(24,24,24,.88);border-radius:20px;padding:22px;box-shadow:0 18px 42px rgba(0,0,0,.28)}
.enrichment-provider-card>header{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:20px}
.enrichment-provider-card>header>div{display:flex;align-items:center;gap:14px;min-width:0}
.enrichment-provider-card h2{margin:0;font-size:1.28rem}
.enrichment-provider-card small{display:block;color:#aeb4ba;margin-top:3px}
.enrichment-provider-fields{display:grid;gap:15px}
.enrichment-secret-input{display:grid;grid-template-columns:minmax(0,1fr) 46px;gap:8px;align-items:center}
.enrichment-secret-input input{width:100%}
.enrichment-secret-input button{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(180,180,180,.45);background:rgba(255,255,255,.05)}
.enrichment-secret-input button:hover{border-color:#84f528}
.enrichment-secret-input .icon-template{width:24px;height:24px}
.enrichment-api-status{margin-top:16px;padding:11px 13px;border-radius:10px;border:1px solid rgba(180,180,180,.35);font-weight:700}
.enrichment-api-status.is-connected{border-color:#84f528;color:#b9ff82;background:rgba(132,245,40,.08)}
.enrichment-api-status.is-failed{border-color:#ef6464;color:#ffaaaa;background:rgba(239,100,100,.08)}
.enrichment-test-button{flex:0 0 auto}
@media(max-width:1180px){.enrichment-provider-grid{grid-template-columns:1fr}}


/* v0.0.90 — verified API persistence and secret visibility */
.enrichment-card-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.enrichment-configured{padding:7px 10px;border:1px solid rgba(180,180,180,.45);border-radius:999px;color:#aeb4ba;font-size:.78rem;font-weight:800;white-space:nowrap}
.enrichment-configured.is-configured{border-color:#84f528;color:#b9ff82;background:rgba(132,245,40,.08)}
.enrichment-save-confirmation{margin-top:18px;padding:12px 14px;border:1px solid #84f528;border-radius:12px;background:rgba(132,245,40,.08);color:#caff9f;font-weight:800}
.user-secret-input{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:8px;align-items:center}
.user-secret-input input{width:100%}
.user-secret-input button{width:44px;height:44px;border-radius:50%;border:1px solid rgba(180,180,180,.45);background:rgba(255,255,255,.05);color:#fff;display:grid;place-items:center;font-size:18px;cursor:pointer}
.user-secret-input button:hover{border-color:#84f528}

/* v0.0.93 — exact pre-sized wallpaper fit: no zoom and no crop. */
.app-bg {
  background-size: 100% 100% !important;
  background-position: center top !important;
  background-repeat: no-repeat !important;
}

/* v0.0.96 — 2px rings; normal rings stay grey, large-arrow rings stay green; only icon artwork turns cyan on hover. */
.topbar-plain-button,
.topbar-button,
.detail-action,
.episode-actions .detail-action,
.mini-arrows button,
.icon-template,
.youtube-channel-editor-page .youtube-source-primary .icon-template,
.youtube-channel-editor-page .youtube-source-back .icon-template,
.youtube-source-manager .youtube-source-channel-actions .icon-template,
.youtube-source-manager .youtube-category-actions .icon-template,
.youtube-source-manager .youtube-compact-channel-actions .icon-template,
.movie-source-card-actions button .icon-template{
  border-width:2px!important;
  border-style:solid!important;
  border-color:#999999!important;
}
.topbar-plain-button:hover,
.topbar-plain-button:focus-visible,
.topbar-plain-button:active,
.topbar-button:hover,
.topbar-button:focus-visible,
.topbar-button:active,
.detail-action:hover,
.detail-action:focus-visible,
.episode-actions .detail-action:hover,
.episode-actions .detail-action:focus-visible,
.mini-arrows button:hover,
.mini-arrows button:focus-visible,
.nav-button:hover .icon-template,
.nav-button:focus-visible .icon-template,
.nav-button.active .icon-template,
.master-card:hover .icon-template,
.master-card:focus-visible .icon-template,
.master-card.active .icon-template,
.youtube-channel-editor-page .youtube-source-primary:hover .icon-template,
.youtube-channel-editor-page .youtube-source-primary:focus-visible .icon-template,
.youtube-channel-editor-page .youtube-source-back:hover .icon-template,
.youtube-channel-editor-page .youtube-source-back:focus-visible .icon-template,
.youtube-source-manager .youtube-source-channel-actions button:hover .icon-template,
.youtube-source-manager .youtube-category-actions button:hover .icon-template,
.youtube-source-manager .youtube-compact-channel-actions button:hover .icon-template,
.movie-source-card-actions button:hover .icon-template{
  border-width:2px!important;
  border-color:#999999!important;
}
.topbar-plain-button:hover img,
.topbar-plain-button:focus-visible img,
.topbar-button:hover img,
.topbar-button:focus-visible img,
.detail-action:hover img,
.detail-action:focus-visible img,
.episode-actions .detail-action:hover img,
.episode-actions .detail-action:focus-visible img,
.mini-arrows button:hover img,
.mini-arrows button:focus-visible img,
.nav-button:hover .icon-template img,
.nav-button:focus-visible .icon-template img,
.nav-button.active .icon-template img,
.master-card:hover .icon-template img,
.master-card:focus-visible .icon-template img,
.master-card.active .icon-template img,
.youtube-channel-editor-page .youtube-source-primary:hover .icon-template img,
.youtube-channel-editor-page .youtube-source-primary:focus-visible .icon-template img,
.youtube-channel-editor-page .youtube-source-back:hover .icon-template img,
.youtube-channel-editor-page .youtube-source-back:focus-visible .icon-template img,
.youtube-source-manager .youtube-source-channel-actions button:hover .icon-template img,
.youtube-source-manager .youtube-category-actions button:hover .icon-template img,
.youtube-source-manager .youtube-compact-channel-actions button:hover .icon-template img,
.movie-source-card-actions button:hover .icon-template img{
  filter:var(--ninja-icon-cyan-filter)!important;
}
.row-arrow,
.music-row-arrow,
.row-arrow:hover,
.row-arrow:focus-visible,
.music-row-arrow:hover,
.music-row-arrow:focus-visible,
.music-page .music-row-section .music-row-arrow:hover,
.music-page .music-row-section .music-row-arrow:focus-visible{
  border-width:2px!important;
  border-style:solid!important;
  border-color:var(--ninja-ring-green)!important;
}
.row-arrow.left:hover,
.row-arrow.left:focus-visible,
.music-row-arrow-left:hover,
.music-row-arrow-left:focus-visible,
.music-page .music-row-section .music-row-arrow-left:hover,
.music-page .music-row-section .music-row-arrow-left:focus-visible{
  background-image:url('/assets/arrow-left-cyan.svg'),var(--ninja-button-face)!important;
}
.row-arrow.right:hover,
.row-arrow.right:focus-visible,
.music-row-arrow-right:hover,
.music-row-arrow-right:focus-visible,
.music-page .music-row-section .music-row-arrow-right:hover,
.music-page .music-row-section .music-row-arrow-right:focus-visible{
  background-image:url('/assets/arrow-right-cyan.svg'),var(--ninja-button-face)!important;
}


/* v0.0.97 — Header gradient bars extend 30% beyond their own header text. */
.section-heading:after,
.tv-section-heading:after,
.detail-row-title:after{
  width:var(--ninja-heading-bar-width,128px)!important;
}
.music-artists-gradient{
  width:var(--ninja-heading-bar-width,128px)!important;
}

/* v0.0.99 — Top-right user avatar control is visibly larger than the other header buttons. */
#userButton.header-avatar{
  width:58px!important;
  height:58px!important;
  flex:0 0 58px!important;
  padding:3px!important;
  border-radius:50%!important;
  overflow:hidden!important;
}
#userButton.header-avatar img{
  width:50px!important;
  height:50px!important;
  border-radius:50%!important;
  object-fit:cover!important;
}
@media(max-width:700px){
  #userButton.header-avatar{
    width:51px!important;
    height:51px!important;
    flex-basis:51px!important;
  }
  #userButton.header-avatar img{
    width:43px!important;
    height:43px!important;
  }
}

/* v0.0.103 — Reduce shared section hero bars by 25% only. */
.hero,
.music-section-hero{
  height:247.5px!important;
  min-height:247.5px!important;
  max-height:247.5px!important;
}
@media(max-width:850px){
  .hero,
  .music-section-hero{
    height:210px!important;
    min-height:210px!important;
    max-height:210px!important;
  }
}

/* v0.0.104 — Pictures-only folder row and landscape library layout repair. */
.folder-browser-page[data-folder-dojo="pictures"] .folder-category-wrap{
  min-width:0!important;
}
.folder-browser-page[data-folder-dojo="pictures"] .folder-category-track{
  width:100%!important;
  min-width:0!important;
  grid-auto-columns:calc((100% - 54px) / 4)!important;
  gap:18px!important;
  overflow-x:hidden!important;
  overflow-y:hidden!important;
}
.folder-browser-page[data-folder-dojo="pictures"] .folder-library-section .music-artists-heading{
  width:max-content!important;
  max-width:100%!important;
}
.folder-browser-page[data-folder-dojo="pictures"] .folder-thumbnail-grid{
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:18px 16px!important;
}
.folder-browser-page[data-folder-dojo="pictures"] .folder-thumb-art{
  aspect-ratio:16 / 9!important;
}
@media(max-width:850px){
  .folder-browser-page[data-folder-dojo="pictures"] .folder-category-track{
    grid-auto-columns:72%!important;
    overflow-x:auto!important;
  }
  .folder-browser-page[data-folder-dojo="pictures"] .folder-thumbnail-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}
@media(max-width:520px){
  .folder-browser-page[data-folder-dojo="pictures"] .folder-thumbnail-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

/* v0.0.105 — Adult-only folder row, six-column library grid, and heading divider repair. */
.folder-browser-page[data-folder-dojo="adult"] .folder-category-wrap{
  min-width:0!important;
}
.folder-browser-page[data-folder-dojo="adult"] .folder-category-track{
  width:100%!important;
  min-width:0!important;
  grid-auto-columns:calc((100% - 54px) / 4)!important;
  gap:18px!important;
  overflow-x:hidden!important;
  overflow-y:hidden!important;
}
.folder-browser-page[data-folder-dojo="adult"] .folder-library-section .music-artists-heading{
  width:max-content!important;
  max-width:100%!important;
}
.folder-browser-page[data-folder-dojo="adult"] .folder-thumbnail-grid{
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  gap:18px 16px!important;
}
@media(max-width:850px){
  .folder-browser-page[data-folder-dojo="adult"] .folder-category-track{
    grid-auto-columns:72%!important;
    overflow-x:auto!important;
  }
  .folder-browser-page[data-folder-dojo="adult"] .folder-thumbnail-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}
@media(max-width:520px){
  .folder-browser-page[data-folder-dojo="adult"] .folder-thumbnail-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

/* v0.0.107 — YouTube Channels heading only: allow the existing 130% divider module to measure the text, not the full row. */
.youtube-library-section .music-artists-heading{
  display:inline-block!important;
  width:max-content!important;
  max-width:100%!important;
}


/* v0.0.108 — Music Videos only: remove duplicate Recently Added category and size Categories divider from its text. */
.music-videos-categories .section-heading:after{
  display:none!important;
}
.music-videos-categories .section-heading h3{
  position:relative!important;
  display:inline-block!important;
  padding-bottom:9px!important;
}
.music-videos-categories .section-heading h3:after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:130%;
  height:3px;
  background:linear-gradient(90deg,#69e65d 0%,rgba(105,230,93,.5) 72%,transparent 100%)!important;
}
@media(max-width:760px){
  .music-videos-categories .section-heading h3:after{height:2px;}
}


/* v0.0.113 — Movies Details logo and Cast & Crew arrow placement only. */
.movie-detail-page .movie-detail-logo{top:78px}
.movie-detail-page .movie-cast-row-wrap{display:grid;grid-template-columns:66px minmax(0,1fr) 66px;align-items:center;gap:12px}
.movie-detail-page .movie-cast-row-wrap .cast-row{min-width:0}
.movie-detail-page .movie-cast-arrow{width:58px;height:58px;padding:0;border:0;background:transparent;display:grid;place-items:center;cursor:pointer;justify-self:center}
.movie-detail-page .movie-cast-arrow img{display:block;width:58px;height:58px;object-fit:contain}
.movie-detail-page .movie-cast-arrow:hover img,.movie-detail-page .movie-cast-arrow:focus-visible img{filter:drop-shadow(0 0 10px rgba(37,200,255,.8))}
@media(max-width:1100px){.movie-detail-page .movie-detail-logo{top:72px}.movie-detail-page .movie-cast-row-wrap{grid-template-columns:58px minmax(0,1fr) 58px;gap:8px}.movie-detail-page .movie-cast-arrow,.movie-detail-page .movie-cast-arrow img{width:52px;height:52px}}
@media(max-width:760px){.movie-detail-page .movie-detail-logo{top:64px}.movie-detail-page .movie-cast-row-wrap{display:block}.movie-detail-page .movie-cast-arrow{display:none}}

/* v0.0.114 — Movies Details Similar Movies title and aligned row arrows only. */
.movie-detail-page .movie-similar-row-wrap{display:grid;grid-template-columns:66px minmax(0,1fr) 66px;align-items:center;gap:12px}
.movie-detail-page .movie-similar-row-wrap .recommend-row{min-width:0}
@media(max-width:1100px){.movie-detail-page .movie-similar-row-wrap{grid-template-columns:58px minmax(0,1fr) 58px;gap:8px}}
@media(max-width:760px){.movie-detail-page .movie-similar-row-wrap{display:block}.movie-detail-page .movie-similar-arrow{display:none}}

/* v0.0.115 — Movies Details hero logo centering and wallpaper-through background only. */
.movie-detail-page .movie-detail-logo{
  left:50%!important;
  top:50%!important;
  transform:translate(-50%,-50%) skew(-10deg)!important;
}
.movie-detail-page,
.movie-detail-page .movie-summary-bar,
.movie-detail-page .movie-detail-content{
  background-color:transparent!important;
  background-image:none!important;
}
.movie-detail-page .movie-summary-bar,
.movie-detail-page .movie-detail-content{
  box-shadow:none!important;
}

/* v0.0.116 — Movies Details logo vertical centering within the visible desktop hero only. */
@media(min-width:761px){
  .movie-detail-page .movie-detail-logo{
    top:calc(50% + 40px)!important;
  }
}


/* v0.0.118 — Movies Details uses the exact current Home row arrow controls. */
.movie-detail-page .movie-detail-row-arrow{
  position:static!important;
  justify-self:center!important;
  align-self:center!important;
  transform:none!important;
}
.movie-detail-page .movie-detail-row-arrow:hover,
.movie-detail-page .movie-detail-row-arrow:focus-visible{
  transform:scale(1.03)!important;
}
@media(max-width:760px){
  .movie-detail-page .movie-detail-row-arrow{display:none!important}
}


/* v0.0.119 — TV Details matches Movies Details hero, wallpaper, and Home row arrows. */
.tv-detail-page .tv-detail-logo{
  left:50%!important;
  top:calc(50% + 40px)!important;
  transform:translate(-50%,-50%) rotate(-2deg)!important;
}
.tv-detail-page,
.tv-detail-page .tv-summary-bar,
.tv-detail-page .tv-detail-content,
.tv-detail-page .seasons-section,
.tv-detail-page .episodes-section{
  background-color:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
}
.tv-detail-page .tv-season-row-wrap{
  display:grid;
  grid-template-columns:66px minmax(0,1fr) 66px;
  align-items:center;
  gap:12px;
}
.tv-detail-page .tv-season-row-wrap .season-row{min-width:0;overflow:hidden}
.tv-detail-page .tv-season-row-arrow{
  position:static!important;
  justify-self:center!important;
  align-self:center!important;
  transform:none!important;
}
.tv-detail-page .tv-season-row-arrow:hover,
.tv-detail-page .tv-season-row-arrow:focus-visible{transform:scale(1.03)!important}
@media(max-width:1100px){
  .tv-detail-page .tv-season-row-wrap{grid-template-columns:58px minmax(0,1fr) 58px;gap:8px}
}
@media(max-width:760px){
  .tv-detail-page .tv-detail-logo{top:50%!important}
  .tv-detail-page .tv-season-row-wrap{display:block}
  .tv-detail-page .tv-season-row-arrow{display:none!important}
  .tv-detail-page .tv-season-row-wrap .season-row{overflow-x:auto}
}

/* v0.0.120 — TV Details Seasons block moved closer to the large poster. */
@media(min-width:1101px){
  .tv-detail-page .tv-detail-content{min-height:480px}
  .tv-detail-page .tv-poster-spacer{min-height:480px}
}

/* v0.0.126 — Music Artists heading only. Keep the confirmed Music layout locked;
   expose the real text width so the existing 130% divider measurement can size the bar. */
.music-page .music-artists-content > .music-artists-heading{
  display:inline-block!important;
  width:max-content!important;
  max-width:100%;
}

/* v0.0.138 — protected header logo position: move only the top Ninja Media TV logo up 3px. */
.header-logo{transform:translateY(-3px)!important}

/* v0.0.156 — Music header only: hide the empty center tab container when it has no active section tabs. */
.music-header-tabs:not(.show){display:none!important}


/* v0.0.164 — user drawer logout pinned to bottom */
#drawer{display:flex!important;flex-direction:column!important}
#drawer #nav{flex:1 1 auto;min-height:0;overflow-y:auto}
#drawer .user-drawer-logout{flex:0 0 auto;width:calc(100% - 24px);min-height:48px;margin:8px 12px 14px;border:1px solid rgba(132,245,40,.34);border-radius:7px;background:rgba(3,8,4,.88);color:#fff;font:800 15px/1 inherit;letter-spacing:.04em;cursor:pointer}
#drawer .user-drawer-logout:hover,#drawer .user-drawer-logout:focus-visible{border-color:#84f528;color:#84f528;outline:none;box-shadow:0 0 14px rgba(132,245,40,.18)}

/* v0.0.172 Movie Dojo foundation */
.dojo-admin-page{padding:34px;max-width:1180px;margin:0 auto}.dojo-admin-page h1{margin:4px 0 10px}.dojo-admin-intro{max-width:920px;opacity:.82;line-height:1.55}.dojo-health-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:24px 0}.dojo-health-grid article,.dojo-admin-panel{background:rgba(8,12,22,.76);border:1px solid rgba(132,245,40,.24);border-radius:14px;padding:20px}.dojo-health-grid small{display:block;opacity:.68;margin-bottom:8px}.dojo-health-grid strong{font-size:1.5rem}.dojo-admin-panel{margin-top:16px}.dojo-path{display:grid;grid-template-columns:90px 1fr;gap:12px;margin:10px 0}.dojo-path code{overflow-wrap:anywhere;color:#84f528}.dojo-actions{display:flex;gap:12px;margin-top:20px}.dojo-actions button{min-height:44px}.dojo-error{color:#ff8b8b}.dojo-status-note{opacity:.7}.dojo-sample{display:flex;flex-direction:column;gap:4px;padding:10px 0;border-top:1px solid rgba(255,255,255,.08)}.dojo-sample small{opacity:.7;overflow-wrap:anywhere}@media(max-width:800px){.dojo-health-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dojo-admin-page{padding:20px}.dojo-path{grid-template-columns:1fr}}

/* v0.0.174 Library Builder cards published to Ninja sections. */
.master-card.has-library-art{background-position:center!important;background-size:cover!important;background-repeat:no-repeat!important;display:flex;flex-direction:column;justify-content:flex-end;min-height:150px}
.master-card.has-library-art:before{background:linear-gradient(180deg,transparent 25%,rgba(0,0,0,.72))!important}
.master-card.has-library-art strong,.master-card.has-library-art small{position:relative;z-index:2;text-shadow:0 2px 8px #000}
.ninja-empty-library{width:100%;min-height:118px;display:grid;place-items:center;border:1px dashed rgba(105,230,93,.24);border-radius:8px;color:#839487;background:rgba(5,10,8,.34);padding:20px;text-align:center}
.master-libraries .ninja-empty-library{grid-column:1/-1}

/* v0.0.175 Library Builder artwork is published to Ninja master and subcategory cards. */

/* v0.0.179 — Home master-library row visibility only. */
.home-library-card-row{display:block!important;visibility:visible!important;opacity:1!important;width:100%!important;min-height:150px!important;}
.home-library-card-row>.master-libraries{display:grid!important;visibility:visible!important;opacity:1!important;width:100%!important;min-height:150px!important;}
.home-library-card-row .master-card{display:flex!important;visibility:visible!important;opacity:1!important;}

/* v0.0.181 — Home library cards use the saved artwork URL from the library tree. */
.home-library-card-row .master-card.has-library-art{
  background-image:linear-gradient(180deg,rgba(0,0,0,.06),rgba(0,0,0,.76)),var(--ninja-library-card-image)!important;
  background-position:center!important;
  background-size:cover!important;
  background-repeat:no-repeat!important;
}


/* v0.0.184 — Music Library Builder child cards use their saved artwork. */
.music-category-row-wrap .master-card.has-library-art{
  background-image:linear-gradient(180deg,rgba(0,0,0,.06),rgba(0,0,0,.76)),var(--ninja-library-card-image)!important;
  background-position:center!important;
  background-size:cover!important;
  background-repeat:no-repeat!important;
}

/* v0.0.190 — Ninja name modal for Library Builder */
.admin-name-modal-shade{position:fixed;inset:0;z-index:2200;display:grid;place-items:center;padding:24px;background:rgba(0,0,0,.78);backdrop-filter:blur(6px)}
.admin-name-modal{width:min(460px,100%);padding:24px;border:1px solid rgba(132,245,40,.55);border-radius:12px;background:linear-gradient(180deg,#101711,#070b08);box-shadow:0 22px 70px rgba(0,0,0,.68),0 0 24px rgba(132,245,40,.12)}
.admin-name-modal h2{margin:0 0 18px;color:#84f528;font-size:22px;font-weight:800}
.admin-name-modal label{display:block;margin-bottom:8px;color:#dce7df;font-size:14px;font-weight:700}
.admin-name-modal input{width:100%;box-sizing:border-box;padding:12px 14px;border:1px solid rgba(140,166,151,.45);border-radius:8px;background:#050805;color:#fff;font:inherit;outline:none}
.admin-name-modal input:focus{border-color:#25dff5;box-shadow:0 0 0 2px rgba(37,223,245,.18)}
.admin-name-modal input.invalid{border-color:#ff5b5b}
.admin-name-modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}
.admin-name-modal-actions button{min-width:104px;padding:10px 16px;border:1px solid rgba(140,166,151,.4);border-radius:8px;background:#0b1510;color:#dce7df;font:inherit;font-weight:800;cursor:pointer}
.admin-name-modal-actions button.primary{border-color:#84f528;background:#84f528;color:#071006}


/* v0.0.191 — Per-library parental lock */
.admin-parental-lock-option{display:flex!important;align-items:center;gap:12px;margin:16px 0 4px;padding:13px 14px;border:1px solid rgba(132,245,40,.28);border-radius:8px;background:rgba(8,18,10,.72);color:#e4eee6;font-weight:700}
.admin-parental-lock-option input{width:20px;height:20px;accent-color:#84f528}
.master-card.is-parental-locked{background-image:none!important;isolation:isolate}
.master-card.is-parental-locked:before{z-index:1;background:linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.7))!important}
.ninja-locked-card-art{position:absolute;inset:-9px;z-index:0;background-position:center;background-size:cover;background-repeat:no-repeat;filter:blur(7px) brightness(.58);transform:scale(1.08);pointer-events:none}
.master-card.is-parental-locked strong{position:relative;z-index:3}
.ninja-library-lock{position:absolute;top:10px;right:10px;z-index:4;width:36px;height:36px;display:grid;place-items:center;border:1px solid rgba(132,245,40,.78);border-radius:50%;background:rgba(3,8,4,.9);color:#84f528;box-shadow:0 0 16px rgba(132,245,40,.3);cursor:pointer;pointer-events:auto;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}
.ninja-library-lock:hover,.ninja-library-lock:focus-visible{border-color:#20e7ff;box-shadow:0 0 18px rgba(32,231,255,.4);transform:scale(1.06);outline:none}
.master-card .ninja-library-lock svg{position:absolute;width:21px;height:21px;fill:currentColor;transition:opacity .14s ease,transform .14s ease}
.ninja-library-lock.is-locked .ninja-lock-closed{opacity:1;transform:scale(1)}
.ninja-library-lock.is-locked .ninja-lock-open{opacity:0;transform:scale(.82)}
.ninja-library-lock.is-locked:hover .ninja-lock-closed,.ninja-library-lock.is-locked:focus-visible .ninja-lock-closed{opacity:0;transform:scale(.82)}
.ninja-library-lock.is-locked:hover .ninja-lock-open,.ninja-library-lock.is-locked:focus-visible .ninja-lock-open{opacity:1;transform:scale(1)}
.ninja-library-lock.is-unlocked .ninja-lock-closed{opacity:0;transform:scale(.82)}
.ninja-library-lock.is-unlocked .ninja-lock-open{opacity:1;transform:scale(1)}
.ninja-parental-modal-shade{position:fixed;inset:0;z-index:2600;display:grid;place-items:center;padding:24px;background:rgba(0,0,0,.82);backdrop-filter:blur(7px)}
.ninja-parental-modal{width:min(440px,100%);padding:25px;border:1px solid rgba(132,245,40,.58);border-radius:12px;background:linear-gradient(180deg,#101711,#070b08);box-shadow:0 24px 75px rgba(0,0,0,.72),0 0 26px rgba(132,245,40,.12);text-align:center}
.ninja-parental-modal>img{width:38px;height:38px;filter:none;margin:0 auto 8px}
.ninja-parental-modal h2{margin:4px 0 20px;color:#84f528;font-size:22px}
.ninja-parental-modal label{display:block;text-align:left;color:#dce7df;font-size:14px;font-weight:700}
.ninja-parental-modal input{width:100%;margin-top:8px;padding:12px 14px;border:1px solid rgba(140,166,151,.45);border-radius:8px;background:#050805;color:#fff;font:inherit;letter-spacing:4px;outline:none}
.ninja-parental-modal input:focus{border-color:#25dff5;box-shadow:0 0 0 2px rgba(37,223,245,.18)}
.ninja-parental-error{min-height:20px;margin:8px 0;color:#ff7676;font-size:13px}
.ninja-parental-modal>div{display:flex;justify-content:flex-end;gap:10px}
.ninja-parental-modal button{min-width:104px;padding:10px 16px;border:1px solid rgba(140,166,151,.4);border-radius:8px;background:#0b1510;color:#dce7df;font:inherit;font-weight:800;cursor:pointer}
.ninja-parental-modal button.primary{border-color:#84f528;background:#84f528;color:#071006}

/* v0.0.195 custom category source mode */
.admin-custom-category-fields[hidden],.admin-own-sources[hidden]{display:none!important}.admin-custom-category-fields{margin-top:12px}.admin-custom-category .admin-filter-help{margin:8px 0 0}.admin-source-grid label span small+small{margin-top:4px;color:#8fa99a;text-transform:none;line-height:1.25}

/* v0.0.197 visible source and custom-category controls */
.admin-global-add-source{min-height:48px;padding:0 20px;border:2px solid #84f528;border-radius:8px;background:#071008;color:#84f528;display:inline-flex!important;align-items:center;justify-content:center;gap:10px;font-weight:900;cursor:pointer;visibility:visible!important;opacity:1!important}
.admin-global-add-source .icon-template{width:32px;height:32px}
.admin-subcategory-create-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.admin-add-subcategory.admin-add-custom,.admin-add-custom-subcategory{border-color:#25dff5!important;color:#25dff5!important}
.admin-add-custom-subcategory span{display:inline!important}
@media(max-width:700px){.admin-sources-heading{align-items:stretch;flex-direction:column;gap:14px}.admin-global-add-source{width:100%}.admin-subcategory-create-actions{width:100%}.admin-subcategory-create-actions button{flex:1 1 100%}}
