/* Scoped styles: safe to add to the existing Nazm page. */
nazm-film.nazm-film { --nf-ink:#f4f1ea; --nf-muted:#b7b7b2; --nf-line:#ffffff1c; --nf-green:#a8e05f; --nf-gold:#f5c451; display:block; color:var(--nf-ink); background:#151715; border:1px solid var(--nf-line); border-radius:22px; overflow:hidden; font-family:Inter,Arial,sans-serif; text-align:left; color-scheme:dark; }
.nazm-film *, .nazm-film *::before, .nazm-film *::after { box-sizing:border-box; }
.nazm-film [hidden] { display:none !important; }
.nazm-film button, .nazm-film input { font:inherit; }
.nazm-film button { cursor:pointer; }
.nazm-film button:disabled { cursor:default; opacity:.45; }
.nazm-film button:focus-visible, .nazm-film a:focus-visible, .nazm-film input:focus-visible, .nazm-film summary:focus-visible, .nazm-film video:focus-visible { outline:2px solid var(--nf-green); outline-offset:4px; }
.nazm-film a { color:var(--nf-ink); text-underline-offset:4px; }
.nf-heading { display:flex; justify-content:space-between; align-items:center; gap:24px; padding:26px 30px; }
.nf-eyebrow { margin:0 0 9px; color:var(--nf-green); font-family:'JetBrains Mono',Consolas,monospace; font-size:10px; font-weight:500; line-height:1.6; letter-spacing:1.6px; }
.nf-heading h3 { margin:0; font-family:'Cormorant Garamond',Georgia,serif; font-size:30px; font-weight:400; line-height:1.2; }
.nf-heading h3 [lang=ar] { display:inline-block; margin-left:12px; color:#cfcdc6; font-family:Amiri,'Traditional Arabic',serif; font-size:25px; }
.nf-tabs { display:flex; flex-shrink:0; gap:4px; padding:4px; border:1px solid var(--nf-line); border-radius:99px; background:#0d0e0d; }
.nf-mode { display:flex; align-items:center; gap:20px; border:0; border-radius:99px; padding:11px 17px; background:transparent; color:var(--nf-muted); font-size:12px; }
.nf-mode.is-active { background:#d4edaf; color:#19250c; }
.nf-mode span { font-size:15px; }
.nf-stage { position:relative; width:100%; aspect-ratio:16/9; background:#111214; isolation:isolate; }
.nazm-film.nf-portrait .nf-stage { aspect-ratio:9/16; }
.nf-stage video, .nf-stage canvas { display:block; width:100%; height:100%; object-fit:contain; }
.nf-stage:fullscreen { aspect-ratio:auto; display:grid; align-items:center; height:100vh; background:#111214; }
.nf-stage:fullscreen video, .nf-stage:fullscreen canvas { width:100%; height:100%; object-fit:contain; }
.nf-explore-badge { position:absolute; left:16px; top:12px; padding:6px 8px; border-radius:5px; background:#151715e6; color:#d4edaf; font-family:Consolas,monospace; font-size:8px; letter-spacing:1px; pointer-events:none; }
.nf-controls { display:flex; align-items:center; gap:14px; padding:13px 22px; border-bottom:1px solid var(--nf-line); background:#0e100e; }
.nf-controls button { display:grid; place-items:center; min-width:34px; min-height:34px; border:0; border-radius:6px; background:transparent; color:var(--nf-ink); font-size:16px; }
.nf-controls button:hover, .nf-controls button[aria-pressed=true] { color:var(--nf-green); background:#a8e05f14; }
.nf-controls .nf-play { width:35px; background:#d4edaf; color:#142008; font-size:13px; }
.nf-controls .nf-cc { font-family:Arial,sans-serif; font-size:11px; font-weight:700; }
.nf-time { flex-shrink:0; color:#b7bcb1; font-family:Consolas,monospace; font-size:10px; font-variant-numeric:tabular-nums; }
.nf-scrub { appearance:none; -webkit-appearance:none; height:20px; flex:1; min-width:30px; border:0; outline:0; cursor:pointer; background:transparent; accent-color:var(--nf-green); }
.nf-scrub::-webkit-slider-runnable-track { height:3px; border-radius:3px; background:linear-gradient(to right,var(--nf-green) var(--nf-progress,0%),#3b4135 var(--nf-progress,0%)); }
.nf-scrub::-moz-range-track { height:3px; border-radius:3px; background:#3b4135; }
.nf-scrub::-moz-range-progress { background:var(--nf-green); }
.nf-scrub::-webkit-slider-thumb { appearance:none; -webkit-appearance:none; width:11px; height:11px; margin-top:-4px; border:0; border-radius:50%; background:#d4edaf; }
.nf-scrub::-moz-range-thumb { width:11px; height:11px; border:0; border-radius:50%; background:#d4edaf; }
.nf-status { margin:0; padding:12px 30px 0; min-height:34px; color:var(--nf-muted); font-size:11px; line-height:1.7; }
.nf-chapter-header { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:24px 30px 12px; }
.nf-chapter-header p { margin:0; font-size:9px; }
.nf-chapter-header>span { color:#8c9285; font-size:10px; }
.nf-chapters { display:flex; gap:8px; overflow-x:auto; scrollbar-width:thin; scrollbar-color:#4c5443 transparent; padding:0 30px 18px; scroll-snap-type:x proximity; }
.nf-chapter { display:grid; grid-template-columns:18px 1fr; grid-template-rows:auto auto; flex:0 0 148px; min-height:68px; gap:6px 8px; padding:12px; border:1px solid var(--nf-line); border-radius:9px; background:#1b1e19; color:#c8ccc2; text-align:left; font-size:10px; line-height:1.4; scroll-snap-align:start; }
.nf-chapter:hover { border-color:#7f9b5b; }
.nf-chapter.is-active { border-color:#a8e05f88; background:#a8e05f0c; color:#e4f1d2; }
.nf-chapter-no { grid-row:1 / 3; color:#71835d; font-family:Consolas,monospace; font-size:9px; }
.nf-chapter.is-active .nf-chapter-no { color:var(--nf-green); }
.nf-chapter time { color:#929b88; font-family:Consolas,monospace; font-size:9px; }
.nf-explorer { margin:0 30px 20px; padding:19px; border:1px solid var(--nf-line); border-radius:12px; background:#10120f; }
.nf-pair-buttons { display:flex; flex-wrap:wrap; gap:7px; margin-bottom:20px; }
.nf-pair { min-width:64px; padding:9px 13px; border:1px solid #ffffff26; border-radius:7px; background:#ffffff06; color:#b7bfb0; font-family:Consolas,monospace; font-size:11px; }
.nf-pair.is-active { color:#142008; border-color:#d4edaf; background:#d4edaf; }
.nf-pair.nf-centre.is-active { color:#2c2104; border-color:var(--nf-gold); background:var(--nf-gold); }
.nf-pair-detail .nf-eyebrow { font-size:9px; }
.nf-pair-detail h4 { margin:6px 0 10px; color:var(--nf-ink); font-family:Georgia,serif; font-size:23px; font-weight:400; }
.nf-pair-detail>p:last-child { margin:0; max-width:760px; color:#bfc6b7; font-size:13px; line-height:1.8; }
.nf-meta { display:flex; justify-content:space-between; align-items:center; gap:20px; margin:0 30px; padding:19px 0 23px; border-top:1px solid var(--nf-line); }
.nf-meta p { margin:0; color:#bcc1b5; font-size:10px; line-height:1.8; }
.nf-meta p span { color:#8a9281; font-size:10px; }
.nf-download { display:flex; align-items:center; gap:14px; flex-shrink:0; color:#d5dfc8 !important; font-size:10px; text-decoration:none; }
.nf-download:hover { text-decoration:underline; }
.nf-download span { font-size:18px; }
.nf-transcript { border-top:1px solid var(--nf-line); background:#111310; }
.nf-transcript summary { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:19px 30px; cursor:pointer; color:#cbd3c1; font-size:11px; list-style:none; }
.nf-transcript summary::-webkit-details-marker { display:none; }
.nf-transcript[open] summary span { transform:rotate(45deg); }
.nf-transcript-body { padding:0 30px 25px; }
.nf-transcript-body>p { color:#abb5a0; font-size:12px; line-height:1.9; }
.nf-transcript h4 { margin:25px 0 14px; font-family:Georgia,serif; font-size:21px; font-weight:400; }
.nf-unit-list, .nf-connections { list-style:none; margin:0; padding:0; }
.nf-unit-list li { display:flex; gap:16px; padding:16px 0; border-bottom:1px solid #ffffff0d; }
.nf-unit-letter { display:grid; place-items:center; align-self:flex-start; flex-shrink:0; width:30px; height:30px; border:1px solid #4d94ff66; border-radius:7px; color:#8fbaff; font-family:Consolas,monospace; font-size:11px; }
.nf-unit-list .is-centre .nf-unit-letter { border-color:#f5c45188; color:var(--nf-gold); }
.nf-unit-list p { margin:0; color:#aeb8a2; font-size:12px; line-height:1.8; }
.nf-unit-list p strong { color:#e0e5d8; font-weight:500; }
.nf-unit-list p span { color:#86937b; margin-left:6px; font-size:10px; }
.nf-connections li { padding:12px 0; border-bottom:1px solid #ffffff0d; color:#d5dec9; font-size:12px; line-height:1.8; }
.nf-connections li p { margin:5px 0 0; color:#aeb8a2; }
.nf-source { margin-top:24px; }
.nf-sr { position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.nf-unavailable { padding:24px; color:#bbc2b3; background:#151715; font:14px/1.8 Arial,sans-serif; }
@media (max-width:640px) {
  .nf-heading { align-items:flex-start; flex-direction:column; gap:18px; padding:22px 20px; }
  .nf-heading h3 { font-size:27px; }
  .nf-tabs { align-self:stretch; }
  .nf-mode { justify-content:space-between; flex:1; }
  .nf-controls { gap:9px; padding:10px 12px; }
  .nf-controls button { min-width:30px; }
  .nf-time { font-size:9px; }
  .nf-status { padding:12px 20px 0; }
  .nf-chapter-header { padding:21px 20px 12px; }
  .nf-chapters { padding:0 20px 17px; }
  .nf-chapter { flex-basis:140px; }
  .nf-explorer { margin:0 20px 18px; padding:15px; }
  .nf-meta { align-items:flex-start; flex-direction:column; gap:12px; margin:0 20px; }
  .nf-transcript summary { padding:18px 20px; }
  .nf-transcript-body { padding:0 20px 20px; }
  .nf-pair-detail h4 { font-size:21px; }
}
@media (prefers-reduced-motion:reduce) { .nazm-film *, .nazm-film *::before, .nazm-film *::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; } }
