/* ===== RESET & FOUNDATION ===== */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{
  --bg:#09090b;
  --bg-elevated:#111114;
  --bg-surface:#161619;
  --bg-card:#13131a;
  --border:#1c1c26;
  --border-hover:#2a2a3e;
  --border-subtle:rgba(255,255,255,0.04);
  --gold:#e8b739;
  --gold-bright:#ffd04a;
  --gold-dim:rgba(232,183,57,0.12);
  --gold-glow:rgba(232,183,57,0.35);
  --cyan:#38bdf8;
  --cyan-dim:rgba(56,189,248,0.1);
  --green:#34d399;
  --green-dim:rgba(52,211,153,0.12);
  --red:#f87171;
  --red-dim:rgba(248,113,113,0.12);
  --orange:#fb923c;
  --orange-dim:rgba(251,146,60,0.12);
  --purple:#a78bfa;
  --purple-dim:rgba(167,139,250,0.1);
  --text:#f0f0f4;
  --text-secondary:#a1a1b5;
  --text-dim:#5e5e72;
  --radius:16px;
  --radius-sm:10px;
  --radius-xs:6px;
  --transition:0.2s cubic-bezier(0.4,0,0.2,1);
  --shadow-card:0 2px 8px rgba(0,0,0,0.3), 0 8px 32px rgba(0,0,0,0.2);
  --shadow-hover:0 8px 24px rgba(0,0,0,0.4), 0 16px 48px rgba(0,0,0,0.3);
}
html{scroll-behavior:smooth}
body{
  font-family:'Inter',system-ui,-apple-system,sans-serif;
  background:var(--bg);
  color:var(--text);
  overflow-x:hidden;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
h1,h2,h3,h4,h5{font-family:'Space Grotesk',system-ui,sans-serif;line-height:1.2;letter-spacing:-0.02em}
code,pre,.mono{font-family:'JetBrains Mono',monospace}

/* Film grain overlay */
body::after{
  content:'';position:fixed;inset:0;pointer-events:none;z-index:9999;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  opacity:0.02;animation:grain .5s steps(6) infinite;
}
@keyframes grain{
  0%,100%{transform:translate(0)}10%{transform:translate(-2%,-3%)}
  30%{transform:translate(3%,1%)}50%{transform:translate(-1%,3%)}
  70%{transform:translate(2%,-2%)}90%{transform:translate(-3%,1%)}
}

/* Scrollbar */
::-webkit-scrollbar{width:6px;height:6px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:#2a2a3a;border-radius:4px}
::-webkit-scrollbar-thumb:hover{background:#3a3a4a}

/* Focus */
:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:4px}
::selection{background:var(--gold-dim);color:var(--gold-bright)}

/* Animations */
@keyframes pulse{0%,100%{opacity:1}50%{opacity:0.4}}
@keyframes fadeIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@keyframes slideUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@keyframes shimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}

.loader{
  width:20px;height:20px;border:2px solid var(--border);border-top-color:var(--gold);
  border-radius:50%;animation:spin 0.8s linear infinite;margin:0 auto 12px;
}
@keyframes spin{to{transform:rotate(360deg)}}

/* ===== TOP BAR ===== */
.topbar{
  position:sticky;top:0;z-index:100;
  background:rgba(9,9,11,0.85);
  backdrop-filter:blur(20px) saturate(1.2);-webkit-backdrop-filter:blur(20px) saturate(1.2);
  border-bottom:1px solid var(--border);
}
.topbar-inner{
  max-width:1440px;margin:0 auto;padding:0 32px;
  display:flex;align-items:center;height:60px;gap:32px;
}
.topbar-brand{display:flex;align-items:center;gap:12px;cursor:pointer;flex-shrink:0}
.topbar-logo-wrap{
  width:36px;height:36px;border-radius:10px;
  background:linear-gradient(135deg, var(--gold-dim), rgba(232,183,57,0.05));
  border:1px solid rgba(232,183,57,0.2);
  display:flex;align-items:center;justify-content:center;
}
.topbar-icon{width:18px;height:18px;color:var(--gold)}
.topbar-brand-text{display:flex;flex-direction:column;line-height:1}
.topbar-title{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:0.92rem;color:var(--text);letter-spacing:-0.02em}
.topbar-edition{font-size:0.62rem;color:var(--text-dim);font-weight:500;letter-spacing:0.5px;margin-top:1px}
.topbar-nav{display:flex;gap:2px;margin-left:16px}
.topbar-link{
  background:none;border:none;color:var(--text-dim);
  padding:8px 16px;border-radius:var(--radius-sm);
  font-size:0.8rem;font-weight:500;cursor:pointer;
  transition:var(--transition);font-family:'Inter',sans-serif;
  display:flex;align-items:center;gap:7px;
}
.topbar-link .nav-icon{width:15px;height:15px}
.topbar-link:hover{color:var(--text-secondary);background:rgba(255,255,255,0.04)}
.topbar-link.active{color:var(--text);background:rgba(255,255,255,0.07)}
.topbar-right{margin-left:auto;display:flex;align-items:center;gap:12px}
.topbar-status{
  display:flex;align-items:center;gap:6px;
  font-size:0.72rem;font-weight:500;color:var(--green);letter-spacing:0.5px;
}
.topbar-status .dot{
  width:6px;height:6px;border-radius:50%;background:var(--green);
  animation:pulse 2.5s ease-in-out infinite;
  box-shadow:0 0 8px rgba(52,211,153,0.4);
}

/* ===== MAIN CONTENT ===== */
.main-content{min-height:calc(100vh - 60px)}
.container{max-width:1440px;margin:0 auto;padding:0 32px}
.view{padding:36px 0 60px;animation:fadeIn 0.35s ease-out}
.view.hidden{display:none}

.page-header{
  display:flex;justify-content:space-between;align-items:flex-start;
  margin-bottom:32px;gap:24px;flex-wrap:wrap;
}
.page-title{font-size:1.75rem;font-weight:700;margin-bottom:4px;color:var(--text)}
.page-subtitle{color:var(--text-dim);font-size:0.88rem;font-weight:400}
.page-actions{display:flex;gap:8px;align-items:center;flex-shrink:0}

.back-btn{
  background:none;border:none;color:var(--text-dim);
  font-size:0.82rem;cursor:pointer;padding:4px 0;margin-bottom:10px;
  transition:var(--transition);font-family:'Inter',sans-serif;
  display:flex;align-items:center;gap:6px;
}
.back-btn:hover{color:var(--gold)}
.back-icon{width:15px;height:15px}

/* ===== PRODUCTION STATS BAR ===== */
.prod-stats-bar{
  display:flex;gap:16px;margin-bottom:20px;flex-wrap:wrap;
}
.prod-stats-item{
  display:flex;align-items:center;gap:8px;
  padding:10px 18px;border-radius:var(--radius-sm);
  background:var(--bg-elevated);border:1px solid var(--border);
}
.prod-stats-number{
  font-family:'Space Grotesk',sans-serif;font-size:1.3rem;font-weight:700;
  color:var(--gold-bright);
}
.prod-stats-label{
  font-size:0.72rem;color:var(--text-dim);text-transform:uppercase;
  letter-spacing:0.8px;font-weight:500;
}

/* ===== PRODUCTION FILTER BAR ===== */
.prod-filter-bar{
  display:flex;gap:6px;margin-bottom:20px;
}
.prod-filter{
  background:none;border:1px solid var(--border);color:var(--text-dim);
  padding:6px 16px;border-radius:20px;cursor:pointer;font-size:0.75rem;
  font-weight:500;transition:var(--transition);
}
.prod-filter:hover{border-color:var(--border-hover);color:var(--text-secondary)}
.prod-filter.active{background:var(--gold-dim);border-color:rgba(232,183,57,0.3);color:var(--gold)}

/* ===== PRODUCTION CARDS ===== */
.prod-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(340px,1fr));
  gap:20px;
}

.prod-card{
  background:var(--bg-card);
  border:1px solid var(--border);
  border-radius:var(--radius);
  overflow:hidden;cursor:pointer;
  transition:all 0.3s cubic-bezier(0.4,0,0.2,1);
  position:relative;
  animation:slideUp 0.4s ease-out backwards;
}
.prod-card:nth-child(1){animation-delay:0.05s}
.prod-card:nth-child(2){animation-delay:0.1s}
.prod-card:nth-child(3){animation-delay:0.15s}
.prod-card:nth-child(4){animation-delay:0.2s}
.prod-card:nth-child(5){animation-delay:0.25s}
.prod-card:nth-child(6){animation-delay:0.3s}

.prod-card::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(135deg, rgba(232,183,57,0.03) 0%, transparent 50%);
  opacity:0;transition:opacity 0.3s;pointer-events:none;z-index:1;
}
.prod-card:hover{
  border-color:rgba(232,183,57,0.2);
  transform:translateY(-4px);
  box-shadow:var(--shadow-hover), 0 0 40px rgba(232,183,57,0.06);
}
.prod-card:hover::before{opacity:1}

/* Poster / Thumbnail area */
.prod-card-poster{
  height:160px;position:relative;overflow:hidden;
  background:linear-gradient(135deg, #0c0c14 0%, #12121e 100%);
  display:flex;align-items:center;justify-content:center;
}
.prod-card-poster-icon{
  width:48px;height:48px;color:var(--text-dim);opacity:0.2;
}
.prod-card-poster video{
  width:100%;height:100%;object-fit:cover;
}
.prod-card-poster-overlay{
  position:absolute;inset:0;
  background:linear-gradient(0deg, rgba(19,19,26,0.95) 0%, transparent 60%);
  pointer-events:none;
}
.prod-card-status-badge{
  position:absolute;top:12px;right:12px;z-index:2;
  font-size:0.65rem;font-weight:600;letter-spacing:0.8px;text-transform:uppercase;
  padding:4px 12px;border-radius:20px;
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
}
.prod-card-status-badge.complete,.prod-card-status-badge.completed{background:rgba(52,211,153,0.2);color:var(--green);border:1px solid rgba(52,211,153,0.2)}
.prod-card-status-badge.rendering{background:rgba(251,146,60,0.2);color:var(--orange);border:1px solid rgba(251,146,60,0.2)}
.prod-card-status-badge.failed{background:rgba(248,113,113,0.2);color:var(--red);border:1px solid rgba(248,113,113,0.2)}
.prod-card-status-badge.editing{background:var(--gold-dim);color:var(--gold);border:1px solid rgba(232,183,57,0.2)}
.prod-card-status-badge.pre-production{background:var(--cyan-dim);color:var(--cyan);border:1px solid rgba(56,189,248,0.2)}
.prod-card-status-badge.draft{background:rgba(255,255,255,0.06);color:var(--text-dim);border:1px solid rgba(255,255,255,0.06)}
.prod-card-status-badge.unknown{background:rgba(255,255,255,0.06);color:var(--text-dim);border:1px solid rgba(255,255,255,0.06)}

/* Card body */
.prod-card-body{padding:20px 22px 16px;position:relative;z-index:2}
.prod-card-title{
  font-family:'Space Grotesk',sans-serif;
  font-size:1.1rem;font-weight:700;margin-bottom:4px;
  text-transform:capitalize;color:var(--text);
  line-height:1.3;
}
.prod-card-subtitle{
  font-size:0.78rem;color:var(--text-dim);margin-bottom:14px;
  line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;
  -webkit-box-orient:vertical;overflow:hidden;
}

/* Progress bar */
.prod-progress{
  height:3px;background:rgba(255,255,255,0.05);border-radius:2px;
  margin-bottom:14px;overflow:hidden;
}
.prod-progress-fill{height:100%;border-radius:2px;transition:width 0.5s ease}
.prod-progress-fill.green{background:var(--green)}
.prod-progress-fill.gold{background:var(--gold)}
.prod-progress-fill.cyan{background:var(--cyan)}

/* Card footer stats */
.prod-card-footer{
  display:flex;align-items:center;gap:16px;
  padding-top:14px;border-top:1px solid var(--border-subtle);
}
.prod-stat{
  display:flex;align-items:center;gap:5px;
  font-size:0.72rem;color:var(--text-dim);
}
.prod-stat-icon{width:13px;height:13px;opacity:0.5}
.prod-stat strong{color:var(--text-secondary);font-weight:600}

/* ===== PRODUCTION SUB-TABS ===== */
.prod-tabs{
  display:flex;gap:2px;margin-bottom:24px;
  border-bottom:1px solid var(--border);padding-bottom:0;
}
.prod-tab{
  background:none;border:none;color:var(--text-dim);
  padding:10px 20px;font-size:0.82rem;font-weight:500;
  cursor:pointer;transition:var(--transition);
  font-family:'Inter',sans-serif;display:flex;align-items:center;gap:7px;
  border-bottom:2px solid transparent;margin-bottom:-1px;
}
.prod-tab .tab-icon{width:15px;height:15px}
.prod-tab:hover{color:var(--text-secondary)}
.prod-tab.active{color:var(--text);border-bottom-color:var(--gold)}
.prod-tab-content{display:none}
.prod-tab-content.active{display:block;animation:fadeIn 0.3s ease-out}

/* ===== STATUS BAR ===== */
.status-bar{
  display:flex;gap:10px;margin-bottom:24px;flex-wrap:wrap;align-items:center;
}
.status-chip{
  display:flex;align-items:center;gap:6px;
  padding:6px 14px;border-radius:20px;font-size:0.75rem;font-weight:500;
  background:var(--bg-elevated);border:1px solid var(--border);
  transition:var(--transition);
}
.status-chip .count{
  font-family:'JetBrains Mono',monospace;font-size:0.82rem;font-weight:600;
}
.status-chip.approved .count{color:var(--green)}
.status-chip.pending .count{color:var(--text-dim)}
.status-chip.needs_work .count{color:var(--orange)}
.status-chip.rejected .count{color:var(--red)}
.status-chip.done .count{color:var(--green)}
.status-chip.rendering .count{color:var(--cyan)}
.status-chip.failed .count{color:var(--red)}

/* ===== TOOLBAR BUTTONS ===== */
.toolbar-btn{
  display:inline-flex;align-items:center;gap:7px;
  padding:9px 18px;border-radius:var(--radius-sm);border:1px solid var(--border);
  background:transparent;color:var(--text-secondary);font-size:0.82rem;
  cursor:pointer;transition:var(--transition);font-family:'Inter',sans-serif;
  font-weight:500;
}
.toolbar-btn .btn-icon{width:15px;height:15px}
.toolbar-btn:hover{border-color:var(--border-hover);color:var(--text);background:rgba(255,255,255,0.03)}
.toolbar-btn.save{border-color:rgba(52,211,153,0.3);color:var(--green)}
.toolbar-btn.save:hover{background:var(--green-dim)}
.toolbar-btn.save.dirty{border-color:var(--orange);color:var(--orange)}
.toolbar-btn.save.saved{background:var(--green-dim);border-color:var(--green);color:var(--green)}

/* ===== SCENE BOARD — CARD GRID ===== */
.board-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(320px, 1fr));
  gap:16px;
}

.scene-card{
  background:var(--bg-elevated);
  border:1px solid var(--border);
  border-radius:var(--radius);
  overflow:hidden;
  transition:all 0.25s ease;
  animation:slideUp 0.35s ease-out backwards;
}
.scene-card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-card)}

/* Scene card video/thumbnail */
.scene-card-media{
  position:relative;height:180px;overflow:hidden;
  background:linear-gradient(135deg, #0a0a12, #10101a);
  cursor:pointer;
}
.scene-card-media video{
  width:100%;height:100%;object-fit:cover;
  transition:transform 0.4s ease;
}
.scene-card-media:hover video{transform:scale(1.03)}
.scene-card-media-empty{
  width:100%;height:100%;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:8px;color:var(--text-dim);
}
.scene-card-media-empty-icon{width:28px;height:28px;opacity:0.25}
.scene-card-media-empty span{font-size:0.7rem;opacity:0.4}

/* Play overlay */
.scene-card-play{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  background:rgba(0,0,0,0.3);opacity:0;transition:opacity 0.25s;
}
.scene-card-media:hover .scene-card-play{opacity:1}
.scene-card-play-btn{
  width:44px;height:44px;border-radius:50%;
  background:rgba(255,255,255,0.15);backdrop-filter:blur(8px);
  display:flex;align-items:center;justify-content:center;
  border:1px solid rgba(255,255,255,0.2);
}
.scene-card-play-icon{width:20px;height:20px;color:#fff;margin-left:2px}

/* Scene number badge */
.scene-card-number{
  position:absolute;top:10px;left:10px;
  font-family:'JetBrains Mono',monospace;font-size:0.72rem;font-weight:600;
  padding:3px 10px;border-radius:6px;
  background:rgba(0,0,0,0.6);backdrop-filter:blur(8px);
  color:var(--cyan);letter-spacing:0.5px;
}
/* Status badge on card */
.scene-card-badge{
  position:absolute;top:10px;right:10px;
  font-size:0.62rem;font-weight:600;letter-spacing:0.8px;text-transform:uppercase;
  padding:3px 10px;border-radius:20px;
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
}
.scene-card-badge.approved{background:rgba(52,211,153,0.25);color:var(--green)}
.scene-card-badge.pending{background:rgba(255,255,255,0.1);color:var(--text-dim)}
.scene-card-badge.needs_work{background:rgba(251,146,60,0.25);color:var(--orange)}
.scene-card-badge.rejected{background:rgba(248,113,113,0.25);color:var(--red)}
.scene-card-badge.done{background:rgba(52,211,153,0.25);color:var(--green)}
.scene-card-badge.rendering{background:rgba(56,189,248,0.25);color:var(--cyan)}
.scene-card-badge.failed{background:rgba(248,113,113,0.25);color:var(--red)}

/* Scene card body */
.scene-card-body{padding:16px 18px}
.scene-card-desc{
  font-size:0.82rem;color:var(--text-secondary);line-height:1.6;margin-bottom:12px;
}
.scene-card-desc-input{
  width:100%;background:var(--bg);border:1px solid var(--border);
  color:var(--text-secondary);padding:10px 12px;border-radius:var(--radius-xs);
  font-size:0.82rem;font-family:'Inter',sans-serif;
  resize:vertical;min-height:48px;line-height:1.6;transition:border-color 0.2s;
}
.scene-card-desc-input:focus{border-color:var(--gold);outline:none;color:var(--text)}

/* Prompt toggle */
.scene-card-prompt-toggle{
  display:flex;align-items:center;gap:5px;
  font-size:0.72rem;color:var(--text-dim);cursor:pointer;
  background:none;border:none;padding:6px 0;transition:color 0.2s;
  font-family:'Inter',sans-serif;
}
.scene-card-prompt-toggle:hover{color:var(--cyan)}
.scene-card-prompt-toggle .toggle-chevron{
  width:13px;height:13px;transition:transform 0.2s;
}
.scene-card-prompt-toggle.open .toggle-chevron{transform:rotate(90deg)}

.scene-card-prompt{
  display:none;margin-top:8px;
}
.scene-card-prompt.open{display:block;animation:fadeIn 0.2s ease-out}
.scene-card-prompt-input{
  width:100%;background:var(--bg);border:1px solid var(--border);
  color:var(--text-dim);padding:10px 12px;border-radius:var(--radius-xs);
  font-size:0.75rem;font-family:'JetBrains Mono',monospace;
  resize:vertical;min-height:70px;line-height:1.6;transition:border-color 0.2s;
}
.scene-card-prompt-input:focus{border-color:var(--cyan);outline:none;color:var(--text-secondary)}

/* Scene card footer */
.scene-card-footer{
  display:flex;align-items:center;gap:8px;
  padding:12px 18px;border-top:1px solid var(--border-subtle);
}
.scene-card-status-select{
  font-size:0.7rem;font-weight:600;letter-spacing:0.5px;text-transform:uppercase;
  padding:5px 10px;border-radius:8px;border:1px solid transparent;
  cursor:pointer;transition:var(--transition);
  -webkit-appearance:none;appearance:none;flex:1;
  background-repeat:no-repeat;background-position:right 8px center;background-size:8px;
  padding-right:22px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='5'%3E%3Cpath d='M0 0l4 5 4-5z' fill='%235e5e72'/%3E%3C/svg%3E");
}
.scene-card-status-select.approved{background-color:var(--green-dim);color:var(--green)}
.scene-card-status-select.needs_work{background-color:var(--orange-dim);color:var(--orange)}
.scene-card-status-select.rejected{background-color:var(--red-dim);color:var(--red)}
.scene-card-status-select.pending{background-color:rgba(255,255,255,0.04);color:var(--text-dim)}
.scene-card-status-select.rendering{background-color:var(--cyan-dim);color:var(--cyan)}
.scene-card-status-select.done{background-color:var(--green-dim);color:var(--green)}
.scene-card-status-select.failed{background-color:var(--red-dim);color:var(--red)}

.scene-card-comment{
  flex:2;background:var(--bg);border:1px solid var(--border);
  color:var(--text);padding:6px 10px;border-radius:var(--radius-xs);
  font-size:0.75rem;font-family:'Inter',sans-serif;
  transition:border-color 0.2s;
}
.scene-card-comment:focus{border-color:var(--gold);outline:none}

.scene-card-del{
  width:28px;height:28px;background:none;border:none;color:var(--text-dim);cursor:pointer;
  transition:var(--transition);border-radius:var(--radius-xs);
  display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;
}
.scene-card-del:hover{color:var(--red);background:var(--red-dim)}
.scene-card-del .del-icon{width:14px;height:14px}

.board-empty{
  text-align:center;padding:80px 24px;color:var(--text-dim);font-size:0.88rem;
  display:flex;flex-direction:column;align-items:center;gap:8px;
}

/* ===== SCREENPLAY VIEW ===== */
.screenplay{
  max-width:800px;margin:0 auto;
  background:var(--bg-elevated);
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:48px 56px;
}
.screenplay-title{
  font-family:'Space Grotesk',sans-serif;
  font-size:1.5rem;font-weight:700;text-align:center;
  margin-bottom:8px;text-transform:uppercase;letter-spacing:0.08em;
}
.screenplay-subtitle{
  text-align:center;font-size:0.85rem;color:var(--text-dim);
  margin-bottom:40px;padding-bottom:24px;border-bottom:1px solid var(--border);
}

.screenplay-scene{
  margin-bottom:36px;padding-bottom:36px;
  border-bottom:1px solid var(--border-subtle);
  animation:fadeIn 0.3s ease-out backwards;
}
.screenplay-scene:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}

.screenplay-scene-heading{
  font-family:'JetBrains Mono',monospace;
  font-size:0.78rem;font-weight:600;
  color:var(--gold);text-transform:uppercase;letter-spacing:2px;
  margin-bottom:12px;display:flex;align-items:center;gap:10px;
}
.screenplay-scene-heading .scene-dot{
  width:6px;height:6px;border-radius:50%;background:var(--gold);flex-shrink:0;
}

.screenplay-action{
  font-size:0.92rem;color:var(--text);line-height:1.85;
  margin-bottom:16px;padding-left:2px;
}

.screenplay-thumb{
  display:flex;gap:16px;align-items:flex-start;
}
.screenplay-thumb video{
  width:200px;aspect-ratio:16/9;object-fit:cover;
  border-radius:var(--radius-sm);border:1px solid var(--border);
  cursor:pointer;flex-shrink:0;
}
.screenplay-thumb video:hover{border-color:var(--cyan)}
.screenplay-thumb-text{flex:1}

/* Technical prompt collapsible */
.screenplay-tech-toggle{
  display:inline-flex;align-items:center;gap:5px;
  font-size:0.72rem;color:var(--text-dim);cursor:pointer;
  background:none;border:none;padding:6px 0;margin-top:8px;
  transition:color 0.2s;font-family:'Inter',sans-serif;
}
.screenplay-tech-toggle:hover{color:var(--cyan)}
.screenplay-tech-toggle .toggle-chevron{width:12px;height:12px;transition:transform 0.2s}
.screenplay-tech-toggle.open .toggle-chevron{transform:rotate(90deg)}
.screenplay-tech-prompt{
  display:none;margin-top:10px;padding:14px 16px;
  background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-xs);
  font-family:'JetBrains Mono',monospace;font-size:0.75rem;
  color:var(--text-dim);line-height:1.7;word-break:break-word;white-space:pre-wrap;
}
.screenplay-tech-prompt.open{display:block;animation:fadeIn 0.2s ease-out}

.screenplay-status{
  display:inline-flex;align-items:center;gap:5px;
  font-size:0.68rem;font-weight:600;text-transform:uppercase;letter-spacing:0.8px;
  padding:3px 10px;border-radius:20px;margin-top:10px;
}
.screenplay-status.approved{background:var(--green-dim);color:var(--green)}
.screenplay-status.pending{background:rgba(255,255,255,0.04);color:var(--text-dim)}
.screenplay-status.needs_work{background:var(--orange-dim);color:var(--orange)}
.screenplay-status.rejected{background:var(--red-dim);color:var(--red)}
.screenplay-status.done{background:var(--green-dim);color:var(--green)}
.screenplay-status.rendering{background:var(--cyan-dim);color:var(--cyan)}
.screenplay-status.failed{background:var(--red-dim);color:var(--red)}

/* ===== CREW GRID ===== */
.crew-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}

.crew-card{
  background:var(--bg-card);border:1px solid var(--border);
  border-radius:var(--radius);
  position:relative;overflow:hidden;
  transition:all 0.3s ease;
  animation:slideUp 0.35s ease-out backwards;
}
.crew-card:nth-child(1){animation-delay:0.03s}
.crew-card:nth-child(2){animation-delay:0.06s}
.crew-card:nth-child(3){animation-delay:0.09s}
.crew-card:nth-child(4){animation-delay:0.12s}
.crew-card:nth-child(5){animation-delay:0.15s}
.crew-card:nth-child(6){animation-delay:0.18s}
.crew-card:nth-child(7){animation-delay:0.21s}
.crew-card:nth-child(8){animation-delay:0.24s}

.crew-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:3px;
  background:var(--agent-color);opacity:0;transition:opacity 0.3s;
}
.crew-card:hover{
  border-color:var(--border-hover);
  transform:translateY(-3px);
  box-shadow:var(--shadow-card);
}
.crew-card:hover::before{opacity:1}

.crew-card-inner{padding:24px}
.crew-header{display:flex;align-items:center;gap:14px;margin-bottom:14px}
.crew-avatar{
  width:48px;height:48px;border-radius:14px;
  display:flex;align-items:center;justify-content:center;
  font-size:1.5rem;
  background:linear-gradient(135deg, rgba(255,255,255,0.05), rgba(255,255,255,0.02));
  border:1px solid var(--border);
}
.crew-name{font-family:'Space Grotesk',sans-serif;font-size:1rem;font-weight:600;color:var(--text)}
.crew-role{
  font-size:0.78rem;color:var(--text-secondary);margin-bottom:16px;
  line-height:1.6;
}
.crew-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:18px}
.crew-chip{
  font-size:0.68rem;padding:5px 12px;border-radius:20px;
  background:rgba(255,255,255,0.03);border:1px solid var(--border);
  color:var(--text-dim);cursor:pointer;transition:var(--transition);
  font-family:'Inter',sans-serif;
}
.crew-chip:hover{background:var(--gold-dim);border-color:rgba(232,183,57,0.2);color:var(--gold)}
.crew-consult{
  width:100%;padding:10px;border-radius:var(--radius-sm);border:1px solid var(--border);
  background:transparent;color:var(--text-secondary);font-size:0.8rem;font-weight:500;
  cursor:pointer;transition:var(--transition);font-family:'Inter',sans-serif;
  display:flex;align-items:center;justify-content:center;gap:7px;
}
.crew-consult:hover{background:var(--gold-dim);border-color:rgba(232,183,57,0.25);color:var(--gold)}
.crew-consult .consult-icon{width:14px;height:14px}

/* ===== PROMPT BUILDER ===== */
.builder-layout{display:grid;grid-template-columns:1fr 1fr;gap:32px}
.builder-controls{display:flex;flex-direction:column;gap:28px}
.builder-group label{
  display:block;font-size:0.7rem;font-weight:600;
  color:var(--gold);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:10px;
}
.builder-options{display:flex;flex-wrap:wrap;gap:8px}
.builder-btn{
  padding:9px 18px;border-radius:20px;border:1px solid var(--border);
  background:var(--bg-elevated);color:var(--text-secondary);font-size:0.8rem;
  cursor:pointer;transition:var(--transition);font-family:'Inter',sans-serif;
}
.builder-btn:hover{border-color:var(--border-hover);color:var(--text)}
.builder-btn.active{background:var(--gold-dim);border-color:rgba(232,183,57,0.25);color:var(--gold)}
.builder-slider-wrap{display:flex;align-items:center;gap:14px}
.builder-slider{
  flex:1;-webkit-appearance:none;appearance:none;height:4px;
  border-radius:2px;background:var(--border);outline:none;
}
.builder-slider::-webkit-slider-thumb{
  -webkit-appearance:none;width:18px;height:18px;border-radius:50%;
  background:var(--gold);cursor:pointer;box-shadow:0 0 10px var(--gold-glow);
}
.builder-slider-val{
  font-family:'JetBrains Mono',monospace;font-size:0.85rem;
  color:var(--gold);min-width:32px;text-align:right;
}
.builder-preview{
  background:var(--bg-surface);border:1px solid var(--border);
  border-radius:var(--radius);padding:28px;display:flex;flex-direction:column;
  position:sticky;top:80px;
}
.builder-preview-label{
  font-size:0.7rem;font-weight:600;color:var(--cyan);
  text-transform:uppercase;letter-spacing:1.5px;margin-bottom:18px;
}
.builder-prompt-output{
  flex:1;font-family:'JetBrains Mono',monospace;font-size:0.82rem;
  color:var(--text-secondary);line-height:1.8;word-break:break-word;
  white-space:pre-wrap;min-height:100px;
}
.builder-copy{
  align-self:flex-end;margin-top:18px;
  padding:9px 22px;border-radius:20px;border:1px solid var(--border);
  background:transparent;color:var(--text-secondary);font-size:0.78rem;
  cursor:pointer;transition:var(--transition);font-family:'Inter',sans-serif;
  display:flex;align-items:center;gap:7px;font-weight:500;
}
.builder-copy .btn-icon-sm{width:14px;height:14px}
.builder-copy:hover{border-color:var(--cyan);color:var(--cyan)}
.builder-copy.copied{border-color:var(--green);color:var(--green)}

/* ===== LIGHTBOX ===== */
.lightbox{
  display:none;position:fixed;inset:0;z-index:10000;
  background:rgba(0,0,0,0.94);
  align-items:center;justify-content:center;
  backdrop-filter:blur(8px);
}
.lightbox.open{display:flex}
.lightbox video{max-width:90vw;max-height:85vh;border-radius:var(--radius)}
.lightbox-close{
  position:fixed;top:20px;right:24px;
  width:40px;height:40px;border-radius:50%;
  background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.15);
  color:#fff;cursor:pointer;z-index:10001;
  display:flex;align-items:center;justify-content:center;
  backdrop-filter:blur(8px);transition:var(--transition);
}
.lightbox-close:hover{background:rgba(255,255,255,0.2)}
.lightbox-x{width:20px;height:20px}

/* ===== CHAT PANEL ===== */
.chat-overlay{
  position:fixed;inset:0;background:rgba(0,0,0,0.6);z-index:1000;
  opacity:0;pointer-events:none;transition:opacity 0.3s;
  backdrop-filter:blur(6px);
}
.chat-overlay.open{opacity:1;pointer-events:auto}
.chat-panel{
  position:fixed;top:0;right:0;bottom:0;width:min(460px,100vw);
  background:var(--bg);border-left:1px solid var(--border);
  z-index:1001;transform:translateX(100%);
  transition:transform 0.35s cubic-bezier(0.4,0,0.2,1);
  display:flex;flex-direction:column;
}
.chat-panel.open{transform:translateX(0)}
.chat-header{
  padding:18px 22px;border-bottom:1px solid var(--border);
  display:flex;align-items:center;gap:14px;flex-shrink:0;
  background:var(--bg-elevated);
}
.chat-header-avatar{
  width:42px;height:42px;border-radius:12px;
  display:flex;align-items:center;justify-content:center;font-size:1.4rem;
  background:linear-gradient(135deg, rgba(255,255,255,0.05), rgba(255,255,255,0.02));
  border:1px solid var(--border);
}
.chat-header-info{flex:1}
.chat-header-name{font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:0.92rem}
.chat-header-role{font-size:0.72rem;color:var(--text-dim);margin-top:1px}
.chat-close{
  width:34px;height:34px;border-radius:var(--radius-sm);border:1px solid var(--border);
  background:transparent;color:var(--text-dim);cursor:pointer;
  display:flex;align-items:center;justify-content:center;transition:var(--transition);
}
.chat-close:hover{border-color:var(--border-hover);color:var(--text)}
.close-icon{width:16px;height:16px}

.chat-messages{flex:1;overflow-y:auto;padding:18px 22px;display:flex;flex-direction:column;gap:10px}
.chat-msg{
  max-width:85%;padding:11px 16px;border-radius:12px;
  font-size:0.85rem;line-height:1.65;animation:msgIn 0.25s ease-out;
}
@keyframes msgIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.chat-msg.assistant{
  background:var(--bg-elevated);border:1px solid var(--border);
  align-self:flex-start;border-bottom-left-radius:4px;
}
.chat-msg.user{
  background:var(--gold-dim);border:1px solid rgba(232,183,57,0.12);
  align-self:flex-end;border-bottom-right-radius:4px;
}
.chat-typing{display:flex;gap:5px;padding:10px 14px;align-self:flex-start}
.chat-typing span{width:6px;height:6px;border-radius:50%;background:var(--text-dim);animation:typing 1.4s infinite}
.chat-typing span:nth-child(2){animation-delay:0.2s}
.chat-typing span:nth-child(3){animation-delay:0.4s}
@keyframes typing{0%,60%,100%{transform:translateY(0);opacity:0.4}30%{transform:translateY(-6px);opacity:1}}

.chat-bottom{padding:14px 22px;border-top:1px solid var(--border);flex-shrink:0;background:var(--bg-elevated)}
.chat-quick{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.chat-quick-btn{
  font-size:0.7rem;padding:5px 12px;border-radius:20px;
  background:rgba(255,255,255,0.03);border:1px solid var(--border);
  color:var(--text-dim);cursor:pointer;transition:var(--transition);
  font-family:'Inter',sans-serif;
}
.chat-quick-btn:hover{background:var(--gold-dim);border-color:rgba(232,183,57,0.2);color:var(--gold)}
.chat-input-row{display:flex;gap:8px}
.chat-input{
  flex:1;padding:11px 16px;border-radius:12px;border:1px solid var(--border);
  background:var(--bg);color:var(--text);font-size:0.85rem;
  font-family:'Inter',sans-serif;outline:none;transition:border-color 0.2s;
}
.chat-input:focus{border-color:var(--gold)}
.chat-send{
  width:42px;height:42px;border-radius:12px;border:none;
  background:var(--gold);color:var(--bg);cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:var(--transition);
}
.chat-send:hover{box-shadow:0 0 20px var(--gold-glow)}
.send-icon{width:16px;height:16px}

/* ===== TOAST ===== */
.toast{
  position:fixed;bottom:24px;right:24px;z-index:10002;
  padding:12px 24px;border-radius:12px;
  font-size:0.82rem;font-weight:500;pointer-events:none;
  animation:msgIn 0.3s ease-out;
  backdrop-filter:blur(12px);
}
.toast.success{background:rgba(52,211,153,0.9);color:#fff}
.toast.error{background:rgba(248,113,113,0.9);color:#fff}
.toast.info{background:rgba(56,189,248,0.9);color:#000}

/* ===== PRODUCTION CARD: POSTER IMG + FINAL BADGE + CAST ===== */
.prod-card-poster img{
  width:100%;height:100%;object-fit:cover;
}
.prod-card-final-badge{
  position:absolute;bottom:12px;left:12px;z-index:2;
  display:flex;align-items:center;gap:5px;
  font-size:0.65rem;font-weight:600;letter-spacing:0.5px;
  padding:5px 12px;border-radius:20px;
  background:rgba(232,183,57,0.85);color:#000;
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
}
.final-badge-icon{width:12px;height:12px}
.prod-card-cast{
  display:flex;align-items:center;gap:4px;margin-bottom:10px;min-height:24px;
}
.prod-cast-avatar{
  width:24px;height:24px;border-radius:50%;object-fit:cover;
  border:1.5px solid var(--border);
  margin-left:-4px;transition:transform 0.2s;
}
.prod-cast-avatar:first-child{margin-left:0}
.prod-card:hover .prod-cast-avatar{transform:scale(1.1)}
.prod-cast-more{
  font-size:0.65rem;color:var(--text-dim);margin-left:4px;font-weight:500;
}

/* Scene filmstrip under poster */
.prod-card-filmstrip{
  display:flex;gap:3px;padding:0 12px;margin-top:-18px;position:relative;z-index:3;
}
.prod-card-filmstrip img{
  width:52px;height:32px;object-fit:cover;border-radius:4px;
  border:1.5px solid var(--bg-card);opacity:0.85;transition:all 0.2s;
}
.prod-card:hover .prod-card-filmstrip img{opacity:1;border-color:var(--border-hover)}
.prod-card-filmstrip-more{
  width:52px;height:32px;border-radius:4px;
  background:rgba(255,255,255,0.04);border:1.5px solid var(--bg-card);
  display:flex;align-items:center;justify-content:center;
  font-size:0.6rem;color:var(--text-dim);font-weight:600;
}

/* Status breakdown chips */
.prod-status-breakdown{
  display:flex;gap:5px;flex-wrap:wrap;margin-bottom:10px;
}
.prod-status-chip{
  font-size:0.6rem;font-weight:600;letter-spacing:0.5px;
  padding:2px 8px;border-radius:10px;display:flex;align-items:center;gap:3px;
}
.prod-status-chip.done,.prod-status-chip.approved{background:var(--green-dim);color:var(--green)}
.prod-status-chip.pending{background:rgba(255,255,255,0.04);color:var(--text-dim)}
.prod-status-chip.rendering{background:var(--orange-dim);color:var(--orange)}
.prod-status-chip.needs_work{background:var(--gold-dim);color:var(--gold)}
.prod-status-chip.rejected,.prod-status-chip.failed{background:var(--red-dim);color:var(--red)}

/* Hover quick actions overlay */
.prod-card-actions{
  position:absolute;bottom:0;left:0;right:0;z-index:5;
  display:flex;gap:8px;padding:12px 16px;
  background:linear-gradient(0deg, rgba(19,19,26,0.98) 0%, transparent 100%);
  opacity:0;transform:translateY(8px);
  transition:all 0.25s ease;pointer-events:none;
}
.prod-card:hover .prod-card-actions{opacity:1;transform:translateY(0);pointer-events:auto}
.prod-card-action-btn{
  flex:1;padding:7px 0;border-radius:var(--radius-xs);border:1px solid var(--border);
  background:rgba(255,255,255,0.04);color:var(--text-secondary);
  font-size:0.7rem;font-weight:500;cursor:pointer;transition:var(--transition);
  display:flex;align-items:center;justify-content:center;gap:4px;
}
.prod-card-action-btn:hover{border-color:var(--gold);color:var(--gold);background:var(--gold-dim)}
.prod-card-action-btn .action-icon{width:12px;height:12px}

/* Empty poster state */
.prod-card-poster-empty{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:8px;height:100%;
}
.prod-card-poster-empty-icon{width:40px;height:40px;color:var(--text-dim);opacity:0.15}
.prod-card-poster-empty-text{font-size:0.7rem;color:var(--text-dim);opacity:0.4}

/* ===== SCENE CARD: IMG THUMBS + ORIGINAL PROMPT ===== */
.scene-card-media img{
  width:100%;height:100%;object-fit:cover;
  transition:transform 0.4s ease;
}
.scene-card-media:hover img{transform:scale(1.03)}
.scene-card-orig-prompt{
  font-size:0.78rem;color:var(--text-dim);line-height:1.6;
  padding:10px 12px;background:var(--bg);border:1px solid var(--border);
  border-radius:var(--radius-xs);white-space:pre-wrap;word-break:break-word;
}

/* ===== SCREENPLAY: SCRIPT CONTENT + IMG THUMBS ===== */
.screenplay-script-section{margin-bottom:32px}
.screenplay-section-label{
  font-family:'JetBrains Mono',monospace;
  font-size:0.72rem;font-weight:600;color:var(--cyan);
  text-transform:uppercase;letter-spacing:1.5px;margin-bottom:16px;
}
.screenplay-script-text{
  font-size:0.9rem;color:var(--text);line-height:1.9;
  white-space:pre-wrap;word-break:break-word;
}
.screenplay-script-text p{margin-bottom:12px}
.screenplay-script-text .script-h1{font-size:1.3rem;font-weight:700;margin:24px 0 12px;color:var(--gold)}
.screenplay-script-text .script-h2{font-size:1.1rem;font-weight:600;margin:20px 0 10px;color:var(--text)}
.screenplay-script-text .script-h3{font-size:0.95rem;font-weight:600;margin:16px 0 8px;color:var(--text-secondary)}
.screenplay-script-text .script-hr{border:none;border-top:1px solid var(--border);margin:24px 0}

.screenplay-divider{
  text-align:center;margin:32px 0;position:relative;
}
.screenplay-divider::before{
  content:'';position:absolute;top:50%;left:0;right:0;height:1px;background:var(--border);
}
.screenplay-divider span{
  background:var(--bg-elevated);padding:0 16px;position:relative;
  font-size:0.72rem;font-weight:600;color:var(--text-dim);
  text-transform:uppercase;letter-spacing:1.5px;
}

.screenplay-orig-label{
  font-size:0.68rem;font-weight:600;color:var(--purple);
  text-transform:uppercase;letter-spacing:1px;margin-top:12px;margin-bottom:4px;
}
.screenplay-action.screenplay-orig{
  font-style:italic;color:var(--text-secondary);font-size:0.85rem;
}

.screenplay-thumb img{
  width:200px;aspect-ratio:16/9;object-fit:cover;
  border-radius:var(--radius-sm);border:1px solid var(--border);
  cursor:pointer;flex-shrink:0;transition:border-color 0.2s;
}
.screenplay-thumb img:hover{border-color:var(--cyan)}

/* ===== TAB COUNT BADGE ===== */
.tab-count{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:18px;height:18px;border-radius:9px;
  background:var(--gold-dim);color:var(--gold);
  font-size:0.65rem;font-weight:700;padding:0 5px;
  font-family:'JetBrains Mono',monospace;
}

/* ===== CAST & CHARACTERS GRID ===== */
.cast-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(200px,1fr));
  gap:20px;
}
.cast-card{
  background:var(--bg-elevated);
  border:1px solid var(--border);
  border-radius:var(--radius);
  overflow:hidden;
  transition:all 0.25s ease;
  animation:slideUp 0.35s ease-out backwards;
}
.cast-card:hover{
  border-color:var(--border-hover);
  transform:translateY(-3px);
  box-shadow:var(--shadow-card);
}
.cast-card-img-wrap{
  aspect-ratio:3/4;overflow:hidden;
  background:linear-gradient(135deg, #0c0c14, #12121e);
  display:flex;align-items:center;justify-content:center;
}
.cast-card-img-wrap img{
  width:100%;height:100%;object-fit:cover;
  transition:transform 0.4s ease;
}
.cast-card:hover .cast-card-img-wrap img{transform:scale(1.05)}
.cast-card-placeholder{
  display:flex;align-items:center;justify-content:center;
  width:100%;height:100%;
}
.cast-card-name{
  font-family:'Space Grotesk',sans-serif;
  font-size:0.88rem;font-weight:600;
  padding:14px 16px 4px;color:var(--text);
  text-transform:capitalize;
}
.cast-card-file{
  font-size:0.7rem;color:var(--text-dim);
  padding:0 16px 14px;word-break:break-all;
}

/* ===== FINAL FILM VIEW ===== */
.final-film-section{max-width:900px;margin:0 auto}
.final-film-player{
  background:var(--bg-elevated);
  border:1px solid var(--border);
  border-radius:var(--radius);
  overflow:hidden;margin-bottom:32px;
}
.final-film-label{
  font-family:'JetBrains Mono',monospace;
  font-size:0.72rem;font-weight:600;color:var(--gold);
  text-transform:uppercase;letter-spacing:1.5px;
  padding:16px 20px 0;
}
.final-film-player video{
  width:100%;max-height:500px;background:#000;
  display:block;
}
.final-film-info{
  display:flex;align-items:center;gap:16px;
  padding:16px 20px;flex-wrap:wrap;
}
.final-film-name{
  font-family:'Space Grotesk',sans-serif;
  font-size:0.92rem;font-weight:600;color:var(--text);
}
.final-film-meta{
  font-size:0.75rem;color:var(--text-dim);
}
.final-film-download{
  margin-left:auto;
  display:inline-flex;align-items:center;gap:6px;
  padding:8px 18px;border-radius:var(--radius-sm);
  border:1px solid var(--border);
  background:transparent;color:var(--cyan);
  font-size:0.78rem;font-weight:500;
  text-decoration:none;transition:var(--transition);
  cursor:pointer;
}
.final-film-download:hover{
  background:var(--cyan-dim);border-color:rgba(56,189,248,0.3);
}
.download-icon{width:14px;height:14px}

.final-film-others-label{
  font-family:'JetBrains Mono',monospace;
  font-size:0.72rem;font-weight:600;color:var(--text-dim);
  text-transform:uppercase;letter-spacing:1.5px;
  margin-bottom:12px;
}
.final-film-list{
  display:flex;flex-direction:column;gap:8px;
}
.final-film-item{
  display:flex;align-items:center;gap:14px;
  padding:12px 16px;
  background:var(--bg-elevated);border:1px solid var(--border);
  border-radius:var(--radius-sm);cursor:pointer;
  transition:all 0.2s ease;
}
.final-film-item:hover{
  border-color:var(--border-hover);background:var(--bg-surface);
}
.final-film-item img{
  width:80px;aspect-ratio:16/9;object-fit:cover;
  border-radius:var(--radius-xs);flex-shrink:0;
}
.final-film-item-info{flex:1}
.final-film-item-name{
  font-size:0.82rem;font-weight:500;color:var(--text);margin-bottom:2px;
}
.final-film-item-meta{
  font-size:0.7rem;color:var(--text-dim);
}
.final-film-item-dl{
  width:32px;height:32px;border-radius:var(--radius-xs);
  border:1px solid var(--border);background:transparent;
  display:flex;align-items:center;justify-content:center;
  color:var(--text-dim);text-decoration:none;
  transition:var(--transition);flex-shrink:0;
}
.final-film-item-dl:hover{border-color:var(--cyan);color:var(--cyan);background:var(--cyan-dim)}
.download-icon-sm{width:13px;height:13px}

/* ===== RESPONSIVE ===== */
@media(max-width:900px){
  .builder-layout{grid-template-columns:1fr}
  .screenplay{padding:32px 24px}
}
@media(max-width:768px){
  .topbar-inner{gap:12px;padding:0 16px}
  .topbar-nav{gap:0}
  .topbar-link{padding:6px 10px;font-size:0.75rem}
  .topbar-link span{display:none}
  .topbar-brand-text .topbar-edition{display:none}
  .container{padding:0 16px}
  .prod-grid{grid-template-columns:1fr}
  .board-grid{grid-template-columns:1fr}
  .page-header{flex-direction:column}
  .crew-grid{grid-template-columns:1fr}
  .cast-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}
  .screenplay{padding:24px 18px}
  .screenplay-thumb{flex-direction:column}
  .screenplay-thumb video,
  .screenplay-thumb img{width:100%}
  .final-film-info{flex-direction:column;align-items:flex-start;gap:8px}
  .final-film-download{margin-left:0}
  .prod-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .prod-tab{white-space:nowrap;flex-shrink:0;padding:8px 14px;font-size:0.75rem}
}
