@font-face { font-family: "Instrument Sans"; src: url("/static/fonts/InstrumentSans-variable.ttf") format("truetype"); font-weight: 400 700; font-display: swap; }
:root {
  --ui-canvas: #181818; --ui-panel: #202020; --ui-raised: #303030;
  --ui-border: #484848; --ui-text: #f2f2f2; --ui-muted: #b1b1b6;
  --ui-accent: #84b5ff; --ui-accent-ink: #10213a;
  --ui-success: #8ad5a8; --ui-warning: #edc078; --ui-danger: #f09a9f;
  color-scheme: dark;
}
:root { font-family: "Instrument Sans", "Segoe UI", sans-serif; font-synthesis: none; color: var(--ui-text); background: var(--ui-canvas); }
* { box-sizing: border-box; }
body { margin: 0; min-width: 320px; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
[hidden] { display: none !important; }
.project-header, .candidate-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.button { display: inline-flex; align-items: center; justify-content: center; border: 1px solid transparent; text-decoration: none; white-space: nowrap; transition: background .15s ease, transform .15s ease; }
.button:hover:not(:disabled) { transform: translateY(-1px); }
.button:disabled { cursor: wait; opacity: .6; }
.count { display: inline-grid; place-items: center; min-width: 25px; height: 25px; padding: 0 7px; border-radius: 8px; background: var(--ui-raised); color: var(--ui-accent); font-size: 12px; font-weight: 700; vertical-align: middle; }
input[type="text"], input[type="number"], textarea { border: 1px solid var(--ui-border); border-radius: 8px; color: var(--ui-text); background: var(--ui-canvas); outline: none; }
input[type="number"] { padding: 8px 9px; width: 100%; }
.notice { padding: 11px 13px; font-size: 13px; line-height: 1.4; }
.project-item strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.project-item .project-copy > span { display: block; margin-top: 5px; font-size: 11px; }
.muted { color: var(--ui-muted); font-size: 13px; }
.project-header { align-items: center; margin-bottom: 23px; }
.project-header-actions, .candidate-heading-actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 10px; }
.candidate-heading-actions .muted { text-align: right; }
.candidate-heading-actions select { max-width: 190px; min-height: 38px; padding: 7px 9px; border: 1px solid var(--ui-border); border-radius: 8px; color: var(--ui-text); background: var(--ui-raised); font-size: 12px; }
.project-header p { margin-bottom: 0; }
.status-badge { flex: none; padding: 8px 11px; border: 1px solid var(--ui-border); border-radius: 30px; color: var(--ui-accent); background: var(--ui-raised); font-size: 12px; font-weight: 750; }
.status-badge.done { color: #a8e8c3; border-color: #3b6b5b; background: #1b3d34; }
.status-badge.failed { color: #ffd1d9; border-color: #874657; background: #472735; }
.error-panel { padding: 13px; margin-bottom: 18px; border: 1px solid #844354; border-radius: 10px; background: #3a2532; color: #ffccd5; font-size: 13px; }
.analysis-info { display: grid; gap: 5px; padding: 12px 14px; margin-bottom: 18px; border: 1px solid #3b475c; border-radius: 10px; background: var(--ui-panel); color: #bfcddd; font-size: 12px; line-height: 1.45; }
.analysis-info .warning { color: #f2c999; }
.viewer-grid { display: grid; grid-template-columns: minmax(0, 2fr) minmax(220px, 1fr); gap: 16px; align-items: stretch; }
.player-panel, .how-to { border: 1px solid var(--ui-border); border-radius: 13px; background: var(--ui-panel); overflow: hidden; }
.player-panel video { display: block; width: 100%; max-height: 430px; aspect-ratio: 16/9; background: var(--ui-canvas); }
.player-footer { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 13px 15px; font-size: 12px; font-weight: 650; }
.player-footer > div { display: grid; gap: 4px; }
.how-to { padding: 19px; }
.how-to ol { margin: 15px 0 12px; padding-left: 19px; color: #c2cada; font-size: 13px; line-height: 1.8; }
.candidate-heading { align-items: end; margin: 34px 0 15px; }
.candidate-list { display: grid; gap: 12px; }
.candidate-card { display: grid; grid-template-columns: minmax(0, 1fr) minmax(230px, 40%); gap: 18px; padding: 17px; border: 1px solid var(--ui-border); border-radius: 13px; background: var(--ui-panel); }
.candidate-card.selected { border-color: var(--ui-accent); box-shadow: 0 0 0 1px var(--ui-accent) inset; }
.candidate-card h4 { margin: 0 0 6px; font-size: 15px; }
.candidate-card p { margin: 0 0 10px; color: var(--ui-muted); font-size: 13px; line-height: 1.5; }
.candidate-card .ai-reason { color: var(--ui-accent); }
.candidate-meta { color: var(--ui-muted); font-size: 11px; }
.review-transcript { margin-top: 13px; padding: 12px 13px; border: 1px solid var(--ui-border); border-radius: 9px; background: var(--ui-canvas); }
.review-transcript .eyebrow { color: #aebef2; }
.review-transcript .review-quote { margin: 8px 0 0; color: var(--ui-text); font-size: 13px; line-height: 1.65; overflow-wrap: anywhere; }
.review-transcript details { margin-top: 8px; color: var(--ui-muted); font-size: 12px; }
.review-transcript summary { width: fit-content; cursor: pointer; }
.review-transcript details p { margin: 8px 0 0; padding: 8px 10px; border-left: 2px solid #59699b; color: #c6d2ed; overflow-wrap: anywhere; }
.review-transcript .review-context-line strong { color: var(--ui-text); }
.review-transcript small, .review-pending { color: var(--ui-muted); font-size: 11px; }
.review-transcript small { display: block; margin-top: 7px; }
.crop-info { margin: 11px 0 4px !important; color: #b5c5eb !important; font-size: 12px !important; }
.crop-reason { margin: 0 !important; color: var(--ui-muted) !important; font-size: 11px !important; }
.feedback-panel { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 15px; padding-top: 13px; border-top: 1px solid var(--ui-border); }
.feedback-panel .eyebrow { width: 100%; }
.feedback-panel input[type="text"] { min-width: 160px; max-width: 310px; flex: 1; padding: 8px 9px; }
.feedback-panel input[type="number"] { width: 112px; }
.feedback-current { width: 100%; margin: 0 !important; color: #aacbbf !important; font-size: 12px !important; }
.feedback-actions { display: flex; flex-wrap: wrap; gap: 6px; width: 100%; }
.feedback-actions .button { min-height: 31px; padding: 5px 8px; font-size: 11px; }
.candidate-actions { display: flex; flex-direction: column; align-items: flex-end; gap: 9px; min-width: 0; }
.candidate-actions .warning { color: #f2c999; line-height: 1.4; max-width: 340px; }
.time-fields { display: flex; gap: 8px; }
.time-fields label { display: block; width: 82px; color: var(--ui-muted); font-size: 11px; }
.time-fields input { display: block; margin-top: 4px; }
.mode-field { display: grid; gap: 5px; min-width: 170px; color: var(--ui-muted); font-size: 11px; }
.mode-field select { width: 100%; min-height: 36px; padding: 7px 10px; border: 1px solid #3d4964; border-radius: 8px; color: var(--ui-text); background: #20283a; }
.mode-field select:focus-visible { outline: 2px solid #9ba9ff; outline-offset: 2px; }
.captions-field { display: inline-flex; align-items: center; gap: 8px; min-height: 34px; color: #d6def2; font-size: 12px; cursor: pointer; }
.captions-field input { width: 16px; height: 16px; margin: 0; accent-color: #a5b0ff; cursor: pointer; }
.captions-field input:focus-visible { outline: 2px solid #a6b1ff; outline-offset: 2px; }
.caption-style-field { width: min(100%, 230px); }
.caption-style-field select:disabled { opacity: .5; cursor: not-allowed; }
.caption-style-field select:disabled + .caption-style-sample { opacity: .45; }
.action-row { display: flex; gap: 7px; flex-wrap: wrap; justify-content: flex-end; }
.render-state { max-width: 240px; color: #aeb9ce; font-size: 11px; text-align: right; }
.layout-timeline { max-width: 340px; color: #aeb9ce; font-size: 11px; text-align: left; }
.layout-timeline summary { cursor: pointer; color: #d8eea1; }
.layout-timeline ol { margin: 7px 0 0; padding-left: 20px; line-height: 1.5; }
.caption-editor { grid-column: 1 / -1; display: grid; gap: 10px; min-width: 0; padding: 16px; border: 1px solid #435172; border-radius: 10px; background: #121a2b; }
.caption-editor h5 { margin: 0; font-size: 14px; }
.caption-editor p { margin: 0; }
.caption-editor-note, .caption-editor-source { color: #a9b6ce !important; font-size: 12px !important; }
.caption-editor-error { padding: 8px 10px; border-radius: 7px; color: #ffd2db !important; background: #482733; font-size: 12px !important; }
.caption-cue { display: grid; grid-template-columns: 105px 105px minmax(170px, 1fr) auto; gap: 9px; align-items: end; padding: 10px; border: 1px solid #313c58; border-radius: 8px; background: #182136; }
.caption-cue label { display: grid; gap: 5px; min-width: 0; color: #acb8cf; font-size: 11px; }
.caption-cue input, .caption-cue textarea { width: 100%; min-width: 0; padding: 8px 9px; font-size: 12px; }
.caption-cue textarea { resize: vertical; line-height: 1.4; }
.caption-editor-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.caption-editor-actions .button { min-height: 32px; }
.empty-candidates { padding: 24px; border: 1px dashed #3c4761; border-radius: 13px; color: #aeb9ce; font-size: 13px; text-align: center; }
/* Decote: entrada clara, escolhas guiadas e revisão no mesmo estúdio. */
body { background: var(--ui-canvas); }
.app-shell { display: grid; grid-template-columns: 232px minmax(0, 1fr); min-height: 100vh; }
.main-column { min-width: 0; }
.sidebar { display: flex; flex-direction: column; position: sticky; top: 0; height: 100vh; padding: 32px 16px 20px; border-right: 1px solid #273233; background: #111718; }
.brand { display: flex; align-items: center; gap: 12px; padding: 0 12px; color: #f6f9f1; font-size: 27px; font-weight: 790; letter-spacing: -.08em; }
.brand-period { color: #cef58e; }
.brand-mark { display: flex; align-items: flex-end; justify-content: center; gap: 3px; width: 34px; height: 34px; padding: 7px; border-radius: 11px; color: var(--ui-canvas); background: var(--ui-accent); transform: rotate(-8deg); }
.brand-mark span { display: block; width: 5px; border-radius: 4px; background: #15201b; }
.brand-mark span:nth-child(1) { height: 11px; }
.brand-mark span:nth-child(2) { height: 19px; }
.brand-mark span:nth-child(3) { height: 14px; }
.main-nav { display: grid; gap: 6px; margin-top: 51px; }
.nav-item { display: flex; align-items: center; gap: 11px; width: 100%; min-height: 43px; padding: 9px 12px; border: 1px solid transparent; border-radius: 11px; background: transparent; color: #9faeaa; text-align: left; font-size: 13px; font-weight: 670; }
.nav-item:hover { background: #1c2525; color: var(--ui-text); }
.nav-item.active { border-color: #37433b; background: #253128; color: #e6f9c7; }
.nav-icon { display: inline-grid; place-items: center; width: 21px; color: #c7e8b0; font-size: 20px; font-weight: 400; }
.nav-item .count { margin-left: auto; min-width: 22px; height: 22px; border-radius: 7px; background: #303c36; color: #c3d3c8; }
.pricing-screen { max-width: 1060px; }
.pricing-heading { margin: 13px 0 27px; }
.pricing-heading h1 { margin: 9px 0 10px; font-size: clamp(32px, 3.6vw, 47px); letter-spacing: -.06em; }
.pricing-heading p { max-width: 670px; margin: 0; color: #a5b5aa; font-size: 14px; line-height: 1.6; }
.pricing-project { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 17px 20px; border: 1px solid #4b6748; border-radius: 15px; background: #223329; }
.pricing-project > div { display: grid; gap: 6px; min-width: 0; }
.pricing-label { color: #bddb9d; font-size: 10px; font-weight: 800; letter-spacing: .12em; }
.pricing-project strong { overflow: hidden; color: #f2f7eb; font-size: 16px; text-overflow: ellipsis; white-space: nowrap; }
.pricing-project > span:last-child { color: #d6efbf; font-size: 13px; font-weight: 720; text-align: right; }
.pricing-intro { margin: 9px 0 26px; color: #91a69a; font-size: 12px; line-height: 1.5; }
.pricing-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.pricing-card { min-width: 0; padding: 24px; border: 1px solid #384b3e; border-radius: 18px; background: #19241f; }
.pricing-pilot { border-color: #55734c; background: linear-gradient(150deg, #24352a, #18251e 75%); }
.pricing-card-heading { display: flex; align-items: start; justify-content: space-between; gap: 12px; margin-bottom: 13px; }
.pricing-card-heading h2 { margin: 5px 0 0; color: #eff7e8; font-size: 24px; letter-spacing: -.04em; }
.pricing-pill { padding: 5px 8px; border: 1px solid #7b9b60; border-radius: 6px; color: #d9f6ad; font-size: 10px; font-weight: 810; letter-spacing: .1em; }
.pricing-plan-list { display: grid; }
.pricing-plan-list > p, .pricing-card > p { margin: 12px 0 0; color: #a7b9aa; font-size: 12px; line-height: 1.5; }
.pricing-plan-row { display: flex; align-items: center; justify-content: space-between; gap: 14px; min-height: 62px; padding: 12px 0; border-bottom: 1px solid #3d5142; }
.pricing-plan-row:last-child { border-bottom: 0; }
.pricing-plan-row > span { min-width: 0; color: #e6eee5; font-size: 14px; font-weight: 710; }
.pricing-plan-row small { display: block; margin-top: 3px; color: #9db29f; font-size: 11px; font-weight: 500; }
.pricing-plan-row strong { flex: none; color: #e0f7b9; font-size: 15px; font-weight: 800; white-space: nowrap; }
.pricing-benchmark .pricing-plan-row strong { color: #d4e3d2; }
.pricing-benchmark a { display: inline-block; margin-top: 16px; color: #c2dda5; font-size: 12px; text-decoration: underline; text-underline-offset: 3px; }
.pricing-note { max-width: 920px; margin: 20px 0 0; color: #94a89b; font-size: 12px; line-height: 1.6; }
.workspace { width: min(100%, 1500px); margin: 0 auto; padding: 36px clamp(24px, 4vw, 62px) 90px; }
.eyebrow { color: #a9bdac; font-size: 10px; font-weight: 810; letter-spacing: .16em; }
button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, a:focus-visible { outline: 2px solid var(--ui-accent); outline-offset: 3px; }
.button { min-height: 42px; padding: 10px 16px; border-radius: 10px; font-size: 12px; font-weight: 760; }
.button.primary { color: #142019; background: var(--ui-accent); }
.button.primary:hover:not(:disabled) { background: #e5ffb4; }
.button.secondary { color: #e4efe8; border-color: #3b4b49; background: #24302e; }
.button.secondary:hover:not(:disabled) { background: #2e3e3b; }
.button.text-button { color: #cceb9d; }
.notice { max-width: 1140px; margin: 0 auto 20px; border: 1px solid #436b53; border-radius: 12px; background: #1b372a; color: #c6f2d2; }
.notice.error { border-color: #724641; background: #412a26; color: #ffe0d5; }
.inline-link { padding: 4px 0; border: 0; background: transparent; color: #d5ecab; font-size: 12px; font-weight: 760; text-decoration: none; }
.inline-link:hover { text-decoration: underline; }

/* Início */
.hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, .82fr); gap: 20px; align-items: center; min-height: 318px; }
.hero-copy { position: relative; z-index: 1; }
.hero h1 { margin: 17px 0 16px; font-size: clamp(36px, 4.4vw, 65px); line-height: 1.035; font-weight: 760; letter-spacing: -.07em; }
.hero h1 em { color: var(--ui-accent); font-style: normal; }
.hero p { max-width: 540px; margin: 0; color: #9eafaa; font-size: 15px; line-height: 1.65; }
.hero-art { position: relative; height: 280px; overflow: hidden; border-radius: 24px; background: radial-gradient(circle at 63% 52%, #314f3e 0, #192b29 37%, #111919 72%); }
.hero-art::before { content: ""; position: absolute; inset: 25px 32px; border: 1px solid #35503c; border-radius: 50%; transform: scale(1.24, .88); }
.hero-film { position: absolute; border: 1px solid #6f9c67; border-radius: 16px; box-shadow: 0 27px 65px #06100dbb; }
.film-back { display: flex; justify-content: space-evenly; align-items: center; top: 28px; right: 34px; width: 218px; height: 152px; transform: rotate(12deg); background: linear-gradient(140deg, #5f7748, #2a4137); }
.film-back span { width: 43px; height: 64px; border-radius: 24px 24px 7px 7px; background: #b9ce7e; opacity: .48; }
.film-front { display: grid; place-items: center; bottom: 26px; left: 17%; width: 224px; height: 173px; transform: rotate(-8deg); background: linear-gradient(145deg, #8ecb9c, #375c4a 42%, #172826); }
.play-triangle { width: 0; height: 0; border-top: 17px solid transparent; border-bottom: 17px solid transparent; border-left: 24px solid #d8f6a2; filter: drop-shadow(0 2px 9px #203f24); }
.film-track { position: absolute; display: flex; justify-content: space-evenly; align-items: center; bottom: 13px; left: 12px; right: 12px; height: 25px; padding: 3px; border-radius: 5px; background: #162c25; }
.film-track i { display: block; width: 30px; height: 17px; border-radius: 3px; background: #8fbb8b; }
.film-track i:nth-child(3) { background: var(--ui-accent); }
.hero-star { position: absolute; top: 26px; left: 18%; color: var(--ui-accent); font-size: 37px; }
.import-panel { max-width: 1050px; margin-top: 35px; padding: 27px 30px 26px; border: 1px solid var(--ui-border); border-radius: 20px; background: var(--ui-border); box-shadow: 0 25px 80px #060b0a55; }
.import-panel-heading { display: flex; align-items: flex-start; justify-content: space-between; }
.import-panel h2 { margin: 6px 0 18px; font-size: 25px; letter-spacing: -.045em; }
.step-cue { color: #8da398; font-size: 11px; font-weight: 800; letter-spacing: .08em; }
.import-tabs { display: flex; gap: 27px; border-bottom: 1px solid var(--ui-border); }
.import-tab { position: relative; padding: 12px 2px 15px; border: 0; background: transparent; color: #91a59c; font-size: 13px; font-weight: 750; }
.import-tab.active { color: #eaf4e5; }
.import-tab.active::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; border-radius: 3px; background: var(--ui-accent); }
.source-panel { padding-top: 21px; }
.source-panel label { display: block; margin-bottom: 10px; color: #d5e1d7; font-size: 12px; font-weight: 750; }
.large-field, .field-row, .local-file-row { display: flex; align-items: center; gap: 11px; }
.large-field { min-height: 58px; padding: 6px 6px 6px 18px; border: 1px solid var(--ui-border); border-radius: 12px; background: var(--ui-canvas); }
.large-field > span { color: #c1d6c0; font-size: 18px; }
.large-field input { flex: 1; min-width: 0; padding: 9px 4px; border: 0; outline: 0; color: #f0f6eb; background: transparent; font-size: 14px; }
.large-field input::placeholder { color: #72857d; }
.large-field:focus-within { border-color: var(--ui-accent); box-shadow: 0 0 0 2px #d4f58e22; }
.large-field .button { min-height: 45px; padding: 11px 19px; }
.source-link-preview { display: flex; align-items: center; gap: 15px; margin-top: 15px; padding: 12px; border: 1px solid #3b5041; border-radius: 12px; background: #15211b; }
.source-link-preview img { flex: none; width: clamp(80px, 16vw, 144px); aspect-ratio: 16 / 9; object-fit: cover; border-radius: 7px; background: #0d1711; }
.source-link-preview > div { display: grid; gap: 7px; min-width: 0; }
.source-link-preview strong { color: #eff6e9; font-size: 14px; line-height: 1.4; overflow-wrap: anywhere; }
.source-link-preview small { color: #a6baaa; font-size: 11px; line-height: 1.5; overflow-wrap: anywhere; }
.source-link-preview[aria-busy="true"] strong { color: #c3d5bd; }
.source-link-preview.error { border-color: #724641; }
.source-link-preview.error small { color: #ffd5c8; }
.field-help { margin: 11px 0 0; color: var(--ui-muted); font-size: 11px; line-height: 1.5; }
.platform-detection { margin: 11px 0 0; color: var(--ui-accent); font-size: 12px; font-weight: 700; }
.platform-detection.unknown { color: var(--ui-muted); font-weight: 500; }
.platform-support { margin-top: 24px; padding-top: 24px; border-top: 1px solid var(--ui-border); }
.platform-support-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin-bottom: 16px; }
.platform-support-heading h3 { margin: 0; font-size: 14px; font-weight: 600; color: var(--ui-text); letter-spacing: -.01em; }
.platform-support-heading > span:last-child { color: var(--ui-muted); font-size: 12px; text-align: right; line-height: 1.5; }
.platform-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 8px; }
.platform-chip { display: flex; align-items: center; gap: 10px; min-width: 0; min-height: 52px; padding: 10px 12px; border: 1px solid transparent; border-radius: 8px; background: var(--ui-canvas); color: var(--ui-text); font-size: 13px; font-weight: 500; white-space: nowrap; transition: border-color 150ms ease, background 150ms ease; }
.platform-icon { display: grid; place-items: center; width: 28px; height: 28px; flex: none; }
.platform-icon img { display: block; width: 20px; height: 20px; object-fit: contain; }
.platform-chip > span:last-child { min-width: 0; white-space: normal; overflow-wrap: anywhere; }
.platform-chip[data-platform="X / Twitter"] .platform-icon { background: #fff; border-radius: 6px; }
.platform-chip.detected { border-color: var(--ui-accent); background: var(--ui-raised); }
.platform-chip.detected::after { content: "✓"; margin-left: auto; color: var(--ui-accent); font-size: 14px; }
@media (prefers-reduced-motion: reduce) { .platform-chip { transition: none; } }
.platform-local { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-top: 13px; padding: 11px 13px; border: 1px solid var(--ui-border); border-radius: 9px; background: var(--ui-panel); }
.platform-local strong, .platform-local small { display: block; }
.platform-local strong { color: var(--ui-muted); font-size: 11px; }
.platform-local small { margin-top: 4px; color: var(--ui-muted); font-size: 11px; }
.platform-local .inline-link { flex: none; white-space: nowrap; }
#open-local-from-link { margin-top: 7px; }
.import-job-status { margin-top: 15px; padding: 11px 14px; border-radius: 10px; color: #d7edbc; background: var(--ui-raised); font-size: 12px; }
.import-job-status.error { color: #ffe0d5; background: #412a26; }
.upload-card, .import-card { padding: 0; margin: 0; border: 0; border-radius: 0; background: transparent; }
.upload-card input { flex: 1; width: auto; min-width: 0; padding: 11px; border: 1px solid var(--ui-border); border-radius: 10px; color: var(--ui-muted); background: var(--ui-canvas); }
.upload-card input::file-selector-button { border-color: #4c6352; color: #e2f4d2; background: #2d4434; }
.upload-card .button { width: auto; margin-top: 0; }
.import-divider { display: flex; align-items: center; gap: 12px; margin: 20px 0; color: var(--ui-muted); font-size: 11px; }
.import-divider::before, .import-divider::after { content: ""; flex: 1; height: 1px; background: var(--ui-border); }
.field-row input { flex: 1; padding: 13px; border-color: var(--ui-border); border-radius: 10px; background: var(--ui-canvas); color: var(--ui-text); font-size: 13px; }
.home-bottom { max-width: 1050px; margin-top: 38px; }
.recent-heading { display: flex; align-items: center; justify-content: space-between; }
.home-project-list { display: grid; grid-template-columns: minmax(0, 1fr); gap: 7px; margin-top: 14px; }
.home-project-list .project-item { width: 100%; min-width: 0; }

/* Biblioteca */
.page-heading { position: relative; padding: 25px 0 31px; border-bottom: 1px solid var(--ui-border); }
.page-heading h1, .project-header h1 { margin: 9px 0 7px; font-size: clamp(30px, 3vw, 43px); letter-spacing: -.055em; }
.page-heading p { margin: 0; color: var(--ui-muted); font-size: 14px; }
.page-heading > .button { position: absolute; right: 0; bottom: 28px; }
.project-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(290px, 1fr)); gap: 12px; padding-top: 24px; }
.project-item { display: flex; align-items: center; gap: 12px; min-height: 74px; padding: 12px; border: 1px solid var(--ui-border); border-radius: 12px; background: var(--ui-border); color: var(--ui-text); }
.project-item:hover, .project-item.active { border-color: var(--ui-accent); background: var(--ui-raised); }
.project-glyph { display: grid !important; place-items: center; flex: none; width: 42px; height: 42px; margin: 0 !important; border-radius: 8px; color: var(--ui-accent) !important; background: var(--ui-raised); font-size: 13px !important; }
.project-copy { display: block !important; min-width: 0; flex: 1; margin: 0 !important; }
.project-copy strong { color: var(--ui-text); font-size: 12px; }
.project-copy span { color: var(--ui-muted); }
.project-arrow { margin: 0 !important; color: #c4d8b9 !important; font-size: 18px !important; }
.empty-state { max-width: 600px; margin: 40px 0; padding: 24px; border: 1px dashed #3a4a40; border-radius: 14px; text-align: left; }
.empty-state strong { color: #e1f3d2; }
.empty-state p { margin: 8px 0 0; }

/* Configuração, uma decisão por tela */
.wizard-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 30px; }
.wizard-options { display: grid; gap: 32px; }
.choice-group-heading h2 { margin: 0 0 5px; font-size: 17px; letter-spacing: -.03em; }
.choice-group-heading p { margin: 0 0 15px; color: #8ea297; font-size: 12px; }
.choice-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.choice-grid.ratio-choices { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.choice-grid.caption-style-choices { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.choice-grid.genre-choice { display: grid; grid-template-columns: 1fr; max-width: 430px; gap: 8px; }
.wizard-field-label { color: #e5f1df; font-size: 12px; font-weight: 700; }
.wizard-select { width: 100%; min-height: 46px; padding: 10px 13px; border: 1px solid #526c57; border-radius: 10px; background: #19271e; color: #edf6e9; font: inherit; font-size: 13px; }
.wizard-select:focus-visible { outline: 2px solid var(--ui-accent); outline-offset: 2px; }
.genre-guidance { margin: 4px 0 0; color: #b8ccb9; font-size: 12px; line-height: 1.6; }
.specific-moments-control, .processing-range-control { display: grid; gap: 10px; }
.wizard-moments-input, .wizard-time-input { width: 100%; border: 1px solid #526c57; border-radius: 10px; padding: 12px; background: #19271e; color: #edf6e9; font: inherit; font-size: 13px; }
.wizard-moments-input { min-height: 90px; resize: vertical; line-height: 1.6; }
.wizard-moments-input:focus-visible, .wizard-time-input:focus-visible { outline: 2px solid var(--ui-accent); outline-offset: 2px; }
.wizard-input-help { display: block; margin: 0; color: #98b19e; font-size: 11px; line-height: 1.6; }
.processing-time-fields { display: flex; justify-content: space-between; gap: 20px; }
.processing-time-fields label { display: grid; gap: 7px; width: min(45%, 160px); }
.wizard-time-input { font-variant-numeric: tabular-nums; text-align: center; }
.processing-reset { justify-self: start; }
.processing-range-track { position: relative; height: 38px; margin: 2px 11px 0; --range-start: 0%; --range-end: 100%; }
.processing-range-track::before { content: ""; position: absolute; top: 17px; left: 0; right: 0; height: 5px; border-radius: 4px; background: linear-gradient(to right, #405447 0 var(--range-start), var(--ui-accent) var(--range-start) var(--range-end), #405447 var(--range-end) 100%); }
.processing-range-track input[type="range"] { position: absolute; top: 0; left: -11px; width: calc(100% + 22px); height: 38px; margin: 0; padding: 0; appearance: none; -webkit-appearance: none; background: transparent; pointer-events: none; }
.processing-range-track input[type="range"]::-webkit-slider-thumb { appearance: none; -webkit-appearance: none; width: 22px; height: 22px; border: 2px solid var(--ui-accent); border-radius: 50%; background: #17241b; cursor: ew-resize; pointer-events: auto; }
.processing-range-track input[type="range"]::-moz-range-thumb { width: 18px; height: 18px; border: 2px solid var(--ui-accent); border-radius: 50%; background: #17241b; cursor: ew-resize; pointer-events: auto; }
.processing-range-track input[type="range"]:focus-visible { outline: none; }
.processing-range-track input[type="range"]:focus-visible::-webkit-slider-thumb { box-shadow: 0 0 0 4px #d4f58e55; }
.processing-range-track input[type="range"]:focus-visible::-moz-range-thumb { box-shadow: 0 0 0 4px #d4f58e55; }
.processing-range-track input:disabled::-webkit-slider-thumb { cursor: default; border-color: #7c9271; }
.wizard-time-input:disabled, .wizard-moments-input:disabled { opacity: .65; }
.framing-options-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(220px, 280px); align-items: start; gap: 16px; }
.framing-choices { grid-template-columns: minmax(0, 1fr); }
.framing-example { position: sticky; top: 22px; min-width: 0; min-height: 300px; padding: 16px; border: 1px solid #40533f; border-radius: 16px; background: #111b16; }
.framing-example > .eyebrow { display: block; margin-bottom: 12px; color: #b7d995; font-size: 10px; letter-spacing: .12em; }
.framing-example-frame { display: none; overflow: hidden; border: 1px solid #5e7658; border-radius: 11px; background-color: #0b1410; background-repeat: no-repeat; box-shadow: 0 8px 27px #0005; }
.framing-example.show-example .framing-example-frame { display: block; }
.framing-example-frame { width: min(100%, 250px); aspect-ratio: 1; margin-inline: auto; }
/* Crop 480px of each 512px sprite cell. The generated vertical sheet's
   row separators sit above the nominal 512px/1024px boundaries. */
.framing-example-frame[data-sheet="vertical"] { background-image: url("/static/framing-examples/vertical-sheet.png"); background-size: 213.333333% 320%; }
.framing-example-frame[data-sheet="horizontal"] { background-image: url("/static/framing-examples/horizontal-sheet.png"); background-size: 320% 213.333333%; }
.framing-example-frame[data-sheet="square"] { background-image: url("/static/framing-examples/square-sheet.png"); background-size: 320% 213.333333%; }
.framing-example-frame[data-sheet="vertical"][data-mode="auto"] { background-position: 2.94% .66%; }
.framing-example-frame[data-sheet="vertical"][data-mode="face"] { background-position: 97.06% .66%; }
.framing-example-frame[data-sheet="vertical"][data-mode="split"] { background-position: 2.94% 95.36%; }
.framing-example-frame[data-sheet="vertical"][data-mode="react"] { background-position: 97.06% 95.36%; }
.framing-example-frame[data-sheet="horizontal"][data-mode="auto"],
.framing-example-frame[data-sheet="square"][data-mode="auto"] { background-position: 1.52% 2.94%; }
.framing-example-frame[data-sheet="horizontal"][data-mode="face"],
.framing-example-frame[data-sheet="square"][data-mode="face"] { background-position: 50% 2.94%; }
.framing-example-frame[data-sheet="horizontal"][data-mode="split"],
.framing-example-frame[data-sheet="square"][data-mode="split"] { background-position: 50% 97.06%; }
.framing-example-frame[data-sheet="horizontal"][data-mode="react"],
.framing-example-frame[data-sheet="square"][data-mode="react"] { background-position: 98.48% 97.06%; }
.framing-example-frame[data-mode="center"] { background-size: cover; background-position: center; }
.framing-example-frame[data-sheet="vertical"][data-mode="center"] { background-image: url("/static/framing-examples/center-vertical.png"); }
.framing-example-frame[data-sheet="square"][data-mode="center"] { background-image: url("/static/framing-examples/center-square.png"); }
.framing-example-frame[data-sheet="horizontal"][data-mode="center"] { background-image: url("/static/framing-examples/center-horizontal.png"); }
.framing-example-empty { display: block; padding: 28px 4px; color: #a7b9aa; font-size: 12px; line-height: 1.5; }
.framing-example.show-example .framing-example-empty { display: none; }
.framing-example-title { display: block; margin-top: 13px; color: #e9f5dd; font-size: 13px; }
.framing-example-title:empty, .framing-example-detail:empty { display: none; }
.framing-example-detail { margin: 7px 0 0; color: #a9bcaa; font-size: 11px; line-height: 1.5; }
.caption-style-card { flex-wrap: wrap; align-content: start; min-height: 174px; }
.caption-style-card .choice-copy { min-height: 45px; }
.caption-style-sample {
  position: relative; isolation: isolate; display: flex; align-items: flex-end; justify-content: center;
  overflow: hidden; width: 100%; height: 96px; padding: 8px 8px 13px; border: 1px solid #607068;
  border-radius: 8px; color: #fff;
  background: radial-gradient(circle at 50% 28%, #8c9d91 0 10px, transparent 11px),
    radial-gradient(ellipse at 50% 104%, #4c6659 0 33%, transparent 34%),
    linear-gradient(145deg, #1a343c, #3f5b57 48%, #1d3034);
  text-align: center;
}
.caption-style-sample::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, transparent 10%, #07110c78 100%); }
.caption-style-sample.compact { height: 67px; padding-bottom: 9px; border-color: #425b4a; }
.caption-style-sample.compact .caption-preview-line { font-size: 12px; }
.caption-preview-line { position: relative; display: inline-flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 0 .28em; max-width: 100%; white-space: normal; font-size: 15px; font-weight: 900; line-height: 1.15; }
.caption-preview-word { display: inline-block; }
.caption-preview-word:last-child { flex-basis: 100%; }
.caption-preview-classic .caption-preview-line { color: #fff; text-shadow: -2px -2px #080808, 2px -2px #080808, -2px 2px #080808, 2px 2px #080808; }
.caption-preview-lime .caption-preview-line { color: #d5ff60; text-shadow: -2px -2px #122414, 2px -2px #122414, -2px 2px #122414, 2px 2px #122414; }
.caption-preview-box .caption-preview-line { padding: 5px 7px; border: 1px solid #d5dcd6; border-radius: 3px; background: #080c0be8; color: #fff; }
.caption-preview-karaoke .caption-preview-line { padding: 0; background: transparent; font-family: Impact, "Arial Black", sans-serif; -webkit-text-stroke: .7px #080808; paint-order: stroke fill; text-shadow: 1px 2px #070b0a; }
.caption-preview-karaoke .caption-preview-word { color: #fff; animation: caption-karaoke 3s steps(1) infinite paused; }
.caption-preview-karaoke .caption-preview-word:first-child { color: #25e848; }
.caption-preview-karaoke .caption-preview-word:nth-child(2) { animation-delay: -1s; }
.caption-preview-karaoke .caption-preview-word:nth-child(3) { animation-delay: -2s; }
.caption-preview-pop .caption-preview-line { color: #fff; font-size: 16px; text-shadow: -2px -2px #1b2035, 2px -2px #1b2035, -2px 2px #1b2035, 2px 2px #1b2035, 0 4px 1px #f6756e; animation: caption-pop 2.7s ease-in-out infinite paused; }
.caption-preview-neon .caption-preview-line { color: #b5fff9; letter-spacing: .03em; text-shadow: 0 0 2px #fff, 0 0 8px #28f0de, 0 0 16px #17aaf3, 2px 2px #07101b; animation: caption-neon 3.2s ease-in-out infinite paused; }
.caption-preview-typewriter .caption-preview-line { overflow: hidden; justify-content: flex-start; width: 100%; max-width: max-content; padding: 4px 5px; border-radius: 2px; background: #07120ee0; color: #f8f2d9; font-family: Consolas, "Courier New", monospace; font-size: 13px; letter-spacing: -.03em; animation: caption-type 3s steps(13, end) -2.4s infinite paused; }
.caption-preview-comic .caption-preview-line { padding: 4px 7px; transform: rotate(-3deg); border: 2px solid #121416; background: #fff068; color: #11151a; box-shadow: 3px 3px 0 #e76673; font-family: Impact, "Arial Black", sans-serif; letter-spacing: .02em; animation: caption-comic 2.8s ease-in-out infinite paused; }
.caption-preview-minimal .caption-preview-line { color: #fff; font-size: 14px; font-weight: 500; letter-spacing: .04em; text-shadow: 0 1px 6px #000; animation: caption-minimal 3s ease-in-out infinite paused; }
.caption-preview-highlight .caption-preview-line { padding: 4px 5px; color: #fff; text-shadow: 0 1px 2px #101913; }
.caption-preview-highlight .caption-preview-word { border-bottom: 3px solid transparent; animation: caption-marker 3s steps(1) infinite paused; }
.caption-preview-highlight .caption-preview-word:first-child { color: #ffdc5e; border-color: #ffdc5e; }
.caption-preview-highlight .caption-preview-word:nth-child(2) { animation-delay: -1s; }
.caption-preview-highlight .caption-preview-word:nth-child(3) { animation-delay: -2s; }
.caption-style-card:is(.selected, :hover, :focus-visible) .caption-style-sample *,
.caption-style-field:is(:hover, :focus-within) .caption-style-sample *,
.ed-preset:is(.active, :hover, :focus-visible) .caption-style-sample * { animation-play-state: running; }
@keyframes caption-karaoke { 0%, 32% { color: #25e848; } 33%, 100% { color: #fff; } }
@keyframes caption-pop { 0%, 15%, 100% { transform: scale(1); } 22% { transform: translateY(-5px) scale(1.32); } 34% { transform: scale(.97); } }
@keyframes caption-neon { 0%, 100% { color: #b5fff9; text-shadow: 0 0 2px #fff, 0 0 8px #28f0de, 0 0 16px #17aaf3; } 50% { color: #ffd4fd; text-shadow: 0 0 2px #fff, 0 0 10px #f450e0, 0 0 17px #8f5cff; } }
@keyframes caption-type { 0% { clip-path: inset(0 100% 0 0); } 72%, 100% { clip-path: inset(0); } }
@keyframes caption-comic { 0%, 15%, 100% { transform: rotate(-3deg) scale(1); } 21% { transform: rotate(3deg) scale(1.2); } 30% { transform: rotate(-3deg) scale(1); } }
@keyframes caption-minimal { 0%, 18%, 100% { opacity: 1; transform: translateY(0); } 4% { opacity: 0; transform: translateY(5px); } }
@keyframes caption-marker { 0%, 32% { color: #ffdc5e; border-color: #ffdc5e; } 33%, 100% { color: #fff; border-color: transparent; } }
@media (prefers-reduced-motion: reduce) {
  .caption-style-sample *, .caption-style-field .caption-style-sample *, .ed-preset .caption-style-sample * { animation: none !important; }
}
.choice-card { display: flex; align-items: center; gap: 12px; min-height: 82px; width: 100%; padding: 13px; border: 1px solid #35453d; border-radius: 13px; background: #19221f; color: #e9f1e8; text-align: left; }
.choice-card:hover:not(:disabled) { border-color: #a4c989; background: #233329; }
.choice-card.selected { border-color: var(--ui-accent); background: #283c2d; box-shadow: 0 0 0 1px #d4f58e44 inset; }
.choice-card.disabled { color: #95a49a; cursor: not-allowed; opacity: .55; }
.choice-card.selected.disabled { opacity: .9; }
.choice-icon { display: grid; place-items: center; flex: none; width: 40px; height: 40px; border: 1px solid #526351; border-radius: 10px; color: var(--ui-accent); background: #2b3b2e; font-size: 19px; font-weight: 730; }
.choice-copy { display: grid; gap: 5px; min-width: 0; flex: 1; }
.choice-copy strong { font-size: 13px; }
.choice-copy small { color: #a5b8aa; font-size: 11px; line-height: 1.35; }
.choice-mark { color: var(--ui-accent); font-size: 10px; font-weight: 850; white-space: nowrap; }
.wizard-detail { min-height: 20px; margin: 17px 0 0; color: #a9bda8; font-size: 12px; line-height: 1.5; }
.video-swatch { height: 132px; margin: 15px 0; overflow: hidden; border: 1px solid #4b604c; border-radius: 11px; background: #101b16; }
.video-swatch video { display: block; width: 100%; height: 100%; object-fit: contain; background: #08100b; }
.video-swatch img { display: block; width: 100%; height: 100%; object-fit: cover; background: #08100b; }
.video-swatch video[hidden], .video-swatch img[hidden] { display: none; }

/* Revisão */
.project-header { margin: 12px 0 27px; align-items: end; }
.project-header .inline-link { display: block; margin: 0 0 24px; }
.project-header p { color: #91a499; }
.project-header .project-preference-summary { margin: 7px 0 0; color: #c9dda9; font-size: 12px; }
.project-header-actions { max-width: 50%; }
.muted { color: #91a499; }
.status-badge { border-color: #4b6448; color: #d6eec6; background: #293c2a; }
.analysis-info { border-color: #3c4e42; background: #1c2b23; color: #c3d6c6; }
.analysis-info .warning { color: #f5c9a0; }
.analysis-info a { width: fit-content; color: #d1efab; font-size: 12px; text-underline-offset: 3px; }
.error-panel { border-color: #915d55; background: #432b27; }
.viewer-grid { grid-template-columns: minmax(0, 2fr) minmax(210px, .82fr); }
.player-panel, .how-to { border-color: #34433b; border-radius: 15px; background: #18211e; }
.how-to { padding: 22px; }
.how-to h3 { margin: 14px 0 7px; font-size: 18px; }
.how-to ol { color: #b6c4b5; }
.candidate-heading { align-items: start; margin-top: 45px; }
.candidate-heading h2 { margin: 7px 0 0; font-size: 25px; }
.candidate-heading-actions select { border-color: #425445; color: #e0eee0; background: #24332b; }
.candidate-card { border-color: #35443a; border-radius: 15px; background: #1a2420; }
.candidate-card.selected { border-color: #c6e88f; box-shadow: 0 0 0 1px #91bb76 inset; }
.candidate-card p { color: #c2d0c3; }
.candidate-card .ai-reason { color: #d0e9aa; }
.candidate-meta { color: #94a99b; }
.editorial-package { display: grid; gap: 10px; margin: 15px 0; padding: 12px; border: 1px solid #4a6046; border-radius: 12px; background: #16231b; }
.editorial-package-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.editorial-package-header > div:first-child { display: grid; gap: 4px; min-width: 0; }
.editorial-package-header .eyebrow { color: #b5da94; font-size: 10px; }
.editorial-package-header strong { color: #e9f4e0; font-size: 14px; overflow-wrap: anywhere; }
.editorial-priority { flex: none; color: #c4f57b; font-size: 19px; font-weight: 800; text-align: right; white-space: nowrap; }
.editorial-priority small { display: block; max-width: 90px; color: #adc6a9; font-size: 9px; font-weight: 500; line-height: 1.2; white-space: normal; }
.editorial-criteria { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
.editorial-criterion { min-width: 0; padding: 7px 9px; border: 1px solid #425844; border-radius: 8px; background: var(--ui-raised); }
.editorial-criterion summary { display: flex; align-items: center; justify-content: space-between; gap: 8px; color: #d4e5d0; font-size: 11px; cursor: pointer; list-style: none; }
.editorial-criterion summary::-webkit-details-marker { display: none; }
.editorial-criterion summary::before { content: "▸"; color: #afcfa3; }
.editorial-criterion[open] summary::before { content: "▾"; }
.editorial-criterion summary strong { margin-left: auto; color: #c8f280; font-size: 12px; }
.candidate-card .editorial-criterion p { margin: 8px 0 0; color: #b8ccba; font-size: 11px; line-height: 1.45; overflow-wrap: anywhere; }
.candidate-card .editorial-scene { margin: 0; color: #c9d8c8; font-size: 11px; overflow-wrap: anywhere; }
.editorial-scene strong { color: #e4f1dc; }
.editorial-evidence-limit { color: #9eb4a3; font-size: 10px; line-height: 1.4; }
.candidate-card .editorial-stale { margin: 0; color: #f4cb93; font-size: 11px; }
.editorial-publication { padding-top: 8px; border-top: 1px solid #3b5140; }
.editorial-publication > summary { color: #d2e7c8; font-size: 11px; font-weight: 700; cursor: pointer; }
.editorial-publication-field { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; padding: 9px 0; border-bottom: 1px solid #334839; }
.editorial-publication-field > div { min-width: 0; user-select: text; }
.editorial-publication-field strong { color: #b6dba7; font-size: 10px; }
.candidate-card .editorial-publication-field p { margin: 4px 0 0; color: #e4ede0; font-size: 11px; line-height: 1.45; white-space: pre-wrap; overflow-wrap: anywhere; }
.editorial-publication-field .button, .editorial-publication > .button { flex: none; min-height: 28px; padding: 4px 8px; font-size: 10px; }
.editorial-publication > .button { margin-top: 9px; }
.review-transcript { border-color: #3a5141; background: #14231c; }
.review-transcript .eyebrow { color: #b4d693; }
.review-transcript .review-quote { color: #f3f8eb; }
.crop-info { color: #bfd5b6 !important; }
.feedback-panel { border-color: #36483a; }
.feedback-disclosure { margin-top: 14px; border-top: 1px solid #37473b; }
.feedback-disclosure > summary { width: fit-content; padding: 10px 0 3px; color: #cbeaa0; cursor: pointer; font-size: 12px; font-weight: 720; }
.feedback-disclosure > summary:hover { text-decoration: underline; }
.feedback-disclosure .feedback-panel { margin-top: 6px; padding-top: 5px; border: 0; }
.feedback-panel input[type="text"], .feedback-panel input[type="number"] { border-color: #485b4b; background: #101b15; color: #e8f0e8; }
.mode-field select { border-color: #46594a; color: #edf4e9; background: #26362c; }
.captions-field input { accent-color: #c9ed8b; }
.caption-editor { border-color: #475d47; background: #15241b; }
.caption-cue { border-color: #3b4f42; background: #203026; }
.empty-candidates { border-color: #485c48; color: #a6bda7; }

@media (max-width: 1180px) {
  .hero { grid-template-columns: minmax(0, 1fr) 300px; }
}
@media (max-width: 960px) {
  .app-shell { grid-template-columns: 74px minmax(0, 1fr); }
  .sidebar { padding-inline: 10px; }
  .brand { justify-content: center; padding: 0; }
  .brand > span:last-child { display: none; }
  .nav-item { justify-content: center; font-size: 0; }
  .nav-icon { font-size: 20px; }
  .nav-item .count { display: none; }
  .hero { grid-template-columns: 1fr; }
  .hero-art { display: none; }
  .hero { min-height: auto; margin-top: 27px; }
  .viewer-grid { grid-template-columns: 1fr; }
  .how-to { display: none; }
}
@media (max-width: 800px) {
  .framing-options-layout { grid-template-columns: 1fr; }
  .framing-example { position: static; min-height: 0; }
  .framing-example-empty { padding: 4px 0 2px; }
  .pricing-grid { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
  .app-shell { display: block; }
  .sidebar { position: static; width: 100%; height: auto; min-height: 0; padding: 13px 17px; border-right: 0; border-bottom: 1px solid #273233; flex-direction: row; align-items: center; justify-content: space-between; }
  .brand { justify-content: flex-start; font-size: 20px; }
  .brand > span:last-child { display: inline; }
  .brand-mark { width: 28px; height: 28px; padding: 6px; }
  .main-nav { display: flex; gap: 4px; margin: 0; }
  .nav-item { width: auto; min-height: 36px; padding: 6px 8px; font-size: 0; }
  .workspace { padding: 23px 17px 70px; }
  .pricing-project { align-items: flex-start; flex-direction: column; gap: 9px; }
  .pricing-project > span:last-child { text-align: left; }
  .pricing-card { padding: 19px; }
  .pricing-plan-row > span { font-size: 12px; }
  .pricing-plan-row strong { font-size: 13px; }
  .hero h1 { font-size: clamp(36px, 9vw, 54px); }
  .hero p { font-size: 13px; }
  .import-panel { margin-top: 29px; padding: 21px 16px; }
  .large-field { flex-wrap: wrap; padding: 8px 11px; }
  .large-field input { width: calc(100% - 35px); }
  .large-field .button { width: 100%; }
  .platform-support-heading { align-items: flex-start; flex-direction: column; gap: 3px; }
  .platform-support-heading > span:last-child { text-align: left; }
  .platform-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .platform-local { align-items: flex-start; flex-direction: column; gap: 5px; }
  .local-file-row, .field-row { align-items: stretch; flex-direction: column; }
  .upload-card input { width: 100%; }
  .home-bottom { grid-template-columns: minmax(0, 1fr); }
  .home-bottom > * { min-width: 0; }
  .page-heading > .button { position: static; margin-top: 18px; }
  .choice-grid, .choice-grid.ratio-choices, .choice-grid.caption-style-choices, .choice-grid.clip-model-choices { grid-template-columns: 1fr; }
  .choice-card { min-height: 68px; }
  .project-header { display: block; }
  .project-header-actions { justify-content: flex-start; max-width: none; margin-top: 17px; }
  .candidate-heading { display: block; }
  .candidate-heading-actions { justify-content: flex-start; margin-top: 15px; }
  .candidate-card { grid-template-columns: 1fr; }
  .candidate-actions { align-items: stretch; min-width: 0; }
  .action-row { justify-content: flex-start; }
  .player-footer { flex-wrap: wrap; }
  .time-fields, .action-row { max-width: 100%; }
  .caption-cue { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .caption-cue label:nth-child(3) { grid-column: 1 / -1; }
  .caption-cue > .button { grid-column: 1 / -1; }
}

/* Galeria de cortes: cada sugestão mostra o próprio vídeo, já enquadrado e legendado. */
.candidate-card { grid-template-columns: 240px minmax(0, 1fr) minmax(230px, 32%); }
.cut-preview { position: relative; align-self: start; width: 100%; overflow: hidden; border: 1px solid #34433b; border-radius: 12px; background: #070b09; }
.cut-preview video { display: block; width: 100%; height: 100%; object-fit: contain; background: #000; }
.cut-preview-quality { position: absolute; top: 8px; left: 8px; z-index: 1; padding: 4px 6px; border-radius: 5px; background: rgba(12, 17, 21, .86); color: #f0f3ed; font-size: 9px; font-weight: 800; letter-spacing: .04em; pointer-events: none; }
.cut-preview-wait { position: absolute; inset: 0; display: grid; place-content: center; justify-items: center; gap: 10px; padding: 14px; color: #b6c4b5; font-size: 12px; line-height: 1.45; text-align: center; }
.cut-preview-wait small { color: #f2c999; font-size: 11px; overflow-wrap: anywhere; }
.spinner { width: 22px; height: 22px; border: 3px solid #3a4a41; border-top-color: var(--ui-accent); border-radius: 50%; animation: spin .9s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
.render-state { max-width: 320px; font-size: 12px; line-height: 1.4; }
.render-state.busy { display: inline-flex; align-items: center; gap: 8px; color: #e6f6c4; font-weight: 650; }
.render-state.busy::before { content: ""; flex: none; width: 13px; height: 13px; border: 2px solid #3a4a41; border-top-color: var(--ui-accent); border-radius: 50%; animation: spin .9s linear infinite; }
.render-state.done { color: #c6f2d2; }
.render-state.failed { color: #ffd0c2; }
.notice { position: fixed; left: 50%; bottom: 22px; z-index: 60; width: min(92vw, 660px); margin: 0; transform: translateX(-50%); box-shadow: 0 14px 34px rgba(0, 0, 0, .5); }
@media (max-width: 1080px) {
  .candidate-card { grid-template-columns: 220px minmax(0, 1fr); }
  .candidate-card > .candidate-actions { grid-column: 1 / -1; align-items: flex-start; }
  .candidate-card > .candidate-actions .action-row { justify-content: flex-start; }
}
@media (max-width: 700px) {
  .candidate-card { grid-template-columns: 1fr; }
  .cut-preview { max-width: 250px; }
}
@media (prefers-reduced-motion: reduce) {
  .spinner, .render-state.busy::before { animation-duration: 2.4s; }
}

/* Editor de corte: linha do tempo no modelo de faixas do OpenCut (MIT). */
body.editor-open { overflow: hidden; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.editor { position: fixed; inset: 0; z-index: 70; display: grid; grid-template-rows: 54px minmax(0, 1fr) 316px; background: var(--ui-canvas); color: var(--ui-text); }
.ed-small { min-height: 32px; padding: 5px 11px; font-size: 12px; border-radius: 8px; }
.ed-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 0 14px; border-bottom: 1px solid var(--ui-border); background: var(--ui-canvas); }
.ed-top-left, .ed-top-right { display: flex; align-items: center; gap: 9px; min-width: 0; }
.ed-top-left strong { overflow: hidden; font-size: 14px; white-space: nowrap; text-overflow: ellipsis; }
.ed-save-state { color: var(--ui-muted); font-size: 12px; }
.ed-save-state.error { color: #ffb7a6; }
.ed-main { display: grid; grid-template-columns: minmax(250px, 320px) minmax(0, 1fr) minmax(320px, 380px); min-height: 0; }
.ed-panel { display: flex; flex-direction: column; min-height: 0; padding: 12px 14px; background: var(--ui-canvas); }
.ed-script { border-right: 1px solid var(--ui-border); }
.ed-inspector { border-left: 1px solid var(--ui-border); }
.ed-panel-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 8px; }
.ed-hint { margin: 4px 0 10px; color: var(--ui-muted); font-size: 11px; line-height: 1.45; }
.ed-muted { margin: 4px 0 10px; color: var(--ui-muted); font-size: 12px; line-height: 1.5; }
.ed-script-body { flex: 1; overflow-y: auto; padding-right: 4px; }
.ed-script-segment { margin: 12px 0 4px; color: var(--ui-accent); font-size: 11px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.ed-script-text { margin: 0; font-size: 14px; line-height: 1.85; user-select: none; }
.ed-word { padding: 1px 2px; border-radius: 4px; cursor: pointer; }
.ed-word:hover { background: var(--ui-raised); }
.ed-word.now { background: var(--ui-accent); color: var(--ui-accent-ink); }
.ed-word.picked { background: #6b2d2d; color: #ffe2dc; text-decoration: line-through; }
.ed-script-outside { margin: 8px 0; color: var(--ui-muted); font-size: 12px; line-height: 1.8; }
.ed-script-outside strong { display: block; color: var(--ui-muted); font-size: 10px; letter-spacing: .05em; text-transform: uppercase; }
button.ed-word.outside { border: 0; background: none; color: var(--ui-muted); font: inherit; }
button.ed-word.outside:hover { background: var(--ui-raised); color: #d9e6d6; }
.ed-stage { display: grid; place-items: center; min-width: 0; min-height: 0; padding: 14px; background: radial-gradient(circle at 50% 40%, var(--ui-panel), var(--ui-canvas) 70%); }
.ed-frame { position: relative; height: 100%; max-height: 100%; max-width: 100%; overflow: hidden; border-radius: 10px; background: #000; box-shadow: 0 18px 50px rgba(0, 0, 0, .55); container-type: inline-size; }
.ed-frame video { display: block; width: 100%; height: 100%; object-fit: contain; background: #000; }
.ed-busy { position: absolute; inset: 0; display: grid; place-content: center; justify-items: center; gap: 10px; padding: 18px; background: rgba(4, 8, 6, .62); color: var(--ui-text); font-size: 12px; text-align: center; backdrop-filter: blur(1px); }
.ed-caption { position: absolute; right: 4%; bottom: 10.5%; left: 4%; display: flex; justify-content: center; pointer-events: none; text-align: center; }
.ed-cap-line { max-width: 100%; font-family: var(--cap-font, Arial, sans-serif); font-weight: 700; font-size: calc(var(--fw, 300px) * .069 * var(--cap-scale, 1)); line-height: 1.18; overflow-wrap: anywhere;
  --ol: 3px; --oc: #000; color: #fff; text-shadow: var(--ol) 0 var(--oc), calc(-1 * var(--ol)) 0 var(--oc), 0 var(--ol) var(--oc), 0 calc(-1 * var(--ol)) var(--oc), calc(.7 * var(--ol)) calc(.7 * var(--ol)) var(--oc), calc(-.7 * var(--ol)) calc(-.7 * var(--ol)) var(--oc), calc(.7 * var(--ol)) calc(-.7 * var(--ol)) var(--oc), calc(-.7 * var(--ol)) calc(.7 * var(--ol)) var(--oc); }
.ed-cap-lime .ed-cap-line { color: #d5ff60; --oc: #132315; --ol: 3.5px; }
.ed-cap-box .ed-cap-line { padding: .12em .35em; border-radius: .18em; background: rgba(0, 0, 0, .82); text-shadow: none; }
.ed-cap-karaoke .ed-cap-line { --ol: 3.5px; }
.ed-cap-karaoke .ed-cap-line .now { color: var(--hl, #25e848); }
.ed-cap-pop .ed-cap-line { --oc: #5a2d88; --ol: 3.5px; }
.ed-cap-pop .ed-cap-line .now { display: inline-block; transform: scale(1.18); }
.ed-cap-neon .ed-cap-line { color: #5ae8ff; text-shadow: 0 0 4px #fff, 0 0 10px #a428e1, 0 0 18px #a428e1; }
.ed-cap-typewriter .ed-cap-line { font-family: Consolas, "Courier New", monospace; font-weight: 400; --ol: 2px; }
.ed-cap-comic .ed-cap-line { color: #ffe829; font-family: Impact, "Arial Black", sans-serif; --ol: 4px; }
.ed-cap-minimal .ed-cap-line { font-weight: 400; --ol: 1px; --oc: rgba(0, 0, 0, .6); }
.ed-cap-highlight .ed-cap-line .now { color: var(--hl, #ffd600); text-decoration: underline; text-decoration-thickness: .12em; }
.ed-inspector-body { flex: 1; overflow-y: auto; }
.ed-inspector-body h3 { margin: 4px 0 12px; font-size: 15px; }
.ed-field { display: grid; gap: 5px; margin-bottom: 12px; color: var(--ui-muted); font-size: 11px; }
.ed-field select, .ed-field input, .ed-field textarea { width: 100%; min-height: 34px; padding: 7px 9px; border: 1px solid var(--ui-border); border-radius: 8px; color: var(--ui-text); background: var(--ui-canvas); font-size: 13px; }
.ed-field textarea { resize: vertical; line-height: 1.4; }
.ed-check { display: flex; align-items: center; gap: 8px; margin: 2px 0 12px; font-size: 13px; cursor: pointer; }
.ed-check input { width: 16px; height: 16px; accent-color: var(--ui-accent); }
.ed-actions { display: flex; flex-wrap: wrap; gap: 7px; margin: 6px 0 12px; }
.ed-actions .button { min-height: 32px; padding: 5px 10px; font-size: 12px; }
.ed-inspector-body > .button { width: 100%; margin: 4px 0 6px; }
.ed-timeline { display: grid; grid-template-rows: 44px minmax(0, 1fr); border-top: 1px solid var(--ui-border); background: var(--ui-canvas); }
.ed-tl-toolbar { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 10px; padding: 0 12px; border-bottom: 1px solid var(--ui-border); }
.ed-tl-tools { display: flex; gap: 6px; }
.ed-tl-transport { display: flex; align-items: center; gap: 10px; }
.ed-play { min-width: 40px; min-height: 32px; padding: 4px 12px; border-radius: 999px; }
.ed-time { min-width: 150px; color: var(--ui-muted); font-family: Consolas, monospace; font-size: 13px; }
.ed-tl-zoom { display: flex; align-items: center; justify-content: flex-end; gap: 8px; }
.ed-tl-zoom input { width: 150px; accent-color: var(--ui-accent); }
.ed-tl-body { display: grid; grid-template-columns: 76px minmax(0, 1fr); min-height: 0; }
.ed-tl-labels { display: grid; grid-template-rows: 26px 26px 66px 40px 52px; gap: 6px; padding-top: 6px; border-right: 1px solid var(--ui-border); background: var(--ui-canvas); }
.ed-lbl { display: flex; align-items: center; padding-left: 12px; color: var(--ui-muted); font-size: 11px; font-weight: 650; }
.ed-tl-scroll { position: relative; overflow-x: auto; overflow-y: hidden; }
.ed-tl-content { position: relative; display: grid; grid-template-rows: 26px 26px 66px 40px 52px; gap: 6px; min-height: 100%; padding-top: 6px; cursor: text; user-select: none; touch-action: none; }
.ed-ruler { position: relative; border-bottom: 1px solid var(--ui-border); cursor: ew-resize; }
.ed-tick { position: absolute; bottom: 0; width: 1px; height: 6px; background: var(--ui-border); }
.ed-tick.major { height: 12px; background: #6d806f; }
.ed-tick.major::after { content: attr(data-label); position: absolute; bottom: 13px; left: 3px; color: var(--ui-muted); font-size: 10px; white-space: nowrap; }
.ed-track { position: relative; }
.ed-el { position: absolute; top: 0; bottom: 0; overflow: hidden; border: 1px solid transparent; border-radius: 7px; cursor: grab; }
.ed-el.selected { border-color: #f4ffd8; box-shadow: 0 0 0 2px var(--ui-accent); z-index: 2; }
.ed-el.dragging { z-index: 3; opacity: .85; cursor: grabbing; }
.ed-el-video { background-color: #1b2622; background-repeat: no-repeat; background-size: 100% 100%; }
.ed-el-video::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0, 0, 0, .55), transparent 45%); pointer-events: none; }
.ed-el-label { position: absolute; top: 4px; left: 8px; z-index: 1; overflow: hidden; max-width: calc(100% - 16px); color: #fff; font-size: 11px; font-weight: 700; white-space: nowrap; text-overflow: ellipsis; text-shadow: 0 1px 2px #000; pointer-events: none; }
.ed-el-cue { display: flex; align-items: center; padding: 0 9px; background: #2f7d68; color: #effff8; font-size: 11px; font-weight: 600; white-space: nowrap; text-overflow: ellipsis; }
.ed-track-captions.off .ed-el-cue { opacity: .35; }
.ed-el-audio { background: #4f3475; cursor: text; }
.ed-el-audio canvas { display: block; width: 100%; height: 100%; }
.ed-handle { position: absolute; top: 0; bottom: 0; z-index: 2; width: 9px; cursor: ew-resize; }
.ed-handle.left { left: 0; }
.ed-handle.right { right: 0; }
.ed-el.selected .ed-handle { background: rgba(212, 245, 142, .9); }
.ed-el.selected .ed-handle.left { border-radius: 6px 0 0 6px; }
.ed-el.selected .ed-handle.right { border-radius: 0 6px 6px 0; }
.ed-playhead { position: absolute; top: 0; bottom: 0; left: 0; z-index: 5; width: 2px; background: #ffffff; pointer-events: none; }
.ed-playhead span { position: absolute; top: 0; left: -6px; width: 14px; height: 14px; border-radius: 3px 3px 7px 7px; background: #fff; }
.candidate-actions .edit-button { min-width: 140px; }
@media (max-width: 1100px) {
  .ed-main { grid-template-columns: 230px minmax(0, 1fr) 220px; }
  .ed-tl-toolbar { grid-template-columns: auto auto; }
  .ed-tl-zoom { display: none; }
}

/* Ferramentas do editor, no arranjo do OpusClip: barra de ícones à direita. */
.ed-inspector { display: grid; grid-template-columns: minmax(0, 1fr) 76px; gap: 0; padding: 0; }
.ed-inspector-body { min-height: 0; padding: 14px; overflow-y: auto; }
.ed-rail { display: flex; flex-direction: column; gap: 2px; padding: 8px 4px; border-left: 1px solid var(--ui-border); background: var(--ui-canvas); overflow-x: hidden; overflow-y: auto; }
.ed-rail-tab { display: grid; justify-items: center; gap: 3px; min-width: 0; padding: 8px 2px; border: 0; border-radius: 9px; background: transparent; color: var(--ui-muted); font-size: 9.5px; overflow-wrap: anywhere; line-height: 1.15; text-align: center; }
.ed-rail-tab:hover { background: #18221f; color: var(--ui-text); }
.ed-rail-tab.active { background: var(--ui-raised); color: var(--ui-accent); }
.ed-rail-icon { display: grid; place-items: center; width: 26px; height: 22px; font-size: 14px; font-weight: 800; }
.ed-subtabs { display: flex; gap: 4px; margin: 4px 0 12px; padding: 3px; border-radius: 9px; background: var(--ui-panel); }
.ed-subtab { flex: 1; padding: 6px 4px; border: 0; border-radius: 7px; background: transparent; color: var(--ui-muted); font-size: 12px; }
.ed-subtab.active { background: var(--ui-raised); color: var(--ui-text); }
.ed-presets { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-bottom: 12px; }
.ed-preset { display: grid; gap: 6px; padding: 8px; border: 1px solid var(--ui-border); border-radius: 10px; background: var(--ui-panel); color: var(--ui-text); text-align: center; }
.ed-preset.active { border-color: var(--ui-accent); box-shadow: 0 0 0 1px var(--ui-accent) inset; }
.ed-preset .caption-style-sample { min-height: 54px; }
.ed-preset-name { font-size: 11px; font-weight: 650; }
.ed-choices { display: flex; flex-wrap: wrap; gap: 6px; }
.ed-choice { padding: 7px 10px; border: 1px solid var(--ui-border); border-radius: 8px; background: var(--ui-canvas); color: var(--ui-text); font-size: 12px; }
.ed-choice.active { border-color: var(--ui-accent); background: var(--ui-raised); color: var(--ui-text); }
.ed-slider { display: flex; align-items: center; gap: 10px; }
.ed-slider input { flex: 1; accent-color: var(--ui-accent); }
.ed-slider span { min-width: 74px; color: var(--ui-text); font-size: 12px; text-align: right; }
.ed-color-row { display: flex; align-items: center; gap: 8px; }
.ed-color-row input[type="color"] { width: 46px; height: 32px; padding: 0; border: 1px solid var(--ui-border); border-radius: 8px; background: none; }
.ed-transition { display: grid; gap: 8px; margin-bottom: 10px; padding: 10px; border: 1px solid #26342e; border-radius: 10px; background: #111916; }
.ed-transition.selected { border-color: var(--ui-accent); }
.ed-transition strong { font-size: 12px; }
.ed-list-item { display: block; width: 100%; margin-bottom: 6px; padding: 8px 10px; overflow: hidden; border: 1px solid var(--ui-border); border-radius: 8px; background: var(--ui-panel); color: var(--ui-text); font-size: 12px; text-align: left; white-space: nowrap; text-overflow: ellipsis; }
.ed-tool { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 3px 10px; align-items: center; margin-bottom: 10px; padding: 11px; border: 1px solid #26342e; border-radius: 10px; background: #111916; }
.ed-tool strong { font-size: 13px; }
.ed-tool span { grid-column: 1; color: var(--ui-muted); font-size: 11px; }
.ed-tool .button { grid-row: 1 / span 2; grid-column: 2; }
.ed-summary { display: grid; grid-template-columns: auto 1fr; gap: 6px 12px; margin: 4px 0 14px; padding: 11px; border-radius: 10px; background: #111916; font-size: 12px; }
.ed-summary span { color: var(--ui-muted); }
.ed-summary strong { text-align: right; }
.ed-caption.upper .ed-cap-line { text-transform: uppercase; }
.ed-caption.tinted .ed-cap-line { color: var(--cap-color); }
.ed-texts { position: absolute; inset: 0; pointer-events: none; }
.ed-text { position: absolute; right: 6%; left: 6%; display: flex; justify-content: center; text-align: center; }
.ed-text span { font-family: Arial, sans-serif; font-weight: 700; line-height: 1.2; overflow-wrap: anywhere; }
/* Gancho com as medidas do automático do OpusClip (captions.HOOK_*): Montserrat 700, 5,78% da largura, caixa de até 75% do quadro. */
.ed-text-hook span { padding: .2em; border-radius: .17em; background: #fff; color: #000; font-family: "Montserrat", Arial, sans-serif; font-size: calc(var(--fw, 300px) * .0578); line-height: 1.38; text-wrap: balance; }
.ed-text-title span { color: #fff; font-family: "Arial Black", Arial, sans-serif; font-size: calc(var(--fw, 300px) * .077); text-shadow: 3px 0 #000, -3px 0 #000, 0 3px #000, 0 -3px #000, 2px 2px 4px rgba(0, 0, 0, .7); }
.ed-text-note span { padding: .3em .5em; border-radius: .25em; background: rgba(0, 0, 0, .8); color: #fff; font-size: calc(var(--fw, 300px) * .038); }
.ed-el-text { display: flex; align-items: center; padding: 0 9px; background: #b8862f; color: #fff7e6; font-size: 11px; font-weight: 700; white-space: nowrap; text-overflow: ellipsis; }
.ed-cut-marker { position: absolute; top: 50%; z-index: 4; display: grid; place-items: center; width: 20px; height: 20px; margin-left: -10px; padding: 0; transform: translateY(-50%); border: 1px solid var(--ui-accent); border-radius: 6px; background: var(--ui-canvas); color: var(--ui-accent); font-size: 11px; line-height: 1; }
.ed-cut-marker.on { background: var(--ui-accent); color: var(--ui-accent-ink); }
.ed-cut-marker:hover { transform: translateY(-50%) scale(1.12); }
@media (max-width: 1100px) {
  .ed-main { grid-template-columns: 220px minmax(0, 1fr) 300px; }
  .ed-rail-label { display: none; }
}

/* Editor v3: reprodução instantânea, manipulação direta e faixas livres. */
.editor { grid-template-rows: 54px minmax(0, 1fr) minmax(300px, 40vh); }
.ed-media { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; background: #000; transform-origin: 50% 50%; }
.ed-media[hidden] { display: none; }
.ed-frame #ed-video.ed-media { object-fit: contain; }
.ed-frame #ed-source.ed-media { object-fit: cover; }
.ed-overlay { position: absolute; inset: 0; z-index: 3; overflow: hidden; }
.ed-overlay .ed-ov { position: absolute; right: auto; bottom: auto; display: block; max-width: 92%; cursor: move; pointer-events: auto; user-select: none; touch-action: none; }
.ed-overlay .ed-caption { width: max-content; transform: translate(-50%, -100%); text-align: center; }
.ed-overlay .ed-text { width: max-content; transform: translateX(-50%); text-align: center; }
.ed-overlay .ed-text.ed-text-seam { transform: translate(-50%, -50%); }
.ed-overlay .ed-caption .ed-cap-line { font-size: 1em; }
.ed-overlay .ed-text span { font-size: 1em; }
.ed-overlay .ed-text-hook span, .ed-overlay .ed-text-note span { display: inline-block; }
.ed-overlay .ed-text-hook { max-width: 75%; }
.ed-overlay .ed-ov:hover { outline: 1px dashed rgba(255, 255, 255, .55); outline-offset: 4px; }
.ed-overlay .ed-ov.selected:hover { outline: none; }
.ed-box { position: absolute; inset: -6px; border: 1.5px solid #fff; border-radius: 4px; box-shadow: 0 0 0 1px rgba(0, 0, 0, .5); pointer-events: none; }
.ed-box-handle { position: absolute; width: 12px; height: 12px; border: 2px solid #111; border-radius: 50%; background: #fff; pointer-events: auto; }
.ed-box-handle.nw { top: -7px; left: -7px; cursor: nwse-resize; }
.ed-box-handle.se { right: -7px; bottom: -7px; cursor: nwse-resize; }
.ed-box-handle.ne { top: -7px; right: -7px; cursor: nesw-resize; }
.ed-box-handle.sw { bottom: -7px; left: -7px; cursor: nesw-resize; }
.ed-box-bar { position: absolute; top: calc(100% + 10px); left: 50%; display: flex; align-items: center; gap: 6px; padding: 5px 9px; transform: translateX(-50%); border-radius: 8px; background: rgba(12, 18, 16, .92); color: var(--ui-text); font: 600 11px/1.2 Inter, "Segoe UI", sans-serif; text-transform: none; white-space: nowrap; cursor: default; box-shadow: 0 6px 18px rgba(0, 0, 0, .45); }
.ed-box-bar input { width: 14px; height: 14px; margin: 0; accent-color: var(--ui-accent); }
.ed-badge { position: absolute; top: 8px; left: 8px; z-index: 4; display: flex; align-items: center; gap: 7px; max-width: calc(100% - 16px); padding: 5px 9px; border-radius: 999px; background: rgba(8, 12, 10, .78); color: var(--ui-text); font-size: 10.5px; pointer-events: none; }
.ed-badge .spinner { width: 12px; height: 12px; border-width: 2px; }
.ed-badge.failed { color: #ffcdbd; }
.ed-tl-body { grid-template-columns: 92px minmax(0, 1fr); }
.ed-tl-labels { display: flex; flex-direction: column; gap: 4px; padding-top: 6px; }
.ed-tl-labels .ed-lbl-ruler { flex: none; height: 26px; }
.ed-tl-labels .ed-lbl { flex: none; padding-left: 10px; font-size: 10.5px; }
.ed-tl-scroll { overflow-y: auto; }
.ed-tl-content { display: block; padding-top: 6px; }
.ed-tl-content .ed-ruler { height: 26px; }
.ed-tracks { display: flex; flex-direction: column; gap: 4px; padding-bottom: 8px; }
.ed-track { position: relative; flex: none; border-radius: 6px; background: rgba(255, 255, 255, .025); }
.ed-el { touch-action: none; }
.ed-el .ed-handle { width: 10px; opacity: 0; background: rgba(212, 245, 142, .95); transition: opacity .12s ease; }
.ed-el:hover .ed-handle, .ed-el.selected .ed-handle { opacity: 1; }
.ed-el .ed-handle.left { border-radius: 6px 0 0 6px; }
.ed-el .ed-handle.right { border-radius: 0 6px 6px 0; }
.ed-el-label { pointer-events: none; }
.ed-el-cue .ed-el-label, .ed-el-text .ed-el-label, .ed-el-effect .ed-el-label { position: static; display: block; overflow: hidden; color: inherit; font-size: 11px; text-shadow: none; white-space: nowrap; text-overflow: ellipsis; }
.ed-el-cue { padding: 0 11px; }
.ed-el-cue.off { opacity: .35; }
.ed-el-text { padding: 0 11px; }
.ed-el-effect { display: flex; align-items: center; padding: 0 11px; background: #3d4fb4; color: #eef0ff; font-weight: 700; }
.ed-el-effect.cross { background: #5a49c2; }
.ed-el-audio.linked { cursor: pointer; }
.ed-el-audio.linked .ed-handle { display: none; }
.ed-el-audio:not(.linked) { background: #5b3c86; cursor: grab; }
.ed-snap { position: absolute; top: 0; bottom: 0; left: 0; z-index: 6; width: 1px; background: #f6d55c; box-shadow: 0 0 6px #f6d55c; pointer-events: none; }
.ed-end { position: absolute; top: 0; bottom: 0; width: 2px; background: rgba(255, 255, 255, .35); }
.ed-time-input { font-family: Consolas, monospace; letter-spacing: .02em; }
.ed-fx-title { display: block; margin: 12px 0 8px; font-size: 13px; }
.ed-fx-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.ed-fx-card { display: grid; gap: 6px; padding: 0; border: 0; background: none; color: #c9d6c6; font-size: 11.5px; text-align: left; }
.ed-fx-card:hover .ed-fx-thumb { box-shadow: 0 0 0 2px var(--ui-accent); }
.ed-fx-thumb { position: relative; display: block; height: 64px; overflow: hidden; border-radius: 9px; background: var(--ui-canvas); }
.ed-fx-thumb span { position: absolute; inset: 0; }
.ed-fx-a { background: linear-gradient(135deg, #3e6b4f, #1d3a2b 60%, #8fb3a2); }
.ed-fx-b { background: linear-gradient(135deg, #6b4f3e, #3a2b1d 60%, #b3a28f); opacity: 0; }
.fx-crossfade .ed-fx-b { animation: fx-cross 2.4s ease-in-out infinite; }
.fx-crosszoom .ed-fx-a { animation: fx-zoom-out 2.4s ease-in-out infinite; }
.fx-crosszoom .ed-fx-b { animation: fx-zoom-in 2.4s ease-in-out infinite; }
.fx-zoom_in .ed-fx-a, .fx-slow_push .ed-fx-a { animation: fx-push 2.4s ease-in-out infinite; }
.fx-zoom_out .ed-fx-a { animation: fx-pull 2.4s ease-in-out infinite; }
.fx-fade_in .ed-fx-a { animation: fx-appear 2.4s ease-in-out infinite; }
.fx-fade_out .ed-fx-a { animation: fx-vanish 2.4s ease-in-out infinite; }
.fx-punch_in .ed-fx-a { animation: fx-punch 2.4s steps(1, end) infinite; }
/* Corte aumentado: a linha do tempo e o vídeo esperam o trecho novo (editor.js, beginGrowth). */
.editor.ed-growing .ed-timeline, .editor.ed-growing .ed-frame { position: relative; }
.editor.ed-growing .ed-timeline::after, .editor.ed-growing .ed-frame::after { content: ""; position: absolute; inset: 0; z-index: 30; pointer-events: none; background: linear-gradient(100deg, rgba(8, 12, 10, .55) 30%, rgba(255, 255, 255, .16) 50%, rgba(8, 12, 10, .55) 70%) 0 0 / 300% 100%; animation: ed-growing 1.3s linear infinite; }
.editor.ed-growing .ed-timeline::before { content: "Carregando o trecho novo…"; position: absolute; left: 50%; top: 50%; z-index: 31; transform: translate(-50%, -50%); padding: 7px 14px; border-radius: 999px; background: rgba(8, 12, 10, .88); color: #fff; font-size: 12px; font-weight: 600; pointer-events: none; }
.editor.ed-growing .ed-main, .editor.ed-growing .ed-timeline { cursor: progress; }
@keyframes ed-growing { from { background-position: 100% 0; } to { background-position: -50% 0; } }
@media (prefers-reduced-motion: reduce) { .editor.ed-growing .ed-timeline::after, .editor.ed-growing .ed-frame::after { animation: none; } }
@keyframes fx-cross { 0%, 30% { opacity: 0; } 55%, 100% { opacity: 1; } }
@keyframes fx-zoom-out { 0%, 30% { transform: scale(1); opacity: 1; } 50% { transform: scale(1.5); opacity: 0; } 100% { opacity: 0; } }
@keyframes fx-zoom-in { 0%, 40% { transform: scale(1.5); opacity: 0; } 60%, 100% { transform: scale(1); opacity: 1; } }
@keyframes fx-push { 0% { transform: scale(1); } 100% { transform: scale(1.25); } }
@keyframes fx-pull { 0% { transform: scale(1.25); } 100% { transform: scale(1); } }
@keyframes fx-appear { 0% { opacity: 0; } 70%, 100% { opacity: 1; } }
@keyframes fx-vanish { 0%, 30% { opacity: 1; } 100% { opacity: 0; } }
@keyframes fx-punch { 0%, 50% { transform: scale(1); } 51%, 100% { transform: scale(1.18); } }
@media (prefers-reduced-motion: reduce) { .ed-fx-thumb span { animation-duration: 6s !important; } }

/* Presets inspirados nas miniaturas de legenda do Opus. A amostra é ilustrativa;
   o editor sincroniza as palavras com o tempo real do cue. */
.choice-grid.caption-style-choices { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 350px; gap: 12px 14px; }
.choice-grid.caption-style-choices .caption-style-card,
.ed-presets .ed-preset { position: relative; display: flex; flex-direction: column; align-items: stretch; gap: 5px; min-height: 0; padding: 0; border: 0; border-radius: 8px; background: transparent; box-shadow: none; }
.choice-grid.caption-style-choices .caption-style-card .choice-icon { display: none; }
.choice-grid.caption-style-choices .caption-style-card .choice-copy { display: block; flex: none; min-height: 0; text-align: center; }
.choice-grid.caption-style-choices .caption-style-card .choice-copy strong,
.ed-presets .ed-preset-name { color: #aeb1ba; font-size: 11px; font-weight: 650; line-height: 1.2; }
.choice-grid.caption-style-choices .caption-style-card .choice-copy small { position: absolute; overflow: hidden; width: 1px; height: 1px; clip-path: inset(50%); white-space: nowrap; }
.choice-grid.caption-style-choices .caption-style-card .choice-mark { position: absolute; z-index: 1; top: 5px; right: 7px; color: #d4f58e; text-shadow: 0 1px 3px #000; }
.choice-grid.caption-style-choices .caption-style-card .caption-style-sample { order: -1; }
.choice-grid.caption-style-choices .caption-style-card:is(.selected, :hover, :focus-visible),
.ed-presets .ed-preset:is(.active, :hover, :focus-visible) { background: transparent; box-shadow: none; }
.choice-grid.caption-style-choices .caption-style-card:is(.selected, :hover, :focus-visible) .caption-style-sample,
.ed-presets .ed-preset:is(.active, :hover, :focus-visible) .caption-style-sample { border-color: #a9bdac; box-shadow: 0 0 0 1px #a9bdac inset; }
.choice-grid.caption-style-choices .caption-style-card:focus-visible,
.ed-presets .ed-preset:focus-visible { outline: 2px solid var(--ui-accent); outline-offset: 3px; }
.ed-presets .ed-preset .caption-style-sample { height: 96px; min-height: 96px; }
.caption-style-sample.opus-sample { align-items: center; padding: 0; border-color: #444; background: #383838; }
.caption-style-sample.opus-sample::before { display: none; }
.opus-sample .caption-preview-phase { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; padding: 6px; }
.opus-sample .caption-preview-primary { animation: caption-phase-primary 3.6s ease-in-out infinite running; }
.opus-sample .caption-preview-alternate { position: absolute; inset: 0; opacity: 0; animation: caption-phase-alternate 3.6s ease-in-out infinite running; }
@keyframes caption-phase-primary { 0%, 44%, 100% { opacity: 1; } 51%, 93% { opacity: 0; } }
@keyframes caption-phase-alternate { 0%, 44%, 100% { opacity: 0; } 51%, 93% { opacity: 1; } }
.caption-preview-beasty .beasty-phase { position: absolute; inset: 0; opacity: 0; animation: beasty-phases 4.8s steps(1) infinite running; }
.caption-preview-beasty .beasty-phase:nth-child(1) { animation-delay: 0s; }
.caption-preview-beasty .beasty-phase:nth-child(2) { animation-delay: -3.6s; }
.caption-preview-beasty .beasty-phase:nth-child(3) { animation-delay: -2.4s; }
.caption-preview-beasty .beasty-phase:nth-child(4) { animation-delay: -1.2s; }
@keyframes beasty-phases { 0%, 24.9% { opacity: 1; } 25%, 100% { opacity: 0; } }
.caption-style-sample:is(.caption-preview-none, .caption-preview-beasty, .caption-preview-deep_diver, .caption-preview-simple, .caption-preview-mozi, .caption-preview-youshaei, .caption-preview-popline, .caption-preview-pod_p, .caption-preview-think_media, .caption-preview-baby_earthquake, .caption-preview-grow, .caption-preview-breathe, .caption-preview-glitch_infinite, .caption-preview-seamless_bounce, .caption-preview-highlighter_box, .caption-preview-focus, .caption-preview-blur_in, .caption-preview-with_backdrop, .caption-preview-baby_steps) {
  align-items: center; padding-bottom: 8px; border-color: #444; background: #383838;
}
.caption-style-sample:is(.caption-preview-none, .caption-preview-beasty, .caption-preview-deep_diver, .caption-preview-simple, .caption-preview-mozi, .caption-preview-youshaei, .caption-preview-popline, .caption-preview-pod_p, .caption-preview-think_media, .caption-preview-baby_earthquake, .caption-preview-grow, .caption-preview-breathe, .caption-preview-glitch_infinite, .caption-preview-seamless_bounce, .caption-preview-highlighter_box, .caption-preview-focus, .caption-preview-blur_in, .caption-preview-with_backdrop, .caption-preview-baby_steps)::before { display: none; }
.caption-preview-none-mark { color: #a7abb0; font-size: 42px; font-weight: 300; line-height: 1; }
.caption-preview-beasty .caption-preview-line { color: #fff; font-family: Impact, "Arial Black", sans-serif; font-style: italic; text-transform: uppercase; -webkit-text-stroke: 1.2px #000; text-shadow: 2px 3px 0 #000; transform: rotate(-5deg); animation: opus-tilt 2.1s ease-in-out infinite paused; }
.caption-preview-beasty .caption-preview-word:last-child { flex-basis: auto; }
.caption-preview-beasty .beasty-phase:nth-child(2) .caption-preview-line,
.caption-preview-beasty .beasty-phase:nth-child(4) .caption-preview-word:last-child { color: #27ee3b; font-size: 1.28em; }
.caption-preview-beasty .beasty-phase:nth-child(1) .caption-preview-line { font-size: 12px; }
.caption-preview-deep_diver .caption-preview-line { width: min(100%, 116px); padding: 5px 3px; border-radius: 4px; background: #efefef; color: #aaa; font-family: Arial, sans-serif; font-size: 11px; letter-spacing: -.06em; }
.caption-preview-deep_diver .caption-preview-word:first-child { color: #171717; }
.caption-preview-simple .caption-preview-line { color: #fff; font-family: Impact, "Arial Black", sans-serif; text-transform: uppercase; -webkit-text-stroke: 1px #070707; text-shadow: 2px 2px #000; }
.caption-preview-mozi .caption-preview-line { color: #fff; font-family: "Arial Black", Arial, sans-serif; text-transform: uppercase; -webkit-text-stroke: 1px #080808; text-shadow: 2px 2px #000; }
.caption-preview-mozi .caption-preview-word:last-child { color: #23f239; animation: opus-pulse 1.5s ease-in-out infinite paused; }
.caption-preview-youshaei .caption-preview-line { color: #a6a6a6; font-family: Arial, sans-serif; font-size: 12px; font-weight: 500; text-transform: uppercase; }
.caption-preview-youshaei .caption-preview-word:first-child { color: #46dfc9; }
.caption-preview-popline .caption-preview-line { color: #fff; font-family: "Arial Black", Arial, sans-serif; text-transform: uppercase; -webkit-text-stroke: 1px #111; text-shadow: 2px 2px #000; }
.caption-preview-popline .caption-preview-word:first-child { padding: 0 2px; -webkit-text-stroke: 1.5px #a561dd; paint-order: stroke fill; text-shadow: 1px 2px #261436; animation: opus-pulse 1.8s ease-in-out infinite paused; }
.caption-preview-pod_p .caption-preview-line { color: #ff40bf; font-family: Impact, "Arial Black", sans-serif; text-transform: uppercase; -webkit-text-stroke: .7px #0a0a0a; text-shadow: 1px 2px #000; }
.caption-preview-pod_p .caption-preview-word:last-child { color: #fff; }
.caption-preview-think_media .caption-preview-line { color: #fff; font-family: Impact, "Arial Black", sans-serif; text-transform: uppercase; -webkit-text-stroke: .7px #080808; text-shadow: 2px 2px #000; }
.caption-preview-think_media .caption-preview-word:last-child { color: #f9e700; }
.caption-preview-soft_landing .caption-preview-line { color: #fff; font-family: Arial, sans-serif; font-size: 14px; font-weight: 750; text-shadow: 0 1px 2px #111; animation: opus-rise 2.3s ease-in-out infinite paused; }
.caption-preview-soft_landing .caption-preview-word:last-child { color: #42dcca; }
.caption-preview-blur_switch .caption-preview-line { color: #ddd; font-family: Arial, sans-serif; font-size: 11px; font-weight: 500; letter-spacing: .01em; text-transform: uppercase; }
.caption-preview-blur_switch .caption-preview-word:last-child { color: #35c8c5; animation: opus-blur 1.8s ease-in-out infinite paused; }
.caption-preview-baby_earthquake .caption-preview-line { color: #fff; font-family: Georgia, serif; font-size: 17px; font-weight: 700; text-transform: lowercase; animation: opus-shake 1.9s steps(1) infinite paused; }
.caption-preview-baby_earthquake .caption-preview-word:first-child { color: #ffd54e; }
.caption-preview-grow .caption-preview-line { color: #fff; font-family: "Arial Black", Arial, sans-serif; text-transform: uppercase; -webkit-text-stroke: .6px #5f1b98; text-shadow: 0 2px #5f1b98; animation: opus-grow 2s ease-in-out infinite paused; }
.caption-preview-breathe .caption-preview-line { color: #fff; font-family: Impact, "Arial Black", sans-serif; font-style: italic; text-transform: uppercase; transform: rotate(-8deg); -webkit-text-stroke: 1px #050505; text-shadow: 2px 3px #000; animation: opus-breathe 2s ease-in-out infinite paused; }
.caption-preview-breathe .caption-preview-word:last-child { color: #22f73a; }
.caption-preview-glitch_infinite .caption-preview-line { color: #ff9c00; font-family: "Arial Black", Arial, sans-serif; letter-spacing: -.06em; text-shadow: 2px 2px #e5282e, -1px 0 #ffe600; animation: opus-glitch .45s steps(2) infinite paused; }
.caption-preview-seamless_bounce .caption-preview-line { width: min(100%, 104px); padding: 3px; border-radius: 9px; background: #408c53; color: #fff; font-family: "Arial Black", Arial, sans-serif; font-size: 12px; animation: opus-bounce 1.9s ease-in-out infinite paused; }
.caption-preview-seamless_bounce .caption-preview-word:first-child { color: #d3ff38; }
.caption-preview-highlighter_box .caption-preview-line { color: #fff; font-family: Impact, "Arial Black", sans-serif; font-size: 16px; }
.caption-preview-highlighter_box .caption-preview-line { padding: 1px 3px; border-radius: 2px; background: #dd77bd; }
.caption-preview-highlighter_box .caption-preview-word { padding: 1px 2px; border-radius: 2px; background: #eb70c7; }
.caption-preview-highlighter_box .caption-preview-word:first-child { background: #488ee2; }
.caption-preview-focus .caption-preview-line { color: #fff; font-family: Georgia, serif; font-weight: 700; text-transform: uppercase; -webkit-text-stroke: .4px #101010; text-shadow: 1px 2px #000; }
.caption-preview-focus .caption-preview-word:last-child { color: #fcf000; }
.caption-preview-blur_in .caption-preview-line { color: #fff; font-family: Georgia, serif; font-weight: 400; text-shadow: 1px 1px #000; animation: opus-blur 2s ease-in-out infinite paused; }
.caption-preview-blur_in .caption-preview-word:last-child { color: #f1a3de; }
.caption-preview-with_backdrop .caption-preview-line { width: min(100%, 116px); padding: 4px 2px; background: #252525; color: #fff220; font-family: Georgia, serif; font-style: italic; font-weight: 700; animation: opus-rise 2s ease-in-out infinite paused; }
.caption-preview-baby_steps .caption-preview-line { color: #ff27a4; font-family: "Arial Black", Arial, sans-serif; text-transform: uppercase; text-shadow: 1px 2px #51053c; }
.caption-preview-baby_steps .caption-preview-word { animation: opus-step 1.8s steps(1) infinite paused; }
.caption-preview-baby_steps .caption-preview-word:nth-child(2) { animation-delay: -.55s; }
.caption-preview-baby_steps .caption-preview-word:nth-child(3) { animation-delay: -1.1s; }
.opus-sample.compact .caption-preview-line { font-size: 16px; }
.caption-style-sample:is(.caption-preview-classic, .caption-preview-lime, .caption-preview-box, .caption-preview-pop, .caption-preview-neon, .caption-preview-typewriter, .caption-preview-comic, .caption-preview-minimal, .caption-preview-highlight).compact .caption-preview-line { font-size: 12px; }
.caption-preview-deep_diver.compact .caption-preview-line,
.caption-preview-blur_switch.compact .caption-preview-line { font-size: 11px; }
.caption-preview-youshaei.compact .caption-preview-line,
.caption-preview-seamless_bounce.compact .caption-preview-line { font-size: 12px; }
.caption-preview-soft_landing.compact .caption-preview-line { font-size: 14px; }

@keyframes opus-tilt { 0%, 100% { transform: rotate(-5deg) scale(1); } 35% { transform: rotate(-2deg) scale(1.1); } }
@keyframes opus-pulse { 0%, 100% { transform: scale(1); } 40% { transform: scale(1.22); } }
@keyframes opus-grow { 0%, 100% { transform: scale(.9); } 45% { transform: scale(1.18); } }
@keyframes opus-breathe { 0%, 100% { transform: rotate(-8deg) scale(1); } 50% { transform: rotate(-5deg) scale(1.13); } }
@keyframes opus-shake { 0%, 100% { transform: translate(0, 0); } 25% { transform: translate(1px, -1px); } 50% { transform: translate(-1px, 1px); } }
@keyframes opus-glitch { 0%, 100% { transform: translate(0, 0); text-shadow: 2px 2px #e5282e, -1px 0 #ffe600; } 50% { transform: translate(1px, -1px); text-shadow: -2px 2px #e5282e, 2px 0 #ffe600; } }
@keyframes opus-bounce { 0%, 100% { transform: translateY(0); } 25% { transform: translateY(-6px); } 42% { transform: translateY(1px); } }
@keyframes opus-blur { 0%, 100% { filter: blur(0); opacity: 1; } 8% { filter: blur(5px); opacity: .4; } 35% { filter: blur(0); opacity: 1; } }
@keyframes opus-rise { 0%, 100% { transform: translateY(0); } 15% { transform: translateY(5px); opacity: .5; } 40% { transform: translateY(0); opacity: 1; } }
@keyframes opus-step { 0%, 30% { opacity: .4; transform: translateY(3px); } 31%, 100% { opacity: 1; transform: translateY(0); } }

/* O editor recria a sobreposição a cada quadro e amostra a animação pelo
   deslocamento negativo, mantendo prévia, pausa e busca no mesmo tempo. */
.ed-caption .ed-cap-line, .ed-caption .ed-cap-line span { display: inline-block; }
.ed-caption.opus-caption .ed-cap-line { white-space: nowrap; }
.ed-cap-beasty .ed-cap-line { font-family: Impact, "Arial Black", sans-serif; font-style: italic; text-transform: uppercase; -webkit-text-stroke: .055em #000; --ol: 3px; animation: ed-cap-tilt .3s ease-out both paused; animation-delay: var(--ed-cue-delay); }
.ed-cap-beasty .ed-cap-line .now { color: var(--cap-accent); }
.ed-cap-deep_diver .ed-cap-line { padding: .14em .3em; border-radius: .18em; background: #eee; color: #999; font-family: Arial, sans-serif; font-weight: 800; letter-spacing: -.04em; text-shadow: none; animation: ed-cap-rise .22s ease-out both paused; animation-delay: var(--ed-cue-delay); }
.ed-cap-deep_diver .ed-cap-line .now { color: var(--cap-accent); }
.ed-cap-simple .ed-cap-line { font-family: Impact, "Arial Black", sans-serif; text-transform: uppercase; --ol: 3px; animation: ed-cap-rise .18s ease-out both paused; animation-delay: var(--ed-cue-delay); }
.ed-cap-mozi .ed-cap-line { font-family: "Arial Black", Arial, sans-serif; text-transform: uppercase; --ol: 3px; }
.ed-cap-mozi .ed-cap-line .now { color: var(--cap-accent); }
.ed-cap-youshaei .ed-cap-line { color: #aaa; font-weight: 500; text-transform: uppercase; --ol: 1px; --oc: #222; }
.ed-cap-youshaei .ed-cap-line .now { color: var(--cap-accent); }
.ed-cap-popline .ed-cap-line { font-family: "Arial Black", Arial, sans-serif; text-transform: uppercase; --ol: 3px; }
.ed-cap-popline .ed-cap-line .now { display: inline-block; padding: 0 .06em; color: #fff; -webkit-text-stroke: .12em #9654d0; paint-order: stroke fill; animation: ed-cap-word-pop .2s ease-out both paused; animation-delay: var(--ed-word-delay); }
.ed-cap-pod_p .ed-cap-line { color: #ff49ce; font-family: Impact, "Arial Black", sans-serif; text-transform: uppercase; --ol: 2px; }
.ed-cap-think_media .ed-cap-line { font-family: Impact, "Arial Black", sans-serif; text-transform: uppercase; --ol: 2px; }
.ed-cap-think_media .ed-cap-line .now { color: var(--cap-accent); }
.ed-cap-soft_landing .ed-cap-line { font-family: Arial, sans-serif; font-weight: 750; --ol: 1px; animation: ed-cap-rise .22s ease-out both paused; animation-delay: var(--ed-cue-delay); }
.ed-cap-soft_landing .ed-cap-line .now { color: var(--cap-accent); }
.ed-cap-blur_switch .ed-cap-line { color: #ddd; font-family: Arial, sans-serif; font-weight: 500; text-transform: uppercase; --ol: 1px; }
.ed-cap-blur_switch .ed-cap-line .now { color: var(--cap-accent); animation: ed-cap-blur .22s ease-out both paused; animation-delay: var(--ed-word-delay); }
.ed-cap-baby_earthquake .ed-cap-line { font-family: Georgia, serif; font-weight: 700; --ol: 1px; animation: ed-cap-quake .38s steps(2) both paused; animation-delay: var(--ed-cue-delay); }
.ed-cap-baby_earthquake .ed-cap-line .now { color: var(--cap-accent); }
.ed-cap-grow .ed-cap-line { font-family: "Arial Black", Arial, sans-serif; text-transform: uppercase; --ol: 2px; --oc: #681a99; animation: ed-cap-grow .33s ease-out both paused; animation-delay: var(--ed-cue-delay); }
.ed-cap-breathe .ed-cap-line { font-family: Impact, "Arial Black", sans-serif; font-style: italic; text-transform: uppercase; --ol: 3px; animation: ed-cap-bounce .42s ease-out both paused; animation-delay: var(--ed-cue-delay); }
.ed-cap-breathe .ed-cap-line .now { color: var(--cap-accent); }
.ed-cap-glitch_infinite .ed-cap-line { color: #ff9c00; font-family: "Arial Black", Arial, sans-serif; text-shadow: 2px 2px #dc3030, -1px 0 #ffe747; animation: ed-cap-glitch .3s steps(2) infinite paused; animation-delay: var(--ed-cue-delay); }
.ed-cap-seamless_bounce .ed-cap-line { padding: .12em .28em; border-radius: .3em; background: #448e54; color: #fff; font-family: "Arial Black", Arial, sans-serif; text-shadow: 0 1px #184327; animation: ed-cap-bounce .38s ease-out both paused; animation-delay: var(--ed-cue-delay); }
.ed-cap-seamless_bounce .ed-cap-line .now { color: var(--cap-accent); }
.ed-cap-highlighter_box .ed-cap-line { padding: .04em .13em; border-radius: .08em; background: #e46bbf; font-family: Impact, "Arial Black", sans-serif; text-shadow: none; }
.ed-cap-highlighter_box .ed-cap-line span { padding: .02em .1em; border-radius: .08em; background: #e46bbf; color: #fff; }
.ed-cap-highlighter_box .ed-cap-line .now { background: var(--cap-accent); color: #fff; animation: ed-cap-word-pop .2s ease-out both paused; animation-delay: var(--ed-word-delay); }
.ed-cap-focus .ed-cap-line { font-family: Georgia, serif; text-transform: uppercase; --ol: 2px; }
.ed-cap-focus .ed-cap-line .now { color: var(--cap-accent); }
.ed-cap-blur_in .ed-cap-line { font-family: Georgia, serif; font-weight: 400; --ol: 1px; animation: ed-cap-blur .42s ease-out both paused; animation-delay: var(--ed-cue-delay); }
.ed-cap-with_backdrop .ed-cap-line { padding: .12em .35em; background: rgba(24, 24, 24, .88); color: #ffef29; font-family: Georgia, serif; font-style: italic; font-weight: 700; text-shadow: 0 1px #000; animation: ed-cap-rise .3s ease-out both paused; animation-delay: var(--ed-cue-delay); }
.ed-cap-baby_steps .ed-cap-line { color: #ff2aa7; font-family: "Arial Black", Arial, sans-serif; text-transform: uppercase; --ol: 2px; --oc: #511438; }
.ed-cap-baby_steps .ed-cap-line span { opacity: 0; }
.ed-cap-baby_steps .ed-cap-line .said { opacity: 1; }
.ed-cap-baby_steps .ed-cap-line .now { color: var(--cap-accent); animation: ed-cap-word-pop .2s ease-out both paused; animation-delay: var(--ed-word-delay); }
.ed-caption.opus-caption .ed-cap-line .now { transform-origin: center; animation: ed-cap-active-settle .18s ease-out both paused; animation-delay: var(--ed-word-delay); }
.ed-caption.ed-cap-blur_switch .ed-cap-line .now { animation: ed-cap-active-settle .18s ease-out both paused, ed-cap-blur .18s ease-out both paused; animation-delay: var(--ed-word-delay), var(--ed-word-delay); }
.ed-caption.custom-font .ed-cap-line { font-family: var(--cap-font); }
.ed-caption.tinted .ed-cap-line span:not(.now) { color: var(--cap-color); }

@keyframes ed-cap-tilt { from { transform: rotate(-8deg) scale(.92); } to { transform: rotate(-4deg) scale(1); } }
@keyframes ed-cap-rise { from { transform: translateY(.18em); } to { transform: translateY(0); } }
@keyframes ed-cap-grow { from { transform: scale(.9); } 65% { transform: scale(1.08); } to { transform: scale(1); } }
@keyframes ed-cap-bounce { from { transform: translateY(.2em) scale(.92); } 60% { transform: translateY(-.08em) scale(1.05); } to { transform: translateY(0) scale(1); } }
@keyframes ed-cap-quake { 0% { transform: translate(0, .1em); } 35% { transform: translate(.05em, -.04em); } 60% { transform: translate(-.04em, .03em); } 100% { transform: translate(0, 0); } }
@keyframes ed-cap-glitch { 0%, 100% { transform: translate(0, 0); } 50% { transform: translate(.035em, -.025em); } }
@keyframes ed-cap-blur { from { filter: blur(.25em); } to { filter: blur(0); } }
@keyframes ed-cap-word-pop { from { transform: scale(1.08); } to { transform: scale(1); } }
@keyframes ed-cap-active-settle { from { transform: scale(1.08); } to { transform: scale(1); } }
@media (prefers-reduced-motion: reduce) {
  .ed-caption .ed-cap-line, .ed-caption .ed-cap-line span { animation: none !important; }
}

/* Editor v3e: miniaturas e forma de onda desenhadas só na parte visível de cada bloco */
.ed-el canvas.ed-strip, .ed-el-audio canvas.ed-strip { position: absolute; top: 0; left: 0; width: auto; height: 100%; display: block; pointer-events: none; }
.ed-el canvas.ed-strip[hidden] { display: none; }

/* Predefinições do OpusClip: fonte, cor, contorno, sombra e destaque vêm da mesma tabela da exportação. */
.ed-overlay .ed-caption.preset-caption .ed-cap-line { font-family: var(--p-font) !important; font-weight: var(--p-weight) !important; font-style: var(--p-style) !important; color: var(--p-color) !important; text-transform: var(--p-transform) !important; -webkit-text-stroke: var(--p-stroke) var(--p-stroke-color) !important; paint-order: stroke fill; text-shadow: var(--p-shadow) !important; letter-spacing: normal !important; line-height: 1.12; background: none !important; padding: 0 !important; }
.ed-overlay .ed-caption.preset-caption .ed-cap-line span { color: var(--p-color) !important; -webkit-text-stroke: inherit; paint-order: stroke fill; }
.ed-overlay .ed-caption.preset-caption .ed-cap-line .now { color: var(--p-accent) !important; }
/* Palavra-chave: mantém a própria cor antes, durante e depois de falada (captions._word_effect_text).
   Na caixa do karaoke_bg_highlight vale a regra acima, mais específica: o texto fica na cor normal. */
.ed-overlay .ed-caption.preset-caption .ed-cap-line span.kw { color: var(--kw) !important; }
.ed-overlay .ed-caption.preset-caption[data-box] .ed-cap-line { background: var(--p-box) !important; padding: .1em .3em !important; border-radius: .12em; }
.ed-overlay .ed-caption.preset-caption[data-anim="karaoke_bg_highlight"] .ed-cap-line .now { color: var(--p-color) !important; background: var(--p-accent); border-radius: .14em; padding: 0 .08em; -webkit-text-stroke: 0 transparent; }
.ed-overlay .ed-caption.preset-caption[data-anim="box_highlight"] .ed-cap-line { -webkit-text-stroke: 0 transparent !important; }
.ed-overlay .ed-caption.preset-caption[data-anim="box_highlight"] .ed-cap-line span { margin: 0 .1em; padding: .02em .16em; border-radius: .12em; background: var(--p-stroke-color); -webkit-text-stroke: 0 transparent; }
.ed-overlay .ed-caption.preset-caption[data-anim="box_highlight"] .ed-cap-line .now { color: var(--p-color) !important; background: var(--p-accent); }
.ed-overlay .ed-caption.preset-caption[data-anim="glitch"] .ed-cap-line { text-shadow: .09em .09em 0 #f01313 !important; }
.caption-style-sample.preset-sample .caption-preview-line { font-family: var(--p-font) !important; font-weight: var(--p-weight) !important; font-style: var(--p-style) !important; color: var(--p-color); text-transform: var(--p-transform) !important; -webkit-text-stroke: var(--p-stroke) var(--p-stroke-color) !important; paint-order: stroke fill; letter-spacing: normal !important; }
/* No OpusClip o Beasty fica reto; só a palavra falada salta. */
.ed-overlay .ed-caption.preset-caption.ed-cap-beasty .ed-cap-line { animation: none !important; transform: none !important; }

/* Modelos de texto (etiquetas de nome e local), no arranjo do painel Sobreposição do OpusClip. */
.ed-overlay .ed-text.tpl { width: max-content; max-width: none; transform: translateX(-50%); text-align: left; }
.tpl-block { display: inline-flex; flex-direction: column; align-items: flex-start; gap: .08em; }
.tpl-row { display: flex; align-items: center; gap: .14em; white-space: nowrap; }
.ed-overlay .ed-text.tpl .tpl-text, .ed-tpl-preview .tpl-text { display: inline-block; padding: 0; border-radius: 0; background: none; text-shadow: none; overflow-wrap: normal; }
.tpl-bar { display: inline-block; flex: none; }
.tpl-pin { display: inline-block; flex: none; width: auto; }
.ed-tpl-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin: 6px 0 12px; }
.ed-tpl-card { display: grid; place-items: center; height: 64px; overflow: hidden; border: 1px solid var(--line, #2b3330); border-radius: 8px; background: #23282a; cursor: pointer; }
.ed-tpl-card:hover { border-color: var(--ui-accent); }
.ed-tpl-preview { font-size: 11px; pointer-events: none; }

/* Meus projetos em cartões com miniatura, no arranjo do OpusClip. */
.project-list { grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 26px 18px; }
.project-tile { position: relative; display: grid; gap: 7px; min-width: 0; }
.project-thumb { position: relative; display: block; width: 100%; aspect-ratio: 16 / 9; padding: 0; overflow: hidden; border: 1px solid #2c3a33; border-radius: 12px; background: #111815; cursor: pointer; }
.project-thumb:hover { border-color: var(--ui-accent); }
.project-thumb:disabled { cursor: not-allowed; opacity: 1; }
.project-thumb:disabled:hover { border-color: #2c3a33; }
.project-item:disabled { cursor: not-allowed; opacity: .75; }
.project-progress { display: grid; gap: 7px; margin-top: 5px; }
.project-progress-label { display: flex; justify-content: space-between; gap: 8px; color: #b7c6bb; font-size: 12px; }
.project-progress-label strong { color: #d5f78c; font-variant-numeric: tabular-nums; }
.project-progress-track { height: 6px; overflow: hidden; background: #29362d; border-radius: 20px; }
.project-progress-track > span { display: block; height: 100%; background: #d5f78c; border-radius: inherit; transition: width .35s ease; }
.project-progress small { color: #93a297; font-size: 11px; }
.project-retry { justify-self: start; margin-top: 3px; }
.project-thumb img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.project-thumb-fallback { position: absolute; inset: 0; display: grid; place-items: center; color: #55685b; font-size: 26px; }
.project-thumb-badge { position: absolute; right: 0; bottom: 0; left: 0; padding: 16px 10px 7px; background: linear-gradient(180deg, transparent, rgba(0, 0, 0, .82)); color: #e9f1ea; font-size: 11px; text-align: center; }
.project-tile-row { display: flex; align-items: center; gap: 8px; min-width: 0; margin-top: 4px; }
.project-tile-row strong { flex: 1; min-width: 0; overflow: hidden; color: #f1f6f1; font-size: 13.5px; text-overflow: ellipsis; white-space: nowrap; text-transform: uppercase; }
.project-menu-button { flex: none; width: 30px; height: 26px; padding: 0; border: 0; border-radius: 7px; background: transparent; color: #b9c7bb; font-size: 18px; line-height: 1; cursor: pointer; }
.project-menu-button:hover { background: #26332c; color: #fff; }
.project-tile-meta { color: #93a297; font-size: 11.5px; }
.project-menu { position: absolute; top: calc(100% - 24px); right: 0; z-index: 30; display: grid; min-width: 215px; padding: 6px; border: 1px solid var(--ui-border); border-radius: 12px; background: #242b27; box-shadow: 0 14px 34px rgba(0, 0, 0, .5); }
.project-menu hr { width: 100%; margin: 5px 0; border: 0; border-top: 1px solid #3a4840; }
.project-menu-item { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 10px 11px; border: 0; border-radius: 8px; background: transparent; color: #eef4ee; font-size: 13px; text-align: left; cursor: pointer; }
.project-menu-item:hover { background: #333d37; }
.project-menu-item small { color: #9aa99d; font-size: 10.5px; letter-spacing: .04em; }
.project-menu-item.danger.armed { background: #5a2424; color: #ffd9d4; }

/* Cortes em grade: vídeo vertical, nota, baixar e editar. */
.cut-view-toggle { display: flex; width: max-content; gap: 4px; margin-bottom: 12px; padding: 3px; border: 1px solid #33423a; border-radius: 9px; background: #18211d; }
.cut-view-toggle button { width: 34px; height: 30px; padding: 0; border: 0; border-radius: 7px; background: transparent; color: #a5b5a8; font-size: 15px; cursor: pointer; }
.cut-view-toggle button.active { background: #33443a; color: #fff; }
#project-view.cuts-grid .viewer-grid { display: none; }
.candidate-list.cut-grid { grid-template-columns: repeat(auto-fill, minmax(205px, 1fr)); gap: 30px 16px; align-items: start; }
.cut-tile { display: grid; gap: 9px; min-width: 0; }
.cut-tile .cut-preview { border-radius: 12px; }
.cut-tile .cut-preview-quality { display: none; }
.cut-duration { position: absolute; top: 8px; right: 8px; z-index: 1; padding: 3px 7px; border-radius: 6px; background: rgba(10, 14, 12, .82); color: #f1f5f0; font-size: 11px; font-weight: 700; pointer-events: none; }
.cut-tile-row { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.cut-score { color: #9be15d; font-size: 25px; font-weight: 800; line-height: 1; cursor: help; }
.cut-tile-actions { display: flex; gap: 4px; }
.cut-icon { display: grid; place-items: center; width: 32px; height: 30px; padding: 0; border: 0; border-radius: 8px; background: transparent; color: #dfe9e0; font-size: 16px; text-decoration: none; cursor: pointer; }
.cut-icon:hover:not(:disabled) { background: #2a372f; color: #fff; }
.cut-icon:disabled { opacity: .4; cursor: default; }
.cut-icon.ready { color: #9be15d; }
.cut-tile-title { display: -webkit-box; padding: 0; overflow: hidden; border: 0; background: transparent; color: #f0f5f0; font-size: 14px; font-weight: 700; line-height: 1.35; text-align: left; -webkit-line-clamp: 2; -webkit-box-orient: vertical; cursor: pointer; }
.cut-tile-title:hover { color: #c9f08f; }
/* Integração do editor de faixas ao sistema visual do estúdio. */
::selection { background: var(--ui-accent); color: var(--ui-accent-ink); }
input, textarea { caret-color: var(--ui-accent); }
input[type="range"], input[type="checkbox"] { accent-color: var(--ui-accent); }
button, input, textarea, select { font-weight: 500; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible { outline: 2px solid var(--ui-accent); outline-offset: 3px; }
.button { font-size: 13px; font-weight: 600; border-radius: 8px; }
.button.primary { background: var(--ui-accent); color: var(--ui-accent-ink); }
.button.primary:hover:not(:disabled) { background: #a4c8ff; }
.button.secondary { color: var(--ui-text); border-color: var(--ui-border); background: var(--ui-panel); }
.button.secondary:hover:not(:disabled) { background: var(--ui-raised); }
.button:disabled { cursor: not-allowed; }
.inline-link, .button.text-button { color: var(--ui-accent); }
.sidebar { background: var(--ui-panel); border-color: var(--ui-border); }
.brand { letter-spacing: -.03em; }
.brand-mark { background: var(--ui-accent); transform: none; }
.brand-mark span { background: var(--ui-accent-ink); }
.brand-period { color: var(--ui-accent); }
.nav-item { color: var(--ui-muted); }
.nav-item:hover, .nav-item.active { color: var(--ui-text); background: var(--ui-raised); border-color: var(--ui-border); }
.nav-icon { color: currentColor; }
.hero { display: block; min-height: 0; padding: 24px 0 32px; }
.hero h1, .page-heading h1, .project-header h1 { font-size: 28px; line-height: 1.2; letter-spacing: -.03em; font-weight: 600; }
.hero p { color: var(--ui-muted); font-size: 15px; max-width: 68ch; }
.hero-art, .page-heading > .eyebrow, .import-panel-heading .eyebrow, .project-header .eyebrow, .candidate-heading .eyebrow { display: none; }
.import-panel { background: var(--ui-panel); border-color: var(--ui-border); }
.import-panel h2 { font-size: 20px; letter-spacing: -.02em; }
.project-tile-name { text-transform: none; letter-spacing: 0; font-size: 15px; }
.project-progress-bar, .project-progress-track { accent-color: var(--ui-accent); }
.ed-stage { background: var(--ui-canvas); }
.ed-main { grid-template-columns: minmax(220px, 280px) minmax(0, 1fr) minmax(300px, 340px); }
.ed-hint, .ed-field, .ed-lbl, .ed-muted, .ed-save-state { font-size: 13px; color: var(--ui-muted); }
.ed-time, .candidate-meta { font-variant-numeric: tabular-nums; }
.ed-rail-tab { font-size: 11px; min-height: 52px; color: var(--ui-muted); }
.ed-rail-tab.active { background: var(--ui-raised); color: var(--ui-accent); }
.ed-save-state.error { color: var(--ui-danger); }
.ed-word.now { background: var(--ui-accent); color: var(--ui-accent-ink); }
.ed-snap { background: var(--ui-warning); box-shadow: none; }
.ed-fx-thumb { background: var(--ui-panel); }
@media (max-width: 1100px) {
  .ed-main { grid-template-columns: 200px minmax(0, 1fr) 280px; }
  .ed-tl-zoom { display: flex; }
  .ed-tl-zoom input { width: 90px; }
  .ed-tl-toolbar { grid-template-columns: 1fr auto; }
  .ed-tl-zoom { grid-column: 2; grid-row: 1; }
  .ed-tl-transport { grid-column: 1 / -1; justify-content: center; }
  .ed-timeline { grid-template-rows: auto minmax(0, 1fr); }
  .ed-tl-toolbar { padding: 8px 12px; }
}
@media (max-width: 800px) {
  body.editor-open { overflow: auto; }
  .editor { overflow-y: auto; grid-template-rows: auto auto 340px; }
  .ed-top { position: sticky; top: 0; z-index: 10; flex-wrap: wrap; padding: 12px; }
  .ed-top-left, .ed-top-right { flex-wrap: wrap; }
  .ed-top-right { width: 100%; }
  .ed-main { grid-template-columns: minmax(0, 1fr); grid-template-rows: 360px 220px 420px; min-height: 1000px; }
  .ed-stage { grid-row: 1; min-height: 0; }
  .ed-script { grid-row: 2; max-height: 260px; border-right: 0; border-top: 1px solid var(--ui-border); }
  .ed-inspector { grid-row: 3; min-height: 320px; max-height: 520px; border-left: 0; border-top: 1px solid var(--ui-border); }
  .ed-tl-toolbar { display: flex; flex-wrap: wrap; }
  .ed-tl-tools { flex-wrap: wrap; }
  .ed-tl-zoom { margin-left: auto; }
  .ed-small, .ed-actions .button, .ed-choice, .ed-subtab { min-height: 44px; }
  .ed-top-left strong { white-space: normal; }
  .ed-save-state { overflow-wrap: anywhere; }
}
@media (prefers-reduced-motion: reduce) {
  .button, .nav-item, .ed-rail-tab, .ed-el .ed-handle { transition: none; }
  .button:hover:not(:disabled) { transform: none; }
  .ed-fx-thumb span { animation: none !important; }
}
.ed-rail-icon { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.ed-inspector { grid-template-columns: minmax(0, 1fr) 88px; }
.ed-rail-label { overflow-wrap: normal; }
.ed-summary, .ed-tool, .ed-transition { background: var(--ui-panel); border-color: var(--ui-border); }
.ed-rail-tab:hover { background: var(--ui-raised); }
.project-thumb, .cut-view-toggle { background: var(--ui-panel); border-color: var(--ui-border); }
.ed-el-video { background-color: var(--ui-raised); }
.nav-item .count { background: var(--ui-raised); color: var(--ui-text); }
/* Assets editoriais: expressão na entrada, controles discretos no estúdio. */
.asset-icon { display: inline-block; width: 20px; height: 20px; flex: none; background: currentColor; -webkit-mask: var(--icon) center / contain no-repeat; mask: var(--icon) center / contain no-repeat; }
.hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(220px, .7fr); gap: 24px; align-items: center; padding: 24px 0; }
.import-artwork { display: block; width: 100%; height: auto; max-height: 220px; object-fit: contain; border-radius: 12px; }
.empty-state { position: relative; padding-top: 84px; }
.empty-state::before { content: ""; position: absolute; top: 24px; left: 50%; width: 40px; height: 40px; transform: translateX(-50%); background: var(--ui-accent); -webkit-mask: url(/static/assets/icons/folder-open.svg) center / contain no-repeat; mask: url(/static/assets/icons/folder-open.svg) center / contain no-repeat; }
@media (max-width: 700px) {
  .hero { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .import-artwork { max-height: 160px; }
}

.project-header .project-cut-summary { margin: 12px 0 0; color: var(--text, #f1f3ef); font-size: 14px; font-weight: 600; line-height: 1.6; }

.cut-index { color: var(--ui-muted, #a1a1aa); font-size: 14px; font-weight: 600; }

/* A single, quiet entry point; supporting information appears after a link. */
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.home-screen { display: grid; justify-items: center; align-content: start; min-height: calc(100svh - 126px); padding-top: clamp(80px, 24vh, 240px); }
.home-import { width: min(100%, 820px); min-width: 0; }
.link-entry { display: flex; align-items: center; gap: 14px; min-height: 76px; padding: 8px 8px 8px 24px; border: 1px solid #ffffff26; border-radius: 24px; background: linear-gradient(135deg, #ffffff0b, #ffffff02), #2a2a2de8; box-shadow: inset 0 1px 0 #ffffff08, 0 8px 28px #00000018; -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px); transition: border-color 160ms ease, box-shadow 160ms ease; }
.link-entry:focus-within { border-color: #ffffff6b; box-shadow: 0 0 0 3px #ffffff09, inset 0 1px 0 #ffffff0d; }
.link-entry-icon { flex: none; color: #b1b1b9; }
.link-entry input { flex: 1; min-width: 0; width: 100%; min-height: 48px; padding: 10px 0; border: 0; outline: 0; color: #f5f5f7; background: transparent; font-size: 16px; font-weight: 400; text-overflow: ellipsis; }
.link-entry input::placeholder { color: #b1b1b9; opacity: 1; }
.link-input { position: relative; flex: 1; min-width: 0; }
.link-entry .link-input input { display: block; width: 100%; }
.link-entry .link-input input::placeholder { color: transparent; }
.link-placeholder { position: absolute; inset: 0; display: flex; align-items: center; gap: .28em; overflow: hidden; color: #b1b1b9; font-size: 16px; font-weight: 400; white-space: nowrap; pointer-events: none; }
.link-placeholder > span:first-child { flex: none; }
.source-platform-name { overflow: hidden; text-overflow: ellipsis; opacity: 1; transform: translateY(0); filter: blur(0); transition: opacity 320ms ease, transform 480ms cubic-bezier(.22, 1, .36, 1), filter 320ms ease; }
.source-platform-name.is-changing { opacity: 0; transform: translateY(3px); filter: blur(2px); }
.link-input input:not(:placeholder-shown) + .link-placeholder { visibility: hidden; }
.link-entry .get-clips-button { flex: none; min-width: 172px; min-height: 58px; padding: 16px 26px; border-radius: 17px; color: #202023; background: #f5f5f7; box-shadow: 0 1px 2px #00000014; font-size: 16px; font-weight: 600; letter-spacing: -.02em; }
.link-entry .get-clips-button:hover:not(:disabled) { background: #fff; transform: none; }
.link-entry .get-clips-button:active:not(:disabled) { background: #dedee3; }
.link-entry .get-clips-button:focus-visible { outline-color: #fff; outline-offset: 4px; }
.import-actions { display: flex; align-items: center; margin-top: 14px; padding-inline: 12px; }
.upload-video-button { position: relative; isolation: isolate; display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 44px; padding: 10px 19px; overflow: hidden; border: 1px solid #ffffff38; border-radius: 999px; background: radial-gradient(ellipse at 25% 0%, #ffffff26, transparent 65%), linear-gradient(160deg, #ffffff16, #ffffff05 65%, #ffffff0d); color: #f5f5f7; box-shadow: inset 0 1px 1px #ffffff40, inset 0 -1px 2px #00000026, 0 4px 14px #00000026; -webkit-backdrop-filter: blur(18px) saturate(145%); backdrop-filter: blur(18px) saturate(145%); font-size: 14px; font-weight: 600; text-shadow: 0 1px 2px #00000038; transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease; }
.upload-video-button::before { content: ""; position: absolute; inset: 2px 13px auto; height: 12px; border-radius: 50%; background: linear-gradient(#ffffff16, #ffffff00); pointer-events: none; }
.upload-video-button > svg { position: relative; flex: none; filter: drop-shadow(0 1px 2px #00000030); }
.upload-video-button > span { position: relative; }
.upload-video-button:hover { border-color: #ffffff61; box-shadow: inset 0 1px 2px #ffffff57, inset 0 -1px 2px #00000026, 0 5px 18px #00000030; transform: translateY(-1px); }
.upload-video-button:active { transform: translateY(0); box-shadow: inset 0 1px 5px #00000030, 0 2px 8px #00000020; }
.upload-video-button:disabled { opacity: .65; cursor: wait; transform: none; }
.home-import .source-link-preview { gap: 18px; min-height: 100px; margin-top: 18px; padding: 18px; border: 1px solid #ffffff26; border-radius: 24px; background: linear-gradient(135deg, #ffffff0b, #ffffff02), #2a2a2de8; box-shadow: inset 0 1px 0 #ffffff08, 0 8px 28px #00000018; -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px); }
.home-import .source-link-preview img { width: 144px; max-width: 30%; border: 1px solid #ffffff12; border-radius: 13px; background: #202023; box-shadow: 0 2px 8px #00000020; }
.home-import .source-link-preview > div { gap: 8px; padding-block: 2px; }
.home-import .source-link-preview strong { color: #f5f5f7; font-size: 15px; font-weight: 550; line-height: 1.5; letter-spacing: -.015em; }
.home-import .source-link-preview small { color: #b1b1b9; font-size: 13px; font-weight: 400; line-height: 1.6; }
.home-import .source-link-preview[aria-busy="true"] strong { color: #d5d5dc; }
.home-import .source-link-preview.error { border-color: #ffffff26; }
.home-import .source-link-preview.error small { color: #d8bfb8; }
.home-import .source-link-preview:not([hidden]) { animation: preview-reveal 480ms cubic-bezier(.22, 1, .36, 1) both; }
@keyframes preview-reveal { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
.home-import .platform-detection { margin: 12px 18px 0; color: var(--ui-muted); font-size: 12px; font-weight: 400; line-height: 1.6; }
.home-import .platform-detection.unknown { color: var(--ui-warning); }
.home-import #open-local-from-link { margin-left: 12px; min-height: 44px; }
@media (max-width: 700px) {
  .home-screen { min-height: 65svh; padding-top: clamp(64px, 18vh, 150px); }
  .link-entry { gap: 10px; padding-left: 18px; border-radius: 22px; }
  .link-entry .get-clips-button { min-width: 134px; padding-inline: 18px; }
}
@media (max-width: 520px) {
  .link-entry { flex-wrap: wrap; padding: 14px; gap: 8px 12px; }
  .link-entry .link-input { width: calc(100% - 34px); flex-basis: calc(100% - 34px); }
  .link-entry .get-clips-button { width: 100%; min-height: 50px; border-radius: 13px; }
  .home-import .source-link-preview { align-items: flex-start; gap: 13px; padding: 14px; border-radius: 22px; }
  .home-import .source-link-preview img { width: 88px; border-radius: 10px; }
}
@media (prefers-reduced-motion: reduce) { .link-entry, .link-entry .get-clips-button, .upload-video-button, .source-platform-name { transition: none; } .upload-video-button:hover { transform: none; } }
@media (prefers-reduced-motion: reduce) { .home-import .source-link-preview:not([hidden]) { animation: none; } }
@media (prefers-reduced-transparency: reduce) { .link-entry, .upload-video-button, .home-import .source-link-preview { background: #303032; -webkit-backdrop-filter: none; backdrop-filter: none; } .upload-video-button::before { display: none; } }

/* Responsivo: do celular ao monitor largo, sem sobreposição nem rolagem lateral. */
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
.workspace { padding-inline: clamp(16px, 4vw, 62px); }
.sidebar { overflow-y: auto; }
.page-heading { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 24px; align-items: end; }
.page-heading > :not(.button) { grid-column: 1; }
.page-heading > .button { position: static; grid-column: 2; grid-row: 1 / span 2; align-self: end; margin: 0; }
.page-heading p { line-height: 1.5; }
.project-list { grid-template-columns: repeat(auto-fill, minmax(min(250px, 100%), 1fr)); }
.candidate-list.cut-grid { grid-template-columns: repeat(auto-fill, minmax(min(205px, 100%), 1fr)); }
.project-menu { max-width: calc(100vw - 32px); }
.sidebar .account-session a, .sidebar .account-session button { display: flex; align-items: center; gap: 10px; }
.sidebar .account-session svg { display: none; flex: none; }
.sidebar .account-session a:hover, .sidebar .account-session button:hover { color: var(--ui-text); }
@media (max-width: 960px) {
  .sidebar .account-session { justify-items: center; gap: 6px; padding: 0; }
  .sidebar .account-session strong { display: block; width: 36px; height: 36px; margin-bottom: 4px; overflow: hidden; border-radius: 50%; background: var(--ui-raised); color: var(--ui-text); font-size: 0; line-height: 36px; text-align: center; text-transform: uppercase; }
  .sidebar .account-session strong::first-letter { font-size: 14px; }
  .sidebar .account-session a, .sidebar .account-session button { justify-content: center; width: 44px; height: 44px; padding: 0; border-radius: 11px; font-size: 0; }
  .sidebar .account-session a:hover, .sidebar .account-session button:hover { background: var(--ui-raised); }
  .sidebar .account-session svg { display: block; }
  .sidebar .account-session button:not(:has(svg)) { width: auto; height: auto; padding: 6px 2px; font-size: 11px; text-align: center; }
}
@media (max-width: 700px) {
  .sidebar { position: sticky; top: 0; z-index: 40; gap: 8px; padding: 8px 16px; overflow: visible; border-bottom-color: var(--ui-border); }
  .nav-item { justify-content: center; width: 44px; min-height: 44px; padding: 0; }
  .sidebar .account-session { display: flex; align-items: center; gap: 0; margin: 0; }
  .sidebar .account-session strong { display: none; }
}
@media (max-width: 600px) {
  .page-heading { grid-template-columns: minmax(0, 1fr); padding: 16px 0 24px; }
  .page-heading > .button { grid-column: 1; grid-row: auto; justify-self: start; margin-top: 16px; }
}
@media (max-width: 520px) {
  .brand > span:last-child { display: none; }
  .candidate-list.cut-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 12px; }
  .cut-tile-row { flex-wrap: wrap; }
  .cut-score { font-size: 20px; }
  .cut-tile-actions { gap: 2px; }
  .cut-tile-title { font-size: 13px; }
}
@media (max-width: 380px) {
  .cut-icon { width: 28px; }
}

/* Troca de tela: a anterior some, a nova sobe de leve e aparece. */
.screen-enter { animation: screen-enter 520ms cubic-bezier(.22, 1, .36, 1) backwards; }
.screen-leave { animation: screen-leave 240ms ease both; pointer-events: none; }
@keyframes screen-enter { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
@keyframes screen-leave { from { opacity: 1; transform: none; } to { opacity: 0; transform: translateY(-8px); } }
@media (prefers-reduced-motion: reduce) {
  .screen-enter { animation: screen-fade 300ms ease backwards; }
  .screen-leave { animation: screen-fade 240ms ease reverse both; }
}
@keyframes screen-fade { from { opacity: 0; } to { opacity: 1; } }

/* Assistente enxuto: textos de apoio vazios não ocupam espaço. */
.wizard-detail:empty { display: none; }
.choice-group-heading h2:only-child { margin-bottom: 14px; }

/* Proporção em duas opções e exemplo de enquadramento flutuante, ao lado da opção. */
.choice-grid.ratio-choices { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.choice-icon svg { display: block; }
.framing-preview { position: fixed; z-index: 70; width: min(300px, calc(100vw - 24px)); overflow: hidden; border-radius: 14px; box-shadow: 0 18px 48px rgba(0, 0, 0, .55); pointer-events: none; animation: framing-preview-in 220ms cubic-bezier(.22, 1, .36, 1) backwards; }
.framing-preview .framing-example-frame { display: block; width: 100%; margin: 0; border: 0; border-radius: 0; box-shadow: none; background-color: var(--ui-canvas); }
@keyframes framing-preview-in { from { opacity: 0; transform: scale(.96); } to { opacity: 1; transform: none; } }
@media (max-width: 700px) { .choice-grid.ratio-choices { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { .framing-preview { animation: screen-fade 200ms ease backwards; } }

/* Aba Elementos do editor: emoji, memes e vídeos de atenção sobre o corte. */
.ed-overlay .ed-element { transform: translate(-50%, -50%); max-width: none; line-height: 0; }
.ed-overlay .ed-element img, .ed-overlay .ed-element video { display: block; width: 100%; height: auto; pointer-events: none; }
.ed-el-element { background: #3f6fb5; color: #eef5ff; }
.ed-chip-row { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 12px; }
.ed-chip { min-height: 30px; padding: 4px 10px; border: 1px solid var(--ui-border); border-radius: 8px; background: var(--ui-panel); color: var(--ui-muted); font-size: 12px; }
.ed-chip:hover { color: var(--ui-text); background: var(--ui-raised); }
.ed-chip.active { border-color: var(--ui-accent); color: var(--ui-text); background: var(--ui-raised); }
.ed-search { width: 100%; min-height: 38px; margin: 0 0 12px; padding: 8px 11px; border: 1px solid var(--ui-border); border-radius: 8px; background: var(--ui-canvas); color: var(--ui-text); font-size: 13px; }
.ed-subhead { margin: 16px 0 8px; color: var(--ui-muted); font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.ed-credit { margin: -4px 0 12px; font-size: 10px; text-align: right; }
.ed-element-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin: 0 0 12px; }
.ed-element-grid-meme, .ed-element-grid-attention { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ed-element-card { display: grid; gap: 6px; min-width: 0; padding: 8px; border: 1px solid var(--ui-border); border-radius: 10px; background: var(--ui-panel); color: var(--ui-text); cursor: pointer; }
.ed-element-card:hover { border-color: var(--ui-accent); background: var(--ui-raised); }
.ed-element-card img, .ed-element-card video { display: block; width: 100%; aspect-ratio: 1; object-fit: contain; }
.ed-element-grid-meme .ed-element-card img, .ed-element-grid-meme .ed-element-card video, .ed-element-grid-attention .ed-element-card video { aspect-ratio: 16 / 10; object-fit: cover; border-radius: 6px; background: var(--ui-canvas); }
.ed-element-name { overflow: hidden; font-size: 12px; font-weight: 600; text-align: left; text-overflow: ellipsis; white-space: nowrap; }
@media (max-width: 800px) { .ed-chip { min-height: 44px; } }

/* Enquadramento por trecho: faixa na linha do tempo, cartões da aba e reenquadre na tela. */
.ed-backdrop { position: absolute; inset: 0; width: 100%; height: 100%; transform: scale(1.14); filter: blur(14px) brightness(.92); }
.ed-backdrop[hidden] { display: none; }
.ed-overlay.framing-mode { cursor: grab; }
.ed-overlay.framing-mode:active { cursor: grabbing; }
.ed-overlay.framing-mode .ed-ov { pointer-events: none; }
.ed-el-framing { display: flex; align-items: center; padding: 0 9px; background: #46534c; color: #fff; font-size: 11px; font-weight: 700; }
.ed-el-framing .ed-el-label { position: static; display: block; overflow: hidden; color: inherit; font-size: 11px; text-shadow: none; white-space: nowrap; text-overflow: ellipsis; }
.ed-el-framing.kind-face { background: #1f8a68; }
.ed-el-framing.kind-center { background: #5a6676; }
.ed-el-framing.kind-split { background: #7653b5; }
.ed-el-framing.kind-react { background: #b56b2a; }
.ed-el-framing.kind-manual { background: #2c6fc4; }
.ed-el-framing.auto { border: 1px dashed rgba(255, 255, 255, .45); background-image: linear-gradient(rgba(10, 16, 13, .58), rgba(10, 16, 13, .58)); color: #dbe6dc; cursor: pointer; font-weight: 600; }
.ed-el-framing.auto.pending { opacity: .5; }
.ed-el-framing.current { box-shadow: inset 0 0 0 1px var(--ui-accent); }
.ed-framing-pick { position: absolute; top: -2px; bottom: -2px; z-index: 3; border: 2px solid var(--ui-accent); border-radius: 8px; pointer-events: none; }
.ed-framing-target { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; margin: -4px 0 12px; font-size: 12px; }
.ed-framing-target strong { color: var(--ui-text); font-family: Consolas, monospace; font-size: 12px; }
.ed-framing-target span { color: var(--ui-muted); }
.ed-framing-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(84px, 1fr)); gap: 8px; margin: 0 0 14px; }
.ed-framing-card { display: grid; gap: 6px; min-width: 0; padding: 5px 5px 7px; border: 1px solid var(--ui-border); border-radius: 10px; background: var(--ui-panel); color: var(--ui-text); cursor: pointer; }
.ed-framing-card:hover { border-color: var(--ui-accent); background: var(--ui-raised); }
.ed-framing-card.active { border-color: var(--ui-accent); box-shadow: 0 0 0 1px var(--ui-accent) inset; }
.ed-framing-card .framing-example-frame { display: block; width: 100%; margin: 0; border: 0; border-radius: 7px; box-shadow: none; }
.ed-framing-name { font-size: 11px; font-weight: 650; line-height: 1.2; text-align: center; overflow-wrap: break-word; }
.framing-example-frame[data-sheet="vertical"][data-mode="manual"] { background-position: 2.94% 47.6%; }
.framing-example-frame[data-sheet="horizontal"][data-mode="manual"],
.framing-example-frame[data-sheet="square"][data-mode="manual"] { background-position: 98.48% 2.94%; }
.ed-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.ed-hint.ed-warn { color: var(--ui-warning); }

/* Tela de abertura do editor: só a marca, enquanto a área de edição é preparada. */
.ed-splash { position: fixed; inset: 0; z-index: 90; display: grid; place-items: center; background: var(--ui-canvas); opacity: 1; transition: opacity 260ms ease; }
.ed-splash[hidden] { display: none; }
.ed-splash.leaving { opacity: 0; pointer-events: none; }
.ed-splash-brand { display: flex; align-items: center; gap: 22px; color: var(--ui-text); font-size: 56px; font-weight: 790; letter-spacing: -.03em; animation: ed-splash-in 320ms ease backwards; }
.ed-splash-brand .brand-mark { gap: 6px; width: 76px; height: 76px; padding: 16px; border-radius: 24px; transform: none; }
.ed-splash-brand .brand-mark span { width: 10px; border-radius: 6px; transform-origin: 50% 100%; animation: ed-splash-bar 1.1s ease-in-out infinite; }
.ed-splash-brand .brand-mark span:nth-child(1) { height: 24px; }
.ed-splash-brand .brand-mark span:nth-child(2) { height: 42px; animation-delay: .16s; }
.ed-splash-brand .brand-mark span:nth-child(3) { height: 31px; animation-delay: .32s; }
@keyframes ed-splash-in { from { opacity: 0; transform: scale(.96); } }
@keyframes ed-splash-bar { 0%, 100% { transform: scaleY(.5); } 50% { transform: scaleY(1); } }
@media (max-width: 700px) {
  .ed-splash-brand { gap: 14px; font-size: 36px; }
  .ed-splash-brand .brand-mark { gap: 4px; width: 52px; height: 52px; padding: 11px; border-radius: 17px; }
  .ed-splash-brand .brand-mark span { width: 7px; }
  .ed-splash-brand .brand-mark span:nth-child(1) { height: 16px; }
  .ed-splash-brand .brand-mark span:nth-child(2) { height: 29px; }
  .ed-splash-brand .brand-mark span:nth-child(3) { height: 21px; }
}
@media (prefers-reduced-motion: reduce) {
  .ed-splash { transition: none; }
  .ed-splash-brand, .ed-splash-brand .brand-mark span { animation: none; }
}

/* Configuração numa página só: modo nas abas, opções em menus e legendas num carrossel. */
.wizard-page { width: min(100%, 820px); margin: 0 auto; }
.wizard-source { display: grid; justify-items: center; gap: 6px; margin-bottom: 28px; text-align: center; }
.wizard-source .video-swatch { width: min(100%, 300px); height: auto; aspect-ratio: 16 / 9; margin: 0 0 8px; border-color: var(--ui-border); border-radius: 12px; background: #000; }
.wizard-source h1 { max-width: 100%; margin: 0; overflow-wrap: anywhere; font-size: 16px; font-weight: 650; letter-spacing: -.01em; }
.wizard-source p { margin: 0; color: var(--ui-muted); font-size: 12px; }
.wizard-options { gap: 28px; }
.wz-tabs { display: flex; }
.wz-tab { padding: 11px 16px; border: 0; border-radius: 10px 10px 0 0; background: transparent; color: var(--ui-muted); font-size: 14px; font-weight: 500; }
.wz-tab.selected { background: var(--ui-panel); color: var(--ui-text); font-weight: 700; }
.wz-tab:disabled { cursor: default; }
.wz-tab:disabled:not(.selected) { opacity: .45; }
.wz-tab:focus-visible, .wz-menu-button:focus-visible, .wz-switch:focus-visible, .wz-arrow:focus-visible { outline: 2px solid var(--ui-accent); outline-offset: 2px; }
.wz-heading { display: inline-block; margin: 0; }
.wz-panel { display: grid; gap: 22px; padding: 22px 18px; border-radius: 0 12px 12px 12px; background: var(--ui-panel); }
.wz-note { margin: 0; color: #f5f5f7; font-size: 14px; line-height: 1.65; }
.wz-row { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 20px; }
.wz-menu { position: relative; }
.wz-menu-button, .wz-switch { display: inline-flex; align-items: center; gap: 8px; padding: 4px 0; border: 0; border-radius: 6px; background: none; color: var(--ui-muted); font-size: 13px; }
.wz-menu-button strong { color: var(--ui-text); font-weight: 700; }
.wz-menu-button:disabled { cursor: default; opacity: .6; }
.wz-chevron { width: 7px; height: 7px; margin: -3px 2px 0 1px; border: solid currentColor; border-width: 0 1.5px 1.5px 0; transform: rotate(45deg); }
.wz-menu-list { position: absolute; z-index: 40; top: calc(100% + 6px); left: -10px; display: grid; gap: 2px; width: max-content; min-width: 190px; max-width: min(320px, calc(100vw - 40px)); max-height: 440px; overflow-y: auto; padding: 6px; border: 1px solid var(--ui-border); border-radius: 12px; background: var(--ui-raised); box-shadow: 0 16px 40px rgba(0, 0, 0, .5); }
.wz-menu-item { display: grid; gap: 3px; padding: 9px 10px; border: 0; border-radius: 8px; background: none; color: var(--ui-text); text-align: left; }
.wz-menu-item strong { font-size: 13px; font-weight: 600; }
.wz-menu-item small { color: var(--ui-muted); font-size: 11px; line-height: 1.4; }
.wz-menu-item:hover, .wz-menu-item:focus-visible { background: #ffffff14; outline: none; }
.wz-tab-hint { color: var(--ui-muted); font-weight: 500; }
.wz-menu-item.has-icon { grid-template-columns: auto minmax(0, 1fr); column-gap: 11px; align-items: center; }
.wz-menu-icon { grid-row: span 2; display: grid; place-items: center; color: var(--ui-muted); }
.wz-menu-icon svg { display: block; }
.wz-menu-item.selected .wz-menu-icon { color: var(--ui-text); }
.wz-menu-item.selected strong::after { content: "  ✓"; color: var(--ui-accent); }
.wz-switch-track { position: relative; width: 36px; height: 20px; border: 1px solid var(--ui-border); border-radius: 999px; background: var(--ui-canvas); transition: background .15s ease; }
.wz-switch-track::after { content: ""; position: absolute; top: 2px; left: 2px; width: 14px; height: 14px; border-radius: 50%; background: var(--ui-muted); transition: transform .15s ease, background .15s ease; }
.wz-switch[aria-checked="true"] .wz-switch-track { border-color: var(--ui-text); background: var(--ui-text); }
.wz-switch[aria-checked="true"] .wz-switch-track::after { background: var(--ui-canvas); transform: translateX(16px); }
.wz-panel .choice-group-heading h2 { margin: 0 0 10px; color: var(--ui-muted); font-size: 14px; font-weight: 500; letter-spacing: 0; }
.wz-panel .wizard-moments-input { min-height: 0; padding: 12px 16px; border-color: var(--ui-border); background: transparent; color: var(--ui-text); resize: none; }
.wz-panel .wizard-input-help { color: var(--ui-muted); }
.wz-panel .wizard-input-help:empty { display: none; }
/* Processing interval: neutral rail with clear, tactile trim handles. */
.wz-panel .processing-range-control { gap:12px; }
.wz-panel .processing-range-track { height:44px; margin:4px 10px 0; }
.wz-panel .processing-range-track::before { top:11px; height:22px; border:1px solid #ffffff10; border-radius:7px; background:#151517; box-shadow:inset 0 1px 3px #0003; }
.wz-panel .processing-range-track::after { content:""; position:absolute; top:11px; bottom:11px; left:var(--range-start); right:calc(100% - var(--range-end)); border:1px solid #ffffff45; border-radius:5px; background:linear-gradient(180deg,#ffffff24,#ffffff12); pointer-events:none; }
.wz-panel .processing-range-track input[type="range"] { left:-9px; width:calc(100% + 18px); height:44px; z-index:1; }
.wz-panel .processing-range-track input[type="range"]::-webkit-slider-thumb { width:18px; height:32px; border:1px solid #fff; border-radius:6px; background:linear-gradient(#777780,#777780) center / 2px 12px no-repeat,#f5f5f7; box-shadow:0 2px 6px #0005; transition:box-shadow 140ms ease; }
.wz-panel .processing-range-track input[type="range"]::-moz-range-thumb { width:16px; height:30px; border:1px solid #fff; border-radius:6px; background:linear-gradient(#777780,#777780) center / 2px 12px no-repeat,#f5f5f7; box-shadow:0 2px 6px #0005; }
.wz-panel .processing-range-track input[type="range"]:hover::-webkit-slider-thumb { box-shadow:0 0 0 3px #ffffff12,0 2px 8px #0005; }
.wz-panel .processing-range-track input[type="range"]:focus-visible::-webkit-slider-thumb { box-shadow:0 0 0 4px #ffffff35; }
.wz-panel .processing-range-track input[type="range"]:focus-visible::-moz-range-thumb { box-shadow:0 0 0 4px #ffffff35; }
.wz-panel .processing-range-track:has(input:disabled) { opacity:.45; }
.wz-panel .processing-range-track input:disabled::-webkit-slider-thumb { cursor:default; }
.wz-panel .processing-range-track input:disabled::-moz-range-thumb { cursor:default; }
.wz-panel .processing-time-fields label { width:118px; color:#9999a3; font-size:11px; font-weight:500; }
.wz-panel .processing-time-fields label:last-child { text-align:right; }
.wz-panel .wizard-time-input { padding:10px 12px; border:1px solid #ffffff1c; border-radius:9px; background:#19191b; color:#ededf0; font-size:13px; font-variant-numeric:tabular-nums; letter-spacing:.04em; }
.wz-panel .wizard-time-input:focus-visible { outline:2px solid #ffffff80; outline-offset:2px; }
@media(prefers-reduced-motion:reduce) { .wz-panel .processing-range-track input[type="range"]::-webkit-slider-thumb { transition:none; } }
.wz-carousel { grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 12px; }
.wz-carousel.is-off .wz-style-row { opacity: .45; }
.choice-grid.caption-style-choices.wz-style-row { display: flex; max-width: none; gap: 12px; overflow-x: auto; padding: 4px; scroll-snap-type: x proximity; scrollbar-width: none; }
.wz-style-row::-webkit-scrollbar { display: none; }
.wz-style-row .caption-style-card { flex: none; width: 132px; scroll-snap-align: start; }
.wz-arrow { width: 36px; height: 36px; border: 0; border-radius: 50%; background: var(--ui-raised); color: var(--ui-text); }
.wizard-page .wizard-detail { color: var(--ui-muted); }
.wizard-go { width: min(100%, 480px); min-height: 46px; margin-top: 12px; border-radius: 8px; background: #fafafa; color: #151515; font-size: 15px; font-weight: 650; }
.wizard-go:hover:not(:disabled) { background: #fff; }
.wizard-go:focus-visible { outline: 2px solid var(--ui-accent); outline-offset: 3px; }
.wizard-source .wizard-summary { color: var(--ui-muted); font-size: 12px; }
.wizard-summary:empty { display: none; }
@media (max-width: 700px) {
  .wz-panel { padding: 18px 14px; }
  .wz-menu-list { left: 0; }
  .wz-arrow { display: none; }
  .wz-carousel { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) { .wz-switch-track, .wz-switch-track::after { transition: none; } }

/* Recent projects on the home screen, using the library cards. */
.home-recent { width:100%; min-width:0; margin-top:48px; justify-self:stretch; }
.home-recent-heading { display:flex; align-items:center; justify-content:flex-start; gap:24px; flex-wrap:wrap; }
.home-recent-heading h2 { margin:0; color:#9b9ba3; font-size:16px; font-weight:500; letter-spacing:-.015em; }
.home-recent-heading .inline-link { display:flex; align-items:center; gap:8px; min-height:40px; white-space:nowrap; font-size:13px; }
.home-recent .project-list { grid-template-columns:repeat(5,minmax(0,1fr)); gap:24px 18px; padding-top:14px; }
#home-recent-empty { margin:20px 0 0; font-size:14px; }
@media(max-width:1440px) { .home-recent .project-list { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:1000px) { .home-recent .project-list { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:560px) { .home-recent { margin-top:32px; } .home-recent .project-list { grid-template-columns:minmax(0,1fr); } }

/* Shared vector logo: sidebar and editor loading screen. Animation lives in SVG. */
.brand-mark.decote-logo { display:block; flex-shrink:0; width:36px; height:36px; padding:0; border-radius:0; background:transparent; transform:none; object-fit:contain; }
.ed-splash-brand .brand-mark.decote-logo { width:76px; height:76px; padding:0; border-radius:0; background:transparent; }
@media(max-width:700px) { .brand-mark.decote-logo { width:30px; height:30px; } .ed-splash-brand .brand-mark.decote-logo { width:52px; height:52px; } }

/* Neutral action palette, matching the existing Get clips button. */
:is(button, a, .button) { --ui-accent:#f5f5f7; --ui-accent-ink:#202023; }
.button.primary:hover:not(:disabled) { background:#ffffff; }

/* Keep the import bar centered while the recent library sits near the sidebar. */
.workspace:has(#home-screen:not([hidden])) { padding-inline:24px; }
@media(max-width:560px) { .workspace:has(#home-screen:not([hidden])) { padding-inline:16px; } }

#wizard-project-meta { display:flex; flex-wrap:wrap; justify-content:center; column-gap:16px; row-gap:4px; }

.wz-caption-toggles { grid-column:1 / -1; margin:0 0 8px; }

.wz-switch:disabled { opacity:.45; cursor:not-allowed; }

/* Review: cuts first, supporting information on demand. */
#project-view .project-header { align-items:flex-start; gap:28px; margin-bottom:24px; }
#project-view .project-header > div:first-child { min-width:0; flex:1; }
#project-view .project-header h1 { font-size:clamp(21px,2vw,28px); line-height:1.3; letter-spacing:-.035em; margin:16px 0 10px; max-width:920px; overflow-wrap:anywhere; }
#project-view .project-header-actions { max-width:290px; padding-top:48px; gap:8px; }
#project-view #project-overview { color:#a1a1aa; font-size:13px; }
#project-view .status-badge.done { color:#b8b8c0; background:transparent; border:0; padding:5px 0; font-weight:500; }
.review-project-details { margin-top:14px; }
.review-project-details > summary,.review-cut-details > summary { cursor:pointer; color:#a1a1aa; font-size:12px; width:fit-content; }
#project-view .review-project-details p { font-size:12px; color:#96969f; font-weight:400; line-height:1.7; margin-top:10px; }
.review-source { border:1px solid #ffffff1a; border-radius:11px; background:#1d1d1f; margin:20px 0 26px; }
.review-source > summary { cursor:pointer; padding:15px 18px; font-size:13px; font-weight:500; color:#dddde2; }
.review-source > summary span { margin-left:12px; color:#909099; font-size:12px; font-weight:400; }
.review-source .player-panel { max-width:780px; margin:0 auto 18px; border:0; background:transparent; }
#project-view .candidate-heading { margin:24px 0 18px; align-items:center; flex-wrap:wrap; }
#project-view #candidate-heading-kicker { display:none; }
#project-view .candidate-heading h2 { margin:0; font-size:21px; letter-spacing:-.03em; }
#project-view .candidate-heading > div:first-child { display:flex; align-items:center; gap:16px; }
#project-view .cut-view-toggle { margin:0; background:#222224; border-color:#ffffff1c; }
#project-view .cut-view-toggle button.active { background:#3a3a3e; }
#project-view #candidate-hint { max-width:360px; font-size:12px; color:#92929c; line-height:1.5; }
#project-view .candidate-card { background:#202022; border-color:#ffffff1a; grid-template-columns:minmax(0,1fr) minmax(240px,38%); gap:24px; padding:20px; }
.review-cut-description { min-width:0; }
.review-cut-description > .candidate-meta { margin:8px 0 18px; color:#9999a3; }
.review-cut-details { padding-top:12px; border-top:1px solid #ffffff16; }
.review-cut-details[open] > summary { margin-bottom:16px; }
#project-view .review-transcript { background:#19191b; border-color:#ffffff1a; }
#project-view .review-transcript .eyebrow { color:#9999a3; letter-spacing:0; font-weight:500; }
#project-view .candidate-card .crop-info,#project-view .candidate-card .crop-reason { color:#92929c; font-size:12px; }
#project-view .candidate-card .ai-reason { color:#b5b5bd; }
#project-view .feedback-disclosure { border-color:#ffffff16; }
@media(max-width:800px) { #project-view .project-header { flex-direction:column; gap:12px; } #project-view .project-header-actions { padding-top:0; max-width:none; justify-content:flex-start; } #project-view .candidate-card { grid-template-columns:1fr; } .review-source > summary span { display:none; } }

/* List cards keep a bounded portrait preview and one coherent control column. */
#project-view .candidate-card { grid-template-columns:220px minmax(0,1fr); align-items:start; gap:24px; }
#project-view .candidate-card > .review-cut-media > .cut-preview { width:220px; max-width:100%; max-height:392px; grid-column:1; grid-row:1; }
#project-view .candidate-card > .review-cut-media > .cut-preview video { max-height:392px; object-fit:contain; }
.review-card-body { grid-column:2; min-width:0; display:flex; flex-direction:column; align-items:stretch; gap:18px; }
.review-primary-actions { display:flex; flex-wrap:wrap; gap:8px; }
.review-primary-actions .button { min-height:40px; }
.review-cut-settings { border-top:1px solid #ffffff16; padding-top:14px; }
.review-cut-settings > summary { color:#a1a1aa; font-size:12px; cursor:pointer; width:fit-content; }
#project-view .review-cut-settings .candidate-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; gap:16px; margin-top:18px; }
#project-view .review-cut-settings .action-row { grid-column:1 / -1; justify-content:flex-start; }
#project-view .review-cut-settings .mode-field { min-width:0; width:100%; }
#project-view .review-cut-settings select { background:#19191b; border-color:#ffffff26; }
#project-view .review-cut-settings .warning { color:#a9a9b1; }
#project-view .review-cut-settings .time-fields { justify-content:flex-start; }
#project-view .review-card-body > .render-state { text-align:left; max-width:none; }
#project-view .review-card-body .feedback-disclosure { margin-top:14px; }
#project-view .review-card-body .feedback-disclosure > summary { color:#a1a1aa; font-size:12px; }
#project-view .review-card-body .caption-style-sample { max-width:220px; }
@media(max-width:800px) { #project-view .candidate-card { grid-template-columns:180px minmax(0,1fr); gap:16px; padding:16px; } #project-view .candidate-card > .review-cut-media > .cut-preview { width:180px; max-height:320px; } #project-view .review-cut-settings .candidate-actions { grid-template-columns:1fr; } }
@media(max-width:560px) { #project-view .candidate-card { grid-template-columns:minmax(0,1fr); } #project-view .candidate-card > .review-cut-media > .cut-preview { grid-column:1; width:180px; justify-self:center; } .review-card-body { grid-column:1; } }

/* Decote preview controls: no native menu or download action. */
.dc-player-ui { position:absolute; inset:0; pointer-events:none; }
.dc-player-ui button,.dc-player-ui input { pointer-events:auto; }
.dc-player-bar { position:absolute; inset:auto 0 0; padding:24px 10px 7px; background:linear-gradient(transparent,#101012ed); color:#f5f5f7; }
.dc-player-row { display:flex; align-items:center; gap:5px; }
.dc-player-ui .dc-player-button { display:grid; place-items:center; flex-shrink:0; width:28px; height:30px; padding:5px; border:0; border-radius:6px; color:#fff; background:transparent; cursor:pointer; }
.dc-player-ui .dc-player-button:hover { background:#ffffff20; }
.dc-player-ui svg { width:18px; height:18px; }
.dc-player-time { font-size:10px; font-variant-numeric:tabular-nums; white-space:nowrap; margin-right:auto; color:#e0e0e5; }
.dc-player-ui input[type="range"] { display:block; appearance:none; -webkit-appearance:none; border:0; padding:0; margin:0; border-radius:4px; outline-offset:4px; cursor:pointer; }
.dc-player-ui .dc-player-seek { width:100%; height:4px; margin-bottom:9px!important; background:linear-gradient(to right,#f5f5f7 var(--played,0%),#ffffff38 var(--played,0%)); }
.dc-player-ui .dc-player-volume { width:30px; min-width:0; height:3px; background:#ffffff50; }
.dc-player-ui input[type="range"]::-webkit-slider-thumb { appearance:none; -webkit-appearance:none; width:10px; height:10px; border:0; border-radius:50%; background:#fff; }
.dc-player-ui input[type="range"]::-moz-range-thumb { width:10px; height:10px; border:0; border-radius:50%; background:#fff; }
.dc-player-ui .dc-player-center { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:48px; height:48px; display:grid; place-items:center; padding:12px; border:1px solid #ffffff40; border-radius:50%; color:#fff; background:#1c1c20b8; backdrop-filter:blur(8px); cursor:pointer; }
.dc-player-ui .dc-player-center svg { width:24px; height:24px; }
.dc-player-ui [hidden] { display:none!important; }
.dc-player-ui :focus-visible { outline:2px solid #fff; outline-offset:3px; }
.dc-player-error { position:absolute; left:8px; right:8px; bottom:70px; padding:9px; background:#202024ed; border-radius:8px; font-size:11px; color:#eee; text-align:center; }
#project-view .cut-preview:fullscreen { width:100vw; height:100dvh; max-width:none; max-height:none; border:0; border-radius:0; background:#000; }
#project-view .cut-preview:fullscreen video { width:100%; height:100%; max-height:none; object-fit:contain; }
.cut-preview:fullscreen .dc-player-bar { padding:40px 24px 16px; }
.cut-preview:fullscreen .dc-player-time { font-size:13px; }
.cut-preview:fullscreen .dc-player-volume { width:70px; }

/* Clean transcript: only the words belonging to the edited cut. */
.ed-main { grid-template-columns:minmax(280px,32%) minmax(0,1fr) minmax(280px,320px); }
.ed-panel.ed-script { padding:28px 22px; background:var(--ui-canvas); border-right:1px solid #ffffff16; }
.ed-script-body { padding:0 6px;  }
.ed-script-text { margin:0; font-size:15px; font-weight:400; line-height:2; color:#ededf0; }
.ed-script .ed-word { padding:3px 1px; border-radius:4px; }
.ed-script .ed-word.now { background:#ffffff24; color:#fff; box-shadow:inset 0 -2px #f5f5f7; }
.ed-script .ed-word.picked { background:#ffffff18; color:#f5f5f7; text-decoration:none; }
.ed-script-pause { display:inline-block; padding:0 4px; border-radius:4px; color:#9b9ba5; background:#ffffff0b; font-size:11px; line-height:1.8; vertical-align:middle; user-select:none; }
@media(max-width:1100px) { .ed-main { grid-template-columns:240px minmax(0,1fr) 260px; } .ed-panel.ed-script { padding:20px 14px; } }
@media(max-width:800px) { .ed-main { grid-template-columns:minmax(0,1fr); grid-template-rows:360px 260px 420px; min-height:1040px; } .ed-script { grid-row:2; max-height:260px; } .ed-inspector { grid-row:3; } }

.ed-transcript-title { flex-shrink:0; margin:0 6px 18px; color:#a6a6af; font-size:11px; line-height:1.4; font-weight:600; letter-spacing:.1em; }
.ed-script-body { min-height:0; }
/* Shared scrollbar theme for pages, editor panels, dialogs and timelines. */
* { scrollbar-width:thin; scrollbar-color:#606068 #1a1a1d; }
@supports selector(::-webkit-scrollbar) {
  * { scrollbar-width:auto; scrollbar-color:auto; }
  ::-webkit-scrollbar { width:10px; height:10px; }
  ::-webkit-scrollbar-track { background:#1a1a1d; border-radius:20px; }
  ::-webkit-scrollbar-thumb { background:#606068; border:2px solid #1a1a1d; border-radius:20px; min-height:32px; min-width:32px; }
  ::-webkit-scrollbar-thumb:hover { background:#82828c; }
  ::-webkit-scrollbar-thumb:active { background:#a0a0aa; }
  ::-webkit-scrollbar-button { display:none; width:0; height:0; }
  ::-webkit-scrollbar-corner { background:#1a1a1d; }
}
@media(forced-colors:active) { * { scrollbar-color:auto; } }

/* Decote project library cards. */
.project-list { align-items:start; }
.project-tile { gap:0; padding:8px; border:1px solid #ffffff15; border-radius:16px; background:#202022; transition:border-color .16s ease,background .16s ease; }
.project-tile:hover { border-color:#ffffff35; background:#242426; }
.project-tile .project-thumb { border:0; border-radius:10px; background:#151517; }
.project-tile .project-thumb:focus-visible { outline:2px solid #f5f5f7; outline-offset:2px; }
.project-tile .project-thumb img { transition:transform .25s ease; }
.project-tile .project-thumb:not(:disabled):hover img { transform:scale(1.025); }
.project-tile .project-thumb-badge { left:auto; right:8px; bottom:8px; max-width:calc(100% - 16px); padding:4px 7px; border:1px solid #ffffff1a; border-radius:6px; background:#151517dc; font-size:10px; line-height:1.3; font-weight:500; backdrop-filter:blur(6px); }
.project-tile .project-tile-row { align-items:flex-start; margin:13px 5px 0; gap:8px; }
.project-tile .project-tile-row strong { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; min-height:38px; white-space:normal; text-transform:none; font-size:13px; font-weight:550; line-height:1.5; letter-spacing:-.015em; color:#ededf0; }
.project-tile .project-menu-button { width:28px; height:28px; color:#9b9ba5; }
.project-tile .project-menu-button:hover { background:#ffffff10; color:#fff; }
.project-tile .project-tile-meta { display:flex; flex-wrap:wrap; gap:5px 10px; margin:9px 5px 0; color:#9898a2; font-size:10.5px; line-height:1.5; }
.project-tile .project-tile-meta > span:first-child { color:#c5c5cd; }
.project-tile .project-progress { margin:14px 5px 6px; padding-top:11px; border-top:1px solid #ffffff10; gap:8px; }
.project-tile .project-progress-label { align-items:center; color:#aaaab3; font-size:11px; }
.project-tile .project-progress-label > span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.project-tile .project-progress-label strong { color:#dcdce2; font-size:10px; font-weight:500; }
.project-tile .project-progress-track { height:3px; background:#ffffff0e; }
.project-tile .project-progress-track > span { background:#eeeef2; }
.project-tile.is-ready .project-progress-track > span { background:#71717b; }
.project-tile.is-ready .project-progress-label > span::before { content:"✓"; margin-right:6px; color:#ededf0; }
.project-tile.has-error .project-progress-label > span { color:#e8a8a8; }
.project-tile .project-progress small { color:#8f8f99; font-size:10px; line-height:1.5; }
.project-tile .project-retry { margin:12px 5px 6px; font-size:12px; }
.project-menu { right:8px; background:#262629; border-color:#ffffff26; }
.project-menu-item { color:#ededf0; }
.project-menu-item:hover { background:#ffffff0d; }
.project-menu hr { border-color:#ffffff16; }
.project-menu-item small { color:#9999a3; }
@media(prefers-reduced-motion:reduce) { .project-tile,.project-tile .project-thumb img { transition:none; } }

/* Compact library cards, with no outer panel or completed progress row. */
.project-list,.home-recent .project-list { grid-template-columns:repeat(auto-fill,minmax(min(220px,100%),245px)); gap:24px 18px; }
.project-tile,.project-tile:hover { grid-template-columns:minmax(0,1fr); width:100%; max-width:100%; padding:0; border:0; border-radius:0; background:transparent; }
/* Long status messages must not expand the implicit grid track or thumbnail. */
.project-tile > * { min-width:0; }
.project-tile .project-thumb { max-width:100%; }
.project-tile .project-progress { grid-template-columns:minmax(0,1fr); }
.project-tile .project-progress-label { min-width:0; align-items:flex-start; }
.project-tile .project-progress-label > span { flex:1; white-space:normal; overflow-wrap:anywhere; }
.project-tile .project-progress-label strong { flex:none; }
.project-tile .project-thumb { border-radius:12px; }
.project-tile .project-tile-row { margin:10px 0 0; align-items:center; gap:6px; }
.project-tile .project-tile-row strong { display:block; min-height:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; font-size:12px; line-height:1.5; font-weight:600; }
.project-tile .project-menu-button { height:24px; width:24px; }
.project-tile .project-tile-meta { margin:3px 0 0; gap:6px; font-size:11px; }
.project-tile .project-tile-meta > span + span::before { content:"|"; padding-right:6px; color:#666670; }
.project-tile .project-progress { margin:8px 0 0; padding:0; border:0; gap:0; }
.project-tile .project-progress-track,.project-tile .project-progress small { display:none; }
.project-tile .project-retry { margin:8px 0 0; font-size:11px; }
@media(max-width:560px) { .project-list,.home-recent .project-list { grid-template-columns:repeat(auto-fill,minmax(min(200px,100%),245px)); } }

/* Framing examples should appear immediately, including reduced-motion mode. */
.framing-preview { animation:none; }

.framing-preview { background:transparent; box-shadow:none; border-radius:12px; }
.framing-preview .framing-example-frame { background-color:transparent; border-radius:12px; }

.wz-menu-item .wz-recommended { color:#9999a3; font-size:12px; font-weight:400; }

.wz-switch-help { position:relative; display:inline-flex; align-items:center; gap:7px; }
.wz-info-button { display:inline-grid; place-items:center; flex:none; width:22px; height:24px; padding:0; border:0; border-radius:5px; background:transparent; color:#85858f; cursor:help; }
.wz-info-button:hover,.wz-info-button:focus-visible { color:#ededf0; background:#ffffff08; }
.wz-info-tooltip { position:absolute; z-index:90; left:0; top:calc(100% + 9px); width:260px; max-width:70vw; padding:12px 14px; border:1px solid #e1e1e6; border-radius:10px; background:#f5f5f7; color:#171719; font-size:12px; font-weight:400; line-height:1.65; box-shadow:0 10px 28px #0005; }
.wz-info-tooltip[hidden] { display:none; }

.wz-menu-tooltip { width:280px; max-width:min(70vw,280px); }
.wz-row > .wz-menu:last-child .wz-menu-tooltip { left:auto; right:0; }


.wz-note { display:block; }
.wz-note-copy { display:inline; padding:0; }
.wz-quote-icon { display:inline-block; width:20px; height:20px; margin-right:7px; vertical-align:-4px; color:#85858f; transform:rotate(180deg); }
.wz-quote-icon svg { display:block; width:100%; height:100%; }
.wz-quote-icon.closing { margin-right:0; margin-left:5px; transform:none; }
.wz-note-ending { white-space:nowrap; }

/* Keep the source and main action prominent until settings are approached. */
#wizard-options { opacity:1; transition:opacity 220ms ease; }
html.wizard-at-top #wizard-options { opacity:.38; }
html.wizard-at-top #wizard-options.is-engaged { opacity:1; }
@media(prefers-reduced-motion:reduce) { #wizard-options { transition:none; } }

.wizard-language { display:flex; justify-content:center; margin-top:12px; }
.wizard-language .wz-menu-button { font-size:13px; }
.wizard-language .wz-menu-list { left:50%; transform:translateX(-50%); min-width:230px; max-height:300px; text-align:left; z-index:65; }
.wizard-language .wz-menu-item { padding:10px 12px; }

/* Cut details: separate summary, spoken content and optional analysis. */
#project-view .review-cut-details > summary { color:#d5d5dc; font-size:13px; padding:4px 0; }
.review-detail-section { margin:18px 0; }
.review-detail-section h5 { margin:0 0 9px; font-size:11px; font-weight:600; color:#93939e; letter-spacing:.06em; text-transform:uppercase; }
#project-view .review-detail-section p { font-size:13px; line-height:1.75; color:#cccbd3; }
#project-view .review-cut-details .review-transcript { margin:18px 0; padding:16px; border:1px solid #ffffff16; border-radius:10px; background:#19191b; }
#project-view .review-transcript .eyebrow { font-size:11px; font-weight:600; color:#9999a4; letter-spacing:.06em; }
#project-view .review-transcript .review-quote { font-size:13px; line-height:1.8; color:#eeeef2; }
#project-view .review-transcript details { margin-top:12px; }
.review-detail-disclosure { border-top:1px solid #ffffff16; padding:13px 0; }
.review-detail-disclosure > summary { font-size:12px; color:#b5b5bf; cursor:pointer; }
.review-technical[open] > summary { margin-bottom:14px; }
#project-view .editorial-package { background:#242426; border-color:#ffffff16; padding:14px; margin:14px 0 0; gap:14px; }
#project-view .editorial-package-header .eyebrow { color:#9696a0; letter-spacing:.04em; }
#project-view .editorial-package-header strong { color:#eeeef2; font-size:13px; font-weight:500; line-height:1.5; }
#project-view .editorial-priority { color:#eeeef2; font-size:20px; font-weight:600; }
#project-view .editorial-priority small { color:#9999a4; margin-top:4px; }
#project-view .editorial-criteria { gap:8px; }
#project-view .editorial-criterion { border-color:#ffffff16; background:#1c1c1e; padding:10px; }
#project-view .editorial-criterion summary,#project-view .editorial-criterion summary strong { color:#d5d5df; }
#project-view .editorial-criterion summary::before { color:#888892; }
#project-view .editorial-criterion p,#project-view .editorial-scene,#project-view .editorial-evidence-limit { color:#a8a8b3; line-height:1.65; }
#project-view .editorial-publication { border-color:#ffffff16; }
#project-view .editorial-publication > summary { color:#b8b8c2; font-weight:500; }
#project-view .editorial-publication-field { border-color:#ffffff12; }
#project-view .editorial-publication-field strong { color:#a7a7b1; }
#project-view .editorial-publication-field p { color:#dedee5; }
@media(max-width:560px) { #project-view .editorial-criteria { grid-template-columns:1fr; } }

.cut-reactions { display:flex; align-items:center; gap:6px; margin-top:14px; }
.cut-tile > .cut-reactions { margin-top:2px; }
.cut-reaction { display:grid; place-items:center; width:38px; height:38px; padding:9px; border:1px solid transparent; border-radius:11px; background:#303032; color:#e8e8ed; cursor:pointer; }
.cut-reaction:hover { background:#3c3c40; }
.cut-reaction[aria-pressed="true"] { background:#f5f5f7; color:#202023; }
.cut-reaction[aria-pressed="true"] svg { fill:currentColor; }
.cut-reaction:focus-visible { outline:2px solid #eee; outline-offset:3px; }
.cut-reaction:disabled { opacity:.5; cursor:wait; }

/* Evaluation sheet: a clear overall score and four independent rows. */
#project-view .editorial-package { padding:20px; gap:18px; border-radius:14px; background:#1b1b1d; border-color:#ffffff1c; }
#project-view .editorial-package-header { align-items:center; gap:20px; padding-bottom:2px; }
#project-view .editorial-package-header > div:first-child { gap:8px; }
#project-view .editorial-package-header .eyebrow { font-size:9px; letter-spacing:.1em; color:#8f8f9a; }
#project-view .editorial-package-header strong { font-size:14px; line-height:1.5; font-weight:550; color:#ededf2; }
#project-view .editorial-priority { padding:10px 12px; background:#27272b; border-radius:10px; text-align:center; line-height:1; }
.editorial-score-value { font-size:30px; font-weight:600; letter-spacing:-.06em; }
.editorial-score-scale { font-size:12px; color:#92929d; font-weight:400; margin-left:3px; }
#project-view .editorial-priority small { max-width:95px; margin:7px auto 0; font-size:9px; line-height:1.4; color:#a7a7b1; }
#project-view .candidate-card .editorial-stale { padding:11px 12px; border:1px solid #d9b16c28; border-radius:8px; background:#d9b16c09; color:#ccb48d; font-size:11px; line-height:1.6; }
#project-view .editorial-criteria { display:flex; flex-direction:column; gap:0; border-block:1px solid #ffffff14; }
#project-view .editorial-criterion { padding:0; border:0; border-radius:0; background:transparent; }
#project-view .editorial-criterion + .editorial-criterion { border-top:1px solid #ffffff10; }
#project-view .editorial-criterion summary { display:flex; align-items:center; gap:10px; min-height:45px; padding:10px 2px; font-size:12px; font-weight:500; color:#d4d4de; }
#project-view .editorial-criterion summary::before { display:none; }
#project-view .editorial-criterion summary::after { content:"⌄"; width:16px; color:#8c8c98; text-align:center; }
#project-view .editorial-criterion[open] summary::after { transform:rotate(180deg); }
#project-view .editorial-criterion summary:hover { color:#fff; }
#project-view .editorial-criterion summary strong { color:#bdbdc8; font-size:12px; font-weight:500; font-variant-numeric:tabular-nums; }
#project-view .candidate-card .editorial-criterion p { margin:0 0 14px; padding:0 26px 0 2px; font-size:12px; line-height:1.75; color:#aaaab5; }
#project-view .editorial-publication { padding-top:0; border:0; }
#project-view .editorial-publication > summary { color:#b0b0bd; font-size:12px; font-weight:400; line-height:1.6; }
@media(max-width:560px) { #project-view .editorial-package { padding:14px; } #project-view .editorial-package-header { gap:12px; } .editorial-score-value { font-size:26px; } }

#project-view .review-cut-description > .review-cut-details,
#project-view .review-cut-description > .review-detail-disclosure { margin:0; padding:13px 0; border-top:1px solid #ffffff16; }
#project-view .review-cut-description > details > summary { font-size:12px; font-weight:400; color:#b5b5bf; padding:0; cursor:pointer; }
#project-view .review-cut-description > .editorial-publication[open] > summary { margin-bottom:14px; }

.review-cut-media { grid-column:1; min-width:0; display:flex; flex-direction:column; align-items:stretch; gap:14px; }
.review-cut-media .cut-reactions { margin-top:0; }
.review-cut-media .review-primary-actions { flex-direction:column; }
.review-cut-media .review-primary-actions > * { width:100%; justify-content:center; text-align:center; }
@media(max-width:560px) { .review-cut-media { width:220px; max-width:100%; justify-self:center; align-items:center; } .review-cut-media .review-primary-actions { width:100%; } }

.project-source-thumbnail { display:block; width:320px; max-width:100%; aspect-ratio:16 / 9; object-fit:cover; margin:0 auto 24px; border-radius:12px; }
.project-source-thumbnail[hidden] { display:none; }

#project-view .candidate-heading h2 { display:flex; align-items:center; gap:10px; }
#project-view #candidate-count { display:inline-flex; align-items:center; justify-content:center; min-width:34px; height:28px; padding:0 10px; border:1px solid #ffffff1a; border-radius:14px; background:#ffffff06; color:#b8b8c0; font-size:13px; line-height:1; font-weight:500; letter-spacing:0; font-variant-numeric:tabular-nums; }

#project-view .project-header h1 { max-width:620px; margin:16px auto 10px; text-align:center; font-size:clamp(16px,1.6vw,20px); line-height:1.5; letter-spacing:-.02em; text-wrap:balance; }

#cut-selection-bar { position:sticky; top:12px; z-index:20; display:flex; flex-wrap:wrap; align-items:center; gap:8px; padding:18px; margin:0 0 24px; border:1px solid #ffffff24; border-radius:14px; background:#252527; box-shadow:0 8px 28px #0003; }
#cut-selection-bar[hidden] { display:none; }
#cut-selection-bar strong { width:100%; font-size:16px; margin-bottom:6px; }
#cut-selection-bar small { width:100%; color:#aaaab3; margin-top:5px; }
#cut-selection-bar .button { font-size:12px; min-height:36px; }
.selecting-cuts .project-header,.selecting-cuts #cut-view-toggle { display:none!important; }
#project-view.selecting-cuts #candidate-list { display:grid; grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); gap:18px; }
.selectable-cut { position:relative; display:flex; flex-direction:column; gap:10px; padding:10px; min-width:0; border:1px solid #ffffff20; border-radius:14px; background:#202022; cursor:pointer; }
.selectable-cut.is-selected { border-color:#eee; background:#303033; box-shadow:0 0 0 1px #eee; }
.selectable-cut input { position:absolute; top:20px; left:20px; z-index:1; width:22px; height:22px; accent-color:#eee; }
.selectable-cut video { width:100%; aspect-ratio:9/16; object-fit:contain; border-radius:8px; background:#111; pointer-events:none; }
.selectable-cut strong { font-size:13px; line-height:1.5; }
.selectable-cut small { color:#a5a5af; }
.cut-collections-dialog { width:400px; max-width:90vw; padding:24px; border:1px solid #ffffff30; border-radius:16px; color:#eee; background:#232325; }
.cut-collections-dialog::backdrop { background:#0009; }
.cut-collections-dialog p { color:#aaa; font-size:13px; }
.cut-collections-dialog input,.cut-collections-dialog button { display:block; width:100%; margin-top:12px; }

/* Export controls share the same neutral palette as the review workspace. */
#project-cut-tabs { display:flex; flex-wrap:wrap; gap:6px; margin:24px 0 8px; padding-bottom:12px; border-bottom:1px solid #ffffff14; }
#project-cut-tabs .button { font-size:13px; background:transparent; border-color:transparent; color:#9e9ea8; }
#project-cut-tabs .button.active { color:#f5f5f7; background:#ffffff0c; border-color:#ffffff20; }
.cut-status-tags { display:flex; flex-wrap:wrap; gap:6px; }
.cut-status-tags:empty { display:none; }
.cut-status-tag { display:inline-flex; align-items:center; gap:6px; padding:5px 8px; border:1px solid #ffffff1c; border-radius:6px; color:#bdbdc6; background:#ffffff05; font-size:10px; line-height:1.4; font-weight:500; }
.cut-status-tag.exported { color:#ededf0; }
.cut-status-tag.failed { color:#e9b6b6; }
.cut-status-tag.exporting::before { content:""; width:9px; height:9px; border:1px solid #fff4; border-top-color:#eee; border-radius:50%; animation:spin .8s linear infinite; }
.cut-export-overlay { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; z-index:5; background:#141416b8; color:#f4f4f5; font-size:12px; font-weight:600; pointer-events:none; }
.cut-export-overlay .spinner { width:28px; height:28px; border-color:#ffffff30; border-top-color:#f4f4f5; }
.review-primary-actions a.button { display:flex; gap:8px; }
.selectable-cut { cursor:pointer; }
.selectable-cut > input { z-index:8; }
.selectable-cut .cut-preview { max-width:none; flex:none; }
.selectable-cut video { aspect-ratio:auto; pointer-events:auto; }
.selectable-cut:focus-within { outline:2px solid #a9a9b4; outline-offset:3px; }
.selectable-cut > strong { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
#activity-dock { position:fixed; right:24px; bottom:24px; z-index:10000; width:min(350px,calc(100vw - 32px)); display:flex; flex-direction:column; gap:10px; pointer-events:none; }
#activity-dock > * { pointer-events:auto; }
#activity-dock .notice, .export-activity { position:relative; inset:auto; width:100%; max-width:none; transform:none; margin:0; padding:18px 20px; border:1px solid #ffffff24; border-radius:14px; background:#272729; color:#e9e9ef; box-shadow:0 12px 40px #0005; font-size:12px; line-height:1.65; }
#activity-dock .notice.error { border-color:#dba9a955; background:#2b2628; color:#f0cccc; }
.export-activity strong { display:block; padding-right:20px; font-size:13px; }
.export-activity.busy strong::before { content:""; display:inline-block; width:12px; height:12px; margin-right:9px; border:2px solid #ffffff25; border-top-color:#eee; border-radius:50%; animation:spin .8s linear infinite; vertical-align:-2px; }
.export-activity small { display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; margin-top:5px; color:#94949e; }
.export-activity p { margin:12px 0 7px; color:#c5c5ce; }
.export-activity progress { display:block; appearance:none; width:100%; height:4px; overflow:hidden; border:0; border-radius:4px; background:#ffffff13; accent-color:#ddd; }
.export-activity progress::-webkit-progress-bar { background:#ffffff13; }
.export-activity progress::-webkit-progress-value { background:#ddd; border-radius:4px; transition:width .3s ease; }
.activity-dismiss { position:absolute; top:10px; right:10px; border:0; background:transparent; color:#aaa; font-size:21px; cursor:pointer; }
@media(max-width:560px) { #activity-dock { right:16px; bottom:16px; } #project-view.selecting-cuts #candidate-list { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; } }
@media(prefers-reduced-motion:reduce) { .cut-status-tag.exporting::before,.export-activity.busy strong::before,.cut-export-overlay .spinner { animation:none; } }

.selectable-cut .cut-preview-quality { display:none; }

#project-view .render-state.done,#project-view .render-state.busy { color:#bdbdc7; }

.selection-back-project { display:block; margin:0 0 18px; font-size:13px; }
.selection-back-project[hidden] { display:none; }
