html.nextsee-active { --ns-bg: #f9fafb; --ns-text: #111827; --ns-secondary: #596373; --ns-play-bg: rgb(0 0 0 / .9); --ns-play-text: rgb(255 255 255 / .78); --ns-border: #e5e7eb; --ns-surface: #ffffff; --ns-hover: #f3f4f6; --ns-icon-shadow: 0 8px 22px #11182718; }
html.nextsee-active.dark { --ns-bg: #0a0e17; --ns-text: #e2e8f0; --ns-secondary: #9ca3af; --ns-play-bg: rgb(255 255 255 / .9); --ns-play-text: rgb(0 0 0 / .78); --ns-border: #20222e; --ns-surface: #11131a; --ns-hover: #1a1d27; --ns-icon-shadow: 0 8px 24px #0004; }
html.nextsee-active body { height: 100dvh; overflow: hidden; background: var(--ns-bg); }
html.nextsee-active #main-content { height: 100dvh; min-height: 0px; background: var(--ns-bg); color: var(--ns-text); }
html.nextsee-active #main-content > div { padding: 0px !important; }
html.nextsee-active #editorArea { padding-bottom: 0px; }
html.nextsee-active #contentBlocks { gap: 0px; }
/* Match the shared NextEmby header while keeping the promo content full width. */
html.nextsee-active #contentHeader { margin: 0; padding: calc(max(1rem, env(safe-area-inset-top)) + 8px) 16px 16px; background: var(--ns-bg); }
@media(min-width:640px) { html.nextsee-active #contentHeader { padding-left:24px; padding-right:24px; } }
@media(min-width:768px) { html.nextsee-active #contentHeader { padding-top:max(1rem, env(safe-area-inset-top)); padding-left:32px; padding-right:32px; } }
html.nextsee-active #projectSwitcher .nextsee-project-selected { background: var(--ns-hover); color: var(--ns-text); border-color: var(--ns-border); }
.ns-side-home { width: calc(100% - 24px); display: flex; align-items: center; gap: 14px; padding: 12px 16px; font-size: 14px; text-align: left; border: 0px; }
.ns-side-home i { font-size: 20px; }
.ns-side-nav { cursor: pointer; text-align: left; }
.ns-side-nav:focus-visible { outline: 2px solid var(--ns-secondary); outline-offset: -2px; }
#projectSwitcher .nextsee-project-selected { background: #e5e7eb !important; color: #111827 !important; border-color: #d1d5db !important; }
html.dark #projectSwitcher .nextsee-project-selected { background: #1f2937 !important; color: #e5e7eb !important; border-color: #374151 !important; }
.ns-site { font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "PingFang SC", "Microsoft YaHei", sans-serif; background: var(--ns-bg); color: var(--ns-text); width: 100%; -webkit-font-smoothing: antialiased; }
.ns-hero { min-height: max(540px, 100svh); box-sizing: border-box; padding: clamp(80px, 18svh, 180px) 24px 64px; display: flex; flex-direction: column; align-items: center; justify-content: flex-start; text-align: center; }
.ns-app-icon { width: 130px; height: 130px; position: relative; flex-shrink: 0; border-radius: 32px; isolation: isolate; background: linear-gradient(145deg, rgb(17, 17, 19), rgb(3, 3, 3) 45%, rgb(0, 0, 0) 75%, rgb(10, 10, 11)); box-shadow: var(--ns-icon-shadow),inset 0 1px 1px #ffffff18; }
.ns-app-icon::before { content: ""; position: absolute; inset: 0px; border-radius: inherit; padding: 1px; background: linear-gradient(135deg, rgba(255, 255, 255, 0.52), rgba(255, 255, 255, 0.137) 19%, rgba(255, 255, 255, 0.03) 43%, rgba(255, 255, 255, 0.035) 62%, rgba(255, 255, 255, 0.25) 84%, rgba(255, 255, 255, 0.07)); mask: linear-gradient(rgb(255, 255, 255) 0px, rgb(255, 255, 255) 0px) content-box exclude, linear-gradient(rgb(255, 255, 255) 0px, rgb(255, 255, 255) 0px); pointer-events: none; }
.ns-app-icon svg { width: 100%; height: 100%; display: block; filter: drop-shadow(rgba(255, 255, 255, 0.133) 0px 1px 1px); }
.ns-hero h1 { margin: 12px 0px 16px; font-size: 24px; line-height: 1.2; font-weight: 600; letter-spacing: -0.025em; }
.ns-platforms { display: flex; align-items: center; justify-content: center; gap: 24px; margin: 8px 0px 0px; padding: 0px; list-style: none; color: var(--ns-secondary); font-family: "Microsoft YaHei", 微软雅黑, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.ns-platforms li { display: flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 700; line-height: 24px; white-space: nowrap; }
.ns-platforms svg { width: 24px; height: 24px; flex-shrink: 0; }
.ns-app-link { display: inline-flex; align-items: center; justify-content: center; gap: 8px; width: 280px; max-width: 100%; height: 44px; box-sizing: border-box; margin-top: 24px; padding: 0px 16px; border: 0px; border-radius: 14px; color: var(--ns-play-text); background: var(--ns-play-bg); text-decoration: none; font-size: 13px; font-weight: 500; line-height: 1; transition: opacity 0.2s; }
.ns-app-link i { font-size: 19px; font-weight: 400; line-height: 1; }
.ns-app-link:hover { opacity: 0.85; }
.ns-app-link:active { opacity: 0.75; }
.ns-app-link:focus-visible { outline: rgb(59, 130, 246) solid 2px; outline-offset: 5px; }
html.nextsee-active #contentHeader { display: flex !important; }
@media (max-width: 640px) {
  .ns-hero { min-height: max(500px, -64px + 100svh); padding: 64px 16px 52px; }
}
@media (max-width: 639px) {
  .ns-platforms { gap: 16px; }
  .ns-platforms li { font-size: 11px; gap: 6px; }
}
@media (prefers-reduced-motion: reduce) {
  .ns-app-link { transition: none; }
}
.ns-bluray { width:100%; box-sizing:border-box; max-width:980px; margin:0 auto; padding:40px 48px 100px; }
.ns-bluray header { text-align:center; margin-bottom:36px; }
.ns-bluray h2 { font-size:28px; font-weight:600; margin:0; }
.ns-bluray header p { font-size:14px; color:var(--ns-secondary); margin-top:12px; }
.ns-disc-demo { height:390px; position:relative; overflow:hidden; border-radius:24px; background:#101319; color:#fff; isolation:isolate; }
.ns-disc-glow { position:absolute; inset:0; background:radial-gradient(ellipse at 70% 10%,#52616a44,transparent 65%),linear-gradient(150deg,#171d24,#080a0e); }
.ns-disc-demo-label { position:absolute; top:24px; left:28px; font-size:10px; letter-spacing:.16em; color:#8c949f; z-index:2; }
.ns-disc-controls { position:absolute; left:12%; right:6%; bottom:70px; transition:transform .8s,opacity .6s; }
.ns-disc-toolbar { display:flex; align-items:center; gap:22px; margin-bottom:20px; height:56px; }
.ns-disc-file { margin-right:auto; font-size:17px; font-weight:500; color:#ddd; }
.ns-disc-trigger { width:56px; height:56px; display:grid; place-items:center; position:relative; border-radius:50%; }
.ns-disc-trigger img { width:30px; height:30px; filter:brightness(0) invert(1); }
.ns-disc-trigger:hover { background:#ffffff15; }
.ns-disc-trigger:focus-visible { outline:2px solid white; outline-offset:5px; }
.ns-disc-speed { width:28px; height:28px; filter:brightness(0) invert(1); }
.ns-disc-quality { font-size:17px; font-weight:600; }
.ns-disc-rail { height:7px; background:#ffffff35; border-radius:8px; position:relative; mask-image:linear-gradient(90deg,transparent,#000 12%); }
.ns-disc-rail span { position:absolute; inset:0 42% 0 0; border-radius:inherit; background:#e7e7e7; }
.ns-disc-rail i { position:absolute; width:15px; height:15px; background:#fff; border-radius:50%; left:58%; top:50%; transform:translate(-50%,-50%); }
.ns-disc-time { display:flex; justify-content:space-between; color:#c4c8cf; font-size:12px; margin-top:15px; font-variant-numeric:tabular-nums; }
.ns-disc-tap { pointer-events:none; position:absolute; inset:-8px; border:2px solid #fff; border-radius:50%; opacity:0; }
[data-disc-state="tap"] .ns-disc-tap { animation:ns-disc-tap .95s ease-out both; }
@keyframes ns-disc-tap { 0% {opacity:0;transform:scale(1.4);} 35% {opacity:.9;transform:scale(.7);} 100% {opacity:0;transform:scale(1.6);} }
.ns-disc-menu { position:absolute; inset:68px 38px 35px; opacity:0; transform:translateY(30px) scale(.94); filter:blur(7px); transition:opacity .7s,transform .8s,filter .8s; }
.ns-disc-menu-title span { font-size:10px; letter-spacing:.24em; color:#8d97a4; }
.ns-disc-menu-title h3 { margin:18px 0 28px; font-size:36px; font-weight:500; line-height:1.3; letter-spacing:.02em; }
.ns-disc-menu-options { display:flex; gap:24px; border-bottom:1px solid #ffffff24; padding-bottom:16px; }
.ns-disc-menu-options button { color:#8b949f; font-size:13px; padding:5px 0; }
.ns-disc-menu-options button[aria-pressed="true"] { color:#fff; box-shadow:0 2px white; }
.ns-disc-menu-options button:focus-visible { outline:1px solid #fff; outline-offset:4px; }
.ns-disc-preview { font-size:12px; color:#a4acb6; margin-top:20px; }
[data-disc-state="open"] .ns-disc-menu { opacity:1; transform:none; filter:none; }
[data-disc-state="open"] .ns-disc-controls { transform:translateY(65px) scale(.7); transform-origin:bottom right; opacity:.4; }
[data-disc-state="open"] .ns-disc-controls .ns-disc-file,[data-disc-state="open"] .ns-disc-rail,[data-disc-state="open"] .ns-disc-time,[data-disc-state="open"] .ns-disc-speed,[data-disc-state="open"] .ns-disc-quality { visibility:hidden; }
.ns-disc-demo-footer { display:flex; justify-content:space-between; align-items:center; gap:20px; margin:18px 0 40px; color:var(--ns-secondary); font-size:11px; line-height:1.7; }
.ns-disc-demo-footer button { white-space:nowrap; color:var(--ns-text); }
.ns-disc-features { display:grid; grid-template-columns:1fr 1fr; gap:48px; }
.ns-disc-features h3 { font-size:18px; font-weight:600; margin-bottom:12px; }
.ns-disc-features p { font-size:13px; line-height:1.9; color:var(--ns-secondary); }
@media(max-width:640px) { .ns-bluray { padding:24px 16px 64px; } .ns-bluray h2 { font-size:24px; } .ns-disc-demo { height:350px; border-radius:18px; } .ns-disc-controls { left:5%; right:5%; } .ns-disc-toolbar { gap:12px; } .ns-disc-file { font-size:13px; } .ns-disc-menu { inset:65px 22px 25px; } .ns-disc-menu-title h3 { font-size:29px; } .ns-disc-menu-options { gap:16px; } .ns-disc-menu-options button { font-size:11px; } .ns-disc-features { gap:24px; } .ns-disc-features h3 { font-size:16px; } .ns-disc-features p { font-size:12px; } }
@media(prefers-reduced-motion:reduce) { .ns-disc-menu,.ns-disc-controls { transition:none; } .ns-disc-tap { animation:none!important; } }

/* Episode rail uses the native 205 x 115 artwork, 13px gap and 44px ruler. */
.ns-hyper { max-width:980px; margin:0 auto; padding:0 48px 100px; }
.ns-hyper header { text-align:center; margin-bottom:36px; }
.ns-hyper h2 { font-size:28px; font-weight:600; margin:0; }
.ns-hyper header p { font-size:14px; color:var(--ns-secondary); margin-top:12px; }
.ns-hyper-demo { color:var(--ns-text); }
.ns-season-row { display:flex; align-items:center; justify-content:space-between; height:36px; margin-bottom:14px; font-size:13px; }
.ns-season-active { height:36px; display:flex; align-items:center; border-bottom:2px solid currentColor; font-weight:600; }
.ns-season-count { display:flex; gap:6px; align-items:center; color:var(--ns-secondary); font-size:12px; }
.ns-episode-rail { position:relative; display:flex; gap:13px; overflow-x:auto; scrollbar-width:none; scroll-snap-type:x proximity; padding:2px 0; }
.ns-episode-rail::-webkit-scrollbar { display:none; }
.ns-native-episode { width:205px; flex:0 0 205px; text-align:left; scroll-snap-align:start; }
.ns-native-art { width:205px; height:115px; position:relative; display:grid; place-items:center; border-radius:11px; overflow:hidden; background:rgb(17 24 39 / .08); color:var(--ns-text); }
html.dark .ns-native-art { background:rgb(255 255 255 / .08); }
.ns-native-placeholder { width:32px; height:24px; opacity:.25; }
.ns-native-action { position:absolute; inset:0; display:grid; place-items:center; font-size:25px; opacity:0; }
.ns-native-episode.is-selected .ns-native-action { opacity:.95; }
.ns-native-episode.is-selected .ns-native-art { box-shadow:inset 0 0 0 1.5px currentColor; }
.ns-native-episode.is-selected .ns-native-placeholder,.ns-native-episode:hover .ns-native-placeholder { opacity:0; }
.ns-native-episode.is-missing .ns-native-art { background:rgb(17 24 39 / .04); }
html.dark .ns-native-episode.is-missing .ns-native-art { background:rgb(255 255 255 / .04); }
.ns-native-caption { display:block; margin-top:8px; font-size:13px; font-weight:500; line-height:17px; }
.ns-native-meta { display:flex; justify-content:space-between; margin-top:4px; font-size:11px; line-height:14px; color:var(--ns-secondary); }
.ns-native-episode.is-missing .ns-native-caption,.ns-native-episode.is-missing .ns-native-meta { opacity:.5; }
.ns-native-episode:focus-visible { outline:none; }
.ns-native-episode:focus-visible .ns-native-art { outline:2px solid var(--ns-secondary); outline-offset:-3px; }
.ns-episode-ruler { position:relative; height:44px; margin-top:2px; }
.ns-ruler-ticks { position:absolute; top:14px; left:0; right:0; height:8px; opacity:.4; background:repeating-linear-gradient(90deg,currentColor 0 1px,transparent 1px 50px),repeating-linear-gradient(90deg,currentColor 0 1px,transparent 1px 5px); background-size:100% 8px,100% 4px; background-repeat:no-repeat; background-position:bottom; }
.ns-episode-ruler input { appearance:none; position:absolute; inset:0; width:100%; height:30px; margin:0; background:transparent; cursor:ew-resize; }
.ns-episode-ruler input::-webkit-slider-thumb { appearance:none; width:3px; height:14px; border-radius:2px; background:var(--ns-text); }
.ns-episode-ruler input::-moz-range-thumb { width:3px; height:14px; border:0; background:var(--ns-text); }
.ns-episode-ruler > span { position:absolute; top:29px; width:100%; text-align:center; font-size:10px; color:var(--ns-secondary); pointer-events:none; }
.ns-native-search-row { display:flex; align-items:center; gap:24px; justify-content:space-between; margin-top:16px; }
.ns-native-search-row p { font-size:12px; color:var(--ns-secondary); }
.ns-native-search { height:44px; width:240px; border-radius:14px; display:flex; align-items:center; justify-content:center; gap:8px; font-size:13px; font-weight:500; background:var(--ns-play-bg); color:var(--ns-play-text); }
.ns-native-search:disabled { cursor:default; }
.ns-native-search:focus-visible { outline:2px solid var(--ns-secondary); outline-offset:4px; }
@media(max-width:640px) { .ns-hyper { padding:0 16px 64px; } .ns-hyper h2 { font-size:24px; } .ns-native-search-row { flex-direction:column; align-items:stretch; gap:12px; } .ns-native-search { width:100%; } }

.ns-strm { max-width:980px; margin:0 auto; padding:0 48px 100px; color:var(--ns-text); }
.ns-strm header { text-align:center; margin-bottom:32px; }
.ns-strm h2 { font-size:28px; font-weight:600; margin:0; }
.ns-strm header p { color:var(--ns-secondary); font-size:14px; margin-top:12px; }
.ns-strm-modes { display:flex; justify-content:center; gap:24px; margin-bottom:44px; }
.ns-strm-modes button { padding:10px 0; font-size:13px; color:var(--ns-secondary); border-bottom:2px solid transparent; }
.ns-strm-modes button[aria-pressed="true"] { color:var(--ns-text); font-weight:600; border-color:currentColor; }
.ns-strm-lane { margin-bottom:42px; }
.ns-strm-label { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:28px; font-size:13px; }
.ns-strm-label strong { font-weight:600; }
.ns-strm-label > span { color:var(--ns-secondary); font-size:12px; }
.ns-strm-track { position:relative; height:2px; background:var(--ns-border); margin:0 36px 0 5px; }
.ns-strm-fill { display:block; height:2px; width:0; background:var(--ns-text); transition:width .45s ease; }
.ns-strm-nodes { position:relative; top:-5px; height:60px; }
.ns-strm-node { position:absolute; font-size:11px; color:var(--ns-secondary); }
.ns-strm-node > i { display:block; width:8px; height:8px; border-radius:50%; background:var(--ns-bg); border:1px solid var(--ns-secondary); transform:translateX(-50%); }
.ns-strm-node > span { display:block; margin-top:10px; transform:translateX(-50%); width:max-content; max-width:150px; text-align:center; }
.ns-strm-node:first-child > span { transform:none; }
.ns-strm-node:last-child > span { transform:translateX(-70%); }
.ns-strm-node.is-done { color:var(--ns-text); }
.ns-strm-node.is-done > i { background:var(--ns-text); border-color:var(--ns-text); }
.ns-strm-lane { padding-bottom:36px; }
.ns-strm-nextsee.is-playing .ns-strm-label > span { color:var(--ns-text); font-weight:600; }
.ns-strm-nextsee.is-playing .ns-strm-node:last-child > i { box-shadow:0 0 0 5px color-mix(in srgb,var(--ns-text) 10%,transparent); }
.ns-strm-footer { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.ns-strm-start { display:flex; align-items:center; justify-content:center; gap:8px; width:50%; height:44px; border-radius:14px; background:var(--ns-play-bg); color:var(--ns-play-text); font-size:13px; font-weight:500; }
.ns-strm-footer > span { font-size:11px; color:var(--ns-secondary); }
@media(max-width:640px) {
 .ns-strm { padding:0 16px 64px; } .ns-strm h2 { font-size:24px; }
 .ns-strm-node > span { max-width:80px; font-size:10px; }
 .ns-strm-track { margin-right:24px; } .ns-strm-label > span { font-size:10px; }
 .ns-strm-nextsee .ns-strm-node:nth-child(2) > span { margin-top:30px; }
}
@media(prefers-reduced-motion:reduce) { .ns-strm-fill { transition:none; } }
html.nextsee-active{--ns-play-text:#fff}html.nextsee-active.dark{--ns-play-text:#000}
.ns-hero{min-height:0}.ns-app-link{width:460px}.ns-link-arrow{width:18px;height:18px}.ns-title-punctuation{display:inline-block;width:.5em}
.ns-sources{max-width:980px;margin:0 auto;padding:0 48px 50px}.ns-orbit{height:320px;position:relative;touch-action:pan-y;user-select:none}.ns-orbit-heading{position:absolute;top:25px;left:0;right:0;text-align:center;pointer-events:none}.ns-orbit-heading h2{font-size:28px;font-weight:600}.ns-sources-caption{font-size:14px;color:var(--ns-secondary);margin-top:12px}.ns-orbit-source{position:absolute;left:50%;top:50%;display:flex;flex-direction:column;align-items:center;gap:12px;width:100px}.ns-orbit-source img{width:44px;height:44px;object-fit:contain}.ns-orbit-source span{font-size:13px;font-weight:500}
.ns-disc-demo{height:280px}.ns-disc-speed-copy{position:absolute;left:32px;top:24px;transition:opacity .6s,filter .6s}.ns-disc-speed-copy h3,.ns-disc-menu-title h3{font-size:30px;font-weight:600;margin:0 0 16px}.ns-disc-speed-copy p,.ns-disc-menu-title p{font-size:13px;line-height:1.9;color:#a4acb6}.ns-disc-menu-title>span{display:none}.ns-disc-caption{position:absolute;right:32px;top:25px;max-width:48%;font-size:10px;color:#8c949f;text-align:right}.ns-disc-menu{inset:24px 32px 22px}.ns-disc-menu-options{position:absolute;left:0;right:0;bottom:43px;padding-bottom:10px;padding-right:130px}.ns-disc-preview{position:absolute;right:0;bottom:1px;width:146px;height:18px;line-height:18px;font-size:10px;white-space:nowrap;margin:0}.ns-disc-controls{bottom:30px;height:116px;width:auto;transition:left .75s,right .75s,bottom .75s,height .75s}.ns-disc-toolbar{position:relative;margin-bottom:10px;transition:height .75s,margin .75s}.ns-disc-trigger{position:absolute;right:92px;top:0;transition:right .75s,width .75s,height .75s}.ns-disc-trigger img{transition:width .75s,height .75s}.ns-disc-time{height:18px;line-height:18px}
[data-disc-state="tap"] .ns-disc-tap{animation:ns-disc-tap 1.6s ease-out 3}
[data-disc-state="open"] .ns-disc-speed-copy{opacity:0;filter:blur(7px)}
[data-disc-state="open"] .ns-disc-controls{left:calc(100% - 216px);right:32px;bottom:18px;height:32px;transform:none;opacity:1;pointer-events:none}
[data-disc-state="open"] .ns-disc-toolbar{height:32px;margin:0;gap:0}
[data-disc-state="open"] .ns-disc-trigger{right:calc(100% - 32px);width:32px;height:32px;pointer-events:auto;transform:none}
[data-disc-state="open"] .ns-disc-trigger img{width:20px;height:20px}
[data-disc-state="open"] .ns-disc-controls .ns-disc-file{width:0;flex:0 0 0;margin:0;overflow:hidden}
[data-disc-state="open"] .ns-disc-speed,[data-disc-state="open"] .ns-disc-quality{width:0;overflow:hidden}
[data-disc-state="open"] .ns-disc-rail,[data-disc-state="open"] .ns-disc-time{display:none}
.ns-episode-ruler{display:none}.ns-native-still{width:100%;height:100%;object-fit:cover;transition:opacity .5s}.ns-native-art,html.dark .ns-native-art,.ns-native-episode.is-missing .ns-native-art,html.dark .ns-native-episode.is-missing .ns-native-art{background:#000}.ns-native-episode.is-missing .ns-native-still{opacity:.5}.ns-native-episode.is-selected .ns-native-art{box-shadow:none}.ns-native-action{color:#fff;background:none}.ns-native-action svg{width:25px;height:25px;filter:drop-shadow(0 1px 3px #000a)}.ns-native-episode:not(.is-selected) .ns-native-action{opacity:0}.ns-native-caption{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ns-native-episode[data-episode="1"]{cursor:default;pointer-events:none}.ns-native-episode[data-episode="1"] .ns-native-action{display:none}
.ns-native-search-row{margin-top:0;margin-bottom:18px;flex-direction:row;align-items:center}.ns-native-search-row .ns-native-search{order:-1;width:50%;max-width:420px;padding:0 16px;flex-shrink:0}.ns-native-search-row p{margin:0;text-align:right}.ns-source-status{display:flex;align-items:center;justify-content:flex-end;gap:8px;transform-origin:right center}.ns-source-status svg{width:18px;height:18px;flex-shrink:0}.ns-native-search-row .ns-source-status.has-resource{color:var(--ns-text);font-weight:600}
.ns-episode-rail{margin-right:calc(-1 * max(48px,(100vw - 280px - 980px)/2 + 48px));padding-right:48px}
.ns-native-episode.is-searching .ns-native-action svg,.ns-native-search.is-searching>i{animation:ns-search-orbit 1.4s linear 2}@keyframes ns-search-orbit{0%,100%{transform:translate(3.5px,0)}25%{transform:translate(0,3.5px)}50%{transform:translate(-3.5px,0)}75%{transform:translate(0,-3.5px)}}
.ns-strm-comparison{margin-top:32px}.ns-strm-lane{margin-bottom:30px;padding-bottom:8px}.ns-strm-label{margin-bottom:14px}.ns-strm-label>span{font-size:14px;font-weight:600;color:var(--ns-text)}.ns-strm-note{text-align:right;color:var(--ns-secondary);font-size:11px;margin-top:12px}.ns-strm-track{margin-right:0}.ns-strm-track,.ns-strm-fill{height:4px;border-radius:4px}.ns-strm-fill{transition-timing-function:linear}.ns-strm-nodes{top:-6px;height:8px}.ns-strm-node>span{display:none}[data-strm-lane="cached"] .ns-strm-track{width:48%}[data-strm-lane="probe"] .ns-strm-track{width:96%}[data-strm-lane="nextsee"] .ns-strm-track{width:19.2%}
@media(max-width:1023px){.ns-episode-rail{margin-right:calc(-1 * max(48px,(100vw - 980px)/2 + 48px))}}
@media(max-width:640px){.ns-hero{min-height:0}.ns-sources{padding:0 16px 30px}.ns-orbit{height:300px}.ns-disc-demo{height:290px}.ns-disc-speed-copy{top:22px;left:22px}.ns-disc-menu{inset:22px 22px}.ns-disc-speed-copy h3,.ns-disc-menu-title h3{font-size:24px}.ns-disc-caption{right:18px;top:24px;font-size:9px;max-width:46%}.ns-disc-controls{bottom:26px}.ns-disc-trigger{right:70px}.ns-disc-menu-options{bottom:41px;gap:12px;padding-right:0}.ns-disc-menu-options button{font-size:10px}[data-disc-state="open"] .ns-disc-controls{left:calc(100% - 206px);right:22px;bottom:16px}[data-disc-state="open"] .ns-disc-trigger{right:calc(100% - 32px)}.ns-native-search-row{gap:12px}.ns-native-search-row p{font-size:11px}.ns-source-status{gap:6px}.ns-episode-rail{margin-right:-16px;padding-right:16px}}
@media(prefers-reduced-motion:reduce){.ns-native-still,.ns-disc-trigger,.ns-disc-trigger img,.ns-disc-toolbar,.ns-strm-fill{transition:none}.ns-native-episode.is-searching .ns-native-action svg,.ns-native-search.is-searching>i{animation:none}}

/* Equal click/play stages; only the middle stage changes across the three rows. */
.ns-strm-comparison { overflow-x:auto; padding-bottom:6px; }
.ns-strm-lane { min-width:680px; margin-bottom:28px; }
.ns-strm-lane .ns-strm-track { display:flex; width:100%; height:54px; margin:0; background:none; border-radius:0; }
.ns-strm-segment { position:relative; flex-shrink:0; overflow:hidden; background:var(--ns-hover); box-shadow:inset 0 0 0 1px var(--ns-border); }
.ns-strm-segment:first-child { border-radius:9px 0 0 9px; }
.ns-strm-segment:last-child { border-radius:0 9px 9px 0; }
.ns-strm-segment > i { position:absolute; inset:0; background:var(--ribbon-color); transform:scaleX(0); transform-origin:left; }
.ns-strm-segment.is-running > i { animation:ns-ribbon-fill var(--segment-duration) linear forwards; }
.ns-strm-segment > span { position:relative; height:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px; color:var(--ns-text); font-size:10px; white-space:nowrap; }
.ns-strm-segment b { font-size:12px; font-weight:600; font-variant-numeric:tabular-nums; }
.ns-strm-click { --ribbon-color:#949494; }
.ns-strm-metadata { --ribbon-color:#b0b0b0; }
.ns-strm-direct { --ribbon-color:#cccccc; }
.ns-strm-play { --ribbon-color:#e3e3e3; }
html.dark .ns-strm-click { --ribbon-color:#383838; }
html.dark .ns-strm-metadata { --ribbon-color:#494949; }
html.dark .ns-strm-direct { --ribbon-color:#5b5b5b; }
html.dark .ns-strm-play { --ribbon-color:#6c6c6c; }
@keyframes ns-ribbon-fill { to { transform:scaleX(1); } }
@media(prefers-reduced-motion:reduce) { .ns-strm-segment.is-running > i { animation:none; transform:scaleX(1); } }

.ns-strm-segment { background:color-mix(in srgb,var(--ribbon-color) 55%,var(--ns-bg)); }

/* Compact ribbons: stage name and duration share one line. */
.ns-strm-lane .ns-strm-track { height:32px; }
.ns-strm-segment > span { flex-direction:row; gap:6px; font-size:10px; }
.ns-strm-segment b { font-size:11px; }
.ns-strm-segment:first-child { border-radius:7px 0 0 7px; }
.ns-strm-segment:last-child { border-radius:0 7px 7px 0; }

.ns-strm-label > span { font-size:13px; }

/* PlaybackControlsView: 20% arc, 1.8 stroke, 1.2s revolution. */
.ns-strm-player-name { display:flex; align-items:center; gap:9px; }
.ns-strm-transport { display:inline-flex; width:26px; height:26px; flex-shrink:0; }
.ns-strm-transport svg { width:100%; height:100%; }
.ns-strm-loading-arc { transform-origin:14px 14px; animation:ns-transport-spin 1.2s linear infinite; }
.ns-strm-pause-symbol { display:none; }
.ns-strm-lane.is-playing .ns-strm-play-symbol,.ns-strm-lane.is-playing .ns-strm-loading-ring { display:none; }
.ns-strm-lane.is-playing .ns-strm-pause-symbol { display:block; }
.ns-strm-lane.is-playing .ns-strm-loading-arc { animation:none; }
@keyframes ns-transport-spin { to { transform:rotate(360deg); } }
@media(prefers-reduced-motion:reduce) { .ns-strm-loading-arc { animation:none; transform:rotate(-35deg); } }

.ns-dolby { max-width:980px; margin:0 auto; padding:0 48px 100px; }
.ns-dolby header { text-align:center; margin-bottom:32px; }
.ns-dolby h2 { font-size:28px; font-weight:600; margin:0; }
.ns-dolby header p { font-size:14px; color:var(--ns-secondary); margin-top:12px; }
.ns-dolby-scene { position:relative; aspect-ratio:2.15; overflow:hidden; border-radius:20px; background:#12141a; isolation:isolate; --wipe-duration:2400ms; }
.ns-dolby-normal,.ns-dolby-tinted,.ns-dolby-tinted img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.ns-dolby-tinted { clip-path:inset(0 0 0 var(--split)); transition:clip-path var(--wipe-duration) cubic-bezier(.45,0,.2,1); }
.ns-dolby-tinted img { filter:sepia(.35) hue-rotate(255deg) saturate(1.7); }
.ns-dolby-tinted::after { content:""; position:absolute; inset:0; background:linear-gradient(145deg,#8d30bb88,#9e3dbd30 55%,#39694d38); mix-blend-mode:color; }
.ns-dolby-scene::after { content:""; position:absolute; inset:0; background:linear-gradient(#0005,transparent 30%,transparent 65%,#0007); pointer-events:none; }
.ns-dolby-label { position:absolute; top:20px; font-size:12px; font-weight:500; color:#fff; z-index:3; text-shadow:0 1px 5px #0008; }
.ns-dolby-label-left { left:22px; }.ns-dolby-label-right { right:22px; }
.ns-dolby-divider { position:absolute; left:var(--split); top:0; bottom:0; width:1px; background:#fffd; z-index:2; transition:left var(--wipe-duration) cubic-bezier(.45,0,.2,1); box-shadow:0 0 15px #0005; }
.ns-dolby-divider > span { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:32px; height:32px; border:1px solid #fffc; background:#10131a55; backdrop-filter:blur(8px); color:#fff; border-radius:50%; display:grid; place-items:center; font-size:15px; }
.ns-dolby-sound { position:absolute; left:22px; bottom:20px; display:flex; align-items:center; gap:10px; z-index:3; color:#fff; font-size:11px; }
.ns-dolby-waves { display:flex; align-items:center; gap:3px; height:20px; }
.ns-dolby-waves i { width:2px; height:14px; border-radius:2px; background:#fffd; transform:scaleY(.35); }
.is-animating .ns-dolby-waves i { animation:ns-dolby-wave 1.3s ease-in-out infinite alternate; animation-delay:calc(var(--wave) * -.19s); }
@keyframes ns-dolby-wave { from {transform:scaleY(.25)} to {transform:scaleY(1)} }
.ns-dolby-note { margin:12px 0 0; text-align:right; color:var(--ns-secondary); font-size:10px; }
@media(max-width:640px) { .ns-dolby { padding:0 16px 64px; }.ns-dolby h2 {font-size:24px}.ns-dolby-scene{aspect-ratio:1.7;border-radius:14px}.ns-dolby-label{font-size:10px;top:14px}.ns-dolby-label-left{left:14px}.ns-dolby-label-right{right:14px}.ns-dolby-sound{left:14px;bottom:14px} }
@media(prefers-reduced-motion:reduce) { .ns-dolby-tinted,.ns-dolby-divider {transition:none}.ns-dolby-waves i{animation:none!important} }

.ns-dolby-audio-fallback { position:absolute; right:22px; bottom:20px; display:flex; align-items:center; gap:8px; z-index:3; color:#fff; font-size:11px; }
.ns-dolby-audio-fallback i { font-size:17px; }
@media(max-width:640px) { .ns-dolby-audio-fallback { right:14px; bottom:14px; font-size:10px; } }

.ns-dolby-scene { aspect-ratio:3.05; }
.ns-dolby-normal,.ns-dolby-tinted img { object-position:center 46%; }
.ns-audio-formats { display:flex; align-items:center; justify-content:center; gap:42px; padding:24px 0 4px; color:var(--ns-text); }
.ns-audio-mark { display:flex; flex-direction:column; align-items:center; gap:2px; opacity:.8; }
.ns-audio-mark b { font-size:20px; line-height:1.1; font-weight:700; letter-spacing:-.6px; }
.ns-audio-mark small { font-size:7px; letter-spacing:1px; color:var(--ns-secondary); }
.ns-audio-dts b { font-size:29px; font-style:italic; line-height:.8; }
@media(max-width:640px) { .ns-dolby-scene { aspect-ratio:2.2; } .ns-audio-formats { gap:20px; flex-wrap:wrap; padding-top:20px; } .ns-audio-mark b { font-size:17px; } .ns-audio-dts b { font-size:25px; } .ns-audio-mark small { font-size:6px; letter-spacing:.6px; } }

/* Original format marks, kept in their original proportions. */
.ns-dolby-scene .ns-vision-logo { position:static; display:block; width:94px; height:35px; object-fit:contain; filter:brightness(0) invert(1); }
.ns-audio-logo { display:block; width:100px; height:32px; object-fit:contain; filter:brightness(0); opacity:.85; }
.ns-audio-logo.ns-logo-dts { width:52px; }
.ns-audio-logo.ns-logo-dts-hd-ma { width:100px; height:35px; }
.ns-audio-logo.ns-logo-dolby-truehd { width:110px; }
.dark .ns-audio-logo { filter:brightness(0) invert(1); }
.ns-audio-text { font-size:16px; font-weight:500; color:var(--ns-text); opacity:.8; }
@media(max-width:640px) { .ns-audio-logo { width:80px; height:26px; } .ns-audio-logo.ns-logo-dts-hd-ma { width:88px;height:30px; } .ns-audio-logo.ns-logo-dolby-truehd { width:96px; } .ns-dolby-scene .ns-vision-logo {width:75px;height:28px;} }

.ns-interactions { max-width:1120px; margin:0 auto; padding:24px 48px 100px; text-align:center; }
.ns-interactions h2 { font-size:28px; font-weight:600; letter-spacing:-.03em; margin:0 0 12px; }
.ns-interactions header p { color:var(--ns-secondary); font-size:14px; margin:0; }
.ns-gesture-stage { width:100%; max-width:650px; margin:24px auto 0; overflow:hidden; color:var(--ns-text); }
.ns-gesture-stage svg { display:block; width:100%; height:auto; }
.ns-gesture-stage text { font:500 16px -apple-system,BlinkMacSystemFont,'PingFang SC',sans-serif; fill:currentColor; text-anchor:middle; font-variant-numeric:tabular-nums; }
.ns-gesture-stage .ng-date { font-size:12px; text-anchor:end; opacity:.6; }
.ns-gesture-caption { min-height:67px; }
.ns-gesture-caption h3 { font-size:18px; font-weight:600; margin:0 0 10px; }
.ns-gesture-caption p { font-size:13px; color:var(--ns-secondary); margin:0; }
.ns-gesture-dots { display:flex; justify-content:center; gap:5px; margin-top:14px; }
.ns-gesture-dots button { width:30px; height:30px; display:grid; place-items:center; border:0; background:transparent; cursor:pointer; border-radius:50%; }
.ns-gesture-dots button span { width:6px; height:6px; border-radius:50%; background:var(--ns-text); opacity:.2; transition:opacity .25s,width .25s; }
.ns-gesture-dots button[aria-pressed="true"] span { opacity:.9; width:22px; border-radius:4px; transform:none; }
.ns-gesture-dots button:hover span { opacity:.65; }
.ns-gesture-dots button:focus-visible { outline:2px solid var(--ns-secondary); outline-offset:2px; }
.ns-gesture-stage g,.ns-gesture-stage text,.ns-gesture-stage rect { animation-duration:6.5s; animation-timing-function:cubic-bezier(.4,0,.2,1); animation-fill-mode:both; animation-play-state:paused; }
.is-running .ns-gesture-stage * { animation-play-state:running; }
.ng-cues { animation-name:ng-cue-shift; }
.ng-sub-touch { animation-name:ng-sub-drag; }
.ng-delay,.ng-ep-first,.ng-play-initial { animation-name:ng-first-label; }
.ng-sync,.ng-ep-last,.ng-play-time { animation-name:ng-second-label; }
.ng-episodes { animation-name:ng-episode-slide; }
.ng-episode-touch { animation-name:ng-episode-drag; }
.ng-timeline-content { animation-name:ng-timeline-scroll; }
.ng-timeline-touch { animation-name:ng-timeline-drag; }
.ng-play-touch { animation-name:ng-play-drag; }
.ng-play-fill { transform-origin:135px 135px; animation-name:ng-play-progress; }
.ng-play-control { transform-origin:300px 135px; animation-name:ng-button-press; }
.ng-play-start { animation-name:ng-play-released; }
@keyframes ng-cue-shift { 0%,22%{transform:translateX(0)} 60%,100%{transform:translateX(30px)} }
@keyframes ng-sub-drag { 0%,10%{opacity:0;transform:translate(340px,193px)} 22%{opacity:1;transform:translate(340px,193px)} 60%{opacity:1;transform:translate(370px,193px)} 72%,100%{opacity:0;transform:translate(370px,193px)} }
@keyframes ng-first-label { 0%,48%{opacity:1} 58%,100%{opacity:0} }
@keyframes ng-second-label { 0%,48%{opacity:0} 58%,100%{opacity:1} }
@keyframes ng-episode-slide { 0%,22%{transform:translateX(0)} 62%,100%{transform:translateX(-252px)} }
@keyframes ng-episode-drag { 0%,10%{opacity:0;transform:translate(250px,165px)} 22%{opacity:1;transform:translate(250px,165px)} 62%{opacity:1;transform:translate(365px,165px)} 73%,100%{opacity:0;transform:translate(365px,165px)} }
@keyframes ng-timeline-scroll { 0%,22%{transform:translateY(20px)} 65%,100%{transform:translateY(-35px)} }
@keyframes ng-timeline-drag { 0%,10%{opacity:0;transform:translate(449px,185px)} 22%{opacity:1;transform:translate(449px,185px)} 65%{opacity:1;transform:translate(449px,130px)} 76%,100%{opacity:0;transform:translate(449px,130px)} }
@keyframes ng-play-drag { 0%,8%{opacity:0;transform:translate(215px,148px)} 20%,30%{opacity:1;transform:translate(215px,148px)} 60%{opacity:1;transform:translate(356px,148px)} 72%,100%{opacity:0;transform:translate(356px,148px)} }
@keyframes ng-play-progress { 0%,28%{transform:scaleX(.08)} 60%,100%{transform:scaleX(.67)} }
@keyframes ng-button-press { 0%,20%,75%,100%{transform:scale(1)} 30%,60%{transform:scale(1.06)} }
@keyframes ng-play-released { 0%,70%{opacity:0} 80%,100%{opacity:1} }
@media(max-width:640px) { .ns-interactions { padding:16px 20px 64px; } .ns-interactions h2 { font-size:24px; } .ns-gesture-stage { margin-top:28px; } .ns-gesture-caption h3 { font-size:17px; } .ns-gesture-caption p { font-size:12px; } }
@media(prefers-reduced-motion:reduce) { .ns-gesture-stage * { animation:none!important; } .ng-touch,.ng-delay,.ng-ep-first,.ng-play-initial,.ng-play-start { display:none; } }

/* Match the native play control, including the live time pair. */
.ng-native-play { position:relative; width:100%; height:44px; margin-top:2px; border-radius:14px; overflow:hidden; background:var(--ns-play-bg); color:var(--ns-play-text); box-sizing:border-box; }
.ng-native-label { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; gap:8px; font:500 13px -apple-system,BlinkMacSystemFont,'PingFang SC',sans-serif; white-space:nowrap; font-variant-numeric:tabular-nums; }
.ns-gesture-stage .ng-native-label svg { width:13px; height:15px; flex-shrink:0; }
.ng-native-fill { position:absolute; inset:0 auto 0 0; width:0; background:linear-gradient(90deg,transparent,currentColor); opacity:.22; }
.ng-native-play.is-holding { box-shadow:inset 0 0 0 1.5px currentColor; }
.ng-native-play.is-holding .ng-native-fill { border-right:2px solid currentColor; }

/* Schematic play button: keep the changing time, without native colors. */
.ng-native-play { background:color-mix(in srgb,var(--ns-text) 8%,transparent); color:var(--ns-text); }
.ng-native-play.is-holding { box-shadow:none; }
.ng-native-fill { opacity:.12; }
.ng-native-play.is-holding .ng-native-fill { border-right:1px solid currentColor; }

.ns-gesture-stage .ng-day-label { text-anchor:start; font-size:12px; font-weight:600; }
@keyframes ng-timeline-scroll { 0%,22%{transform:translateY(12px)} 65%,100%{transform:translateY(-8px)} }
@keyframes ng-timeline-drag { 0%,10%{opacity:0;transform:translate(485px,185px)} 22%{opacity:1;transform:translate(485px,185px)} 65%{opacity:1;transform:translate(485px,165px)} 76%,100%{opacity:0;transform:translate(485px,165px)} }

.ns-gesture-stage { margin-bottom:16px; }

.ns-gesture-stage .ng-episode-end { font-size:11px; opacity:.45; }
.ns-gesture-stage .ng-episode-end[text-anchor="start"] { text-anchor:start; }
.ns-gesture-stage .ng-episode-end[text-anchor="end"] { text-anchor:end; }

.ns-music { max-width:1120px; margin:0 auto; padding:32px 48px 100px; }
.ns-music header { text-align:center; }
.ns-music h2 { margin:0 0 12px; font-size:28px; font-weight:600; letter-spacing:-.03em; }
.ns-music header p { margin:0; font-size:14px; color:var(--ns-secondary); }
.ns-music-duo { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:70px; max-width:740px; margin:56px auto 32px; }
.ns-music-player { max-width:290px; width:100%; justify-self:center; }
.ns-turntable { position:relative; padding:10px 20px 16px 0; }
.ns-record { position:relative; width:100%; aspect-ratio:1; border-radius:50%; background:repeating-radial-gradient(circle,#161719 0px,#161719 2px,#303134 2.5px,#17181a 3px); box-shadow:0 12px 28px #0002,inset 0 0 0 1px #ffffff20; display:grid; place-items:center; }
.ns-record::after { content:''; position:absolute; inset:0; border-radius:50%; pointer-events:none; background:conic-gradient(from 15deg,transparent,#ffffff16 20deg,transparent 60deg,#0004 130deg,#ffffff1c 205deg,transparent 250deg); }
.ns-record-label { width:38%; aspect-ratio:1; border-radius:50%; background:linear-gradient(140deg,#c4aa91,#829a9c 55%,#465c65); display:flex; align-items:center; justify-content:center; flex-direction:column; color:#fff; animation:ns-record-spin 18s linear infinite paused; }
.ns-record-label span { font-size:15px; font-weight:600; }.ns-record-label small { font-size:7px; letter-spacing:3px; margin-top:4px; }
.ns-record-label::after { content:''; position:absolute; width:5px; height:5px; background:#161719; border-radius:50%; top:50%; left:50%; transform:translate(-50%,-50%); }
.ns-tonearm { position:absolute; width:35%; height:65%; right:-8px; top:-6px; overflow:visible; fill:var(--ns-bg); stroke:var(--ns-secondary); stroke-width:5; stroke-linecap:round; stroke-linejoin:round; filter:drop-shadow(1px 3px 2px #0002); }.ns-tonearm-head{stroke-width:10;}
.ns-music-transport { display:flex; justify-content:center; align-items:center; gap:27px; margin:14px 0 20px; }
.ns-music-transport [role="img"] { border:0; background:none; padding:8px; color:var(--ns-text); cursor:pointer; border-radius:50%; }
.ns-music-transport svg { width:19px; height:19px; fill:currentColor; stroke:currentColor; stroke-width:2; stroke-linejoin:round; }.ns-music-transport [data-music-toggle] svg{width:26px;height:26px}.ns-music-pause{stroke-width:4!important;}.ns-music-play{display:none}.is-paused .ns-music-pause{display:none}.is-paused .ns-music-play{display:block}
.ns-music-progress { height:3px; border-radius:3px; background:color-mix(in srgb,var(--ns-text) 12%,transparent);overflow:hidden; }.ns-music-progress span{display:block;height:100%;background:var(--ns-text);width:0;border-radius:3px}.ns-music-times{display:flex;justify-content:space-between;font-size:10px;color:var(--ns-secondary);margin-top:8px;font-variant-numeric:tabular-nums}
.ns-music-eyebrow { font-size:12px;color:var(--ns-secondary); }.ns-lyrics-window { height:180px;overflow:hidden;margin:26px 0 16px;mask-image:linear-gradient(transparent,#000 12%,#000 75%,transparent); }.ns-lyrics-lines{padding-top:55px;transition:transform 1s cubic-bezier(.22,.61,.36,1)}.ns-lyrics-lines p { height:60px;line-height:60px;margin:0;font-size:23px;font-weight:600;white-space:nowrap;opacity:.2;transition:opacity .8s;letter-spacing:-.02em;}.ns-lyrics-lines p.is-current{opacity:1}
.ns-music-equalizer{height:18px;display:flex;align-items:center;gap:3px}.ns-music-equalizer i{width:3px;height:15px;border-radius:2px;background:var(--ns-secondary);animation:ns-music-beat 1s ease-in-out infinite alternate paused;animation-delay:calc(var(--i)*-.23s)}
.ns-music.is-playing .ns-record-label,.ns-music.is-playing .ns-music-equalizer i{animation-play-state:running}
.ns-music-features{display:flex;justify-content:center;gap:32px;font-size:13px;color:var(--ns-secondary);margin-top:36px}
@keyframes ns-record-spin{to{transform:rotate(360deg)}}@keyframes ns-music-beat{from{transform:scaleY(.25)}to{transform:scaleY(1)}}
@media(max-width:640px){.ns-music{padding:24px 24px 64px}.ns-music h2{font-size:24px}.ns-music-duo{gap:22px;margin-top:38px}.ns-lyrics-lines p{font-size:15px}.ns-music-transport{gap:12px}.ns-music-player{max-width:230px}.ns-record-label span{font-size:10px}.ns-record-label small{font-size:5px;letter-spacing:1px}.ns-music-features{gap:22px;font-size:12px}.ns-music-eyebrow{font-size:10px}.ns-lyrics-window{margin-top:8px}.ns-music-transport [role="img"]{padding:5px}}
@media(prefers-reduced-motion:reduce){.ns-record-label,.ns-music-equalizer i{animation:none!important}.ns-lyrics-lines{transition:none}}
.ns-tonearm path { fill:none; }

/* Native MusicMetalTonearm: original steel render and matching fittings. */
.ns-turntable { width:calc(100% - 20px); padding:17% 0 16px; }
/* Pivot is 10% into the 34%-wide arm: 46.6% + 3.4% = record center. */
.ns-tonearm-native { position:absolute; left:46.6%; top:0; width:34%; aspect-ratio:100/126.4706; transform-origin:10% 8%; transition:transform .35s ease-in-out; filter:drop-shadow(.6px 1.1px .7px #0003); }
.ns-tonearm-native>img,.ns-tonearm-native>svg { position:absolute; inset:0; width:100%; height:100%; }
.ns-steel-pivot { position:absolute; z-index:1; width:16%; aspect-ratio:1; left:2%; top:1.675%; border-radius:50%; background:linear-gradient(135deg,#ebebeb,#4d4d4d,#a6a6a6); box-shadow:inset 0 0 0 .2px #333c; }
.ns-steel-pivot::before,.ns-steel-pivot span { content:''; position:absolute; inset:4.5%; border-radius:50%; background:repeating-radial-gradient(circle,transparent 0 1px,#0001 1.1px,#fff2 1.2px,transparent 1.3px),conic-gradient(from -25deg,#bababa,#f5f5f5 10%,#d4d4d4 20%,#6e6e6e 32%,#9e9e9e 42%,#e8e8e8 52%,#fcfcfc 60%,#ccc 70%,#6b6b6b 82%,#949494 92%,#bababa); }
.ns-steel-pivot span { inset:31.5%; transform:rotate(28deg); box-shadow:0 0 0 .3px #777; }
.ns-steel-pivot::after { content:''; position:absolute; width:4.6%; height:25.5%; background:#3b3b3b; left:47.7%; top:37.25%; border-radius:2px; transform:rotate(24deg); box-shadow:.2px 0 #fffb; }
.ns-music.is-paused .ns-tonearm-native { transform:rotate(-24deg); }
@media(prefers-reduced-motion:reduce){.ns-tonearm-native{transition:none}}

/* Landscape proportions from MusicNowPlayingView: 86% disc, 67% artwork. */
.ns-music-duo { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:8%; max-width:none; padding:0 6.5%; align-items:stretch; }
.ns-music-player { display:flex; flex-direction:column; max-width:none; }
.ns-turntable { width:86%; padding:0; aspect-ratio:1/1.18; align-self:center; order:0; }
.ns-record { position:absolute; top:14.4068%; width:100%; }
.ns-record-label { width:67%; overflow:hidden; }
.ns-record-label img { width:100%;height:100%;object-fit:cover;display:block; }
.ns-music-track-title { order:1;display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin:22px 0 16px; }
.ns-music-track-title strong { font-size:14px;font-weight:600; }.ns-music-track-title span { font-size:11px;color:var(--ns-secondary); }
.ns-music-progress { order:2;flex-shrink:0; }
.ns-music-times { order:3; }
.ns-music-transport { order:4; margin:18px 0 0; height:64px;gap:0;justify-content:space-around; }
.ns-music-transport svg { width:24px;height:24px; }.ns-music-transport [data-music-toggle] svg{width:36px;height:36px}
.ns-music-lyrics { position:relative;display:flex;flex-direction:column;justify-content:center;padding-bottom:102px; }
.ns-music-equalizer { position:absolute;bottom:98px;left:0;height:18px; }
.ns-lyrics-lines p { font-size:clamp(14px,1.5vw,20px);letter-spacing:-.04em; }
@media(max-width:640px){.ns-music-duo{padding:0;gap:6%}.ns-music-track-title{flex-direction:column;gap:3px}.ns-music-track-title strong{font-size:12px}.ns-lyrics-lines p{font-size:11px;letter-spacing:-.04em}.ns-music-eyebrow{font-size:9px}.ns-music-transport svg{width:19px;height:19px}.ns-music-transport [data-music-toggle] svg{width:28px;height:28px}}

.ns-lyrics-lines p { font-size:23px;letter-spacing:0; }
@media(max-width:640px){.ns-lyrics-lines p{font-size:16px}}

.ns-music-player { position:relative; }
.ns-music-transport { margin-top:6px; }
.ns-music-transport [role="img"] { flex:1; }
.ns-music-transport [role="img"] img { width:24px;height:24px;display:block;margin:auto;opacity:.85; }
.dark .ns-music-transport [role="img"] img { filter:invert(1); }
.ns-music-equalizer { bottom:86px; }
.ns-music-queue { position:absolute;bottom:64px;left:0;right:0;padding:16px;border-radius:12px;background:var(--ns-surface);box-shadow:0 4px 20px #0002;font-size:13px;z-index:5; }

.ns-lyrics-lines p { font-size:clamp(16px,1.7vw,22px); }
@media(max-width:640px){.ns-lyrics-lines p{font-size:clamp(10px,2.6vw,16px)}}

/* Keep the active lyric centered with two surrounding lines each side. */
.ns-lyrics-window { height:300px; margin:16px 0; mask-image:linear-gradient(transparent,#000 12%,#000 88%,transparent); }
.ns-lyrics-lines { padding-top:120px; }
.ns-music-lyrics { min-height:0; }
@media(max-width:640px){.ns-lyrics-window{height:240px}.ns-lyrics-lines{padding-top:90px}}

.ns-music-transport [role="img"] { display:flex;align-items:center;justify-content:center;cursor:default; }

.ns-music-features { flex-wrap:wrap; gap:14px 28px; }

/* Native MusicNowPlayingView playerControls / PlaybackTimeline geometry. */
.ns-music-track-title { margin:22px 0 0; min-height:25px; gap:16px; align-items:flex-end; transform:translateY(16px); z-index:1; }
.ns-music-track-title strong { font-size:21px; font-weight:600; line-height:25px; }
.ns-music-track-title span { font-size:12px; font-weight:500; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; text-align:right; }
.ns-music-progress { position:relative; height:44px; overflow:visible; background:none; border-radius:0; }
.ns-music-progress::before { content:""; position:absolute; left:0; right:0; top:29px; height:6px; border-radius:3px; background:color-mix(in srgb,var(--ns-text) 20%,transparent); }
.ns-music-progress span { position:absolute; top:29px; height:6px; border-radius:3px 0 0 3px; background:color-mix(in srgb,var(--ns-text) 90%,transparent); }
.ns-music-progress span::after { content:""; position:absolute; right:-1.25px; top:-6px; width:2.5px; height:18px; border-radius:1.25px; background:var(--ns-text); }
.ns-music-times { height:16px; line-height:16px; margin:0; font-size:11px; color:color-mix(in srgb,var(--ns-text) 65%,transparent); }
.ns-music-transport { height:64px; margin:18px 0 0; gap:0; }
.ns-music-transport [role="img"] { height:64px; min-width:0; padding:0; border-radius:0; }
.ns-music-transport svg { width:27px; height:27px; }
.ns-music-transport [data-music-toggle] svg { width:40px; height:40px; }
.ns-music-transport [data-music-queue] svg,.ns-music-transport [role="img"] img { width:30px; height:30px; opacity:1; }
.ns-music-equalizer { bottom:101px; }
@media(max-width:640px){.ns-music-track-title{flex-direction:row;gap:8px}.ns-music-track-title strong{font-size:18px}.ns-music-track-title span{font-size:10px}.ns-music-transport svg{width:24px;height:24px}.ns-music-transport [data-music-toggle] svg{width:36px;height:36px}}

/* Compact promotional music controls. */
.ns-music-progress::before,.ns-music-progress span { top:30px; height:4px; border-radius:2px; }
.ns-music-progress span::after { display:none; }
.ns-music-transport { margin-top:6px; height:52px; }
.ns-music-transport [role="img"] { height:52px; }
.ns-music-transport svg { width:23px; height:23px; }
.ns-music-transport [data-music-toggle] svg { width:34px; height:34px; }
.ns-music-transport [data-music-queue] svg,.ns-music-transport [role="img"] img { width:25px; height:25px; }
.ns-music-equalizer { bottom:77px; }

.ns-orbit-heading { top:25px; }

.ns-orbit-heading { opacity:1; }


/* Airier hero: slogan, rising app icon, product name and download. */
.ns-hero { min-height:640px; padding:76px 24px 96px; }
.ns-hero h1.ns-hero-slogan { margin:0 0 38px; font-size:clamp(28px,3.2vw,38px); line-height:1.25; font-weight:600; letter-spacing:normal; animation:ns-hero-reveal .85s both; }
.ns-hero .ns-app-icon { width:124px; height:124px; border-radius:30px; animation:ns-icon-rise 1.2s cubic-bezier(.16,1,.3,1) .12s both; }
.ns-hero-name { margin:20px 0 0; font-size:25px; line-height:1.25; font-weight:600; letter-spacing:-.035em; animation:ns-hero-reveal .9s .25s both; }
.ns-hero .ns-platforms { margin-top:28px; gap:24px; animation:ns-hero-reveal .9s .35s both; }
.ns-hero .ns-app-link { margin-top:28px; width:420px; animation:ns-hero-reveal .9s .45s both; }
@keyframes ns-icon-rise { from { opacity:0;transform:translateY(42px) scale(.94);filter:blur(5px); } to {opacity:1;transform:translateY(0) scale(1);filter:blur(0);} }
@keyframes ns-hero-reveal { from {opacity:0;transform:translateY(14px);} to {opacity:1;transform:translateY(0);} }
@media(max-width:640px){.ns-hero{min-height:580px;padding:54px 20px 76px}.ns-hero h1.ns-hero-slogan{margin-bottom:32px;font-size:28px}.ns-hero .ns-app-icon{width:112px;height:112px;border-radius:27px}.ns-hero-name{font-size:23px}.ns-hero .ns-platforms{gap:16px;margin-top:24px}.ns-hero .ns-app-link{margin-top:24px;width:360px}}
@media(prefers-reduced-motion:reduce){.ns-hero h1.ns-hero-slogan,.ns-hero .ns-app-icon,.ns-hero-name,.ns-hero .ns-platforms,.ns-hero .ns-app-link{animation:none}}

/* Balance the hero's outer whitespace against the next section heading. */
.ns-hero { min-height:0; padding-top:160px; padding-bottom:135px; }
@media(max-width:640px){.ns-hero{min-height:0;padding-top:120px;padding-bottom:95px}}

/* Match NextFind's row geometry and inherited typography exactly. */
#sidebarItemsContainer .ns-side-nav { width:calc(100% - 24px);box-sizing:border-box;text-align:left; }
.ns-section-nav > .sidebar-group + .sidebar-group { margin-top:4px; }
.ns-side-nav svg { width:20px;height:20px;flex-shrink:0; }

.ns-side-nav svg { stroke-width:2; }
#sidebarItemsContainer .ns-side-nav:not(.selected):hover { background-color:#f0f1f3; }
html.dark #sidebarItemsContainer .ns-side-nav:not(.selected):hover { background-color:#20242c; }

.ns-native-episode:disabled .ns-native-action { display:none; }
.ns-native-episode:disabled { cursor:default; }

/* Phone portrait layout: preserve readable controls instead of shrinking desktop columns. */
@media(max-width:640px){
 .ns-site{overflow:hidden}
 .ns-hero{padding:64px 20px 68px;min-height:0}
 .ns-hero h1.ns-hero-slogan{font-size:28px;margin-bottom:30px}
 .ns-hero .ns-platforms{gap:14px;flex-wrap:wrap;row-gap:10px}
 .ns-hero .ns-app-link{width:100%;max-width:360px;font-size:13px}
 .ns-sources,.ns-bluray,.ns-hyper,.ns-strm,.ns-dolby,.ns-interactions,.ns-music{padding-left:20px;padding-right:20px;padding-bottom:64px}
 .ns-site section>header h2{font-size:24px;line-height:1.4;text-wrap:balance}
 .ns-site section>header p{font-size:13px;line-height:1.7}
 .ns-orbit{height:360px}
 .ns-orbit-heading{top:0}
 .ns-orbit-heading h2{font-size:24px}
 .ns-orbit-source{top:62%;width:76px;gap:7px}
 .ns-orbit-source img{width:36px;height:36px}
 .ns-orbit-source span{font-size:12px}
 .ns-disc-demo{height:330px;border-radius:18px}
 .ns-disc-speed-copy,.ns-disc-menu{top:24px;left:20px;right:20px}
 .ns-disc-speed-copy h3,.ns-disc-menu-title h3{font-size:26px}
 .ns-disc-speed-copy p,.ns-disc-menu-title p{font-size:13px;line-height:1.8;max-width:100%}
 .ns-disc-caption{top:auto;bottom:16px;left:20px;right:20px;max-width:none;text-align:left;font-size:10px}
 .ns-disc-controls{left:20px;right:20px;bottom:56px}
 .ns-disc-toolbar{gap:14px}.ns-disc-file{font-size:13px}
 .ns-disc-time{font-size:11px}
 .ns-disc-menu-options{bottom:62px;gap:0;justify-content:space-between}
 .ns-disc-menu-options button{font-size:12px}
 [data-disc-state="open"] .ns-disc-controls{bottom:20px;left:calc(100% - 190px);right:20px}
 .ns-native-search-row{display:flex;flex-direction:column;align-items:stretch;gap:14px;margin-bottom:24px}
 .ns-native-search{width:100%;min-height:44px;order:0;font-size:14px}
 .ns-native-search-row .ns-source-status{order:1;justify-content:flex-end;font-size:12px;min-height:20px;margin:0}
 .ns-season-row{margin-bottom:18px}
 .ns-episode-rail{margin-right:-20px;padding-right:20px}
 .ns-native-episode{width:min(68vw,250px);flex-basis:min(68vw,250px)}
 .ns-native-art{height:auto;aspect-ratio:205/115}
 .ns-native-caption{font-size:13px}.ns-native-meta{font-size:11px}
 .ns-strm-comparison{overflow:visible;min-width:0}
 .ns-strm-lane{margin-bottom:30px}
 .ns-strm-label{flex-direction:column;align-items:flex-start;gap:10px;margin-bottom:12px}
 .ns-strm-player-name{font-size:13px;line-height:1.6;gap:8px}
 .ns-strm-label>span{align-self:flex-end;font-size:12px}
 .ns-strm-lane .ns-strm-track{min-width:0;width:100%;height:52px}
 .ns-strm-segment>span{flex-direction:column;gap:4px;font-size:10px;white-space:normal;text-align:center;line-height:1.25;padding:3px}
 .ns-strm-segment b{font-size:11px}
 .ns-strm-segment.ns-strm-click,.ns-strm-segment.ns-strm-direct,.ns-strm-segment.ns-strm-play{width:21%!important}
 .ns-strm-lane[data-strm-lane="cached"] .ns-strm-metadata{width:24%!important}
 .ns-strm-lane[data-strm-lane="probe"] .ns-strm-metadata{width:37%!important}
 .ns-dolby-scene{aspect-ratio:1.65;border-radius:16px}
 .ns-dolby-label{top:12px;font-size:10px}
 .ns-dolby-scene .ns-vision-logo{width:70px;height:26px}
 .ns-dolby-sound,.ns-dolby-audio-fallback{bottom:12px;font-size:10px;gap:5px}
 .ns-dolby-waves{gap:2px}
 .ns-gesture-stage{width:calc(100% + 24px);max-width:none;margin:28px -12px 20px}
 .ns-gesture-stage>svg{width:120%;max-width:none;margin-left:-10%}
 .ns-gesture-caption h3{font-size:18px}
 .ns-gesture-caption p{font-size:13px}
 .ns-music-duo{display:flex;flex-direction:column;gap:28px;margin:30px auto 0;padding:0;max-width:360px}
 .ns-music-player{width:100%;max-width:none}
 .ns-turntable{width:78%;max-width:280px}
 .ns-music-track-title{margin-top:18px;gap:12px}
 .ns-music-track-title strong{font-size:20px}.ns-music-track-title span{font-size:11px}
 .ns-music-transport{height:52px;margin-top:6px}
 .ns-music-lyrics{padding:0;display:flex;align-items:stretch;min-height:0}
 .ns-music-eyebrow{display:none}
 .ns-lyrics-window{height:240px;margin:0;mask-image:linear-gradient(transparent,#000 20%,#000 80%,transparent)}
 .ns-lyrics-lines{padding-top:90px;text-align:center}
 .ns-lyrics-lines p{font-size:clamp(13px,3.6vw,17px);letter-spacing:-.02em}
 .ns-music-equalizer{position:static;align-self:center;margin-top:6px}
 .ns-music-features{display:grid;grid-template-columns:1fr 1fr;gap:16px 12px;font-size:12px;text-align:center;margin-top:30px}
}
@media(max-width:640px){
 .ns-strm-lane{min-width:0}
 .ns-native-search-row .ns-native-search{width:100%;max-width:none;order:0}
 .ns-native-art{width:100%}
}

.ns-download-short{display:none}
.ns-gesture-stage{touch-action:pan-y}
@media(max-width:640px){
 .ns-download-full{display:none}.ns-download-short{display:inline}
 .ns-hero .ns-app-link{width:250px;max-width:100%;font-size:13px}
 .ns-hero .ns-platforms{gap:14px;flex-wrap:nowrap}
 .ns-hero .ns-platforms li{font-size:10px;gap:5px}
 .ns-hero .ns-platforms svg{width:19px;height:19px}
 .ns-sources{overflow:hidden;padding-left:0;padding-right:0}
 .ns-orbit{width:640px;max-width:none;height:320px;left:50%;transform:translateX(-50%)}
 .ns-orbit-heading{top:25px}
 .ns-orbit-source{top:50%;width:100px;gap:12px}
 .ns-orbit-source img{width:44px;height:44px}
 .ns-orbit-source span{font-size:13px}
 .ns-disc-caption{top:22px;bottom:auto;left:auto;right:18px;width:126px;max-width:40%;font-size:10px;line-height:1.6;text-align:right;text-wrap:balance}
 .ns-disc-speed-copy h3,.ns-disc-menu-title h3{font-size:23px;max-width:60%}
 .ns-disc-speed-copy p,.ns-disc-menu-title p{margin-top:22px}
 .ns-native-search-row .ns-source-status{justify-content:center;text-align:center;transform-origin:center}
 .ns-gesture-stage{width:100%;max-width:none;margin:28px 0 20px;overflow:hidden}
 .ns-gesture-stage>svg{width:100%;max-width:100%;margin:0}
 .ns-gesture-stage .ng-svg-play text{font-size:16px}
}

@media(max-width:640px){
 .ns-music-duo{gap:8px}
 .ns-lyrics-window{height:168px}
 .ns-lyrics-lines{padding-top:63px}
 .ns-lyrics-lines p{height:42px;line-height:42px}
 .ns-music-equalizer{margin-top:2px}
 .ns-disc-caption{white-space:pre-line}
}
@media(max-width:640px){.ns-music-lyrics{margin-top:-18px}}
/* Keep the collapsed disc and its description on one baseline with a clear gap. */
@media(max-width:640px){
 [data-disc-state="open"] .ns-disc-controls{left:calc(100% - 216px);right:20px;bottom:20px}
 .ns-disc-preview{right:0;bottom:5px;width:146px;height:18px;line-height:18px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
}

@media(max-width:640px){
 .ns-music-features{display:flex;flex-wrap:nowrap;justify-content:space-between;gap:8px;font-size:clamp(10px,2.8vw,12px);white-space:nowrap}
 .ns-strm-label{flex-direction:row;align-items:center;gap:10px}
 .ns-strm-label>span{align-self:center;flex-shrink:0;white-space:nowrap}
 .ns-strm-player-name{min-width:0}
}
@media(max-width:640px){
 .ns-orbit-source{top:48%}
 .ns-orbit{height:276px}
}
@media(max-width:640px){
 .ns-orbit-source{width:84px;gap:8px}
 .ns-orbit-source img{width:36px;height:36px}
 .ns-orbit-source span{font-size:11px}
}
@media(max-width:640px){
 .ns-orbit{height:220px}
 .ns-sources{padding-bottom:36px}
}

.ns-hyper .ns-episode-rail{margin-left:calc(-1 * var(--rail-bleed-left,0px));margin-right:calc(-1 * var(--rail-bleed-right,0px));padding-left:var(--rail-bleed-left,0px);padding-right:var(--rail-bleed-right,0px);scroll-padding-left:var(--rail-bleed-left,0px)}
@media(min-width:641px){
 .ns-hyper .ns-episode-rail{margin-left:0;margin-right:0;padding-left:0;padding-right:0;scroll-padding-left:0}
}

/* Keep every STRM lane inside its available space, including split windows. */
.ns-strm-comparison{container-type:inline-size;overflow:visible;min-width:0;max-width:100%}
.ns-strm-lane{min-width:0;width:100%}
.ns-strm-label{min-width:0}
.ns-strm-player-name{min-width:0}
.ns-strm-label>span{flex-shrink:0;white-space:nowrap}
@container (max-width:680px){
 .ns-strm-label{gap:10px;align-items:center}
 .ns-strm-player-name{font-size:12px;line-height:1.5;gap:7px}
 .ns-strm-label>span{font-size:11px}
 .ns-strm-lane .ns-strm-track{height:52px}
 .ns-strm-segment>span{flex-direction:column;gap:3px;font-size:10px;white-space:normal;text-align:center;line-height:1.25;padding:3px}
 .ns-strm-segment b{font-size:11px}
}

/* AI translation: each subtitle changes independently, then holds for reading. */
.ns-gesture-stage .ng-translate-heading{font-size:12px;opacity:.55}
.ns-gesture-stage .ng-translate-original{opacity:.5;animation:ng-translate-out .5s ease both;animation-delay:var(--translation-delay)}
.ns-gesture-stage .ng-translate-result{opacity:0;animation:ng-translate-in .6s ease both;animation-delay:var(--translation-delay)}
@keyframes ng-translate-out{from{opacity:.5;transform:translateY(0)}to{opacity:0;transform:translateY(-5px)}}
@keyframes ng-translate-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
.ns-interactions:not(.is-running) .ng-translate-original,.ns-interactions:not(.is-running) .ng-translate-result{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.ns-gesture-stage .ng-translate-original{animation:none;opacity:0}.ns-gesture-stage .ng-translate-result{animation:none;opacity:1}}

/* Lightweight native Blu-ray menu diagram, without a player backdrop. */

/* Keep navigation in the body and the disc on its original toolbar baseline. */
.ns-disc-menu-options{top:62px;bottom:auto;padding-right:0;justify-content:space-between}
.ns-disc-preview{top:112px;bottom:auto;left:0;right:0;width:auto;height:auto;margin:0;font-size:12px;line-height:1.7;white-space:normal;overflow:visible}
.ns-disc-navigation-label{position:absolute;right:0;top:0;height:56px;display:flex;align-items:center;font-size:14px;opacity:0;transform:translateX(12px);transition:opacity .5s,transform .75s;pointer-events:none}
[data-disc-state="open"] .ns-disc-controls{left:12%;right:6%;bottom:30px;height:116px;transform:none;opacity:1}
[data-disc-state="open"] .ns-disc-toolbar{height:56px;margin-bottom:10px}
[data-disc-state="open"] .ns-disc-trigger{right:110px;width:56px;height:56px}
[data-disc-state="open"] .ns-disc-trigger img{width:30px;height:30px}
[data-disc-state="open"] .ns-disc-navigation-label{opacity:1;transform:none}
@media(max-width:640px){
 .ns-disc-menu-options{top:58px;bottom:auto;gap:10px}
 .ns-disc-menu-options button{font-size:11px}
 .ns-disc-preview{top:104px;bottom:auto;left:0;right:0;width:auto;height:auto;font-size:11px;line-height:1.7;white-space:normal;overflow:visible}
 [data-disc-state="open"] .ns-disc-controls{left:20px;right:20px;bottom:56px;height:116px}
 [data-disc-state="open"] .ns-disc-trigger{right:100px;width:56px;height:56px}
 .ns-disc-navigation-label{font-size:13px}
}

/* Compact Blu-ray player with staggered menu placeholders. */
.ns-disc-demo{height:270px}
.ns-disc-speed-copy,.ns-disc-menu{top:24px;left:28px;right:28px}
.ns-disc-speed-copy h3,.ns-disc-menu-title h3{font-size:26px;line-height:1.25;margin:0 0 12px}
.ns-disc-speed-copy p{font-size:12px;line-height:1.8;margin:0}
.ns-disc-caption{top:26px;right:28px;bottom:auto;left:auto;max-width:45%;font-size:10px}
.ns-disc-menu{bottom:24px}
.ns-disc-menu-options{top:47px;bottom:auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;padding:0;border:0}
.ns-disc-menu-options button{display:flex;flex-direction:column;gap:7px;align-items:flex-start;min-width:0;padding:0;color:#a4acb6;font-size:11px;box-shadow:none!important}
.ns-disc-placeholder{display:block;width:100%;height:44px;border-radius:7px;background:#ffffff0c;border:1px solid #ffffff08;transition:background .25s,border-color .25s}
.ns-disc-menu-options button[aria-pressed="true"] .ns-disc-placeholder{background:#ffffff1c;border-color:#ffffff35}
.ns-disc-menu-options button:hover .ns-disc-placeholder{background:#ffffff22}
[data-disc-state="open"] .ns-disc-menu-options button{animation:ns-disc-card-in .55s ease both}
.ns-disc-menu-options button:nth-child(2){animation-delay:.1s}
.ns-disc-menu-options button:nth-child(3){animation-delay:.2s}
.ns-disc-menu-options button:nth-child(4){animation-delay:.3s}
@keyframes ns-disc-card-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.ns-disc-preview{top:124px;left:0;right:0;bottom:auto;font-size:10px;line-height:1.6;height:auto;width:auto;margin:0}
.ns-disc-controls,[data-disc-state="open"] .ns-disc-controls{top:180px;bottom:auto;left:28px;right:28px;height:76px}
.ns-disc-toolbar,[data-disc-state="open"] .ns-disc-toolbar{height:42px;margin-bottom:8px}
.ns-disc-trigger,[data-disc-state="open"] .ns-disc-trigger{height:42px;width:42px}
.ns-disc-trigger img,[data-disc-state="open"] .ns-disc-trigger img{width:26px;height:26px}
.ns-disc-navigation-label{height:42px;font-size:12px}
.ns-disc-file{font-size:14px}
.ns-disc-speed{width:24px;height:24px}.ns-disc-quality{font-size:15px}
.ns-disc-time{margin-top:8px;font-size:10px;line-height:14px;height:14px}
.ns-disc-rail{height:5px}.ns-disc-rail i{width:11px;height:11px}
@media(max-width:640px){
 .ns-disc-demo{height:286px}
 .ns-disc-speed-copy,.ns-disc-menu{top:22px;left:20px;right:20px}
 .ns-disc-speed-copy h3,.ns-disc-menu-title h3{font-size:23px}
 .ns-disc-speed-copy p{font-size:11px}
 .ns-disc-caption{top:24px;right:20px;left:auto;bottom:auto;max-width:40%;font-size:9px;line-height:1.6}
 .ns-disc-menu-options{top:52px;gap:10px}
 .ns-disc-menu-options button{font-size:10px;gap:8px;white-space:nowrap}
 .ns-disc-placeholder{height:48px;border-radius:6px}
 .ns-disc-preview{top:134px;font-size:10px;white-space:normal}
 .ns-disc-controls,[data-disc-state="open"] .ns-disc-controls{top:196px;bottom:auto;left:20px;right:20px;height:76px}
 .ns-disc-file{font-size:12px}
}
@media(prefers-reduced-motion:reduce){[data-disc-state="open"] .ns-disc-menu-options button{animation:none}}

/* Poster proportions and the original menu rule. */
.ns-disc-menu-options{grid-template-columns:repeat(4,minmax(0,120px));justify-content:start;gap:18px;padding-bottom:12px;border-bottom:1px solid #ffffff24}
.ns-disc-placeholder{height:auto;aspect-ratio:16/9;flex-shrink:0}
.ns-disc-menu-options button>span:last-child{padding-bottom:5px;border-bottom:2px solid transparent}
.ns-disc-menu-options button[aria-pressed="true"]>span:last-child{border-color:#fff}
.ns-disc-controls .ns-disc-preview{position:absolute;top:0;bottom:auto;left:auto;right:0;width:170px;height:42px;display:flex;align-items:center;margin:0;font-size:10px;line-height:1.5;white-space:normal;text-align:left}
[data-disc-state="open"] .ns-disc-trigger{right:182px}
.ns-disc-rail{height:7px}.ns-disc-rail i{width:15px;height:15px}
@media(max-width:640px){
 .ns-disc-menu-options{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;max-width:534px}
 .ns-disc-placeholder{height:auto;aspect-ratio:16/9}
 .ns-disc-controls .ns-disc-preview{top:0;left:auto;right:0;width:146px;height:42px;font-size:10px}
 [data-disc-state="open"] .ns-disc-trigger{right:158px}
}

/* The menu rule replaces the playback rail at the exact same baseline. */
.ns-disc-menu-options{top:72px;border-bottom:0;padding-bottom:0}
.ns-disc-demo::after{content:"";position:absolute;left:28px;right:28px;top:230px;height:1px;background:#ffffff24;opacity:0;transition:opacity .5s;pointer-events:none}
.ns-disc-demo[data-disc-state="open"]::after{opacity:1}
@media(max-width:640px){
 .ns-disc-menu-options{top:86px}
 .ns-disc-demo::after{left:20px;right:20px;top:246px}
}

/* Center the complete poster, caption and selection underline as one group. */
.ns-disc-demo .ns-disc-menu{top:24px;bottom:24px}
.ns-disc-demo .ns-disc-menu-options{top:50%;bottom:auto;transform:translateY(-50%)}

/* Portrait navigation: compact two-by-two poster grid. */
@media(max-width:640px){
 .ns-disc-demo{height:390px}
 .ns-disc-demo .ns-disc-menu-options{grid-template-columns:repeat(2,minmax(0,120px));justify-content:center;gap:14px 18px;top:50%;width:100%;max-width:none}
 .ns-disc-placeholder{aspect-ratio:16/9;height:auto}
 .ns-disc-controls,[data-disc-state="open"] .ns-disc-controls{top:300px}
 .ns-disc-demo::after{top:350px}
}

.ns-community{display:flex;justify-content:center;padding:8px 20px 48px}
.ns-community a{display:inline-flex;align-items:center;gap:12px;color:var(--ns-secondary);font-size:16px;text-decoration:none}
.ns-community svg{width:32px;height:32px;flex-shrink:0}
.ns-community strong{color:#29a9df;font-weight:700}
.ns-community a:hover{color:var(--ns-text)}
.ns-community a:focus-visible{outline:2px solid #29a9df;outline-offset:8px;border-radius:4px}
@media(max-width:640px){.ns-community a{font-size:14px}.ns-community svg{width:28px;height:28px}}

/* Match the other introduction pages' community control and bottom breathing room. */
.ns-community{padding:8px 20px calc(160px + env(safe-area-inset-bottom))}
.ns-community a{gap:8px;padding:8px 16px;font-size:13px;line-height:24px}
.ns-community svg{width:24px;height:24px;transition:transform .2s}
.ns-community a:hover{color:#2ca5e0}
.ns-community a:hover svg{transform:scale(1.1)}

/* NextSee App identity stays monochrome independently of project accent colors. */
.ns-app-mark-bg{fill:#111111}.ns-app-mark-arrow{fill:#ffffff}
html.dark .ns-app-mark-bg{fill:#f5f5f7}html.dark .ns-app-mark-arrow{fill:#111111}

/* Plain-text capabilities beneath the Dolby comparison. */
.ns-dolby-capabilities{margin-top:24px;display:flex;flex-direction:column;gap:12px;text-align:center;color:var(--ns-secondary)}
.ns-dolby-capability-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px 28px;font-size:14px;line-height:1.6}
.ns-dolby-capability-row span{white-space:nowrap}
.ns-dolby-formats,.ns-music-features{justify-content:center;font-size:12px;gap:8px 24px}
@media(max-width:640px){.ns-dolby-capabilities{margin-top:18px;gap:10px}.ns-dolby-capability-row{flex-wrap:nowrap;font-size:clamp(10px,2.8vw,12px);gap:8px clamp(8px,2.5vw,16px)}.ns-dolby-formats,.ns-music-features{justify-content:center;font-size:clamp(10px,2.8vw,12px);gap:8px clamp(8px,2.5vw,16px)}}

/* Keep the download link a native, unobstructed touch target. */
.ns-app-link{position:relative;z-index:1;touch-action:manipulation;pointer-events:auto}
.ns-app-link>*{pointer-events:none}

.ns-beta-entry{text-align:center;padding:12px 20px 24px}
.ns-beta-entry button{background:none;border:0;color:var(--ns-secondary);font:inherit;font-size:13px;cursor:pointer;padding:12px;touch-action:manipulation}
.ns-beta-entry button:hover{color:var(--ns-text)}
/* Match the plugin submission dialog. */
.ns-beta-dialog{box-sizing:border-box;width:576px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);margin:auto;padding:0;border:1px solid #e5e7eb;border-radius:16px;background:#fff;color:#111827;box-shadow:0 25px 50px -12px #0004;overflow:auto}
.ns-beta-dialog::backdrop{background:rgb(0 0 0 / 45%);backdrop-filter:blur(4px)}
html.dark .ns-beta-dialog{background:#11131a;color:#fff;border-color:#20222e}
.ns-beta-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 0}
.ns-beta-dialog h3{font-size:18px;line-height:28px;font-weight:700;margin:0}
.ns-beta-close{border:0;background:none;color:#9ca3af;font-size:24px;line-height:28px;cursor:pointer}
.ns-beta-close:hover{color:#4b5563}
.ns-beta-form{display:flex;flex-direction:column;gap:12px;padding:24px}
.ns-beta-form label{display:flex;flex-direction:column;gap:8px;font-size:14px}
.ns-beta-form input{box-sizing:border-box;width:100%;min-width:0;border:1px solid #e5e7eb;border-radius:12px;padding:12px 16px;background:#f9fafb;color:inherit;font-size:14px;line-height:20px;outline:none}
html.dark .ns-beta-form input{border-color:#20222e;background:#0a0e17}
.ns-beta-form input:focus{border-color:#6b7280}
.ns-beta-note,.ns-beta-status{font-size:12px;line-height:1.6;margin:0;color:#9ca3af}
.ns-beta-status:empty{display:none}
.ns-beta-submit{align-self:flex-end;margin-top:8px;border:0;border-radius:12px;padding:10px 20px;background:#191919;color:#fff;font-size:14px;line-height:20px;font-weight:700;cursor:pointer}
.ns-beta-submit:hover{background:#404040}
html.dark .ns-beta-submit{background:#f3f4f6;color:#111827}
html.dark .ns-beta-submit:hover{background:#d1d5db}
.ns-beta-submit:disabled{opacity:.5;cursor:wait}
@media(max-width:640px){.ns-beta-form input{font-size:16px}}

.ns-beta-close:focus{outline:none}
.ns-beta-close:focus-visible{outline:1px solid #9ca3af;outline-offset:3px;border-radius:4px}

#ns-beta-title:focus{outline:none}

.ns-beta-entry button{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;font-size:13px;line-height:24px}
.ns-beta-entry img{width:24px;height:24px;flex-shrink:0;border-radius:6px;transition:transform .2s}
.ns-beta-entry strong{color:#29a9df;font-weight:700}
.ns-beta-entry button:hover{color:#2ca5e0}
.ns-beta-entry button:hover img{transform:scale(1.1)}

.ns-footer-links{display:flex;align-items:center;justify-content:center;gap:32px;padding:12px 20px calc(160px + env(safe-area-inset-bottom))}
.ns-footer-links .ns-beta-entry,.ns-footer-links .ns-community{padding:0;min-width:0}
.ns-footer-links button,.ns-footer-links a{white-space:nowrap}
@media(max-width:640px){.ns-footer-links{gap:16px;padding-left:12px;padding-right:12px}.ns-footer-links .ns-beta-entry button,.ns-footer-links .ns-community a{font-size:11px;gap:6px;padding:8px 0}.ns-footer-links img,.ns-footer-links svg{width:22px;height:22px}}

.ns-beta-dialog.is-success{width:360px}
.ns-beta-dialog.is-success .ns-beta-form,.ns-beta-dialog.is-success .ns-beta-header h3{display:none}
.ns-beta-dialog.is-success .ns-beta-header{justify-content:flex-end;padding:16px 20px 0}
.ns-beta-success{text-align:center;padding:8px 24px 48px}
.ns-beta-success[hidden]{display:none}
.ns-beta-success-icon{display:flex;align-items:center;justify-content:center;width:60px;height:60px;margin:0 auto 20px;border-radius:50%;background:#f3f4f6;color:#111827;font-size:32px}
html.dark .ns-beta-success-icon{background:#ffffff12;color:#f3f4f6}
.ns-beta-success h3{font-size:14px;line-height:22px;outline:none}
.ns-beta-success p{margin:8px 0 0;font-size:12px;line-height:20px;color:#9ca3af}

/* Five music capabilities stay readable on narrow portrait screens. */
@media(max-width:640px){.ns-music-features{flex-wrap:wrap;gap:8px 12px}.ns-music-features span{white-space:nowrap}}

.ns-orbit-source img[src$="FnMusicLogo.webp"]{border-radius:22%}

/* Mobile Safari uses the document scroller so browser chrome can retract. */
@media(max-width:1023px){
 html.nextsee-active body{height:auto;min-height:100dvh;overflow:visible}
 html.nextsee-active #main-content{height:auto;min-height:100dvh;min-width:0;overflow:visible}
}

/* Filter onboarding: selections appear in sequence, then results narrow. */
.ng-filter-selected-text{animation-name:ng-filter-select}
.ng-filter-discard{animation-name:ng-filter-hide}
@keyframes ng-filter-select{0%,12%{opacity:.4}24%,100%{opacity:1}}
@keyframes ng-filter-hide{0%,48%{opacity:1}65%,100%{opacity:0}}
@media(prefers-reduced-motion:reduce){.ng-filter-selected-text{opacity:1!important}.ng-filter-discard{opacity:0}}

.ng-filter-keep{animation-name:ng-filter-gather}
@keyframes ng-filter-gather{0%,48%{translate:0 0}68%,100%{translate:var(--filter-shift) 0}}
@media(prefers-reduced-motion:reduce){.ng-filter-keep{translate:var(--filter-shift) 0}}

/* Match the other project labels when NextSee is inactive. */
#projectSwitcher > #btn-project-NextSee:not([aria-current="page"]){color:#4b5563}
html.dark #projectSwitcher > #btn-project-NextSee:not([aria-current="page"]){color:#9ca3af}
#projectSwitcher > #btn-project-NextSee:not([aria-current="page"]) .ns-app-mark-bg{fill:currentColor}

/* Match the native player's PingFang Light / Medium lyric typography. */
.ns-lyrics-lines p{font-family:"PingFang SC","Helvetica Neue",sans-serif;font-weight:300;font-size:clamp(16px,1.5vw,18px);letter-spacing:0}
.ns-lyrics-lines p.is-current{font-weight:500;font-size:clamp(17px,1.7vw,20px)}
@media(max-width:640px){.ns-lyrics-lines p{font-size:clamp(12px,3.4vw,16px)}.ns-lyrics-lines p.is-current{font-size:clamp(13px,3.6vw,17px)}}
/* Native-style stacked collections, continuously moving through the shelf. */
.ns-collection{box-sizing:border-box;width:100%;max-width:980px;min-width:0;margin:0 auto;padding:24px 48px 80px;text-align:center;color:var(--ns-text);overflow:hidden}
.ns-collection header{padding:0 20px}
.ns-collection h2{font-size:28px;font-weight:600;letter-spacing:-.03em;margin:0 0 12px}
.ns-collection header p{font-size:14px;color:var(--ns-secondary);margin:0;line-height:1.8}
.ns-collection-marquee{margin:38px auto 0;overflow:hidden;width:100%;max-width:100%;min-width:0;text-align:left}
.ns-collection-track,.ns-collection-loop{display:flex;width:max-content;align-items:flex-start}
.ns-collection-track{will-change:transform;padding:12px 0}
.ns-collection-loop{gap:28px;padding-right:28px}
.ns-folder{display:flex;align-items:flex-start;gap:0}
.ns-folder-cover{width:154px;flex-shrink:0;border:0;padding:0;background:none;color:inherit;text-align:left;cursor:pointer}
.ns-folder-stack{display:block;position:relative;width:138px;height:142px;margin-bottom:14px}
.ns-folder-stack img{position:absolute;left:0;top:0;width:126px;height:136px;object-fit:cover;border-radius:9px;transform:translate(calc(var(--layer)*7px),calc(var(--layer)*-3px));z-index:calc(3 - var(--layer));filter:brightness(calc(1 - var(--layer)*.16));transition:transform .35s,opacity .35s}
.ns-folder.is-open .ns-folder-stack img:not(:first-child){transform:translate(0,0);opacity:0}
.ns-folder-cover strong{display:block;font-size:14px;font-weight:500;margin-bottom:5px}
.ns-folder-cover small{display:block;font-size:11px;color:var(--ns-secondary)}
.ns-folder-members{display:flex;gap:12px;width:0;opacity:0;overflow:hidden;transition:width .35s ease,opacity .25s ease;pointer-events:none}
.ns-folder-members img{width:100px;height:136px;flex-shrink:0;object-fit:cover;border-radius:8px}
.ns-folder.is-open .ns-folder-members{width:336px;opacity:1}
.ns-folder-cover:focus-visible{outline:1px solid var(--ns-secondary);outline-offset:5px;border-radius:8px}
@media(max-width:640px){.ns-collection{padding:16px 20px 64px}.ns-collection h2{font-size:24px}.ns-collection header p{font-size:12px}.ns-collection-marquee{margin-top:28px}.ns-folder-cover{width:124px}.ns-folder-stack{width:112px;height:118px}.ns-folder-stack img{width:100px;height:112px}.ns-folder-cover strong{font-size:12px}.ns-folder-cover small{font-size:10px}.ns-collection-loop{gap:20px;padding-right:20px}.ns-folder-members img{width:84px;height:112px}.ns-folder.is-open .ns-folder-members{width:288px}}
@media(prefers-reduced-motion:reduce){.ns-collection-marquee{overflow-x:auto;mask-image:none}.ns-folder-members,.ns-folder-stack img{transition:none}}

/* Match DiscoveryPlaylistStack and PlaylistCoverLabels in the native app. */
.ns-folder-cover{width:168px;text-align:center}
.ns-folder-stack{width:168px;height:140px;margin-bottom:10px}
.ns-folder-stack img{width:140px;height:140px;transform:translateX(calc(var(--layer)*14px));filter:brightness(calc(1 - var(--layer)*.12));border-radius:8px}
.ns-folder-overlay{position:absolute;left:0;top:0;width:140px;height:140px;z-index:4;border-radius:8px;background:rgba(0,0,0,.5);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:12px;box-sizing:border-box;pointer-events:none}
.ns-folder-overlay b{font-size:15px;font-weight:700}
.ns-folder-overlay>span{font-size:15px;font-weight:400;opacity:.82}
.ns-folder-cover>strong,.ns-folder-cover>small{width:140px;text-align:center}
.ns-folder-cover>strong{font-size:11px;margin-bottom:2px;font-weight:500}
.ns-folder-cover>small{font-size:10px}
.ns-folder-members img{width:140px;height:140px;border-radius:8px}
.ns-folder.is-open .ns-folder-members{width:456px}
@media(max-width:640px){.ns-folder-cover{width:132px}.ns-folder-stack{width:132px;height:110px}.ns-folder-stack img{width:110px;height:110px;transform:translateX(calc(var(--layer)*11px))}.ns-folder-overlay{width:110px;height:110px;padding:8px}.ns-folder-overlay b,.ns-folder-overlay>span{font-size:12px}.ns-folder-cover>strong,.ns-folder-cover>small{width:110px}.ns-folder-members img{width:110px;height:110px}.ns-folder.is-open .ns-folder-members{width:366px}}

/* Seven-resource native stack, edge reflection and vinyl artwork. */
.ns-folder{--side:140px;--step:14px}
.ns-folder-cover{width:calc(var(--side) + var(--layers)*var(--step));margin-right:12px}
.ns-folder-stack{width:100%;height:var(--side)}
.ns-folder-art{display:block;position:relative;width:var(--side);height:var(--side);border-radius:8px;overflow:hidden;flex-shrink:0;background:#171717}
.ns-folder-stack>.ns-folder-art{position:absolute;left:0;top:0;transform:translateX(calc(var(--layer)*var(--step)));z-index:calc(9 - var(--layer));transition:transform .35s,opacity .35s}
.ns-folder-art img,.ns-folder-stack .ns-folder-art img{position:static;width:100%;height:100%;object-fit:cover;transform:none;filter:none;border-radius:inherit}
.ns-folder-stack>.ns-folder-art:after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.65);border-radius:inherit;border-top:1px solid rgba(255,255,255,.22);border-right:1px solid rgba(255,255,255,.65);pointer-events:none}
.ns-folder-front{position:absolute;inset:0 auto auto 0;width:var(--side);height:var(--side);border-radius:8px;overflow:hidden;z-index:10}
.ns-folder-stack .ns-folder-front>img{width:100%;height:100%;position:static;transform:none;filter:none;object-fit:cover}
.ns-folder-overlay{width:100%;height:100%}
.ns-folder-cover>strong,.ns-folder-cover>small{width:var(--side)}
.ns-folder.is-open .ns-folder-stack>.ns-folder-art{transform:translateX(0);opacity:0}
.ns-folder.is-open .ns-folder-stack .ns-folder-front>img{opacity:1;transform:none}
.ns-folder-art.is-vinyl img,.ns-folder-stack .ns-folder-art.is-vinyl img{position:absolute;left:16.5%;top:16.5%;width:67%;height:67%;border-radius:50%}
.ns-folder-member{width:var(--side);flex-shrink:0;text-align:center}
.ns-folder-member strong{display:block;font-size:11px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:10px}
.ns-folder-member small{display:block;font-size:10px;color:var(--ns-secondary);margin-top:2px}
.ns-folder-members{gap:12px}
.ns-folder.is-open .ns-folder-members{width:calc(var(--members)*(var(--side) + 12px))}
@media(max-width:640px){.ns-folder{--side:110px;--step:11px}.ns-folder-cover{width:calc(var(--side) + var(--layers)*var(--step))}.ns-folder-stack{width:100%;height:var(--side)}.ns-collection-marquee{width:calc(100% + 40px);max-width:none;margin-left:-20px;margin-right:-20px}.ns-folder.is-open .ns-folder-members{width:calc(var(--members)*(var(--side) + 12px))}}

/* Native spacing: 12pt between groups, tighter reveals as stack depth grows. */
.ns-collection-loop{gap:12px;padding-right:12px}
.ns-folder{--step:calc(var(--side) * (0.17778 - clamp(0, (var(--layers) - 3) / 4, 1) * 0.07778))}
.ns-folder-cover{margin-right:0;transition:width .35s ease}
.ns-folder.is-open .ns-folder-cover{width:var(--side)}
.ns-folder-members{gap:12px;box-sizing:border-box;padding-left:0;transition:width .35s ease,padding-left .35s ease,opacity .25s ease}
.ns-folder.is-open .ns-folder-members{padding-left:12px;width:calc(var(--members)*(var(--side) + 12px))}
.ns-folder-stack>.ns-folder-art img{filter:brightness(.35)}
.ns-folder-stack>.ns-folder-art:after{background:none;border:.5px solid rgba(255,255,255,.6);box-sizing:border-box;mask-image:linear-gradient(to right,transparent 72%,#000 94%),linear-gradient(to bottom,#000 12%,transparent 50%);mask-composite:intersect;-webkit-mask-composite:source-in}
@media(max-width:640px){.ns-collection-loop{gap:12px;padding-right:12px}.ns-folder{--step:calc(var(--side) * (0.17778 - clamp(0, (var(--layers) - 3) / 4, 1) * 0.07778))}}
@media(prefers-reduced-motion:reduce){.ns-folder-cover{transition:none}}

/* Fixed artwork dimensions prevent first-open image resizing and rebound. */
.ns-folder,.ns-collection-loop,.ns-folder-members{flex-shrink:0}
.ns-folder-member .ns-folder-art{width:var(--side);height:var(--side)}
.ns-collection-marquee{touch-action:pan-y;user-select:none;cursor:grab}
.ns-collection-marquee.is-dragging,.ns-collection-marquee.is-dragging button{cursor:grabbing}
.ns-folder-stack{width:calc(var(--side) + var(--layers)*var(--step))}

/* A single layout commit on toggle; only the preview layers animate. */
.ns-folder{--step:calc(var(--side) * var(--step-factor))}
.ns-folder-cover,.ns-folder-members{transition:none!important}
.ns-folder-cover{box-sizing:border-box;min-width:0;max-width:none;flex:0 0 auto}
.ns-folder-members{min-width:0;max-width:none;flex:0 0 auto}
.ns-folder.is-open .ns-folder-cover{width:var(--side)}
.ns-folder.is-open .ns-folder-stack{width:var(--side)}
.ns-folder-stack>.ns-folder-art{transition:opacity .2s ease;transform:translateX(calc(var(--layer)*var(--step)))}
.ns-folder.is-open .ns-folder-stack>.ns-folder-art{transform:translateX(calc(var(--layer)*var(--step)));opacity:0;pointer-events:none}
.ns-folder:not(.is-open) .ns-folder-members{width:0;padding-left:0}
.ns-folder.is-open .ns-folder-members{width:calc(var(--members)*(var(--side) + 12px));padding-left:12px;opacity:1}
@media(max-width:640px){.ns-folder{--step:calc(var(--side) * var(--step-factor))}}


/* Native MusicVinylArtwork: 56 grooves and a stationary surface reflection.
   SwiftUI -90deg starts at twelve o'clock; CSS conic-gradient starts there at 0deg. */
.ns-folder-art.is-vinyl{border-radius:50%;isolation:isolate;background:#111 url("assets/vinyl-grooves.svg") center/100% 100%;box-shadow:inset 0 0 0 1px #080808}
.ns-folder-art.is-vinyl:before{content:"";position:absolute;inset:0;z-index:0;border-radius:50%;pointer-events:none;background:conic-gradient(from 0deg,transparent 0deg,#ffffff0a 36deg,#ffffff38 61.2deg,#ffffff12 90deg,transparent 126deg,#00000047 154.8deg,transparent 194.4deg,#ffffff12 223.2deg,#ffffff2e 244.8deg,#ffffff0d 277.2deg,transparent 316.8deg,transparent 360deg)}
.ns-folder-art.is-vinyl img{z-index:1}
.ns-folder-stack>.ns-folder-art.is-vinyl{background-image:linear-gradient(#00000073,#00000073),url("assets/vinyl-grooves.svg")}
.ns-folder-stack>.ns-folder-art.is-vinyl:before{opacity:.55}
.ns-folder-stack>.ns-folder-art.is-vinyl img{filter:brightness(.55)}
/* One continuous angular mask, fading at both ends of the upper-right arc. */
.ns-folder-art.is-vinyl:after,.ns-folder-stack>.ns-folder-art.is-vinyl:after{content:"";position:absolute;inset:0;z-index:2;box-sizing:border-box;border-radius:50%;border:1px solid white;background:none;pointer-events:none;mask-image:conic-gradient(from 0deg,transparent 0deg,rgba(0,0,0,.075) 9deg,rgba(0,0,0,.275) 18deg,rgba(0,0,0,.525) 27deg,rgba(0,0,0,.725) 36deg,rgba(0,0,0,.8) 45deg,rgba(0,0,0,.725) 54deg,rgba(0,0,0,.525) 63deg,rgba(0,0,0,.275) 72deg,rgba(0,0,0,.075) 81deg,transparent 90deg,transparent 360deg);mask-composite:add;-webkit-mask-composite:source-over}
@media(min-resolution:2dppx){.ns-folder-art.is-vinyl:after,.ns-folder-stack>.ns-folder-art.is-vinyl:after{border-width:.5px}}

/* Device family: original artwork cropped in the viewport, without poster margins. */
.ns-family{box-sizing:border-box;max-width:980px;margin:0 auto;padding:10px 48px 76px;scroll-margin-top:32px}
.ns-family header{text-align:center;margin-bottom:12px}
.ns-family h2{font-size:28px;font-weight:600;letter-spacing:-.03em;margin:0 0 12px}
.ns-family header p{font-size:14px;color:var(--ns-secondary);margin:0}
.ns-family-stage{position:relative;width:90%;max-width:800px;aspect-ratio:1.85;isolation:isolate;margin:0 auto}
.ns-family-stage:after{content:"";position:absolute;left:0;right:0;bottom:2%;height:3%;border-radius:50%;background:radial-gradient(ellipse,#0003,transparent 70%);z-index:0;pointer-events:none}
.ns-family-device{position:absolute;display:block;padding:0;border:0;background:transparent;cursor:pointer;transform-origin:center bottom;transition:transform .25s ease,filter .25s ease;filter:drop-shadow(0 5px 5px #0003)}
.ns-family-crop{display:block;position:relative;overflow:hidden;width:100%;background:#15191d;border:2px solid #292c30;border-radius:1.5%;line-height:0;box-sizing:border-box}
.ns-family-crop img{position:absolute;display:block;pointer-events:none;user-select:none}
.ns-family-tv{width:84%;left:8%;bottom:7%;z-index:1}
.ns-family-tv:after{content:"";position:absolute;left:31%;right:31%;top:100%;height:4%;background:linear-gradient(90deg,#25272a,#62666b 48%,#292b2e);clip-path:polygon(12% 0,88% 0,100% 100%,0 100%);z-index:-1}
.ns-family-mac{width:37%;right:0;bottom:5.3%;z-index:4}
.ns-family-mac:after{content:"";position:absolute;left:-7%;right:-7%;top:99%;height:5.6%;background:linear-gradient(#c3c5c8,#777b80 45%,#34373b 90%);border-radius:2px 2px 45% 45% / 2px 2px 70% 70%;box-shadow:0 3px 4px #0004}
.ns-family-ipad{width:32%;left:10%;bottom:4%;z-index:3}
.ns-family-crop-ipad{border:5px solid #202226;border-radius:5%;box-sizing:border-box}
.ns-family-duo{width:13%;left:0;bottom:1%;z-index:5}
.ns-family-phone{width:9.5%;left:56%;bottom:1%;z-index:6}
.ns-family-crop-tv{border-radius:0;border:3px solid #292c30}
.ns-family-crop-mac{border-radius:2.5%;border:3px solid #25272a}
.ns-family-crop-duo{border:3px solid #25272a;border-radius:3% 18% 18% 3% / 2% 12.5% 12.5% 2%}
.ns-family-crop-phone{border:3px solid #25272a;border-radius:16% / 7.5%}
.ns-family-device:focus-visible{outline:2px solid var(--ns-text);outline-offset:7px;border-radius:12px}
.ns-family-device.is-raised{transform:scale(1.045);z-index:10;filter:drop-shadow(0 9px 9px #0004)}
.ns-family-hint{text-align:center;font-size:13px;color:var(--ns-secondary);margin:28px 0 0}
.ns-family-hint span{display:block;font-size:12px;margin-top:8px;opacity:.7}
@media(max-width:640px){.ns-family{padding:0 16px 52px}.ns-family-stage{width:96%}.ns-family h2{font-size:25px}.ns-family header{margin-bottom:12px}.ns-family-crop-ipad,.ns-family-crop-phone,.ns-family-crop-duo{border-width:2px}.ns-family-crop-tv,.ns-family-crop-mac{border-width:1.5px}.ns-family-hint{font-size:11px}}
@media(prefers-reduced-motion:reduce){.ns-family-device{transition:none}}

/* Screens only: no decorative bezels or computer / TV bases. */
.ns-family .ns-family-crop{border:0;box-shadow:none}
.ns-family-mac:after,.ns-family-tv:after{display:none}
.ns-family-mac{bottom:4%}
.ns-family-tv{bottom:8%;pointer-events:none}
/* Keep the TV hover target fixed while only its artwork scales. */
.ns-family-tv:before{content:"";position:absolute;inset:0 0 50%;z-index:1;pointer-events:auto}
.ns-family-tv .ns-family-crop{pointer-events:none;transform-origin:center bottom;transition:transform .25s ease}
.ns-family-tv.is-raised{transform:none}
.ns-family-tv.is-raised .ns-family-crop{transform:scale(1.045)}
@media(prefers-reduced-motion:reduce){.ns-family-tv .ns-family-crop{transition:none}}

/* Use complete exported artwork, including its original device outline. */
.ns-family .ns-family-crop{overflow:visible;background:transparent;border:0;border-radius:0;box-shadow:none}
.ns-family .ns-family-crop img{position:static;width:100%;height:auto;max-width:100%}
.ns-family .ns-family-device,.ns-family .ns-family-device.is-raised{filter:none;box-shadow:none}
.ns-family-stage:after{display:none}

/* Lead with the device family; keep the brand signature with the community link. */
.ns-hero#ns-top{padding:24px 0 72px;min-height:0}
#ns-top .ns-family{width:100%;padding-top:0;padding-bottom:12px}
.ns-footer-links{flex-direction:column;gap:28px}
.ns-footer-links .ns-brand-footer{padding:0;min-height:0}
.ns-footer-links .ns-app-icon svg{width:100%;height:100%}
@media(max-width:640px){.ns-hero#ns-top{padding:12px 0 52px}#ns-top .ns-family{padding-bottom:8px}.ns-footer-links{gap:24px}}

/* One spacing rule between feature sections; avoid stacked top/bottom padding. */
.ns-site{--ns-section-gap:132px}
.ns-site > :is(.ns-sources,.ns-dolby,.ns-music,.ns-hyper,.ns-strm,.ns-bluray,.ns-collection,.ns-interactions){padding-top:0;padding-bottom:var(--ns-section-gap);margin-top:0;margin-bottom:0}
@media(max-width:640px){.ns-site{--ns-section-gap:88px}}

.ns-brand-footer .ns-hero-name{white-space:nowrap;font-size:clamp(20px,3vw,25px)}

/* Match the opening download section to the shared module spacing. */
.ns-site > .ns-hero#ns-top{padding-bottom:var(--ns-section-gap)}

/* Bring the full device group in with the original logo entrance. */
#ns-top .ns-family-stage{animation:ns-icon-rise 1.2s cubic-bezier(.16,1,.3,1) .12s both}
@media(prefers-reduced-motion:reduce){#ns-top .ns-family-stage{animation:none}}

/* Footer branding is static; only the opening family image animates in. */
.ns-brand-footer .ns-app-icon,.ns-brand-footer .ns-hero-name{animation:none}

/* Single-stream demo. Theme tokens keep hardware and clients legible together. */
.ns-flow{box-sizing:border-box;max-width:980px;margin:0 auto;padding:0 48px var(--ns-section-gap);color:var(--ns-text)}
.ns-flow header{text-align:center;margin-bottom:48px}.ns-flow h2{font-size:28px;font-weight:600;margin:0}.ns-flow header p{font-size:14px;color:var(--ns-secondary);margin:12px 0 0}
.ns-flow-topology{max-width:580px;margin:auto;container-type:inline-size;--flow-icon:min(42px,7.5cqw);--flow-case-top:#fafafa;--flow-case-bottom:#e9e9eb;--flow-edge:#e0e2e5;--flow-highlight:#fff;--flow-used:#20df68;--flow-free:#c5c8ca;--flow-wire:#a9b0ba;--flow-player:#dfe3e8;--flow-player-edge:#c9ccd1;--flow-play:#4a5360;--flow-screw:#b6b9be}
html.dark .ns-flow-topology{--flow-case-top:#303237;--flow-case-bottom:#24262b;--flow-edge:#383e48;--flow-highlight:#ffffff12;--flow-used:#20df68;--flow-free:#51545c;--flow-wire:#7b8594;--flow-player:#555f6e;--flow-player-edge:#737b88;--flow-play:#f1f3f6;--flow-screw:#72767f}
.ns-flow-ports{position:relative;display:grid;grid-template-columns:repeat(10,minmax(0,1fr));padding:14px 0;border:0;border-radius:7px;background:#e5e8ec;box-shadow:none}

.ns-flow-ports>span{display:flex;justify-content:center}.ns-flow-ports i{display:block;width:16px;height:4px;border-radius:1px;background:var(--flow-used);box-shadow:none;transition:background .65s,box-shadow .65s}.ns-flow-ports .is-free i{background:var(--flow-free);box-shadow:none}
.ns-flow-players{display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}.ns-flow-lane{min-width:0;text-align:center}.ns-flow-links{display:block;width:100%;height:96px;overflow:visible}.ns-flow-links path{fill:none;stroke:var(--flow-wire);stroke-width:1.5;vector-effect:non-scaling-stroke;transition:opacity .65s;stroke-linecap:round}.ns-flow-links .is-single .ns-flow-second{opacity:0}.ns-flow-split-wire{opacity:0}.ns-flow-links .is-split .ns-flow-first,.ns-flow-links .is-split .ns-flow-second{opacity:0}.ns-flow-links .is-split .ns-flow-split-wire{opacity:1}
.ns-flow-player{display:block;width:100%;padding:0;border:0;background:none;color:var(--ns-text);cursor:pointer;-webkit-tap-highlight-color:transparent}.ns-flow-flipper{display:block;position:relative;width:100%;height:var(--flow-icon);margin:auto}.ns-flow-face{position:absolute;top:0;left:50%;display:grid;place-items:center;width:var(--flow-icon);height:var(--flow-icon);margin-left:calc(var(--flow-icon) / -2);transition:opacity .65s,left .75s cubic-bezier(.22,.7,.22,1)}
.ns-flow-other{opacity:1}.ns-flow-other svg{display:block;width:100%;height:100%;overflow:visible}.ns-flow-other rect{fill:var(--flow-player);stroke:none}.ns-flow-other path{fill:var(--flow-play);stroke:none;opacity:1}
.ns-flow-next,.ns-flow-extra{opacity:0}.ns-flow-player.is-single .ns-flow-other,.ns-flow-player.is-split .ns-flow-other{opacity:0}.ns-flow-player.is-single .ns-flow-next{opacity:1}.ns-flow-player.is-split .ns-flow-next{left:25%;opacity:1}.ns-flow-player.is-split .ns-flow-extra{left:75%;opacity:1}
.ns-flow-app{display:grid;place-items:center;width:100%;height:100%;background:#111214;border-radius:27%;color:#fff;box-shadow:none}.ns-flow-app svg{width:92%;height:92%}html.dark .ns-flow-app{background:#e9edf2;color:#161b23;box-shadow:none}
html.dark .ns-flow-ports{background:#dce1e7}
.ns-flow-player:focus-visible{outline:2px solid var(--ns-secondary);outline-offset:7px;border-radius:10px}
@media(max-width:640px){.ns-flow{padding-left:24px;padding-right:24px}.ns-flow h2{font-size:24px}.ns-flow header{margin-bottom:32px}.ns-flow header p{font-size:12px}.ns-flow-ports{padding:11px 0;border-radius:6px}.ns-flow-ports i{width:12px;height:4px}.ns-flow-links{height:76px}}
@media(prefers-reduced-motion:reduce){.ns-flow-face,.ns-flow-links path,.ns-flow-ports i{transition:none}}

/* Activity LEDs blink independently; free slots stay still. */
.ns-flow-ports>span:not(.is-free) i{animation:ns-flow-led 2.7s ease-in-out infinite;box-shadow:0 0 6px #20df6860}
.ns-flow-ports>span:nth-child(3n+1) i{animation-delay:-.7s;animation-duration:2.3s}
.ns-flow-ports>span:nth-child(3n+2) i{animation-delay:-1.8s;animation-duration:3.1s}
.ns-flow-ports>span:nth-child(3n) i{animation-delay:-1.2s}
html.dark .ns-flow-ports>span:not(.is-free) i{box-shadow:0 0 7px #20df6866}
@keyframes ns-flow-led{0%,42%,54%,100%{opacity:1}48%{opacity:.8}72%{opacity:1}77%{opacity:.9}82%{opacity:1}}
@media(prefers-reduced-motion:reduce){.ns-flow-ports>span:not(.is-free) i{animation:none}}
.ns-flow-app .ns-app-mark-bg,html.dark .ns-flow-app .ns-app-mark-bg{fill:transparent}
.ns-flow-app .ns-app-mark-arrow,html.dark .ns-flow-app .ns-app-mark-arrow{fill:currentColor}

.ns-flow-ports .is-free i{background:#59616d}
html.dark .ns-flow-ports{background:#dce1e7}

html.dark .ns-flow-ports .is-free i{background:#a7afb9}

/* Only the switch narrows; clients retain their original size and spread. */
.ns-flow-topology{max-width:580px;margin-left:auto;margin-right:auto;--flow-icon:min(42px,7.5cqw)}
.ns-flow-ports{box-sizing:border-box;width:50%;margin-inline:auto;padding:11px 0}
.ns-flow-ports i{width:12px;height:4px}
.ns-flow-links{height:116px}
.ns-flow-ports .is-free i{background:#b6bdc6}
html.dark .ns-flow-ports .is-free i{background:#a7afb9}
@media(max-width:640px){.ns-flow-ports{padding:10px 0}.ns-flow-ports i{width:8px;height:4px}.ns-flow-links{height:94px}}

.ns-flow-ports,html.dark .ns-flow-ports{background:#343c48}
.ns-flow-ports .is-free i,html.dark .ns-flow-ports .is-free i{background:#68717d}

/* Portrait phones show three pairs without shrinking the entire illustration. */
.ns-flow-mobile-wires{display:none}
@media(max-width:640px) and (orientation:portrait){
 .ns-flow-ports{grid-template-columns:repeat(6,minmax(0,1fr))}
 .ns-flow-ports>span:nth-child(n+7),.ns-flow-lane:nth-child(n+4){display:none}
 .ns-flow-players{grid-template-columns:repeat(3,minmax(0,1fr))}
 .ns-flow-wide-wires{display:none}.ns-flow-mobile-wires{display:inline}
 .ns-flow-topology{--flow-icon:min(42px,12cqw)}
 .ns-flow-ports i{width:12px}
}

/* Short packets travel down rounded orthogonal routes. */
.ns-flow-links path{stroke-linejoin:round}
.ns-flow-links .ns-flow-packet{stroke:#52bda0;stroke-width:2;stroke-dasharray:7 193;stroke-dashoffset:10;animation:ns-flow-transfer 2.8s linear infinite;animation-delay:var(--packet-delay);animation-play-state:paused}
.ns-flow.is-flow-active .ns-flow-packet{animation-play-state:running}
html.dark .ns-flow-links .ns-flow-packet{stroke:#70e5b2}
@keyframes ns-flow-transfer{from{stroke-dashoffset:10}to{stroke-dashoffset:-190}}
@media(prefers-reduced-motion:reduce){.ns-flow-links .ns-flow-packet{display:none}}
