:root {
  --ink: #17212b;
  --muted: #72808e;
  --paper: #f4f1ea;
  --panel: #fffdf8;
  --navy: #132634;
  --navy-2: #1d3545;
  --gold: #dcae59;
  --gold-soft: #f4e4bf;
  --line: #ded9cf;
  --green: #2f7c68;
  --shadow: 0 16px 45px rgba(27, 36, 43, .08);
}

* { box-sizing: border-box; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: "Microsoft YaHei", "PingFang SC", sans-serif; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }

.sidebar {
  position: fixed; inset: 0 auto 0 0; width: 230px; padding: 28px 18px;
  background: var(--navy); color: white; display: flex; flex-direction: column;
}
.brand { display: flex; align-items: center; gap: 12px; padding: 0 10px 30px; }
.brand-logo { width: 46px; height: 46px; flex: 0 0 46px; display: block; object-fit: contain; filter: drop-shadow(0 14px 30px rgba(56, 223, 255, .18)); }
.brand-logo[hidden] { display: none; }
.brand-copy { min-width: 0; }
.brand-mark { width: 42px; height: 42px; border: 1px solid var(--gold); color: var(--gold); display: grid; place-items: center; font-family: serif; font-size: 23px; }
.brand strong { display: block; font-size: 20px; letter-spacing: 2px; white-space: nowrap; }
.brand span, .sidebar-foot span { display: block; margin-top: 4px; color: #9badb8; font-size: 9px; letter-spacing: .6px; line-height: 1.45; }
nav { display: grid; gap: 6px; }
.nav-item { border: 0; background: transparent; color: #b9c5cc; padding: 13px 15px; border-radius: 8px; text-align: left; }
.nav-item span { display: inline-grid; place-items: center; width: 26px; color: var(--gold); }
.nav-item:hover, .nav-item.active { background: var(--navy-2); color: white; }
.sidebar-foot { margin-top: auto; border-top: 1px solid #304553; padding: 20px 10px 0; display: flex; gap: 10px; align-items: center; }
.sidebar-foot strong { font-size: 12px; }
.api-settings { padding: 0; border: 0; background: transparent; color: white; text-align: left; }
.api-settings:hover strong { color: var(--gold); }
.api-dot { width: 8px; height: 8px; border-radius: 50%; background: #73c9a8; box-shadow: 0 0 0 4px rgba(115,201,168,.12); }

main { margin-left: 230px; min-height: 100vh; }
header { min-height: 118px; padding: 28px 42px 22px; display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid var(--line); }
.eyebrow { color: #9c793a; font-size: 10px; letter-spacing: 2.4px; margin: 0 0 7px; }
h1 { font-family: "Microsoft YaHei", serif; margin: 0; font-size: 28px; font-weight: 600; }
h2, h3, p { margin-top: 0; }
.page-title-row { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; }
.header-subnav {
  display: flex; align-items: center; gap: 8px; max-width: min(100%, 1040px); padding: 4px;
  overflow-x: auto; overflow-y: hidden; scrollbar-width: thin;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 30%, var(--line));
  border-radius: 18px;
  background: color-mix(in srgb, var(--panel) 72%, transparent);
  box-shadow: 0 12px 30px color-mix(in srgb, var(--theme-accent) 12%, transparent);
}
.header-subnav::-webkit-scrollbar { height: 5px; }
.header-subnav::-webkit-scrollbar-thumb { border-radius: 999px; background: color-mix(in srgb, var(--theme-accent) 55%, transparent); }
.header-subnav[hidden] { display: none; }
.header-subnav button {
  flex: 0 0 auto; min-width: 82px; border: 0; border-radius: 14px; padding: 10px 16px;
  background: transparent; color: var(--muted); font-weight: 800; cursor: pointer; white-space: nowrap;
}
.header-subnav button:hover { color: var(--ink); background: color-mix(in srgb, var(--theme-accent) 10%, transparent); }
.header-subnav button.active {
  color: #03101d;
  background: linear-gradient(135deg, var(--theme-accent), var(--theme-accent-2));
  box-shadow: 0 10px 24px color-mix(in srgb, var(--theme-accent) 24%, transparent);
}

body.theme-consultative-marketing header {
  align-items: flex-start;
  gap: 18px;
}

body.theme-consultative-marketing header > div:first-child {
  flex: 1 1 auto;
  min-width: 0;
}

body.theme-consultative-marketing .page-title-row {
  flex: 1 1 auto;
  width: 100%;
  min-width: 0;
  flex-wrap: nowrap;
}

body.theme-consultative-marketing .header-subnav {
  flex: 1 1 auto;
  width: 100%;
  max-width: none;
  flex-wrap: nowrap;
  overflow-x: visible;
  overflow-y: visible;
  border-radius: 12px;
}

body.theme-consultative-marketing .header-subnav button {
  flex: 0 0 auto;
  min-width: 108px;
  padding: 10px 10px;
  text-align: center;
}

.header-subnav-select {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 1 1 220px;
  min-width: 190px;
  height: 42px;
  padding: 4px 6px 4px 14px;
  border-radius: 14px;
  color: var(--muted);
  background: color-mix(in srgb, var(--theme-accent) 8%, transparent);
  white-space: nowrap;
}

.header-subnav-select span {
  flex: 0 0 auto;
  font-size: 13px;
  font-weight: 800;
}

.header-subnav-select select {
  flex: 1 1 auto;
  min-width: 0;
  height: 34px;
  padding: 7px 34px 7px 10px;
  border-radius: 10px;
  border-color: color-mix(in srgb, var(--theme-accent) 28%, var(--line));
  color: var(--ink);
  font-weight: 800;
  background-color: rgba(255,255,255,.9);
}

.header-subnav-select.active {
  color: var(--ink);
  background: color-mix(in srgb, var(--theme-accent) 16%, transparent);
}

body.theme-consultative-marketing .header-actions {
  flex: 0 0 auto;
}

@media (max-width: 1280px) {
  body.theme-consultative-marketing header {
    flex-direction: column;
    align-items: stretch;
  }
  body.theme-consultative-marketing .header-actions {
    justify-content: flex-end;
  }
}
.header-actions { display: flex; gap: 10px; }
.toolbar-head { gap: 20px; }
.toolbar-head .header-actions { flex-wrap: wrap; justify-content: flex-end; align-items: center; }
.global-image-controls { display: flex; gap: 7px; padding: 5px; border: 1px solid var(--line); border-radius: 8px; background: rgba(255,255,255,.7); }
.global-image-controls label { display: flex; align-items: center; gap: 5px; color: var(--muted); font-size: 11px; white-space: nowrap; }
.global-image-controls select { padding: 7px 25px 7px 8px; border-radius: 5px; min-width: 66px; }
select, input, textarea { border: 1px solid var(--line); background: #fff; color: var(--ink); border-radius: 7px; padding: 10px 12px; outline: none; }
input:focus, textarea:focus, select:focus { border-color: #b68b42; box-shadow: 0 0 0 3px rgba(182,139,66,.12); }
.button { border: 1px solid var(--line); padding: 10px 16px; border-radius: 7px; background: white; color: var(--ink); }
.button.primary { background: var(--navy); border-color: var(--navy); color: white; }
.button.gold { background: var(--gold); border-color: var(--gold); color: #1e2a32; font-weight: 700; }
.button.ghost { background: transparent; }
.button.small { padding: 7px 11px; font-size: 12px; }
.content { padding: 30px 42px 50px; }

.hero { background: var(--navy); color: white; border-radius: 12px; padding: 28px 32px; position: relative; overflow: hidden; box-shadow: var(--shadow); }
.hero::after { content: ""; position: absolute; width: 280px; height: 280px; right: -90px; top: -125px; border: 1px solid rgba(220,174,89,.35); border-radius: 50%; box-shadow: 0 0 0 45px rgba(220,174,89,.04), 0 0 0 90px rgba(220,174,89,.03); }
.hero p { color: #bdc9cf; max-width: 720px; line-height: 1.8; }
.hero-meta { display: flex; gap: 26px; color: var(--gold-soft); font-size: 12px; }
.grid { display: grid; gap: 18px; }
.stats { grid-template-columns: repeat(4, 1fr); margin: 20px 0; }
.stat, .panel { background: var(--panel); border: 1px solid var(--line); border-radius: 10px; box-shadow: 0 7px 25px rgba(38,45,50,.04); }
.stat { padding: 20px; }
.stat span { color: var(--muted); font-size: 12px; }
.stat strong { display: block; margin-top: 8px; font-family: Georgia, serif; font-size: 27px; }
.two-col { grid-template-columns: 1.25fr .75fr; }
.panel { padding: 22px; }
.panel-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 18px; }
.panel-head h2 { margin: 0; font-size: 17px; }
.muted { color: var(--muted); }
.progress-list { display: grid; gap: 13px; }
.progress-row { display: grid; grid-template-columns: 88px 1fr 38px; gap: 12px; align-items: center; font-size: 12px; }
.bar { background: #e9e5dd; height: 7px; border-radius: 10px; overflow: hidden; }
.bar i { height: 100%; display: block; background: var(--gold); }
.risk { padding: 13px 14px; border-left: 3px solid var(--gold); background: #faf3e5; margin-bottom: 10px; font-size: 13px; line-height: 1.6; }

.script-box { width: 100%; min-height: 520px; resize: vertical; line-height: 1.85; padding: 22px; background: #fffefa; }
.generation-message { margin: -5px 0 14px; padding: 10px 12px; border-radius: 6px; background: #edf4f0; color: var(--green); font-size: 12px; }
.generation-message.error { background: #f8e9e6; color: #a34639; }
.asset-grid { grid-template-columns: repeat(auto-fill, minmax(245px, 1fr)); }
.asset-card { background: var(--panel); border: 1px solid var(--line); border-radius: 10px; overflow: hidden; }
.asset-portrait { height: 170px; display: grid; place-items: center; position: relative; background: linear-gradient(145deg, #d8d0c3, #afc1c5); background-size: cover; background-position: center; font-size: 42px; color: white; }
.asset-portrait.has-image { background-color: #dfe3e3; }
.preview-primary-image { width: 100%; padding: 0; border: 0; cursor: zoom-in; }
.preview-primary-image > img { width: 100%; height: 100%; object-fit: cover; display: block; }
.image-count { position: absolute; right: 9px; bottom: 9px; border-radius: 20px; padding: 4px 8px; background: rgba(15,31,42,.76); color: white; font-size: 10px; }
.asset-scene { background: linear-gradient(145deg, #8ea4a3, #415e68); }
.asset-prop { background: linear-gradient(145deg, #d7b878, #8c643b); }
.asset-body { padding: 18px; }
.asset-id, .shot-id { font-size: 10px; color: #9c793a; letter-spacing: 1.5px; }
.tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.tag { padding: 5px 8px; background: #eeeae2; border-radius: 4px; color: #5f6b74; font-size: 11px; }
.linked-asset { background: #e7f0ed; color: #2e6658; }
.warning-tag { color: #a36d28; }
.text-button { border: 0; padding: 8px 0 0; background: transparent; color: #9c793a; font-size: 11px; text-align: left; }
.text-button:hover { text-decoration: underline; }
.asset-actions { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 14px; }
.field textarea[name="prompt"] { min-height: 210px; line-height: 1.7; }
.asset-gallery { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; margin-top: 12px; }
.asset-thumb { aspect-ratio: 1; position: relative; border-radius: 5px; overflow: hidden; background: #e4e6e5; }
.preview-asset-image { width: 100%; height: 100%; padding: 0; border: 0; background: transparent; display: block; }
.asset-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .2s; }
.preview-asset-image:hover img { transform: scale(1.06); }
.delete-asset-image { position: absolute; right: 3px; top: 3px; width: 20px; height: 20px; padding: 0; border: 0; border-radius: 50%; background: rgba(20,28,34,.78); color: white; line-height: 18px; }
.download-image { position: absolute; left: 3px; bottom: 3px; width: 22px; height: 22px; display: grid; place-items: center; border-radius: 50%; background: rgba(20,28,34,.78); color: white; text-decoration: none; font-size: 14px; }

.storyboard { display: grid; gap: 14px; }
.shot { background: var(--panel); border: 1px solid var(--line); border-radius: 10px; display: grid; grid-template-columns: 190px 1fr 150px; overflow: hidden; }
.shot-image { min-height: 145px; background: #dfe3e3; display: grid; place-items: center; color: #819096; background-size: cover; background-position: center; }
.preview-shot-image { width: 100%; border: 0; position: relative; cursor: zoom-in; }
.preview-shot-image > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.preview-shot-image span { align-self: end; justify-self: end; margin: 8px; padding: 4px 8px; border-radius: 20px; background: rgba(15,31,42,.76); color: white; font-size: 10px; }
.shot-body { padding: 18px 20px; }
.shot-body h3 { margin: 5px 0 10px; font-size: 16px; }
.shot-body p { font-size: 13px; line-height: 1.6; margin-bottom: 8px; }
.shot-side { border-left: 1px solid var(--line); padding: 17px; display: flex; flex-direction: column; gap: 8px; justify-content: center; }
.status { color: var(--green); font-size: 11px; font-weight: 700; }
.status-warning { color: #b16c21; }
.empty { padding: 70px 20px; text-align: center; color: var(--muted); border: 1px dashed #c8c1b5; border-radius: 10px; }

dialog { border: 0; border-radius: 12px; width: min(620px, calc(100vw - 40px)); padding: 0; box-shadow: 0 30px 80px rgba(0,0,0,.25); }
dialog::backdrop { background: rgba(12,25,34,.64); }
#modal-form { padding: 24px; }
.modal-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 18px; }
.modal-head h2 { margin: 0; font-size: 20px; }
.icon-button { border: 0; background: transparent; font-size: 26px; color: var(--muted); }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.field { display: grid; gap: 6px; }
.field.full { grid-column: 1 / -1; }
.field label { color: var(--muted); font-size: 12px; }
.field textarea { min-height: 95px; resize: vertical; }
.field-check { display: flex; align-items: center; gap: 9px; padding: 8px 0; }
.field-check input { width: 17px; height: 17px; }
.config-note { grid-column: 1 / -1; background: #f8f0df; border-left: 3px solid var(--gold); padding: 12px; color: #685938; font-size: 12px; line-height: 1.6; }
.test-result { grid-column: 1 / -1; min-height: 20px; color: var(--green); font-size: 12px; }
.extract-summary { background: #f8f0df; padding: 12px; border-radius: 7px; margin-bottom: 14px; color: #685938; font-size: 13px; }
.extract-list { display: grid; gap: 9px; max-height: 430px; overflow: auto; }
.extract-card { display: grid; grid-template-columns: 22px 1fr; gap: 10px; align-items: start; border: 1px solid var(--line); border-radius: 8px; padding: 12px; }
.extract-card input { margin-top: 4px; }
.extract-card strong { display: block; margin: 3px 0 5px; }
.extract-card p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.5; }
.storyboard-preview p { margin-bottom: 5px; }
.image-preview-wrap { border-radius: 8px; overflow: hidden; background: #152733; display: grid; place-items: center; max-height: 58vh; }
.image-preview-large { display: block; max-width: 100%; max-height: 58vh; object-fit: contain; }
.image-meta { display: flex; justify-content: space-between; margin: 10px 0 16px; color: var(--muted); font-size: 11px; }
.prompt-panel { background: #f7f3ea; border: 1px solid var(--line); border-radius: 8px; padding: 14px; }
.prompt-panel strong { color: #8a682e; font-size: 12px; }
.prompt-panel p { margin: 8px 0 0; white-space: pre-wrap; line-height: 1.7; font-size: 13px; }
.preview-actions { display: flex; justify-content: flex-end; margin-top: 14px; }
.shot-download { text-decoration: none; text-align: center; }
.reference-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 8px; min-height: 34px; }
.reference-option { position: relative; aspect-ratio: 1; border: 2px solid transparent; border-radius: 6px; overflow: hidden; cursor: pointer; background: #e7e5df; }
.reference-option img { width: 100%; height: 100%; object-fit: cover; display: block; }
.reference-option input { position: absolute; left: 5px; top: 5px; z-index: 2; width: 16px; height: 16px; accent-color: var(--gold); }
.reference-option:has(input:checked) { border-color: var(--gold); box-shadow: 0 0 0 2px rgba(220,174,89,.2); }
.reference-file-list { padding: 9px 11px; border-radius: 6px; background: #f1eee7; color: var(--muted); font-size: 11px; line-height: 1.5; }
.batch-warning { grid-column: 1 / -1; padding: 14px; border-radius: 7px; background: #fff1d4; color: #67552e; line-height: 1.65; font-size: 13px; }
.asset-check-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; max-height: 145px; overflow: auto; border: 1px solid var(--line); border-radius: 7px; padding: 9px; background: white; }
.asset-check { display: flex; gap: 7px; align-items: center; font-size: 11px; color: #4f5e68; }
.asset-check input { width: 15px; height: 15px; }
.task-panel { position: fixed; z-index: 30; right: 24px; bottom: 24px; width: min(420px, calc(100vw - 48px)); padding: 16px; border: 1px solid #334b59; border-radius: 10px; background: var(--navy); color: white; box-shadow: 0 18px 50px rgba(13,26,35,.28); }
.task-panel-head { display: flex; justify-content: space-between; gap: 14px; align-items: center; }
.task-panel-head strong { display: block; font-size: 14px; }
.task-panel-head span { display: block; margin-top: 4px; color: #aebcc5; font-size: 10px; }
.task-panel-actions { display: flex; gap: 5px; }
.task-panel-actions button { width: 27px; height: 27px; border: 1px solid #48606d; border-radius: 5px; background: transparent; color: white; }
.task-panel .bar { margin-top: 14px; background: #334956; }
.task-panel #task-progress-bar { background: var(--gold); }
.task-panel p { margin: 10px 0 0; color: #c6d0d6; font-size: 12px; line-height: 1.5; }
#task-errors { max-height: 130px; overflow: auto; }
#task-errors p { color: #f2a99e; font-size: 11px; }
.task-panel.minimized { width: 270px; padding-bottom: 12px; }
.task-panel.minimized #task-panel-body { display: none; }
.chat-shell { height: calc(100vh - 198px); min-height: 560px; display: grid; grid-template-rows: auto 1fr auto auto; background: var(--panel); border: 1px solid var(--line); border-radius: 12px; overflow: hidden; box-shadow: var(--shadow); }
.chat-toolbar { display: flex; justify-content: space-between; align-items: center; padding: 15px 20px; border-bottom: 1px solid var(--line); background: #faf8f2; }
.chat-toolbar strong { display: block; font-size: 13px; }
.chat-toolbar span { display: block; margin-top: 3px; color: var(--muted); font-size: 10px; }
.chat-list { overflow: auto; padding: 28px max(24px, calc((100% - 820px) / 2)); scroll-behavior: smooth; }
.chat-welcome { max-width: 650px; margin: 60px auto; text-align: center; }
.chat-logo { width: 54px; height: 54px; display: grid; place-items: center; margin: auto; border-radius: 14px; background: var(--navy); color: var(--gold); font-weight: 700; }
.chat-welcome h2 { margin: 17px 0 8px; }
.chat-welcome p { color: var(--muted); }
.chat-suggestions { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin-top: 24px; }
.chat-suggestions button { padding: 13px; border: 1px solid var(--line); border-radius: 8px; background: white; color: var(--ink); text-align: left; }
.chat-suggestions button:hover { border-color: var(--gold); }
.chat-message { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 10px; margin-bottom: 22px; align-items: start; }
.chat-message.user { grid-template-columns: minmax(0, 1fr) 34px; }
.chat-message.user .chat-avatar { grid-column: 2; }
.chat-message.user .chat-bubble { grid-column: 1; grid-row: 1; justify-self: end; background: var(--navy); color: white; }
.chat-avatar { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; background: #e6ddcc; color: #7a5d2e; font-size: 11px; font-weight: 700; }
.chat-bubble { max-width: 88%; padding: 12px 15px; border-radius: 12px; background: #f0ede6; line-height: 1.75; font-size: 14px; }
.chat-composer { display: grid; grid-template-columns: 1fr auto; gap: 10px; padding: 14px max(24px, calc((100% - 820px) / 2)); border-top: 1px solid var(--line); background: white; }
.chat-composer textarea { min-height: 52px; max-height: 150px; resize: vertical; }
.chat-composer button { align-self: stretch; padding-inline: 22px; }
.chat-note { margin: 0; padding: 0 20px 12px; text-align: center; color: #9a9a94; background: white; font-size: 9px; }
.modal-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 22px; }
#toast { position: fixed; right: 24px; bottom: 24px; background: var(--navy); color: white; padding: 12px 18px; border-radius: 7px; opacity: 0; transform: translateY(10px); transition: .2s; pointer-events: none; }
#toast.show { opacity: 1; transform: translateY(0); }

.content-consultative-marketing-full {
  padding: 0;
}

.consultative-marketing-reader {
  height: calc(100vh - 118px);
  min-height: 680px;
  background: var(--paper);
}

.consultative-marketing-reader iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  background: var(--paper);
}

@media (max-width: 980px) {
  .sidebar { width: 76px; padding: 24px 10px; }
  .brand > div:last-child, .nav-item:not(.active) { font-size: 0; }
  .brand { padding-left: 6px; }
  .nav-item { text-align: center; font-size: 0; }
  .nav-item span { font-size: 15px; }
  .sidebar-foot { display: none; }
  main { margin-left: 76px; }
  .stats { grid-template-columns: 1fr 1fr; }
  .two-col { grid-template-columns: 1fr; }
  .shot { grid-template-columns: 150px 1fr; }
  .shot-side { grid-column: 1 / -1; border-left: 0; border-top: 1px solid var(--line); flex-direction: row; }
  .toolbar-head { align-items: flex-start; flex-direction: column; }
  .toolbar-head .header-actions { justify-content: flex-start; }
  .chat-suggestions { grid-template-columns: 1fr; }
}

/* Premium studio theme */
:root {
  --ink: #18222c;
  --muted: #74808a;
  --paper: #f3f2ee;
  --panel: rgba(255, 255, 255, .88);
  --navy: #0c1b25;
  --navy-2: #142a38;
  --gold: #d7aa58;
  --gold-soft: #f5e7c8;
  --line: rgba(26, 39, 49, .1);
  --green: #2d806b;
  --shadow: 0 20px 60px rgba(17, 30, 39, .08);
  --shadow-hover: 0 26px 70px rgba(17, 30, 39, .14);
}

html { background: var(--paper); }
body {
  min-width: 320px;
  background:
    radial-gradient(circle at 87% -10%, rgba(215,170,88,.12), transparent 28%),
    linear-gradient(180deg, #f8f7f3 0, var(--paper) 420px);
  font-family: "Segoe UI", "Microsoft YaHei", "PingFang SC", sans-serif;
  letter-spacing: .01em;
}

.sidebar {
  width: 248px;
  padding: 26px 18px 22px;
  background:
    radial-gradient(circle at 15% 2%, rgba(215,170,88,.12), transparent 22%),
    linear-gradient(180deg, #0d202c 0%, #091720 100%);
  border-right: 1px solid rgba(255,255,255,.06);
  box-shadow: 16px 0 50px rgba(9, 21, 29, .08);
  z-index: 20;
}
.brand { gap: 14px; padding: 4px 12px 38px; }
.brand-mark {
  width: 44px; height: 44px; border: 0; border-radius: 13px;
  background: linear-gradient(145deg, #edc77d, #bd8431);
  color: #10212c; box-shadow: 0 10px 24px rgba(215,170,88,.16);
}
.brand strong { font-size: 19px; letter-spacing: 5px; }
.brand span { color: #758995; letter-spacing: 2.1px; }
nav { gap: 5px; }
.nav-item {
  position: relative; min-height: 46px; padding: 12px 14px;
  border-radius: 11px; color: #90a2ad; transition: .2s ease;
}
.nav-item span {
  width: 30px; height: 26px; margin-right: 5px;
  color: #c89a4b; font-size: 12px; font-weight: 700;
}
.nav-item:hover { background: rgba(255,255,255,.045); color: #edf2f4; transform: translateX(2px); }
.nav-item.active {
  background: linear-gradient(90deg, rgba(215,170,88,.18), rgba(255,255,255,.045));
  color: #fff; box-shadow: inset 0 0 0 1px rgba(215,170,88,.11);
}
.nav-item.active::before {
  content: ""; position: absolute; left: -18px; top: 10px; bottom: 10px;
  width: 3px; border-radius: 0 5px 5px 0; background: var(--gold);
}
.sidebar-foot { margin: auto 8px 0; padding: 18px 4px 0; border-color: rgba(255,255,255,.08); }
.api-dot { width: 7px; height: 7px; }

main { margin-left: 248px; }
header {
  min-height: 104px; padding: 23px 42px 20px;
  border-bottom: 1px solid rgba(19,36,47,.07);
  background: rgba(248,247,243,.72);
  backdrop-filter: blur(18px);
  position: sticky; top: 0; z-index: 12;
}
.eyebrow { margin-bottom: 5px; color: #aa7c34; font-size: 9px; font-weight: 700; letter-spacing: 3px; }
h1 { font-size: 27px; font-weight: 650; letter-spacing: -.02em; }
.content { max-width: 1680px; margin: 0 auto; padding: 34px 42px 60px; }

select, input, textarea {
  border-color: rgba(22,38,49,.12);
  border-radius: 10px;
  padding: 11px 13px;
  background: rgba(255,255,255,.9);
  box-shadow: inset 0 1px 1px rgba(20,35,45,.025);
  transition: border-color .18s, box-shadow .18s, background .18s;
}
input:hover, textarea:hover, select:hover { border-color: rgba(178,132,58,.35); }
input:focus, textarea:focus, select:focus {
  border-color: rgba(178,132,58,.7);
  background: #fff;
  box-shadow: 0 0 0 4px rgba(215,170,88,.11);
}
.button {
  min-height: 40px; border-radius: 10px; padding: 9px 16px;
  border-color: rgba(20,37,47,.12); background: rgba(255,255,255,.82);
  font-weight: 600; box-shadow: 0 3px 10px rgba(17,30,39,.035);
  transition: transform .16s, box-shadow .16s, border-color .16s, background .16s;
}
.button:hover { transform: translateY(-1px); border-color: rgba(178,132,58,.4); box-shadow: 0 8px 22px rgba(17,30,39,.09); }
.button:active { transform: translateY(0); }
.button.primary { background: linear-gradient(145deg, #173140, #0c202c); border-color: #132d3b; box-shadow: 0 8px 22px rgba(13,35,48,.16); }
.button.gold { background: linear-gradient(145deg, #ebc878, #d2a04c); border-color: #d2a04c; color: #172630; box-shadow: 0 8px 22px rgba(194,139,47,.17); }
.button.small { min-height: 34px; border-radius: 8px; padding: 6px 10px; font-size: 11px; }

.hero {
  min-height: 190px; padding: 34px 38px; border-radius: 19px;
  background:
    radial-gradient(circle at 88% 20%, rgba(224,181,99,.18), transparent 25%),
    linear-gradient(135deg, #112a39, #091a24);
  box-shadow: 0 28px 70px rgba(10,27,37,.18);
}
.hero::after { opacity: .7; }
.hero h2 { max-width: 820px; font-size: 27px; letter-spacing: -.02em; }
.hero p { max-width: 800px; color: #b8c5cc; font-size: 14px; }
.hero-meta { gap: 10px; }
.hero-meta span { padding: 6px 10px; border: 1px solid rgba(237,199,125,.18); border-radius: 999px; background: rgba(255,255,255,.035); }

.stats { gap: 14px; margin: 22px 0; }
.stat, .panel {
  border-color: rgba(21,38,49,.08); border-radius: 15px;
  background: rgba(255,255,255,.78); backdrop-filter: blur(15px);
  box-shadow: 0 10px 34px rgba(17,30,39,.045);
}
.stat { position: relative; overflow: hidden; padding: 21px 22px; }
.stat::after { content: ""; position: absolute; right: -20px; bottom: -34px; width: 80px; height: 80px; border-radius: 50%; background: rgba(215,170,88,.07); }
.stat span { font-size: 11px; letter-spacing: .04em; }
.stat strong { margin-top: 10px; font-size: 30px; font-weight: 500; }
.panel { padding: 25px; }
.panel-head { margin-bottom: 20px; }
.panel-head h2 { font-size: 18px; font-weight: 650; }

.global-image-controls {
  border: 0; border-radius: 11px; padding: 4px 5px;
  background: rgba(15,35,47,.055); box-shadow: inset 0 0 0 1px rgba(20,37,47,.06);
}
.global-image-controls select { min-height: 32px; border: 0; background: white; }

.asset-grid { grid-template-columns: repeat(auto-fill, minmax(270px, 1fr)); gap: 18px; }
.asset-card {
  border-color: rgba(21,38,49,.08); border-radius: 16px;
  background: rgba(255,255,255,.88); box-shadow: 0 9px 30px rgba(17,30,39,.055);
  transition: transform .2s, box-shadow .2s, border-color .2s;
}
.asset-card:hover { transform: translateY(-3px); border-color: rgba(187,138,55,.22); box-shadow: var(--shadow-hover); }
.asset-portrait { height: 190px; }
.image-count { right: 12px; bottom: 12px; padding: 5px 10px; backdrop-filter: blur(7px); }
.asset-body { padding: 19px 20px 20px; }
.asset-body h3 { margin: 6px 0 9px; font-size: 17px; }
.asset-id, .shot-id { color: #af7b2f; font-weight: 700; letter-spacing: 1.25px; }
.tag { border-radius: 999px; padding: 5px 9px; background: #f0eee8; }
.linked-asset { background: #e9f1ee; }
.asset-gallery { gap: 7px; }
.asset-thumb { border-radius: 8px; }

.storyboard { gap: 17px; }
.shot {
  grid-template-columns: 225px 1fr 158px; min-height: 180px;
  border-color: rgba(21,38,49,.08); border-radius: 16px;
  background: rgba(255,255,255,.88); box-shadow: 0 9px 30px rgba(17,30,39,.05);
  transition: transform .2s, box-shadow .2s;
}
.shot:hover { transform: translateY(-2px); box-shadow: var(--shadow-hover); }
.shot-image { min-height: 180px; background: linear-gradient(145deg, #dce2e1, #c8d0d0); }
.shot-body { padding: 22px 24px; }
.shot-body h3 { margin: 7px 0 12px; font-size: 18px; line-height: 1.45; }
.shot-body p { color: #3e4b54; line-height: 1.7; }
.shot-side { padding: 18px; border-color: rgba(21,38,49,.08); background: rgba(247,246,242,.68); }
.status { align-self: flex-start; padding: 5px 8px; border-radius: 999px; background: #e8f3ee; }
.status-warning { background: #fff0dc; }

dialog {
  width: min(720px, calc(100vw - 40px)); border-radius: 20px;
  background: rgba(255,255,255,.97); box-shadow: 0 35px 100px rgba(5,17,24,.32);
}
dialog::backdrop { background: rgba(8,20,27,.68); backdrop-filter: blur(5px); }
#modal-form { padding: 30px 34px 28px; }
.modal-head { margin-bottom: 22px; }
.modal-head h2 { font-size: 24px; letter-spacing: -.02em; }
.icon-button { width: 36px; height: 36px; border-radius: 50%; background: #f1f0ec; display: grid; place-items: center; }
.form-grid { gap: 16px; }
.config-note, .extract-summary, .batch-warning { border: 0; border-radius: 11px; padding: 14px 16px; background: linear-gradient(90deg, #fbf0d9, #f9f4e9); }
.image-preview-wrap { border-radius: 13px; background: #07141c; }
.prompt-panel { border-radius: 12px; background: #f7f5ef; }

.task-panel { border-radius: 15px; border-color: rgba(229,193,122,.24); background: rgba(9,25,35,.96); backdrop-filter: blur(18px); box-shadow: 0 24px 70px rgba(7,20,28,.3); }
#toast { border-radius: 10px; bottom: 26px; right: 26px; box-shadow: 0 14px 40px rgba(8,24,34,.22); }

.chat-shell {
  border-radius: 17px; border-color: rgba(21,38,49,.08);
  background: rgba(255,255,255,.78); backdrop-filter: blur(16px);
  box-shadow: var(--shadow);
}
.chat-toolbar { padding: 17px 22px; background: rgba(249,248,244,.84); }
.chat-logo { width: 60px; height: 60px; border-radius: 18px; box-shadow: 0 15px 35px rgba(15,36,48,.15); }
.chat-suggestions button { min-height: 52px; border-radius: 11px; transition: .18s; }
.chat-suggestions button:hover { transform: translateY(-2px); box-shadow: 0 10px 25px rgba(17,30,39,.08); }
.chat-bubble { border-radius: 14px; box-shadow: 0 5px 16px rgba(17,30,39,.035); }
.chat-composer { padding-top: 16px; padding-bottom: 16px; }
.chat-composer textarea { border-radius: 14px; }

@media (max-width: 1180px) {
  .toolbar-head { align-items: flex-start; flex-direction: column; }
  .toolbar-head .header-actions { justify-content: flex-start; }
  .shot { grid-template-columns: 200px 1fr; }
  .shot-side { grid-column: 1 / -1; border-left: 0; border-top: 1px solid var(--line); flex-direction: row; flex-wrap: wrap; }
}

@media (max-width: 980px) {
  .sidebar { width: 78px; }
  main { margin-left: 78px; }
  header, .content { padding-left: 24px; padding-right: 24px; }
}

/* Cool neutral color refinement */
:root {
  --paper: #f4f6f8;
  --panel: rgba(255,255,255,.95);
  --muted: #6f7d89;
  --line: rgba(25,43,56,.09);
  --gold: #d1a251;
}
html { background: #f4f6f8; }
body {
  background:
    radial-gradient(circle at 88% -8%, rgba(60,112,141,.07), transparent 27%),
    linear-gradient(180deg, #f9fafb 0, #f4f6f8 440px);
}
header { background: rgba(249,250,251,.84); }
.stat, .panel, .asset-card, .shot, .chat-shell { background: rgba(255,255,255,.94); }
.risk { background: #f3f6f8; border-left-color: #8ba2af; }
.generation-message { background: #edf5f4; }
.global-image-controls { background: #edf1f3; }
.tag { background: #eef2f4; }
.linked-asset { background: #e8f2ef; }
.shot-side { background: rgba(246,248,249,.88); }
.config-note, .extract-summary, .batch-warning {
  background: linear-gradient(90deg, #f1f5f7, #f8fafb);
  color: #526674;
}
.prompt-panel { background: #f4f7f8; }
.chat-toolbar { background: rgba(247,249,250,.92); }
.chat-bubble { background: #f0f4f6; }
.script-box { background: #fff; }

.commerce-hero {
  display: flex; justify-content: space-between; align-items: center; gap: 30px;
  margin-bottom: 22px; padding: 28px 32px; border-radius: 18px;
  color: white; background:
    radial-gradient(circle at 82% 10%, rgba(209,162,81,.2), transparent 24%),
    linear-gradient(135deg, #102b3a, #0a1d29);
  box-shadow: 0 22px 60px rgba(10,29,41,.18);
}
.commerce-hero h2 { margin: 0 0 8px; font-size: 27px; }
.commerce-hero p { margin: 0; color: #b8c7cf; }
.commerce-hero-stat { min-width: 120px; text-align: center; }
.commerce-hero-stat strong { display: block; color: #eac875; font-size: 38px; font-weight: 500; }
.commerce-hero-stat span { color: #9eb0ba; font-size: 11px; }
.commerce-layout { display: grid; grid-template-columns: minmax(400px, .78fr) minmax(520px, 1.22fr); gap: 20px; align-items: start; }
.commerce-config { position: sticky; top: 126px; }
.commerce-step { display: flex; align-items: center; gap: 10px; margin: 4px 0 12px; }
.commerce-step:not(:first-child) { margin-top: 24px; }
.commerce-step span { color: #bb8430; font-size: 10px; font-weight: 800; letter-spacing: 1px; }
.commerce-step h3 { margin: 0; font-size: 15px; }
.commerce-options { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.platform-options, .style-options, .background-options { grid-template-columns: repeat(3, 1fr); }
.commerce-option { position: relative; min-height: 62px; padding: 12px; border: 1px solid var(--line); border-radius: 11px; background: #f8fafb; cursor: pointer; transition: .18s; }
.commerce-option input { position: absolute; opacity: 0; pointer-events: none; }
.commerce-option strong { display: block; font-size: 12px; }
.commerce-option span { display: block; margin-top: 4px; color: var(--muted); font-size: 9px; }
.commerce-option:hover, .commerce-option.selected { border-color: rgba(186,132,44,.55); background: #fff9ed; box-shadow: 0 7px 18px rgba(37,48,55,.06); }
.style-options .commerce-option { min-height: auto; }
.platform-options .commerce-option, .background-options .commerce-option { min-height: 48px; }
.header-actions[hidden] { display: none; }
.commerce-uploader { display: grid; place-items: center; min-height: 92px; border: 1px dashed #9fadb5; border-radius: 12px; background: #f8fafb; cursor: pointer; }
.commerce-uploader b { color: #233844; font-size: 13px; }
.commerce-uploader span { color: var(--muted); font-size: 10px; }
.commerce-source-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; margin-top: 10px; }
.commerce-source { aspect-ratio: 1; position: relative; overflow: hidden; border-radius: 9px; background: #e8edef; }
.commerce-source img { width: 100%; height: 100%; object-fit: cover; }
.commerce-delete-image { border: 0; background: transparent; color: #a24d42; font-size: 11px; }
.commerce-source .commerce-delete-image { position: absolute; right: 4px; top: 4px; width: 22px; height: 22px; border-radius: 50%; background: rgba(10,25,34,.75); color: white; }
.commerce-empty-mini { padding: 18px; color: var(--muted); text-align: center; font-size: 11px; }
.commerce-generation-row { display: flex; gap: 10px; align-items: center; margin-top: 18px; }
.commerce-generation-row > label { display: flex; align-items: center; gap: 6px; color: var(--muted); font-size: 11px; }
.commerce-recipe { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.commerce-preset-actions { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; }
.commerce-preset-actions span { color: var(--muted); font-size: 10px; }
.commerce-recipe-item { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 11px 12px; border: 1px solid var(--line); border-radius: 10px; background: #f8fafb; }
.commerce-recipe-item span { min-width: 0; }
.commerce-recipe-item strong { display: block; color: var(--navy); font-size: 12px; }
.commerce-recipe-item small { display: block; margin-top: 3px; color: var(--muted); font-size: 9px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.commerce-recipe-item select { width: 72px; flex: 0 0 72px; }
.commerce-recipe-total { grid-column: 1 / -1; display: flex; justify-content: flex-end; align-items: baseline; gap: 6px; padding: 10px 12px; border-radius: 10px; background: #edf2f4; color: var(--muted); font-size: 11px; }
.commerce-recipe-total strong { color: var(--navy); font-size: 22px; }
.commerce-recipe-total strong.over-limit { color: #b54438; }
.commerce-buttons { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 14px; }
.commerce-buttons .button.primary { grid-column: 1 / -1; }
.commerce-results { display: grid; gap: 20px; }
.commerce-output-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.commerce-history-panel { grid-column: 1 / -1; }
.commerce-history-list { display: grid; gap: 9px; }
.commerce-history-item { display: flex; justify-content: space-between; align-items: center; gap: 18px; width: 100%; padding: 13px 15px; border: 1px solid var(--line); border-radius: 10px; background: #fff; color: var(--navy); text-align: left; cursor: pointer; }
.commerce-history-item:hover { border-color: var(--gold); background: #fbfaf7; }
.commerce-history-item span { color: var(--muted); font-size: 12px; }
.history-preview-image { display: block; width: 100%; padding: 0; border: 0; background: transparent; cursor: zoom-in; }
.history-preview-image img { display: block; width: 100%; aspect-ratio: 1 / 1; border-radius: 9px; object-fit: cover; }
.commerce-output { overflow: hidden; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.commerce-preview { width: 100%; aspect-ratio: 1; padding: 0; border: 0; background: #edf1f3; }
.commerce-preview img { width: 100%; height: 100%; object-fit: cover; display: block; }
.commerce-output > div { padding: 9px 11px; }
.commerce-output strong { display: block; font-size: 11px; }
.commerce-output span { color: var(--muted); font-size: 9px; }
.commerce-output-actions { display: flex; justify-content: space-between; border-top: 1px solid var(--line); }
.commerce-output-actions a, .commerce-output-actions button { color: #8e682b; font-size: 10px; text-decoration: none; }
.commerce-copy-panel h3 { margin: 12px 0; line-height: 1.55; }
.commerce-copy-panel li { margin-bottom: 7px; color: #44535c; line-height: 1.6; font-size: 13px; }

.commerce-detail-hero {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: center;
  margin: 24px auto;
  max-width: 1500px;
  padding: 34px 38px;
  border: 1px solid color-mix(in srgb, var(--accent) 28%, transparent);
  border-radius: 22px;
  background:
    radial-gradient(circle at 82% 20%, rgba(104, 227, 255, .16), transparent 30%),
    linear-gradient(135deg, rgba(21, 50, 79, .88), rgba(18, 19, 56, .82));
}
.commerce-detail-hero h2 { margin: 0 0 10px; font-size: 34px; }
.commerce-detail-hero p { margin: 0; max-width: 760px; color: color-mix(in srgb, var(--muted) 82%, white); line-height: 1.75; }
.commerce-detail-badge {
  flex: 0 0 auto;
  padding: 13px 18px;
  border-radius: 999px;
  background: linear-gradient(135deg, #f4dc7d, #62e3ff);
  color: #071523;
  font-weight: 800;
  box-shadow: 0 14px 38px rgba(78, 214, 255, .16);
}
.commerce-detail-agent-toolbar {
  min-width: min(520px, 100%);
  display: grid;
  gap: 12px;
  padding: 16px;
  border: 1px solid rgba(98, 227, 255, .22);
  border-radius: 18px;
  background: rgba(6, 18, 34, .45);
}
.commerce-detail-agent-toolbar label {
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}
.commerce-detail-agent-select {
  width: 100%;
  margin-top: 7px;
}
.commerce-detail-agent-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.commerce-detail-agent-add {
  border: 0;
  border-radius: 999px;
  padding: 10px 15px;
  font-weight: 800;
  color: #061422;
  background: linear-gradient(135deg, #f4dc7d, #62e3ff);
  cursor: pointer;
}
.commerce-detail-agent-modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 80;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgba(2, 8, 16, .72);
  backdrop-filter: blur(10px);
}
.commerce-detail-agent-modal {
  width: min(860px, 96vw);
  max-height: 88vh;
  overflow: auto;
  padding: 26px;
  border: 1px solid rgba(98, 227, 255, .24);
  border-radius: 24px;
  background: linear-gradient(180deg, rgba(15, 31, 54, .98), rgba(8, 16, 33, .98));
  box-shadow: 0 24px 80px rgba(0, 0, 0, .42);
}
.commerce-detail-agent-modal-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  margin-bottom: 18px;
}
.commerce-detail-agent-modal-head h3 {
  margin: 0;
  font-size: 24px;
}
.commerce-detail-agent-modal-head button {
  width: 38px;
  height: 38px;
  border: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, .94);
  color: #071523;
  font-size: 24px;
  cursor: pointer;
}
.commerce-detail-agent-modal textarea {
  min-height: 360px;
  font-family: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace;
}
.commerce-detail-agent-modal-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 18px;
}
.commerce-detail-layout {
  display: grid;
  grid-template-columns: minmax(420px, .78fr) minmax(560px, 1.22fr);
  gap: 22px;
  max-width: 1500px;
  margin: 0 auto 60px;
  align-items: start;
}
.commerce-detail-form, .commerce-detail-result-panel {
  background: linear-gradient(180deg, rgba(15, 31, 54, .92), rgba(8, 16, 33, .92));
  border-color: rgba(98, 227, 255, .16);
}
.commerce-detail-step {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 18px 0 12px;
}
.commerce-detail-step:first-child { margin-top: 0; }
.commerce-detail-step span {
  color: #f2d56e;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 1px;
}
.commerce-detail-step h3 { margin: 0; font-size: 17px; }
.commerce-detail-style-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.commerce-detail-card {
  position: relative;
  display: block;
  padding: 14px;
  border: 1px solid rgba(98, 227, 255, .16);
  border-radius: 14px;
  background: rgba(255, 255, 255, .035);
  cursor: pointer;
  transition: .18s ease;
}
.commerce-detail-card input, .commerce-detail-swatch input { position: absolute; opacity: 0; pointer-events: none; }
.commerce-detail-card strong { display: block; color: var(--text); font-size: 14px; }
.commerce-detail-card span { display: block; margin-top: 5px; color: var(--muted); font-size: 12px; line-height: 1.45; }
.commerce-detail-card:hover, .commerce-detail-card.selected {
  border-color: rgba(98, 227, 255, .68);
  background: rgba(98, 227, 255, .1);
}
.commerce-detail-palette {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 9px;
}
.commerce-detail-swatch {
  position: relative;
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 42px;
  padding: 9px 10px;
  border: 1px solid rgba(98, 227, 255, .14);
  border-radius: 12px;
  background: rgba(255, 255, 255, .035);
  cursor: pointer;
}
.commerce-detail-swatch span {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,.48);
}
.commerce-detail-swatch b { font-size: 12px; }
.commerce-detail-swatch.selected {
  border-color: rgba(98, 227, 255, .76);
  box-shadow: 0 0 0 2px rgba(98, 227, 255, .12) inset;
}
.commerce-detail-controls {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(140px, 160px) minmax(130px, 150px);
  gap: 12px;
  margin-top: 18px;
}
.commerce-detail-controls label { color: var(--muted); font-size: 12px; }
.commerce-detail-controls select,
.commerce-detail-controls input { margin-top: 6px; width: 100%; }
.commerce-detail-generate { width: 100%; margin-top: 18px; }
.commerce-detail-reference-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 10px;
}
.commerce-detail-reference-card, .commerce-detail-reference-add {
  width: 108px;
  height: 118px;
  border: 1px dashed rgba(98, 227, 255, .36);
  border-radius: 14px;
  background: rgba(255, 255, 255, .035);
  color: var(--muted);
}
.commerce-detail-reference-card {
  position: relative;
  overflow: hidden;
}
.commerce-detail-reference-card img {
  width: 100%;
  height: 82px;
  object-fit: cover;
  display: block;
}
.commerce-detail-reference-card button {
  position: absolute;
  top: 6px;
  right: 6px;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  border: 0;
  color: #071523;
  background: rgba(255, 255, 255, .88);
  cursor: pointer;
}
.commerce-detail-reference-card span {
  display: block;
  padding: 6px 8px 0;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  font-size: 11px;
}
.commerce-detail-reference-add {
  display: grid;
  place-items: center;
  align-content: center;
  gap: 5px;
  cursor: pointer;
}
.commerce-detail-reference-add b { color: #62e3ff; font-size: 24px; line-height: 1; }
.commerce-detail-reference-add span { font-size: 12px; }
.commerce-detail-image-controls {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.commerce-detail-image-controls label { color: var(--muted); font-size: 12px; }
.commerce-detail-image-controls select { margin-top: 6px; width: 100%; }
.commerce-detail-result-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  margin-bottom: 14px;
}
.commerce-detail-result-head h3 { margin: 0; }
.commerce-detail-result-head p { margin: 4px 0 0; }
.commerce-detail-result-actions { display: flex; gap: 8px; }
.commerce-detail-result {
  min-height: 560px;
  max-height: calc(100vh - 260px);
  overflow: auto;
  padding: 20px;
  border: 1px solid rgba(98, 227, 255, .14);
  border-radius: 18px;
  background: rgba(4, 12, 28, .46);
}
.commerce-detail-result textarea {
  width: 100%;
  min-height: 520px;
  border: 0;
  outline: 0;
  resize: vertical;
  color: #eaf4ff;
  background: transparent;
  font: 15px/1.9 inherit;
  white-space: pre-wrap;
}
.commerce-detail-image-section {
  margin-bottom: 18px;
}
.commerce-detail-image-placeholder {
  min-height: 220px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 14px;
  text-align: center;
  border: 1px dashed rgba(255, 255, 255, .28);
  border-radius: 18px;
  color: var(--muted);
  background: rgba(4, 12, 28, .38);
}
.commerce-detail-image-error {
  max-width: 720px;
  color: #ff9b84;
  font-size: 13px;
  line-height: 1.7;
}
.commerce-detail-image-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.commerce-detail-image-card {
  overflow: hidden;
  border: 1px solid rgba(98, 227, 255, .16);
  border-radius: 16px;
  background: rgba(255, 255, 255, .035);
}
.commerce-detail-image-pending {
  aspect-ratio: 1 / 1;
  display: grid;
  place-items: center;
  border-style: dashed;
  color: var(--muted);
  background:
    linear-gradient(135deg, rgba(35, 218, 255, .10), rgba(226, 49, 207, .08)),
    rgba(4, 12, 28, .48);
}
.commerce-detail-image-pending div {
  display: grid;
  gap: 8px;
  place-items: center;
}
.commerce-detail-image-pending span { font-size: 13px; }
.commerce-detail-image-pending strong {
  color: var(--theme-accent);
  font-size: 24px;
}
.commerce-detail-image-preview {
  width: 100%;
  padding: 0;
  border: 0;
  background: #050b18;
  cursor: zoom-in;
}
.commerce-detail-image-preview img {
  width: 100%;
  aspect-ratio: 1 / 1;
  display: block;
  object-fit: contain;
  background: #050b18;
}
.commerce-detail-image-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 10px;
  color: var(--muted);
  font-size: 12px;
}
.commerce-detail-image-meta div { display: flex; gap: 6px; }

@media (max-width: 1100px) {
  .commerce-detail-layout { grid-template-columns: 1fr; }
  .commerce-detail-hero { align-items: flex-start; flex-direction: column; }
  .commerce-detail-image-grid { grid-template-columns: 1fr; }
}
.copy-language { padding: 5px 8px; border-radius: 999px; background: #edf2f4; color: #61727c; font-size: 10px; }

@media (max-width: 1250px) {
  .commerce-layout { grid-template-columns: 1fr; }
  .commerce-config { position: static; }
}
@media (max-width: 720px) {
  .commerce-options, .platform-options, .style-options, .background-options, .commerce-output-grid { grid-template-columns: 1fr 1fr; }
  .commerce-recipe { grid-template-columns: 1fr; }
  .commerce-hero { align-items: flex-start; }
}

/* Independent generation workspaces */
.workflow-hero {
  display: flex; justify-content: space-between; align-items: center; gap: 30px;
  min-height: 170px; margin-bottom: 18px; padding: 30px 34px; border-radius: 20px;
  overflow: hidden; color: white; box-shadow: 0 24px 70px rgba(9,29,41,.17);
}
.workflow-hero h2 { margin: 2px 0 9px; font-size: 30px; letter-spacing: -.03em; }
.workflow-hero p:last-child { max-width: 720px; margin: 0; color: #b9cad3; line-height: 1.7; }
.digital-human-hero { background: radial-gradient(circle at 82% 20%, rgba(82,190,177,.22), transparent 25%), linear-gradient(135deg, #102f39, #091b27); }
.tvc-hero { background: radial-gradient(circle at 82% 10%, rgba(221,159,65,.3), transparent 27%), linear-gradient(135deg, #251b18, #101923); }
.image-studio-hero { background: radial-gradient(circle at 82% 10%, rgba(139,115,218,.27), transparent 26%), linear-gradient(135deg, #17223e, #0b1c29); }
.workflow-badge {
  flex: 0 0 130px; padding: 20px; border: 1px solid rgba(255,255,255,.13); border-radius: 18px;
  background: rgba(255,255,255,.05); color: #e8c780; text-align: center; font-size: 14px;
  font-weight: 750; line-height: 1.6; letter-spacing: 2px; backdrop-filter: blur(8px);
}
.workflow-connection {
  display: grid; grid-template-columns: 170px minmax(210px, .7fr) minmax(360px, 1.3fr) auto;
  align-items: end; gap: 10px; margin-bottom: 18px; padding: 12px 15px;
  border: 1px solid var(--line); border-radius: 13px; background: rgba(255,255,255,.85);
}
.workflow-connection label { display: grid; gap: 5px; color: var(--muted); font-size: 10px; }
.workflow-connection input { min-height: 38px; padding: 8px 11px; }
.workflow-connection span { grid-column: 1 / -1; padding: 2px 1px; color: #a15b4c; font-size: 10px; }
.workflow-connection span.connected { color: var(--green); }
.workflow-connection [hidden] { display: none !important; }
.workflow-layout { display: grid; grid-template-columns: minmax(440px, .85fr) minmax(520px, 1.15fr); gap: 20px; align-items: start; }
.workflow-form { position: sticky; top: 126px; }
.workflow-upload-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-bottom: 18px; }
.workflow-upload {
  display: grid; place-items: center; min-height: 142px; padding: 16px; border: 1px dashed #9dafb8;
  border-radius: 13px; background: #f7fafb; text-align: center; cursor: pointer; transition: .18s;
}
.workflow-upload:hover, .workflow-upload.selected { border-color: #c49444; background: #fffaf0; transform: translateY(-1px); }
.workflow-upload-icon { display: grid; place-items: center; width: 34px; height: 34px; margin-bottom: 7px; border-radius: 50%; background: #e7edf0; color: #425966; font-size: 20px; }
.workflow-upload strong { font-size: 12px; }
.workflow-upload small { margin-top: 4px; color: var(--muted); font-size: 9px; line-height: 1.45; }
.workflow-upload em { max-width: 100%; margin-top: 9px; color: #a67931; font-size: 9px; font-style: normal; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.workflow-upload.compact { min-height: 110px; margin-top: 14px; }
.workflow-textarea { min-height: 155px; }
.workflow-inline-fields { display: grid; grid-template-columns: repeat(4, 1fr); gap: 9px; margin: 14px 0; }
.workflow-inline-fields label { display: grid; gap: 5px; color: var(--muted); font-size: 10px; }
.workflow-check { display: flex; align-items: center; gap: 8px; margin: 14px 0; color: #52636e; font-size: 11px; }
.workflow-check input { width: auto; }
.workflow-generate { width: 100%; min-height: 50px; margin-top: 12px; }
.workflow-status { min-height: 20px; margin: 12px 0 0; color: #687a85; font-size: 11px; text-align: center; }
.workflow-empty { display: grid; place-items: center; min-height: 260px; padding: 30px; border: 1px dashed #c4cfd5; border-radius: 14px; color: var(--muted); text-align: center; }
.workflow-result { overflow: hidden; margin-bottom: 14px; border: 1px solid var(--line); border-radius: 14px; background: #f3f6f7; }
.workflow-result video, .workflow-result img { display: block; width: 100%; max-height: 620px; object-fit: contain; background: #07141b; }
.workflow-result audio { width: calc(100% - 30px); margin: 20px 15px; }
.workflow-result > div { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 11px 13px; background: white; }
.workflow-result strong { min-width: 0; font-size: 10px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.image-studio-layout { display: grid; grid-template-columns: minmax(350px, .62fr) minmax(600px, 1.38fr); gap: 20px; align-items: start; }
.image-studio-form { position: sticky; top: 126px; }
.studio-image-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.studio-image-card { overflow: hidden; border: 1px solid var(--line); border-radius: 13px; background: #fff; }
.studio-preview { display: block; width: 100%; aspect-ratio: 1; padding: 0; border: 0; background: #edf1f3; cursor: zoom-in; }
.studio-preview img { display: block; width: 100%; height: 100%; object-fit: cover; }
.studio-image-card > div { display: flex; justify-content: space-between; gap: 8px; padding: 9px 10px; }
.studio-image-card strong { font-size: 10px; }
.studio-image-card span { color: var(--muted); font-size: 9px; }
.studio-image-actions { border-top: 1px solid var(--line); }
.studio-image-actions a, .studio-image-actions button { border: 0; background: transparent; color: #956d2d; font-size: 10px; text-decoration: none; cursor: pointer; }

@media (max-width: 1250px) {
  .workflow-layout, .image-studio-layout { grid-template-columns: 1fr; }
  .workflow-form, .image-studio-form { position: static; }
  .workflow-connection { grid-template-columns: 180px 1fr 1.4fr; }
  .workflow-connection .button { grid-column: 1 / -1; }
}
@media (max-width: 760px) {
  .workflow-upload-grid, .studio-image-grid { grid-template-columns: 1fr 1fr; }
  .workflow-inline-fields { grid-template-columns: 1fr 1fr; }
  .workflow-connection { align-items: stretch; flex-direction: column; }
  .workflow-connection { grid-template-columns: 1fr; }
  .workflow-connection span { min-width: 0; padding: 4px 0; }
}

/* Cultural tourism section tabs */
.cultural-tabs {
  display: flex; gap: 7px; width: max-content; max-width: 100%; margin: -10px 0 24px;
  padding: 5px; overflow-x: auto; border: 1px solid var(--line); border-radius: 13px;
  background: rgba(255,255,255,.86); box-shadow: 0 8px 28px rgba(16,31,41,.04);
}
.cultural-tabs button {
  min-width: 112px; padding: 10px 16px; border: 0; border-radius: 9px;
  background: transparent; color: #71808a; font-weight: 600; white-space: nowrap; cursor: pointer;
}
.cultural-tabs button:hover { color: var(--navy); background: #f2f5f6; }
.cultural-tabs button.active { color: white; background: linear-gradient(145deg, #173140, #0c202c); box-shadow: 0 7px 18px rgba(12,32,44,.16); }

/* Conversational AI image studio */
.studio-chat-shell {
  min-height: calc(100vh - 198px); margin: -10px auto 0; padding-bottom: 245px;
}
.studio-chat-head {
  display: flex; justify-content: space-between; align-items: end; gap: 20px;
  max-width: 1320px; margin: 0 auto 28px; padding: 0 4px;
}
.studio-chat-head h2 { margin: 2px 0 6px; font-size: 25px; }
.studio-chat-head p:last-child { margin: 0; color: var(--muted); }
.studio-feed { display: grid; gap: 34px; max-width: 1320px; margin: 0 auto; }
.studio-welcome {
  display: grid; place-items: center; min-height: 350px; padding: 70px 20px; color: #71808a; text-align: center;
}
.studio-welcome-mark {
  display: grid; place-items: center; width: 64px; height: 64px; margin-bottom: 16px;
  border-radius: 18px; background: linear-gradient(145deg, #173140, #0c202c); color: #e8c477;
  box-shadow: 0 16px 38px rgba(13,34,47,.18); font-size: 22px; font-weight: 700;
}
.studio-welcome h3 { margin: 0 0 8px; color: var(--navy); font-size: 20px; }
.studio-welcome p { max-width: 520px; margin: 0; line-height: 1.7; }
.studio-task { padding: 0 2px 28px; border-bottom: 1px solid rgba(27,45,57,.08); }
.studio-task-prompt-row { display: flex; align-items: flex-start; gap: 8px; max-width: 1220px; margin-bottom: 10px; }
.studio-toggle-prompt {
  flex: 0 0 auto; min-width: 44px; padding: 4px 8px; border: 1px solid #dfe6e9;
  border-radius: 7px; background: #fff; color: #667680; font-size: 10px; cursor: pointer;
}
.studio-task-prompt {
  min-width: 0; color: #202c34; font-size: 16px; font-weight: 520; line-height: 1.75;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.studio-task-prompt-row.expanded .studio-task-prompt { overflow: visible; white-space: normal; }
.studio-task-meta { display: flex; gap: 14px; margin-bottom: 16px; color: #7b8891; font-size: 11px; }
.studio-task-references { display: flex; gap: 7px; margin: -6px 0 14px; overflow-x: auto; }
.studio-task-references img {
  width: 52px; height: 52px; flex: 0 0 auto; object-fit: cover;
  border: 1px solid #dfe6e9; border-radius: 9px; background: #edf1f3;
}
.studio-task-results {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 4px;
  width: min(1120px, 100%); overflow: hidden; border-radius: 10px; background: #e8ecee;
}
.studio-task-results.count-1 { grid-template-columns: minmax(0, 1fr); width: min(420px, 100%); }
.studio-task-results.count-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); width: min(700px, 100%); }
.studio-task-results.count-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); width: min(930px, 100%); }
.studio-result-image, .studio-result-placeholder { position: relative; min-width: 0; aspect-ratio: 4 / 3; background: #edf1f3; }
.studio-result-image .studio-preview { height: 100%; border-radius: 0; }
.studio-result-image .studio-preview img { object-fit: cover; }
.studio-result-actions {
  position: absolute; right: 8px; bottom: 8px; display: flex; gap: 5px; opacity: 0; transition: .18s;
}
.studio-result-image:hover .studio-result-actions { opacity: 1; }
.studio-result-actions a, .studio-result-actions button {
  padding: 6px 9px; border: 0; border-radius: 7px; background: rgba(10,26,36,.82);
  color: white; font-size: 10px; text-decoration: none; cursor: pointer; backdrop-filter: blur(6px);
}
.studio-result-placeholder { display: grid; place-items: center; align-content: center; gap: 11px; color: #84919a; font-size: 11px; }
.studio-result-placeholder i {
  width: 26px; height: 26px; border: 2px solid #ccd5d9; border-top-color: #c59543;
  border-radius: 50%; animation: studio-spin .8s linear infinite;
}
.studio-result-placeholder.failed-slot { color: #ae5a50; background: #f6eeee; }
.studio-result-placeholder.failed-slot span {
  max-width: 88%;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
  line-height: 1.5;
  text-align: center;
  word-break: break-word;
}
@keyframes studio-spin { to { transform: rotate(360deg); } }
.studio-task-footer { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-top: 12px; }
.studio-task-status { color: #788690; font-size: 11px; }
.studio-task.completed .studio-task-status { color: #36806d; }
.studio-task.failed .studio-task-status { color: #b04f43; }
.studio-task-footer button {
  padding: 7px 11px; border: 0; border-radius: 8px; background: #eef2f4;
  color: #334852; font-size: 11px; cursor: pointer;
}
.studio-task-footer button.danger { background: #f4ebe9; color: #a1493d; }
.studio-task-footer button.danger:hover { background: #ead7d3; color: #85362d; }
.studio-task-footer button + button { margin-left: 5px; }
.studio-lightbox {
  position: fixed; inset: 0; z-index: 9999; display: grid; place-items: center;
  padding: 48px 72px; background: rgba(1, 7, 12, .88); overflow: auto;
}
.studio-lightbox::before {
  content: ""; position: fixed; inset: -4%; z-index: -2;
  background-image: var(--preview-bg); background-position: center; background-size: cover;
  filter: blur(30px) brightness(.24) saturate(120%); transform: scale(1.06);
}
.studio-lightbox::after {
  content: ""; position: fixed; inset: 0; z-index: -1;
  background:
    radial-gradient(circle at 50% 48%, rgba(255,255,255,.08), transparent 30%),
    linear-gradient(90deg, rgba(0,0,0,.72), rgba(4,13,20,.34), rgba(0,0,0,.72));
}
.studio-lightbox-close {
  position: fixed; top: 26px; right: 30px; width: 44px; height: 44px; border: 1px solid rgba(255,255,255,.18);
  border-radius: 50%; background: rgba(255,255,255,.08); color: rgba(255,255,255,.86);
  font-size: 34px; line-height: 40px; cursor: pointer; backdrop-filter: blur(12px);
}
.studio-lightbox-figure { display: grid; gap: 12px; width: fit-content; max-width: min(86vw, 1120px); margin: 0; }
.studio-lightbox-figure img {
  display: block; max-width: min(86vw, 1120px); max-height: 84vh;
  border-radius: 16px; object-fit: contain; box-shadow: 0 30px 120px rgba(0,0,0,.55);
}
.studio-lightbox-figure figcaption {
  display: flex; justify-content: space-between; gap: 18px; align-items: center;
  color: rgba(238,247,255,.72); font-size: 12px;
}
.studio-lightbox-figure a {
  padding: 8px 13px; border-radius: 999px; background: linear-gradient(135deg, var(--theme-accent), var(--theme-accent-2));
  color: #04111d; text-decoration: none; font-weight: 700;
}
.studio-task-prompt-row {
  padding: 4px 8px;
  border-radius: 10px;
  background: color-mix(in srgb, var(--panel) 36%, transparent);
}
.studio-task-prompt {
  color: color-mix(in srgb, var(--ink) 94%, white) !important;
  opacity: 1;
}
.studio-toggle-prompt {
  color: color-mix(in srgb, var(--ink) 88%, var(--theme-accent)) !important;
  background: color-mix(in srgb, var(--panel) 88%, white) !important;
}
.studio-composer {
  position: fixed; left: calc(248px + (100vw - 248px) / 2); bottom: 24px; z-index: 18;
  width: min(1120px, calc(100vw - 248px - 70px)); padding: 18px 20px 12px;
  transform: translateX(-50%); border: 1px solid rgba(27,44,56,.1); border-radius: 24px;
  background: rgba(255,255,255,.96); box-shadow: 0 24px 80px rgba(11,28,39,.18); backdrop-filter: blur(18px);
}
.studio-composer-toggle {
  position: absolute; right: 122px; top: 16px; z-index: 2;
  padding: 8px 12px; border: 1px solid #dfe6e9; border-radius: 10px;
  background: #fff; color: #4c5d67; font-size: 12px; font-weight: 700; cursor: pointer;
}
.studio-composer[data-has-results="0"] .studio-composer-toggle { display: none; }
.studio-compact-label { display: none; }
.studio-optimize {
  position: absolute; right: 20px; top: 16px; z-index: 2;
  padding: 8px 13px; border: 1px solid #ead4a4; border-radius: 10px;
  background: linear-gradient(135deg, #f7df9c, #d8a84d); color: #172d3a;
  font-size: 12px; font-weight: 750; cursor: pointer;
  box-shadow: 0 8px 18px rgba(159,111,36,.16);
}
.studio-optimize:disabled { opacity: .58; cursor: wait; }
.studio-reference-preview { display: flex; gap: 8px; min-height: 54px; margin-bottom: 6px; overflow-x: auto; }
.studio-reference-thumb, .studio-add-reference {
  flex: 0 0 52px; width: 52px; height: 52px; border-radius: 9px; object-fit: cover;
}
.studio-reference-thumb { position: relative; overflow: hidden; }
.studio-reference-thumb img { width: 100%; height: 100%; object-fit: cover; }
.studio-reference-thumb button {
  position: absolute; right: 3px; top: 3px; width: 18px; height: 18px; padding: 0;
  border: 0; border-radius: 50%; background: rgba(10,25,34,.78); color: white;
  font-size: 12px; line-height: 18px; cursor: pointer;
}
.studio-add-reference {
  display: grid; place-items: center; align-content: center; border: 1px dashed #c8d1d6;
  background: #f4f6f7; color: #657681; font-size: 20px; cursor: pointer;
}
.studio-add-reference span { font-size: 8px; }
.studio-composer > textarea {
  width: 100%; min-height: 70px; max-height: 180px; padding: 8px 2px; border: 0;
  background: transparent; box-shadow: none; resize: vertical; font-size: 16px; line-height: 1.65;
}
.studio-composer > textarea:focus { box-shadow: none; }
.studio-composer-bar { display: flex; justify-content: space-between; align-items: center; gap: 14px; }
.studio-controls { display: flex; align-items: center; gap: 7px; overflow-x: auto; }
.studio-control {
  display: flex; align-items: center; gap: 5px; min-height: 36px; padding: 5px 9px;
  border: 1px solid var(--line); border-radius: 9px; background: #fff; color: #384b56;
  font-size: 11px; white-space: nowrap;
}
.studio-control select { width: auto; min-height: 25px; padding: 2px 20px 2px 3px; border: 0; box-shadow: none; font-size: 11px; }
.studio-submit-side { display: flex; align-items: center; gap: 9px; flex: 0 0 auto; }
.studio-submit-side span { color: #839099; font-size: 10px; }
.studio-send {
  width: 42px; height: 42px; border: 0; border-radius: 50%; background: #142f3e; color: white;
  font-size: 21px; cursor: pointer; box-shadow: 0 8px 20px rgba(13,35,48,.18);
}
.studio-send:disabled { opacity: .45; cursor: wait; }
.studio-composer .workflow-status { margin: 7px 0 0; text-align: right; }
.studio-composer.compact {
  display: grid; grid-template-columns: auto minmax(180px, 1fr) auto; align-items: center; gap: 14px;
  width: min(760px, calc(100vw - 248px - 100px)); min-height: 72px; padding: 12px 14px;
  border-radius: 28px; cursor: text;
}
.studio-composer.compact .studio-composer-toggle,
.studio-composer.compact .studio-compact-label,
.studio-composer.compact .studio-optimize,
.studio-composer.compact .studio-controls,
.studio-composer.compact .workflow-status,
.studio-composer.compact .studio-submit-side span {
  display: none;
}
.studio-composer.compact .studio-reference-preview {
  grid-column: 1; min-height: 48px; max-width: 150px; margin: 0; overflow: hidden;
}
.studio-composer.compact .studio-reference-thumb,
.studio-composer.compact .studio-add-reference {
  flex-basis: 48px; width: 48px; height: 48px; border-radius: 10px;
}
.studio-composer.compact > textarea {
  grid-column: 2; min-height: 40px; max-height: 40px; padding: 6px 0;
  resize: none; overflow: hidden; font-size: 17px; line-height: 1.65;
}
.studio-composer.compact .studio-composer-bar {
  grid-column: 3; display: flex; align-items: center; justify-content: flex-end; gap: 0;
}
.studio-composer.compact .studio-send {
  width: 48px; height: 48px; background: #0e0f12; font-size: 24px;
}
.optimized-prompt-preview textarea { min-height: 260px; font-family: Consolas, monospace; font-size: 12px; }

@media (max-width: 980px) {
  .studio-composer {
    left: calc(78px + (100vw - 78px) / 2);
    width: min(1120px, calc(100vw - 78px - 36px));
  }
  .studio-composer.compact {
    width: min(760px, calc(100vw - 78px - 36px));
  }
  .studio-task-results { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 680px) {
  .studio-chat-shell { padding-bottom: 290px; }
  .studio-chat-head { align-items: flex-start; flex-direction: column; }
  .studio-composer-bar { align-items: flex-end; }
  .studio-controls { flex-wrap: wrap; }
  .studio-submit-side span { display: none; }
}

/* Independent AI assistant */
.assistant-workspace {
  display: grid; grid-template-columns: 250px minmax(0, 1fr); height: calc(100vh - 198px);
  min-height: 500px; margin: -10px 0 0; overflow: hidden; border: 1px solid rgba(25,39,49,.09);
  border-radius: 18px; background: #fff; box-shadow: 0 18px 55px rgba(18,31,40,.07);
}
.assistant-history {
  display: flex; min-width: 0; flex-direction: column; padding: 18px 13px 14px;
  border-right: 1px solid #e7eaec; background: #f7f8f8;
}
.assistant-history-head { display: flex; align-items: center; justify-content: space-between; padding: 2px 6px 14px; }
.assistant-history-head strong { color: #182a35; font-size: 16px; }
.assistant-history-head button, .assistant-top-new {
  border: 0; border-radius: 8px; background: transparent; color: #576a75; cursor: pointer;
}
.assistant-history-head button { width: 32px; height: 32px; font-size: 19px; }
.assistant-history-head button:hover, .assistant-top-new:hover { background: #e9edef; color: #162c39; }
.assistant-new-chat {
  display: flex; align-items: center; gap: 10px; width: 100%; padding: 11px 13px;
  border: 1px solid #dce2e5; border-radius: 10px; background: white; color: #203540;
  font-size: 13px; font-weight: 650; text-align: left;
}
.assistant-new-chat:hover { border-color: #b7c2c8; box-shadow: 0 7px 20px rgba(17,36,48,.05); }
.assistant-new-chat span { font-size: 18px; font-weight: 400; }
.assistant-search {
  display: flex; align-items: center; gap: 7px; margin: 12px 0; padding: 0 10px;
  border: 1px solid transparent; border-radius: 9px; background: #eceff0; color: #7b8991;
}
.assistant-search:focus-within { border-color: #c9d1d5; background: white; }
.assistant-search input { min-width: 0; width: 100%; padding: 9px 0; border: 0; background: transparent; box-shadow: none; font-size: 12px; }
.assistant-search input:focus { box-shadow: none; }
.assistant-session-list { display: grid; gap: 3px; min-height: 0; overflow-y: auto; }
.assistant-session {
  position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center;
  border-radius: 9px; color: #53646e;
}
.assistant-session:hover, .assistant-session.active { background: #e8ecee; color: #1b303c; }
.assistant-session-open {
  min-width: 0; padding: 10px 6px 10px 11px; border: 0; background: transparent; color: inherit; text-align: left;
}
.assistant-session-open strong {
  display: block; overflow: hidden; font-size: 12px; font-weight: 560; text-overflow: ellipsis; white-space: nowrap;
}
.assistant-session-open span { display: block; margin-top: 4px; color: #909ca3; font-size: 9px; }
.assistant-session-actions { display: none; gap: 2px; padding-right: 5px; }
.assistant-session:hover .assistant-session-actions, .assistant-session.active .assistant-session-actions { display: flex; }
.assistant-session-actions button {
  width: 25px; height: 25px; padding: 0; border: 0; border-radius: 6px; background: transparent;
  color: #72818a; font-size: 9px;
}
.assistant-session-actions button:hover { background: white; color: #243a46; }
.assistant-history-foot { margin-top: auto; padding: 13px 7px 0; color: #9aa4aa; font-size: 9px; }
.assistant-main {
  display: grid; min-width: 0; min-height: 0; grid-template-rows: auto minmax(0, 1fr) auto;
  overflow: hidden; background: #fff;
}
.assistant-topbar {
  display: flex; align-items: center; justify-content: space-between; min-height: 64px; padding: 12px 24px;
  border-bottom: 1px solid #edf0f1; background: rgba(255,255,255,.95);
}
.assistant-topbar strong { display: block; max-width: 560px; overflow: hidden; color: #1c2d37; font-size: 14px; text-overflow: ellipsis; white-space: nowrap; }
.assistant-topbar span { display: block; margin-top: 3px; color: #98a2a8; font-size: 9px; }
.assistant-top-new { padding: 8px 11px; font-size: 11px; }
.assistant-message-list {
  min-height: 0; overflow-x: hidden; overflow-y: auto; padding-bottom: 18px;
  overscroll-behavior: contain; scroll-behavior: auto;
}
.assistant-welcome { display: grid; place-items: center; max-width: 780px; margin: 0 auto; padding: 105px 28px 60px; text-align: center; }
.assistant-welcome-mark {
  display: grid; place-items: center; width: 54px; height: 54px; border-radius: 16px;
  background: linear-gradient(145deg, #173341, #0d222e); color: #e1b75f; font-weight: 750;
  box-shadow: 0 14px 34px rgba(16,38,50,.16);
}
.assistant-welcome h2 { margin: 18px 0 8px; color: #162a35; font-size: 25px; }
.assistant-welcome > p { margin: 0; color: #7a8891; font-size: 13px; }
.assistant-suggestions { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; width: min(680px, 100%); margin-top: 30px; }
.assistant-suggestions button {
  min-height: 62px; padding: 13px 15px; border: 1px solid #e0e5e7; border-radius: 12px;
  background: #fff; color: #344954; text-align: left; font-size: 12px; transition: .16s;
}
.assistant-suggestions button:hover { border-color: #bdc7cc; background: #fafbfb; transform: translateY(-1px); }
.assistant-message { width: 100%; }
.assistant-message.user { background: #fafafa; }
.assistant-message-inner {
  display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 13px; width: 100%; max-width: 1180px;
  margin: 0 auto; padding: 18px 28px;
}
.assistant-avatar {
  display: grid; place-items: center; width: 32px; height: 32px; border: 1px solid #e0e4e6;
  border-radius: 9px; background: white; color: #314752; font-size: 10px; font-weight: 700;
}
.assistant-message.assistant .assistant-avatar { border-color: #16313f; background: #16313f; color: #e3b961; }
.assistant-response { min-width: 0; padding-top: 3px; color: #263740; font-size: 14px; line-height: 1.75; }
.assistant-message.user .assistant-message-inner { display: block; padding-top: 13px; padding-bottom: 13px; }
.assistant-message.user .assistant-avatar { display: none; }
.assistant-message.user .assistant-response { display: flex; justify-content: flex-end; padding-top: 0; }
.assistant-message.user .assistant-copy {
  max-width: 72%; padding: 9px 13px; border-radius: 13px; background: #eceff0; line-height: 1.65;
}
.assistant-copy-button {
  margin-top: 10px; padding: 4px 7px; border: 0; border-radius: 6px; background: transparent;
  color: #8b989f; font-size: 9px;
}
.assistant-copy-button:hover { background: #f0f2f3; color: #40545f; }
.assistant-composer-wrap {
  position: relative; z-index: 3;
  padding: 12px max(24px, calc((100% - 1040px) / 2)) 10px;
  border-top: 1px solid rgba(226,231,233,.72);
  background: linear-gradient(180deg, rgba(255,255,255,.88), #fff 24%);
}
.assistant-composer {
  display: grid; grid-template-columns: minmax(0, 1fr) 42px; align-items: end; gap: 6px 10px;
  padding: 10px 11px 10px 16px; border: 1px solid #dce2e5; border-radius: 19px;
  background: white; box-shadow: 0 12px 36px rgba(18,35,45,.1);
}
.assistant-composer:focus-within { border-color: #abb9c0; box-shadow: 0 13px 38px rgba(18,35,45,.13); }
.assistant-composer textarea {
  grid-column: 1; grid-row: 2;
  min-height: 38px; max-height: 180px; padding: 8px 0 4px; border: 0; background: transparent;
  box-shadow: none; resize: none; font-size: 14px; line-height: 1.55;
}
.assistant-composer textarea:focus { box-shadow: none; }
.assistant-composer button {
  grid-column: 2; grid-row: 2 / span 2;
  width: 42px; height: 42px; padding: 0; border: 0; border-radius: 50%; background: #152f3d;
  color: white; font-size: 20px; box-shadow: 0 7px 16px rgba(16,39,51,.15);
}
.assistant-composer button:hover { background: #0b202b; }
.assistant-composer-tools { grid-column: 1; grid-row: 3; display: flex; align-items: center; gap: 7px; }
.assistant-attachment-preview {
  grid-column: 1 / -1; grid-row: 1; display: flex; gap: 7px; min-width: 0; overflow-x: auto;
}
.assistant-attachment-preview[hidden] { display: none; }
.assistant-attachment-chip {
  position: relative; display: grid; grid-template-columns: 34px minmax(70px, 120px); align-items: center;
  flex: 0 0 auto; gap: 7px; padding: 5px 25px 5px 5px; border: 1px solid #e0e5e7;
  border-radius: 9px; background: #f8f9f9;
}
.assistant-attachment-chip img, .assistant-attachment-chip video, .assistant-file-mark {
  width: 34px; height: 34px; border-radius: 6px; object-fit: cover; background: #e8edef;
}
.assistant-file-mark { display: grid; place-items: center; color: #526773; font-size: 11px; }
.assistant-attachment-chip b { overflow: hidden; font-size: 9px; font-weight: 500; text-overflow: ellipsis; white-space: nowrap; }
.assistant-attachment-chip button {
  position: absolute; right: 4px; top: 4px; width: 17px; height: 17px; border-radius: 50%;
  background: #263d49; font-size: 10px; box-shadow: none;
}
.assistant-attach-button {
  display: flex; align-items: center; min-height: 30px; padding: 3px 9px; border: 1px solid #e1e5e7;
  border-radius: 9px; background: #f8f9f9; color: #445963; font-size: 10px; cursor: pointer;
}
.assistant-message-files { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; width: 100%; margin-top: 8px; }
.assistant-message-files span { padding: 4px 7px; border-radius: 7px; background: #dde3e6; color: #566872; font-size: 9px; }
.assistant-message-files figure {
  position: relative; width: 96px; margin: 0; overflow: hidden; border: 1px solid #d8dfe2;
  border-radius: 10px; background: #e9edef;
}
.assistant-message-files img, .assistant-message-files video {
  display: block; width: 96px; height: 72px; object-fit: cover; background: #162832;
}
.assistant-message-files figcaption {
  overflow: hidden; padding: 4px 6px; color: #596b75; font-size: 8px; text-overflow: ellipsis; white-space: nowrap;
}
.assistant-model-picker {
  display: flex; align-items: center; gap: 5px; min-height: 30px; padding: 2px 5px 2px 9px;
  border: 1px solid #e1e5e7; border-radius: 9px; background: #f8f9f9; color: #7b8991;
  font-size: 10px;
}
.assistant-model-picker select {
  width: auto; min-height: 24px; padding: 2px 24px 2px 3px; border: 0; background: transparent;
  box-shadow: none; color: #344a56; font-size: 10px;
}
.assistant-model-picker select:focus { box-shadow: none; }
.assistant-composer-wrap > p { margin: 7px 0 0; color: #a1aaaf; font-size: 8px; text-align: center; }

/* Independent AI video studio */
.video-studio-shell { min-height: calc(100vh - 198px); margin: -10px auto 0; padding-bottom: 245px; }
.video-task-feed { display: grid; gap: 26px; max-width: 1320px; margin: 0 auto; }
.video-task-card { overflow: hidden; border: 1px solid var(--line); border-radius: 15px; background: #fff; box-shadow: 0 12px 34px rgba(17,32,42,.06); }
.video-task-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 18px; padding: 16px 18px; }
.video-task-head strong { display: block; max-width: 900px; color: #233640; font-size: 14px; line-height: 1.65; }
.video-task-head span { display: block; margin-top: 5px; color: #87939a; font-size: 10px; }
.video-task-status { flex: 0 0 auto; color: #5b7165 !important; }
.video-task-card.failed .video-task-status { color: #ad5549 !important; }
.video-task-card video { display: block; width: 100%; max-height: 720px; background: #08151d; object-fit: contain; }
.video-task-loading { display: grid; place-items: center; align-content: center; gap: 12px; min-height: 300px; background: #edf1f3; color: #71818a; font-size: 11px; }
.video-task-loading i { width: 30px; height: 30px; border: 2px solid #ccd5d9; border-top-color: #c59543; border-radius: 50%; animation: studio-spin .8s linear infinite; }
.video-task-actions { display: flex; justify-content: flex-end; gap: 7px; padding: 10px 14px; border-top: 1px solid var(--line); }
.video-task-actions a, .video-task-actions button { padding: 7px 10px; border: 0; border-radius: 7px; background: #eef2f3; color: #334b57; font-size: 10px; text-decoration: none; }
.video-composer {
  position: fixed; left: calc(248px + (100vw - 248px) / 2); bottom: 24px; z-index: 18;
  width: min(1120px, calc(100vw - 248px - 70px)); padding: 14px 18px 11px;
  transform: translateX(-50%); border: 1px solid rgba(27,44,56,.1); border-radius: 22px;
  background: rgba(255,255,255,.97); box-shadow: 0 24px 80px rgba(11,28,39,.18); backdrop-filter: blur(18px);
}
.video-reference-preview { display: flex; gap: 7px; min-height: 0; overflow-x: auto; }
.video-reference-item {
  position: relative; display: grid; grid-template-columns: 48px minmax(70px, 120px); align-items: center;
  flex: 0 0 auto; gap: 7px; padding: 4px 25px 4px 4px; border: 1px solid #e0e5e7;
  border-radius: 9px; background: #f7f9f9;
}
.video-reference-item img, .video-reference-item video { width: 48px; height: 48px; border-radius: 7px; object-fit: cover; }
.video-reference-item span { overflow: hidden; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.video-reference-item button { position: absolute; right: 4px; top: 4px; width: 18px; height: 18px; padding: 0; border: 0; border-radius: 50%; background: #243b47; color: white; }
.video-add-reference {
  display: grid; place-items: center; align-content: center; flex: 0 0 58px; width: 58px; height: 58px;
  border: 1px dashed #c7d0d4; border-radius: 9px; background: #f5f7f8; color: #60727c; cursor: pointer;
}
.video-add-reference span { font-size: 8px; }
.video-composer > textarea { width: 100%; min-height: 58px; max-height: 150px; padding: 9px 2px; border: 0; background: transparent; box-shadow: none; resize: vertical; font-size: 15px; line-height: 1.6; }
.video-composer-bar { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.video-composer .workflow-status { margin: 7px 0 0; text-align: right; }
.studio-control input[type="checkbox"] { width: auto; }

.zd-seedance-shell {
  display: grid;
  gap: 22px;
  max-width: 1460px;
  margin: 0 auto;
}
.zd-hero,
.zd-card {
  border: 1px solid rgba(87, 211, 255, .18);
  border-radius: 22px;
  background:
    radial-gradient(circle at 86% 4%, rgba(121, 93, 255, .18), transparent 34%),
    linear-gradient(135deg, rgba(13, 35, 52, .9), rgba(8, 18, 36, .94));
  box-shadow: 0 24px 70px rgba(0, 0, 0, .22), inset 0 1px 0 rgba(255, 255, 255, .04);
}
.zd-hero {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  padding: 32px 36px;
}
.zd-hero h2 { margin: 4px 0 10px; font-size: 34px; }
.zd-hero p:last-child { max-width: 760px; margin: 0; color: var(--muted); line-height: 1.75; }
.zd-hero-badge {
  min-width: 210px;
  padding: 18px;
  border: 1px solid rgba(87, 211, 255, .22);
  border-radius: 18px;
  background: rgba(6, 17, 32, .55);
}
.zd-hero-badge span { display: block; color: #65e6ff; font-size: 10px; letter-spacing: .16em; }
.zd-hero-badge strong { display: block; margin-top: 8px; color: var(--ink); }
.zd-grid { display: grid; grid-template-columns: minmax(320px, .82fr) minmax(460px, 1.18fr); gap: 22px; }
.zd-card { padding: 24px; }
.zd-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; margin-bottom: 18px; }
.zd-card-head h3 { margin: 4px 0 0; font-size: 22px; }
.zd-auth-state {
  display: grid;
  gap: 8px;
  padding: 16px;
  border-radius: 16px;
  background: rgba(255, 255, 255, .04);
  color: var(--muted);
}
.zd-auth-state strong { color: var(--ink); }
.zd-auth-state.ok { border: 1px solid rgba(115, 255, 181, .25); }
.zd-auth-state.warn { border: 1px solid rgba(255, 206, 112, .25); }
.zd-auth-state.error { border: 1px solid rgba(255, 105, 105, .28); }
.zd-auth-actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 16px 0; }
.zd-login-box {
  display: grid;
  gap: 9px;
  padding: 14px;
  border: 1px solid rgba(87, 211, 255, .16);
  border-radius: 16px;
  background: rgba(0, 0, 0, .16);
}
.zd-login-box label { color: var(--muted); font-size: 11px; }
.zd-login-box p { margin: 2px 0 0; color: var(--muted); font-size: 11px; }
.copy-line { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; }
.copy-line input {
  min-width: 0;
  border-color: rgba(87, 211, 255, .18);
  background: rgba(4, 14, 27, .65);
  color: var(--ink);
}
.zd-form { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.zd-form label { display: grid; gap: 7px; color: var(--muted); font-size: 11px; }
.zd-form select,
.zd-prompt {
  border-color: rgba(87, 211, 255, .16);
  background: rgba(4, 14, 27, .65);
  color: var(--ink);
}
.zd-upload {
  display: grid;
  gap: 5px;
  margin: 16px 0 12px;
  padding: 16px;
  border: 1px dashed rgba(87, 211, 255, .34);
  border-radius: 16px;
  background: rgba(87, 211, 255, .05);
  cursor: pointer;
}
.zd-upload strong { color: #72e8ff; }
.zd-upload span { color: var(--muted); font-size: 12px; line-height: 1.7; }
.zd-reference-preview,
.zd-task-references {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 12px 0;
}
.zd-reference-empty,
.zd-mentioned-empty,
.zd-mention-empty {
  width: 100%;
  color: var(--muted);
  font-size: 13px;
  padding: 10px 0;
}
.zd-reference-chip {
  position: relative;
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  align-items: center;
  min-width: 210px;
  max-width: 280px;
  min-height: 66px;
  padding: 7px 34px 7px 7px;
  border: 1px solid rgba(92, 226, 255, .22);
  border-radius: 12px;
  background: rgba(7, 23, 40, .55);
}
.zd-reference-chip.is-mentioned {
  border-color: rgba(92, 226, 255, .72);
  box-shadow: 0 0 0 1px rgba(92, 226, 255, .2), 0 12px 28px rgba(33, 200, 255, .1);
}
.zd-reference-chip img {
  width: 52px;
  height: 52px;
  border-radius: 9px;
  object-fit: cover;
}
.zd-reference-chip > span {
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  border-radius: 9px;
  background: rgba(92, 226, 255, .13);
  color: #76e9ff;
  font-size: 12px;
}
.zd-reference-chip b {
  overflow: hidden;
  color: var(--ink);
  font-size: 12px;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.zd-reference-chip button {
  position: absolute;
  right: 8px;
  top: 8px;
  width: 22px;
  height: 22px;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, .12);
  color: var(--ink);
}
.zd-mentioned-preview {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  margin: 10px 0 12px;
}
.zd-mentioned-title {
  color: var(--gold);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .12em;
}
.zd-mentioned-chip,
.zd-mention-option {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  border: 1px solid rgba(92, 226, 255, .25);
  color: var(--ink);
  background: rgba(13, 31, 55, .86);
  border-radius: 12px;
  padding: 7px 10px;
  cursor: pointer;
}
.zd-mentioned-chip:hover,
.zd-mention-option:hover {
  border-color: rgba(92, 226, 255, .72);
  transform: translateY(-1px);
}
.zd-mentioned-chip img,
.zd-mention-option img {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  object-fit: cover;
}
.zd-mentioned-chip > span,
.zd-mention-option > span:first-child {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border-radius: 8px;
  color: var(--cyan);
  background: rgba(92, 226, 255, .1);
}
.zd-mentioned-chip b {
  max-width: 180px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.zd-mention-menu {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 8px 0 12px;
  padding: 12px;
  border: 1px solid rgba(92, 226, 255, .22);
  border-radius: 16px;
  background: rgba(4, 12, 24, .84);
}
.zd-mention-menu[hidden] {
  display: none;
}
.zd-task-references {
  padding: 0 18px 12px;
}
.zd-task-references img {
  width: 64px;
  height: 64px;
  border-radius: 10px;
  object-fit: cover;
  border: 1px solid rgba(92, 226, 255, .18);
}
.zd-task-references span {
  padding: 8px 10px;
  border-radius: 999px;
  background: rgba(92, 226, 255, .1);
  color: var(--muted);
  font-size: 12px;
}
.zd-results { margin-top: 22px; }
.zd-task-card video { background: #030912; }
.zd-prompt { width: 100%; min-height: 150px; resize: vertical; }
.zd-submit { width: 100%; margin-top: 12px; }
.zd-pill {
  padding: 7px 11px;
  border-radius: 999px;
  background: linear-gradient(135deg, #7ee8ff, #8b6cff);
  color: #071426;
  font-size: 11px;
  font-weight: 800;
}
.zd-guide h3 { margin: 4px 0 16px; font-size: 22px; }
.zd-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.zd-steps div {
  padding: 16px;
  border: 1px solid rgba(87, 211, 255, .14);
  border-radius: 16px;
  background: rgba(255, 255, 255, .035);
}
.zd-steps b {
  display: inline-grid;
  place-items: center;
  width: 30px;
  height: 30px;
  margin-bottom: 12px;
  border-radius: 10px;
  background: linear-gradient(135deg, #46d5ff, #8b63ff);
  color: #071426;
}
.zd-steps strong,
.zd-steps span { display: block; }
.zd-steps span { margin-top: 7px; color: var(--muted); font-size: 12px; line-height: 1.7; }

@media (max-width: 980px) {
  .video-composer { left: calc(78px + (100vw - 78px) / 2); width: min(1120px, calc(100vw - 78px - 36px)); }
  .zd-grid { grid-template-columns: 1fr; }
  .zd-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 680px) {
  .video-studio-shell { padding-bottom: 320px; }
  .video-composer-bar { align-items: flex-end; }
  .zd-hero { align-items: flex-start; flex-direction: column; padding: 24px; }
  .zd-form,
  .zd-steps { grid-template-columns: 1fr; }
}

@media (max-width: 980px) {
  .assistant-workspace { grid-template-columns: 210px minmax(0, 1fr); }
}
@media (max-width: 720px) {
  .assistant-workspace { grid-template-columns: 1fr; height: auto; min-height: calc(100vh - 170px); overflow: visible; }
  .assistant-history { display: none; }
  .assistant-main { min-height: calc(100vh - 170px); }
  .assistant-message-list { max-height: none; }
  .assistant-suggestions { grid-template-columns: 1fr; }
  .assistant-message-inner { padding: 20px 16px; }
  .assistant-composer-wrap { position: sticky; bottom: 0; padding-inline: 14px; }
}

/* Dark Tech Theme System */
:root,
:root[data-theme="dark-tech"] {
  --ink: #e8f4ff;
  --muted: #8fa7bc;
  --paper: #07111d;
  --panel: rgba(13, 25, 42, .78);
  --navy: #07111d;
  --navy-2: #10233a;
  --gold: #41d7ff;
  --gold-soft: #9be7ff;
  --line: rgba(113, 215, 255, .16);
  --green: #43f0b3;
  --shadow: 0 22px 70px rgba(0, 0, 0, .36);
  --shadow-hover: 0 28px 90px rgba(41, 180, 255, .18);
  --theme-bg-a: rgba(39, 118, 255, .22);
  --theme-bg-b: rgba(143, 63, 255, .18);
  --theme-accent: #41d7ff;
  --theme-accent-2: #8b5cff;
  --theme-warm: #ffd166;
}
:root[data-theme="aurora"] {
  --ink: #ecf7ff;
  --muted: #9fb5ce;
  --paper: #080a21;
  --panel: rgba(14, 20, 54, .76);
  --navy: #080a21;
  --navy-2: #171b50;
  --gold: #7cf4ff;
  --gold-soft: #c5ecff;
  --line: rgba(148, 125, 255, .22);
  --green: #62f6c8;
  --theme-bg-a: rgba(28, 144, 255, .22);
  --theme-bg-b: rgba(189, 84, 255, .22);
  --theme-accent: #7cf4ff;
  --theme-accent-2: #bd54ff;
  --theme-warm: #ffe985;
}
:root[data-theme="black-gold"] {
  --ink: #fff6df;
  --muted: #b8a988;
  --paper: #070706;
  --panel: rgba(24, 20, 14, .82);
  --navy: #080807;
  --navy-2: #1e190f;
  --gold: #f5c56b;
  --gold-soft: #ffe7ad;
  --line: rgba(245, 197, 107, .2);
  --green: #8ee6b1;
  --theme-bg-a: rgba(245, 197, 107, .18);
  --theme-bg-b: rgba(255, 121, 63, .12);
  --theme-accent: #f5c56b;
  --theme-accent-2: #ff8f4e;
  --theme-warm: #fff0bd;
}
:root[data-theme="cool-light"] {
  --ink: #102131;
  --muted: #64788b;
  --paper: #eef6ff;
  --panel: rgba(255, 255, 255, .82);
  --navy: #102235;
  --navy-2: #1e3a55;
  --gold: #2979ff;
  --gold-soft: #d7e9ff;
  --line: rgba(35, 96, 150, .14);
  --green: #1b9f7d;
  --shadow: 0 22px 70px rgba(63, 102, 140, .16);
  --shadow-hover: 0 26px 80px rgba(41, 121, 255, .18);
  --theme-bg-a: rgba(41, 121, 255, .16);
  --theme-bg-b: rgba(123, 215, 255, .2);
  --theme-accent: #2979ff;
  --theme-accent-2: #00bcd4;
  --theme-warm: #5b6cff;
}
:root[data-theme="cyber-neon"] {
  --ink: #f7fbff;
  --muted: #9aa8be;
  --paper: #05030d;
  --panel: rgba(14, 11, 28, .78);
  --navy: #05030d;
  --navy-2: #19102e;
  --gold: #00f5ff;
  --gold-soft: #a7fbff;
  --line: rgba(255, 46, 214, .2);
  --green: #00ff99;
  --theme-bg-a: rgba(0, 245, 255, .2);
  --theme-bg-b: rgba(255, 46, 214, .2);
  --theme-accent: #00f5ff;
  --theme-accent-2: #ff2ed6;
  --theme-warm: #faff00;
}

html { background: var(--paper); }
body {
  color: var(--ink);
  background:
    radial-gradient(circle at 12% 8%, var(--theme-bg-a), transparent 30%),
    radial-gradient(circle at 82% 4%, var(--theme-bg-b), transparent 34%),
    radial-gradient(circle at 72% 86%, rgba(56, 255, 199, .08), transparent 34%),
    linear-gradient(135deg, var(--paper), #020611 72%);
}
:root[data-theme="cool-light"] body {
  background:
    radial-gradient(circle at 12% 8%, var(--theme-bg-a), transparent 30%),
    radial-gradient(circle at 82% 4%, var(--theme-bg-b), transparent 34%),
    linear-gradient(135deg, #f8fcff, var(--paper) 72%);
}
body::before {
  content: ""; position: fixed; inset: 0; pointer-events: none; z-index: -1;
  background-image:
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
  background-size: 42px 42px;
  mask-image: linear-gradient(180deg, rgba(0,0,0,.75), transparent 72%);
}
:root[data-theme="cool-light"] body::before { background-image: linear-gradient(rgba(16,60,100,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(16,60,100,.045) 1px, transparent 1px); }

.sidebar {
  background:
    radial-gradient(circle at 28% 0%, color-mix(in srgb, var(--theme-accent) 18%, transparent), transparent 30%),
    linear-gradient(180deg, rgba(7,17,29,.98), rgba(3,8,16,.98));
  border-right: 1px solid var(--line);
  box-shadow: 18px 0 60px rgba(0,0,0,.28);
}
:root[data-theme="cool-light"] .sidebar { background: linear-gradient(180deg, #11253a, #071625); }
.brand-mark {
  background: linear-gradient(135deg, var(--theme-accent), var(--theme-accent-2));
  color: #03101d;
  box-shadow: 0 0 28px color-mix(in srgb, var(--theme-accent) 35%, transparent);
}
.brand span, .sidebar-foot span, .nav-item { color: var(--muted); }
.nav-item span { color: var(--theme-accent); }
.nav-item:hover,
.nav-item.active {
  background: linear-gradient(90deg, color-mix(in srgb, var(--theme-accent) 18%, transparent), rgba(255,255,255,.045));
  color: var(--ink);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--theme-accent) 20%, transparent), 0 10px 30px rgba(0,0,0,.18);
}
.nav-item.active::before { background: linear-gradient(180deg, var(--theme-accent), var(--theme-accent-2)); box-shadow: 0 0 16px var(--theme-accent); }

main { color: var(--ink); }
header {
  background: color-mix(in srgb, var(--paper) 78%, transparent);
  border-bottom: 1px solid var(--line);
  backdrop-filter: blur(22px) saturate(135%);
}
.eyebrow { color: var(--theme-accent); text-shadow: 0 0 18px color-mix(in srgb, var(--theme-accent) 45%, transparent); }
h1, h2, h3, .panel-head h2, .asset-body h3, .shot-body h3 { color: var(--ink); }
.muted, .stat span, .field label, .commerce-option span, .studio-task-meta, .video-task-head span { color: var(--muted); }

.app-header-actions { align-items: center; flex-wrap: wrap; justify-content: flex-end; }
.auth-entry { min-height: 40px; display: inline-flex; align-items: center; text-decoration: none; white-space: nowrap; }
.theme-picker {
  display: flex; align-items: center; gap: 8px; min-height: 40px; padding: 4px 5px 4px 12px;
  border: 1px solid var(--line); border-radius: 999px;
  background: color-mix(in srgb, var(--panel) 82%, transparent);
  color: var(--muted); font-size: 11px; backdrop-filter: blur(16px);
}
.theme-picker select { min-height: 30px; padding: 4px 28px 4px 10px; border: 0; border-radius: 999px; background: color-mix(in srgb, var(--theme-accent) 10%, transparent); color: var(--ink); box-shadow: none; }
#project-controls { align-items: center; }

.stat, .panel, .asset-card, .shot, .chat-shell, .assistant-workspace, .commerce-config, .commerce-output, .video-task-card, .studio-task, .digital-human-shell .panel, .workflow-form, .workflow-preview {
  border-color: var(--line) !important;
  background: var(--panel) !important;
  box-shadow: var(--shadow);
  backdrop-filter: blur(22px) saturate(125%);
}
.panel, .asset-card, .shot, .chat-shell, .assistant-workspace, .video-task-card { border-radius: 18px; }
.hero, .commerce-hero, .studio-chat-head, .video-studio-shell .studio-chat-head {
  border: 1px solid var(--line);
  background:
    radial-gradient(circle at 84% 12%, color-mix(in srgb, var(--theme-accent) 22%, transparent), transparent 24%),
    radial-gradient(circle at 18% 0%, color-mix(in srgb, var(--theme-accent-2) 18%, transparent), transparent 28%),
    linear-gradient(135deg, color-mix(in srgb, var(--navy-2) 80%, transparent), color-mix(in srgb, var(--navy) 90%, transparent));
  box-shadow: 0 24px 80px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.06);
}
.hero p, .commerce-hero p, .studio-chat-head p:last-child { color: color-mix(in srgb, var(--muted) 85%, white); }
.hero-meta span { border-color: color-mix(in srgb, var(--theme-accent) 28%, transparent); background: color-mix(in srgb, var(--theme-accent) 10%, transparent); }

select, input, textarea, .studio-control, .commerce-option, .assistant-model-picker, .assistant-attach-button, .global-image-controls, .video-reference-item, .studio-add-reference, .video-add-reference {
  border-color: var(--line) !important;
  background: color-mix(in srgb, var(--panel) 76%, transparent) !important;
  color: var(--ink) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}
select option { color: #07111d; background: #f6fbff; }
input::placeholder, textarea::placeholder { color: color-mix(in srgb, var(--muted) 75%, transparent); }
input:focus, textarea:focus, select:focus, .assistant-composer:focus-within {
  border-color: var(--theme-accent) !important;
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--theme-accent) 16%, transparent), 0 0 34px color-mix(in srgb, var(--theme-accent) 12%, transparent) !important;
}

.button, .video-task-actions a, .video-task-actions button, .studio-task-footer button, .assistant-suggestions button {
  border-color: var(--line) !important;
  background: color-mix(in srgb, var(--panel) 78%, transparent) !important;
  color: var(--ink) !important;
}
.button.primary, .studio-send, .video-composer .studio-send, .assistant-composer button {
  border: 0 !important;
  background: linear-gradient(135deg, var(--theme-accent), var(--theme-accent-2)) !important;
  color: #03101d !important;
  box-shadow: 0 0 28px color-mix(in srgb, var(--theme-accent) 28%, transparent) !important;
}
.button.gold, .studio-optimize {
  border: 0 !important;
  background: linear-gradient(135deg, var(--theme-warm), var(--theme-accent)) !important;
  color: #06111b !important;
  box-shadow: 0 0 24px color-mix(in srgb, var(--theme-warm) 22%, transparent) !important;
}
.button:hover, .studio-task-footer button:hover, .assistant-suggestions button:hover { border-color: var(--theme-accent) !important; box-shadow: var(--shadow-hover); }

.tag, .status, .assistant-message-files span {
  background: color-mix(in srgb, var(--theme-accent) 12%, transparent) !important;
  color: color-mix(in srgb, var(--ink) 88%, var(--theme-accent)) !important;
}
.linked-asset { background: color-mix(in srgb, var(--green) 14%, transparent) !important; color: var(--green) !important; }
.bar, .video-task-loading, .studio-result-placeholder { background: color-mix(in srgb, var(--panel) 65%, #000) !important; }
.bar i, .task-panel #task-progress-bar { background: linear-gradient(90deg, var(--theme-accent), var(--theme-accent-2)); box-shadow: 0 0 16px var(--theme-accent); }

.studio-composer, .video-composer, .assistant-composer {
  border-color: var(--line) !important;
  background: color-mix(in srgb, var(--panel) 90%, transparent) !important;
  box-shadow: 0 24px 80px rgba(0,0,0,.32), 0 0 40px color-mix(in srgb, var(--theme-accent) 8%, transparent) !important;
  backdrop-filter: blur(24px) saturate(140%);
}
.studio-composer.compact { box-shadow: 0 18px 60px rgba(0,0,0,.36), 0 0 28px color-mix(in srgb, var(--theme-accent) 16%, transparent) !important; }
.studio-task-results, .commerce-preview-grid { background: color-mix(in srgb, var(--paper) 70%, #000) !important; }
.studio-result-image, .studio-result-placeholder, .commerce-source, .asset-thumb, .shot-image { background-color: color-mix(in srgb, var(--panel) 72%, #000) !important; }

.chat-toolbar, .assistant-header, .assistant-history, .assistant-composer-wrap, .shot-side, .commerce-history-panel, .chat-composer, .chat-note {
  background: color-mix(in srgb, var(--panel) 74%, transparent) !important;
  border-color: var(--line) !important;
}
.chat-bubble, .assistant-message.ai .assistant-message-text {
  background: color-mix(in srgb, var(--panel) 78%, transparent) !important;
  color: var(--ink) !important;
}
.chat-message.user .chat-bubble, .assistant-message.user .assistant-message-text {
  background: linear-gradient(135deg, color-mix(in srgb, var(--theme-accent) 22%, var(--panel)), color-mix(in srgb, var(--theme-accent-2) 22%, var(--panel))) !important;
  color: var(--ink) !important;
}
.chat-avatar, .assistant-avatar, .chat-logo { background: linear-gradient(135deg, var(--theme-accent), var(--theme-accent-2)) !important; color: #03101d !important; }

/* AI assistant: keep the sidebar search and bottom composer clean, without gray shadow panels. */
.assistant-search,
.assistant-search:focus-within {
  border-color: color-mix(in srgb, var(--line) 72%, transparent) !important;
  background: color-mix(in srgb, var(--panel) 30%, transparent) !important;
  box-shadow: none !important;
  filter: none !important;
}
.assistant-search input,
.assistant-search input:focus {
  background: transparent !important;
  box-shadow: none !important;
  outline: none !important;
}
.assistant-composer-wrap {
  border-top-color: transparent !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}
.assistant-composer,
.assistant-composer:focus-within {
  background: color-mix(in srgb, var(--panel) 82%, transparent) !important;
  box-shadow: none !important;
}

.moments-shell { max-width: 1320px; margin: -6px auto 0; }
.content.content-moments-full {
  max-width: none;
  margin: 0;
  padding-left: 18px;
  padding-right: 18px;
}
.content.content-chat-full,
.content.content-home-full,
.content.content-commerce-full,
.content.content-image-studio-full,
.content.content-video-studio-full,
.content.content-zd-full,
.content.content-tvc-full {
  max-width: none;
  margin: 0;
  padding-left: 18px;
  padding-right: 18px;
}
.content-chat-full .assistant-workspace {
  width: 100%;
  min-height: 620px;
  height: calc(100vh - 176px);
  margin: -10px 0 0;
}
.content-chat-full .assistant-message-inner {
  max-width: 1380px;
}
.content-commerce-full .commerce-detail-hero,
.content-commerce-full .commerce-detail-layout {
  width: 100%;
  max-width: none;
}
.content-commerce-full .commerce-detail-layout {
  grid-template-columns: minmax(520px, .92fr) minmax(760px, 1.28fr);
  gap: 24px;
  margin-left: 0;
  margin-right: 0;
}
.content-image-studio-full .studio-chat-shell,
.content-video-studio-full .video-studio-shell,
.content-zd-full .zd-seedance-shell,
.content-tvc-full .tvc-hero,
.content-tvc-full .tvc-studio-shell {
  width: 100%;
  max-width: none;
  margin-left: 0;
  margin-right: 0;
}
.content-image-studio-full .studio-chat-head,
.content-image-studio-full .studio-feed,
.content-video-studio-full .video-task-feed {
  width: 100%;
  max-width: none;
}
.content-image-studio-full .studio-task-prompt-row {
  max-width: none;
}
.content-video-studio-full .video-studio-shell {
  margin-top: -10px;
}
.content-video-studio-full .studio-chat-head {
  width: 100%;
  max-width: none;
  margin-left: 0;
  margin-right: 0;
}
.content-home-full .home-shell,
.content-home-full .home-hero,
.content-home-full .home-service-grid,
.content-home-full .home-wide-grid,
.content-home-full .home-tabs-card,
.content-home-full .home-cta {
  width: 100%;
  max-width: none;
}
.content-home-full .home-shell {
  margin-left: 0;
  margin-right: 0;
}
.content-zd-full .zd-grid {
  grid-template-columns: minmax(520px, .92fr) minmax(760px, 1.28fr);
}
.content-tvc-full .tvc-studio-shell {
  grid-template-columns: minmax(520px, .92fr) minmax(760px, 1.28fr);
}
.content-moments-full .moments-shell {
  width: 100%;
  max-width: none;
  margin: -6px 0 0;
}
.content-moments-full .moments-hero,
.content-moments-full .moments-home,
.content-moments-full .moments-home-section,
.content-moments-full .moments-home-process {
  width: 100%;
  max-width: none;
}
.content-moments-full .moments-home-hero {
  grid-template-columns: minmax(620px, 1.08fr) minmax(560px, .92fr);
}
.content-moments-full .moments-home-benefits,
.content-moments-full .moments-home-process {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.content-moments-full .moments-home-scenarios {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.content.content-graphic-ads {
  max-width: none;
  margin: 0;
  padding-left: 18px;
  padding-right: 18px;
}
.graphic-ads-shell {
  width: 100%;
  max-width: none;
  margin: -6px 0 0;
}
.graphic-ads-shell .moments-hero {
  width: 100%;
  max-width: none;
  margin-left: 0;
  margin-right: 0;
}
.graphic-ads-shell .moments-layout {
  width: 100%;
  grid-template-columns: minmax(520px, .9fr) minmax(720px, 1.35fr);
  gap: 24px;
}
.moments-hero {
  display: flex; justify-content: space-between; align-items: flex-end; gap: 20px;
  margin-bottom: 20px; padding: 24px 28px; border: 1px solid var(--line); border-radius: 22px;
  background:
    radial-gradient(circle at 86% 12%, color-mix(in srgb, var(--theme-accent) 18%, transparent), transparent 28%),
    linear-gradient(135deg, color-mix(in srgb, var(--panel) 92%, transparent), color-mix(in srgb, var(--navy) 78%, transparent));
  box-shadow: var(--shadow);
}
.moments-hero h2 { margin: 4px 0 8px; font-size: 28px; }
.moments-hero p:last-child { max-width: 720px; margin: 0; color: var(--muted); line-height: 1.8; }
.moments-tabs {
  display: flex; width: max-content; max-width: 100%; gap: 7px; margin: -4px 0 20px;
  padding: 5px; overflow-x: auto; border: 1px solid var(--line); border-radius: 15px;
  background: color-mix(in srgb, var(--panel) 86%, transparent); box-shadow: var(--shadow);
}
.moments-tabs button {
  min-width: 112px; padding: 11px 18px; border: 0; border-radius: 11px;
  background: transparent; color: var(--muted); font-weight: 800; cursor: pointer; white-space: nowrap;
}
.moments-tabs button.active {
  color: #03101d;
  background: linear-gradient(135deg, var(--theme-accent), var(--theme-accent-2));
  box-shadow: 0 10px 24px color-mix(in srgb, var(--theme-accent) 24%, transparent);
}
.moments-home { display: grid; gap: 22px; }
.moments-home-hero {
  position: relative; overflow: hidden; display: grid; grid-template-columns: minmax(0, 1fr) minmax(420px, .9fr);
  gap: 26px; align-items: stretch; padding: 28px; border: 1px solid var(--line); border-radius: 30px;
  background:
    radial-gradient(circle at 82% 16%, color-mix(in srgb, var(--theme-accent-2) 28%, transparent), transparent 36%),
    radial-gradient(circle at 8% 90%, color-mix(in srgb, var(--theme-accent) 22%, transparent), transparent 42%),
    linear-gradient(135deg, color-mix(in srgb, var(--panel) 92%, transparent), color-mix(in srgb, var(--navy) 78%, transparent));
  box-shadow: var(--shadow);
}
.moments-home-copy { position: relative; z-index: 1; display: flex; flex-direction: column; justify-content: center; min-height: 430px; }
.moments-home-copy h3 {
  max-width: 800px; margin: 6px 0 18px; font-size: clamp(36px, 4.6vw, 64px);
  line-height: 1.04; letter-spacing: -.055em;
}
.moments-home-copy p:not(.eyebrow) {
  max-width: 760px; margin: 0 0 12px; color: var(--muted); font-size: 17px; line-height: 1.9;
}
.moments-home-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
.moments-home-visual {
  position: relative; min-height: 430px; overflow: hidden; border: 1px solid var(--line); border-radius: 26px;
  background: color-mix(in srgb, var(--panel) 78%, transparent);
  box-shadow: 0 28px 80px rgba(0,0,0,.3);
}
.moments-home-visual img {
  width: 100%; height: 100%; min-height: 430px; object-fit: cover; display: block;
  filter: saturate(1.08) contrast(1.04); opacity: .9;
}
.moments-home-visual::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(180deg, transparent 36%, rgba(3, 16, 29, .72));
  pointer-events: none;
}
.moments-home-float {
  position: absolute; z-index: 1; left: 18px; right: 18px; display: grid; gap: 4px;
  padding: 14px 16px; border: 1px solid color-mix(in srgb, var(--theme-accent) 35%, var(--line));
  border-radius: 18px; background: rgba(5, 18, 34, .72); backdrop-filter: blur(14px);
}
.moments-home-float.top { top: 18px; right: auto; min-width: 250px; }
.moments-home-float.bottom { bottom: 18px; left: auto; min-width: 285px; }
.moments-home-float strong { color: var(--ink); font-size: 16px; }
.moments-home-float span { color: var(--muted); font-size: 13px; }
.moments-home-section {
  padding: 26px; border: 1px solid var(--line); border-radius: 28px;
  background: linear-gradient(135deg, color-mix(in srgb, var(--panel) 88%, transparent), color-mix(in srgb, var(--navy) 76%, transparent));
  box-shadow: var(--shadow);
}
.section-title { margin-bottom: 18px; }
.section-title h3 { margin: 4px 0 8px; font-size: 30px; letter-spacing: -.035em; }
.section-title p:not(.eyebrow) { max-width: 800px; margin: 0; color: var(--muted); line-height: 1.8; }
.moments-home-benefits { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.moments-home-card, .moments-home-scenario, .moments-home-process article {
  border: 1px solid var(--line); border-radius: 22px;
  background:
    radial-gradient(circle at 90% 0, color-mix(in srgb, var(--theme-accent) 18%, transparent), transparent 32%),
    color-mix(in srgb, var(--panel) 78%, transparent);
}
.moments-home-card { min-height: 260px; padding: 14px 16px 20px; }
.moments-card-visual {
  position: relative; overflow: hidden; height: 118px; margin-bottom: 18px; border: 1px solid color-mix(in srgb, var(--theme-accent) 28%, var(--line));
  border-radius: 18px;
  background:
    radial-gradient(circle at 76% 18%, color-mix(in srgb, var(--theme-accent-2) 28%, transparent), transparent 28%),
    radial-gradient(circle at 24% 82%, color-mix(in srgb, var(--theme-accent) 24%, transparent), transparent 34%),
    linear-gradient(135deg, rgba(8, 28, 52, .95), rgba(16, 13, 48, .88));
  box-shadow: inset 0 0 28px rgba(82, 218, 255, .08);
}
.moments-card-visual img {
  position: absolute; inset: 0; z-index: 0;
  width: 100%; height: 100%; object-fit: cover; display: block;
  filter: saturate(1.08) contrast(1.05);
}
.moments-card-visual::before {
  content: ""; position: absolute; inset: 0; z-index: 1;
  background:
    linear-gradient(180deg, rgba(2, 10, 22, .08), rgba(2, 10, 22, .42)),
    radial-gradient(circle at 78% 18%, color-mix(in srgb, var(--theme-accent) 18%, transparent), transparent 36%);
  pointer-events: none;
}
.moments-card-visual::after {
  content: ""; position: absolute; left: 18px; right: 18px; bottom: 14px; z-index: 2; height: 2px;
  background: linear-gradient(90deg, transparent, var(--theme-accent), var(--theme-accent-2), transparent);
  box-shadow: 0 0 18px color-mix(in srgb, var(--theme-accent) 70%, transparent);
}
.moments-card-visual i, .moments-card-visual em, .moments-card-visual b {
  position: absolute; display: block; z-index: 1; font-style: normal;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 48%, transparent);
  background: color-mix(in srgb, var(--panel) 50%, transparent);
  box-shadow: 0 0 28px color-mix(in srgb, var(--theme-accent) 18%, transparent);
}
.moments-card-visual:has(img) i,
.moments-card-visual:has(img) em,
.moments-card-visual:has(img) b { display: none; }
.moments-card-visual i { width: 58px; height: 58px; left: 22px; top: 28px; border-radius: 18px; }
.moments-card-visual em { width: 96px; height: 28px; right: 24px; top: 26px; border-radius: 999px; }
.moments-card-visual b { width: 126px; height: 34px; right: 24px; bottom: 28px; border-radius: 12px; }
.visual-recognition .moments-card-visual i { border-radius: 999px; background: radial-gradient(circle, var(--theme-accent) 0 22%, transparent 23% 36%, color-mix(in srgb, var(--theme-accent-2) 56%, transparent) 37%); }
.visual-recognition .moments-card-visual em,
.visual-persona .moments-card-visual em { width: 72px; height: 72px; border-radius: 999px; right: 34px; top: 22px; }
.visual-trust .moments-card-visual i,
.visual-professional .moments-card-visual i { width: 74px; border-radius: 16px; background: linear-gradient(135deg, color-mix(in srgb, var(--theme-accent) 38%, transparent), rgba(255,255,255,.05)); }
.visual-trust .moments-card-visual em,
.visual-deal .moments-card-visual em { width: 118px; height: 44px; top: 18px; border-radius: 16px; }
.visual-need .moments-card-visual i,
.visual-life .moments-card-visual i { width: 70px; height: 70px; border-radius: 22px 22px 46px 22px; transform: rotate(-12deg); }
.visual-consult .moments-card-visual em,
.visual-burst .moments-card-visual em { width: 84px; height: 42px; border-radius: 18px 18px 18px 4px; }
.visual-consult .moments-card-visual b,
.visual-multi .moments-card-visual b { width: 92px; height: 28px; right: 54px; bottom: 26px; }
.visual-persona .moments-card-visual i { border-radius: 999px; }
.visual-persona .moments-card-visual b { width: 112px; left: 24px; right: auto; }
.visual-life .moments-card-visual em { width: 62px; height: 62px; border-radius: 999px; }
.visual-professional .moments-card-visual b { height: 8px; box-shadow: 0 16px 0 color-mix(in srgb, var(--theme-accent) 22%, transparent), 0 32px 0 color-mix(in srgb, var(--theme-accent-2) 22%, transparent); }
.visual-deal .moments-card-visual b { width: 76px; height: 76px; border-radius: 20px; right: 34px; bottom: 18px; transform: rotate(8deg); }
.visual-multi .moments-card-visual i { box-shadow: 24px 12px 0 color-mix(in srgb, var(--theme-accent) 12%, transparent), 48px 24px 0 color-mix(in srgb, var(--theme-accent-2) 12%, transparent); }
.visual-burst .moments-card-visual i { width: 24px; height: 76px; border-radius: 999px; box-shadow: 28px -10px 0 color-mix(in srgb, var(--theme-accent) 16%, transparent), 56px 6px 0 color-mix(in srgb, var(--theme-accent-2) 16%, transparent); }
.visual-input .moments-card-visual i { width: 86px; height: 62px; border-radius: 16px; }
.visual-direction .moments-card-visual i { width: 72px; height: 72px; border-radius: 999px; }
.visual-direction .moments-card-visual em { transform: rotate(-18deg); }
.visual-angle .moments-card-visual i { width: 90px; height: 24px; top: 44px; transform: rotate(-16deg); }
.visual-angle .moments-card-visual em { width: 42px; height: 42px; border-radius: 999px; right: 40px; top: 24px; }
.visual-publish .moments-card-visual i { width: 94px; height: 58px; border-radius: 18px 18px 18px 5px; }
.visual-publish .moments-card-visual b { width: 42px; height: 42px; border-radius: 999px; }
.moments-home-card span {
  display: inline-flex; margin-bottom: 18px; padding: 8px 12px; border-radius: 999px;
  color: #03101d; font-weight: 1000; background: linear-gradient(135deg, var(--theme-accent), var(--theme-accent-2));
}
.moments-home-card p, .moments-home-scenario p, .moments-home-process p {
  margin: 0; color: var(--muted); line-height: 1.8;
}
.moments-home-scenarios { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.moments-home-scenario { min-height: 300px; padding: 16px 18px 20px; }
.moments-home-scenario strong { display: block; color: var(--ink); font-size: 20px; }
.moments-home-scenario span { display: block; margin: 7px 0 12px; color: var(--theme-accent); font-weight: 900; }
.moments-home-process { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.moments-home-process article { padding: 14px 16px 20px; }
.moments-home-process article > b {
  display: inline-flex; width: 42px; height: 42px; align-items: center; justify-content: center; margin-bottom: 16px;
  border-radius: 14px; color: #03101d; background: linear-gradient(135deg, var(--theme-accent), var(--theme-accent-2));
}
.moments-home-process strong { display: block; margin-bottom: 10px; color: var(--ink); font-size: 18px; }
.moments-layout { display: grid; grid-template-columns: minmax(360px, .82fr) minmax(460px, 1.18fr); gap: 20px; align-items: start; }
.moments-editor textarea {
  width: 100%; min-height: 210px; padding: 16px; border: 1px solid var(--line); border-radius: 16px;
  resize: vertical; font-size: 15px; line-height: 1.8;
}
.moment-reference-box { display: grid; gap: 10px; margin: 12px 0 2px; }
.moment-reference-upload {
  display: grid; grid-template-columns: auto 1fr; gap: 3px 10px; align-items: center;
  min-height: 58px; padding: 10px 12px; border: 1px dashed color-mix(in srgb, var(--theme-accent) 62%, var(--line));
  border-radius: 14px; cursor: pointer;
  background: color-mix(in srgb, var(--theme-accent) 8%, var(--panel));
}
.moment-reference-upload span {
  grid-row: span 2; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 10px;
  color: var(--navy); background: linear-gradient(135deg, var(--theme-accent), var(--theme-accent-2)); font-size: 22px; font-weight: 900;
}
.moment-reference-upload strong { color: var(--ink); font-size: 14px; }
.moment-reference-upload small { color: var(--muted); font-size: 12px; line-height: 1.4; }
.moment-reference-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.moment-reference-card {
  position: relative; aspect-ratio: 1 / 1; overflow: hidden; border: 1px solid var(--line); border-radius: 12px;
  background: color-mix(in srgb, var(--panel) 84%, transparent);
}
.moment-reference-card img { width: 100%; height: 100%; object-fit: cover; display: block; }
.graphic-ad-reference-preview {
  display: block; width: 100%; height: 100%; padding: 0; border: 0;
  background: transparent; cursor: zoom-in;
}
.graphic-ad-reference-preview img { transition: transform .18s ease; }
.graphic-ad-reference-preview:hover img { transform: scale(1.04); }
.moment-reference-card button {
  position: absolute; top: 6px; right: 6px; width: 24px; height: 24px; border: 1px solid color-mix(in srgb, #fff 28%, transparent);
  border-radius: 999px; color: #fff; background: rgba(0,0,0,.58); cursor: pointer; line-height: 1;
}
.moment-reference-card .graphic-ad-reference-preview {
  position: static; width: 100%; height: 100%; padding: 0; border: 0;
  border-radius: 0; color: inherit; background: transparent; line-height: normal;
}
.moments-agent-layout { display: grid; grid-template-columns: minmax(320px, .55fr) minmax(520px, 1.45fr); gap: 20px; align-items: start; }
.moments-agent-items { display: grid; gap: 10px; }
.moments-agent-item {
  display: grid; gap: 5px; width: 100%; padding: 14px 15px; border: 1px solid var(--line); border-radius: 14px;
  background: color-mix(in srgb, var(--panel) 78%, transparent); color: var(--ink); text-align: left; cursor: pointer;
}
.moments-agent-item strong { font-size: 14px; }
.moments-agent-item span { color: var(--muted); font-size: 11px; }
.moments-agent-item.active {
  border-color: color-mix(in srgb, var(--theme-accent) 58%, var(--line));
  background: color-mix(in srgb, var(--theme-accent) 12%, var(--panel));
}
.moments-agent-prompt-view {
  width: 100%; min-height: 430px; padding: 16px; border: 1px solid var(--line); border-radius: 16px;
  resize: vertical; font-size: 13px; line-height: 1.8;
}
.moments-locked-box {
  min-height: 240px; display: grid; place-items: center; padding: 30px; border: 1px dashed var(--line);
  border-radius: 16px; color: var(--muted); text-align: center;
  background: color-mix(in srgb, var(--theme-accent) 8%, var(--panel));
}
.moments-controls { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 14px 0; }
.moments-controls label { display: grid; gap: 7px; color: var(--muted); font-size: 11px; }
.graphic-ad-count-row {
  display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 12px 0 8px;
  padding: 10px; border: 1px solid var(--line); border-radius: 12px;
  background: color-mix(in srgb, var(--theme-accent) 7%, var(--panel));
}
.graphic-ad-count-row span { color: var(--muted); font-size: 12px; margin-right: 4px; }
.graphic-ad-count-row button {
  min-height: 30px; padding: 0 10px; border: 1px solid var(--line); border-radius: 999px;
  background: color-mix(in srgb, var(--panel) 86%, transparent); color: var(--ink);
  font-size: 11px; cursor: pointer;
}
.graphic-ad-count-row button.active {
  border-color: color-mix(in srgb, var(--theme-accent) 70%, #fff);
  background: linear-gradient(90deg, var(--theme-accent), var(--theme-hot));
  color: #071019; font-weight: 800;
}
.graphic-ad-custom-count {
  display: inline-flex; align-items: center; gap: 7px; margin-left: 4px;
  color: var(--muted); font-size: 12px;
}
.graphic-ad-custom-count[hidden] { display: none; }
.graphic-ad-custom-count input {
  width: 62px; min-height: 30px; padding: 4px 8px; border-radius: 999px; text-align: center;
}
.graphic-ad-custom-count em { color: var(--muted); font-style: normal; }
.graphic-ad-result-grid {
  display: grid;
  gap: 14px;
  margin-bottom: 16px;
}
.graphic-ad-result-grid.count-1 {
  grid-template-columns: minmax(0, min(560px, 100%));
  justify-content: center;
}
.graphic-ad-result-grid.count-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.graphic-ad-result-grid.count-3,
.graphic-ad-result-grid.count-4 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.graphic-ad-result-grid.count-many {
  grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
}
.graphic-ad-result-card {
  overflow: hidden; border: 1px solid var(--line); border-radius: 14px;
  background: color-mix(in srgb, var(--panel) 82%, #020813);
  box-shadow: 0 16px 42px rgba(0,0,0,.16);
}
.graphic-ad-result-preview {
  display: grid; place-items: center; width: 100%; padding: 10px; border: 0;
  background:
    linear-gradient(135deg, rgba(255,255,255,.035), rgba(255,255,255,.01)),
    #050812;
  cursor: zoom-in;
}
.graphic-ad-result-preview img {
  display: block; width: 100%; max-width: 100%; object-fit: contain;
  border-radius: 10px; background: rgba(255,255,255,.04);
}
.graphic-ad-result-grid.count-1 .graphic-ad-result-preview img { max-height: 430px; }
.graphic-ad-result-grid.count-2 .graphic-ad-result-preview img { max-height: 320px; }
.graphic-ad-result-grid.count-3 .graphic-ad-result-preview img,
.graphic-ad-result-grid.count-4 .graphic-ad-result-preview img { max-height: 240px; }
.graphic-ad-result-grid.count-many .graphic-ad-result-preview { padding: 8px; }
.graphic-ad-result-grid.count-many .graphic-ad-result-preview img {
  height: 150px;
  max-height: 150px;
}
.graphic-ad-result-meta {
  display: grid; gap: 4px; padding: 10px 12px 0;
}
.graphic-ad-result-meta strong {
  color: var(--ink); font-size: 13px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.graphic-ad-result-meta span {
  color: var(--muted); font-size: 11px; line-height: 1.5;
}
.graphic-ad-result-actions {
  display: flex; justify-content: flex-end; padding: 10px 12px 12px;
}
.graphic-ad-result-actions .studio-download {
  min-height: 28px; padding: 0 10px; border: 1px solid var(--line); border-radius: 999px;
  color: var(--ink); background: color-mix(in srgb, var(--panel) 88%, transparent); cursor: pointer;
}
.graphic-ad-result-summary {
  min-height: auto;
}
.graphic-ad-prompt-modal {
  display: grid; gap: 16px; max-height: 62vh; overflow: auto; padding-right: 4px;
}
.graphic-ad-prompt-modal section {
  display: grid; gap: 10px;
}
.graphic-ad-prompt-modal h3 {
  margin: 0; color: var(--ink); font-size: 15px;
}
.graphic-ad-prompt-modal article,
.graphic-ad-prompt-output {
  padding: 14px; border: 1px solid var(--line); border-radius: 12px;
  background: color-mix(in srgb, var(--theme-accent) 7%, var(--panel));
}
.graphic-ad-prompt-modal article strong {
  display: block; margin-bottom: 8px; color: var(--ink);
}
.graphic-ad-prompt-modal article p,
.graphic-ad-prompt-output {
  margin: 0; color: var(--ink); font-size: 13px; line-height: 1.8; white-space: pre-wrap;
}
.moments-direction {
  margin: -4px 0 12px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 12px;
  color: var(--muted); background: color-mix(in srgb, var(--theme-accent) 8%, var(--panel));
  font-size: 12px; line-height: 1.6;
}
.moments-agent-card {
  margin: 12px 0 16px; padding: 14px 15px; border: 1px solid var(--line); border-radius: 14px;
  background: color-mix(in srgb, var(--theme-accent) 8%, var(--panel));
}
.moments-agent-card strong { display: block; margin-bottom: 6px; color: var(--ink); }
.moments-agent-card p { margin: 0; color: var(--muted); line-height: 1.7; font-size: 12px; }
.moments-agent-card.locked {
  border-style: dashed;
  background: linear-gradient(135deg, color-mix(in srgb, var(--theme-accent) 10%, var(--panel)), color-mix(in srgb, var(--theme-accent-2) 8%, var(--panel)));
}
.moments-agent-card.locked strong::after {
  content: " · 内置隐藏";
  color: var(--theme-accent);
  font-size: 11px;
}
.moment-case-library { display: grid; gap: 18px; }
.moment-case-add {
  background:
    radial-gradient(circle at 90% 12%, color-mix(in srgb, var(--theme-accent-2) 18%, transparent), transparent 32%),
    color-mix(in srgb, var(--panel) 86%, transparent);
}
.case-count {
  display: inline-flex; align-items: center; min-height: 30px; padding: 6px 10px; border: 1px solid var(--line);
  border-radius: 999px; color: var(--theme-accent); font-size: 12px; font-weight: 800;
  background: color-mix(in srgb, var(--theme-accent) 8%, transparent);
}
.moment-case-add-grid { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 12px; margin: 10px 0 12px; }
.moment-case-add label { display: grid; gap: 7px; color: var(--muted); font-size: 12px; }
.moment-case-add textarea {
  width: 100%; min-height: 140px; padding: 14px 15px; border: 1px solid var(--line); border-radius: 16px;
  resize: vertical; color: var(--ink); background: color-mix(in srgb, var(--navy) 58%, transparent);
}
.moment-case-section { display: grid; gap: 14px; }
.moment-case-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.moment-case-section.grouped .moment-case-grid { grid-template-columns: 1fr; }
.moment-case-card {
  display: grid; gap: 10px; padding: 15px; border: 1px solid var(--line); border-radius: 18px;
  background:
    linear-gradient(145deg, color-mix(in srgb, var(--theme-accent) 8%, var(--panel)), color-mix(in srgb, var(--panel) 92%, transparent));
  box-shadow: 0 18px 44px color-mix(in srgb, #000 22%, transparent);
}
.moment-case-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.moment-case-card-head strong { color: var(--ink); font-size: 15px; line-height: 1.5; }
.moment-case-card-head span {
  flex: none; padding: 4px 8px; border-radius: 999px; color: var(--muted); font-size: 11px;
  background: color-mix(in srgb, var(--theme-accent) 8%, transparent);
}
.moment-case-card pre {
  max-height: 260px; margin: 0; padding: 12px; border: 1px solid color-mix(in srgb, var(--line) 74%, transparent);
  border-radius: 14px; overflow: auto; white-space: pre-wrap; color: color-mix(in srgb, var(--ink) 92%, var(--muted));
  background: color-mix(in srgb, var(--navy) 56%, transparent); line-height: 1.85; font-family: inherit; font-size: 13px;
}
.moment-case-section.grouped .moment-case-card pre { max-height: 520px; }
.case-toggle { justify-self: center; min-width: 220px; }
.moments-generate { width: 100%; min-height: 48px; }
.moments-result-actions { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.moments-result {
  height: min(58vh, 640px); min-height: 430px; padding: 22px 24px; border: 1px solid var(--line); border-radius: 18px;
  background: color-mix(in srgb, var(--panel) 70%, transparent); color: var(--ink);
  font-size: 17px; line-height: 2.05; white-space: normal; overflow-y: auto; overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-color: color-mix(in srgb, var(--theme-accent) 70%, var(--muted)) color-mix(in srgb, var(--panel) 78%, transparent);
}
.moments-output { padding-bottom: 22px; }
.moments-result::-webkit-scrollbar { width: 9px; }
.moments-result::-webkit-scrollbar-track {
  background: color-mix(in srgb, var(--panel) 78%, transparent);
  border-radius: 999px;
}
.moments-result::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, var(--theme-accent), var(--theme-accent-2));
  border-radius: 999px;
}
.moments-result span { color: var(--muted); }
.moments-followup {
  position: sticky;
  bottom: 18px;
  z-index: 6;
  display: grid; gap: 12px; margin-top: 14px; padding: 14px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 24%, var(--line));
  border-radius: 16px;
  background: color-mix(in srgb, var(--panel) 88%, transparent);
  box-shadow: 0 18px 48px rgba(0,0,0,.22);
  backdrop-filter: blur(14px);
}
.moments-followup-head {
  display: flex; justify-content: space-between; gap: 12px; align-items: center;
}
.moments-followup-head strong { color: var(--ink); font-size: 15px; }
.moments-followup-head span { color: var(--muted); font-size: 12px; line-height: 1.6; }
.moments-followup-thread { display: grid; gap: 10px; max-height: 310px; overflow: auto; padding-right: 4px; }
.moments-followup-msg {
  padding: 12px 14px; border-radius: 14px; line-height: 1.8;
  background: color-mix(in srgb, var(--navy) 44%, transparent);
}
.moments-followup-msg.user {
  border: 1px solid color-mix(in srgb, var(--theme-accent) 30%, transparent);
}
.moments-followup-msg.assistant {
  border: 1px solid color-mix(in srgb, var(--theme-accent-2) 26%, transparent);
}
.moments-followup-msg b {
  display: block; margin-bottom: 6px; color: var(--theme-accent); font-size: 12px;
}
.moments-followup-form {
  display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; align-items: end;
}
.moments-followup-form textarea {
  min-height: 72px; max-height: 160px; resize: vertical;
  border-radius: 14px;
}
.moments-followup-form button { min-width: 96px; min-height: 44px; }
.moments-image-status { min-height: 18px; margin: 12px 0 0; }
.moments-image-grid {
  position: relative; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 14px;
}
.moments-image-card {
  position: relative; aspect-ratio: 1 / 1; overflow: hidden; border: 1px solid var(--line); border-radius: 16px;
  background: color-mix(in srgb, var(--panel) 82%, transparent);
}
.moments-image-card img { width: 100%; height: 100%; object-fit: cover; display: block; }
.moments-image-actions {
  position: absolute; right: 10px; bottom: 10px; display: flex; gap: 8px;
  opacity: 0; transform: translateY(6px); transition: opacity .18s ease, transform .18s ease;
}
.moments-image-card:hover .moments-image-actions { opacity: 1; transform: translateY(0); }
.moments-image-grid.is-generating .moments-image-card img { filter: saturate(.82) brightness(.76); }
.moments-image-placeholder {
  display: grid; place-items: center; color: var(--muted); border-style: dashed;
  background: linear-gradient(135deg, color-mix(in srgb, var(--theme-accent) 12%, var(--panel)), color-mix(in srgb, var(--theme-accent-2) 10%, var(--panel)));
}
.moments-image-overlay {
  position: absolute; inset: 0; display: grid; place-items: center; border-radius: 16px;
  background: color-mix(in srgb, var(--navy) 42%, transparent); backdrop-filter: blur(2px);
  pointer-events: none;
}
.moments-image-overlay span {
  padding: 10px 14px; border: 1px solid var(--line); border-radius: 999px; color: var(--ink);
  background: color-mix(in srgb, var(--panel) 86%, transparent);
}
.moments-sop-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; align-items: start; }
.moments-sop-card, .moments-pillars { display: grid; gap: 10px; color: var(--muted); line-height: 1.75; }
.moments-sop-card strong { color: var(--ink); font-size: 16px; }
.moments-pillars span {
  padding: 11px 12px; border: 1px solid var(--line); border-radius: 12px;
  background: color-mix(in srgb, var(--theme-accent) 8%, var(--panel));
}

.moments-course { display: grid; gap: 22px; }
.moments-course-hero {
  position: relative; overflow: hidden; display: grid; grid-template-columns: minmax(0, 1.08fr) 430px; gap: 28px; align-items: center;
  padding: 30px; border: 1px solid var(--line); border-radius: 28px;
  background:
    radial-gradient(circle at 86% 16%, color-mix(in srgb, var(--theme-accent-2) 26%, transparent), transparent 34%),
    radial-gradient(circle at 10% 100%, color-mix(in srgb, var(--theme-accent) 22%, transparent), transparent 38%),
    linear-gradient(135deg, color-mix(in srgb, var(--panel) 90%, transparent), color-mix(in srgb, var(--navy) 82%, transparent));
  box-shadow: var(--shadow);
}
.moments-course-hero h2 { margin: 4px 0 14px; font-size: clamp(34px, 4vw, 56px); letter-spacing: -.04em; }
.moments-course-hero p:not(.eyebrow) { max-width: 860px; margin: 0; color: var(--muted); font-size: 17px; line-height: 1.9; }
.course-badges { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 22px; }
.course-badges span {
  padding: 9px 12px; border: 1px solid color-mix(in srgb, var(--theme-accent) 42%, var(--line)); border-radius: 999px;
  color: var(--ink); background: color-mix(in srgb, var(--theme-accent) 10%, transparent);
}
.course-visual-card {
  overflow: hidden; border: 1px solid var(--line); border-radius: 24px;
  background: color-mix(in srgb, var(--panel) 72%, transparent);
  box-shadow: 0 24px 70px rgba(0,0,0,.28);
}
.course-visual-card img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; display: block; }
.course-visual-caption { padding: 16px 18px; display: grid; gap: 5px; }
.course-visual-caption strong { color: var(--ink); font-size: 18px; }
.course-visual-caption span { color: var(--muted); }
.course-section {
  padding: 26px; border: 1px solid var(--line); border-radius: 26px;
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--panel) 88%, transparent), color-mix(in srgb, var(--theme-accent-2) 5%, var(--panel)));
  box-shadow: var(--shadow);
}
.course-section-title { margin-bottom: 18px; }
.course-section-title h3 { margin: 4px 0 8px; font-size: 28px; color: var(--ink); }
.course-section-title span, .course-section-title p:not(.eyebrow) { color: var(--muted); line-height: 1.8; }
.course-map { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; }
.course-map article, .course-pillars-grid article, .course-rhythm-grid article, .hook-lab article, .course-example-grid article, .course-sop-columns article, .course-sample-library article {
  border: 1px solid var(--line); border-radius: 20px;
  background: color-mix(in srgb, var(--panel) 76%, transparent);
  box-shadow: inset 0 1px 0 color-mix(in srgb, #fff 5%, transparent);
}
.course-map article { padding: 16px; min-height: 160px; }
.course-map b, .course-pillars-grid article > span {
  display: inline-grid; place-items: center; width: 40px; height: 40px; margin-bottom: 12px; border-radius: 14px;
  color: #05111c; font-weight: 1000; background: linear-gradient(135deg, var(--theme-accent), var(--theme-accent-2));
}
.course-map strong { display: block; color: var(--ink); font-size: 17px; }
.course-map p, .course-formula p, .course-formula li, .course-rhythm-grid p, .course-example-grid p, .course-example-grid li, .course-sop-columns p, .course-sop-columns li, .course-pillars-grid p, .course-pillars-grid li, .course-sample-library p, .course-sample-library li {
  color: var(--muted); line-height: 1.8;
}
.course-formula { display: grid; grid-template-columns: minmax(0, 1fr) minmax(360px, .75fr); gap: 20px; align-items: stretch; }
.course-formula h3 { margin-top: 0; font-size: 30px; }
.course-formula-box {
  display: grid; align-content: center; gap: 12px; padding: 26px; border: 1px solid color-mix(in srgb, var(--theme-accent) 42%, var(--line)); border-radius: 24px;
  background:
    radial-gradient(circle at 85% 20%, color-mix(in srgb, var(--theme-accent) 28%, transparent), transparent 40%),
    color-mix(in srgb, var(--theme-accent) 9%, var(--panel));
}
.course-formula-box span { color: var(--theme-accent); font-weight: 900; letter-spacing: .18em; }
.course-formula-box strong { color: var(--ink); font-size: 26px; line-height: 1.35; }
.course-pillars-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.course-pillars-grid article, .course-rhythm-grid article, .hook-lab article, .course-example-grid article, .course-sop-columns article, .course-sample-library article { padding: 18px; }
.course-pillars-grid h4, .course-rhythm-grid h4, .course-example-grid h4, .course-sop-columns h4, .course-sample-library h4 { margin: 0 0 10px; color: var(--ink); font-size: 21px; }
.course-pillars-grid ul, .course-rhythm-grid ol, .course-example-grid ul, .course-example-grid ol, .course-sop-columns ul, .course-sop-columns ol { padding-left: 20px; }
.course-note {
  padding: 12px 13px; border-left: 3px solid var(--theme-accent); border-radius: 12px;
  background: color-mix(in srgb, var(--theme-accent) 8%, transparent);
}
.moments-course pre {
  white-space: pre-wrap; word-break: break-word; margin: 14px 0 0; padding: 14px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 28%, var(--line)); border-radius: 16px;
  background: color-mix(in srgb, #020814 42%, var(--panel));
  color: color-mix(in srgb, var(--ink) 92%, var(--theme-accent)); line-height: 1.75; font-family: inherit;
}
.course-rhythm-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.ratio-bars { display: grid; gap: 10px; margin: 12px 0; }
.ratio-bars span {
  position: relative; overflow: hidden; padding: 10px 12px; border-radius: 999px; color: var(--ink);
  background: color-mix(in srgb, var(--panel) 70%, transparent);
}
.ratio-bars span::before {
  content: ""; position: absolute; inset: 0 auto 0 0; width: var(--w); border-radius: inherit;
  background: linear-gradient(90deg, color-mix(in srgb, var(--theme-accent) 72%, transparent), color-mix(in srgb, var(--theme-accent-2) 72%, transparent));
  opacity: .34;
}
.hook-lab { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; }
.hook-lab b { display: block; color: var(--ink); font-size: 18px; }
.course-example-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.course-sop-columns { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.course-sample-library { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.course-sample-library article {
  position: relative; overflow: hidden;
  background:
    radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--theme-accent) 11%, transparent), transparent 28%),
    color-mix(in srgb, var(--panel) 78%, transparent);
}
.course-sample-library article::before {
  content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 3px;
  background: linear-gradient(180deg, var(--theme-accent), var(--theme-accent-2));
}
.course-sample-library p {
  margin: 14px 0 8px; color: color-mix(in srgb, var(--theme-accent) 76%, var(--ink)); font-weight: 900;
}
.course-sample-library pre + p { margin-top: 18px; }
.course-workbook { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.course-workbook label {
  display: grid; gap: 8px; color: var(--ink); font-weight: 900;
  padding: 16px; border: 1px solid var(--line); border-radius: 18px;
  background: color-mix(in srgb, var(--panel) 74%, transparent);
}
.course-workbook label.wide { grid-column: 1 / -1; }
.course-workbook textarea {
  min-height: 118px; padding: 13px 14px; border: 1px solid var(--line); border-radius: 14px;
  resize: vertical; color: var(--ink); background: color-mix(in srgb, #020814 36%, var(--panel)); line-height: 1.75;
}
.course-workbook label.wide textarea { min-height: 170px; }
.course-actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 18px; }

.config-note, .extract-summary, .batch-warning, .risk, .prompt-panel, .generation-message {
  background: color-mix(in srgb, var(--theme-accent) 10%, var(--panel)) !important;
  border-color: var(--line) !important;
  color: var(--ink) !important;
}
dialog { background: color-mix(in srgb, var(--panel) 96%, #07111d) !important; color: var(--ink); border: 1px solid var(--line); }
dialog::backdrop { background: rgba(1, 5, 12, .72); backdrop-filter: blur(8px); }
#toast, .task-panel { background: color-mix(in srgb, var(--navy) 92%, transparent) !important; border: 1px solid var(--line); color: var(--ink); }

.home-shell { display: grid; gap: 22px; max-width: 1680px; margin: 0 auto; }
.home-hero {
  position: relative; overflow: hidden; display: grid; grid-template-columns: minmax(0, 1.25fr) 360px; gap: 28px; align-items: center;
  min-height: 330px; padding: 38px 42px; border: 1px solid var(--line); border-radius: 28px;
  background:
    radial-gradient(circle at 88% 12%, color-mix(in srgb, var(--theme-accent-2) 32%, transparent), transparent 34%),
    radial-gradient(circle at 12% 100%, color-mix(in srgb, var(--theme-accent) 25%, transparent), transparent 36%),
    linear-gradient(135deg, color-mix(in srgb, var(--theme-accent) 18%, var(--panel)), color-mix(in srgb, var(--theme-accent-2) 12%, var(--panel)) 52%, var(--panel));
  box-shadow: var(--shadow);
}
.home-kicker {
  margin: 0 0 12px; color: var(--theme-accent); font-size: 12px; letter-spacing: .42em; font-weight: 900; text-transform: uppercase;
}
.home-hero h2 { margin: 0; max-width: 900px; color: var(--ink); font-size: clamp(34px, 4vw, 64px); line-height: 1.08; letter-spacing: -.04em; }
.home-lead { max-width: 920px; margin: 20px 0 0; color: var(--muted); font-size: 18px; line-height: 1.9; }
.home-actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 28px; }
.home-action { cursor: pointer; }
.home-actions .home-action,
.home-tab-panel .home-action,
.home-cta .home-action {
  min-height: 48px;
  padding: 0 22px;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 34%, var(--line));
  font-weight: 900;
  color: var(--ink);
  background: color-mix(in srgb, var(--panel) 70%, transparent);
  box-shadow: 0 14px 28px rgba(0, 0, 0, .18);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.home-actions .home-action:hover,
.home-tab-panel .home-action:hover,
.home-cta .home-action:hover {
  transform: translateY(-2px);
  border-color: var(--theme-accent);
  box-shadow: 0 18px 38px color-mix(in srgb, var(--theme-accent) 20%, rgba(0,0,0,.24));
}
.home-actions .home-action.primary,
.home-cta .home-action.primary {
  border-color: transparent;
  color: #03101d;
  background: linear-gradient(135deg, var(--theme-accent), var(--theme-accent-2));
}
.home-actions .home-action.ghost,
.home-tab-panel .home-action.ghost {
  color: var(--ink);
  background:
    linear-gradient(color-mix(in srgb, var(--panel) 76%, transparent), color-mix(in srgb, var(--panel) 76%, transparent)) padding-box,
    linear-gradient(135deg, var(--theme-accent), var(--theme-accent-2)) border-box;
}
.home-orbit {
  position: relative; min-height: 240px; display: grid; place-items: center; text-align: center; border: 1px solid var(--line);
  border-radius: 28px; background: color-mix(in srgb, var(--panel) 52%, transparent); box-shadow: inset 0 0 50px color-mix(in srgb, var(--theme-accent) 12%, transparent);
}
.home-orbit::before, .home-orbit::after {
  content: ""; position: absolute; inset: 28px; border: 1px solid color-mix(in srgb, var(--theme-accent) 35%, transparent); border-radius: 999px;
}
.home-orbit::after { inset: 58px; border-color: color-mix(in srgb, var(--theme-accent-2) 42%, transparent); transform: rotate(24deg); }
.home-orbit span { display: grid; place-items: center; width: 88px; height: 88px; border-radius: 28px; color: #06111b; font-size: 32px; font-weight: 1000; background: linear-gradient(135deg, var(--theme-accent), var(--theme-accent-2)); }
.home-orbit b, .home-orbit small { position: absolute; left: 0; right: 0; }
.home-orbit b { bottom: 48px; color: var(--ink); font-size: 20px; }
.home-orbit small { bottom: 24px; color: var(--muted); }
.home-orbit-visual {
  min-height: 270px;
  overflow: hidden;
  align-items: end;
  padding: 18px;
}
.home-orbit-visual::before,
.home-orbit-visual::after { pointer-events: none; z-index: 2; }
.home-orbit-visual img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: .82;
  filter: saturate(1.12) contrast(1.05);
}
.home-orbit-visual::before {
  background: linear-gradient(180deg, transparent 34%, rgba(3, 8, 18, .74));
  border: 0;
  border-radius: 0;
  inset: 0;
}
.home-orbit-visual b,
.home-orbit-visual small {
  z-index: 3;
  left: 22px;
  right: 22px;
  text-align: left;
  color: white;
  text-shadow: 0 8px 22px rgba(0, 0, 0, .55);
}
.home-orbit-visual b { bottom: 48px; font-size: 22px; }
.home-orbit-visual small { bottom: 22px; color: rgba(255,255,255,.76); }
.home-service-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.home-service-card {
  position: relative; overflow: hidden; display: grid; gap: 10px; min-height: 260px; padding: 12px 14px 18px; text-align: left; color: var(--ink);
  border: 1px solid var(--line); border-radius: 22px; background: color-mix(in srgb, var(--panel) 82%, transparent);
  transition: transform .18s ease, border-color .18s ease, background .18s ease;
}
.home-service-card:hover { transform: translateY(-3px); border-color: var(--theme-accent); background: color-mix(in srgb, var(--theme-accent) 10%, var(--panel)); }
.home-service-card img {
  width: 100%; aspect-ratio: 16 / 9; border-radius: 16px; object-fit: cover; display: block;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 18%, transparent);
  box-shadow: 0 16px 36px rgba(0,0,0,.22);
}
.home-service-card span { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 14px; color: #07111d; font-weight: 1000; background: linear-gradient(135deg, var(--theme-accent), var(--theme-accent-2)); }
.home-service-card strong { font-size: 20px; }
.home-service-card em { color: var(--muted); font-style: normal; line-height: 1.7; }
.home-wide-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 18px; }
.home-panel, .home-tabs-card, .home-case-grid article, .home-cta {
  border: 1px solid var(--line); border-radius: 24px; background: color-mix(in srgb, var(--panel) 78%, transparent);
}
.home-panel { padding: 26px; }
.home-panel h3, .home-tabs-card h3, .home-cta h3 { margin: 0 0 12px; color: var(--ink); font-size: 26px; }
.home-panel-lead {
  max-width: 920px;
  margin: 0;
  color: var(--muted);
  line-height: 1.85;
}
.home-diagnosis {
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--theme-accent) 9%, transparent), transparent 44%),
    color-mix(in srgb, var(--panel) 82%, transparent);
}
.home-diagnosis-grid,
.home-proof-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-top: 18px;
}
.home-section-visual {
  overflow: hidden;
  margin: 18px 0 0;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 22%, var(--line));
  border-radius: 20px;
  background: color-mix(in srgb, var(--panel) 70%, transparent);
}
.home-section-visual img {
  display: block;
  width: 100%;
  max-height: 360px;
  object-fit: cover;
}
.home-diagnosis-grid article,
.home-proof-grid article {
  min-height: 170px;
  padding: 17px 18px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 20%, var(--line));
  border-radius: 18px;
  background: color-mix(in srgb, var(--panel) 72%, transparent);
}
.home-diagnosis-grid strong,
.home-proof-grid b {
  display: block;
  color: var(--ink);
  font-size: 18px;
  line-height: 1.35;
}
.home-diagnosis-grid p,
.home-proof-grid p {
  margin: 11px 0 0;
  color: var(--muted);
  line-height: 1.75;
}
.home-proof {
  display: grid;
  grid-template-columns: minmax(280px, .78fr) minmax(420px, 1.22fr);
  gap: 20px;
  align-items: stretch;
  background:
    radial-gradient(circle at 100% 0, color-mix(in srgb, var(--theme-accent-2) 14%, transparent), transparent 32%),
    color-mix(in srgb, var(--panel) 82%, transparent);
}
.home-proof-copy {
  display: flex;
  min-height: 310px;
  flex-direction: column;
  justify-content: center;
  padding: 10px 4px 10px 0;
}
.home-proof-copy p:not(.home-kicker) {
  margin: 10px 0 0;
  color: var(--muted);
  line-height: 1.85;
}
.home-proof .home-section-visual {
  margin: 0;
}
.home-proof-visual {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 310px;
  overflow: hidden;
  background:
    radial-gradient(circle at 78% 22%, color-mix(in srgb, var(--theme-accent) 30%, transparent), transparent 34%),
    radial-gradient(circle at 18% 82%, color-mix(in srgb, var(--theme-accent-2) 24%, transparent), transparent 38%),
    color-mix(in srgb, var(--panel) 92%, #020712);
  box-shadow: 0 22px 50px rgba(0, 0, 0, .24);
}
.home-proof-visual::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(4, 8, 18, .58), transparent 34%),
    linear-gradient(180deg, transparent 58%, rgba(4, 8, 18, .46));
}
.home-proof-visual::before {
  content: "";
  position: absolute;
  inset: 18px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 22%, transparent);
  border-radius: 22px;
  background:
    linear-gradient(90deg, color-mix(in srgb, var(--theme-accent) 18%, transparent) 1px, transparent 1px),
    linear-gradient(0deg, color-mix(in srgb, var(--theme-accent) 12%, transparent) 1px, transparent 1px);
  background-size: 52px 52px;
  opacity: .42;
}
.home-proof-visual > img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  min-height: 310px;
  object-fit: cover;
  object-position: center;
  filter: saturate(1.12) contrast(1.05);
}
.home-proof-brand {
  position: relative;
  z-index: 1;
  display: grid;
  justify-items: center;
  gap: 14px;
  width: min(560px, calc(100% - 56px));
  padding: 34px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 34%, var(--line));
  border-radius: 24px;
  background:
    radial-gradient(circle at 50% 0, color-mix(in srgb, var(--theme-accent) 18%, transparent), transparent 48%),
    color-mix(in srgb, var(--panel) 76%, transparent);
  text-align: center;
  box-shadow: 0 26px 80px rgba(0, 0, 0, .32);
  backdrop-filter: blur(16px);
}
.home-proof-brand-mark {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 14px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 26%, transparent);
  border-radius: 999px;
  background: rgba(4, 14, 28, .55);
}
.home-proof-brand-mark img {
  width: 34px;
  height: 34px;
  object-fit: contain;
}
.home-proof-brand-mark span {
  color: var(--ink);
  font-weight: 900;
}
.home-proof-brand strong {
  color: var(--ink);
  font-size: clamp(28px, 2.8vw, 44px);
  line-height: 1.08;
}
.home-proof-brand p {
  max-width: 460px;
  margin: 0;
  color: var(--muted);
  line-height: 1.7;
}
.home-proof-flow {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  width: 100%;
  margin-top: 4px;
}
.home-proof-flow span {
  padding: 10px 8px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 28%, transparent);
  border-radius: 12px;
  color: #05111d;
  background: linear-gradient(135deg, var(--theme-accent), var(--theme-accent-2));
  font-size: 13px;
  font-weight: 900;
}
.home-proof-grid article {
  min-height: 150px;
  border-left: 3px solid var(--theme-accent);
}
.home-proof-grid {
  grid-column: 1 / -1;
}
.home-feature-list { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 20px; }
.home-feature-list span {
  padding: 10px 13px; border: 1px solid var(--line); border-radius: 999px; color: var(--ink); background: color-mix(in srgb, var(--theme-accent) 9%, transparent);
}
.home-steps { display: grid; gap: 12px; margin: 18px 0 0; padding: 0; list-style: none; }
.home-steps li { display: grid; gap: 5px; padding: 14px 16px; border-left: 3px solid var(--theme-accent); background: color-mix(in srgb, var(--theme-accent) 8%, transparent); }
.home-steps b { color: var(--ink); }
.home-steps span { color: var(--muted); }
.home-tabs-card { padding: 18px; }
.home-tab-nav { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 18px; }
.home-tab-nav button {
  padding: 10px 16px; border: 1px solid var(--line); border-radius: 999px; color: var(--muted); background: color-mix(in srgb, var(--panel) 82%, transparent);
}
.home-tab-nav button.active { color: #07111d; border-color: transparent; background: linear-gradient(135deg, var(--theme-accent), var(--theme-accent-2)); font-weight: 900; }
.home-tab-panel { display: none; padding: 16px 8px 8px; color: var(--muted); line-height: 1.85; }
.home-tab-panel.active { display: block; }
.home-tab-panel p:not(.home-kicker) { max-width: 900px; margin: 0 0 18px; }
.home-case-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.home-case-grid article { padding: 22px; }
.home-case-grid span { color: var(--theme-accent); font-weight: 1000; letter-spacing: .18em; }
.home-case-grid strong { display: block; margin: 12px 0 8px; color: var(--ink); font-size: 21px; }
.home-case-grid p { margin: 0; color: var(--muted); line-height: 1.75; }
.home-cta { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 28px; }
.home-cta p:not(.home-kicker) {
  max-width: 850px;
  margin: 8px 0 0;
  color: var(--muted);
  line-height: 1.75;
}

.tvc-studio-shell { display: grid; grid-template-columns: minmax(360px, .86fr) minmax(520px, 1.14fr); gap: 20px; align-items: start; }
.tvc-studio-shell .panel { background: color-mix(in srgb, var(--panel) 84%, transparent); border-color: color-mix(in srgb, var(--theme-accent) 24%, var(--line)); }
.tvc-agent-panel { grid-column: 1 / -1; }
.tvc-build-panel { grid-column: 1; }
.tvc-output-panel, .tvc-video-panel, .tvc-tasks-panel { grid-column: 2; }
.tvc-agent-row { display: grid; grid-template-columns: 1fr auto auto auto; gap: 10px; align-items: end; margin-bottom: 12px; }
.tvc-seedance-inline { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 10px; align-items: end; margin: 12px 0; }
.tvc-agent-row label, .tvc-seedance-inline label, .tvc-video-params label { display: grid; gap: 8px; color: var(--muted); font-weight: 700; }
.tvc-agent-row select, .tvc-seedance-inline select, .tvc-video-params select, #tvc-text-model, #tvc-grid-ratio, #tvc-grid-resolution {
  width: 100%; min-height: 48px; border: 1px solid var(--line); border-radius: 14px; color: var(--ink);
  background: color-mix(in srgb, var(--panel-2) 78%, transparent); padding: 0 14px;
}
.workflow-textarea.compact { min-height: 92px; }
.tvc-agent-current { margin-top: 12px; padding: 14px; border: 1px solid var(--line); border-radius: 18px; background: color-mix(in srgb, var(--theme-accent) 8%, transparent); }
.tvc-agent-current strong { display: block; color: var(--ink); margin-top: 8px; }
.tvc-agent-current p { margin: 6px 0 0; color: var(--muted); line-height: 1.65; }
.tvc-upload {
  display: grid; gap: 8px; place-items: center; min-height: 112px; margin-bottom: 14px; border: 1px dashed color-mix(in srgb, var(--theme-accent) 60%, var(--line));
  border-radius: 20px; color: var(--ink); background: color-mix(in srgb, var(--theme-accent) 8%, transparent); cursor: pointer;
}
.tvc-upload span { color: var(--theme-accent); font-size: 20px; font-weight: 1000; }
.tvc-upload small { color: var(--muted); }
.tvc-reference-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 10px; margin-bottom: 14px; }
.tvc-reference-card { position: relative; overflow: hidden; border: 1px solid var(--line); border-radius: 16px; background: var(--panel-2); }
.tvc-reference-card img, .tvc-reference-card video { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.tvc-audio-thumb { display: grid; place-items: center; width: 100%; aspect-ratio: 4 / 3; color: var(--theme-accent); font-weight: 900; }
.tvc-reference-card span { display: block; padding: 8px 10px; color: var(--muted); overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.tvc-reference-card button { position: absolute; top: 6px; right: 6px; width: 28px; height: 28px; border: 0; border-radius: 999px; color: #fff; background: rgba(0,0,0,.58); }
.tvc-grid-gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 12px; }
.tvc-grid-gallery.history { grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); opacity: .88; }
.tvc-grid-card { overflow: hidden; border: 1px solid var(--line); border-radius: 18px; background: var(--panel-2); }
.tvc-grid-card img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; cursor: zoom-in; }
.tvc-grid-card div { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 10px; color: var(--muted); }
.tvc-history-block {
  margin-top: 14px;
  padding: 14px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 18%, var(--line));
  border-radius: 18px;
  background: color-mix(in srgb, var(--panel-2) 76%, transparent);
}
.tvc-history-block h3 {
  margin: 0 0 12px;
  color: var(--muted);
  font-size: 15px;
}
.workflow-empty.compact { min-height: 96px; padding: 18px; }
.tvc-output-actions { display: flex; justify-content: flex-end; margin: 12px 0; }
.tvc-video-params { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-bottom: 18px; }
.tvc-tasks-panel { min-height: 260px; }
.tvc-tasks-panel .zd-task-card { margin-bottom: 14px; }

.drama-hero {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 22px;
  padding: 28px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 24%, var(--line));
  border-radius: 24px;
  background:
    radial-gradient(circle at 88% 16%, color-mix(in srgb, var(--theme-accent) 18%, transparent), transparent 32%),
    linear-gradient(135deg, color-mix(in srgb, var(--panel) 86%, transparent), color-mix(in srgb, var(--panel-2) 78%, transparent));
}
.drama-hero h2 { margin: 4px 0 10px; font-size: clamp(28px, 4vw, 46px); }
.drama-hero p { max-width: 780px; color: var(--muted); line-height: 1.75; }
.drama-hero-stats { display: grid; grid-template-columns: repeat(3, minmax(90px, 1fr)); gap: 10px; align-content: end; min-width: 320px; }
.drama-hero-stats span, .drama-process-grid div, .drama-course-card, .drama-reference-links a, .drama-reference-links span {
  border: 1px solid color-mix(in srgb, var(--theme-accent) 20%, var(--line));
  border-radius: 18px;
  background: color-mix(in srgb, var(--panel-2) 78%, transparent);
}
.drama-hero-stats span { padding: 16px; color: var(--muted); }
.drama-hero-stats b { display: block; margin-bottom: 4px; color: var(--ink); font-size: 24px; }
.drama-home-grid, .drama-process-grid, .drama-course-layout {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  margin-bottom: 22px;
}
.drama-card p { color: var(--muted); line-height: 1.8; }
.drama-process-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.drama-process-grid div { padding: 18px; }
.drama-process-grid b { display: inline-grid; place-items: center; width: 46px; height: 46px; margin-bottom: 14px; border-radius: 16px; color: #06121b; background: linear-gradient(135deg, #5bd8ff, #8b63ff); }
.drama-process-grid strong { display: block; margin-bottom: 8px; color: var(--ink); font-size: 18px; }
.drama-process-grid span { color: var(--muted); line-height: 1.65; }
.drama-template-row, .drama-video-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.drama-script-panel .full-textarea, #episode-source, #drama-seedance-prompt { min-height: 320px; }
.drama-script-wide {
  width: min(1460px, calc(100vw - 360px));
  margin: 24px auto 0;
  padding: 22px 24px;
}
.drama-script-wide .panel-head {
  align-items: flex-start;
  margin-bottom: 18px;
}
.drama-script-wide .header-actions {
  margin-left: auto;
  justify-content: flex-end;
}
.drama-script-wide #script-content {
  width: 100%;
  min-height: 300px;
  max-height: 440px;
  box-sizing: border-box;
  resize: vertical;
  font-size: 16px;
  line-height: 1.72;
  white-space: pre-wrap;
}
.drama-script-wide .drama-script-tips {
  margin-top: 18px;
}
.drama-script-panel .full-textarea.compact, #episode-source.compact { min-height: 220px; }
.drama-script-tips {
  display: grid;
  gap: 6px;
  margin-top: 14px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: color-mix(in srgb, var(--theme-accent) 7%, transparent);
  color: var(--muted);
}
.drama-course-layout { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.drama-course-card { padding: 20px; }
.drama-course-card h3 { margin: 12px 0; font-size: 21px; }
.drama-course-card ul { margin: 0 0 14px 18px; color: var(--muted); line-height: 1.8; }
.drama-course-card pre {
  max-height: 180px;
  overflow: auto;
  margin: 14px 0 0;
  padding: 14px;
  border-radius: 14px;
  color: var(--ink);
  background: color-mix(in srgb, #030912 72%, transparent);
  white-space: pre-wrap;
}
.drama-step { display: inline-grid; place-items: center; width: 48px; height: 48px; border-radius: 16px; color: #06121b; font-weight: 1000; background: linear-gradient(135deg, #5bd8ff, #8b63ff); }
.drama-link-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.drama-reference-links a, .drama-reference-links span { padding: 14px 16px; color: var(--ink); text-decoration: none; }
.drama-two-col { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 18px; }
.button.wide { width: 100%; justify-content: center; margin: 14px 0; }
.drama-episode-list { display: grid; gap: 12px; }
.drama-episode-list article { padding: 16px; border: 1px solid var(--line); border-radius: 16px; background: color-mix(in srgb, var(--panel-2) 72%, transparent); }
.drama-episode-list h3 { margin: 0 0 8px; }
.drama-episode-list p { margin: 0 0 8px; color: var(--ink); }
.drama-episode-list small { color: var(--muted); }
.drama-video-panel { margin-top: 18px; }
.drama-video-feed { margin-top: 18px; }

@media (max-width: 1180px) {
  .drama-home-grid, .drama-course-layout { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .drama-process-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .drama-two-col { grid-template-columns: 1fr; }
}

@media (max-width: 1180px) {
  .content-commerce-full .commerce-detail-layout,
  .content-zd-full .zd-grid,
  .content-tvc-full .tvc-studio-shell {
    grid-template-columns: 1fr;
  }
  .tvc-studio-shell { grid-template-columns: 1fr; }
  .tvc-agent-panel, .tvc-build-panel, .tvc-output-panel, .tvc-video-panel, .tvc-tasks-panel { grid-column: auto; }
  .tvc-video-params { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 1100px) {
  .home-hero, .home-wide-grid { grid-template-columns: 1fr; }
  .home-proof { grid-template-columns: 1fr; }
  .home-proof-copy { min-height: auto; }
  .home-service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-diagnosis-grid,
  .home-proof-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-case-grid { grid-template-columns: 1fr; }
  .content-moments-full .moments-home-hero,
  .moments-home-hero { grid-template-columns: 1fr; }
  .content-moments-full .moments-home-benefits,
  .content-moments-full .moments-home-process,
  .moments-home-benefits, .moments-home-process { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .content-moments-full .moments-home-scenarios,
  .moments-home-scenarios { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .moments-course-hero, .course-formula { grid-template-columns: 1fr; }
  .course-map { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .course-rhythm-grid, .hook-lab, .course-sop-columns { grid-template-columns: 1fr; }
  .course-example-grid, .course-pillars-grid, .course-workbook { grid-template-columns: 1fr; }
  .moment-case-grid { grid-template-columns: 1fr; }
  .course-workbook label.wide { grid-column: auto; }
}

@media (max-width: 720px) {
  .app-header-actions { justify-content: flex-start; }
  .theme-picker { width: 100%; justify-content: space-between; }
  .moments-layout { grid-template-columns: 1fr; }
  .moments-agent-layout, .moments-sop-grid { grid-template-columns: 1fr; }
  .moments-hero { align-items: flex-start; flex-direction: column; }
  .moments-controls { grid-template-columns: 1fr; }
  .moments-image-grid { grid-template-columns: 1fr; }
  .moment-case-add-grid { grid-template-columns: 1fr; }
  .course-map { grid-template-columns: 1fr; }
  .moments-course-hero, .course-section { padding: 18px; }
  .moments-home-hero, .moments-home-section { padding: 18px; }
  .moments-home-copy { min-height: auto; }
  .moments-home-visual, .moments-home-visual img { min-height: 320px; }
  .moments-home-benefits, .moments-home-scenarios, .moments-home-process { grid-template-columns: 1fr; }
  .moments-home-float { position: relative; left: auto; right: auto; top: auto; bottom: auto; margin: 12px; }
  .home-hero { padding: 24px 20px; border-radius: 20px; }
  .home-hero h2 { font-size: 34px; }
  .home-lead { font-size: 16px; }
  .home-service-grid,
  .home-diagnosis-grid,
  .home-proof-grid { grid-template-columns: 1fr; }
  .home-diagnosis-grid article,
  .home-proof-grid article { min-height: auto; }
  .home-cta { align-items: stretch; flex-direction: column; }
}
.drama-storyboard-workbench {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.drama-editing-grid {
  display: grid;
  grid-template-columns: 260px minmax(420px, 1fr) minmax(360px, 0.9fr);
  gap: 16px;
  align-items: stretch;
}

.drama-asset-rail,
.drama-shot-editor,
.drama-video-preview-panel {
  border: 1px solid rgba(64, 211, 255, 0.22);
  background: rgba(7, 18, 36, 0.74);
  border-radius: 22px;
  padding: 18px;
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.24);
}

.drama-panel-title {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
  margin-bottom: 14px;
}

.drama-panel-title h3 {
  margin: 0;
  color: #f2f8ff;
}

.drama-panel-title span {
  color: #8ea5bd;
}

.drama-asset-scroll {
  max-height: 680px;
  overflow: auto;
  padding-right: 6px;
}

.drama-asset-section + .drama-asset-section {
  margin-top: 18px;
}

.drama-asset-card {
  display: grid;
  grid-template-columns: 78px 1fr;
  gap: 10px;
  padding: 10px;
  margin-top: 10px;
  border: 1px solid rgba(111, 135, 255, 0.18);
  border-radius: 16px;
  background: rgba(9, 25, 46, 0.75);
}

.drama-asset-thumb {
  width: 78px;
  height: 58px;
  border-radius: 12px;
  object-fit: cover;
  background: rgba(255, 255, 255, 0.06);
}

.drama-shot-summary {
  border: 1px solid rgba(64, 211, 255, 0.18);
  border-radius: 18px;
  padding: 14px;
  background: rgba(255, 255, 255, 0.035);
}

.drama-shot-meta {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin: 10px 0 12px;
}

.drama-reference-strip {
  display: flex;
  gap: 10px;
  overflow-x: auto;
  margin: 12px 0;
  padding-bottom: 6px;
}

.drama-reference-strip img {
  width: 82px;
  height: 82px;
  object-fit: cover;
  border-radius: 14px;
  border: 1px solid rgba(104, 220, 255, 0.35);
}

.drama-shot-prompt {
  width: 100%;
  min-height: 300px;
  resize: vertical;
  border-radius: 18px;
  padding: 16px;
  color: #eaf6ff;
  background: rgba(3, 12, 26, 0.72);
  border: 1px solid rgba(64, 211, 255, 0.26);
  line-height: 1.7;
}

.drama-editor-actions,
.drama-video-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 12px;
}

.drama-video-preview {
  border-radius: 20px;
  background: rgba(0, 0, 0, 0.34);
  min-height: 240px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid rgba(111, 135, 255, 0.2);
}

.drama-video-preview video,
.drama-video-preview img {
  width: 100%;
  max-height: 420px;
  object-fit: contain;
  background: #000;
}

.drama-video-empty {
  min-height: 240px;
  display: grid;
  place-items: center;
  gap: 8px;
  color: #9fb0c5;
  text-align: center;
  padding: 24px;
}

.drama-video-params {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 14px 0;
}

.drama-video-params label {
  display: flex;
  flex-direction: column;
  gap: 6px;
  color: #8ea5bd;
  font-weight: 700;
}

.drama-video-params select {
  min-height: 44px;
  border-radius: 12px;
  border: 1px solid rgba(64, 211, 255, 0.22);
  background: #08182b;
  color: #eaf6ff;
  padding: 0 12px;
}

.drama-libtv-console {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  margin: 14px 0;
}

.drama-libtv-console > div {
  padding: 12px;
  border: 1px solid rgba(64, 211, 255, 0.18);
  border-radius: 14px;
  background: rgba(4, 12, 26, 0.58);
}

.drama-libtv-console span,
.drama-libtv-console em {
  display: block;
  color: #8ea5bd;
  font-size: 12px;
  font-style: normal;
  line-height: 1.6;
}

.drama-libtv-console strong {
  display: block;
  margin: 3px 0;
  color: #f2f8ff;
  font-size: 15px;
}

.drama-video-route-choice {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 14px 0;
}

.drama-video-route-choice button {
  display: grid;
  gap: 8px;
  min-height: 112px;
  padding: 18px;
  border: 1px solid rgba(64, 211, 255, 0.2);
  border-radius: 18px;
  color: #eaf6ff;
  background: rgba(5, 13, 28, 0.72);
  text-align: left;
  cursor: pointer;
}

.drama-video-route-choice button b {
  font-size: 20px;
}

.drama-video-route-choice button span {
  color: #8ea5bd;
  line-height: 1.6;
}

.drama-video-route-choice button.active {
  border-color: rgba(34, 228, 213, 0.75);
  box-shadow: 0 0 0 1px rgba(34, 228, 213, 0.3), 0 16px 38px rgba(34, 228, 213, 0.13);
  background: linear-gradient(135deg, rgba(11, 42, 65, 0.9), rgba(24, 18, 58, 0.88));
}

.drama-video-route-choice button.active b {
  color: #c8ff36;
}

.drama-libtv-stage {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-top: 12px;
}

.drama-libtv-stage span {
  min-height: 38px;
  display: grid;
  place-items: center;
  padding: 8px;
  border: 1px solid rgba(64, 211, 255, 0.18);
  border-radius: 12px;
  color: #8ea5bd;
  background: rgba(5, 13, 28, 0.68);
  font-size: 12px;
  font-weight: 800;
  text-align: center;
}

.drama-libtv-stage span.ready {
  color: #bfffe9;
  border-color: rgba(38, 229, 181, 0.28);
}

.drama-libtv-stage span.active {
  color: #07121b;
  border-color: transparent;
  background: linear-gradient(135deg, #c8ff36, #22e4d5);
}

.drama-timeline {
  display: flex;
  gap: 12px;
  overflow-x: auto;
  padding: 12px;
  border: 1px solid rgba(64, 211, 255, 0.22);
  background: rgba(7, 18, 36, 0.74);
  border-radius: 22px;
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.24);
}

.drama-timeline-card {
  min-width: 210px;
  text-align: left;
  border: 1px solid rgba(64, 211, 255, 0.2);
  background: rgba(8, 22, 42, 0.85);
  color: #dbeafe;
  border-radius: 16px;
  padding: 12px;
  cursor: pointer;
}

.drama-timeline-card.active {
  border-color: #52d9ff;
  box-shadow: 0 0 0 2px rgba(82, 217, 255, 0.18), 0 16px 36px rgba(51, 195, 255, 0.14);
}

.drama-timeline-card span {
  display: inline-grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 12px;
  background: linear-gradient(135deg, #46d8ff, #8a60ff);
  color: #061426;
  font-weight: 900;
}

.drama-timeline-card strong {
  display: block;
  margin-top: 8px;
  color: #fff;
}

.drama-timeline-card em {
  display: block;
  margin-top: 6px;
  color: #8ea5bd;
  font-style: normal;
  font-size: 12px;
}

@media (max-width: 1280px) {
  .drama-editing-grid {
    grid-template-columns: 1fr;
  }

  .drama-asset-scroll {
    max-height: 320px;
  }
}

.short-drama-shell {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 8px 0 70px;
}

.content.content-short-drama-full {
  max-width: none;
  margin: 0;
  padding-left: 0;
  padding-right: 0;
}

.short-drama-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(420px, 0.72fr);
  gap: 28px;
  align-items: stretch;
  padding: 34px;
  border: 1px solid rgba(236, 48, 204, 0.26);
  border-radius: 28px;
  background:
    radial-gradient(circle at 18% 12%, rgba(37, 221, 244, 0.22), transparent 34%),
    linear-gradient(135deg, rgba(7, 28, 45, 0.92), rgba(18, 8, 33, 0.94));
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.26);
}

.short-drama-hero h2 {
  max-width: 760px;
  margin: 8px 0 18px;
  color: #fff;
  font-size: clamp(38px, 5vw, 72px);
  line-height: 0.98;
  letter-spacing: 0;
}

.short-drama-hero p {
  max-width: 720px;
  color: #a9b7c9;
  font-size: 17px;
  line-height: 1.8;
}

.short-drama-hero-actions,
.short-drama-agent-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 26px;
}

.short-drama-flow-card {
  display: grid;
  gap: 12px;
}

.short-drama-flow-card button {
  display: grid;
  grid-template-columns: 54px 1fr;
  gap: 8px 14px;
  align-items: center;
  min-height: 82px;
  padding: 16px;
  text-align: left;
  color: #dfeaff;
  border: 1px solid rgba(64, 211, 255, 0.2);
  border-radius: 18px;
  background: rgba(6, 17, 34, 0.78);
  cursor: pointer;
}

.short-drama-flow-card b {
  grid-row: span 2;
  display: grid;
  place-items: center;
  width: 54px;
  height: 54px;
  border-radius: 18px;
  color: #061426;
  background: linear-gradient(135deg, #27d7ff, #f033cc);
}

.short-drama-flow-card strong,
.short-drama-agent-card strong {
  color: #fff;
  font-size: 18px;
}

.short-drama-flow-card span,
.short-drama-agent-card span,
.short-drama-current-agent {
  color: #8fa1b8;
}

.short-drama-home-panel {
  margin-top: 18px;
}

.short-drama-order {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.short-drama-order span {
  padding: 12px 16px;
  border: 1px solid rgba(64, 211, 255, 0.22);
  border-radius: 14px;
  color: #d9e7ff;
  background: rgba(6, 20, 38, 0.72);
}

.short-drama-workspace {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 22px;
  align-items: start;
}

.short-drama-editor,
.short-drama-agent-panel {
  border: 1px solid rgba(236, 48, 204, 0.22);
  border-radius: 24px;
  background: rgba(8, 12, 29, 0.9);
}

.short-drama-input {
  min-height: 520px;
  height: 52vh;
  max-height: 760px;
  width: 100%;
  resize: vertical;
  line-height: 1.75;
}

.short-drama-input.script-mode {
  min-height: 430px;
  height: 44vh;
}

.short-drama-input.extract-mode {
  min-height: 300px;
  height: 32vh;
}

.short-drama-output {
  display: block;
  min-height: 320px;
  height: 32vh;
  margin-top: 14px;
  width: 100%;
  resize: vertical;
  line-height: 1.75;
}

.short-drama-current-agent {
  margin-top: 12px;
  padding: 12px 14px;
  border: 1px solid rgba(64, 211, 255, 0.16);
  border-radius: 14px;
  background: rgba(7, 26, 43, 0.74);
}

.short-drama-agent-panel {
  align-self: start;
  padding: 20px;
}

.short-drama-agent-panel label {
  display: grid;
  gap: 8px;
  color: #9fb1c8;
}

.short-drama-agent-select,
.short-drama-agent-model {
  width: 100%;
  min-height: 48px;
  color: #f7fbff;
  border: 1px solid rgba(236, 48, 204, 0.3);
  border-radius: 14px;
  background: rgba(4, 11, 24, 0.82);
  padding: 0 12px;
}

.short-drama-agent-card {
  display: grid;
  gap: 8px;
  margin-top: 14px;
  padding: 16px;
  border: 1px solid rgba(64, 211, 255, 0.18);
  border-radius: 16px;
  background: rgba(7, 22, 39, 0.76);
}

.short-drama-agent-card p {
  margin: 0;
  color: #aebbd0;
  line-height: 1.65;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.short-drama-extract-tools {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 14px;
  padding: 14px 16px;
  border: 1px solid rgba(64, 211, 255, 0.18);
  border-radius: 16px;
  background: rgba(6, 21, 38, 0.76);
}

.short-drama-extract-tools strong {
  display: block;
  color: #fff;
  font-size: 16px;
}

.short-drama-extract-tools span,
.short-drama-question-box span {
  display: block;
  color: #8fa1b8;
  margin-top: 4px;
}

.short-drama-extract-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.short-drama-question-box {
  display: grid;
  gap: 8px;
  margin-bottom: 14px;
  color: #dbeafe;
  font-weight: 900;
}

.short-drama-question-box textarea {
  min-height: 86px;
  width: 100%;
  padding: 12px;
  color: #f7fbff;
  border: 1px solid rgba(64, 211, 255, 0.22);
  border-radius: 14px;
  background: rgba(4, 11, 24, 0.82);
  resize: vertical;
}

.short-drama-empty-assets {
  margin-top: 16px;
  padding: 24px;
  color: #90a4bd;
  border: 1px dashed rgba(64, 211, 255, 0.22);
  border-radius: 16px;
  background: rgba(4, 11, 24, 0.58);
}

.short-drama-job-status {
  margin: 0 0 14px;
  padding: 12px 14px;
  color: #9ff7ff;
  border: 1px solid rgba(64, 211, 255, 0.28);
  border-radius: 14px;
  background: rgba(6, 31, 49, 0.82);
  font-weight: 900;
}

.short-drama-job-status.done {
  color: #b9ff7a;
  border-color: rgba(185, 255, 122, 0.28);
  background: rgba(30, 55, 16, 0.5);
}

.short-drama-job-status.error {
  color: #ff9bb3;
  border-color: rgba(255, 107, 148, 0.35);
  background: rgba(55, 12, 28, 0.58);
}

.short-drama-section-title {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  margin: 14px 0 10px;
  padding: 12px 14px;
  border: 1px solid rgba(64, 211, 255, 0.16);
  border-radius: 14px;
  background: rgba(6, 20, 38, 0.62);
}

.short-drama-section-title strong {
  color: #fff;
  font-size: 16px;
}

.short-drama-section-title span {
  color: #8fa1b8;
  text-align: right;
  line-height: 1.5;
}

.short-drama-section-title.result {
  align-items: center;
  border-color: rgba(57, 223, 245, 0.28);
  background: rgba(5, 31, 47, 0.76);
}

.short-drama-section-title.result > div {
  display: grid;
  gap: 4px;
}

.short-drama-section-title.result span {
  text-align: left;
}

.short-drama-image-controls {
  display: grid;
  grid-template-columns: repeat(3, minmax(130px, 1fr));
  gap: 10px;
  min-width: min(560px, 100%);
}

.short-drama-image-controls label {
  display: grid;
  gap: 6px;
  color: #8fa1b8;
  font-size: 12px;
  font-weight: 900;
}

.short-drama-image-controls select {
  min-height: 42px;
  padding: 0 12px;
  color: #f7fbff;
  border: 1px solid rgba(236, 48, 204, 0.28);
  border-radius: 12px;
  background: rgba(4, 11, 24, 0.92);
}

.short-drama-asset-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 14px;
  margin-top: 18px;
}

.short-drama-raw-output {
  margin-top: 16px;
  border: 1px solid rgba(236, 48, 204, 0.18);
  border-radius: 14px;
  background: rgba(4, 11, 24, 0.62);
}

.short-drama-raw-output summary {
  cursor: pointer;
  padding: 12px 14px;
  color: #9fb1c8;
  font-weight: 900;
}

.short-drama-raw-output .short-drama-output {
  margin: 0;
  border-radius: 0 0 14px 14px;
}

.short-drama-asset-card {
  display: grid;
  gap: 12px;
  padding: 12px;
  border: 1px solid rgba(64, 211, 255, 0.18);
  border-radius: 18px;
  background: rgba(7, 14, 31, 0.86);
}

.short-drama-asset-preview {
  display: grid;
  place-items: center;
  width: 100%;
  min-height: 210px;
  padding: 0;
  overflow: hidden;
  color: #7ff5ff;
  border: 1px solid rgba(64, 211, 255, 0.18);
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(12, 35, 55, 0.82), rgba(25, 11, 39, 0.82));
  cursor: default;
}

.short-drama-asset-preview.has-image {
  cursor: zoom-in;
}

.short-drama-asset-preview img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.short-drama-asset-body {
  display: grid;
  gap: 6px;
}

.short-drama-asset-body small {
  color: #39dff5;
  font-weight: 900;
}

.short-drama-asset-body strong {
  color: #fff;
  font-size: 18px;
}

.short-drama-asset-body p {
  margin: 0;
  color: #aab8cd;
  line-height: 1.6;
}

.short-drama-asset-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.short-drama-prompt-editor {
  display: grid;
  gap: 8px;
  color: #9fb1c8;
  font-weight: 900;
}

.short-drama-prompt-editor textarea {
  min-height: 130px;
  width: 100%;
  padding: 10px;
  color: #f7fbff;
  border: 1px solid rgba(236, 48, 204, 0.22);
  border-radius: 12px;
  background: rgba(4, 11, 24, 0.82);
  resize: vertical;
  line-height: 1.55;
}

.short-drama-script-setup {
  display: grid;
  gap: 14px;
  margin-bottom: 16px;
  padding: 16px;
  border: 1px solid rgba(64, 211, 255, 0.18);
  border-radius: 18px;
  background: rgba(6, 21, 38, 0.72);
}

.short-drama-setup-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.short-drama-setup-head strong {
  display: block;
  color: #fff;
  font-size: 18px;
}

.short-drama-setup-head span {
  display: block;
  margin-top: 4px;
  color: #8fa1b8;
}

.short-drama-preset-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.short-drama-option-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(160px, 1fr));
  gap: 12px;
}

.short-drama-option-grid label,
.short-drama-brief-grid label {
  display: grid;
  gap: 8px;
  color: #aab8cd;
  font-weight: 800;
}

.short-drama-option-grid select,
.short-drama-brief-grid textarea {
  width: 100%;
  color: #f7fbff;
  border: 1px solid rgba(236, 48, 204, 0.24);
  border-radius: 14px;
  background: rgba(4, 11, 24, 0.84);
}

.short-drama-option-grid select {
  min-height: 46px;
  padding: 0 12px;
}

.short-drama-brief-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.short-drama-brief-grid textarea {
  min-height: 96px;
  padding: 12px;
  resize: vertical;
  line-height: 1.6;
}

.short-drama-script-step-box {
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid rgba(64, 211, 255, 0.16);
  border-radius: 16px;
  background: rgba(2, 12, 28, 0.54);
}

.short-drama-script-step-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.short-drama-script-step-head strong {
  display: block;
  color: #fff;
  font-size: 17px;
}

.short-drama-script-step-head span {
  display: block;
  margin-top: 4px;
  color: #8fa1b8;
}

.short-drama-script-step-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.short-drama-development-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: 12px;
}

.short-drama-development-grid label {
  display: grid;
  gap: 8px;
  color: #aab8cd;
  font-weight: 800;
}

.short-drama-development-grid textarea {
  width: 100%;
  min-height: 170px;
  padding: 12px;
  color: #f7fbff;
  border: 1px solid rgba(236, 48, 204, 0.24);
  border-radius: 14px;
  background: rgba(4, 11, 24, 0.84);
  resize: vertical;
  line-height: 1.65;
}

.short-drama-development-grid textarea[data-short-script-brief="storyOutline"] {
  min-height: 220px;
}

@media (max-width: 1180px) {
  .short-drama-shell {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
  }

  .short-drama-hero,
  .short-drama-workspace {
    grid-template-columns: 1fr;
  }

  .short-drama-option-grid,
  .short-drama-brief-grid,
  .short-drama-development-grid,
  .short-drama-image-controls {
    grid-template-columns: 1fr;
  }

  .short-drama-script-step-head {
    align-items: flex-start;
    flex-direction: column;
  }
}

.content.content-consultative-marketing-full {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

.content.content-consultative-marketing-full .consultative-marketing-reader {
  width: 100%;
  height: calc(100vh - 104px);
  min-height: calc(100vh - 104px);
}

.content.content-consultative-marketing-full .consultative-marketing-reader iframe {
  width: 100%;
  height: 100%;
}

.consultative-marketing-home {
  min-height: calc(100vh - 104px);
  padding: 28px clamp(22px, 3.2vw, 56px) 42px;
  display: grid;
  gap: 22px;
  background:
    radial-gradient(circle at 18% 12%, color-mix(in srgb, var(--theme-accent) 16%, transparent), transparent 28%),
    linear-gradient(135deg, #071521 0%, #101522 42%, #17110f 100%);
}

.consultative-marketing-workspace,
.consultative-marketing-frame-stack {
  min-height: calc(100vh - 104px);
}

.consultative-marketing-workspace .is-hidden {
  display: none !important;
}

.consultative-home-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr);
  gap: 24px;
  align-items: stretch;
}

.consultative-home-copy,
.consultative-home-visual,
.consultative-home-panel,
.consultative-flow {
  border: 1px solid color-mix(in srgb, var(--theme-accent) 24%, var(--line));
  border-radius: 8px;
  background: color-mix(in srgb, var(--panel) 82%, transparent);
  box-shadow: 0 18px 42px rgba(0, 0, 0, .24);
}

.consultative-home-copy {
  padding: clamp(28px, 4vw, 54px);
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.consultative-home-copy h3 {
  margin: 0 0 18px;
  max-width: 760px;
  font-size: clamp(32px, 4.2vw, 58px);
  line-height: 1.08;
  letter-spacing: 0;
}

.consultative-home-copy p {
  max-width: 760px;
  color: var(--muted);
  font-size: 16px;
  line-height: 1.9;
}

.consultative-home-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 14px;
}

.consultative-home-visual {
  overflow: hidden;
  min-height: 390px;
}

.consultative-home-visual img {
  width: 100%;
  height: 100%;
  min-height: 390px;
  display: block;
  object-fit: cover;
}

.consultative-home-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.consultative-home-panel {
  padding: 22px;
}

.consultative-home-panel span {
  display: inline-flex;
  width: 34px;
  height: 34px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  color: #06131c;
  font-weight: 900;
  background: linear-gradient(135deg, var(--theme-accent), var(--theme-accent-2));
}

.consultative-home-panel h4,
.consultative-flow h4 {
  margin: 16px 0 10px;
  font-size: 18px;
  letter-spacing: 0;
}

.consultative-home-panel p {
  margin: 0;
  color: var(--muted);
  line-height: 1.8;
}

.consultative-flow {
  padding: 24px;
  display: grid;
  grid-template-columns: minmax(260px, .75fr) minmax(0, 1.25fr);
  gap: 18px;
  align-items: center;
}

.consultative-flow-steps {
  display: grid;
  grid-template-columns: repeat(6, minmax(88px, 1fr));
  gap: 10px;
}

.consultative-flow-steps span {
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 12px;
  border-radius: 8px;
  color: var(--ink);
  font-weight: 800;
  background: color-mix(in srgb, var(--theme-accent) 12%, var(--panel-2));
  border: 1px solid color-mix(in srgb, var(--theme-accent) 18%, var(--line));
}

.consultative-course-index {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.consultative-course-index button {
  min-height: 132px;
  padding: 18px;
  text-align: left;
  cursor: pointer;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 22%, var(--line));
  border-radius: 8px;
  color: var(--ink);
  background: color-mix(in srgb, var(--panel) 86%, transparent);
  box-shadow: 0 14px 34px rgba(0, 0, 0, .18);
}

.consultative-course-index button:hover {
  transform: translateY(-2px);
  border-color: color-mix(in srgb, var(--theme-accent) 58%, var(--line));
}

.consultative-course-index span {
  display: inline-flex;
  margin-bottom: 12px;
  color: var(--theme-accent);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0;
}

.consultative-course-index strong {
  display: block;
  margin-bottom: 8px;
  color: var(--ink);
  font-size: 18px;
}

.consultative-course-index em {
  display: block;
  color: var(--muted);
  font-style: normal;
  line-height: 1.55;
}

@media (max-width: 1180px) {
  .consultative-home-hero,
  .consultative-flow {
    grid-template-columns: 1fr;
  }
  .consultative-home-grid,
  .consultative-course-index {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .consultative-flow-steps {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .consultative-marketing-home {
    padding: 18px;
  }
  .consultative-home-grid,
  .consultative-course-index,
  .consultative-flow-steps {
    grid-template-columns: 1fr;
  }
  .consultative-home-visual,
  .consultative-home-visual img {
    min-height: 260px;
  }
}
