/* Space Gate Nova+ modular catalog and navigation experience */
:root {
    --nova-bg: #050812;
    --nova-surface: rgba(14, 20, 45, .94);
    --nova-surface-soft: rgba(22, 31, 67, .78);
    --nova-border: rgba(151, 161, 255, .14);
    --nova-text: #f8f9ff;
    --nova-muted: #9da6c9;
    --nova-accent: #566DFF;
    --nova-accent-2: #14D7FF;
    --nova-header-h: 72px;
    --nova-nav-h: 76px;
    --nova-page-pad: clamp(14px, 3vw, 34px);
}

.app-root { min-height: 100dvh; }
.nova-app-shell { min-height: 100dvh; background: radial-gradient(circle at 75% 0, rgba(88, 69, 219, .18), transparent 31%), linear-gradient(180deg, #050812, #060918 56%, #040611); color: var(--nova-text); }
.nova-shell-header { position: fixed; z-index: 500; top: 0; right: 0; left: 0; height: calc(var(--nova-header-h) + var(--safe-top)); padding: var(--safe-top) max(var(--nova-page-pad),var(--safe-right,0px)) 0 max(var(--nova-page-pad),var(--safe-left,0px)); display: flex; align-items: center; justify-content: space-between; gap: 16px; border-bottom: 1px solid rgba(255,255,255,.055); background: linear-gradient(180deg, rgba(5,8,22,.98), rgba(5,8,22,.91)); backdrop-filter: blur(18px); box-shadow: 0 12px 35px rgba(0,0,0,.24); }
.nova-shell-leading { min-width: 0; display: flex; align-items: center; gap: 11px; }
.nova-shell-leading > img { width: 42px; height: 42px; object-fit: contain; filter: drop-shadow(0 8px 16px rgba(80,75,255,.32)); }
.nova-shell-leading > div { min-width: 0; }
.nova-shell-leading strong, .nova-shell-leading small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nova-shell-leading strong { font-size: clamp(1rem, 3.5vw, 1.3rem); font-weight: 900; }
.nova-shell-leading small { margin-top: 2px; color: var(--nova-muted); font-size: .7rem; }
.nova-shell-icon { width: 43px; height: 43px; flex: 0 0 43px; display: grid; place-items: center; border: 1px solid var(--nova-border); border-radius: 14px; background: rgba(255,255,255,.045); color: #fff; }
.nova-shell-icon:active { transform: scale(.94); background: rgba(123,104,255,.18); }
.nova-shell-brand { display: flex; align-items: baseline; gap: 5px; background: transparent; direction: ltr; letter-spacing: .08em; }
.nova-shell-brand span { color: #fff; font-size: .75rem; font-weight: 850; }
.nova-shell-brand b { color: #8b79ff; font-size: .92rem; }
.nova-shell-content { min-height: 100dvh; padding-top: calc(var(--nova-header-h) + var(--safe-top)); padding-bottom: calc(var(--nova-nav-h) + var(--safe-bottom) + 18px); }
.nova-shell-content.details { padding-bottom: calc(18px + var(--safe-bottom)); }
.nova-global-sync { position: fixed; z-index: 510; top: calc(var(--nova-header-h) + var(--safe-top) - 3px); right: 0; left: 0; height: 3px; background: rgba(255,255,255,.06); }
.nova-global-sync > span { display: block; height: 100%; background: linear-gradient(90deg, #14D7FF, #566DFF, #F04AD8); box-shadow: 0 0 14px rgba(123,104,255,.8); transition: width .28s ease; }
.nova-global-sync > div { position: absolute; top: 8px; left: var(--nova-page-pad); padding: 5px 9px; display: flex; align-items: center; gap: 6px; border: 1px solid var(--nova-border); border-radius: 999px; background: rgba(7,10,28,.88); backdrop-filter: blur(10px); }
.nova-global-sync b { color: #a99dff; font-size: .67rem; }
.nova-global-sync small { color: #aeb5d4; font-size: .64rem; }

.nova-shell-nav { position: fixed; z-index: 490; right: 0; bottom: 0; left: 0; height: calc(var(--nova-nav-h) + var(--safe-bottom)); padding: 6px max(4px, var(--safe-right,0px)) var(--safe-bottom) max(4px, var(--safe-left,0px)); display: flex; align-items: stretch; overflow-x: auto; overflow-y: hidden; direction: rtl; border-top: 1px solid rgba(255,255,255,.07); background: rgba(5,8,22,.965); backdrop-filter: blur(20px); box-shadow: 0 -16px 42px rgba(0,0,0,.38); scrollbar-width: none; }
.nova-shell-nav::-webkit-scrollbar { display: none; }
.nova-shell-nav button { position: relative; min-width: 73px; flex: 1 0 73px; padding: 4px 3px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px; background: transparent; color: #717a9c; }
.nova-shell-nav button > span { width: 42px; height: 34px; display: grid; place-items: center; border-radius: 13px; transition: .18s ease; }
.nova-shell-nav button b { font-size: .65rem; font-weight: 700; white-space: nowrap; }
.nova-shell-nav button.active { color: #fff; }
.nova-shell-nav button.active > span { color: #fff; background: linear-gradient(135deg, #6252ec, #8c66ff); box-shadow: 0 7px 20px rgba(96,78,238,.38); transform: translateY(-2px); }
.nova-shell-nav button.active b { color: #c9c3ff; }

.nova-eyebrow { display: inline-flex; align-items: center; gap: 7px; color: #9c8fff; font-size: .7rem; font-weight: 900; letter-spacing: .04em; }
.nova-eyebrow::before { content: ""; width: 23px; height: 2px; border-radius: 4px; background: linear-gradient(90deg, #14D7FF, #9B4DFF); }
.nova-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 16px; }
.nova-section-heading > div > span { display: block; margin-bottom: 3px; color: var(--nova-muted); font-size: .72rem; font-weight: 700; }
.nova-section-heading h2 { margin: 0; font-size: clamp(1.25rem, 4.7vw, 2rem); font-weight: 950; }
.nova-section-heading > button { min-height: 39px; padding: 0 4px; display: inline-flex; align-items: center; gap: 4px; background: transparent; color: #9c8fff; font-size: .76rem; font-weight: 800; white-space: nowrap; }

/* Home */
.nova-home { min-height: 100dvh; }
.nova-home-loading { min-height: calc(100dvh - var(--nova-header-h)); display: grid; place-content: center; justify-items: center; gap: 15px; }
.nova-home-loading img { width: 100px; filter: drop-shadow(0 18px 32px rgba(81,70,255,.4)); }
.nova-home-loading > div { width: 160px; height: 4px; overflow: hidden; border-radius: 8px; background: rgba(255,255,255,.08); }
.nova-home-loading > div span { display: block; width: 42%; height: 100%; background: linear-gradient(90deg, transparent, #816dff, transparent); animation: nova-loading 1.1s ease-in-out infinite; }
.nova-home-loading p { margin: 0; color: var(--nova-muted); font-size: .78rem; }
@keyframes nova-loading { from { transform: translateX(180%); } to { transform: translateX(-260%); } }
.nova-home-hero { position: relative; min-height: clamp(430px, 70dvh, 720px); overflow: hidden; cursor: pointer; background: #070a18; }
.nova-home-hero-image { position: absolute !important; inset: 0; width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover; object-position: center 18%; }
.nova-home-hero-shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(4,7,20,.12), rgba(4,7,20,.2) 28%, rgba(4,7,20,.72) 69%, #050812 100%), linear-gradient(90deg, rgba(5,8,22,.84), transparent 70%); }
.nova-home-hero-content { position: absolute; z-index: 2; right: var(--nova-page-pad); bottom: clamp(38px, 8vw, 86px); width: min(720px, calc(100% - 2 * var(--nova-page-pad))); }
.nova-home-hero h1 { margin: 9px 0 10px; max-width: 780px; font-size: clamp(2rem, 7vw, 4.8rem); line-height: 1.05; font-weight: 950; text-shadow: 0 10px 30px rgba(0,0,0,.58); }
.nova-home-hero-content > p { max-width: 680px; margin: 0 0 13px; display: -webkit-box; overflow: hidden; -webkit-line-clamp: 3; -webkit-box-orient: vertical; color: #c4cae2; font-size: clamp(.82rem, 2.1vw, 1.05rem); line-height: 1.7; }
.nova-home-hero-meta { margin-bottom: 18px; display: flex; flex-wrap: wrap; gap: 8px; }
.nova-home-hero-meta span { padding: 6px 10px; border: 1px solid rgba(255,255,255,.13); border-radius: 999px; background: rgba(5,8,22,.48); backdrop-filter: blur(9px); color: #e7e9f5; font-size: .7rem; font-weight: 750; }
.nova-home-intro { padding: clamp(24px, 5vw, 52px) var(--nova-page-pad) 22px; display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr); align-items: center; gap: 24px; }
.nova-home-intro h2 { margin: 7px 0 9px; font-size: clamp(1.65rem, 5vw, 3.2rem); line-height: 1.15; font-weight: 950; }
.nova-home-intro p { max-width: 760px; margin: 0; color: var(--nova-muted); line-height: 1.75; }
.nova-home-summary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.nova-home-summary div { min-height: 82px; padding: 14px; display: grid; align-content: center; border: 1px solid var(--nova-border); border-radius: 18px; background: linear-gradient(145deg, rgba(22,31,67,.78), rgba(10,15,36,.88)); }
.nova-home-summary strong, .nova-home-summary span { display: block; }
.nova-home-summary strong { color: #fff; font-size: clamp(1.35rem, 4vw, 2rem); font-weight: 950; direction: ltr; text-align: right; }
.nova-home-summary span { color: var(--nova-muted); font-size: .7rem; }
.nova-gateway-grid { padding: 8px var(--nova-page-pad) 28px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.nova-gateway { position: relative; min-height: 112px; padding: 17px; display: grid; grid-template-columns: auto minmax(0,1fr) auto auto; align-items: center; gap: 12px; overflow: hidden; border: 1px solid var(--nova-border); border-radius: 22px; color: #fff; text-align: right; background: linear-gradient(145deg, rgba(22,31,67,.93), rgba(8,13,32,.94)); box-shadow: 0 15px 34px rgba(0,0,0,.2); }
.nova-gateway::before { content: ""; position: absolute; width: 140px; height: 140px; top: -75px; left: -45px; border-radius: 50%; background: var(--gateway-glow, rgba(123,104,255,.22)); filter: blur(5px); }
.nova-gateway.violet { --gateway-glow: rgba(135,93,255,.45); }
.nova-gateway.blue { --gateway-glow: rgba(50,108,255,.42); }
.nova-gateway.cyan { --gateway-glow: rgba(20,194,234,.4); }
.nova-gateway.green { --gateway-glow: rgba(38,190,104,.38); }
.nova-gateway.pink { --gateway-glow: rgba(225,70,189,.4); }
.nova-gateway.orange { --gateway-glow: rgba(245,126,37,.42); }
.nova-gateway-icon { position: relative; width: 53px; height: 53px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.12); border-radius: 17px; background: rgba(255,255,255,.07); }
.nova-gateway > div { position: relative; min-width: 0; }
.nova-gateway strong, .nova-gateway small { display: block; }
.nova-gateway strong { font-size: 1rem; font-weight: 900; }
.nova-gateway small { margin-top: 4px; color: var(--nova-muted); font-size: .67rem; line-height: 1.45; }
.nova-gateway em { position: relative; color: #c9c3ff; font-size: .78rem; font-style: normal; font-weight: 900; direction: ltr; }
.nova-home-sync-card { margin: 2px var(--nova-page-pad) 30px; padding: 16px 18px; border: 1px solid rgba(120,105,255,.26); border-radius: 22px; background: linear-gradient(120deg, rgba(31,31,80,.76), rgba(11,16,39,.96)); box-shadow: 0 20px 45px rgba(0,0,0,.2); }
.nova-home-sync-heading { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 12px; }
.nova-home-sync-heading strong, .nova-home-sync-heading small { display: block; }
.nova-home-sync-heading strong { font-size: .9rem; }
.nova-home-sync-heading small { margin-top: 3px; color: var(--nova-muted); font-size: .67rem; line-height: 1.45; }
.nova-home-sync-heading b { color: #b7adff; font-size: 1rem; direction: ltr; }
.nova-sync-orbit { width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid rgba(123,104,255,.34); border-radius: 50%; }
.nova-sync-orbit::before, .nova-sync-orbit i { content: ""; position: absolute; border-radius: 50%; }
.nova-sync-orbit::before { width: 28px; height: 28px; border: 2px solid rgba(255,255,255,.1); border-top-color: #8573ff; animation: nova-spin 1.1s linear infinite; }
.nova-sync-orbit i { width: 7px; height: 7px; background: #47b4ff; box-shadow: 0 0 12px #47b4ff; }
@keyframes nova-spin { to { transform: rotate(360deg); } }
.nova-home-sync-track { height: 5px; margin: 14px 0 10px; overflow: hidden; border-radius: 8px; background: rgba(255,255,255,.07); }
.nova-home-sync-track span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #14D7FF, #566DFF, #F04AD8); transition: width .25s ease; }
.nova-home-sync-foot { display: flex; justify-content: space-between; gap: 12px; color: #aeb5d4; font-size: .65rem; }
.nova-home-rail-section, .nova-home-categories { padding: 12px var(--nova-page-pad) 25px; }
.nova-poster-rail { margin-top: 14px; display: flex; gap: 13px; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x proximity; scrollbar-width: none; padding-bottom: 8px; }
.nova-poster-rail::-webkit-scrollbar { display: none; }
.nova-poster-rail .nova-media-card { flex: 0 0 clamp(142px, 19vw, 205px); scroll-snap-align: start; }
.nova-rail-placeholder { margin-top: 14px; padding: 24px; border: 1px dashed var(--nova-border); border-radius: 18px; color: var(--nova-muted); text-align: center; }
.nova-category-mosaic { margin-top: 15px; display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 10px; }
.nova-category-mosaic button { min-height: 110px; padding: 16px; display: grid; grid-template-columns: 1fr auto; grid-template-rows: auto auto; align-content: center; gap: 4px 12px; border: 1px solid var(--nova-border); border-radius: 19px; background: linear-gradient(145deg, rgba(20,29,62,.84), rgba(9,14,34,.92)); color: #fff; text-align: right; }
.nova-category-mosaic span { font-weight: 900; }
.nova-category-mosaic small { color: var(--nova-muted); font-size: .67rem; }
.nova-category-mosaic svg { grid-column: 2; grid-row: 1 / span 2; color: #8d7cff; }

/* Catalog */
.nova-catalog-page { padding: 28px var(--nova-page-pad) 32px; }
.nova-catalog-hero { min-height: 190px; padding: clamp(22px, 5vw, 42px); display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 22px; overflow: hidden; border: 1px solid var(--nova-border); border-radius: 28px; background: radial-gradient(circle at 10% 15%, rgba(54,156,255,.21), transparent 29%), radial-gradient(circle at 82% 20%, rgba(130,87,255,.28), transparent 34%), linear-gradient(135deg, rgba(19,27,61,.96), rgba(8,13,34,.98)); box-shadow: 0 20px 48px rgba(0,0,0,.24); }
.nova-catalog-hero h1 { margin: 8px 0 9px; font-size: clamp(2rem, 6vw, 4rem); line-height: 1.06; font-weight: 950; }
.nova-catalog-hero p { max-width: 720px; margin: 0; color: #aeb6d6; line-height: 1.75; }
.nova-catalog-stats { display: grid; grid-template-columns: repeat(3, minmax(82px,1fr)); gap: 9px; }
.nova-catalog-stats div { min-width: 90px; padding: 14px; display: grid; justify-items: center; border: 1px solid rgba(255,255,255,.08); border-radius: 17px; background: rgba(5,8,22,.42); }
.nova-catalog-stats strong { font-size: 1.25rem; font-weight: 950; direction: ltr; }
.nova-catalog-stats span { margin-top: 3px; color: var(--nova-muted); font-size: .63rem; }
.nova-catalog-controls { margin: 18px 0 12px; display: grid; grid-template-columns: minmax(240px,1fr) auto; gap: 12px; }
.nova-search-box { min-height: 52px; padding: 0 15px; display: flex; align-items: center; gap: 10px; border: 1px solid var(--nova-border); border-radius: 16px; background: rgba(13,19,43,.86); color: #8e98bb; }
.nova-search-box:focus-within { border-color: rgba(123,104,255,.72); box-shadow: 0 0 0 3px rgba(123,104,255,.1); }
.nova-search-box input { flex: 1; min-width: 0; height: 48px; border: 0; outline: 0; background: transparent; text-align: right; }
.nova-search-box button { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 9px; background: rgba(255,255,255,.06); }
.nova-select-row { display: flex; gap: 9px; }
.nova-select-row label { min-width: 145px; height: 52px; padding: 5px 12px; display: grid; align-content: center; border: 1px solid var(--nova-border); border-radius: 16px; background: rgba(13,19,43,.86); }
.nova-select-row span { color: #7f89ab; font-size: .57rem; }
.nova-select-row select { min-width: 0; border: 0; outline: 0; background: transparent; font-size: .76rem; font-weight: 800; }
.nova-category-strip { margin: 0 calc(-1 * var(--nova-page-pad)); padding: 7px var(--nova-page-pad) 13px; display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; }
.nova-category-strip::-webkit-scrollbar { display: none; }
.nova-category-chip { min-width: max-content; min-height: 47px; padding: 7px 13px; display: grid; align-content: center; border: 1px solid var(--nova-border); border-radius: 14px; background: rgba(14,20,45,.82); color: #c8cce0; text-align: right; }
.nova-category-chip span, .nova-category-chip small { display: block; }
.nova-category-chip span { font-size: .76rem; font-weight: 800; }
.nova-category-chip small { margin-top: 1px; color: #747e9f; font-size: .57rem; direction: ltr; text-align: right; }
.nova-category-chip.active { border-color: rgba(129,109,255,.75); background: linear-gradient(135deg, #5e50d9, #8065ef); color: #fff; box-shadow: 0 8px 22px rgba(86,69,218,.3); }
.nova-category-chip.active small { color: #e1ddff; }
.nova-result-summary { min-height: 42px; display: flex; align-items: center; justify-content: space-between; gap: 12px; color: var(--nova-muted); font-size: .72rem; }
.nova-result-summary strong { color: #fff; }
.nova-inline-sync { display: inline-flex; align-items: center; gap: 6px; color: #a99fff; }
.nova-inline-sync i { width: 7px; height: 7px; border-radius: 50%; background: #8977ff; box-shadow: 0 0 10px #8977ff; animation: nova-pulse 1s ease infinite; }
@keyframes nova-pulse { 50% { opacity: .35; transform: scale(.75); } }
.nova-card-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(145px, 1fr)); gap: clamp(12px, 2vw, 20px); }
.nova-media-card { min-width: 0; padding: 0; display: block; background: transparent; color: #fff; text-align: right; }
.nova-media-art { position: relative; aspect-ratio: 2 / 3; overflow: hidden; border: 1px solid rgba(255,255,255,.08); border-radius: 18px; background: #10152d; box-shadow: 0 13px 26px rgba(0,0,0,.25); }
.nova-media-image { width: 100% !important; height: 100% !important; object-fit: cover; transition: transform .25s ease, filter .25s ease; }
.nova-media-card:hover .nova-media-image { transform: scale(1.035); filter: brightness(.74); }
.nova-media-type, .nova-media-quality { position: absolute; top: 9px; min-height: 24px; padding: 0 8px; display: inline-flex; align-items: center; border-radius: 8px; backdrop-filter: blur(9px); font-size: .58rem; font-weight: 900; }
.nova-media-type { right: 9px; background: rgba(8,12,30,.76); }
.nova-media-quality { left: 9px; background: rgba(103,84,239,.88); }
.nova-media-play { position: absolute; right: 50%; bottom: 14px; width: 46px; height: 46px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.26); border-radius: 50%; background: rgba(95,76,229,.88); box-shadow: 0 10px 24px rgba(0,0,0,.32); opacity: 0; transform: translate(50%, 10px); transition: .2s ease; }
.nova-media-card:hover .nova-media-play, .nova-media-card:focus-visible .nova-media-play { opacity: 1; transform: translate(50%, 0); }
.nova-media-card > strong { margin-top: 9px; display: -webkit-box; overflow: hidden; -webkit-line-clamp: 2; -webkit-box-orient: vertical; font-size: .85rem; line-height: 1.42; font-weight: 850; }
.nova-media-card > small { margin-top: 3px; display: block; overflow: hidden; color: #7781a3; font-size: .62rem; text-overflow: ellipsis; white-space: nowrap; }
.nova-load-more { padding: 28px 0 8px; display: grid; place-items: center; }
.nova-load-more button { min-width: 190px; }
.nova-button-spinner { width: 17px; height: 17px; display: inline-block; border: 2px solid rgba(255,255,255,.18); border-top-color: #fff; border-radius: 50%; animation: nova-spin .8s linear infinite; }
.nova-empty-state { min-height: 320px; padding: 34px; display: grid; place-content: center; justify-items: center; text-align: center; color: #9ca5c7; }
.nova-empty-state svg { color: #8877ff; }
.nova-empty-state h1, .nova-empty-state h2, .nova-empty-state h3 { margin: 13px 0 7px; color: #fff; }
.nova-empty-state p { max-width: 520px; margin: 0 0 17px; line-height: 1.65; }
.nova-empty-state.compact { min-height: 150px; border: 1px dashed var(--nova-border); border-radius: 18px; }
.nova-skeleton-grid .nova-card-skeleton { min-width: 0; }
.nova-card-skeleton i { display: block; aspect-ratio: 2/3; border-radius: 18px; background: linear-gradient(100deg, #10162f 25%, #1a2346 45%, #10162f 65%); background-size: 230% 100%; animation: nova-shimmer 1.25s infinite; }
.nova-card-skeleton b, .nova-card-skeleton small { display: block; height: 11px; margin-top: 10px; border-radius: 8px; background: #151d3b; }
.nova-card-skeleton small { width: 65%; height: 8px; margin-top: 7px; }
@keyframes nova-shimmer { to { background-position-x: -230%; } }

/* Details */
.nova-details-page { min-height: calc(100dvh - var(--nova-header-h)); }
.nova-details-hero { position: relative; min-height: clamp(520px, 78dvh, 780px); overflow: hidden; }
.nova-details-backdrop { position: absolute !important; inset: 0; width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover; object-position: center 18%; }
.nova-details-shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(4,6,18,.2), rgba(4,6,18,.46) 42%, #050812 100%), linear-gradient(90deg, rgba(5,8,22,.95), rgba(5,8,22,.45) 55%, rgba(5,8,22,.1)); }
.nova-details-content { position: absolute; z-index: 2; right: var(--nova-page-pad); bottom: clamp(30px, 7vw, 72px); left: var(--nova-page-pad); display: grid; grid-template-columns: clamp(135px, 20vw, 235px) minmax(0, 1fr); align-items: end; gap: clamp(18px, 3.5vw, 38px); }
.nova-details-poster { width: 100% !important; aspect-ratio: 2/3; object-fit: cover; border: 1px solid rgba(255,255,255,.13); border-radius: 22px; box-shadow: 0 24px 50px rgba(0,0,0,.48); }
.nova-details-copy h1 { margin: 9px 0 10px; font-size: clamp(2rem, 6vw, 4.4rem); line-height: 1.07; font-weight: 950; }
.nova-details-copy > p { max-width: 780px; margin: 13px 0 18px; display: -webkit-box; overflow: hidden; -webkit-line-clamp: 4; -webkit-box-orient: vertical; color: #b9c0da; line-height: 1.75; }
.nova-details-meta { display: flex; flex-wrap: wrap; gap: 8px; }
.nova-details-meta span { padding: 6px 10px; border: 1px solid rgba(255,255,255,.12); border-radius: 999px; background: rgba(7,10,28,.54); color: #e6e8f4; font-size: .68rem; }
.nova-details-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.nova-details-actions button { min-width: 140px; }
.nova-commercial-error { margin-top: 14px; padding: 10px 13px; border: 1px solid rgba(255,108,127,.28); border-radius: 13px; background: rgba(96,25,45,.24); color: #ffc5cf; font-size: .72rem; }
.nova-episodes-section, .nova-related-section { padding: 28px var(--nova-page-pad); }
.nova-episodes-section { background: linear-gradient(180deg, #050812, #070a18); }
.nova-section-heading > strong { color: #a69bff; font-size: .72rem; }
.nova-season-strip { margin: 17px 0 15px; display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; }
.nova-season-strip::-webkit-scrollbar { display: none; }
.nova-season-chip { min-width: max-content; min-height: 42px; padding: 0 15px; border: 1px solid var(--nova-border); border-radius: 13px; background: rgba(15,21,48,.8); color: #aeb6d3; font-size: .73rem; font-weight: 800; }
.nova-season-chip.active { border-color: #7a68ef; background: #6857dd; color: #fff; }
.nova-episode-list { display: grid; gap: 10px; }
.nova-episode-card { position: relative; min-height: 112px; padding: 10px; display: grid; grid-template-columns: clamp(125px, 24vw, 230px) minmax(0,1fr) auto; align-items: center; gap: 14px; border: 1px solid var(--nova-border); border-radius: 18px; background: linear-gradient(120deg, rgba(18,25,56,.88), rgba(9,14,34,.94)); color: #fff; text-align: right; }
.nova-episode-image { width: 100% !important; aspect-ratio: 16/9; object-fit: cover; border-radius: 13px; }
.nova-episode-number { position: absolute; top: 16px; right: 16px; min-width: 29px; height: 29px; display: grid; place-items: center; border-radius: 9px; background: rgba(5,8,22,.8); font-size: .67rem; font-weight: 900; }
.nova-episode-card > div { min-width: 0; }
.nova-episode-card strong, .nova-episode-card small { display: block; }
.nova-episode-card strong { font-size: .9rem; }
.nova-episode-card small { margin-top: 4px; color: #8993b5; font-size: .63rem; }
.nova-episode-card p { margin: 7px 0 0; display: -webkit-box; overflow: hidden; -webkit-line-clamp: 2; -webkit-box-orient: vertical; color: #aeb5ce; font-size: .68rem; line-height: 1.5; }
.nova-episode-play { width: 43px; height: 43px; display: grid; place-items: center; border-radius: 50%; background: linear-gradient(135deg, #6251dc, #8a69ff); }
.nova-episode-loading { min-height: 130px; display: flex; align-items: center; justify-content: center; gap: 9px; color: var(--nova-muted); }
.nova-related-grid { margin-top: 16px; }
.nova-details-skeleton { min-height: calc(100dvh - var(--nova-header-h)); padding: 30px var(--nova-page-pad); display: grid; grid-template-columns: minmax(0,1fr) 32%; gap: 24px; align-items: end; background: linear-gradient(100deg, #080c20, #111735, #080c20); background-size: 220% 100%; animation: nova-shimmer 1.4s infinite; }
.nova-details-skeleton-art { min-height: 64dvh; border-radius: 25px; background: rgba(255,255,255,.04); }
.nova-details-skeleton-copy i { display: block; height: 24px; margin: 13px 0; border-radius: 10px; background: rgba(255,255,255,.055); }
.nova-details-skeleton-copy i:first-child { height: 56px; }
.nova-details-empty { min-height: calc(100dvh - var(--nova-header-h)); }

@media (max-width: 900px) {
    .nova-gateway-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .nova-category-mosaic { grid-template-columns: repeat(3, minmax(0,1fr)); }
    .nova-catalog-hero { grid-template-columns: 1fr; }
    .nova-catalog-stats { justify-self: stretch; }
    .nova-home-intro { grid-template-columns: 1fr; }
}

@media (max-width: 680px) {
    :root { --nova-header-h: 66px; --nova-nav-h: 72px; }
    .nova-shell-header { gap: 8px; }
    .nova-shell-brand span { display: none; }
    .nova-shell-brand b { font-size: .82rem; }
    .nova-shell-leading small { max-width: 180px; }
    .nova-home-hero { min-height: 510px; }
    .nova-home-hero-shade { background: linear-gradient(180deg, rgba(4,6,18,.14), rgba(4,6,18,.27) 34%, rgba(4,6,18,.82) 70%, #050812 100%); }
    .nova-home-hero-content { bottom: 32px; }
    .nova-home-hero h1 { font-size: clamp(2rem, 10vw, 3.2rem); }
    .nova-home-hero-content > p { -webkit-line-clamp: 2; }
    .nova-home-intro { padding-top: 24px; }
    .nova-home-summary { grid-template-columns: repeat(4, minmax(0,1fr)); gap: 6px; }
    .nova-home-summary div { min-height: 67px; padding: 9px 6px; text-align: center; }
    .nova-home-summary strong { font-size: 1.05rem; text-align: center; }
    .nova-home-summary span { font-size: .57rem; }
    .nova-gateway-grid { gap: 9px; }
    .nova-gateway { min-height: 128px; padding: 14px; grid-template-columns: auto minmax(0,1fr); grid-template-rows: auto auto; }
    .nova-gateway > em { grid-column: 1; grid-row: 2; }
    .nova-gateway > svg { grid-column: 2; grid-row: 2; justify-self: end; }
    .nova-gateway-icon { width: 45px; height: 45px; border-radius: 14px; }
    .nova-gateway small { -webkit-line-clamp: 2; display: -webkit-box; -webkit-box-orient: vertical; overflow: hidden; }
    .nova-category-mosaic { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .nova-category-mosaic button { min-height: 96px; }
    .nova-home-sync-foot { display: grid; }
    .nova-catalog-page { padding-top: 17px; }
    .nova-catalog-hero { min-height: auto; padding: 20px; border-radius: 22px; }
    .nova-catalog-hero h1 { font-size: 2rem; }
    .nova-catalog-stats { grid-template-columns: repeat(3, minmax(0,1fr)); gap: 6px; }
    .nova-catalog-stats div { min-width: 0; padding: 10px 5px; }
    .nova-catalog-stats strong { font-size: .98rem; }
    .nova-catalog-controls { grid-template-columns: 1fr; }
    .nova-select-row { display: grid; grid-template-columns: 1fr 1fr; }
    .nova-select-row label { min-width: 0; }
    .nova-card-grid { grid-template-columns: repeat(3, minmax(0,1fr)); gap: 12px 8px; }
    .nova-media-art { border-radius: 13px; }
    .nova-media-card > strong { font-size: .72rem; }
    .nova-media-card > small { font-size: .56rem; }
    .nova-media-play { display: none; }
    .nova-media-type { top: 6px; right: 6px; }
    .nova-media-quality { top: 6px; left: 6px; }
    .nova-details-hero { min-height: 650px; }
    .nova-details-shade { background: linear-gradient(180deg, rgba(4,6,18,.15), rgba(4,6,18,.42) 38%, #050812 78%); }
    .nova-details-content { bottom: 24px; grid-template-columns: 92px minmax(0,1fr); align-items: end; gap: 15px; }
    .nova-details-poster { border-radius: 15px; }
    .nova-details-copy h1 { font-size: clamp(1.65rem, 8vw, 2.5rem); }
    .nova-details-copy > p { grid-column: 1 / -1; -webkit-line-clamp: 3; font-size: .73rem; }
    .nova-details-actions { grid-column: 1 / -1; }
    .nova-details-actions button { flex: 1; min-width: 120px; padding-inline: 12px; }
    .nova-episode-card { min-height: 96px; grid-template-columns: 105px minmax(0,1fr) 36px; gap: 10px; }
    .nova-episode-card p { display: none; }
    .nova-episode-play { width: 36px; height: 36px; }
}

@media (max-width: 390px) {
    .nova-card-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .nova-gateway-grid { grid-template-columns: 1fr; }
    .nova-gateway { min-height: 94px; grid-template-columns: auto minmax(0,1fr) auto auto; grid-template-rows: 1fr; }
    .nova-gateway > em, .nova-gateway > svg { grid-column: auto; grid-row: auto; }
    .nova-category-mosaic { grid-template-columns: 1fr 1fr; }
    .nova-shell-leading small { max-width: 130px; }
    .nova-details-content { grid-template-columns: 74px minmax(0,1fr); gap: 11px; }
}
.nova-sync-retry { margin-top: 12px; min-height: 38px; padding: 0 14px; border: 1px solid rgba(151,137,255,.35); border-radius: 11px; background: rgba(123,104,255,.13); color: #d7d2ff; font-size: .7rem; font-weight: 850; }

/* Auxiliary modular pages */
.nova-more-page,.nova-account-page,.nova-settings-page,.nova-favorites-page,.nova-matches-page{max-width:1500px;margin:0 auto;padding:24px clamp(16px,3vw,42px) 120px}
.nova-page-hero.compact{padding:28px 0 22px}.nova-page-hero.compact h1{margin:6px 0 8px;font-size:clamp(28px,4vw,46px)}.nova-page-hero.compact p{margin:0;max-width:720px;color:var(--nova-text-muted);line-height:1.8}
.nova-more-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}
.nova-more-link{min-height:108px;border:1px solid rgba(142,158,255,.14);background:linear-gradient(145deg,rgba(19,25,51,.96),rgba(11,16,35,.92));border-radius:24px;color:inherit;padding:18px;display:grid;grid-template-columns:52px 1fr auto;align-items:center;text-align:right;gap:14px;box-shadow:0 15px 36px rgba(0,0,0,.2)}
.nova-more-link>span{width:52px;height:52px;border-radius:17px;display:grid;place-items:center;background:linear-gradient(145deg,rgba(79,102,255,.28),rgba(142,68,255,.15));color:#9cadff}.nova-more-link div{display:grid;gap:5px}.nova-more-link strong{font-size:18px}.nova-more-link small{color:var(--nova-text-muted);font-size:13px}.nova-more-link:hover{transform:translateY(-2px);border-color:rgba(130,113,255,.42)}
.nova-account-card{display:grid;grid-template-columns:88px 1fr auto;align-items:center;gap:20px;padding:26px;border:1px solid rgba(142,158,255,.16);border-radius:28px;background:radial-gradient(circle at 10% 0%,rgba(81,80,255,.25),transparent 38%),linear-gradient(145deg,#151d3c,#0a1024);box-shadow:0 24px 60px rgba(0,0,0,.3)}
.nova-account-card img{width:88px;height:88px;object-fit:contain}.nova-account-card h1{margin:5px 0;font-size:clamp(25px,4vw,40px)}.nova-account-card p{margin:0;color:var(--nova-text-muted)}.nova-account-status{display:flex;align-items:center;gap:8px;border-radius:999px;padding:9px 13px;background:rgba(39,209,145,.1);color:#7af2bd}.nova-account-status i{width:8px;height:8px;border-radius:50%;background:#4de0a4;box-shadow:0 0 14px #4de0a4}
.nova-account-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin-top:18px}.nova-account-stats>div,.nova-storage-grid>div{padding:18px;border:1px solid rgba(142,158,255,.12);border-radius:20px;background:rgba(16,22,45,.86);display:grid;gap:7px}.nova-account-stats span,.nova-storage-grid span{color:var(--nova-text-muted);font-size:13px}.nova-account-stats strong,.nova-storage-grid strong{font-size:17px}
.nova-security-note{display:flex;gap:14px;align-items:flex-start;margin-top:18px;padding:18px;border-radius:20px;background:rgba(89,77,255,.1);border:1px solid rgba(120,108,255,.18)}.nova-security-note p{margin:5px 0 0;color:var(--nova-text-muted);line-height:1.7}
.nova-settings-page{display:grid;gap:18px}.nova-settings-section{border:1px solid rgba(142,158,255,.13);background:rgba(12,18,39,.9);border-radius:26px;padding:20px}.nova-section-title{display:flex;align-items:center;gap:12px;margin-bottom:15px}.nova-section-title div{display:grid;gap:3px}.nova-section-title small{color:var(--nova-text-muted)}
.nova-setting-toggle{position:relative;display:grid;grid-template-columns:1fr 54px;align-items:center;gap:16px;padding:16px 4px;border-top:1px solid rgba(255,255,255,.055);cursor:pointer}.nova-setting-toggle div{display:grid;gap:4px}.nova-setting-toggle small{color:var(--nova-text-muted);line-height:1.5}.nova-setting-toggle input{position:absolute;opacity:0;pointer-events:none}.nova-setting-toggle>span{width:52px;height:29px;border-radius:999px;background:#27304e;position:relative;transition:.2s}.nova-setting-toggle>span:after{content:"";position:absolute;width:23px;height:23px;top:3px;right:3px;border-radius:50%;background:#a9b2cd;transition:.2s}.nova-setting-toggle input:checked+span{background:linear-gradient(90deg,#4269ff,#8f54ff)}.nova-setting-toggle input:checked+span:after{right:26px;background:#fff}
.nova-storage-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}.nova-settings-sync{display:grid;grid-template-columns:1fr auto;gap:10px;margin-top:16px;padding:16px;border-radius:18px;background:rgba(76,91,211,.1)}.nova-settings-sync>div{display:grid;gap:4px}.nova-settings-sync small{color:var(--nova-text-muted)}.nova-settings-sync>span{grid-column:1/-1;height:7px;border-radius:999px;background:#202947;overflow:hidden}.nova-settings-sync>span i{display:block;height:100%;background:linear-gradient(90deg,#3c78ff,#9a4fff);border-radius:inherit}.nova-settings-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.nova-settings-message{color:#aab8ff;margin:14px 0 0}
.nova-favorite-card{position:relative}.nova-favorite-card>.nova-media-card{width:100%}.nova-favorite-card>button{position:absolute;top:10px;left:10px;z-index:2;border:0;border-radius:999px;background:rgba(9,13,27,.9);color:#ff6f9e;padding:8px 11px;display:flex;align-items:center;gap:5px}.nova-favorite-card>button span{font-size:11px}
.nova-centered-loading{min-height:42vh;display:grid;place-items:center;align-content:center;gap:12px;color:var(--nova-text-muted)}.nova-inline-error{padding:13px 16px;border-radius:15px;background:rgba(255,77,106,.1);border:1px solid rgba(255,77,106,.18);color:#ff9eb1}.outline-action.saved{border-color:rgba(255,86,139,.42);color:#ff86ad;background:rgba(255,65,123,.09)}
@media(max-width:680px){.nova-more-page,.nova-account-page,.nova-settings-page,.nova-favorites-page,.nova-matches-page{padding:14px 12px 105px}.nova-more-grid{grid-template-columns:1fr}.nova-more-link{min-height:92px;border-radius:20px}.nova-account-card{grid-template-columns:62px 1fr;padding:18px}.nova-account-card img{width:62px;height:62px}.nova-account-status{grid-column:1/-1;justify-self:start}.nova-account-stats{grid-template-columns:1fr 1fr}.nova-settings-section{padding:15px;border-radius:21px}.nova-shell-nav button b{font-size:10px}}

.nova-media-genre {
    position: absolute;
    right: 9px;
    bottom: 9px;
    max-width: calc(100% - 18px);
    min-height: 23px;
    padding: 0 8px;
    display: inline-flex;
    align-items: center;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 8px;
    color: #fff;
    background: rgba(8,12,30,.76);
    backdrop-filter: blur(9px);
    font-size: .56rem;
    font-weight: 850;
    white-space: nowrap;
    text-overflow: ellipsis;
}

@media (max-width: 760px) {
    .nova-media-genre { right: 6px; bottom: 6px; max-width: calc(100% - 12px); }
}
