/* Professional space theme: deep navy, steel, restrained stars. */

:root {
  --ink: #e6edf4;
  --navy: #101826;
  --navy-soft: #182232;
  --navy-deep: #0a1018;
  --paper: #0c131c;
  --paper-2: #101826;
  --paper-3: #121a26;
  --surface: #16202e;
  --line: #2c3848;
  --muted: #8b97a8;
  --accent: #6f93b3;
  --accent-soft: rgba(111, 147, 179, 0.18);
  --brass: #c4a35a;
  --brass-deep: #9e8244;
  --china: #f2f6fa;
  --focus: #6f93b3;
  --heading: #f2f6fa;
}

::selection {
  background: #2a4158;
  color: #f2f6fa;
}

body {
  color: var(--ink);
  background: var(--navy-deep);
}

.space-sky {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
  background:
    radial-gradient(900px 520px at 8% 0%, rgba(47, 72, 98, 0.35), transparent 58%),
    radial-gradient(700px 420px at 100% 100%, rgba(28, 44, 62, 0.4), transparent 55%),
    #0a1018;
}

.space-aurora,
.space-grid,
.space-meteors {
  display: none;
}

.space-stars {
  position: absolute;
  inset: 0;
  opacity: 0.55;
}

.sheet,
.foot {
  position: relative;
  z-index: 1;
}

.prod-bar {
  background: #0d1520;
  border-bottom-color: var(--line);
}

.counter { color: var(--muted); }

.lang-toggle {
  background: #2a4158;
  border-color: #2a4158;
  color: #f2f6fa;
}
.lang-toggle:hover { background: #35506a; }

.prod-actions a.primary {
  background: var(--brass);
  border-color: var(--brass);
  color: #1a1408;
}

.binder {
  background: #121a26;
  border-inline-end-color: var(--line);
}
.binder a { color: var(--muted); }
.binder a[aria-current="true"] {
  color: var(--china);
  background: var(--accent-soft);
  border-inline-start-color: var(--accent);
}
.binder a:hover { color: var(--china); }

.scene-cover,
.scene-practice,
.scene-stack,
.scene-rooms,
.scene-story,
.scene-qa,
.scene-call {
  background: transparent;
  color: var(--ink);
}

.slate::before { background: var(--accent); }
.slate h1,
.display,
.shot-copy h3,
.room-copy h3,
.year,
.slug,
.stamp strong,
.call-card h3 {
  color: var(--heading);
}

.role { color: #b7c6d6; }
.logline,
.lede,
.prose,
.action,
.answer { color: var(--ink); }
.place,
.credits,
.stamp span,
.scene-call .lede { color: var(--muted); }

.btn-ink {
  background: #2a4158;
  border-color: #2a4158;
  color: #f2f6fa;
}
.btn-ink:hover { background: #35506a; }

.btn-tape {
  color: var(--china);
  border-color: #4a5b70;
  background: transparent;
}
.btn-tape:hover { background: rgba(111, 147, 179, 0.12); }

.btn-kodak {
  background: var(--brass);
  color: #1a1408;
  border-color: var(--brass);
}
.btn-ghost {
  color: var(--china);
  border-color: #4a5b70;
}

.storyboard-strip { background: var(--line); border-top-color: var(--line); }
.frame { background: var(--navy); }
.frame img,
.shot img,
.room img {
  filter: saturate(0.7) contrast(1.04) brightness(0.82);
}
.frame:hover img { filter: saturate(0.85) contrast(1.06) brightness(0.9); }
.frame-meta {
  background: linear-gradient(transparent, rgba(10, 16, 24, 0.94));
  color: var(--china);
}

.page,
.scene-story .page,
.room,
.call-card,
.stamp,
.gels,
.gels label {
  background: #16202e;
  border-color: var(--line);
  color: var(--ink);
}

.gels label { color: var(--muted); }
.practice:has(#p-ng:checked) label[for="p-ng"],
.practice:has(#p-re:checked) label[for="p-re"],
.practice:has(#p-ai:checked) label[for="p-ai"],
.practice:has(#p-be:checked) label[for="p-be"] {
  background: #2a4158;
  color: var(--china);
}
.practice:has(#p-ng:checked) label[for="p-ng"] small,
.practice:has(#p-re:checked) label[for="p-re"] small,
.practice:has(#p-ai:checked) label[for="p-ai"] small,
.practice:has(#p-be:checked) label[for="p-be"] small {
  color: #c5d3e0;
}

.shot figure { border-color: var(--line); background: var(--navy); }
.screenplay > li { border-top-color: var(--line); }
.screenplay > li:last-child { border-bottom-color: var(--line); }
.now .year { color: var(--accent); }
.room-copy .slug,
.room-copy a,
.call-list a { color: #9eb6cc; }
.qa { border-top-color: var(--line); }
.qa details { border-bottom-color: var(--line); }
.q-no { color: var(--accent); }
.qa details[open] summary { color: var(--heading); }

.call-card { background: #121a26; }
.call-list li { border-bottom-color: var(--line); }

.foot {
  background: #0d1520;
  color: var(--muted);
  border-top-color: var(--line);
}

@media (max-width: 980px) {
  .binder {
    position: sticky;
    background: #121a26;
    border-bottom-color: var(--line);
  }
  .space-stars { opacity: 0.28; }
}

@media print {
  .space-sky { display: none !important; }
  body { background: white; color: black; }
}
