/* ─── STRIPBOARD STUDIO — APP STYLES ─────────────────────────────────────── */
/* Extracted from index.html pb3-r105. Loaded via <link rel="stylesheet"> */

/* ─── BLOCK 1 — base reset, topbar, mobile/tablet responsive ─────────────── */
html,body{background:#15161a;overflow:hidden;min-height:100vh;}
/* ============================================================
   RESPONSIVE — three breakpoints
   desktop  : 1024px+   (current layout, no changes)
   tablet   : 768–1023px
   mobile   : < 768px
   ============================================================ */

/* ---------- shared: make topbar handle narrow screens ---------- */
@media (max-width: 1023px) {
  #tb-ctx { display: none; }
  .tb-div { display: none; }
  .tb-back { font-size: 9px; padding: 4px 10px; }
}

/* ---------- TABLET ---------- */
@media (min-width: 768px) and (max-width: 1023px) {

  /* Library: slim sidebar */
  .lib-panel { width: 180px; }

  /* Builder tab layout */
  #view-builder { flex-direction: column; overflow-y: auto; overflow-x: hidden; }

  /* Admin: sidebar becomes top tab bar */
  #view-admin { flex-direction: column; }
  .admin-sidebar { width: 100%; flex-direction: row; align-items: center; border-right: none; border-bottom: 0.5px solid var(--border); flex-shrink: 0; overflow-x: auto; padding: 0 12px; gap: 8px; }
  .admin-sidebar-head { display: none; }
  .admin-tabs { display: flex; flex-direction: row; gap: 6px; border-bottom: none; padding: 8px 0; }
  .admin-section-list { display: flex; flex-direction: row; gap: 4px; overflow-x: auto; padding: 8px 0; white-space: nowrap; flex: 1; }
  .admin-section { white-space: nowrap; }
  .admin-main { flex: 1; overflow-y: auto; }

  /* grids: 2-col on tablet */
  .grid-3 { grid-template-columns: 1fr 1fr; }
  .ratio-grid { grid-template-columns: repeat(5, 1fr); }
}

/* ---------- MOBILE ---------- */
@media (max-width: 767px) {

  /* Topbar */
  #topbar { padding: 0 12px; gap: 8px; }
  .tb-name { display: none; }
  .tb-back { font-size: 9px; padding: 4px 9px; letter-spacing: 0.04em; }

  /* All views fill below topbar */
  .view { top: 56px; }

  /* ---- LIBRARY ---- */
  #view-library { flex-direction: column; }

  /* Panels become a horizontal scrollable row at top */
  .lib-panels-row { display: flex; flex-direction: row; flex-shrink: 0; border-bottom: 0.5px solid var(--border); overflow-x: auto; }
  .lib-tree-panel { width: 100%; border-right: none; }
  .lib-panel { width: 50%; min-width: 150px; flex-shrink: 0; border-right: 0.5px solid var(--border); border-bottom: none; max-height: 180px; }
  .lib-panel:last-of-type { border-right: none; }
  .lib-main { flex: 1; overflow-y: auto; padding: 1rem; }
  .lib-mh { flex-direction: column; align-items: flex-start; gap: 10px; }
  .scene-grid { grid-template-columns: 1fr 1fr; gap: 10px; }

  /* ---- BUILDER ---- */
  #view-builder { flex-direction: column; overflow-y: auto; overflow-x: hidden; }

  /* Output panel prompt text area smaller */
  #output-panel textarea { min-height: 120px; }

  /* Grids */
  .grid-2 { grid-template-columns: 1fr; }
  .grid-3 { grid-template-columns: 1fr 1fr; }
  .ratio-grid { grid-template-columns: repeat(4, 1fr); }
  .res-grid { grid-template-columns: repeat(3, 1fr); }

  /* Section panels */
  .section-body { padding: 12px; }

  /* Ref images */
  .ref-img-row { flex-direction: column; }

  /* ---- ADMIN ---- */
  #view-admin { flex-direction: column; }
  .admin-sidebar { width: 100%; flex-direction: row; align-items: center; border-right: none; border-bottom: 0.5px solid var(--border); flex-shrink: 0; overflow-x: auto; height: auto; }
  .admin-sidebar-head { display: none; }
  .admin-tabs { display: flex; flex-direction: row; padding: 8px 12px; gap: 6px; border-bottom: none; }
  .admin-section-list { display: flex; flex-direction: row; gap: 4px; overflow-x: auto; padding: 8px 12px; white-space: nowrap; flex: 1; min-height: auto; }
  .admin-section { white-space: nowrap; padding: 5px 12px; }
  .admin-main { flex: 1; overflow-y: auto; }

  /* ---- LIST VIEW ---- */
  /* Hide less critical columns on mobile */
  .slr-date { display: none; }
  .slr-version { display: none; }
  .scene-list-name { min-width: 0; }

  /* ---- MODALS ---- */
  .modal { width: calc(100vw - 32px); max-width: 360px; }
  .version-modal { width: calc(100vw - 32px); max-width: 360px; }

  /* ---- LOGIN ---- */
  .login-box { width: 320px; }
  .login-photo-img { width: 200px; height: 200px; }
}

/* Extra small phones */
@media (max-width: 390px) {
  .scene-grid { grid-template-columns: 1fr; }
  .grid-3 { grid-template-columns: 1fr; }
  .ratio-grid { grid-template-columns: repeat(3, 1fr); }
}

/* ─── BLOCK 2 — main app CSS ─────────────────────────────────────────────── */
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("data:font/woff2;base64,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") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("data:font/woff2;base64,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") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("data:font/woff2;base64,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") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
html { margin: 0; padding: 0; height: 100%; min-height: 100%; overflow: hidden; background: #15161a; }
body { margin: 0; padding: 0; height: 100%; min-height: 100%; overflow: hidden; font-family: "DM Sans", sans-serif; background: #15161a; color: #EDECE8; }
a { color: inherit; text-decoration: none; }
@keyframes loginForm { from{opacity:0;transform:translateY(4px);} to{opacity:1;transform:translateY(0);} }
:root {
  --bg: #15161a; --surface: #1e1e1e; --surface2: #252525;
  --border: rgba(255,255,255,0.07); --border-strong: rgba(255,255,255,0.14);
  --text: #e8e6e1; --text2: #9a9590; --text3: #5a5752;
  --accent: #c8a97a;
  --success: #3a9e68; --error: #d95f4b;
}
#topbar { position: fixed; top: 0; left: 0; right: 0; height: 56px; background: #0f1116; border-bottom: 0.5px solid rgba(255,255,255,0.08); display: flex; align-items: center; padding: 0 1.5rem; gap: 12px; z-index: 200; }
#login-screen:not(.hidden) ~ #topbar { display: none; }
.tb-logo { width: 26px; height: 26px; background: var(--text); border-radius: 5px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.tb-logo svg { width: 14px; height: 14px; fill: white; }
.tb-name { font-size: 12px; font-weight: 500; letter-spacing: 0.1em; text-transform: uppercase; color: white; }
.tb-div { width: 0.5px; height: 18px; background: rgba(255,255,255,0.15); margin: 0 4px; }
#tb-ctx { font-size: 12px; flex: 1; display: flex; align-items: center; gap: 0; }
.tb-crumb { color: rgba(255,255,255,0.35); cursor: default; white-space: nowrap; }
.tb-crumb.link { cursor: pointer; transition: color 0.12s; }
.tb-crumb.link:hover { color: rgba(255,255,255,0.75); }
.tb-sep { color: rgba(255,255,255,0.2); margin: 0 6px; }
.tb-ver { font-size: 10px; font-weight: 500; color: rgba(255,255,255,0.4); background: rgba(255,255,255,0.08); border: 0.5px solid rgba(255,255,255,0.12); border-radius: 20px; padding: 2px 8px; }
.tb-back { font-family: "DM Sans", sans-serif; font-size: 10px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: rgba(255,255,255,0.6); background: none; border: 0.5px solid rgba(255,255,255,0.2); border-radius: 6px; padding: 5px 14px; cursor: pointer; display: none; white-space: nowrap; }
.tb-back:hover { background: rgba(255,255,255,0.08); color: white; }
/* Persistent app body — tree + content side by side below topbar */
#app-body { position: fixed; top: 56px; left: 0; right: 0; bottom: 0; display: grid; grid-template-columns: var(--tree-w, 210px) 16px 1fr; transition: grid-template-columns 0.2s ease; }
#app-body.resizing { transition: none; }
#login-screen:not(.hidden) ~ #app-body { display: none; }
#content-area { position: relative; overflow: hidden; min-width: 0; }
.view { position: absolute; inset: 0; display: none; background: #15161a; }
.view.active { display: flex; }
/* ── Tree sidebar ─────────────────────────────────────────────────────── */
.lib-panel { display: none; } /* legacy panels hidden — tree replaces them */
.lib-tree-panel { background: var(--surface); border-right: 0.5px solid var(--border); display: flex; flex-direction: column; overflow: hidden; position: relative; }
.lib-tree-head { padding: 11px 12px 9px; border-bottom: 0.5px solid var(--border); flex-shrink: 0; display: flex; align-items: center; justify-content: space-between; }
.lib-tree-title { font-size: 11px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--text3); }
.lib-tree-add-client { font-family: "DM Sans", sans-serif; font-size: 18px; font-weight: 300; color: var(--text3); background: none; border: none; cursor: pointer; line-height: 1; padding: 0 2px; border-radius: 4px; }
.lib-tree-add-client:hover { color: var(--text); background: var(--surface2); }
.lib-tree-scroll { flex: 1; overflow-y: auto; padding: 6px 0 12px; }
.lib-tree-resize { position: absolute; top: 0; right: 0; width: 5px; height: 100%; cursor: col-resize; z-index: 10; background: transparent; }
.lib-tree-resize:hover, .lib-tree-resize.dragging { background: rgba(255,255,255,0.07); }
.lib-tree-collapse-btn { align-self: center; justify-self: start; width: 16px; height: 52px; background: var(--surface); border: 0.5px solid var(--border-strong); border-left: none; border-radius: 0 7px 7px 0; cursor: pointer; display: flex; align-items: center; justify-content: center; color: var(--text2); z-index: 50; padding: 0; transition: color 0.15s, background 0.15s; }
.lib-tree-collapse-btn:hover { color: var(--text); background: var(--surface2); }
.lib-tree-collapse-btn.collapsed { border-left: 0.5px solid var(--border-strong); border-radius: 7px; }
.lib-tree-panel.collapsed .lib-tree-head,
.lib-tree-panel.collapsed .lib-tree-scroll,
.lib-tree-panel.collapsed .lib-tree-resize { opacity: 0; pointer-events: none; }
.lib-empty { font-size: 12px; color: var(--text3); font-style: italic; padding: 10px 14px; }
.tree-new-project { font-size: 12px; color: var(--text3); padding: 5px 14px 8px 28px; cursor: pointer; display: flex; align-items: center; transition: color 0.1s; }
.tree-new-project:hover { color: var(--text); }

/* Client rows */
.tree-client { }
.tree-client-row { display: flex; align-items: center; gap: 0; padding: 0 8px 0 4px; border-radius: 5px; margin: 1px 4px; cursor: default; transition: background 0.1s; position: relative; }
.tree-client-row:hover { background: var(--surface2); }
.tree-client-row:hover .tree-client-actions { opacity: 1; }
.tree-chevron { width: 20px; height: 28px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; cursor: pointer; color: var(--text3); border-radius: 3px; }
.tree-chevron:hover { color: var(--text2); background: var(--border); }
.tree-chevron svg { transition: transform 0.18s; flex-shrink: 0; }
.tree-client.open > .tree-client-row .tree-chevron svg { transform: rotate(90deg); }
.tree-folder-icon { width: 16px; height: 16px; flex-shrink: 0; color: var(--text3); margin-right: 5px; }
.tree-client-name { flex: 1; font-size: 13px; font-weight: 500; color: var(--text2); padding: 5px 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; user-select: none; cursor: pointer; }
.tree-client-row:hover .tree-client-name { color: var(--text); }
.tree-client-actions { opacity: 0; display: flex; gap: 1px; flex-shrink: 0; transition: opacity 0.1s; }
.tree-action-btn { background: none; border: none; cursor: pointer; font-size: 11px; color: var(--text3); padding: 2px 3px; border-radius: 3px; line-height: 1; }
.tree-action-btn:hover { background: var(--border); color: var(--text); }
.tree-action-btn.danger:hover { background: #fee2e2; color: var(--error); }
.tree-add-project-btn { font-size: 14px; font-weight: 300; }

/* Project rows */
.tree-projects { display: none; padding-left: 24px; }
.tree-client.open > .tree-projects { display: block; }
.tree-project-row { display: flex; align-items: center; gap: 0; padding: 0 8px 0 2px; border-radius: 5px; margin: 1px 4px; cursor: pointer; transition: background 0.1s; position: relative; }
.tree-project-row:hover { background: var(--surface2); }
.tree-project-row:hover .tree-project-actions { opacity: 1; }
.tree-project-row.active { background: rgba(255,255,255,0.07); }
.tree-project-row.active .tree-project-name { color: var(--text); font-weight: 500; }
.tree-proj-icon { width: 14px; height: 14px; flex-shrink: 0; color: var(--text3); margin-right: 5px; }
.tree-project-name { flex: 1; font-size: 12px; color: var(--text3); padding: 5px 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; user-select: none; }
.tree-project-row:hover .tree-project-name { color: var(--text2); }
.tree-project-actions { opacity: 0; display: flex; gap: 1px; flex-shrink: 0; transition: opacity 0.1s; }

/* Tree section headers (PROJECTS +, SCENES +) */
.tree-section-head { display: flex; align-items: center; justify-content: flex-end; padding: 2px 8px 2px; font-size: 9px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: #4aafc5; }
.tree-new-project-btn { display: block; width: 100%; text-align: left; font-family: 'DM Sans', sans-serif; font-size: 11px; font-weight: 500; color: #4aafc5; background: none; border: none; padding: 7px 14px; cursor: pointer; letter-spacing: 0.02em; }
.tree-new-project-btn:hover { color: #6dcde0; }
.tree-section-add { background: none; border: none; color: #4aafc5; font-size: 15px; font-weight: 300; cursor: pointer; padding: 0 2px; line-height: 1; border-radius: 3px; }
.tree-section-add:hover { color: #6dcde0; background: rgba(74,175,197,0.1); }

/* Project chevron */
.tree-proj-chevron { display: flex; align-items: center; justify-content: center; width: 16px; height: 16px; flex-shrink: 0; cursor: pointer; color: var(--text3); transition: transform 0.15s; border-radius: 3px; }
.tree-proj-chevron:hover { background: var(--surface2); color: var(--text2); }
.tree-project-block.open > .tree-project-row .tree-proj-chevron svg { transform: rotate(90deg); }
.tree-project-block.open > .tree-project-row .tree-proj-chevron { color: var(--text2); }

/* Scene rows under projects */
.tree-scenes-list { display: none; padding-left: 18px; }
.tree-project-block.open > .tree-scenes-list { display: block; }
.tree-scene-row { display: flex; align-items: center; gap: 0; padding: 0 8px 0 6px; border-radius: 5px; margin: 1px 4px; cursor: pointer; transition: background 0.1s; position: relative; }
.tree-scene-row:hover { background: var(--surface2); }
.tree-scene-row:hover .tree-project-actions { opacity: 1; }
.tree-scene-row.active { background: rgba(74,175,197,0.12); }
.tree-scene-row.active .tree-scene-name { color: #4aafc5; font-weight: 500; }
.tree-scene-name { flex: 1; font-size: 11px; color: var(--text3); padding: 5px 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; user-select: none; }
.tree-scene-row:hover .tree-scene-name { color: var(--text2); }
.tree-new-scene { padding: 4px 8px 4px 6px; margin: 2px 4px; font-size: 11px; color: var(--text3); cursor: pointer; border-radius: 5px; display: flex; align-items: center; }
.tree-new-scene:hover { background: var(--surface2); color: var(--text2); }

/* Archive section */
.tree-archive-toggle { display: flex; align-items: center; gap: 5px; padding: 6px 10px; font-size: 10px; font-weight: 600; letter-spacing: 0.07em; text-transform: uppercase; color: var(--text3); cursor: pointer; margin: 4px 4px 0; border-radius: 5px; user-select: none; }
.tree-archive-toggle:hover { color: var(--text2); background: var(--surface2); }
.tree-archive-toggle svg { flex-shrink: 0; transition: transform 0.18s; }
.tree-archive-toggle.open svg { transform: rotate(90deg); }
.tree-archived-section { display: none; }
.tree-archived-section.open { display: block; }
.tree-client.archived .tree-client-name { color: var(--text3); font-style: italic; }
.tree-client.archived { opacity: 0.55; }
.lib-item-icon-btn.archive { color: var(--text3); }
.lib-main { flex: 1; overflow: hidden; display: flex; flex-direction: column; background: var(--bg); }
#lib-placeholder { padding: 1.5rem; overflow-y: auto; flex: 1; }
#scenes-area { flex: 1; }
.lib-mh { display: flex; align-items: center; justify-content: space-between; margin-bottom: 1.25rem; }
.lib-mt { font-size: 18px; font-weight: 500; color: var(--text); }
.lib-ms { font-size: 13px; color: var(--text3); margin-top: 2px; }
.lib-new { font-family: "DM Sans", sans-serif; font-size: 14px; font-weight: 500; background: var(--text); color: #15161a; border: none; border-radius: 7px; padding: 8px 16px; cursor: pointer; }
.lib-new:hover { opacity: 0.85; }
.lib-brief-btn { font-family: "DM Sans", sans-serif; font-size: 14px; font-weight: 500; color: #fff; background: #337082; border: none; border-radius: 7px; padding: 8px 16px; cursor: pointer; }
.lib-brief-btn:hover { background: #2a5e6e; }
#view-brief { flex-direction: column; overflow-y: auto; overflow-x: hidden; background: var(--bg); }
.brief-tab { font-family: "DM Sans", sans-serif; font-size: 11px; font-weight: 600; letter-spacing: 0.05em; text-transform: uppercase; color: var(--text3); background: var(--surface); border: 0.5px solid var(--border-strong); border-bottom: 0.5px solid var(--border-strong); padding: 10px 0; flex: 1; text-align: center; cursor: pointer; }
.brief-tab:hover { color: var(--text2); }
.brief-tab.active { color: #337082; background: #1a1b20; border-top: 2px solid #337082; border-bottom: none; padding-top: 8px; }
.brief-panel { display: none; padding: 20px; }
.brief-panel.active { display: block; }
.brief-field { display: flex; flex-direction: column; gap: 5px; margin-bottom: 14px; }
.brief-label { font-size: 10px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--text3); }
.brief-input { font-family: "DM Sans", sans-serif; font-size: 13px; color: var(--text); background: var(--surface); border: 0.5px solid var(--border-strong); border-radius: 7px; padding: 8px 10px; width: 100%; box-sizing: border-box; }
.brief-textarea { font-family: "DM Sans", sans-serif; font-size: 13px; color: var(--text); background: var(--surface); border: 0.5px solid var(--border-strong); border-radius: 7px; padding: 8px 10px; width: 100%; box-sizing: border-box; resize: vertical; min-height: 72px; line-height: 1.5; }
.brief-section-label { font-size: 10px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--text3); margin: 16px 0 10px; display: flex; align-items: center; gap: 8px; }
.brief-section-label::after { content: ''; flex: 1; height: 0.5px; background: var(--border-strong); }
.brief-ref-row { display: flex; align-items: flex-start; gap: 8px; margin-bottom: 10px; padding: 10px; background: var(--surface); border: 0.5px solid var(--border); border-radius: 7px; }
.brief-ref-num { font-size: 10px; font-weight: 600; letter-spacing: 0.06em; color: var(--text3); text-transform: uppercase; padding-top: 10px; flex-shrink: 0; width: 34px; }
.brief-ref-img-placeholder { width: 52px; height: 52px; flex-shrink: 0; border: 0.5px dashed var(--border-strong); border-radius: 6px; background: var(--surface2); display: flex; align-items: center; justify-content: center; font-size: 18px; color: var(--text3); cursor: pointer; margin-top: 2px; }
.brief-ref-img-placeholder:hover { border-color: var(--text); color: var(--text2); }
.brief-ref-img-wrap { position: relative; width: 52px; height: 52px; flex-shrink: 0; border-radius: 6px; overflow: hidden; border: 0.5px solid var(--border-strong); background: var(--surface2); cursor: pointer; margin-top: 2px; }
.brief-ref-img-wrap img { width: 100%; height: 100%; object-fit: cover; display: block; }
.brief-ref-img-remove { position: absolute; top: 2px; right: 2px; width: 16px; height: 16px; background: rgba(0,0,0,0.6); color: white; border: none; border-radius: 50%; cursor: pointer; font-size: 11px; display: flex; align-items: center; justify-content: center; padding: 0; }
.brief-ref-fields { flex: 1; display: flex; flex-direction: column; gap: 6px; }
.brief-ref-role { font-family: "DM Sans", sans-serif; font-size: 11px; font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; color: #337082; background: rgba(51,112,130,0.12); border: 0.5px solid rgba(51,112,130,0.3); border-radius: 5px; padding: 3px 8px; cursor: pointer; appearance: none; }
.brief-ref-name { font-family: "DM Sans", sans-serif; font-size: 12px; font-weight: 600; color: var(--text); background: transparent; border: none; padding: 0; width: 100%; }
.brief-ref-name::placeholder { color: var(--text3); font-weight: 400; }
.brief-ref-desc { font-family: "DM Sans", sans-serif; font-size: 12px; color: var(--text2); background: transparent; border: none; padding: 0; width: 100%; resize: none; line-height: 1.5; min-height: 38px; }
.brief-ref-desc::placeholder { color: var(--text3); }
.brief-ref-remove { font-size: 16px; font-weight: 300; color: var(--text3); background: none; border: none; cursor: pointer; padding: 4px; flex-shrink: 0; line-height: 1; margin-top: 2px; }
.brief-ref-remove:hover { color: var(--error); }
.brief-pill-row { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 8px; }
.brief-pill { font-size: 11px; font-weight: 600; letter-spacing: 0.04em; padding: 5px 12px; border-radius: 20px; border: 0.5px solid var(--border-strong); color: var(--text2); background: var(--surface); cursor: pointer; }
.brief-pill.active { background: rgba(51,112,130,0.15); color: #337082; border-color: rgba(51,112,130,0.35); }
.brief-add-btn { font-family: "DM Sans", sans-serif; font-size: 12px; font-weight: 500; color: var(--text2); background: var(--surface2); border: 0.5px solid var(--border-strong); border-radius: 6px; padding: 6px 12px; cursor: pointer; display: inline-flex; align-items: center; gap: 5px; margin-top: 6px; }
.brief-add-btn:hover { background: var(--border); color: var(--text); }
.brief-save-btn { font-family: "DM Sans", sans-serif; font-size: 11px; font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; color: #fff; background: #337082; border: none; border-radius: 6px; padding: 6px 18px; cursor: pointer; white-space: nowrap; }
.brief-feed-bar { display: flex; align-items: center; gap: 6px; font-size: 11px; color: #337082; background: rgba(51,112,130,0.1); border: 0.5px solid rgba(51,112,130,0.2); border-radius: 6px; padding: 7px 12px; margin-bottom: 16px; }
.brief-feed-dot { width: 6px; height: 6px; border-radius: 50%; background: #337082; flex-shrink: 0; }
.proj-ref-grid { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 10px; }
.proj-ref-card { width: 90px; cursor: pointer; border-radius: 7px; border: 1.5px solid var(--border-strong); background: var(--surface); overflow: hidden; transition: border-color 0.12s; flex-shrink: 0; }
.proj-ref-card:hover { border-color: rgba(51,112,130,0.5); }
.proj-ref-card.selected { border-color: #337082; background: rgba(51,112,130,0.08); }
.proj-ref-card-img { width: 90px; height: 64px; object-fit: cover; display: block; background: var(--surface2); }
.proj-ref-card-img-empty { width: 90px; height: 64px; background: var(--surface2); display: flex; align-items: center; justify-content: center; font-size: 20px; color: var(--text3); }
.proj-ref-card-body { padding: 5px 6px 6px; }
.proj-ref-card-role { font-size: 9px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: #337082; margin-bottom: 2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.proj-ref-card-name { font-size: 10px; font-weight: 500; color: var(--text2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.proj-ref-card.selected .proj-ref-card-role { color: #4a9aaa; }
.proj-ref-card.selected .proj-ref-card-name { color: var(--text); }
.scene-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 12px; }
.scene-card { background: var(--surface); border: 0.5px solid var(--border); border-radius: 10px; overflow: hidden; cursor: pointer; transition: all 0.12s; }
.sc-thumb { width: 100%; aspect-ratio: 16/9; object-fit: cover; display: block; background: var(--surface2); }
.sc-thumb-placeholder { width: 100%; aspect-ratio: 16/9; background: #0e0f11; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0; position: relative; overflow: hidden; }
.sc-thumb-placeholder svg { opacity: 1; }
.sc-body { padding: 12px 14px 14px; }
.scene-card:hover { border-color: var(--border-strong); background: var(--surface2); }
.sc-name { font-size: 15px; font-weight: 500; color: var(--text); margin-bottom: 4px; }
.sc-meta { font-size: 13px; color: var(--text3); line-height: 1.5; }
.sc-prompt { font-size: 12px; color: var(--text3); margin-top: 6px; line-height: 1.5; font-family: "DM Sans", sans-serif; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.sc-actions { display: flex; gap: 6px; margin-top: 10px; flex-wrap: wrap; }
.sc-btn { font-family: "DM Sans", sans-serif; font-size: 12px; font-weight: 500; padding: 5px 10px; border: 0.5px solid var(--border-strong); border-radius: 5px; background: transparent; color: var(--text2); cursor: pointer; white-space: nowrap; }
.sc-btn:hover { background: var(--surface2); color: var(--text); }
.sc-btn.danger:hover { background: rgba(220,80,70,0.12); color: var(--error); border-color: var(--error); }
.lib-placeholder { text-align: center; padding: 4rem 2rem; color: var(--text3); }
.lib-placeholder-t { font-size: 15px; font-weight: 500; color: var(--text2); margin-bottom: 8px; }
.lib-placeholder-s { font-size: 15px; line-height: 1.6; }
.modal-overlay { position: fixed; inset: 0; background: rgba(0,0,0,0.3); z-index: 500; display: none; align-items: center; justify-content: center; }
.modal-overlay.open { display: flex; }
.modal { background: var(--surface); border-radius: 12px; padding: 24px; width: 360px; box-shadow: 0 8px 32px rgba(0,0,0,0.12); }
.modal-title { font-size: 16px; font-weight: 500; color: var(--text); margin-bottom: 16px; }
.modal input { font-family: "DM Sans", sans-serif; font-size: 15px; color: var(--text); background: var(--surface); border: 0.5px solid var(--border-strong); border-radius: 7px; padding: 9px 12px; width: 100%; box-sizing: border-box; margin-bottom: 12px; }
.modal input:focus { outline: none; border-color: var(--text); }
.modal-actions { display: flex; gap: 8px; justify-content: flex-end; }
.modal-btn { font-family: "DM Sans", sans-serif; font-size: 14px; font-weight: 500; padding: 7px 16px; border-radius: 6px; cursor: pointer; }
.modal-btn.cancel { background: none; border: 0.5px solid var(--border-strong); color: var(--text2); }
.modal-btn.confirm { background: var(--text); border: none; color: #15161a; }
.modal-btn.cancel:hover { background: var(--surface2); }
.modal-btn.confirm:hover { opacity: 0.85; }
#builder-scroll { display: none; }
#output-panel { display: none; }
#view-builder { display: none; flex-direction: column; overflow-y: auto; overflow-x: hidden; }
#view-builder.active { display: flex !important; flex-direction: column; align-items: stretch; }
.section-panel { background: var(--surface); border: 0.5px solid var(--border); border-radius: 10px; margin-bottom: 1rem; }
.section-head { padding: 12px 16px; border-bottom: 0.5px solid var(--border); cursor: pointer; user-select: none; display: flex; align-items: center; justify-content: space-between; }
.section-head:hover { background: rgba(255,255,255,0.02); }
.section-collapse-icon { font-size: 11px; color: var(--text3); transition: transform 0.2s; flex-shrink: 0; margin-left: 8px; }
.section-panel.collapsed .section-collapse-icon { transform: rotate(-90deg); }
.section-panel.collapsed .section-body { display: none; }
.section-panel.collapsed .section-head { border-bottom: none; }
.section-tag { font-size: 12px; font-weight: 500; letter-spacing: 0.12em; text-transform: uppercase; color: var(--text3); }
.section-body { padding: 16px; }
.field { display: flex; flex-direction: column; gap: 5px; margin-bottom: 12px; }
.field:last-child { margin-bottom: 0; }
.field label { font-size: 12px; font-weight: 500; letter-spacing: 0.06em; text-transform: uppercase; color: var(--text2); }
input[type=text], textarea, select { font-family: "DM Sans", sans-serif; font-size: 15px; color: var(--text); background: var(--surface); border: 0.5px solid var(--border-strong); border-radius: 7px; padding: 8px 10px; width: 100%; box-sizing: border-box; transition: border-color 0.15s; }
input[type=text]:focus, textarea:focus, select:focus { outline: none; border-color: var(--text); }
input[type=date] { color-scheme: dark; }
::placeholder { color: var(--text3); opacity: 1; }
textarea { resize: vertical; min-height: 62px; line-height: 1.5; }
select { appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23888' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 10px center; padding-right: 28px; cursor: pointer; }
.grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.grid-3 { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 10px; }
.ratio-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; }
.ratio-btn { border: 0.5px solid var(--border-strong); border-radius: 7px; background: var(--surface); color: var(--text3); cursor: pointer; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px; height: 66px; transition: all 0.12s; font-family: "DM Sans", sans-serif; }
.ratio-btn:hover { border-color: var(--text); color: var(--text2); background: var(--surface2); }
.ratio-btn.selected { border: 1.5px solid var(--text); background: var(--text); color: #15161a; }
.ratio-preview { border-radius: 2px; background: var(--border-strong); transition: background 0.12s; }
.ratio-btn.selected .ratio-preview { background: rgba(0,0,0,0.25); }
.ratio-label { font-size: 10px; font-weight: 500; }
.res-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; }
.res-btn { border: 0.5px solid var(--border-strong); border-radius: 7px; background: var(--surface); color: var(--text3); cursor: pointer; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; padding: 12px 8px; transition: all 0.12s; font-family: "DM Sans", sans-serif; font-size: 13px; font-weight: 500; }
.res-btn:hover { border-color: var(--text); color: var(--text2); background: var(--surface2); }
.res-btn.selected { border: 1.5px solid var(--text); background: var(--text); color: #15161a; }
.res-sub { font-size: 10px; font-weight: 400; color: var(--text3); }
.res-btn.selected .res-sub { color: rgba(0,0,0,0.5); }
.cs-wrap { position: relative; }
.cs-trigger { font-family: "DM Sans", sans-serif; font-size: 15px; color: var(--text); background: var(--surface); border: 0.5px solid var(--border-strong); border-radius: 7px; padding: 8px 28px 8px 10px; cursor: pointer; display: flex; flex-direction: column; gap: 2px; min-height: 36px; justify-content: center; position: relative; transition: border-color 0.15s; user-select: none; box-sizing: border-box; }
.cs-trigger:hover { border-color: var(--text); }
.cs-trigger.open { border-color: var(--text); }
.cs-trigger::after { content: ""; position: absolute; right: 10px; top: 50%; transform: translateY(-50%); width: 10px; height: 6px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23888' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-size: contain; transition: transform 0.15s; }
.cs-trigger.open::after { transform: translateY(-50%) rotate(180deg); }
.cs-trigger-label { font-size: 12px; font-weight: 500; color: var(--text); text-transform: uppercase; letter-spacing: 0.05em; line-height: 1.2; }
.cs-trigger-desc { font-size: 13px; color: var(--text2); line-height: 1.3; }
.cs-placeholder { font-size: 15px; color: var(--text3); }
.cs-list { display: none; position: fixed; background: var(--surface); border: 0.5px solid var(--text); border-radius: 0 0 7px 7px; z-index: 9999; max-height: 260px; overflow-y: auto; box-shadow: 0 4px 12px rgba(0,0,0,0.08); }
.cs-list.open { display: block; }
.cs-group-label { font-size: 11px; font-weight: 500; letter-spacing: 0.12em; text-transform: uppercase; color: var(--text3); padding: 7px 12px 4px; background: var(--surface2); border-bottom: 0.5px solid var(--border); }
.cs-option { padding: 9px 12px; cursor: pointer; border-bottom: 0.5px solid var(--border); transition: background 0.1s; }
.cs-option:last-child { border-bottom: none; }
.cs-option:hover { background: var(--surface2); }
.cs-option-label { font-size: 12px; font-weight: 500; color: var(--text); text-transform: uppercase; letter-spacing: 0.05em; line-height: 1.3; margin-bottom: 2px; }
.cs-option-desc { font-size: 13px; color: var(--text2); line-height: 1.4; }
.sub-divider { border: none; border-top: 0.5px solid var(--border); margin: 14px 0; }
.sub-label { font-size: 11px; font-weight: 500; letter-spacing: 0.12em; text-transform: uppercase; color: var(--text3); margin-bottom: 8px; }
.ref-row { display: flex; align-items: flex-start; gap: 8px; margin-bottom: 8px; }
.ref-number { font-size: 12px; font-weight: 500; color: var(--text3); text-transform: uppercase; letter-spacing: 0.06em; padding-top: 10px; flex-shrink: 0; width: 36px; }
.ref-input { flex: 1; font-family: "DM Sans", sans-serif; font-size: 15px; color: var(--text); background: var(--surface); border: 0.5px solid var(--border-strong); border-radius: 7px; padding: 8px 10px; line-height: 1.5; resize: vertical; min-height: 62px; box-sizing: border-box; width: 100%; }
.ref-input:focus { outline: none; border-color: var(--text); }
.ref-remove { font-size: 18px; font-weight: 300; color: var(--text3); background: none; border: none; cursor: pointer; padding: 6px 4px; flex-shrink: 0; line-height: 1; margin-top: 4px; }
.ref-remove:hover { color: var(--error); }
.add-ref-btn { font-family: "DM Sans", sans-serif; font-size: 13px; font-weight: 500; color: var(--text2); background: var(--surface2); border: 0.5px solid var(--border-strong); border-radius: 6px; padding: 7px 12px; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; margin-top: 4px; }
.add-ref-btn:hover { background: var(--border); color: var(--text); }
.ref-empty { font-size: 13px; color: var(--text3); font-style: italic; padding: 4px 0; }
.output-head { padding: 14px 16px 12px; border-bottom: 0.5px solid var(--border); flex-shrink: 0; }
.output-head-title { font-size: 12px; font-weight: 500; letter-spacing: 0.12em; text-transform: uppercase; color: var(--text2); margin-bottom: 10px; }
.gen-btn { width: 100%; font-family: "DM Sans", sans-serif; font-size: 15px; font-weight: 600; padding: 12px 16px; background: #4a9eff; color: #fff; border: none; border-radius: 7px; cursor: pointer; transition: background 0.12s; display: flex; align-items: center; justify-content: center; gap: 8px; box-sizing: border-box; margin-bottom: 8px; }
.gen-btn:hover { background: #3a8eef; }
.gen-btn:disabled { opacity: 0.4; cursor: not-allowed; }
.save-btn { width: 100%; font-family: "DM Sans", sans-serif; font-size: 14px; font-weight: 500; padding: 8px 16px; background: none; color: var(--text); border: 0.5px solid var(--border-strong); border-radius: 7px; cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 8px; box-sizing: border-box; transition: background 0.12s; }
.save-btn:hover { background: var(--surface2); }
.save-btn:disabled { opacity: 0.4; cursor: not-allowed; }
.spinner { width: 14px; height: 14px; border: 1.5px solid rgba(255,255,255,0.3); border-top-color: white; border-radius: 50%; animation: spin 0.7s linear infinite; display: none; }
.gen-btn.loading .spinner { display: block; }
.gen-btn.loading .btn-label { opacity: 0.6; }
@keyframes spin { to { transform: rotate(360deg); } }
.output-scroll { flex: 1; overflow-y: auto; padding: 14px 16px; display: flex; flex-direction: column; }
.output-status { font-size: 13px; color: var(--text3); font-style: italic; line-height: 1.6; padding: 8px 0; }
.prompt-loading { display: none; flex-direction: column; align-items: center; gap: 10px; padding: 16px 0; }
.prompt-loading.show { display: flex; }
.prompt-film-strip { display: flex; gap: 4px; }
.prompt-frame { width: 28px; height: 20px; border: 1px solid var(--border-strong); border-radius: 2px; background: var(--surface2); position: relative; overflow: hidden; }
.prompt-frame.active { border-color: #4a9eff; }
.prompt-frame.active::after { content: ''; position: absolute; inset: 0; background: rgba(74,158,255,0.2); animation: framePulse 0.8s ease-in-out infinite alternate; }
.prompt-loading-label { font-size: 12px; color: var(--text2); text-align: center; letter-spacing: 0.08em; text-transform: uppercase; }
.output-prompt { font-family: "DM Mono", monospace; font-size: 13px; line-height: 1.7; color: var(--text); white-space: pre-wrap; word-break: break-word; background: var(--surface2); border: 0.5px solid var(--border); border-radius: 7px; padding: 12px 14px; display: none; flex: 1; min-height: 180px; resize: none; width: 100%; box-sizing: border-box; outline: none; }
.output-prompt.visible { display: block; }
.output-actions { padding: 12px 16px; border-top: 0.5px solid var(--border); display: none; gap: 8px; flex-shrink: 0; }
.output-actions.show { display: flex; }
.action-btn { font-family: "DM Sans", sans-serif; font-size: 13px; font-weight: 500; padding: 7px 12px; border: 0.5px solid var(--border-strong); border-radius: 6px; background: transparent; color: var(--text); cursor: pointer; transition: background 0.12s; flex: 1; }
.action-btn:hover { background: var(--surface2); }
.generate-image-btn { width: calc(100% - 32px); margin: 12px 16px 8px; font-family: "DM Sans", sans-serif; font-size: 14px; font-weight: 600; padding: 10px 16px; background: #4a9eff; color: #fff; border: none; border-radius: 8px; cursor: pointer; transition: background 0.12s; display: none; }
.generate-image-btn:hover { background: #3a8eef; }
.generate-image-btn:disabled { background: var(--surface2); color: var(--text3); cursor: not-allowed; }
.gen-result { padding: 0 16px 12px; display: none; }
.gen-result img { width: 100%; border-radius: 8px; display: block; }
.gen-result-actions { display: flex; gap: 8px; margin-top: 8px; }
.gen-status { display: none; padding: 16px; }
.gen-status.show { display: block; }
.gen-progress { display: flex; flex-direction: column; align-items: center; gap: 12px; }
.gen-progress-bar-wrap { width: 100%; height: 3px; background: var(--surface2); border-radius: 2px; overflow: hidden; }
.gen-progress-bar { height: 100%; width: 0%; background: #4a9eff; border-radius: 2px; transition: width 0.4s ease; }
.gen-progress-label { font-size: 12px; color: var(--text2); text-align: center; letter-spacing: 0.04em; }
.gen-film-strip { display: flex; gap: 4px; }
.gen-frame { width: 28px; height: 20px; border: 1px solid var(--border-strong); border-radius: 2px; background: var(--surface2); position: relative; overflow: hidden; }
.gen-frame.active { border-color: #4a9eff; }
.gen-frame.active::after { content: ''; position: absolute; inset: 0; background: rgba(74,158,255,0.2); animation: framePulse 0.8s ease-in-out infinite alternate; }
@keyframes framePulse { from { opacity: 0.3; } to { opacity: 1; } }
.gen-btn-row { display: none; flex-direction: column; gap: 8px; margin: 12px 16px 8px; }
.gen-btn-row.visible { display: flex; }
.gen-count-selector { display: flex; gap: 4px; }
.gen-count-btn { flex: 1; font-family: "DM Sans", sans-serif; font-size: 12px; font-weight: 600; padding: 6px 0; background: transparent; color: var(--text2); border: 1px solid var(--border-strong); border-radius: 6px; cursor: pointer; transition: background 0.12s, color 0.12s, border-color 0.12s; }
.gen-count-btn:hover { background: var(--surface2); }
.gen-count-btn.selected { background: rgba(74,158,255,0.15); color: #4a9eff; border-color: #4a9eff; }
.gen-btn-single { font-family: "DM Sans", sans-serif; font-size: 14px; font-weight: 600; padding: 10px 12px; background: #4a9eff; color: #fff; border: none; border-radius: 8px; cursor: pointer; transition: background 0.12s; }
.gen-btn-single:hover { background: #3a8eef; }
.gen-btn-single:disabled { background: var(--surface2); color: var(--text3); cursor: not-allowed; }
.panel-ratio-res { display: none; padding: 10px 16px 8px; border-top: 0.5px solid var(--border); }
.panel-ratio-res.visible { display: block; }
.gen-pill-bar { display: flex; gap: 6px; padding: 10px 16px; border-top: 0.5px solid var(--border); align-items: center; }
.gen-pill { font-family: "DM Sans", sans-serif; font-size: 12px; font-weight: 500; padding: 6px 12px; background: var(--surface2); border: 0.5px solid var(--border-strong); border-radius: 20px; color: var(--text2); cursor: pointer; white-space: nowrap; transition: all 0.12s; user-select: none; }
.gen-pill:hover { border-color: var(--text3); color: var(--text); }
.gen-pill.active { border-color: rgba(255,255,255,0.3); color: var(--text); background: var(--surface); }
.gen-pill.unset { color: var(--text3); border-style: dashed; }
.gen-count-pill { display: flex; align-items: center; gap: 0; background: var(--surface2); border: 0.5px solid var(--border-strong); border-radius: 20px; overflow: hidden; margin-left: auto; }
.gen-count-pill-btn { font-family: "DM Sans", sans-serif; font-size: 14px; font-weight: 400; padding: 5px 10px; background: transparent; border: none; color: var(--text2); cursor: pointer; transition: color 0.12s; }
.gen-count-pill-btn:hover { color: var(--text); }
.gen-count-pill-val { font-family: "DM Sans", sans-serif; font-size: 12px; font-weight: 600; color: var(--text); min-width: 18px; text-align: center; }
.gen-pill-panel { position: fixed; background: var(--surface); border: 0.5px solid var(--border-strong); border-radius: 10px; padding: 8px; z-index: 500; box-shadow: 0 8px 32px rgba(0,0,0,0.4); min-width: 160px; display: none; }
.gen-pill-panel.open { display: block; }
.gen-pill-option { font-family: "DM Sans", sans-serif; font-size: 13px; padding: 8px 12px; border-radius: 6px; cursor: pointer; color: var(--text2); display: flex; align-items: center; gap: 8px; }
.gen-pill-option:hover { background: var(--surface2); color: var(--text); }
.gen-pill-option.selected { color: var(--text); background: var(--surface2); }
.gen-pill-option.selected::after { content: "✓"; margin-left: auto; font-size: 11px; color: var(--text3); }
.gen-pill-option-icon { width: 20px; height: 14px; border: 1px solid var(--text3); border-radius: 2px; flex-shrink: 0; }
.prr-label { font-size: 10px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--text3); margin-bottom: 6px; }
#panel-ratio-res .ratio-grid { grid-template-columns: repeat(5, 1fr); gap: 4px; margin-bottom: 0; }
#panel-ratio-res .ratio-btn { height: 52px; gap: 3px; border-radius: 6px; }
#panel-ratio-res .ratio-label { font-size: 9px; }
#panel-ratio-res .res-grid { grid-template-columns: repeat(3, 1fr); gap: 4px; }
#panel-ratio-res .res-btn { padding: 8px 4px; font-size: 11px; }
.gen-batch-grid { display: none; padding: 0 16px 12px; flex-direction: column; gap: 8px; }
.gen-batch-grid.visible { display: flex; }
.gen-batch-row { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.gen-tile { position: relative; border-radius: 8px; overflow: hidden; background: var(--surface2); aspect-ratio: 1 / 1; cursor: pointer; border: 2px solid transparent; transition: border-color 0.15s; }
.gen-tile.selected { border-color: #4a9eff; }
.gen-tile img { width: 100%; height: 100%; object-fit: cover; display: block; opacity: 0; transition: opacity 0.3s; }
.gen-tile img.loaded { opacity: 1; }
.gen-tile .tile-placeholder { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; }
.gen-tile .tile-spinner { width: 20px; height: 20px; border: 2px solid var(--border-strong); border-top-color: #4a9eff; border-radius: 50%; animation: spin 0.8s linear infinite; }
.gen-tile .tile-elapsed { font-size: 10px; color: var(--text3); }
.gen-tile .tile-error { font-size: 10px; color: #f87171; padding: 8px; text-align: center; }
.gen-tile .tile-check { position: absolute; top: 6px; right: 6px; width: 20px; height: 20px; background: transparent; border: 2px solid rgba(255,255,255,0.9); border-radius: 50%; display: none; align-items: center; justify-content: center; cursor: pointer; transition: border-color 0.15s, background 0.15s; z-index: 5; box-shadow: 0 1px 3px rgba(0,0,0,0.4); }
.gen-tile.loaded-img .tile-check { display: flex; }
.gen-tile .tile-check:hover { border-color: #4a9eff; }
.gen-tile.checked .tile-check { background: #4a9eff; border-color: #4a9eff; }
.gen-tile.checked .tile-check::after { content: '✓'; color: #fff; font-size: 11px; font-weight: 700; }
.gen-tile.checked { border-color: #4a9eff; }
.batch-actions { display: flex; gap: 8px; }
@keyframes spin { to { transform: rotate(360deg); } }
.copy-confirm { font-size: 12px; color: var(--success); text-align: center; padding: 4px 0; display: none; }
.copy-confirm.show { display: block; }
.save-confirm { font-size: 12px; color: var(--success); text-align: center; padding: 0; display: none; }
.save-confirm.show { display: block; }
.error-msg { font-size: 13px; color: var(--error); padding: 8px 0; display: none; line-height: 1.5; }
.error-msg.show { display: block; }
.loading-overlay { position: fixed; inset: 0; background: rgba(14,15,19,0.92); z-index: 300; display: none; align-items: center; justify-content: center; }
.loading-overlay.show { display: flex; }
.loading-spinner { width: 24px; height: 24px; border: 2px solid var(--border-strong); border-top-color: var(--text); border-radius: 50%; animation: spin 0.7s linear infinite; }

.img-section { margin-top: 12px; }
.img-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: 8px; margin-bottom: 10px; }
.img-thumb-wrap { position: relative; border-radius: 7px; overflow: hidden; border: 0.5px solid var(--border); aspect-ratio: 1; background: var(--surface2); }
.img-thumb { width: 100%; height: 100%; object-fit: cover; display: block; }
.img-remove { position: absolute; top: 4px; right: 4px; width: 20px; height: 20px; background: rgba(0,0,0,0.6); color: white; border: none; border-radius: 50%; cursor: pointer; font-size: 14px; line-height: 1; display: flex; align-items: center; justify-content: center; padding: 0; }
.img-remove:hover { background: var(--error); }
.img-upload-btn { font-family: "DM Sans", sans-serif; font-size: 13px; font-weight: 500; color: var(--text2); background: var(--surface2); border: 0.5px solid var(--border-strong); border-radius: 6px; padding: 7px 12px; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; }
.img-upload-btn:hover { background: var(--border); color: var(--text); }
.img-upload-btn:disabled { opacity: 0.5; cursor: not-allowed; }
.img-drop-zone { border: 0.5px dashed var(--border-strong); border-radius: 8px; padding: 8px; transition: border-color 0.15s, background 0.15s; }
.img-drop-zone.drag-over { border-color: var(--text); background: rgba(255,255,255,0.03); }
.ref-img-placeholder.drag-over { border-color: var(--text) !important; background: rgba(255,255,255,0.05) !important; }
.img-uploading { font-size: 13px; color: var(--text3); font-style: italic; margin-left: 8px; }
.sc-imgs { display: flex; gap: 4px; margin-top: 8px; flex-wrap: wrap; }
.sc-img { width: 48px; height: 48px; object-fit: cover; border-radius: 4px; border: 0.5px solid var(--border); }

.lightbox-overlay { position: fixed; inset: 0; background: rgba(0,0,0,0.85); z-index: 1000; display: none; align-items: center; justify-content: center; flex-direction: column; gap: 12px; }
.lightbox-overlay.open { display: flex; }
.lightbox-img { max-width: 90vw; max-height: 80vh; object-fit: contain; border-radius: 8px; box-shadow: 0 8px 48px rgba(0,0,0,0.5); }
.lightbox-name { font-size: 12px; color: rgba(255,255,255,0.6); font-family: "DM Mono", monospace; }
.lightbox-close { position: fixed; top: 20px; right: 24px; font-size: 28px; color: white; background: none; border: none; cursor: pointer; line-height: 1; opacity: 0.7; }
.lightbox-close:hover { opacity: 1; }
.img-thumb-wrap.selected { outline: 2px solid #4a9eff; outline-offset: -2px; }
.img-check { position: absolute; top: 4px; left: 4px; width: 20px; height: 20px; background: rgba(0,0,0,0.55); border: 1.5px solid rgba(255,255,255,0.8); border-radius: 4px; color: #fff; font-size: 13px; line-height: 1; display: flex; align-items: center; justify-content: center; padding: 0; cursor: pointer; transition: background 0.12s, border-color 0.12s; }
.img-check:hover { border-color: #fff; }
.img-check.on { background: #4a9eff; border-color: #4a9eff; }
.shot-lib-zip-btn { font-family: "DM Sans", sans-serif; font-size: 12px; font-weight: 600; padding: 7px 16px; background: #4a9eff; border: none; border-radius: 6px; color: #fff; cursor: pointer; transition: opacity 0.12s; }
.shot-lib-zip-btn:hover { opacity: 0.88; }
.shot-lib-zip-btn:disabled { opacity: 0.5; cursor: default; }
.lightbox-arrow { position: fixed; top: 50%; transform: translateY(-50%); background: rgba(255,255,255,0.08); border: none; color: white; font-size: 22px; width: 44px; height: 44px; border-radius: 50%; cursor: pointer; display: flex; align-items: center; justify-content: center; opacity: 0.7; transition: opacity 0.15s, background 0.15s; z-index: 1001; }
.lightbox-arrow:hover { opacity: 1; background: rgba(255,255,255,0.18); }
.lightbox-arrow.lb-prev { left: 20px; }
.lightbox-arrow.lb-next { right: 20px; }
.lightbox-note-wrap { display: flex; flex-direction: column; align-items: center; gap: 6px; margin-top: 4px; }
.lightbox-note { font-family: "DM Sans", sans-serif; font-size: 12px; background: rgba(255,255,255,0.07); border: 0.5px solid rgba(255,255,255,0.15); border-radius: 6px; color: rgba(255,255,255,0.75); padding: 7px 12px; width: 340px; max-width: 80vw; resize: none; outline: none; line-height: 1.5; }
.lightbox-note::placeholder { color: rgba(255,255,255,0.3); }
.lightbox-note:focus { border-color: rgba(255,255,255,0.35); background: rgba(255,255,255,0.1); }
.lightbox-note-save { font-family: "DM Sans", sans-serif; font-size: 11px; font-weight: 500; padding: 4px 12px; background: rgba(255,255,255,0.1); border: 0.5px solid rgba(255,255,255,0.2); border-radius: 5px; color: rgba(255,255,255,0.6); cursor: pointer; transition: all 0.15s; }
.lightbox-note-save:hover { background: rgba(255,255,255,0.18); color: white; }
.lightbox-note-saved { color: rgba(100,200,120,0.9); font-size: 11px; display: none; }
.img-thumb-wrap { cursor: pointer; }

.ref-img-wrap { position: relative; width: 56px; height: 56px; flex-shrink: 0; border-radius: 6px; overflow: hidden; border: 0.5px solid var(--border); background: var(--surface2); cursor: pointer; margin-top: 4px; }
.ref-img-wrap img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ref-img-placeholder { width: 56px; height: 56px; flex-shrink: 0; border: 0.5px dashed var(--border-strong); border-radius: 6px; background: var(--surface2); cursor: pointer; display: flex; align-items: center; justify-content: center; font-size: 18px; color: var(--text3); margin-top: 4px; transition: all 0.12s; }
.ref-img-placeholder:hover { border-color: var(--text); color: var(--text2); background: var(--surface); }
.ref-img-remove { position: absolute; top: 2px; right: 2px; width: 16px; height: 16px; background: rgba(0,0,0,0.6); color: white; border: none; border-radius: 50%; cursor: pointer; font-size: 11px; line-height: 1; display: flex; align-items: center; justify-content: center; padding: 0; }
.ref-img-remove:hover { background: var(--error); }

#login-screen { position: fixed; inset: 0; background: #15161a !important; z-index: 10000; display: flex; align-items: center; justify-content: center; }
body { background: #15161a !important; }

#login-screen.hidden { display: none; }
.login-box { width: 360px; padding: 48px 40px; box-sizing: border-box; text-align: left; background: #0f1116; border-radius: 12px; color: #EDECE8; font-family: 'DM Sans', sans-serif; }
.login-photo-img { width: 260px; height: 260px; object-fit: cover; object-position: center top; border-radius: 10px; display: block; margin: 0 auto 28px; filter: grayscale(100%); opacity: 0.85; }
.login-logo { width: 32px; height: 32px; background: var(--text); border-radius: 7px; display: flex; align-items: center; justify-content: center; margin: 0 auto 16px; }
.login-logo svg { width: 16px; height: 16px; fill: white; }
.login-title { font-size: 14px; font-weight: 500; color: var(--text); text-align: left; margin-bottom: 4px; }
.login-sub { font-size: 12px; color: var(--text3); text-align: left; margin-bottom: 24px; }
.login-input { font-family: "DM Sans", sans-serif; font-size: 13px; color: var(--text); background: #15161a !important; border: 0.5px solid rgba(255,255,255,0.12) !important; border-radius: 7px; padding: 10px 12px; width: 100%; box-sizing: border-box; margin-bottom: 10px; }
.login-input:-webkit-autofill,
.login-input:-webkit-autofill:hover,
.login-input:-webkit-autofill:focus { -webkit-box-shadow: 0 0 0px 1000px #15161a inset !important; -webkit-text-fill-color: var(--text) !important; caret-color: var(--text); border: 0.5px solid rgba(255,255,255,0.12); }
.login-input:focus { outline: none; border-color: var(--text); }
.login-btn { width: 100%; font-family: "DM Sans", sans-serif; font-size: 13px; font-weight: 500; padding: 10px; background: var(--text); color: #15161a; border: none; border-radius: 7px; cursor: pointer; transition: opacity 0.15s; }
.login-btn:hover { opacity: 0.85; }
.login-btn:disabled { opacity: 0.4; cursor: not-allowed; }
.login-error { font-size: 11px; color: var(--error); text-align: center; margin-top: 8px; display: none; }
.login-error.show { display: block; }
.login-spinner-overlay { position: fixed; inset: 0; background: #15161a; z-index: 10000; display: none; flex-direction: column; align-items: center; justify-content: center; gap: 16px; }
.login-spinner-overlay.show { display: flex; }
.login-spinner { width: 32px; height: 32px; border: 2px solid rgba(255,255,255,0.1); border-top-color: rgba(255,255,255,0.7); border-radius: 50%; animation: spin 0.7s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
.login-spinner-label { font-family: "DM Sans", sans-serif; font-size: 12px; color: rgba(255,255,255,0.4); letter-spacing: 0.08em; }

/* ── ADMIN ── */
.tb-admin-btn { font-family: "DM Sans", sans-serif; font-size: 11px; font-weight: 500; color: rgba(255,255,255,0.5); background: none; border: 0.5px solid rgba(255,255,255,0.15); border-radius: 6px; padding: 4px 10px; cursor: pointer; }
.tb-admin-btn:hover { color: white; border-color: rgba(255,255,255,0.4); }
#view-admin { flex-direction: row; background: var(--bg); }
.admin-sidebar { width: 220px; flex-shrink: 0; background: var(--surface); border-right: 0.5px solid var(--border); display: flex; flex-direction: column; overflow: hidden; }
.admin-sidebar-head { padding: 14px 16px 10px; border-bottom: 0.5px solid var(--border); flex-shrink: 0; }
.admin-sidebar-title { font-size: 12px; font-weight: 500; letter-spacing: 0.1em; text-transform: uppercase; color: var(--text3); }
.admin-section-list { flex: 1; overflow-y: auto; padding: 8px 0; }
.admin-section-item { padding: 8px 16px; font-size: 15px; color: var(--text2); cursor: pointer; border-left: 2px solid transparent; transition: all 0.1s; }
.admin-section-item:hover { background: var(--surface2); color: var(--text); }
.admin-section-item.selected { background: var(--surface2); color: var(--text); font-weight: 500; border-left-color: var(--text); }
.admin-tabs { display: flex; gap: 0; border-bottom: 0.5px solid var(--border); flex-shrink: 0; }
.admin-tab { flex: 1; font-family: 'DM Sans', sans-serif; font-size: 10px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; padding: 10px 8px; border: none; background: transparent; color: var(--text3); cursor: pointer; border-bottom: 2px solid transparent; transition: all 0.12s; }
.admin-tab.active { color: var(--text); border-bottom-color: var(--text); }
.admin-main { flex: 1; overflow-y: auto; padding: 1.5rem; }
.admin-main-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 1.25rem; }
.admin-main-title { font-size: 18px; font-weight: 500; color: var(--text); }
.admin-add-btn { font-family: "DM Sans", sans-serif; font-size: 13px; font-weight: 500; background: var(--text); color: #15161a; border: none; border-radius: 7px; padding: 7px 14px; cursor: pointer; }
.admin-add-btn:hover { opacity: 0.85; }
.admin-group { margin-bottom: 1.5rem; }
.admin-group-label { font-size: 11px; font-weight: 500; letter-spacing: 0.12em; text-transform: uppercase; color: var(--text3); padding: 0 0 8px; border-bottom: 0.5px solid var(--border); margin-bottom: 8px; }
.admin-option-row { background: var(--surface); border: 0.5px solid var(--border); border-radius: 8px; padding: 10px 14px; margin-bottom: 6px; position: relative; }
.admin-option-row.editing { border-color: var(--text); }
.admin-option-view { display: flex; align-items: flex-start; gap: 10px; }
.admin-option-info { flex: 1; }
.admin-option-label { font-size: 13px; font-weight: 500; color: var(--text); text-transform: uppercase; letter-spacing: 0.05em; margin-bottom: 2px; }
.admin-option-desc { font-size: 15px; color: var(--text2); line-height: 1.4; }
.admin-option-val { font-size: 13px; color: var(--text3); font-family: "DM Mono", monospace; margin-top: 3px; }
.admin-option-actions { display: flex; gap: 6px; flex-shrink: 0; }
.admin-opt-btn { font-family: "DM Sans", sans-serif; font-size: 13px; font-weight: 500; padding: 4px 9px; border: 0.5px solid var(--border-strong); border-radius: 5px; background: transparent; color: var(--text2); cursor: pointer; }
.admin-opt-btn:hover { background: var(--surface2); color: var(--text); }
.admin-opt-btn.danger:hover { background: #fef2f2; color: var(--error); border-color: var(--error); }
.admin-edit-form { display: none; margin-top: 10px; padding-top: 10px; border-top: 0.5px solid var(--border); }
.admin-option-row.editing .admin-edit-form { display: block; }
.admin-edit-form .field { margin-bottom: 8px; }
.admin-edit-form .field:last-child { margin-bottom: 0; }
.admin-edit-actions { display: flex; gap: 6px; margin-top: 10px; }
.admin-edit-save { font-family: "DM Sans", sans-serif; font-size: 13px; font-weight: 500; padding: 6px 14px; background: var(--text); color: #15161a; border: none; border-radius: 6px; cursor: pointer; }
.admin-edit-save:hover { opacity: 0.85; }
.admin-edit-cancel { font-family: "DM Sans", sans-serif; font-size: 13px; font-weight: 500; padding: 6px 14px; background: none; color: var(--text2); border: 0.5px solid var(--border-strong); border-radius: 6px; cursor: pointer; }
.admin-edit-cancel:hover { background: var(--surface2); }
.admin-add-form { background: var(--surface); border: 1.5px dashed var(--border-strong); border-radius: 8px; padding: 14px; margin-bottom: 12px; display: none; }
.admin-add-form.open { display: block; }
.admin-add-form-title { font-size: 13px; font-weight: 500; color: var(--text2); margin-bottom: 10px; }
.admin-group-selector { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 10px; }
.admin-group-chip { font-family: "DM Sans", sans-serif; font-size: 10px; font-weight: 500; padding: 4px 10px; border: 0.5px solid var(--border-strong); border-radius: 20px; background: transparent; color: var(--text2); cursor: pointer; }
.admin-group-chip.selected { background: var(--text); color: white; border-color: var(--text); }
.admin-status { font-size: 13px; color: var(--text3); font-style: italic; padding: 2rem; text-align: center; }

.admin-option-row { cursor: default; position: relative; }
.admin-option-row.dragging { opacity: 0.35; }
.admin-option-row.drag-above::before { content: ''; position: absolute; top: -3px; left: 0; right: 0; height: 2px; background: var(--text); border-radius: 2px; z-index: 10; }
.admin-option-row.drag-below::after { content: ''; position: absolute; bottom: -3px; left: 0; right: 0; height: 2px; background: var(--text); border-radius: 2px; z-index: 10; }
.drag-handle { color: var(--text3); font-size: 14px; cursor: grab; padding: 0 6px 0 0; flex-shrink: 0; user-select: none; line-height: 1; margin-top: 2px; }
.drag-handle:active { cursor: grabbing; }

.view-toggle { display: flex; gap: 4px; }
.view-toggle-btn { font-family: "DM Sans", sans-serif; font-size: 13px; font-weight: 500; padding: 5px 10px; border: 0.5px solid var(--border-strong); border-radius: 6px; background: transparent; color: var(--text3); cursor: pointer; transition: all 0.1s; }
.view-toggle-btn.active { background: var(--text); color: #15161a; border-color: var(--text); }
.scene-list { display: flex; flex-direction: column; gap: 4px; }
.scene-list-row { background: var(--surface); border: 0.5px solid var(--border); border-radius: 8px; padding: 4px 10px 4px 0; display: flex; align-items: center; gap: 0; cursor: pointer; transition: all 0.1s; overflow: hidden; }
.scene-list-row:hover { border-color: var(--border-strong); background: var(--surface2); }
.scene-list-name { font-size: 15px; font-weight: 500; color: var(--text); min-width: 160px; flex-shrink: 0; }
.scene-list-meta { font-size: 13px; color: var(--text3); flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.scene-list-prompt { font-size: 13px; color: var(--text2); font-family: "DM Sans", sans-serif; flex: 2; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.scene-list-imgs { display: flex; gap: 3px; flex-shrink: 0; }
.scene-list-img { width: 28px; height: 28px; object-fit: cover; border-radius: 3px; border: 0.5px solid var(--border); }
.scene-list-actions { display: flex; gap: 6px; flex-shrink: 0; margin-left: auto; padding-left: 10px; }
.scene-type-toggle { display: flex; gap: 6px; padding: 4px; background: var(--surface2); border: 0.5px solid var(--border); border-radius: 9px; }
.stt-btn { flex: 1; font-family: 'DM Sans', sans-serif; font-size: 13px; font-weight: 600; letter-spacing: 0.05em; border: none; border-radius: 6px; padding: 6px 10px; cursor: pointer; transition: all 0.15s; background: transparent; color: var(--text3); }
.stt-btn.stt-active { background: var(--surface); color: var(--text); box-shadow: 0 1px 3px rgba(0,0,0,0.12); }
.slr-type { min-width: 60px; justify-content: center; }
/* Frame image slots */
.frame-slot { display: flex; gap: 10px; align-items: flex-start; }
.frame-img-col { flex-shrink: 0; width: 72px; }
.frame-img-placeholder { width: 72px; height: 72px; border: 1.5px dashed var(--border-strong); border-radius: 8px; display: flex; align-items: center; justify-content: center; font-size: 20px; color: var(--text3); cursor: pointer; transition: all 0.12s; background: var(--surface2); }
.frame-img-placeholder:hover { border-color: var(--text); color: var(--text); }
.frame-img-wrap { position: relative; width: 72px; height: 72px; border-radius: 8px; overflow: hidden; cursor: pointer; }
.frame-img-wrap img { width: 100%; height: 100%; object-fit: cover; }
.frame-img-remove { position: absolute; top: 3px; right: 3px; background: rgba(0,0,0,0.6); color: #fff; border: none; border-radius: 50%; width: 18px; height: 18px; font-size: 12px; cursor: pointer; display: flex; align-items: center; justify-content: center; line-height: 1; }
.frame-slot textarea { flex: 1; min-height: 72px; }
.slr-type-badge { font-size: 9px; font-weight: 700; letter-spacing: 0.07em; border-radius: 5px; padding: 2px 7px; }
.slr-type-image { background: rgba(100,120,255,0.1); color: #6478ff; border: 0.5px solid rgba(100,120,255,0.25); }
.slr-type-video { background: rgba(255,140,60,0.12); color: #e07020; border: 0.5px solid rgba(255,140,60,0.3); }
/* List row chunks */
.slr-chunk { display: flex; align-items: center; flex-shrink: 0; padding: 0 10px; }
.slr-chunk:first-child { min-width: 130px; }
.slr-divider { width: 1px; height: 28px; background: var(--border); flex-shrink: 0; }
.slr-date { min-width: 90px; font-size: 13px; color: var(--text3); }
.slr-version { min-width: 52px; justify-content: center; }
.slr-ver-badge { font-size: 10px; font-weight: 700; color: var(--text2); background: var(--surface2); border: 0.5px solid var(--border-strong); border-radius: 6px; padding: 2px 8px; letter-spacing: 0.05em; }
.slr-ver-empty { font-size: 13px; color: var(--border-strong); }
.slr-name-wrap { display: flex; flex-direction: column; gap: 1px; flex: 1; min-width: 0; padding: 0 10px; justify-content: center; align-items: flex-start; }
.slr-subject { font-size: 12px; color: var(--text3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-family: "DM Sans", sans-serif; max-width: 420px; }
.slr-imgs { flex-shrink: 0; margin-right: 4px; }
.slr-thumb { width: 72px; height: 48px; object-fit: cover; display: block; flex-shrink: 0; background: var(--surface2); }
.slr-thumb-placeholder { width: 72px; height: 48px; flex-shrink: 0; background: var(--surface2); display: flex; align-items: center; justify-content: center; }

.status-badge { display: inline-flex; align-items: center; font-size: 9px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; padding: 3px 8px; border-radius: 20px; flex-shrink: 0; }
.status-IN_PRODUCTION { background: rgba(93,150,255,0.15); color: #7aaeff; border: 0.5px solid rgba(93,150,255,0.25); }
.status-WAITING_ON_CLIENT { background: rgba(255,200,80,0.13); color: #e0b84a; border: 0.5px solid rgba(255,200,80,0.22); }
.status-APPROVED { background: rgba(60,180,100,0.13); color: #5ec47a; border: 0.5px solid rgba(60,180,100,0.22); }
.status-COMPLETE { background: rgba(60,180,100,0.2); color: #5ec47a; border: 0.5px solid rgba(60,180,100,0.35); }
.status-STUCK { background: rgba(220,80,70,0.13); color: #e07060; border: 0.5px solid rgba(220,80,70,0.22); }
.status-NONE { background: var(--surface2); color: var(--text3); }
.status-badge:not(.status-IN_PRODUCTION):not(.status-WAITING_ON_CLIENT):not(.status-APPROVED):not(.status-COMPLETE):not(.status-STUCK):not(.status-NONE) { background: rgba(160,100,255,0.13); color: #b07aff; border: 0.5px solid rgba(160,100,255,0.22); }
.sc-status-row { display: flex; align-items: center; gap: 6px; margin-bottom: 6px; }
.sc-status-select { font-family: "DM Sans", sans-serif; font-size: 10px; font-weight: 500; border: 0.5px solid var(--border-strong); border-radius: 20px; padding: 2px 6px; cursor: pointer; appearance: none; background: transparent; }

/* ── VERSIONS ── */
.version-panel { position:absolute; top:100%; right:0; width:340px; background:var(--surface); border:0.5px solid var(--border-strong); border-radius:8px; box-shadow:0 8px 24px rgba(0,0,0,0.3); z-index:200; overflow:hidden; }
.version-panel-head { padding: 10px 16px; display: flex; align-items: center; justify-content: space-between; cursor: pointer; user-select: none; }
.version-panel-title { font-size: 12px; font-weight: 500; letter-spacing: 0.1em; text-transform: uppercase; color: var(--text2); }
.version-panel-toggle { font-size: 13px; color: var(--text3); transition: transform 0.15s; }
.version-panel-toggle.open { transform: rotate(180deg); }
.version-list { overflow-y: auto; max-height: 220px; border-top: 0.5px solid var(--border); display: none; }
.version-list.open { display: block; }
.version-row { padding: 9px 16px; border-bottom: 0.5px solid var(--border); cursor: pointer; transition: background 0.1s; }
.version-row:last-child { border-bottom: none; }
.version-row:hover { background: var(--surface2); }
.version-row.previewing { background: var(--surface2); border-left: 2px solid var(--text); }
.version-row-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 3px; }
.version-badge { font-size: 9px; font-weight: 600; color: var(--text3); background: var(--surface2); border: 0.5px solid var(--border); border-radius: 10px; padding: 1px 7px; }
.version-date { font-size: 12px; color: var(--text3); }
.version-note { font-size: 13px; color: var(--text2); line-height: 1.4; }
.version-actions { display: flex; gap: 5px; margin-top: 5px; }
.version-btn { font-family: "DM Sans", sans-serif; font-size: 12px; font-weight: 500; padding: 3px 8px; border: 0.5px solid var(--border-strong); border-radius: 4px; background: transparent; color: var(--text2); cursor: pointer; }
.version-btn:hover { background: var(--surface2); color: var(--text); }
.version-btn.restore { background: var(--text); color: #15161a !important; border-color: var(--text); font-weight: 600; }
.version-btn.restore:hover { opacity: 0.85; }
.version-btn.danger:hover { background: #fef2f2; color: var(--error); border-color: var(--error); }
.version-empty { font-size: 13px; color: var(--text3); font-style: italic; padding: 12px 16px; }
.save-version-btn { width: 100%; font-family: "DM Sans", sans-serif; font-size: 13px; font-weight: 500; padding: 7px 16px; background: none; color: var(--text2); border: 0.5px solid var(--border-strong); border-radius: 7px; cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 6px; box-sizing: border-box; transition: background 0.12s; margin-top: 6px; }
.save-version-btn:hover { background: var(--surface2); color: var(--text); }
.version-modal { background: var(--surface); border-radius: 12px; padding: 24px; width: 360px; box-shadow: 0 8px 32px rgba(0,0,0,0.12); }

/* lib-item-wrap kept for any legacy references */
.lib-item-wrap { display: flex; align-items: center; gap: 4px; }
.lib-item-edit-btns { display: none; gap: 2px; flex-shrink: 0; }
.lib-item-wrap:hover .lib-item-edit-btns { display: flex; }
.lib-item-icon-btn { background: none; border: none; cursor: pointer; font-size: 13px; color: var(--text3); padding: 3px 4px; border-radius: 4px; line-height: 1; }
.lib-item-icon-btn:hover { background: var(--border); color: var(--text); }
.lib-item-icon-btn.danger:hover { background: #fee2e2; color: var(--error); }

.due-date-badge { font-size: 13px; font-weight: 500; color: var(--text2); display: inline-flex; align-items: center; gap: 4px; }
.due-date-badge.overdue { color: var(--error); font-weight: 600; }
.due-date-badge.due-soon { color: #c2410c; font-weight: 600; }

/* BUILDER TABS */
.btab { font-family: "DM Sans", sans-serif; font-size: 12px; font-weight: 600; letter-spacing: 0.03em; text-transform: uppercase; color: var(--text3); background: var(--surface); border: 0.5px solid var(--border-strong); border-bottom: 0.5px solid var(--border-strong); padding: 11px 0; flex: 1; text-align: center; cursor: pointer; transition: color 0.12s; }
.btab:hover { color: var(--text2); }
.btab.btab-active { color: #337082; background: #1a1b20; border-top: 2px solid #337082; border-bottom: none; padding-top: 9px; }
.btab-panel { display: none; }
.btab-panel.btab-panel-active { display: block; }

/* ── CHARACTER BLOCKS ───────────────────────────────────────────────────────── */
.char-block { background: var(--bg); border: 0.5px solid var(--border-strong); border-radius: 8px; margin-bottom: 10px; overflow: hidden; }
.char-block-header { display: flex; align-items: center; gap: 10px; padding: 10px 14px; background: var(--surface); border-bottom: 0.5px solid var(--border); }
.char-num { font-size: 10px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--text3); white-space: nowrap; flex-shrink: 0; }
.char-name { font-family: 'DM Sans', sans-serif; font-size: 14px; font-weight: 600; color: var(--text); background: none; border: none; outline: none; flex: 1; padding: 0; }
.char-name::placeholder { color: var(--text3); font-weight: 400; }
.char-collapse-btn { font-family: 'DM Sans', sans-serif; font-size: 14px; color: var(--text3); background: none; border: none; cursor: pointer; padding: 2px 6px; line-height: 1; flex-shrink: 0; }
.char-collapse-btn:hover { color: var(--text); }
.char-remove-btn { font-family: 'DM Sans', sans-serif; font-size: 14px; color: var(--text3); background: none; border: none; cursor: pointer; padding: 2px 6px; line-height: 1; flex-shrink: 0; }
.char-remove-btn:hover { color: var(--error); }
.char-block-body { padding: 14px 14px 10px; }
.char-ref-blocks { margin-bottom: 6px; }

/* vh.css — Video Handoff styles loaded separately */

/* ── PROJECT TAB BAR ─────────────────────────────────────────────────────── */
#project-topbar-name-row { padding: 12px 20px 10px; background: var(--bg); flex-shrink: 0; border-bottom: 0.5px solid var(--border); display: flex; align-items: baseline; gap: 12px; }
#project-topbar-name { font-size: 22px; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; color: var(--text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: block; }
#project-topbar { display: flex; flex-shrink: 0; background: var(--surface); }
.proj-tab { font-family: 'DM Sans', sans-serif; font-size: 12px; font-weight: 600; letter-spacing: 0.03em; text-transform: uppercase; color: var(--text3); background: var(--surface); border: 0.5px solid var(--border-strong); border-bottom: 0.5px solid var(--border-strong); padding: 11px 0; flex: 1; text-align: center; cursor: pointer; transition: color 0.12s; }
.proj-tab:first-child { border-left: none; }
.topbar-spacer { flex: 1; background: var(--surface); border-bottom: 0.5px solid var(--border-strong); }
.topbar-actions { display: flex; align-items: center; padding: 0 14px; background: var(--surface); border-bottom: 0.5px solid var(--border-strong); border-left: 0.5px solid var(--border-strong); gap: 8px; }
.topbar-action-btn { font-family: 'DM Sans', sans-serif; font-size: 12px; font-weight: 500; color: #fff; background: #337082; border: none; border-radius: 6px; padding: 5px 13px; cursor: pointer; white-space: nowrap; }
.topbar-action-btn:hover { background: #3d8799; }
.proj-tab:hover { color: var(--text2); }
.proj-tab.active { color: #337082; background: var(--bg); border-top: 2px solid #337082; border-bottom: none; padding-top: 9px; }

/* ── SCENES PANEL / SCENE GROUPS ─────────────────────────────────────────── */
#scenes-panel { flex: 1; overflow-y: auto; min-width: 0; width: 100%; }
#scene-groups { min-width: 0; width: 100%; }
.sg-shots-row { scrollbar-width: thin; scrollbar-color: var(--border-strong) transparent; }
.sg-shots-row::-webkit-scrollbar { height: 4px; }
.sg-shots-row::-webkit-scrollbar-track { background: transparent; }
.sg-shots-row::-webkit-scrollbar-thumb { background: var(--border-strong); border-radius: 2px; }
.scene-group { border-bottom: 0.5px solid var(--border); min-width: 0; width: 100%; }
.scene-group-header { display: flex; align-items: center; gap: 8px; padding: 10px 16px; cursor: pointer; background: var(--surface); user-select: none; }
.scene-group-header:hover { background: var(--surface2); }
.sg-chevron { flex-shrink: 0; color: var(--text3); transition: transform 0.15s; transform: rotate(90deg); }
.sg-chevron.collapsed { transform: rotate(0deg); }
.sg-name { font-size: 12px; font-weight: 600; color: var(--text); white-space: nowrap; }
.sg-meta { font-size: 11px; color: var(--text3); white-space: nowrap; }
.sg-count { font-size: 11px; color: var(--text3); margin-left: 4px; flex-shrink: 0; }
.sg-actions { display: flex; align-items: center; gap: 6px; margin-left: auto; flex-shrink: 0; }
.sg-btn { font-family: 'DM Sans', sans-serif; font-size: 11px; font-weight: 500; color: var(--text2); background: none; border: 0.5px solid var(--border-strong); border-radius: 5px; padding: 4px 10px; cursor: pointer; white-space: nowrap; }
.sg-btn:hover { color: var(--text); border-color: var(--text3); }
.sg-btn-coverage { color: #4aafc5; border-color: rgba(74,175,197,0.4); }
.sg-btn-coverage:hover { border-color: #4aafc5; }
.sg-btn-vh { color: #4aafc5; border-color: rgba(74,175,197,0.4); }
.sg-btn-vh:hover { border-color: #4aafc5; }
.sg-btn-danger { color: #c0392b; border-color: rgba(192,57,43,0.3); }
.sg-btn-danger:hover { border-color: #c0392b; color: #e74c3c; }

/* ── SHOTS ROW ───────────────────────────────────────────────────────────── */
.sg-shots-row { display: flex; gap: 10px; padding: 12px 16px; overflow-x: auto; background: var(--bg); }
.sg-shots-row.collapsed { display: none; }
.shot-card-video { border-color: rgba(74,175,197,0.3); }
.shot-card-video:hover { border-color: rgba(74,175,197,0.7); }
.sg-empty { font-size: 11px; color: var(--text3); font-style: italic; padding: 4px 0; align-self: center; }
.sg-add-card { flex-shrink: 0; width: 80px; border: 0.5px dashed var(--border-strong); border-radius: 8px; overflow: hidden; cursor: pointer; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; opacity: 0.5; transition: opacity 0.12s; min-height: 79px; }
.sg-add-card:hover { opacity: 1; }

/* ── SHOT CARDS ──────────────────────────────────────────────────────────── */
.shot-card { flex-shrink: 0; width: 200px; border: 0.5px solid var(--border); border-radius: 8px; overflow: hidden; cursor: pointer; transition: border-color 0.12s, opacity 0.12s; }
.shot-card:hover { border-color: var(--border-strong); }
.shot-card.dragging { opacity: 0.4; cursor: grabbing; }
.shot-card.drag-over { border-color: #4aafc5; box-shadow: -3px 0 0 0 #4aafc5; }
.shot-thumb { width: 200px; height: 113px; background: var(--surface2); overflow: hidden; position: relative; }
.shot-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.shot-info { padding: 6px 10px 8px; background: var(--surface); }
.shot-num { font-size: 9px; color: var(--text3); margin-bottom: 2px; }
.shot-name { font-size: 11px; font-weight: 500; color: var(--text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* Shot card action buttons — revealed on hover */
.shot-delete-btn, .shot-dupe-btn { position: absolute; top: 5px; width: 20px; height: 20px; border-radius: 50%; background: rgba(0,0,0,0.65); border: none; color: #fff; font-size: 10px; cursor: pointer; display: flex; align-items: center; justify-content: center; opacity: 0; transition: opacity 0.15s; line-height: 1; padding: 0; }
.shot-delete-btn { right: 5px; }
.shot-dupe-btn { right: 30px; }
.shot-card:hover .shot-delete-btn, .shot-card:hover .shot-dupe-btn { opacity: 1; }
.shot-delete-btn:hover { background: #c0392b; }
.shot-dupe-btn:hover { background: #337082; }

/* Shot card — list view mode */
.sg-shots-row.list-view { flex-direction: column; gap: 0; padding: 0; overflow-x: visible; }
.sg-shots-row.list-view .shot-card { width: 100%; border-radius: 0; border-left: none; border-right: none; border-top: none; display: flex; flex-direction: row; align-items: center; }
.sg-shots-row.list-view .shot-thumb { width: 80px; height: 45px; flex-shrink: 0; }
.sg-shots-row.list-view .shot-info { display: flex; align-items: center; gap: 12px; padding: 0 14px; }
.sg-shots-row.list-view .shot-num { margin-bottom: 0; font-size: 10px; color: var(--text3); flex-shrink: 0; }
.sg-shots-row.list-view .shot-name { font-size: 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sg-shots-row.list-view .sg-add-card { display: none; }

/* View toggle buttons in scene group header */
.sg-view-toggle { display: flex; gap: 3px; margin-left: 8px; flex-shrink: 0; }
.sg-view-btn { font-family: 'DM Sans', sans-serif; font-size: 11px; color: var(--text3); background: none; border: 0.5px solid var(--border-strong); border-radius: 4px; padding: 3px 7px; cursor: pointer; }
.sg-view-btn.active { background: var(--surface2); color: var(--text); }

/* ── SECTION LABELS (SHOTS / CLIPS) ─────────────────────────────────────── */
.sg-section-label { font-size: 9px; font-weight: 700; letter-spacing: 0.1em; color: var(--text3); text-transform: uppercase; padding: 6px 16px 2px; background: var(--bg); opacity: 0.6; }
.sg-section-label.collapsed { display: none; }
/* Hairline separator above CLIPS label */
.sg-section-label + .sg-section-label,
.sg-shots-row + .sg-section-label { border-top: 0.5px solid var(--border); padding-top: 8px; }

/* ── CLIPS ROW ───────────────────────────────────────────────────────────── */
.sg-clips-row { display: flex; gap: 10px; padding: 8px 16px 12px; overflow-x: auto; background: var(--bg); scrollbar-width: thin; scrollbar-color: var(--border-strong) transparent; }
.sg-clips-row::-webkit-scrollbar { height: 4px; }
.sg-clips-row::-webkit-scrollbar-track { background: transparent; }
.sg-clips-row::-webkit-scrollbar-thumb { background: var(--border-strong); border-radius: 2px; }
.sg-clips-row.collapsed { display: none; }
/* List view for clips — mirrors .sg-shots-row.list-view */
.sg-clips-row.list-view { flex-direction: column; gap: 0; padding: 0; overflow-x: visible; }
.sg-clips-row.list-view .clip-card { width: 100%; border-radius: 0; border-left: none; border-right: none; border-top: none; display: flex; flex-direction: row; align-items: center; }
.sg-clips-row.list-view .clip-thumb { width: 80px; height: 45px; flex-shrink: 0; }
.sg-clips-row.list-view .shot-info { display: flex; align-items: center; gap: 12px; padding: 0 14px; }

/* ── CLIP CARDS ──────────────────────────────────────────────────────────── */
.clip-card { flex-shrink: 0; width: 200px; border: 0.5px solid var(--border); border-radius: 8px; overflow: hidden; cursor: pointer; transition: border-color 0.12s; }
.clip-card:hover { border-color: var(--border-strong); }
.clip-card .clip-thumb { width: 200px; height: 113px; background: var(--surface2); overflow: hidden; position: relative; display: flex; align-items: center; justify-content: center; }
.clip-thumb-placeholder { width: 100%; height: 100%; background: #0d1820; display: flex; align-items: center; justify-content: center; position: relative; }
.clip-play-overlay { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; background: rgba(0,0,0,0); transition: background 0.15s; }
.clip-card:hover .clip-play-overlay { background: rgba(0,0,0,0.3); }
.clip-card-generating { border-color: rgba(74,175,197,0.3); }
.clip-card-generating .clip-thumb-placeholder { background: #0a1f28; }
.clip-card-failed { border-color: rgba(192,57,43,0.3); }
.clip-card-failed .clip-thumb-placeholder { background: #1f0d0a; }
.clip-card .shot-delete-btn { opacity: 0; }
.clip-card:hover .shot-delete-btn { opacity: 1; }
@keyframes clip-pulse { 0%,100% { opacity: 0.3; } 50% { opacity: 0.7; } }
.clip-generating-pulse { position: absolute; inset: 0; background: linear-gradient(135deg, #0a2830, #0d3040); animation: clip-pulse 1.5s ease-in-out infinite; }

/* ── BUILDER MODAL ───────────────────────────────────────────────────────── */
#builder-modal-overlay { display: none; position: absolute; inset: 0; background: rgba(0,0,0,0.6); z-index: 3000; align-items: center; justify-content: center; }
#builder-modal-inner { width: 96%; height: 90%; background: var(--bg); border: 0.5px solid var(--border-strong); border-radius: 14px; display: flex; flex-direction: column; overflow: hidden; }
#builder-modal-header { height: 48px; background: var(--surface); border-bottom: 0.5px solid var(--border-strong); display: flex; align-items: center; padding: 0 16px; gap: 10px; flex-shrink: 0; }
.bm-nav-btn { width: 26px; height: 26px; border: 0.5px solid var(--border-strong); border-radius: 5px; background: var(--bg); color: var(--text2); cursor: pointer; display: flex; align-items: center; justify-content: center; font-size: 14px; font-family: 'DM Sans', sans-serif; transition: opacity 0.12s; }
.bm-nav-btn:hover { color: var(--text); }
.bm-close-btn { width: 26px; height: 26px; border: 0.5px solid var(--border-strong); border-radius: 5px; background: var(--bg); color: var(--text2); cursor: pointer; display: flex; align-items: center; justify-content: center; font-size: 15px; }
.bm-close-btn:hover { color: var(--text); }
#bm-counter { font-size: 11px; color: var(--text3); flex-shrink: 0; }
#bm-title { font-size: 16px; font-weight: 600; color: var(--text); flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#view-builder-inner { flex: 1; overflow-y: auto; background: var(--bg); }
</style>
