/* ============================================================
   NoirPlay V46 — NeoCinema UX
   Clean discovery, category library, cinema player, faster previews
   ============================================================ */

:root{
  --np46-radius-xl:26px;
  --np46-radius-lg:20px;
  --np46-radius-md:14px;
  --np46-glass:color-mix(in srgb,var(--surface) 88%,transparent);
  --np46-glass-2:color-mix(in srgb,var(--surface-2) 82%,transparent);
  --np46-edge:color-mix(in srgb,var(--line) 88%,transparent);
  --np46-accent-soft:color-mix(in srgb,var(--red) 12%,transparent);
  --np46-accent-glow:color-mix(in srgb,var(--red) 24%,transparent);
  --np46-shadow:0 26px 86px rgba(0,0,0,.18);
}

/* global polish */
body{background-attachment:fixed}
main.container{position:relative}
.site-header{
  border-bottom-color:color-mix(in srgb,var(--line) 75%,transparent)!important;
  backdrop-filter:blur(22px) saturate(132%)!important;
}
body.np45-scrolled .site-header{box-shadow:0 16px 44px rgba(0,0,0,.13)!important}
.search{border-radius:14px!important;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(255,255,255,.018)}
.search:focus-within{box-shadow:0 0 0 4px var(--np46-accent-soft),inset 0 0 0 1px color-mix(in srgb,var(--red) 24%,transparent)!important}

/* home — new discovery architecture */
.home-main{gap:22px!important}
.home-hero{
  border-radius:var(--np46-radius-xl)!important;
  min-height:340px!important;
  background:
    radial-gradient(circle at 78% 22%,color-mix(in srgb,var(--red) 15%,transparent),transparent 34%),
    linear-gradient(135deg,color-mix(in srgb,var(--surface) 99%,transparent),color-mix(in srgb,var(--surface-2) 76%,var(--surface)))!important;
  border:1px solid var(--np46-edge)!important;
}
.home-hero::before{opacity:.16!important;background-size:40px 40px!important}
.home-hero-copy{padding:54px 42px!important}
.home-hero h1{font-size:clamp(42px,5.3vw,74px)!important;line-height:.95!important;letter-spacing:-.07em!important;max-width:820px!important}
.home-hero p{font-size:12px!important;max-width:640px!important;color:var(--muted)!important}
.home-overview-card{border-radius:22px!important;box-shadow:0 28px 80px rgba(0,0,0,.20)!important}

.np46-discovery-dock{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  padding:10px;
  border:1px solid var(--np46-edge);
  border-radius:18px;
  background:var(--np46-glass);
  box-shadow:0 14px 44px rgba(0,0,0,.08);
  backdrop-filter:blur(16px) saturate(120%);
}
.np46-discovery-dock a{
  position:relative;
  display:flex;
  align-items:center;
  gap:11px;
  min-height:58px;
  padding:10px 12px;
  border:1px solid transparent;
  border-radius:13px;
  background:color-mix(in srgb,var(--surface-2) 62%,transparent);
  color:var(--text);
  overflow:hidden;
  transition:transform .17s ease,border-color .17s ease,background .17s ease,box-shadow .17s ease;
}
.np46-discovery-dock a::after{content:"";position:absolute;inset:0;background:linear-gradient(125deg,rgba(255,255,255,.055),transparent 38%);pointer-events:none}
.np46-discovery-dock a:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--red) 20%,var(--line));background:var(--surface-2);box-shadow:0 12px 32px rgba(0,0,0,.10)}
.np46-discovery-icon{display:grid;place-items:center;width:34px;height:34px;flex:0 0 auto;border-radius:10px;background:var(--np46-accent-soft);color:var(--red);font-size:15px;font-weight:900}
.np46-discovery-copy{display:flex;min-width:0;flex-direction:column;gap:2px}.np46-discovery-copy b{font-size:9px}.np46-discovery-copy small{font-size:7px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.home-featured-section,.home-catalog-panel{
  border-radius:var(--np46-radius-lg)!important;
  padding:22px!important;
  border-color:var(--np46-edge)!important;
  box-shadow:0 14px 42px rgba(0,0,0,.07)!important;
}
.home-featured-section{background:linear-gradient(160deg,color-mix(in srgb,var(--surface) 98%,transparent),color-mix(in srgb,var(--red) 3%,var(--surface)))!important}
.home-section-head h2{font-size:clamp(22px,2vw,30px)!important}

/* card redesign + preview */
.video-grid{gap:20px 16px!important}
.video-card{border-radius:15px!important}
.video-thumb{border-radius:15px!important;box-shadow:0 12px 34px rgba(0,0,0,.13)!important}
.video-thumb::after{content:"";position:absolute;inset:auto 0 0;height:40%;z-index:3;background:linear-gradient(to top,rgba(0,0,0,.33),transparent);pointer-events:none;opacity:.72}
.video-card:hover .video-thumb{transform:translateY(-4px) scale(1.014)!important;box-shadow:0 22px 54px rgba(0,0,0,.22)!important}
.video-card h3{margin-top:10px!important;font-size:12px!important;letter-spacing:-.018em}
.video-meta{font-size:7px!important;color:var(--muted)!important}
.preview-status{z-index:8!important;backdrop-filter:blur(9px);box-shadow:0 7px 18px rgba(0,0,0,.24)}
.video-thumb.preview-loading::before{
  content:"";position:absolute;z-index:7;inset:0;
  background:linear-gradient(100deg,transparent 20%,rgba(255,255,255,.075) 46%,transparent 72%);
  transform:translateX(-100%);animation:np46-preview-shimmer .85s linear infinite;
  pointer-events:none;
}
@keyframes np46-preview-shimmer{to{transform:translateX(100%)}}
.video-thumb.preview-active{box-shadow:0 18px 52px rgba(0,0,0,.27),0 0 0 1px color-mix(in srgb,var(--red) 25%,transparent)!important}
.video-thumb-preview{animation:np46-preview-in .19s ease both}
@keyframes np46-preview-in{from{opacity:.15;transform:scale(1.018)}to{opacity:1;transform:scale(1)}}
.np46-preview-badge{position:absolute;z-index:9;right:8px;top:8px;display:flex;align-items:center;gap:5px;padding:5px 7px;border-radius:999px;background:rgba(7,8,10,.58);border:1px solid rgba(255,255,255,.10);color:#fff;font-size:6px;font-weight:900;backdrop-filter:blur(9px);opacity:0;transform:translateY(-3px);transition:.18s ease}
.video-thumb.preview-active .np46-preview-badge{opacity:.84;transform:none}
.np46-preview-badge i{width:5px;height:5px;border-radius:50%;background:#66dc8e;box-shadow:0 0 0 4px rgba(102,220,142,.12)}

/* categories — library view */
.category-hero{
  position:relative;
  overflow:hidden;
  display:grid!important;
  grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr)!important;
  gap:24px!important;
  align-items:end!important;
  padding:34px!important;
  border:1px solid var(--np46-edge)!important;
  border-radius:var(--np46-radius-xl)!important;
  background:
    radial-gradient(circle at 88% 10%,color-mix(in srgb,var(--red) 13%,transparent),transparent 32%),
    linear-gradient(145deg,var(--surface),color-mix(in srgb,var(--surface-2) 82%,var(--surface)))!important;
  box-shadow:var(--np46-shadow)!important;
}
.category-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,color-mix(in srgb,var(--line) 15%,transparent) 1px,transparent 1px),linear-gradient(color-mix(in srgb,var(--line) 15%,transparent) 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(90deg,#000,transparent 78%);opacity:.45;pointer-events:none}
.category-hero>*,.category-tools{position:relative;z-index:2}
.category-hero h1{font-size:clamp(36px,5vw,60px)!important;letter-spacing:-.06em!important;margin:6px 0 10px!important}
.category-hero p{max-width:650px;color:var(--muted);line-height:1.7}
.category-hero-stats{display:flex!important;gap:8px!important;flex-wrap:wrap;margin-top:18px!important}.category-hero-stats span{padding:8px 10px!important;border:1px solid var(--line-soft);border-radius:10px;background:var(--np46-glass-2);backdrop-filter:blur(9px)}
.category-tools{padding:12px!important;border:1px solid var(--line-soft);border-radius:15px;background:var(--np46-glass-2);box-shadow:0 14px 34px rgba(0,0,0,.08)}
.category-tools input{min-height:44px!important;border-radius:11px!important}
.category-count-pill{border-radius:999px!important}
.category-visual-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:14px!important}
.category-visual-card{min-height:178px!important;border-radius:17px!important;border-color:var(--np46-edge)!important;box-shadow:0 14px 36px rgba(0,0,0,.10)!important}
.category-visual-card::after{content:"↗";position:absolute;z-index:4;top:10px;right:10px;display:grid;place-items:center;width:25px;height:25px;border-radius:8px;background:rgba(0,0,0,.40);color:#fff;font-size:10px;opacity:0;transform:translate(-3px,3px);transition:.18s ease;backdrop-filter:blur(7px)}
.category-visual-card:hover::after{opacity:.85;transform:none}
.category-visual-card:hover{transform:translateY(-4px)!important;border-color:color-mix(in srgb,var(--red) 22%,var(--line))!important;box-shadow:0 22px 52px rgba(0,0,0,.18)!important}
.category-visual-card:hover img{transform:scale(1.075)!important;filter:saturate(1.08) contrast(1.03)}
.category-copy strong{font-size:18px!important;letter-spacing:-.035em}.category-copy small{font-size:8px!important}
.category-available-dot{box-shadow:0 0 0 4px rgba(99,217,138,.11),0 0 14px rgba(99,217,138,.23)!important}

.np46-category-selected-hero{position:relative;overflow:hidden;min-height:230px;margin-top:18px;border:1px solid var(--np46-edge);border-radius:24px;background:var(--surface-2);box-shadow:var(--np46-shadow);isolation:isolate}
.np46-category-selected-hero .bg{position:absolute;inset:-8%;background-size:cover;background-position:center;filter:blur(22px) saturate(.92);opacity:.28;transform:scale(1.08);z-index:-2}.np46-category-selected-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,var(--surface) 0 38%,color-mix(in srgb,var(--surface) 70%,transparent) 70%,var(--surface) 100%)}
.np46-category-selected-copy{padding:34px;max-width:720px}.np46-category-selected-copy span{font-size:7px;font-weight:900;letter-spacing:.13em;color:var(--red)}.np46-category-selected-copy h1{margin:7px 0;font-size:clamp(34px,4vw,54px);letter-spacing:-.06em}.np46-category-selected-copy p{color:var(--muted);line-height:1.6}.np46-category-selected-copy a{display:inline-flex;margin-top:16px;padding:8px 10px;border:1px solid var(--line-soft);border-radius:9px;background:var(--np46-glass-2);color:var(--text)}

/* watch page — cinema composition */
.watch-page-head{padding:16px 0 12px!important;align-items:end!important}.watch-page-head-copy p{max-width:560px!important}
.watch-layout{gap:20px!important}
.player-shell{border-radius:24px!important;border-color:rgba(255,255,255,.12)!important;box-shadow:0 38px 120px rgba(0,0,0,.45)!important}
.player-topline{min-height:48px!important;background:linear-gradient(180deg,rgba(25,26,30,.98),rgba(11,12,15,.98))!important}
.player-stage{isolation:isolate}.player-stage::after{content:"";position:absolute;z-index:1;inset:0;pointer-events:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,.025)}
.source-dock{padding:12px!important;background:linear-gradient(180deg,#111217,#0a0b0e)!important}
.source-button{min-height:42px!important;border-radius:11px!important}.source-button.active{border-color:color-mix(in srgb,var(--red) 42%,transparent)!important}
.np46-cinema-tools{display:inline-flex;align-items:center;gap:6px;margin-left:auto}.np46-cinema-tools button{display:inline-flex;align-items:center;gap:5px;min-height:29px;padding:0 8px;border:1px solid rgba(255,255,255,.09);border-radius:8px;background:rgba(255,255,255,.035);color:#a9abb2;font:inherit;font-size:7px;font-weight:850;cursor:pointer}.np46-cinema-tools button:hover,.np46-cinema-tools button.active{background:rgba(255,255,255,.08);color:#fff}.np46-cinema-tools i{width:5px;height:5px;border-radius:50%;background:#66dc8e}
.video-info-card{border-radius:20px!important;padding:22px!important}.watch-title{font-size:clamp(25px,2.7vw,39px)!important}.quick-actions{display:flex!important;flex-wrap:wrap!important}.action-button{border-radius:11px!important;min-height:42px!important}
.watch-related-panel{border-radius:20px!important}.comments-card{border-radius:20px!important}
body.np46-cinema-focus .site-header,body.np46-cinema-focus .watch-page-head,body.np46-cinema-focus .video-info-card,body.np46-cinema-focus .watch-side,body.np46-cinema-focus .comments-card,body.np46-cinema-focus .site-footer,body.np46-cinema-focus [data-ad-slot]{display:none!important}
body.np46-cinema-focus .watch-layout{display:block!important}body.np46-cinema-focus .watch-main{width:min(1560px,100%)!important;margin:8px auto!important}body.np46-cinema-focus main.container{max-width:none!important;width:100%!important;padding:8px!important}body.np46-cinema-focus .player-shell{width:100%!important}body.np46-cinema-focus .player{max-height:calc(100svh - 110px)!important;min-height:min(78vh,850px)!important}

/* ads look integrated, never like broken layout */
.np-ad-slot{border-radius:16px!important;overflow:hidden!important}.np-ad-placeholder{border-radius:16px!important}

/* responsive */
@media(max-width:1050px){.np46-discovery-dock{grid-template-columns:repeat(2,minmax(0,1fr))}.category-visual-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.category-hero{grid-template-columns:1fr!important}.category-tools{max-width:none!important}}
@media(max-width:760px){
  .home-hero{min-height:0!important;border-radius:19px!important}.home-hero-copy{padding:32px 20px 20px!important}.home-hero h1{font-size:clamp(36px,12vw,50px)!important}.home-hero-side{padding:0 14px 14px!important}.np46-discovery-dock{grid-template-columns:1fr 1fr;padding:7px;border-radius:14px}.np46-discovery-dock a{min-height:52px;padding:8px}.np46-discovery-icon{width:30px;height:30px}.home-featured-section,.home-catalog-panel{padding:14px!important;border-radius:16px!important}.video-grid{gap:15px 10px!important}
  .category-hero{padding:22px 16px!important;border-radius:18px!important}.category-hero h1{font-size:38px!important}.category-visual-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}.category-visual-card{min-height:135px!important;border-radius:13px!important}.category-copy{left:10px!important;right:10px!important;bottom:10px!important}.category-copy strong{font-size:14px!important}.np46-category-selected-hero{border-radius:16px;min-height:190px}.np46-category-selected-copy{padding:22px 16px}.np46-category-selected-copy h1{font-size:35px}
  .player-shell{border-radius:0!important;margin-inline:calc(var(--container-pad,12px) * -1)!important;width:calc(100% + (var(--container-pad,12px) * 2))!important}.np46-cinema-tools button span{display:none}.np46-cinema-tools button{width:31px;padding:0;justify-content:center}.player-topline{min-height:42px!important}.video-info-card{padding:16px!important;border-radius:15px!important}.watch-title{font-size:22px!important}.quick-actions{gap:6px!important}.action-button{min-height:38px!important}.source-buttons{scroll-snap-type:x proximity}.source-button{scroll-snap-align:start}
}
@media(max-width:430px){.np46-discovery-dock{grid-template-columns:1fr}.category-visual-grid{grid-template-columns:1fr 1fr!important}.category-visual-card{min-height:118px!important}}
@media(prefers-reduced-motion:reduce){.video-thumb.preview-loading::before{animation:none}.category-visual-card,.video-card,.np46-discovery-dock a{transition:none!important}}
