/* TubeZavod v2 - quiet production UI */
:root {
    --v2-bg: #101114;
    --v2-rail: #15171c;
    --v2-surface: #1b1e24;
    --v2-surface-2: #222630;
    --v2-surface-3: #292f3a;
    --v2-text: #f3f4f6;
    --v2-text-soft: #b7bdc8;
    --v2-text-muted: #7f8794;
    --v2-border: rgba(255, 255, 255, 0.08);
    --v2-border-strong: rgba(255, 255, 255, 0.14);
    --v2-accent: #38bdf8;
    --v2-accent-2: #34d399;
    --v2-warning: #f59e0b;
    --v2-danger: #f87171;
    --v2-info: #818cf8;
    --v2-shadow: 0 18px 46px rgba(0, 0, 0, 0.28);
    --v2-radius: 8px;
    --v2-rail-w: 248px;
    --accent: var(--v2-accent);
    --text: var(--v2-text);
    --text-main: var(--v2-text);
    --text-muted: var(--v2-text-muted);
    --bg-card: var(--v2-surface);
    color-scheme: dark;
}

* {
    box-sizing: border-box;
}

html,
body {
    margin: 0;
    min-height: 100%;
}

body.v2-body {
    height: 100vh;
    overflow: hidden;
    background: var(--v2-bg);
    color: var(--v2-text);
    font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 14px;
    letter-spacing: 0;
}

.v2-shell {
    display: grid;
    grid-template-columns: var(--v2-rail-w) minmax(0, 1fr);
    height: 100vh;
    min-height: 0;
}

.v2-sidebar {
    background: var(--v2-rail);
    border-right: 1px solid var(--v2-border);
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.v2-brand {
    height: 64px;
    display: flex;
    align-items: center;
    padding: 0 20px;
    border-bottom: 1px solid var(--v2-border);
    gap: 10px;
}

.v2-brand-mark {
    width: 28px;
    height: 28px;
    border-radius: 7px;
    display: grid;
    place-items: center;
    background: #e5e7eb;
    color: #111318;
    font-weight: 900;
    font-size: 14px;
}

.v2-brand-name {
    font-size: 15px;
    line-height: 1;
    font-weight: 800;
}

.v2-brand-caption {
    margin-top: 3px;
    color: var(--v2-text-muted);
    font-size: 11px;
    font-weight: 600;
}

.v2-sidebar-nav {
    flex: 1;
    min-height: 0;
    padding: 18px 12px 16px;
    display: flex;
    flex-direction: column;
    gap: 14px;
    overflow-y: auto;
}

.v2-sidebar-section {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 10px;
    border: 1px solid var(--v2-border);
    border-radius: var(--v2-radius);
    background: rgba(255, 255, 255, 0.025);
    min-width: 0;
}

.v2-sidebar-section.primary {
    min-height: 60%;
}

.v2-sidebar-section-title {
    color: var(--v2-text-muted);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: uppercase;
}

.v2-sidebar-section-links {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}

.v2-sidebar-link {
    display: grid;
    grid-template-columns: 32px minmax(0, 1fr);
    align-items: center;
    min-height: 42px;
    padding: 0 10px;
    color: var(--v2-text-soft);
    text-decoration: none;
    border-radius: var(--v2-radius);
    border: 1px solid transparent;
    font-weight: 650;
}

.v2-sidebar-link:hover {
    background: rgba(255, 255, 255, 0.04);
    color: var(--v2-text);
}

.v2-sidebar-link.active {
    background: rgba(56, 189, 248, 0.1);
    border-color: rgba(56, 189, 248, 0.28);
    color: #dff6ff;
}

.v2-sidebar-link.disabled {
    color: var(--v2-text-muted);
    cursor: default;
    opacity: 0.72;
}

.v2-sidebar-link.disabled:hover {
    background: transparent;
    color: var(--v2-text-muted);
}

.v2-sidebar-icon {
    width: 24px;
    height: 24px;
    border-radius: 6px;
    display: grid;
    place-items: center;
    color: var(--v2-text-muted);
    font-size: 11px;
    font-weight: 800;
    background: rgba(255, 255, 255, 0.05);
}

.v2-sidebar-link.active .v2-sidebar-icon {
    background: rgba(56, 189, 248, 0.18);
    color: var(--v2-accent);
}

.v2-sidebar-link.disabled .v2-sidebar-icon {
    background: rgba(255, 255, 255, 0.035);
    color: var(--v2-text-muted);
}

.v2-main {
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 0;
}

.v2-topbar {
    height: 64px;
    min-height: 64px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 0 24px;
    background: rgba(16, 17, 20, 0.86);
    border-bottom: 1px solid var(--v2-border);
}

.v2-topbar-left,
.v2-topbar-right {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

.v2-top-link {
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    padding: 0 12px;
    border-radius: var(--v2-radius);
    color: var(--v2-text-soft);
    text-decoration: none;
    font-size: 13px;
    font-weight: 650;
    border: 1px solid transparent;
}

.v2-top-link:hover,
.v2-top-link.active {
    color: var(--v2-text);
    background: rgba(255, 255, 255, 0.05);
    border-color: var(--v2-border);
}

.v2-user {
    position: relative;
}

.v2-user-button {
    border: 1px solid var(--v2-border);
    background: var(--v2-surface);
    color: var(--v2-text);
    height: 36px;
    padding: 0 12px;
    border-radius: var(--v2-radius);
    font: inherit;
    font-size: 13px;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
}

.v2-user-menu {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    width: 220px;
    background: #181b21;
    border: 1px solid var(--v2-border-strong);
    border-radius: var(--v2-radius);
    box-shadow: var(--v2-shadow);
    padding: 6px;
    z-index: 40;
    display: none;
}

.v2-user-menu.open {
    display: block;
}

.v2-menu-item {
    display: flex;
    align-items: center;
    min-height: 36px;
    padding: 0 10px;
    color: var(--v2-text-soft);
    text-decoration: none;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 650;
}

.v2-menu-item:hover {
    background: rgba(255, 255, 255, 0.05);
    color: var(--v2-text);
}

.v2-content {
    flex: 1;
    overflow: auto;
    min-width: 0;
    min-height: 0;
    padding: 24px;
}

.v2-page {
    max-width: 1560px;
    margin: 0 auto;
}

.v2-page-header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 16px;
    align-items: end;
    margin-bottom: 18px;
}

.v2-eyebrow {
    margin: 0 0 6px;
    color: var(--v2-text-muted);
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

.v2-title {
    margin: 0;
    font-size: 28px;
    line-height: 1.15;
    font-weight: 820;
}

.v2-subtitle {
    margin: 8px 0 0;
    color: var(--v2-text-soft);
    font-size: 14px;
    line-height: 1.45;
}

.v2-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 8px;
}

.v2-button,
.v2-icon-button {
    min-height: 36px;
    border-radius: var(--v2-radius);
    border: 1px solid var(--v2-border);
    background: var(--v2-surface-2);
    color: var(--v2-text);
    font: inherit;
    font-size: 13px;
    font-weight: 760;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    text-decoration: none;
}

.v2-button {
    padding: 0 13px;
}

.v2-icon-button {
    width: 36px;
    padding: 0;
}

.v2-button:hover,
.v2-icon-button:hover {
    border-color: var(--v2-border-strong);
    background: var(--v2-surface-3);
}

.v2-button.primary {
    background: var(--v2-accent);
    border-color: var(--v2-accent);
    color: #071016;
}

.v2-button.success {
    background: var(--v2-accent-2);
    border-color: var(--v2-accent-2);
    color: #06110d;
}

.v2-button.warning {
    background: rgba(245, 158, 11, 0.15);
    border-color: rgba(245, 158, 11, 0.34);
    color: #fcd28a;
}

.v2-button.danger {
    background: rgba(248, 113, 113, 0.14);
    border-color: rgba(248, 113, 113, 0.34);
    color: #fecaca;
}

.v2-button:disabled {
    opacity: 0.56;
    cursor: not-allowed;
}

.v2-button.is-busy {
    cursor: progress;
}

.v2-input,
.v2-select,
.v2-textarea {
    width: 100%;
    border: 1px solid var(--v2-border);
    background: #121419;
    color: var(--v2-text);
    border-radius: var(--v2-radius);
    font: inherit;
    font-size: 13px;
    outline: none;
}

.v2-select {
    appearance: none;
    background-image: linear-gradient(45deg, transparent 50%, var(--v2-text-soft) 50%), linear-gradient(135deg, var(--v2-text-soft) 50%, transparent 50%);
    background-position: calc(100% - 17px) 16px, calc(100% - 12px) 16px;
    background-size: 5px 5px, 5px 5px;
    background-repeat: no-repeat;
    padding-right: 34px;
}

.v2-input,
.v2-select {
    height: 38px;
    padding: 0 11px;
}

.v2-select {
    padding-right: 34px;
}

.v2-textarea {
    min-height: 180px;
    padding: 11px;
    resize: vertical;
    line-height: 1.5;
}

.v2-textarea-tall {
    min-height: 460px;
    margin-top: 12px;
}

.v2-input:focus,
.v2-select:focus,
.v2-textarea:focus {
    border-color: rgba(56, 189, 248, 0.64);
    box-shadow: 0 0 0 3px rgba(56, 189, 248, 0.12);
}

.v2-input:disabled,
.v2-select:disabled,
.v2-textarea:disabled {
    background: #202329;
    border-color: rgba(148, 163, 184, 0.2);
    color: #7f8998;
    cursor: not-allowed;
    opacity: 1;
}

.v2-field {
    display: grid;
    gap: 6px;
}

.v2-field.is-disabled-by-mode .v2-label {
    color: #7f8998;
}

.v2-field.is-disabled-by-mode .v2-panel-note {
    color: #fbbf24;
}

.v2-label {
    color: var(--v2-text-muted);
    font-size: 12px;
    font-weight: 750;
}

.v2-toolbar {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    padding: 12px;
    background: var(--v2-surface);
    border: 1px solid var(--v2-border);
    border-radius: var(--v2-radius);
    margin-bottom: 14px;
}

.v2-toolbar .v2-field {
    min-width: 220px;
}

.v2-select-menu {
    position: relative;
    min-width: 220px;
}

.v2-select-trigger {
    width: 100%;
    height: 38px;
    border: 1px solid var(--v2-border);
    background: #11141a;
    color: var(--v2-text);
    border-radius: var(--v2-radius);
    font: inherit;
    font-size: 13px;
    font-weight: 750;
    padding: 0 10px 0 12px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
}

.v2-select-trigger:hover,
.v2-select-menu.open .v2-select-trigger {
    border-color: rgba(56, 189, 248, 0.58);
    box-shadow: 0 0 0 3px rgba(56, 189, 248, 0.1);
}

.v2-select-chevron {
    color: var(--v2-text-muted);
    font-size: 16px;
    transition: transform 0.18s ease;
}

.v2-select-menu.open .v2-select-chevron {
    transform: rotate(180deg);
}

.v2-select-options {
    position: absolute;
    z-index: 60;
    top: calc(100% + 6px);
    left: 0;
    right: 0;
    max-height: 260px;
    overflow-y: auto;
    display: none;
    padding: 6px;
    background: #171a21;
    border: 1px solid var(--v2-border-strong);
    border-radius: var(--v2-radius);
    box-shadow: var(--v2-shadow);
}

.v2-select-menu.open .v2-select-options {
    display: grid;
    gap: 2px;
}

.v2-select-option {
    min-height: 34px;
    width: 100%;
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: var(--v2-text-soft);
    font: inherit;
    font-size: 13px;
    font-weight: 650;
    text-align: left;
    padding: 0 10px;
    cursor: pointer;
}

.v2-select-option:hover {
    background: rgba(56, 189, 248, 0.1);
    color: var(--v2-text);
}

.v2-select-option.active {
    background: rgba(56, 189, 248, 0.16);
    color: #e0f7ff;
}

.v2-panel {
    background: var(--v2-surface);
    border: 1px solid var(--v2-border);
    border-radius: var(--v2-radius);
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.02);
}

.v2-panel.pad {
    padding: 16px;
}

.v2-panel-header {
    min-height: 50px;
    padding: 14px 16px;
    border-bottom: 1px solid var(--v2-border);
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
}

.v2-panel-title {
    margin: 0;
    font-size: 15px;
    line-height: 1.2;
    font-weight: 800;
}

.v2-panel-note {
    margin: 4px 0 0;
    color: var(--v2-text-muted);
    font-size: 12px;
    line-height: 1.4;
}

.v2-grid {
    display: grid;
    gap: 14px;
}

.v2-grid.two {
    grid-template-columns: minmax(280px, 0.7fr) minmax(0, 1.3fr);
}

.v2-grid.three {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.v2-grid.four {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.v2-project-summary {
    max-width: 520px;
    margin-bottom: 14px;
}

.v2-stat {
    min-height: 86px;
    padding: 14px;
    background: var(--v2-surface);
    border: 1px solid var(--v2-border);
    border-radius: var(--v2-radius);
}

.v2-stat-label {
    color: var(--v2-text-muted);
    font-size: 11px;
    font-weight: 850;
    text-transform: uppercase;
}

.v2-stat-value {
    margin-top: 8px;
    color: var(--v2-text);
    font-size: 20px;
    line-height: 1.2;
    font-weight: 820;
}

.v2-stat-caption {
    margin-top: 6px;
    color: var(--v2-text-muted);
    font-size: 12px;
    line-height: 1.35;
}

.v2-limit-stat {
    min-height: 98px;
}

.v2-progress {
    height: 7px;
    margin-top: 12px;
    overflow: hidden;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.07);
}

.v2-progress span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: var(--v2-accent);
}

.v2-chip {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 0 8px;
    border-radius: 999px;
    border: 1px solid var(--v2-border);
    background: rgba(255, 255, 255, 0.04);
    color: var(--v2-text-soft);
    font-size: 12px;
    font-weight: 760;
    white-space: nowrap;
}

.v2-chip.ok {
    border-color: rgba(52, 211, 153, 0.28);
    color: #a7f3d0;
    background: rgba(52, 211, 153, 0.1);
}

.v2-chip.warn {
    border-color: rgba(245, 158, 11, 0.32);
    color: #fcd28a;
    background: rgba(245, 158, 11, 0.1);
}

.v2-chip.bad {
    border-color: rgba(248, 113, 113, 0.32);
    color: #fecaca;
    background: rgba(248, 113, 113, 0.1);
}

.v2-tabs {
    display: flex;
    gap: 6px;
    overflow-x: auto;
    padding: 6px;
    background: var(--v2-surface);
    border: 1px solid var(--v2-border);
    border-radius: var(--v2-radius);
    margin-bottom: 14px;
}

.v2-tab {
    flex: 0 0 auto;
    min-height: 42px;
    border: 1px solid transparent;
    border-radius: 6px;
    background: transparent;
    color: var(--v2-text-soft);
    font: inherit;
    font-size: 13px;
    font-weight: 800;
    padding: 0 12px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 9px;
}

.v2-tab:hover {
    background: rgba(255, 255, 255, 0.04);
    color: var(--v2-text);
}

.v2-tab.active {
    background: rgba(56, 189, 248, 0.1);
    border-color: rgba(56, 189, 248, 0.26);
    color: #e0f7ff;
}

.v2-tab-number {
    width: 22px;
    height: 22px;
    border-radius: 999px;
    display: grid;
    place-items: center;
    font-size: 11px;
    color: var(--v2-text-muted);
    background: rgba(255, 255, 255, 0.05);
}

.v2-tab.active .v2-tab-number {
    color: #061018;
    background: var(--v2-accent);
}

.v2-subtabs {
    display: flex;
    gap: 6px;
    overflow-x: auto;
    padding: 6px;
    margin-bottom: 14px;
    border: 1px solid var(--v2-border);
    border-radius: var(--v2-radius);
    background: rgba(255, 255, 255, 0.025);
}

.v2-subtab {
    min-height: 34px;
    padding: 0 14px;
    border: 1px solid transparent;
    border-radius: 6px;
    background: transparent;
    color: var(--v2-text-soft);
    font: inherit;
    font-size: 12px;
    font-weight: 850;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.v2-subtab:hover {
    color: var(--v2-text);
    background: rgba(255, 255, 255, 0.04);
}

.v2-subtab.active {
    color: #e0f7ff;
    border-color: rgba(56, 189, 248, 0.32);
    background: rgba(56, 189, 248, 0.12);
}

.v2-seo-pane-tabs {
    gap: 10px;
    padding: 10px;
    background: var(--v2-surface);
}

.v2-seo-pane-tabs .v2-subtab {
    min-width: 180px;
    min-height: 46px;
    justify-content: center;
    padding: 0 22px;
    border-color: var(--v2-border);
    background: rgba(255, 255, 255, 0.03);
    color: var(--v2-text);
    font-size: 14px;
}

.v2-seo-pane-tabs .v2-subtab.active {
    border-color: rgba(56, 189, 248, 0.62);
    background: rgba(56, 189, 248, 0.18);
    box-shadow: inset 0 0 0 1px rgba(56, 189, 248, 0.18);
}

.v2-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

.v2-table th,
.v2-table td {
    padding: 11px 12px;
    border-bottom: 1px solid var(--v2-border);
    text-align: left;
    vertical-align: middle;
}

.v2-table th {
    color: var(--v2-text-muted);
    font-size: 11px;
    font-weight: 850;
    text-transform: uppercase;
}

.v2-table tr:hover td {
    background: rgba(255, 255, 255, 0.025);
}

.v2-project-row {
    cursor: pointer;
}

.v2-project-title {
    color: var(--v2-text);
    font-weight: 800;
}

.v2-project-meta {
    margin-top: 4px;
    color: var(--v2-text-muted);
    font-size: 12px;
}

.v2-empty,
.v2-loading {
    min-height: 220px;
    display: grid;
    place-items: center;
    color: var(--v2-text-muted);
    text-align: center;
    border: 1px dashed var(--v2-border);
    border-radius: var(--v2-radius);
    background: rgba(255, 255, 255, 0.02);
}

.v2-empty.slim {
    min-height: 116px;
}

.v2-action-stack {
    display: grid;
    gap: 10px;
}

.v2-action-row {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
    padding: 12px;
    border: 1px solid var(--v2-border);
    border-radius: var(--v2-radius);
    background: rgba(255, 255, 255, 0.025);
}

.v2-action-index {
    width: 32px;
    height: 32px;
    border-radius: 8px;
    display: grid;
    place-items: center;
    background: rgba(255, 255, 255, 0.06);
    color: var(--v2-text-soft);
    font-weight: 900;
    font-size: 12px;
}

.v2-action-title {
    color: var(--v2-text);
    font-weight: 800;
}

.v2-action-help {
    margin-top: 4px;
    color: var(--v2-text-muted);
    font-size: 12px;
    line-height: 1.35;
}

.v2-seo-launch-grid {
    display: grid;
    grid-template-columns: minmax(320px, 1fr) minmax(340px, 460px);
    gap: 16px;
    padding: 16px;
}

.v2-seo-run-settings {
    align-self: start;
    padding: 12px;
    border: 1px solid var(--v2-border);
    border-radius: var(--v2-radius);
    background: rgba(255, 255, 255, 0.025);
}

.v2-banner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
    padding: 12px 14px;
    border-radius: var(--v2-radius);
    border: 1px solid rgba(245, 158, 11, 0.28);
    background: rgba(245, 158, 11, 0.08);
    color: #f8dfb1;
    margin-bottom: 14px;
}

.v2-banner.danger {
    border-color: rgba(248, 113, 113, 0.38);
    background: rgba(248, 113, 113, 0.1);
    color: #ffd6d6;
}

.v2-log {
    height: 290px;
    overflow: auto;
    padding: 12px;
    background: #0b0d11;
    color: #9ee7c4;
    font: 12px/1.55 "Consolas", "SFMono-Regular", monospace;
    border-radius: 0 0 var(--v2-radius) var(--v2-radius);
}

.v2-log-line.muted {
    color: #6b7280;
    font-style: italic;
}

.v2-split {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.95fr);
    gap: 14px;
}

.v2-checkbox-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.v2-tag-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.v2-seo-tags {
    padding: 14px;
}

.v2-lang-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 12px;
}

.v2-lang-tab {
    min-height: 32px;
    padding: 0 12px;
    border-radius: var(--v2-radius);
    border: 1px solid var(--v2-border);
    background: rgba(255, 255, 255, 0.03);
    color: var(--v2-text-soft);
    font: inherit;
    font-size: 12px;
    font-weight: 850;
    cursor: pointer;
}

.v2-lang-tab.active {
    border-color: rgba(56, 189, 248, 0.48);
    background: rgba(56, 189, 248, 0.12);
    color: #e0f7ff;
}

.v2-inline-note {
    margin-top: 10px;
    padding: 10px 12px;
    border: 1px solid rgba(245, 158, 11, 0.26);
    border-radius: var(--v2-radius);
    background: rgba(245, 158, 11, 0.08);
    color: #f8dfb1;
    font-size: 12px;
    font-weight: 700;
}

.v2-mode-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.v2-mode-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 10px;
    align-items: flex-start;
    padding: 12px;
    border: 1px solid var(--v2-border);
    border-radius: var(--v2-radius);
    background: rgba(255, 255, 255, 0.03);
    cursor: pointer;
}

.v2-mode-card:has(input:checked) {
    border-color: rgba(56, 189, 248, 0.62);
    background: rgba(56, 189, 248, 0.09);
}

.v2-mode-card input {
    margin-top: 2px;
}

.v2-mode-card strong {
    display: block;
    color: var(--v2-text);
    font-size: 14px;
}

.v2-mode-card em {
    display: block;
    margin-top: 4px;
    color: var(--v2-text-muted);
    font-size: 12px;
    font-style: normal;
    line-height: 1.35;
}

.v2-info-stack {
    display: grid;
    gap: 10px;
    margin-top: 14px;
}

.v2-info-stack > div {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    padding: 10px 0;
    border-bottom: 1px solid var(--v2-border);
}

.v2-info-stack > div:last-child {
    border-bottom: none;
}

.v2-info-stack span {
    color: var(--v2-text-muted);
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

.v2-info-stack strong {
    color: var(--v2-text);
    text-align: right;
}

.v2-language-manager {
    display: grid;
    gap: 12px;
}

.v2-language-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.v2-language-chip {
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 0 8px;
    border-radius: var(--v2-radius);
    border: 1px solid var(--v2-border);
    background: rgba(255, 255, 255, 0.035);
    color: var(--v2-text-soft);
    font-size: 12px;
    font-weight: 700;
}

.v2-language-chip b {
    color: var(--v2-text);
}

.v2-language-chip em {
    color: #fcd28a;
    font-style: normal;
    font-weight: 800;
}

.v2-language-chip.ok {
    border-color: rgba(52, 211, 153, 0.24);
}

.v2-language-chip.warn {
    border-color: rgba(245, 158, 11, 0.34);
    background: rgba(245, 158, 11, 0.08);
}

.v2-language-chip button {
    width: 22px;
    height: 22px;
    border: 0;
    border-radius: 6px;
    background: rgba(255, 255, 255, 0.08);
    color: var(--v2-text);
    cursor: pointer;
    font: inherit;
    font-weight: 900;
}

.v2-language-add {
    display: grid;
    grid-template-columns: minmax(180px, 1fr) auto;
    gap: 8px;
}

.v2-language-select-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(168px, 1fr));
    gap: 8px;
}

.v2-language-select {
    min-height: 54px;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 9px;
    padding: 8px 10px;
    border: 1px solid var(--v2-border);
    border-radius: var(--v2-radius);
    background: rgba(255, 255, 255, 0.03);
    color: var(--v2-text-soft);
    cursor: pointer;
}

.v2-language-select input {
    grid-row: 1 / span 2;
}

.v2-language-select:has(input:checked) {
    border-color: rgba(56, 189, 248, 0.42);
    background: rgba(56, 189, 248, 0.08);
}

.v2-language-select:has(input:disabled) {
    opacity: 0.62;
    cursor: default;
}

.v2-language-select span {
    display: grid;
    gap: 2px;
    min-width: 0;
    grid-column: 2;
}

.v2-language-select b {
    color: var(--v2-text);
    font-size: 12px;
}

.v2-language-select small,
.v2-language-select em {
    color: var(--v2-text-muted);
    font-size: 11px;
    font-style: normal;
    line-height: 1.2;
    overflow-wrap: anywhere;
}

.v2-language-select em {
    grid-column: 2;
}

.v2-danger-zone {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
    padding: 12px;
    border: 1px solid rgba(248, 113, 113, 0.28);
    border-radius: var(--v2-radius);
    background: rgba(248, 113, 113, 0.055);
}

.v2-danger-zone strong {
    display: block;
    color: #ffd6d6;
    font-size: 13px;
}

.v2-danger-zone span {
    display: block;
    margin-top: 3px;
    color: var(--v2-text-muted);
    font-size: 12px;
    line-height: 1.35;
}

.v2-warning-list {
    display: grid;
    gap: 8px;
}

.v2-warning-list > div {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    padding: 10px 12px;
    border: 1px solid rgba(245, 158, 11, 0.28);
    border-radius: var(--v2-radius);
    background: rgba(245, 158, 11, 0.08);
    color: #f8dfb1;
    font-size: 12px;
}

.v2-warning-list a {
    color: #e0f7ff;
    font-weight: 800;
}

.v2-audio-list {
    display: grid;
    gap: 10px;
}

.v2-audio-chunks {
    display: grid;
    gap: 8px;
    margin-bottom: 12px;
}

.v2-audio-chunk {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    align-items: center;
    padding: 10px 12px;
    border: 1px solid var(--v2-border);
    border-radius: var(--v2-radius);
    background: rgba(255, 255, 255, 0.025);
}

.v2-audio-chunk.warn {
    border-color: rgba(245, 158, 11, 0.34);
    background: rgba(245, 158, 11, 0.08);
}

.v2-audio-chunk strong,
.v2-audio-chunk span,
.v2-audio-chunk small {
    display: block;
}

.v2-audio-chunk strong {
    color: var(--v2-text);
    font-size: 13px;
}

.v2-audio-chunk span,
.v2-audio-chunk small {
    margin-top: 2px;
    color: var(--v2-text-muted);
    font-size: 12px;
}

.v2-audio-track {
    display: grid;
    grid-template-columns: minmax(190px, 0.8fr) minmax(260px, 1fr) auto;
    gap: 12px;
    align-items: center;
    padding: 12px;
    border: 1px solid var(--v2-border);
    border-radius: var(--v2-radius);
    background: rgba(255, 255, 255, 0.025);
}

.v2-audio-track strong {
    display: block;
    color: var(--v2-text);
    font-size: 14px;
}

.v2-audio-track span {
    display: block;
    margin-top: 3px;
    color: var(--v2-text-muted);
    font-size: 12px;
    word-break: break-word;
}

.v2-audio-track audio {
    width: 100%;
    min-width: 220px;
}

.v2-readiness-list {
    display: grid;
    gap: 10px;
}

.v2-readiness-list > div {
    padding: 12px;
    border: 1px solid var(--v2-border);
    border-radius: var(--v2-radius);
    background: rgba(255, 255, 255, 0.025);
    color: var(--v2-text-soft);
    font-weight: 700;
}

.v2-check {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 34px;
    padding: 0 10px;
    border-radius: var(--v2-radius);
    border: 1px solid var(--v2-border);
    background: rgba(255, 255, 255, 0.03);
    color: var(--v2-text-soft);
    font-size: 13px;
    font-weight: 700;
}

.v2-divider {
    height: 1px;
    background: var(--v2-border);
    margin: 14px 0;
}

.v2-inline-select {
    width: min(300px, 100%);
}

.v2-assets-toolbar {
    display: grid;
    grid-template-columns: minmax(180px, 260px) auto auto 36px;
    align-items: center;
    justify-content: end;
    gap: 8px;
    max-width: 100%;
}

.v2-assets-toolbar .v2-button {
    padding: 0 11px;
    white-space: nowrap;
}

.v2-assets-toolbar .v2-inline-select {
    width: 100%;
}

.v2-actions.between {
    justify-content: space-between;
}

.v2-grid.two.compact {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.v2-media-settings-grid {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 210px), 1fr));
    align-items: start;
}

.v2-media-settings-grid .v2-field {
    min-width: 0;
}

.v2-editor-grid {
    display: grid;
    grid-template-columns: minmax(280px, 0.52fr) minmax(0, 1.48fr);
    gap: 14px;
    margin-top: 14px;
}

.v2-detail-body {
    padding: 16px;
}

.v2-asset-sections {
    display: grid;
    gap: 12px;
    padding: 16px;
}

.v2-asset-section {
    border: 1px solid var(--v2-border);
    border-radius: var(--v2-radius);
    background: rgba(255, 255, 255, 0.02);
    overflow: hidden;
}

.v2-asset-section.active {
    border-color: rgba(56, 189, 248, 0.3);
}

.v2-asset-section-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    align-items: center;
    padding: 10px;
    border-bottom: 1px solid var(--v2-border);
}

.v2-section-switch {
    border: 0;
    background: transparent;
    color: var(--v2-text);
    text-align: left;
    cursor: pointer;
    padding: 0;
    font: inherit;
}

.v2-section-switch strong,
.v2-section-switch span {
    display: block;
}

.v2-section-switch span {
    margin-top: 3px;
    color: var(--v2-text-muted);
    font-size: 12px;
}

.v2-asset-list,
.v2-scene-list {
    display: grid;
    gap: 7px;
}

.v2-scene-list {
    max-height: calc(20 * 56px + 19 * 7px);
    overflow-y: auto;
    padding-right: 4px;
}

.v2-asset-list {
    padding: 10px;
    max-height: 260px;
    overflow: auto;
}

.v2-asset-row,
.v2-scene-row {
    width: 100%;
    border: 1px solid var(--v2-border);
    background: rgba(255, 255, 255, 0.025);
    color: var(--v2-text-soft);
    border-radius: var(--v2-radius);
    font: inherit;
    cursor: pointer;
}

.v2-asset-row {
    min-height: 38px;
    display: grid;
    grid-template-columns: 10px minmax(0, 1fr) auto;
    gap: 9px;
    align-items: center;
    padding: 0 10px;
    text-align: left;
}

.v2-asset-row.active,
.v2-scene-row.active {
    border-color: rgba(56, 189, 248, 0.42);
    background: rgba(56, 189, 248, 0.1);
    color: var(--v2-text);
}

.v2-asset-row em {
    color: #fcd28a;
    font-size: 11px;
    font-style: normal;
    font-weight: 800;
}

.v2-asset-dot {
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: var(--v2-danger);
}

.v2-asset-dot.ok {
    background: var(--v2-accent-2);
}

.v2-asset-dot.bad {
    background: var(--v2-danger);
}

.v2-asset-detail,
.v2-scene-detail {
    display: grid;
    gap: 12px;
}

.v2-asset-preview,
.v2-scene-preview {
    min-height: 280px;
    aspect-ratio: 16 / 9;
    display: grid;
    place-items: center;
    overflow: hidden;
    border: 1px solid var(--v2-border);
    border-radius: var(--v2-radius);
    background: #0d0f14;
}

.v2-asset-preview img,
.v2-scene-media {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

.v2-detail-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.v2-director-meta {
    display: grid;
    gap: 8px;
    padding: 10px 0;
    border-top: 1px solid var(--v2-border);
    border-bottom: 1px solid var(--v2-border);
}

.v2-director-meta-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.v2-director-meta-item {
    min-width: 0;
    display: grid;
    gap: 4px;
}

.v2-director-meta-item span {
    color: var(--v2-text-muted);
    font-size: 11px;
    font-weight: 800;
}

.v2-director-meta-item p {
    margin: 0;
    color: var(--v2-text-soft);
    font-size: 12px;
    line-height: 1.45;
    overflow-wrap: anywhere;
}

.v2-scene-controls {
    display: grid;
    gap: 10px;
    padding-top: 2px;
}

.v2-scene-model-grid {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) minmax(180px, 1fr) minmax(180px, 1fr);
    gap: 14px;
    align-items: end;
}

.v2-scene-ref-note {
    max-width: 720px;
    margin-top: -2px;
}

.v2-scene-actions-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.v2-scene-actions-row > .v2-actions {
    justify-content: flex-start;
}

.v2-textarea.compact {
    min-height: 76px;
}

.v2-scene-row {
    min-height: 58px;
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr) auto;
    grid-template-areas:
        "num text media"
        "num motion media";
    column-gap: 10px;
    row-gap: 4px;
    align-items: center;
    padding: 7px 10px;
    text-align: left;
}

.v2-scene-number {
    grid-area: num;
    color: var(--v2-accent);
    font-weight: 850;
}

.v2-scene-text {
    grid-area: text;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.v2-scene-row > .v2-chip:not(.v2-scene-motion-chip) {
    grid-area: media;
    justify-self: end;
}

.v2-scene-motion-chip {
    grid-area: motion;
    justify-self: start;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.v2-seo-stack {
    display: grid;
    gap: 12px;
}

.v2-seo-card {
    border: 1px solid var(--v2-border);
    border-radius: var(--v2-radius);
    background: rgba(255, 255, 255, 0.025);
    overflow: hidden;
}

.v2-seo-card-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 12px 14px;
    border-bottom: 1px solid var(--v2-border);
}

.v2-seo-card-head h3 {
    margin: 0;
    color: var(--v2-text);
    font-size: 14px;
    line-height: 1.25;
}

.v2-seo-title-list {
    display: grid;
}

.v2-seo-title-row {
    min-height: 48px;
    display: grid;
    grid-template-columns: 32px minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    border-bottom: 1px solid var(--v2-border);
}

.v2-seo-title-row:last-child {
    border-bottom: 0;
}

.v2-seo-title-row b {
    width: 24px;
    height: 24px;
    display: grid;
    place-items: center;
    border-radius: 999px;
    background: rgba(56, 189, 248, 0.12);
    color: #bae6fd;
    font-size: 11px;
}

.v2-seo-title-row span,
.v2-seo-text {
    color: var(--v2-text-soft);
    line-height: 1.55;
    overflow-wrap: anywhere;
}

.v2-seo-text {
    padding: 14px;
    white-space: pre-wrap;
}

.v2-seo-raw {
    border: 1px solid var(--v2-border);
    border-radius: var(--v2-radius);
    background: #0d0f14;
    overflow: hidden;
}

.v2-seo-raw summary {
    padding: 12px 14px;
    cursor: pointer;
    color: var(--v2-text-soft);
    font-weight: 800;
}

.v2-seo-raw pre {
    max-height: 360px;
    margin: 0;
    padding: 14px;
    overflow: auto;
    border-top: 1px solid var(--v2-border);
    color: var(--v2-text-soft);
    font: 12px/1.55 "Consolas", "SFMono-Regular", monospace;
    white-space: pre-wrap;
}

.v2-preview-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 12px;
}

.v2-preview-card {
    border: 1px solid var(--v2-border);
    border-radius: var(--v2-radius);
    background: rgba(255, 255, 255, 0.025);
    overflow: hidden;
    cursor: pointer;
}

.v2-preview-card:hover {
    border-color: var(--v2-border-strong);
}

.v2-preview-card.selected {
    border-color: rgba(56, 189, 248, 0.58);
    background: rgba(56, 189, 248, 0.08);
}

.v2-preview-image-wrap {
    position: relative;
    aspect-ratio: 16 / 9;
    display: grid;
    place-items: center;
    background: #0d0f14;
    overflow: hidden;
}

.v2-preview-image-wrap img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.v2-preview-badge,
.v2-preview-selected,
.v2-preview-download {
    position: absolute;
    min-height: 24px;
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    border: 1px solid rgba(0, 0, 0, 0.24);
    background: rgba(15, 18, 24, 0.82);
    color: var(--v2-text);
    font-size: 11px;
    font-weight: 850;
    backdrop-filter: blur(8px);
}

.v2-preview-badge {
    top: 8px;
    left: 8px;
    padding: 0 8px;
}

.v2-preview-selected {
    top: 8px;
    right: 8px;
    padding: 0 8px;
    color: #bae6fd;
    border-color: rgba(56, 189, 248, 0.42);
}

.v2-preview-download {
    right: 8px;
    bottom: 8px;
    padding: 0 10px;
    text-decoration: none;
    cursor: pointer;
    font-family: inherit;
}

.v2-preview-meta {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    padding: 10px 12px;
    border-top: 1px solid var(--v2-border);
}

.v2-preview-meta strong {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--v2-text);
    font-size: 12px;
}

.v2-preview-meta span {
    color: var(--v2-text-muted);
    font-size: 12px;
}

.v2-preview-text {
    display: grid;
    gap: 5px;
    padding: 0 12px 12px;
    color: var(--v2-text-soft);
    font-size: 12px;
    line-height: 1.4;
}

.v2-preview-text b {
    color: var(--v2-text);
}

.v2-preview-text em,
.v2-preview-text small {
    color: var(--v2-text-muted);
    font-style: normal;
}

.v2-preview-text.muted {
    color: var(--v2-text-muted);
}

.v2-modal-backdrop {
    position: fixed;
    inset: 0;
    z-index: 1000;
    display: grid;
    place-items: center;
    padding: 24px;
    background: rgba(5, 7, 10, 0.74);
}

.v2-modal {
    width: min(820px, 100%);
    max-height: min(760px, 90vh);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    background: #181b21;
    border: 1px solid var(--v2-border-strong);
    border-radius: var(--v2-radius);
    box-shadow: var(--v2-shadow);
}

.v2-modal-body {
    display: grid;
    gap: 16px;
    padding: 16px;
    overflow: auto;
}

.v2-modal-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 16px;
    border-top: 1px solid var(--v2-border);
}

.v2-picker-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: 10px;
}

.v2-picker-item {
    min-height: 92px;
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    padding: 10px;
    border: 1px solid var(--v2-border);
    border-radius: var(--v2-radius);
    background: rgba(255, 255, 255, 0.03);
    color: var(--v2-text);
    cursor: pointer;
    font: inherit;
    text-align: left;
}

.v2-picker-item.active {
    border-color: rgba(52, 211, 153, 0.48);
    background: rgba(52, 211, 153, 0.11);
}

.v2-picker-item img,
.v2-picker-item span {
    width: 58px;
    height: 58px;
    border-radius: 6px;
    object-fit: cover;
    background: rgba(255, 255, 255, 0.06);
}

.v2-picker-item strong {
    min-width: 0;
    overflow-wrap: anywhere;
}

.v2-scene-template-modal {
    width: min(1080px, 100%);
}

.v2-scene-template-group {
    display: grid;
    gap: 8px;
}

.v2-scene-template-group-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    color: var(--v2-text);
}

.v2-scene-template-group-title strong {
    font-size: 13px;
    font-weight: 950;
}

.v2-scene-template-group-title span {
    color: var(--v2-text-muted);
    font-size: 11px;
    font-weight: 850;
}

.v2-scene-template-grid {
    grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
    gap: 8px;
}

.v2-scene-template-pick {
    min-height: 72px;
    grid-template-columns: 44px minmax(0, 1fr);
    grid-template-rows: auto auto;
    align-content: center;
    gap: 4px 10px;
}

.v2-scene-template-pick .v2-template-thumb {
    grid-row: 1 / 3;
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    border-radius: 8px;
    color: #f8fafc;
    background: rgba(148, 163, 184, 0.18);
    font-size: 11px;
    font-weight: 950;
}

.v2-scene-template-pick strong,
.v2-scene-template-pick em {
    overflow: hidden;
    min-width: 0;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.v2-scene-template-pick strong {
    align-self: end;
    font-size: 13px;
}

.v2-scene-template-pick em {
    align-self: start;
    color: var(--v2-text-muted);
    font-size: 11px;
    font-style: normal;
    font-weight: 800;
}

.v2-scene-template-pick .template-cinema { background: linear-gradient(135deg, #475569, #0f172a); }
.v2-scene-template-pick .template-archive { background: linear-gradient(135deg, #92400e, #334155); }
.v2-scene-template-pick .template-tech { background: linear-gradient(135deg, #0e7490, #1e40af); }
.v2-scene-template-pick .template-space { background: linear-gradient(135deg, #4338ca, #111827); }
.v2-scene-template-pick .template-horror { background: linear-gradient(135deg, #7f1d1d, #111827); }
.v2-scene-template-pick .template-psychology { background: linear-gradient(135deg, #be185d, #475569); }
.v2-scene-template-pick .template-education { background: linear-gradient(135deg, #047857, #164e63); }
.v2-scene-template-pick .template-news_business { background: linear-gradient(135deg, #0369a1, #14532d); }
.v2-scene-template-pick .template-social { background: linear-gradient(135deg, #c2410c, #7c3aed); }

body.v2-body .v2-scene-motion-select {
    width: 100%;
    min-height: 54px;
    display: grid;
    gap: 4px;
    align-content: center;
    padding: 8px 12px;
    border: 1px solid var(--v2-border);
    border-radius: var(--v2-radius);
    background: rgba(255, 255, 255, 0.03);
    color: var(--v2-text);
    cursor: pointer;
    font: inherit;
    text-align: left;
}

body.v2-body .v2-scene-motion-select:hover {
    border-color: rgba(56, 189, 248, 0.45);
    background: rgba(56, 189, 248, 0.07);
}

body.v2-body .v2-scene-motion-select:disabled {
    cursor: not-allowed;
    opacity: 0.65;
}

body.v2-body .v2-scene-motion-select strong,
body.v2-body .v2-scene-motion-select span {
    overflow: hidden;
    min-width: 0;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.v2-body .v2-scene-motion-select strong {
    font-size: 13px;
    font-weight: 950;
}

body.v2-body .v2-scene-motion-select span {
    color: var(--v2-text-muted);
    font-size: 11px;
    font-weight: 800;
}

.v2-scene-motion-pick.active {
    border-color: rgba(52, 211, 153, 0.52);
    background: rgba(52, 211, 153, 0.11);
}

.v2-scene-template-pick .motion-none { background: rgba(148, 163, 184, 0.2); }
.v2-scene-template-pick .motion-reveal { background: linear-gradient(135deg, #047857, #0e7490); }
.v2-scene-template-pick .motion-camera { background: linear-gradient(135deg, #1d4ed8, #334155); }
.v2-scene-template-pick .motion-archive { background: linear-gradient(135deg, #92400e, #374151); }
.v2-scene-template-pick .motion-tech { background: linear-gradient(135deg, #0891b2, #3730a3); }
.v2-scene-template-pick .motion-transition { background: linear-gradient(135deg, #7c3aed, #be185d); }
.v2-scene-template-pick .motion-group { background: linear-gradient(135deg, #0f766e, #4338ca); }
.v2-scene-template-pick .motion-accent { background: linear-gradient(135deg, #dc2626, #475569); }

.v2-generation-run-grid {
    display: grid;
    grid-template-columns: minmax(320px, 0.92fr) minmax(340px, 1.08fr);
    gap: 14px;
    margin-bottom: 14px;
}

.v2-generation-settings,
.v2-generation-import-body {
    display: grid;
    gap: 14px;
    padding: 16px;
}

.v2-generation-status {
    border: 1px solid var(--v2-border);
    border-radius: 8px;
    background: var(--v2-surface-2);
    padding: 14px 16px;
}

.v2-generation-status[data-state="active"] {
    border-color: rgba(37, 99, 235, 0.28);
    background: rgba(37, 99, 235, 0.12);
}

.v2-generation-status[data-state="waiting"] {
    border-color: rgba(217, 119, 6, 0.32);
    background: rgba(217, 119, 6, 0.12);
}

.v2-generation-status-title {
    color: var(--v2-text);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.35;
}

.v2-generation-status-note {
    color: var(--v2-text-soft);
    font-size: 13px;
    line-height: 1.45;
    margin-top: 4px;
}

.v2-generation-log {
    height: 468px;
}

.v2-generation-outlines,
.v2-generation-import {
    margin-top: 14px;
}

.v2-generation-tabs {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 14px;
    border-bottom: 1px solid var(--v2-border);
    overflow-x: auto;
}

.v2-generation-tab {
    min-height: 42px;
    padding: 0 14px;
    border: 0;
    border-bottom: 2px solid transparent;
    background: transparent;
    color: var(--v2-text-muted);
    cursor: pointer;
    font: inherit;
    font-size: 13px;
    font-weight: 850;
    white-space: nowrap;
}

.v2-generation-tab:hover {
    color: var(--v2-text);
}

.v2-generation-tab.active {
    border-bottom-color: rgba(56, 189, 248, 0.82);
    color: var(--v2-text);
}

.v2-generation-tab-panel {
    display: none;
}

.v2-generation-tab-panel.active {
    display: block;
}

.v2-topic-workbench {
    display: grid;
    grid-template-columns: minmax(280px, 380px) minmax(0, 1fr);
    min-height: 620px;
}

.v2-topic-list-pane {
    display: grid;
    grid-template-rows: auto auto auto minmax(0, 1fr);
    gap: 12px;
    min-width: 0;
    min-height: 0;
    padding: 16px;
    border-right: 1px solid var(--v2-border);
}

.v2-topic-launch-settings {
    display: grid;
    grid-template-columns: minmax(180px, 260px) minmax(260px, 1fr);
    gap: 12px;
    padding: 14px 16px;
    border-bottom: 1px solid var(--v2-border);
}

.v2-topic-lists {
    display: grid;
    align-content: start;
    gap: 14px;
    min-height: 0;
    overflow: auto;
}

.v2-topic-view-tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 4px;
    padding: 4px;
    border: 1px solid var(--v2-border);
    border-radius: var(--v2-radius);
    background: rgba(255, 255, 255, 0.025);
}

.v2-topic-view-tab {
    min-width: 0;
    min-height: 34px;
    padding: 7px 9px;
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: var(--v2-text-muted);
    cursor: pointer;
    font: inherit;
    font-size: 12px;
    font-weight: 850;
    line-height: 1.2;
}

.v2-topic-view-tab:hover {
    color: var(--v2-text);
    background: rgba(255, 255, 255, 0.045);
}

.v2-topic-view-tab.active {
    color: var(--v2-text);
    background: rgba(56, 189, 248, 0.14);
    box-shadow: inset 0 0 0 1px rgba(56, 189, 248, 0.22);
}

.v2-topic-list-section {
    display: none;
    gap: 8px;
    min-width: 0;
}

.v2-topic-list-section.active {
    display: grid;
}

.v2-topic-section-title {
    color: var(--v2-text-muted);
    font-size: 11px;
    font-weight: 950;
    text-transform: uppercase;
}

.v2-topic-list {
    display: grid;
    align-content: start;
    gap: 8px;
}

.v2-topic-row {
    width: 100%;
    min-height: 88px;
    display: grid;
    gap: 5px;
    padding: 10px;
    border: 1px solid var(--v2-border);
    border-radius: var(--v2-radius);
    background: rgba(255, 255, 255, 0.025);
    color: var(--v2-text-soft);
    cursor: pointer;
    font: inherit;
    text-align: left;
}

.v2-topic-row:hover {
    border-color: var(--v2-border-strong);
    background: rgba(255, 255, 255, 0.04);
}

.v2-topic-row.active {
    border-color: rgba(56, 189, 248, 0.46);
    background: rgba(56, 189, 248, 0.1);
}

.v2-topic-row strong {
    min-width: 0;
    color: var(--v2-text);
    font-size: 13px;
    line-height: 1.32;
    overflow-wrap: anywhere;
}

.v2-topic-row span,
.v2-topic-row small {
    color: var(--v2-text-muted);
    font-size: 12px;
    line-height: 1.3;
    overflow-wrap: anywhere;
}

.v2-topic-editor {
    min-width: 0;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.v2-topic-editor-header {
    border-bottom: 1px solid var(--v2-border);
}

.v2-topic-editor-body {
    display: grid;
    gap: 14px;
    padding: 16px;
}

.v2-topic-editor-main-fields {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(150px, 210px);
    gap: 12px;
    align-items: end;
}

.v2-topic-seed {
    min-height: 116px;
    resize: vertical;
}

.v2-topic-vars-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 10px;
}

.v2-topic-var-card {
    display: grid;
    gap: 7px;
    min-width: 0;
    padding: 10px;
    border: 1px solid var(--v2-border);
    border-radius: var(--v2-radius);
    background: rgba(255, 255, 255, 0.025);
}

.v2-topic-var-card span {
    color: var(--v2-text-muted);
    font-size: 12px;
    font-weight: 850;
    overflow-wrap: anywhere;
}

.v2-topic-var-card .v2-select-options {
    max-height: 340px;
    gap: 6px;
    padding: 8px;
}

.v2-topic-var-card .v2-select-option {
    min-height: 44px;
    padding: 9px 12px;
    line-height: 1.35;
    white-space: normal;
    overflow-wrap: anywhere;
}

.v2-topic-editor-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    flex-wrap: wrap;
}

.v2-outline-workspace {
    display: grid;
    grid-template-columns: minmax(260px, 360px) minmax(0, 1fr);
    min-height: 520px;
}

.v2-outline-list-pane {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    gap: 12px;
    min-width: 0;
    min-height: 0;
    padding: 16px;
    border-right: 1px solid var(--v2-border);
}

.v2-outline-list {
    display: grid;
    align-content: start;
    gap: 8px;
    min-height: 0;
    overflow: auto;
}

.v2-outline-row {
    width: 100%;
    min-height: 76px;
    display: grid;
    gap: 4px;
    padding: 10px;
    border: 1px solid var(--v2-border);
    border-radius: var(--v2-radius);
    background: rgba(255, 255, 255, 0.025);
    color: var(--v2-text-soft);
    cursor: pointer;
    font: inherit;
    text-align: left;
}

.v2-outline-row:hover {
    border-color: var(--v2-border-strong);
    background: rgba(255, 255, 255, 0.04);
}

.v2-outline-row.active {
    border-color: rgba(56, 189, 248, 0.46);
    background: rgba(56, 189, 248, 0.1);
}

.v2-outline-row strong {
    min-width: 0;
    color: var(--v2-text);
    font-size: 13px;
    line-height: 1.3;
    overflow-wrap: anywhere;
}

.v2-outline-row span,
.v2-outline-row small {
    color: var(--v2-text-muted);
    font-size: 12px;
    line-height: 1.25;
}

.v2-outline-preview {
    min-width: 0;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.v2-outline-text-wrap {
    flex: 1;
    min-height: 0;
    padding: 16px;
}

.v2-outline-textarea {
    height: 100%;
    min-height: 390px;
    resize: none;
    font-size: 13px;
    line-height: 1.62;
}

/* Shared v2 native-select replacement */
.v2-custom-select {
    min-width: 0;
}

.v2-field > .v2-custom-select,
.v2-grid .v2-custom-select,
.modal-field .v2-custom-select {
    width: 100%;
}

.v2-custom-select.v2-inline-select {
    width: min(300px, 100%);
}

.v2-assets-toolbar .v2-custom-select.v2-inline-select {
    width: 100%;
}

.v2-select-value {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.v2-select-trigger:disabled,
.v2-select-trigger.disabled {
    opacity: 0.58;
    cursor: not-allowed;
}

.v2-select-option:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}

.v2-panel-body {
    padding: 16px;
}

/* Account and admin v2 surfaces */
.v2-account-grid {
    display: grid;
    grid-template-columns: minmax(300px, 0.75fr) minmax(360px, 1.25fr);
    gap: 14px;
    margin-bottom: 14px;
}

.v2-account-profile-grid,
.v2-account-stat-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 10px;
}

body.v2-body .account-card {
    margin: 0;
}

body.v2-body .account-stat {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
    padding: 12px;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid var(--v2-border);
    border-radius: var(--v2-radius);
}

body.v2-body .account-stat-icon {
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    display: grid;
    place-items: center;
    border-radius: 8px;
    background: rgba(56, 189, 248, 0.11);
    color: var(--v2-accent);
    font-size: 18px;
    font-weight: 850;
}

body.v2-body .account-stat-info {
    min-width: 0;
}

body.v2-body .account-stat-label,
body.v2-body .api-key-label,
body.v2-body .modal-field label {
    color: var(--v2-text-muted);
    font-size: 12px;
    font-weight: 760;
}

body.v2-body .account-stat-value {
    margin-top: 3px;
    color: var(--v2-text);
    font-size: 15px;
    font-weight: 800;
    overflow-wrap: anywhere;
}

body.v2-body .api-keys-header {
    display: grid;
    grid-template-columns: minmax(260px, 1fr) minmax(320px, 520px);
    gap: 16px;
    align-items: start;
}

body.v2-body .api-keys-lead,
body.v2-body .api-key-modal-note {
    margin: 0;
    color: var(--v2-text-muted);
    font-size: 13px;
    line-height: 1.5;
}

body.v2-body .api-keys-note {
    padding: 12px;
    color: #bfdbfe;
    background: rgba(56, 189, 248, 0.08);
    border: 1px solid rgba(56, 189, 248, 0.18);
    border-radius: var(--v2-radius);
    font-size: 13px;
    line-height: 1.45;
}

body.v2-body .api-key-form {
    display: grid;
    grid-template-columns: minmax(210px, 0.9fr) minmax(260px, 1.35fr) repeat(3, minmax(100px, 130px));
    gap: 12px;
    align-items: end;
    margin-top: 16px;
}

body.v2-body .api-key-field {
    min-width: 0;
    display: grid;
    gap: 6px;
}

body.v2-body .api-key-add {
    grid-column: 2 / -1;
    justify-self: end;
}

body.v2-body .api-key-help {
    display: grid;
    grid-template-columns: repeat(3, minmax(160px, 1fr));
    gap: 10px;
    margin-top: 14px;
    color: var(--v2-text-muted);
    font-size: 12px;
    line-height: 1.45;
}

body.v2-body .api-key-help > div {
    padding: 10px 12px;
    background: rgba(255, 255, 255, 0.025);
    border: 1px solid var(--v2-border);
    border-radius: var(--v2-radius);
}

body.v2-body .api-key-help strong {
    color: var(--v2-text);
}

body.v2-body .api-key-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    padding: 14px;
    margin-top: 10px;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid var(--v2-border);
    border-radius: var(--v2-radius);
}

body.v2-body .api-key-item-main {
    min-width: 0;
}

body.v2-body .api-key-title-row {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--v2-text);
    font-size: 14px;
}

body.v2-body .api-key-icon {
    width: 26px;
    height: 26px;
    display: inline-grid;
    place-items: center;
    border-radius: 7px;
    background: rgba(56, 189, 248, 0.1);
}

body.v2-body .api-key-meta,
body.v2-body .api-key-streams-empty {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 6px;
    color: var(--v2-text-muted);
    font-size: 11px;
}

body.v2-body .api-key-streams {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 10px;
}

body.v2-body .api-key-stream-pill {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 5px 9px;
    color: #bbf7d0;
    background: rgba(52, 211, 153, 0.08);
    border: 1px solid rgba(52, 211, 153, 0.18);
    border-radius: 999px;
    font-size: 12px;
}

body.v2-body .api-key-actions {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

body.v2-body .account-toast {
    display: none;
    position: fixed;
    right: 28px;
    bottom: 28px;
    z-index: 10001;
    max-width: min(520px, calc(100vw - 32px));
    padding: 11px 14px;
    border-radius: var(--v2-radius);
    background: #11362d;
    border: 1px solid rgba(52, 211, 153, 0.36);
    color: #bbf7d0;
    box-shadow: var(--v2-shadow);
    font-size: 13px;
    font-weight: 760;
    line-height: 1.35;
}

body.v2-body .account-toast.error {
    background: #3b1d22;
    border-color: rgba(248, 113, 113, 0.4);
    color: #fecaca;
}

body.v2-body .api-key-modal {
    width: min(460px, 92vw);
    padding: 18px;
    background: #181b21;
    border: 1px solid var(--v2-border-strong);
    border-radius: var(--v2-radius);
    box-shadow: var(--v2-shadow);
}

body.v2-body .api-key-modal h3 {
    margin: 0 0 8px;
    color: var(--v2-text);
    font-size: 16px;
}

body.v2-body .input-path,
body.v2-body .modal-field input,
body.v2-body .modal-field select,
body.v2-body .modal-field textarea {
    width: 100%;
    min-height: 38px;
    padding: 0 11px;
    border: 1px solid var(--v2-border);
    border-radius: var(--v2-radius);
    background: #121419;
    color: var(--v2-text);
    font: inherit;
    font-size: 13px;
    outline: none;
}

body.v2-body .modal-field textarea {
    min-height: 78px;
    padding: 10px 11px;
    resize: vertical;
    line-height: 1.5;
}

body.v2-body .input-path:focus,
body.v2-body .modal-field input:focus,
body.v2-body .modal-field select:focus,
body.v2-body .modal-field textarea:focus {
    border-color: rgba(56, 189, 248, 0.64);
    box-shadow: 0 0 0 3px rgba(56, 189, 248, 0.12);
}

body.v2-body .btn,
body.v2-body .modal-btn,
body.v2-body .action-btn {
    min-height: 34px;
    padding: 0 12px;
    border: 1px solid var(--v2-border);
    border-radius: var(--v2-radius);
    background: var(--v2-surface-2);
    color: var(--v2-text);
    font: inherit;
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    text-decoration: none;
}

body.v2-body .btn:hover,
body.v2-body .modal-btn:hover,
body.v2-body .action-btn:hover {
    border-color: var(--v2-border-strong);
    background: var(--v2-surface-3);
    transform: none;
}

body.v2-body .modal-btn-primary,
body.v2-body .action-btn-success {
    background: var(--v2-accent);
    border-color: var(--v2-accent);
    color: #071016;
}

body.v2-body .modal-btn-cancel {
    color: var(--v2-text-soft);
}

body.v2-body .action-btn-danger,
body.v2-body .action-btn-red {
    color: #fecaca;
    background: rgba(248, 113, 113, 0.14);
    border-color: rgba(248, 113, 113, 0.34);
}

body.v2-body .action-btn-warning {
    color: #fcd28a;
    background: rgba(245, 158, 11, 0.15);
    border-color: rgba(245, 158, 11, 0.34);
}

body.v2-body .action-btn-purple,
body.v2-body .action-btn-blue {
    color: #dff6ff;
    background: rgba(56, 189, 248, 0.12);
    border-color: rgba(56, 189, 248, 0.28);
}

body.v2-body .admin-stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 10px;
    margin-bottom: 14px;
}

body.v2-body .admin-stat {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px;
    border: 1px solid var(--v2-border);
    border-radius: var(--v2-radius);
    background: rgba(255, 255, 255, 0.03);
}

body.v2-body .admin-stat-icon {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border-radius: 7px;
    background: rgba(56, 189, 248, 0.1);
}

body.v2-body .admin-stat-value {
    color: var(--v2-text);
    font-size: 20px;
    font-weight: 850;
}

body.v2-body .admin-stat-label {
    color: var(--v2-text-muted);
    font-size: 11px;
    font-weight: 850;
    text-transform: uppercase;
}

body.v2-body .admin-tabs {
    display: flex;
    gap: 6px;
    overflow-x: auto;
    padding: 6px;
    margin: 0;
    border-bottom: 1px solid var(--v2-border);
    background: rgba(255, 255, 255, 0.025);
}

body.v2-body .admin-tab {
    min-height: 38px;
    flex: 0 0 auto;
    padding: 0 13px;
    border: 1px solid transparent;
    border-radius: 6px;
    background: transparent;
    color: var(--v2-text-soft);
    font: inherit;
    font-size: 13px;
    font-weight: 820;
    cursor: pointer;
}

body.v2-body .admin-tab:hover {
    color: var(--v2-text);
    background: rgba(255, 255, 255, 0.04);
}

body.v2-body .admin-tab.active {
    color: #e0f7ff;
    border-color: rgba(56, 189, 248, 0.32);
    background: rgba(56, 189, 248, 0.12);
}

body.v2-body .admin-tab .tab-count {
    margin-left: 6px;
    padding: 2px 7px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
    color: var(--v2-text);
    font-size: 11px;
}

body.v2-body .admin-section {
    display: none;
    padding: 16px;
}

body.v2-body .admin-section.active {
    display: block;
}

body.v2-body .toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 14px;
}

body.v2-body .data-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

body.v2-body .data-table th,
body.v2-body .data-table td {
    padding: 11px 12px;
    border-bottom: 1px solid var(--v2-border);
    text-align: left;
    vertical-align: middle;
}

body.v2-body .data-table th {
    color: var(--v2-text-muted);
    font-size: 11px;
    font-weight: 850;
    text-transform: uppercase;
}

body.v2-body .data-table tr:hover td {
    background: rgba(255, 255, 255, 0.025);
}

body.v2-body .badge {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    padding: 0 8px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 820;
}

body.v2-body .badge-admin,
body.v2-body .badge-role {
    background: rgba(245, 158, 11, 0.14);
    color: #fcd28a;
}

body.v2-body .badge-user {
    background: rgba(56, 189, 248, 0.12);
    color: #bae6fd;
}

body.v2-body .modal-overlay {
    position: fixed;
    inset: 0;
    z-index: 1000;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: rgba(5, 7, 10, 0.74);
}

body.v2-body .modal-overlay.open {
    display: flex;
}

body.v2-body .modal-box {
    width: min(520px, 95vw);
    max-height: 90vh;
    overflow: auto;
    padding: 18px;
    border: 1px solid var(--v2-border-strong);
    border-radius: var(--v2-radius);
    background: #181b21;
    box-shadow: var(--v2-shadow);
}

body.v2-body .modal-title {
    margin: 0 0 16px;
    color: var(--v2-text);
    font-size: 17px;
    font-weight: 850;
}

body.v2-body .modal-field {
    display: grid;
    gap: 6px;
    margin-bottom: 12px;
}

body.v2-body .modal-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 16px;
}

body.v2-body .perms-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: 8px;
}

body.v2-body .perm-item {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 10px;
    border: 1px solid var(--v2-border);
    border-radius: var(--v2-radius);
    background: rgba(255, 255, 255, 0.025);
    cursor: pointer;
}

body.v2-body .perm-item.checked {
    border-color: rgba(52, 211, 153, 0.42);
    background: rgba(52, 211, 153, 0.08);
}

body.v2-body .role-cards {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 12px;
}

body.v2-body .role-card {
    padding: 14px;
    border: 1px solid var(--v2-border);
    border-radius: var(--v2-radius);
    background: rgba(255, 255, 255, 0.025);
}

body.v2-body .role-card:hover {
    border-color: var(--v2-border-strong);
    transform: none;
}

body.v2-body .role-card-header,
body.v2-body .role-card-meta,
body.v2-body .role-card-actions {
    display: flex;
    gap: 8px;
    align-items: center;
    flex-wrap: wrap;
}

body.v2-body .role-card-header {
    justify-content: space-between;
    margin-bottom: 10px;
}

body.v2-body .role-card-name {
    color: var(--v2-text);
    font-weight: 850;
}

body.v2-body .role-card-desc,
body.v2-body .role-card-stat,
body.v2-body .role-card-users {
    color: var(--v2-text-muted);
    font-size: 12px;
    line-height: 1.45;
}

body.v2-body .role-card-perms {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin: 10px 0;
}

body.v2-body .role-perm-tag {
    padding: 3px 7px;
    color: #bfdbfe;
    background: rgba(56, 189, 248, 0.1);
    border-radius: 999px;
    font-size: 10px;
    font-weight: 800;
}

/* Niches and styles managers migrated to the v2 shell */
body.v2-body .v2-manager-page {
    max-width: 1680px;
}

body.v2-body .v2-styles-page {
    width: 100%;
    min-width: 0;
    max-width: 1560px;
}

body.v2-body .v2-manager-panel.glass-panel {
    padding: 16px !important;
    background: var(--v2-surface) !important;
    border: 1px solid var(--v2-border) !important;
    border-radius: var(--v2-radius) !important;
    box-shadow: none !important;
}

body.v2-body .v2-styles-page .v2-manager-panel {
    min-width: 0;
    overflow-x: hidden;
}

body.v2-body .v2-manager-workspace {
    align-items: flex-start;
    min-width: 0;
}

body.v2-body .v2-styles-page .v2-manager-workspace {
    display: grid !important;
    grid-template-columns: minmax(240px, 280px) minmax(0, 1fr);
    gap: 16px !important;
    width: 100%;
    overflow-x: hidden;
}

body.v2-body .v2-styles-page .v2-manager-list-pane {
    width: 100%;
    max-width: 280px;
    min-width: 0;
}

body.v2-body .v2-styles-page .v2-manager-editor,
body.v2-body .v2-styles-page #sm-empty-state {
    min-width: 0;
}

body.v2-body #sm-toolbar,
body.v2-body #niche-create-toolbar {
    margin: 0 0 16px !important;
    padding: 12px !important;
    background: rgba(255, 255, 255, 0.025) !important;
    border: 1px solid var(--v2-border) !important;
    border-radius: var(--v2-radius) !important;
    box-shadow: none !important;
}

body.v2-body .v2-styles-page #sm-toolbar {
    display: flex !important;
    flex-direction: column;
    align-items: flex-start !important;
    gap: 10px !important;
    min-width: 0;
}

body.v2-body .v2-styles-page .sm-toolbar-actions {
    display: flex !important;
    align-items: center;
    justify-content: flex-start;
    gap: 10px !important;
    max-width: 100%;
    min-width: 0;
    flex-wrap: wrap;
}

body.v2-body .v2-styles-page .sm-toolbar-actions .btn {
    flex: 0 0 auto;
}

body.v2-body .v2-styles-page #sm-filter-bar {
    min-width: 0;
    width: 100%;
    flex-wrap: wrap;
    justify-content: flex-start !important;
    overflow-x: visible;
    padding-bottom: 0;
}

body.v2-body .v2-manager-list-pane {
    flex: 0 0 320px !important;
    height: calc(100vh - 242px) !important;
    min-height: 520px;
    top: 0 !important;
    background: rgba(255, 255, 255, 0.025) !important;
    border: 1px solid var(--v2-border) !important;
    border-radius: var(--v2-radius) !important;
    box-shadow: none !important;
}

body.v2-body .v2-manager-list-title {
    background: rgba(255, 255, 255, 0.025) !important;
    border-bottom: 1px solid var(--v2-border) !important;
}

body.v2-body .v2-manager-list-title h3,
body.v2-body .v2-manager-editor h3,
body.v2-body .v2-manager-editor h4 {
    color: var(--v2-text) !important;
    text-shadow: none !important;
}

body.v2-body .v2-manager-editor > div,
body.v2-body #niche-aux-panel,
body.v2-body #np-style > div,
body.v2-body #np-voices,
body.v2-body .niche-pnl > div[style*="background"] {
    padding: 14px !important;
    background: rgba(255, 255, 255, 0.025) !important;
    border: 1px solid var(--v2-border) !important;
    border-radius: var(--v2-radius) !important;
    box-shadow: none !important;
}

body.v2-body .v2-manager-page .btn {
    background: var(--v2-surface-2) !important;
    border-color: var(--v2-border) !important;
    color: var(--v2-text) !important;
    box-shadow: none !important;
    text-shadow: none !important;
    transform: none !important;
}

body.v2-body .v2-manager-page .btn:hover {
    background: var(--v2-surface-3) !important;
    border-color: var(--v2-border-strong) !important;
}

body.v2-body #sm-create-btn,
body.v2-body .v2-manager-page .btn[onclick*="Create"],
body.v2-body .v2-manager-page .btn[onclick*="Save"],
body.v2-body .v2-manager-page .btn[onclick="nicheCreate()"],
body.v2-body .v2-manager-page .btn[onclick="nicheSave()"] {
    background: var(--v2-accent) !important;
    border-color: var(--v2-accent) !important;
    color: #071016 !important;
}

body.v2-body .v2-manager-page .btn[onclick*="Delete"],
body.v2-body .v2-manager-page .btn[onclick*="delete"],
body.v2-body .v2-manager-page .btn[onclick*="remove"] {
    background: rgba(248, 113, 113, 0.14) !important;
    border-color: rgba(248, 113, 113, 0.34) !important;
    color: #fecaca !important;
}

body.v2-body .v2-manager-page .btn[onclick*="Generate"],
body.v2-body .v2-manager-page .btn[onclick*="Preview"] {
    background: rgba(245, 158, 11, 0.15) !important;
    border-color: rgba(245, 158, 11, 0.34) !important;
    color: #fcd28a !important;
}

body.v2-body .filter-bar {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}

body.v2-body .filter-chip {
    min-height: 32px;
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
    padding: 0 11px !important;
    border-radius: 6px !important;
    background: transparent !important;
    border: 1px solid var(--v2-border) !important;
    color: var(--v2-text-soft) !important;
    box-shadow: none !important;
    transform: none !important;
    font-size: 12px !important;
    font-weight: 760 !important;
    white-space: nowrap;
}

body.v2-body .filter-chip:hover,
body.v2-body .filter-chip.active {
    color: #e0f7ff !important;
    background: rgba(56, 189, 248, 0.12) !important;
    border-color: rgba(56, 189, 248, 0.32) !important;
}

body.v2-body .sm-tab-bar,
body.v2-body #niche-tabs {
    display: flex;
    gap: 6px !important;
    padding: 6px !important;
    margin: 0 0 14px !important;
    border: 1px solid var(--v2-border) !important;
    border-radius: var(--v2-radius) !important;
    background: rgba(255, 255, 255, 0.025) !important;
    overflow-x: auto;
}

body.v2-body .v2-styles-page .sm-tab-bar {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    overflow: visible;
}

body.v2-body .sm-tab,
body.v2-body .niche-tb {
    min-height: 36px;
    flex: 0 0 auto;
    padding: 0 12px !important;
    border: 1px solid transparent !important;
    border-radius: 6px !important;
    background: transparent !important;
    color: var(--v2-text-soft) !important;
    box-shadow: none !important;
    text-shadow: none !important;
    font-size: 13px !important;
    font-weight: 760 !important;
}

body.v2-body .v2-styles-page .sm-tab {
    display: inline-flex !important;
    min-width: 0;
    align-items: center;
    justify-content: center;
    gap: 5px;
    overflow: hidden;
    white-space: nowrap;
}

body.v2-body .sm-tab:hover,
body.v2-body .sm-tab.active,
body.v2-body .niche-tb:hover,
body.v2-body .niche-tb.active {
    color: #e0f7ff !important;
    border-color: rgba(56, 189, 248, 0.32) !important;
    background: rgba(56, 189, 248, 0.12) !important;
}

body.v2-body .sm-tab .tab-count {
    margin-left: 6px;
    padding: 2px 7px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08) !important;
    color: var(--v2-text) !important;
    font-size: 11px;
}

body.v2-body .sm-style-row {
    min-width: 0;
}

body.v2-body .sm-style-info {
    min-width: 0;
    flex: 1;
}

body.v2-body .sm-style-name,
body.v2-body .sm-style-subtitle {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.v2-body .v2-styles-page .sm-style-row {
    gap: 10px !important;
    padding: 10px !important;
}

body.v2-body .v2-styles-page .sm-style-row > div:first-child {
    width: 48px !important;
    height: 48px !important;
}

body.v2-body .style-preview-container {
    width: 100%;
    aspect-ratio: 16 / 9;
    min-height: 280px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-size: cover;
    background-position: center;
    margin-bottom: 12px;
    background-color: #121419 !important;
    border: 1px solid var(--v2-border) !important;
    border-radius: var(--v2-radius) !important;
    box-shadow: none !important;
    color: var(--v2-text-muted) !important;
}

body.v2-body .readonly-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 4px 10px;
    font-size: 12px;
    font-weight: 800;
    border-radius: 999px !important;
    border: 1px solid rgba(245, 158, 11, 0.34) !important;
    background: rgba(245, 158, 11, 0.15) !important;
    color: #fcd28a !important;
}

body.v2-body .prompt-with-vars {
    display: flex;
    gap: 12px;
    min-width: 0;
}

body.v2-body .prompt-textarea-wrap {
    flex: 1;
    min-width: 0;
}

body.v2-body .prompt-vars-panel {
    width: 240px;
    flex-shrink: 0;
    max-height: 650px;
    overflow-y: auto;
    padding: 12px;
    background: rgba(255, 255, 255, 0.025);
    border: 1px solid var(--v2-border);
    border-radius: var(--v2-radius);
}

body.v2-body .editor-hint {
    margin: 0 0 10px;
    padding: 10px 12px;
    color: var(--v2-text-muted);
    background: rgba(56, 189, 248, 0.07);
    border: 1px solid rgba(56, 189, 248, 0.18);
    border-radius: var(--v2-radius);
    font-size: 13px;
    line-height: 1.45;
}

body.v2-body .prompt-used-vars {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    padding: 8px 10px;
    background: rgba(129, 140, 248, 0.07);
    border: 1px solid rgba(129, 140, 248, 0.18);
    border-radius: var(--v2-radius) var(--v2-radius) 0 0;
    border-bottom: none;
    min-height: 28px;
    align-items: center;
}

body.v2-body .prompt-used-vars:empty {
    display: none;
}

body.v2-body .var-new-category {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px;
    border: 1px dashed rgba(129, 140, 248, 0.34);
    border-radius: var(--v2-radius);
    background: rgba(129, 140, 248, 0.06);
}

body.v2-body .niche-select-picker {
    position: relative;
    width: 100%;
}

body.v2-body .niche-select-trigger {
    min-height: 38px;
    margin: 0 !important;
    width: 100%;
    max-width: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
}

body.v2-body .custom-select-arrow,
body.v2-body .v2-select-chevron {
    width: 8px;
    height: 8px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    font-size: 0;
    transform: rotate(45deg);
}

body.v2-body .niche-select-trigger.active .custom-select-arrow {
    transform: rotate(225deg);
}

body.v2-body .v2-select-menu.open .v2-select-chevron {
    transform: rotate(225deg);
}

body.v2-body .niche-select-options {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    right: 0;
    z-index: 70;
    display: none;
    padding: 6px;
    background: #171a21;
    border: 1px solid var(--v2-border-strong);
    border-radius: var(--v2-radius);
    box-shadow: var(--v2-shadow);
}

body.v2-body .niche-select-options.open {
    display: grid;
    gap: 2px;
}

body.v2-body .niche-select-option {
    min-height: 34px;
    display: flex;
    align-items: center;
    padding: 0 10px;
    border-radius: 6px;
    color: var(--v2-text-soft);
    cursor: pointer;
    font-size: 13px;
    font-weight: 650;
}

body.v2-body .niche-select-option:hover,
body.v2-body .niche-select-option.selected {
    background: rgba(56, 189, 248, 0.16);
    color: #e0f7ff;
}

body.v2-body .var-toast {
    position: fixed;
    right: 30px;
    bottom: 30px;
    z-index: 9999;
    padding: 10px 14px;
    border-radius: var(--v2-radius);
    background: var(--v2-accent);
    color: #071016;
    font-size: 13px;
    font-weight: 800;
    box-shadow: var(--v2-shadow);
    animation: toastIn 0.25s ease, toastOut 0.25s ease 1.5s forwards;
}

@keyframes toastIn {
    from { opacity: 0; transform: translateY(12px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes toastOut {
    from { opacity: 1; transform: translateY(0); }
    to { opacity: 0; transform: translateY(12px); }
}

/* Queue and ready videos */
body.v2-body .v2-queue-page,
body.v2-body .v2-files-page {
    max-width: 1560px;
}

body.v2-body .v2-queue-limits-panel {
    margin-bottom: 14px;
}

body.v2-body .v2-queue-limits {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 10px;
    padding: 14px;
}

body.v2-body .v2-queue-limit-card {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
    padding: 12px;
    border: 1px solid var(--v2-border);
    border-radius: var(--v2-radius);
    background: rgba(255, 255, 255, 0.025);
}

body.v2-body .v2-queue-limit-code,
body.v2-body .v2-file-icon {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    display: grid;
    place-items: center;
    border-radius: 7px;
    background: rgba(56, 189, 248, 0.1);
    color: var(--v2-accent);
    font-size: 10px;
    font-weight: 900;
}

body.v2-body .v2-queue-limit-card.warning .v2-queue-limit-code {
    background: rgba(245, 158, 11, 0.15);
    color: #fcd28a;
}

body.v2-body .v2-queue-limit-card.danger .v2-queue-limit-code {
    background: rgba(248, 113, 113, 0.14);
    color: #fecaca;
}

body.v2-body .v2-queue-limit-main {
    min-width: 0;
}

body.v2-body .v2-queue-limit-name {
    color: var(--v2-text-muted);
    font-size: 11px;
    font-weight: 850;
    text-transform: uppercase;
}

body.v2-body .v2-queue-limit-value {
    margin-top: 2px;
    color: var(--v2-text);
    font-size: 20px;
    font-weight: 850;
}

body.v2-body .v2-queue-limit-meta {
    margin-top: 3px;
    color: var(--v2-text-muted);
    font-size: 11px;
}

body.v2-body .v2-queue-table {
    table-layout: fixed;
}

body.v2-body .v2-queue-col-name {
    width: 38%;
}

body.v2-body .v2-queue-col-category {
    width: 16%;
}

body.v2-body .v2-queue-col-status {
    width: 18%;
}

body.v2-body .v2-queue-col-progress {
    width: 20%;
}

body.v2-body .v2-queue-col-actions {
    width: 120px;
}

body.v2-body .v2-queue-table th,
body.v2-body .v2-queue-table td {
    vertical-align: top;
}

body.v2-body .v2-queue-task-name {
    color: var(--v2-text);
    font-weight: 780;
    overflow-wrap: anywhere;
}

body.v2-body .v2-queue-task-error {
    margin-top: 5px;
    color: #fca5a5;
    display: -webkit-box;
    font-size: 11px;
    font-weight: 650;
    line-height: 1.35;
    overflow: hidden;
    overflow-wrap: anywhere;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

body.v2-body .v2-queue-task-note {
    margin-top: 5px;
    color: var(--v2-text-muted);
    font-size: 11px;
    font-weight: 650;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

body.v2-body .v2-queue-category {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: var(--v2-text-soft);
    font-size: 12px;
    font-weight: 750;
}

body.v2-body .v2-queue-category span {
    padding: 2px 6px;
    border-radius: 5px;
    background: rgba(255, 255, 255, 0.055);
    color: var(--v2-text-muted);
    font-size: 10px;
    font-weight: 900;
}

body.v2-body .v2-status-pill {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 0 9px;
    border-radius: 999px;
    border: 1px solid var(--v2-border);
    color: var(--v2-text-soft);
    background: rgba(255, 255, 255, 0.04);
    font-size: 11px;
    font-weight: 850;
}

body.v2-body .v2-status-pill.running {
    color: #bfdbfe;
    background: rgba(56, 189, 248, 0.1);
    border-color: rgba(56, 189, 248, 0.22);
}

body.v2-body .v2-status-pill.queued {
    color: #fcd28a;
    background: rgba(245, 158, 11, 0.15);
    border-color: rgba(245, 158, 11, 0.3);
}

body.v2-body .v2-status-pill.warning {
    color: #fde68a;
    background: rgba(245, 158, 11, 0.16);
    border-color: rgba(245, 158, 11, 0.34);
}

body.v2-body .v2-status-pill.completed {
    color: #bbf7d0;
    background: rgba(52, 211, 153, 0.08);
    border-color: rgba(52, 211, 153, 0.2);
}

body.v2-body .v2-status-pill.error {
    color: #fecaca;
    background: rgba(248, 113, 113, 0.14);
    border-color: rgba(248, 113, 113, 0.3);
}

body.v2-body .v2-status-pill.cancelled {
    color: #d1d5db;
    background: rgba(148, 163, 184, 0.1);
    border-color: rgba(148, 163, 184, 0.24);
}

body.v2-body .v2-queue-progress {
    display: flex;
    align-items: center;
    gap: 9px;
    min-width: 0;
}

body.v2-body .v2-queue-progress-track {
    flex: 1;
    height: 8px;
    overflow: hidden;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
}

body.v2-body .v2-queue-progress-fill {
    height: 100%;
    border-radius: inherit;
    background: var(--v2-accent);
}

body.v2-body .v2-queue-progress-fill.completed {
    background: #34d399;
}

body.v2-body .v2-queue-progress-fill.error {
    background: #f87171;
}

body.v2-body .v2-queue-progress-fill.warning,
body.v2-body .v2-queue-progress-fill.queued {
    background: #f59e0b;
}

body.v2-body .v2-queue-progress-fill.cancelled {
    background: #94a3b8;
}

body.v2-body .v2-queue-progress span {
    min-width: 36px;
    color: var(--v2-text-muted);
    font-size: 12px;
    text-align: right;
}

body.v2-body .v2-queue-progress-meta {
    margin-top: 5px;
    color: var(--v2-text-muted);
    font-size: 11px;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

body.v2-body .v2-queue-actions-cell {
    text-align: right;
    white-space: nowrap;
}

body.v2-body .v2-queue-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
}

body.v2-body .v2-queue-actions .btn {
    min-width: 92px;
}

body.v2-body .v2-files-panel.glass-panel {
    padding: 16px !important;
    background: var(--v2-surface) !important;
    border: 1px solid var(--v2-border) !important;
    border-radius: var(--v2-radius) !important;
    box-shadow: none !important;
}

body.v2-body .v2-files-stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 10px;
    margin-bottom: 14px;
}

body.v2-body .v2-files-stat {
    padding: 12px;
    border: 1px solid var(--v2-border);
    border-radius: var(--v2-radius);
    background: rgba(255, 255, 255, 0.025);
}

body.v2-body .v2-files-stat > span {
    display: block;
    color: var(--v2-text-muted);
    font-size: 11px;
    font-weight: 850;
    text-transform: uppercase;
}

body.v2-body .v2-files-stat strong {
    display: flex;
    align-items: baseline;
    gap: 6px;
    margin-top: 5px;
    color: var(--v2-text);
    font-size: 20px;
    font-weight: 850;
}

body.v2-body .v2-files-stat strong span {
    display: inline;
    color: inherit;
    font: inherit;
    text-transform: none;
}

body.v2-body .v2-files-filters {
    margin-bottom: 14px;
}

body.v2-body .v2-files-filters .v2-field {
    min-width: 190px;
}

body.v2-body .v2-files-stack {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

body.v2-body .v2-file-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 14px;
    border: 1px solid var(--v2-border);
    border-radius: var(--v2-radius);
    background: rgba(255, 255, 255, 0.025);
}

body.v2-body .v2-file-card:hover {
    border-color: var(--v2-border-strong);
    background: rgba(255, 255, 255, 0.04);
}

body.v2-body .v2-file-main {
    min-width: 0;
}

body.v2-body .v2-file-title-row {
    display: flex;
    align-items: center;
    gap: 9px;
    flex-wrap: wrap;
}

body.v2-body .v2-file-name {
    color: var(--v2-text);
    font-size: 14px;
    font-weight: 800;
    overflow-wrap: anywhere;
}

body.v2-body .v2-file-badge {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    padding: 0 8px;
    border-radius: 999px;
    border: 1px solid var(--v2-border);
    color: var(--v2-text-soft);
    background: rgba(255, 255, 255, 0.04);
    font-size: 10px;
    font-weight: 850;
    text-transform: uppercase;
}

body.v2-body .v2-file-badge.niche {
    color: #bfdbfe;
    background: rgba(56, 189, 248, 0.1);
    border-color: rgba(56, 189, 248, 0.22);
}

body.v2-body .v2-file-meta {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
    margin-top: 7px;
    color: var(--v2-text-muted);
    font-size: 12px;
}

body.v2-body .v2-file-meta strong {
    color: var(--v2-text-soft);
}

body.v2-body .v2-file-actions {
    display: flex;
    gap: 8px;
    flex-shrink: 0;
}

body.v2-body .files-download-btn {
    background: var(--v2-accent-2) !important;
    border-color: var(--v2-accent-2) !important;
    color: #06110d !important;
}

body.v2-body .files-delete-btn {
    color: #fecaca !important;
    background: rgba(248, 113, 113, 0.14) !important;
    border-color: rgba(248, 113, 113, 0.34) !important;
}

/* Timelapse and render workspaces */
body.v2-body .v2-timelapse-page,
body.v2-body .v2-render-page {
    max-width: 1680px;
}

body.v2-body .tl-layout {
    display: grid;
    grid-template-columns: 360px minmax(0, 1fr);
    gap: 14px;
    min-height: calc(100vh - 174px);
}

body.v2-body .tl-sidebar,
body.v2-body .tl-main {
    min-width: 0;
}

body.v2-body .tl-sidebar {
    max-height: calc(100vh - 174px);
    overflow-y: auto;
}

body.v2-body .tl-main {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

body.v2-body .tl-section,
body.v2-body .settings-card,
body.v2-body .v2-render-panel.glass-panel {
    background: var(--v2-surface) !important;
    border: 1px solid var(--v2-border) !important;
    border-radius: var(--v2-radius) !important;
    box-shadow: none !important;
}

body.v2-body .tl-section {
    padding: 14px !important;
    margin: 0 0 12px !important;
}

body.v2-body .tl-main .tl-section {
    margin-bottom: 0 !important;
}

body.v2-body .v2-render-panel.glass-panel {
    padding: 16px !important;
}

body.v2-body .tl-section h3,
body.v2-body .settings-card h3 {
    margin: 0 0 12px !important;
    color: var(--v2-text) !important;
    font-size: 14px !important;
    font-weight: 850 !important;
    text-shadow: none !important;
}

body.v2-body .tl-section p,
body.v2-body .tl-section label,
body.v2-body .settings-card label,
body.v2-body .slider-row label,
body.v2-body .fx-grid label,
body.v2-body .trans-grid label {
    color: var(--v2-text-muted) !important;
    font-size: 12px !important;
}

body.v2-body .tl-input,
body.v2-body .input-path {
    width: 100%;
    min-height: 38px;
    padding: 0 11px;
    border: 1px solid var(--v2-border) !important;
    border-radius: var(--v2-radius) !important;
    background: #121419 !important;
    color: var(--v2-text) !important;
    font: inherit;
    font-size: 13px !important;
    outline: none;
    box-shadow: none !important;
}

body.v2-body textarea.tl-input,
body.v2-body textarea.input-path {
    min-height: 78px;
    padding: 10px 11px;
    resize: vertical;
    line-height: 1.5;
}

body.v2-body .tl-input:focus,
body.v2-body .input-path:focus {
    border-color: rgba(56, 189, 248, 0.64) !important;
    box-shadow: 0 0 0 3px rgba(56, 189, 248, 0.12) !important;
}

body.v2-body .tl-btn,
body.v2-body .ratio-btn {
    min-height: 34px;
    border-radius: var(--v2-radius) !important;
    border: 1px solid var(--v2-border) !important;
    background: var(--v2-surface-2) !important;
    color: var(--v2-text) !important;
    box-shadow: none !important;
    text-shadow: none !important;
    transform: none !important;
    font: inherit;
    font-size: 12px !important;
    font-weight: 800 !important;
    cursor: pointer;
}

body.v2-body .tl-btn {
    width: 100%;
    padding: 0 12px !important;
    margin-top: 8px !important;
}

body.v2-body .tl-btn:hover,
body.v2-body .ratio-btn:hover {
    background: var(--v2-surface-3) !important;
    border-color: var(--v2-border-strong) !important;
}

body.v2-body .tl-btn:disabled {
    opacity: 0.56;
    cursor: not-allowed;
}

body.v2-body .tl-btn-primary,
body.v2-body .tl-btn-purple,
body.v2-body .tl-btn-blue {
    color: #dff6ff !important;
    background: rgba(56, 189, 248, 0.12) !important;
    border-color: rgba(56, 189, 248, 0.28) !important;
}

body.v2-body .tl-btn-success {
    background: var(--v2-accent-2) !important;
    border-color: var(--v2-accent-2) !important;
    color: #06110d !important;
}

body.v2-body .tl-btn-danger {
    color: #fecaca !important;
    background: rgba(248, 113, 113, 0.14) !important;
    border-color: rgba(248, 113, 113, 0.34) !important;
}

body.v2-body .tl-stage-card,
body.v2-body .tl-zone-card,
body.v2-body .tl-video-pair,
body.v2-body .tl-project-item {
    padding: 12px !important;
    border: 1px solid var(--v2-border) !important;
    border-radius: var(--v2-radius) !important;
    background: rgba(255, 255, 255, 0.025) !important;
    box-shadow: none !important;
}

body.v2-body .tl-project-item:hover,
body.v2-body .tl-stage-card:hover {
    border-color: var(--v2-border-strong) !important;
    background: rgba(255, 255, 255, 0.04) !important;
    transform: none !important;
}

body.v2-body .tl-project-item.active {
    border-color: rgba(56, 189, 248, 0.32) !important;
    background: rgba(56, 189, 248, 0.12) !important;
}

body.v2-body .tl-stage-header,
body.v2-body .tl-zone-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

body.v2-body .tl-keyframes,
body.v2-body .tl-stage-images {
    display: flex;
    gap: 10px;
    overflow-x: auto;
}

body.v2-body .tl-stage-images {
    flex-wrap: wrap;
    margin-top: 10px;
}

body.v2-body .tl-keyframe {
    min-width: 120px;
    text-align: center;
}

body.v2-body .tl-keyframe img,
body.v2-body .tl-stage-images img {
    object-fit: cover;
    border: 1px solid var(--v2-border-strong) !important;
    border-radius: var(--v2-radius) !important;
    box-shadow: none !important;
}

body.v2-body .tl-keyframe img {
    width: 120px;
    height: 80px;
}

body.v2-body .tl-stage-images img {
    width: 80px;
    height: 60px;
}

body.v2-body .tl-keyframe img.selected {
    border-color: rgba(245, 158, 11, 0.62) !important;
    box-shadow: 0 0 0 2px rgba(245, 158, 11, 0.2) !important;
}

body.v2-body .tl-prompt-text,
body.v2-body #tl-logs-container,
body.v2-body #render-log-box {
    background: #080a0d !important;
    color: #7fffd4 !important;
    border: 1px solid var(--v2-border) !important;
    border-radius: var(--v2-radius) !important;
    box-shadow: none !important;
    font-family: Consolas, "Liberation Mono", monospace !important;
}

body.v2-body .v2-render-panel > div {
    border-radius: var(--v2-radius) !important;
    border: 1px solid var(--v2-border) !important;
    background: rgba(255, 255, 255, 0.025) !important;
    box-shadow: none !important;
}

body.v2-body #render-status-banner {
    color: #bfdbfe !important;
    background: rgba(56, 189, 248, 0.1) !important;
    border-color: rgba(56, 189, 248, 0.22) !important;
}

body.v2-body .settings-card {
    padding: 14px !important;
}

body.v2-body .v2-render-page .btn {
    min-height: 34px;
    padding: 0 12px !important;
    border: 1px solid var(--v2-border) !important;
    border-radius: var(--v2-radius) !important;
    background: var(--v2-surface-2) !important;
    color: var(--v2-text) !important;
    box-shadow: none !important;
    text-shadow: none !important;
    transform: none !important;
    font: inherit;
    font-size: 12px !important;
    font-weight: 800 !important;
}

body.v2-body .v2-render-page .btn:hover {
    background: var(--v2-surface-3) !important;
    border-color: var(--v2-border-strong) !important;
}

body.v2-body #render-projects-tbody > div,
body.v2-body #render-queue-list > div {
    background: rgba(255, 255, 255, 0.025) !important;
    border: 1px solid var(--v2-border) !important;
    border-radius: var(--v2-radius) !important;
    box-shadow: none !important;
    transform: none !important;
}

body.v2-body #render-projects-tbody > div:hover,
body.v2-body #render-queue-list > div:hover {
    background: rgba(255, 255, 255, 0.04) !important;
    border-color: var(--v2-border-strong) !important;
}

body.v2-body .col-stack {
    display: flex;
    flex-direction: column;
    gap: 12px;
    min-width: 0;
}

body.v2-body .fx-grid,
body.v2-body .trans-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px 10px;
}

body.v2-body .fx-grid label,
body.v2-body .trans-grid label {
    display: flex;
    align-items: center;
    gap: 7px;
    min-width: 0;
    cursor: pointer;
}

body.v2-body input[type="checkbox"] {
    accent-color: var(--v2-accent);
}

body.v2-body input[type="range"] {
    accent-color: var(--v2-accent);
}

body.v2-body .slider-row {
    margin-bottom: 8px;
}

body.v2-body .slider-row label {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 4px;
}

body.v2-body .ratio-btn.active,
body.v2-body .parallax-dir-btn.active {
    color: #fcd28a !important;
    background: rgba(245, 158, 11, 0.15) !important;
    border-color: rgba(245, 158, 11, 0.34) !important;
}

body.v2-body .v2-render-workspace {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

body.v2-body .v2-render-topline {
    padding: 14px 16px;
    border: 1px solid var(--v2-border);
    border-radius: var(--v2-radius);
    background: var(--v2-surface);
}

body.v2-body .v2-render-lang-rail,
body.v2-body .v2-render-inner-tabs,
body.v2-body .v2-render-control-row,
body.v2-body .v2-render-launch {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

body.v2-body .v2-render-lang,
body.v2-body .v2-render-inner-tabs button {
    border: 1px solid var(--v2-border);
    border-radius: var(--v2-radius);
    background: var(--v2-surface);
    color: var(--v2-text);
    cursor: pointer;
    font: inherit;
}

body.v2-body .v2-render-lang {
    display: inline-flex;
    min-height: 38px;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 0 11px;
    text-align: left;
}

body.v2-body .v2-render-lang strong,
body.v2-body .v2-render-lang span {
    display: inline-flex;
    align-items: center;
}

body.v2-body .v2-render-lang strong {
    font-size: 12px;
    font-weight: 950;
}

body.v2-body .v2-render-lang span,
body.v2-body .v2-render-lang em {
    color: var(--v2-text-muted);
    font-size: 11px;
    font-style: normal;
    font-weight: 850;
}

body.v2-body .v2-render-lang::before {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #94a3b8;
    content: "";
}

body.v2-body .v2-render-lang.active,
body.v2-body .v2-render-inner-tabs button.active {
    border-color: rgba(56, 189, 248, 0.42);
    background: rgba(56, 189, 248, 0.12);
}

body.v2-body .v2-render-lang.status-done,
body.v2-body .v2-render-lang.status-completed {
    border-color: rgba(16, 185, 129, 0.34);
}

body.v2-body .v2-render-lang.status-ready::before,
body.v2-body .v2-render-lang.status-done::before,
body.v2-body .v2-render-lang.status-completed::before {
    background: #10b981;
}

body.v2-body .v2-render-lang.status-launch_ready::before {
    background: #38bdf8;
}

body.v2-body .v2-render-lang.status-error {
    border-color: rgba(248, 113, 113, 0.42);
}

body.v2-body .v2-render-lang.status-error::before {
    background: #f87171;
}

body.v2-body .v2-render-lang.status-no_audio {
    opacity: 0.68;
}

body.v2-body .v2-render-lang.status-blocked {
    border-color: rgba(245, 158, 11, 0.26);
    opacity: 0.82;
}

body.v2-body .v2-render-lang.status-blocked::before,
body.v2-body .v2-render-lang.status-cancelled::before,
body.v2-body .v2-render-lang.status-cancel_requested::before,
body.v2-body .v2-render-lang.status-cancelling::before {
    background: #f59e0b;
}

body.v2-body .v2-render-lang.status-running::before,
body.v2-body .v2-render-lang.status-rendering::before,
body.v2-body .v2-render-lang.status-preparing::before,
body.v2-body .v2-render-lang.status-pending::before,
body.v2-body .v2-render-lang.status-uploading_output::before {
    background: #38bdf8;
}

body.v2-body .v2-render-inner-tabs button {
    min-height: 36px;
    padding: 0 13px;
    font-size: 13px;
    font-weight: 850;
}

body.v2-body .v2-render-panel-grid {
    display: grid;
    grid-template-columns: minmax(320px, 0.9fr) minmax(0, 1.4fr);
    gap: 14px;
}

body.v2-body .v2-render-selected {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
    padding: 14px 16px;
    border: 1px solid var(--v2-border);
    border-radius: var(--v2-radius);
    background: var(--v2-surface);
}

body.v2-body .v2-render-selected-main {
    min-width: 0;
}

body.v2-body .v2-render-selected-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

body.v2-body .v2-render-selected h3 {
    margin: 3px 0 0;
    color: var(--v2-text);
    font-size: 17px;
    line-height: 1.2;
    overflow-wrap: anywhere;
}

body.v2-body .v2-render-selected p {
    margin: 9px 0 0;
    color: var(--v2-text-muted);
    font-size: 13px;
    overflow-wrap: anywhere;
}

body.v2-body .v2-render-selected-side,
body.v2-body .v2-render-selected-actions {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

body.v2-body .v2-render-launch-bar {
    display: flex;
    grid-column: 1 / -1;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-top: 0;
    padding: 11px 14px;
    border: 1px solid rgba(56, 189, 248, 0.22);
    border-radius: var(--v2-radius);
    background: rgba(56, 189, 248, 0.06);
}

body.v2-body .v2-render-launch-bar span,
body.v2-body .v2-render-launch-bar strong,
body.v2-body .v2-render-launch-bar small {
    display: block;
}

body.v2-body .v2-render-launch-bar span {
    color: #93c5fd;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

body.v2-body .v2-render-launch-bar strong {
    margin-top: 4px;
    color: var(--v2-text);
    font-size: 14px;
}

body.v2-body .v2-render-launch-bar small {
    margin-top: 4px;
    color: #fde68a;
    font-size: 12px;
}

body.v2-body .v2-render-launch-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    flex-wrap: wrap;
}

body.v2-body .v2-render-launch-actions .v2-button {
    min-height: 38px;
    padding-inline: 14px;
    font-size: 13px;
}

body.v2-body .v2-button.xl {
    min-height: 42px;
    padding-inline: 18px;
    font-size: 14px;
}

body.v2-body .v2-render-digest {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 6px;
}

body.v2-body .v2-render-digest div {
    display: flex;
    min-height: 30px;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 5px 8px;
    border: 1px solid rgba(148, 163, 184, 0.12);
    border-radius: var(--v2-radius);
    background: rgba(255, 255, 255, 0.025);
}

body.v2-body .v2-render-digest span {
    color: var(--v2-text-muted);
    font-size: 11px;
    font-weight: 800;
}

body.v2-body .v2-render-digest strong {
    min-width: 0;
    color: var(--v2-text);
    font-size: 11px;
    overflow: hidden;
    text-align: right;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.v2-body .v2-render-selected-event {
    margin-top: 10px;
    padding: 9px 10px;
    border: 1px solid rgba(148, 163, 184, 0.14);
    border-radius: var(--v2-radius);
    color: var(--v2-text-muted);
    background: rgba(255, 255, 255, 0.025);
    font-size: 12px;
    overflow-wrap: anywhere;
}

body.v2-body .v2-render-selected-event span {
    margin-right: 8px;
    color: #93c5fd;
    font-weight: 850;
}

body.v2-body .v2-render-blockers {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 9px;
}

body.v2-body .v2-render-blockers span {
    padding: 5px 8px;
    border: 1px solid rgba(245, 158, 11, 0.22);
    border-radius: var(--v2-radius);
    color: #fde68a;
    background: rgba(245, 158, 11, 0.08);
    font-size: 11px;
    font-weight: 800;
}

body.v2-body .v2-render-counts,
body.v2-body .v2-render-queue-filters,
body.v2-body .v2-render-queue-toolbar,
body.v2-body .v2-render-head-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

body.v2-body .v2-render-head-actions {
    justify-content: flex-end;
}

body.v2-body .v2-render-counts span {
    padding: 5px 8px;
    border: 1px solid var(--v2-border);
    border-radius: var(--v2-radius);
    color: var(--v2-text-muted);
    background: var(--v2-surface-2);
    font-size: 11px;
    font-weight: 850;
}

body.v2-body .v2-render-queue-filters {
    padding: 14px 16px 0;
}

body.v2-body .v2-render-queue-filters button {
    display: inline-flex;
    min-height: 34px;
    align-items: center;
    gap: 8px;
    padding: 0 12px;
    border: 1px solid var(--v2-border);
    border-radius: var(--v2-radius);
    background: var(--v2-surface-2);
    color: var(--v2-text-muted);
    cursor: pointer;
    font: inherit;
    font-size: 12px;
    font-weight: 850;
}

body.v2-body .v2-render-queue-filters button.active {
    border-color: rgba(56, 189, 248, 0.44);
    background: rgba(56, 189, 248, 0.12);
    color: var(--v2-text);
}

body.v2-body .v2-render-queue-filters button span {
    min-width: 20px;
    padding: 2px 6px;
    border-radius: 999px;
    background: rgba(0, 0, 0, 0.24);
    color: var(--v2-text-muted);
    text-align: center;
}

body.v2-body .v2-render-queue-toolbar {
    justify-content: space-between;
    padding: 14px 16px 0;
}

body.v2-body .v2-render-queue-toolbar span {
    color: var(--v2-text-muted);
    font-size: 12px;
}

body.v2-body .v2-render-launch {
    align-items: stretch;
    padding: 16px;
}

body.v2-body .v2-render-launch-card,
body.v2-body .v2-render-job,
body.v2-body .v2-render-effect-card {
    border: 1px solid var(--v2-border);
    border-radius: var(--v2-radius);
    background: rgba(255, 255, 255, 0.025);
}

body.v2-body .v2-render-launch-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-width: min(100%, 320px);
    flex: 1;
    padding: 12px;
}

body.v2-body .v2-render-launch-card strong,
body.v2-body .v2-render-launch-card span {
    display: block;
}

body.v2-body .v2-render-launch-card span {
    margin-top: 4px;
    color: var(--v2-text-muted);
    font-size: 12px;
}

body.v2-body .v2-render-jobs {
    display: flex;
    flex-direction: column;
    gap: 5px;
    padding: 12px 16px 16px;
}

body.v2-body .v2-render-job {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 150px auto;
    align-items: center;
    gap: 8px;
    min-height: 50px;
    padding: 8px 10px;
    cursor: pointer;
    transition: border-color 0.16s ease, background 0.16s ease;
}

body.v2-body .v2-render-job:hover {
    border-color: rgba(56, 189, 248, 0.26);
    background: rgba(56, 189, 248, 0.04);
}

body.v2-body .v2-render-job.compact {
    grid-template-columns: minmax(0, 1fr) 130px auto;
    min-height: 42px;
    padding: 6px 10px;
}

body.v2-body .v2-render-job.group-done {
    border-color: rgba(16, 185, 129, 0.18);
}

body.v2-body .v2-render-job.group-error {
    border-color: rgba(248, 113, 113, 0.24);
}

body.v2-body .v2-render-job.group-cancelled {
    opacity: 0.86;
}

body.v2-body .v2-render-job-main {
    min-width: 0;
}

body.v2-body .v2-render-job.compact .v2-render-job-main {
    display: grid;
    grid-template-columns: minmax(120px, 1fr) minmax(80px, 220px);
    align-items: center;
    gap: 10px;
}

body.v2-body .v2-render-job-title {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: nowrap;
    color: var(--v2-text);
    font-weight: 850;
    min-width: 0;
}

body.v2-body .v2-render-job-title strong {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.v2-body .v2-render-job-title span {
    flex: 0 0 auto;
    padding: 3px 7px;
    border: 1px solid rgba(148, 163, 184, 0.16);
    border-radius: 999px;
    color: var(--v2-text-muted);
    background: rgba(0, 0, 0, 0.2);
    font-size: 10px;
    font-weight: 900;
}

body.v2-body .v2-render-job-note,
body.v2-body .v2-render-job-error {
    margin-top: 3px;
    color: var(--v2-text-muted);
    font-size: 12px;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

body.v2-body .v2-render-job.compact .v2-render-job-note,
body.v2-body .v2-render-job.compact .v2-render-job-error {
    margin-top: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.v2-body .v2-render-job-error {
    color: #fca5a5;
}

body.v2-body .v2-render-job-meter {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    align-items: center;
    gap: 6px;
}

body.v2-body .v2-render-job-meter span {
    color: var(--v2-text-muted);
    font-size: 11px;
    font-weight: 850;
    text-align: right;
}

body.v2-body .v2-render-job-meter i {
    display: block;
    height: 6px;
    overflow: hidden;
    border-radius: 999px;
    background: #080a0d;
}

body.v2-body .v2-render-job-meter b {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: var(--v2-accent-2);
}

body.v2-body .v2-render-job-side {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
    flex-wrap: nowrap;
    min-width: max-content;
}

body.v2-body .v2-render-job-side .v2-button {
    min-height: 30px;
    padding-inline: 10px;
    font-size: 12px;
}

body.v2-body .v2-render-status {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 0 8px;
    border-radius: var(--v2-radius);
    color: #bfdbfe;
    background: rgba(56, 189, 248, 0.12);
    font-size: 11px;
    font-weight: 850;
    text-align: center;
    white-space: nowrap;
}

body.v2-body .v2-render-status.ready,
body.v2-body .v2-render-status.done,
body.v2-body .v2-render-status.completed {
    color: #bbf7d0;
    background: rgba(16, 185, 129, 0.14);
}

body.v2-body .v2-render-status.launch_ready {
    color: #bae6fd;
    background: rgba(56, 189, 248, 0.14);
}

body.v2-body .v2-render-status.no_audio {
    color: #cbd5e1;
    background: rgba(148, 163, 184, 0.12);
}

body.v2-body .v2-render-status.blocked {
    color: #fde68a;
    background: rgba(245, 158, 11, 0.14);
}

body.v2-body .v2-render-status.pending {
    color: #fde68a;
    background: rgba(245, 158, 11, 0.14);
}

body.v2-body .v2-render-status.error {
    color: #fecaca;
    background: rgba(248, 113, 113, 0.14);
}

body.v2-body .v2-render-status.cancelled,
body.v2-body .v2-render-status.cancel_requested,
body.v2-body .v2-render-status.cancelling {
    color: #fed7aa;
    background: rgba(245, 158, 11, 0.14);
}

body.v2-body .v2-render-progress {
    height: 8px;
    border-radius: 999px;
    overflow: hidden;
    background: #080a0d;
}

body.v2-body .v2-render-progress span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: var(--v2-accent-2);
}

body.v2-body .v2-render-progress-text {
    color: var(--v2-text-muted);
    font-size: 11px;
    text-align: right;
}

body.v2-body .v2-render-stage-track {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 7px;
    margin-top: 12px;
}

body.v2-body .v2-render-stage {
    min-height: 58px;
    padding: 8px;
    border: 1px solid rgba(148, 163, 184, 0.14);
    border-radius: var(--v2-radius);
    background: rgba(255, 255, 255, 0.025);
}

body.v2-body .v2-render-stage strong,
body.v2-body .v2-render-stage span {
    display: block;
}

body.v2-body .v2-render-stage strong {
    color: var(--v2-text);
    font-size: 12px;
    line-height: 1.2;
}

body.v2-body .v2-render-stage span {
    margin-top: 5px;
    color: var(--v2-text-muted);
    font-size: 11px;
    font-weight: 850;
}

body.v2-body .v2-render-stage.done {
    border-color: rgba(16, 185, 129, 0.32);
    background: rgba(16, 185, 129, 0.08);
}

body.v2-body .v2-render-stage.active {
    border-color: rgba(56, 189, 248, 0.38);
    background: rgba(56, 189, 248, 0.1);
}

body.v2-body .v2-render-stage.error {
    border-color: rgba(248, 113, 113, 0.4);
    background: rgba(248, 113, 113, 0.1);
}

body.v2-body .v2-render-job-events {
    margin-top: 10px;
    border-top: 1px solid rgba(148, 163, 184, 0.12);
}

body.v2-body .v2-render-job-events div {
    padding-top: 7px;
    color: var(--v2-text-muted);
    font-size: 12px;
    overflow-wrap: anywhere;
}

body.v2-body .v2-render-job-events span {
    margin-right: 8px;
    color: #93c5fd;
    font-weight: 850;
}

body.v2-body .v2-render-stage-reference {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    padding: 16px;
}

body.v2-body .v2-render-stage-reference div {
    padding: 12px;
    border: 1px solid var(--v2-border);
    border-radius: var(--v2-radius);
    background: rgba(255, 255, 255, 0.025);
}

body.v2-body .v2-render-stage-reference strong,
body.v2-body .v2-render-stage-reference span,
body.v2-body .v2-render-stage-reference small {
    display: block;
}

body.v2-body .v2-render-stage-reference strong {
    color: #93c5fd;
    font-size: 13px;
}

body.v2-body .v2-render-stage-reference span {
    margin-top: 4px;
    color: var(--v2-text);
    font-weight: 850;
}

body.v2-body .v2-render-stage-reference small {
    margin-top: 5px;
    color: var(--v2-text-muted);
    line-height: 1.35;
}

body.v2-body .v2-render-control-row {
    padding: 16px 16px 0;
}

body.v2-body .v2-render-control-row label {
    display: flex;
    min-width: 180px;
    flex-direction: column;
    gap: 5px;
    color: var(--v2-text-muted);
    font-size: 12px;
}

body.v2-body .v2-render-subtitle-toolbar {
    display: grid;
    grid-template-columns: minmax(300px, 360px) minmax(0, 1fr);
    align-items: start;
    gap: 14px;
    padding: 16px 16px 0;
}

body.v2-body .v2-render-burn-control {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 16px 16px 0;
    padding: 12px;
    border: 1px solid var(--v2-border);
    border-radius: var(--v2-radius);
    background: rgba(255, 255, 255, 0.025);
    cursor: pointer;
}

body.v2-body .v2-render-burn-control input {
    width: 18px;
    height: 18px;
    accent-color: var(--v2-accent);
}

body.v2-body .v2-render-burn-control strong,
body.v2-body .v2-render-burn-control small {
    display: block;
}

body.v2-body .v2-render-burn-control strong {
    color: var(--v2-text);
    font-size: 13px;
    font-weight: 900;
}

body.v2-body .v2-render-burn-control small {
    margin-top: 3px;
    color: var(--v2-text-muted);
    font-size: 12px;
}

body.v2-body .v2-render-subtitle-toolbar.muted,
body.v2-body .v2-render-subtitle-grid.muted {
    opacity: 0.52;
}

body.v2-body .v2-render-font-warning {
    margin: 12px 16px 0;
    padding: 10px 12px;
    border: 1px solid rgba(239, 68, 68, 0.34);
    border-radius: var(--v2-radius);
    background: rgba(239, 68, 68, 0.08);
    color: #fecaca;
    font-size: 13px;
    font-weight: 850;
}

body.v2-body .v2-render-font-control,
body.v2-body .v2-render-size-control {
    display: grid;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border: 1px solid var(--v2-border);
    border-radius: var(--v2-radius);
    background: rgba(255, 255, 255, 0.025);
}

body.v2-body .v2-render-font-control {
    align-content: start;
    grid-column: 1 / -1;
    grid-template-columns: minmax(0, 1fr);
}

body.v2-body .v2-render-size-control .v2-input {
    width: 100%;
    min-width: 0;
    height: 42px;
    box-sizing: border-box;
}

body.v2-body .v2-render-size-control {
    align-self: start;
    grid-template-columns: 112px minmax(0, 1fr) 82px;
}

body.v2-body .v2-render-font-control > span,
body.v2-body .v2-render-size-control > span {
    color: var(--v2-text-muted);
    font-size: 12px;
    font-weight: 850;
}

body.v2-body .v2-render-font-picker {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    max-height: 260px;
    gap: 8px;
    overflow-y: auto;
    padding-right: 3px;
}

body.v2-body .v2-render-font-option {
    display: flex;
    min-height: 42px;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 8px 10px;
    border: 1px solid rgba(148, 163, 184, 0.18);
    border-radius: var(--v2-radius);
    background: var(--v2-surface-2);
    color: var(--v2-text);
    cursor: pointer;
    font: inherit;
    text-align: left;
}

body.v2-body .v2-render-font-option:not(:disabled):hover {
    border-color: rgba(56, 189, 248, 0.34);
    background: rgba(56, 189, 248, 0.08);
}

body.v2-body .v2-render-font-option.active {
    border-color: rgba(16, 185, 129, 0.5);
    background: rgba(16, 185, 129, 0.1);
    box-shadow: 0 0 0 2px rgba(16, 185, 129, 0.1);
}

body.v2-body .v2-render-font-option.unsupported {
    border-color: rgba(239, 68, 68, 0.26);
}

body.v2-body .v2-render-font-option:disabled {
    cursor: default;
}

body.v2-body .v2-render-font-meta,
body.v2-body .v2-render-font-meta strong,
body.v2-body .v2-render-font-meta small {
    display: block;
    min-width: 0;
}

body.v2-body .v2-render-font-meta strong {
    color: var(--v2-text);
    font-size: 13px;
    font-weight: 900;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.v2-body .v2-render-font-meta small {
    margin-top: 3px;
    color: var(--v2-text-muted);
    font-size: 11px;
    font-weight: 800;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.v2-body .v2-render-font-option.unsupported .v2-render-font-meta small {
    color: #fecaca;
}

body.v2-body .v2-render-size-control input[type="range"] {
    width: 100%;
}

body.v2-body .v2-render-color-row {
    display: flex;
    align-items: center;
    align-self: start;
    gap: 8px;
    flex-wrap: wrap;
}

body.v2-body .v2-render-color-swatch {
    display: inline-flex;
    min-height: 42px;
    align-items: center;
    gap: 8px;
    padding: 0 10px;
    border: 1px solid var(--v2-border);
    border-radius: var(--v2-radius);
    background: var(--v2-surface-2);
    color: var(--v2-text-muted);
    cursor: pointer;
    font: inherit;
    font-size: 12px;
    font-weight: 850;
}

body.v2-body .v2-render-color-swatch.active {
    border-color: rgba(16, 185, 129, 0.48);
    background: rgba(16, 185, 129, 0.1);
    color: var(--v2-text);
}

body.v2-body .v2-render-color-swatch:disabled,
body.v2-body .v2-render-subtitle-card:disabled {
    cursor: default;
}

body.v2-body .v2-render-color-swatch i {
    display: block;
    width: 18px;
    height: 18px;
    border: 1px solid rgba(255, 255, 255, 0.5);
    border-radius: 50%;
}

body.v2-body .v2-render-transition-tools {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    flex: 0 0 auto;
    flex-wrap: wrap;
}

body.v2-body .v2-render-transition-tools .v2-button {
    min-height: 34px;
    padding-inline: 12px;
}

body.v2-body .v2-render-subtitle-grid,
body.v2-body .v2-render-effect-grid,
body.v2-body .v2-render-format-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 12px;
    padding: 16px;
}

body.v2-body .v2-render-subtitle-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.v2-body .v2-render-transition-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
    gap: 10px;
    padding: 14px 16px 16px;
}

body.v2-body .v2-render-field-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    gap: 12px;
    padding: 16px 16px 0;
}

body.v2-body .v2-render-preset-row {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 10px;
    padding: 16px 16px 0;
}

body.v2-body .v2-render-preset-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 16px 16px 0;
}

body.v2-body .v2-render-preset-toolbar h3 {
    margin: 0;
    color: var(--v2-text);
    font-size: 14px;
    font-weight: 950;
}

body.v2-body .v2-render-preset-toolbar span {
    display: block;
    margin-top: 3px;
    color: var(--v2-text-muted);
    font-size: 12px;
}

body.v2-body .v2-render-preset-card {
    min-width: 0;
    border: 1px solid var(--v2-border);
    border-radius: var(--v2-radius);
    background: var(--v2-surface-2);
    overflow: hidden;
}

body.v2-body .v2-render-preset-card.custom {
    border-color: rgba(16, 185, 129, 0.22);
}

body.v2-body .v2-render-preset-main {
    width: 100%;
    min-height: 108px;
    padding: 11px 12px;
    border: 0;
    background: transparent;
    color: var(--v2-text);
    cursor: pointer;
    font: inherit;
    text-align: left;
}

body.v2-body .v2-render-preset-main:hover {
    border-color: rgba(56, 189, 248, 0.34);
    background: rgba(56, 189, 248, 0.08);
}

body.v2-body .v2-render-preset-main i,
body.v2-body .v2-render-preset-main strong,
body.v2-body .v2-render-preset-main span {
    display: block;
}

body.v2-body .v2-render-preset-main i {
    width: max-content;
    margin-bottom: 8px;
    padding: 3px 7px;
    border-radius: 999px;
    background: rgba(56, 189, 248, 0.12);
    color: #bae6fd;
    font-size: 10px;
    font-style: normal;
    font-weight: 900;
    text-transform: uppercase;
}

body.v2-body .v2-render-preset-card.custom .v2-render-preset-main i {
    background: rgba(16, 185, 129, 0.14);
    color: #bbf7d0;
}

body.v2-body .v2-render-preset-main strong {
    font-size: 13px;
    font-weight: 900;
    overflow-wrap: anywhere;
}

body.v2-body .v2-render-preset-main span {
    margin-top: 5px;
    color: var(--v2-text-muted);
    font-size: 11px;
    line-height: 1.3;
    overflow-wrap: anywhere;
}

body.v2-body .v2-render-preset-actions {
    display: grid;
    grid-template-columns: 1fr 1fr 34px;
    gap: 1px;
    border-top: 1px solid rgba(148, 163, 184, 0.12);
    background: rgba(148, 163, 184, 0.1);
}

body.v2-body .v2-render-preset-actions button {
    min-height: 34px;
    border: 0;
    background: rgba(15, 23, 42, 0.7);
    color: var(--v2-text-muted);
    cursor: pointer;
    font: inherit;
    font-size: 11px;
    font-weight: 850;
}

body.v2-body .v2-render-preset-actions button:hover {
    color: var(--v2-text);
    background: rgba(56, 189, 248, 0.1);
}

body.v2-body .v2-render-preset-actions button.danger {
    color: #fecaca;
}

body.v2-body .v2-render-preset-editor {
    margin: 12px 16px 0;
    padding: 12px;
    border: 1px solid rgba(56, 189, 248, 0.26);
    border-radius: var(--v2-radius);
    background: rgba(56, 189, 248, 0.06);
}

body.v2-body .v2-render-preset-editor-grid {
    display: grid;
    grid-template-columns: minmax(220px, 0.8fr) minmax(260px, 1.2fr);
    gap: 10px;
}

body.v2-body .v2-motion-bulk-panel {
    display: grid;
    gap: 10px;
    margin: 12px 16px 0;
    padding: 10px;
    border: 1px solid rgba(148, 163, 184, 0.14);
    border-radius: var(--v2-radius);
    background: rgba(255, 255, 255, 0.022);
}

body.v2-body .v2-motion-bulk-grid {
    display: grid;
    grid-template-columns: minmax(230px, 0.85fr) minmax(360px, 1.35fr) minmax(230px, 0.8fr);
    gap: 10px;
    align-items: stretch;
}

body.v2-body .v2-motion-bulk-group {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 8px;
    padding: 10px;
    border: 1px solid var(--v2-border);
    border-radius: var(--v2-radius);
    background: rgba(15, 23, 42, 0.34);
}

body.v2-body .v2-motion-bulk-title {
    color: var(--v2-text);
    font-size: 12px;
    font-weight: 950;
}

body.v2-body .v2-motion-bulk-fields {
    display: grid;
    grid-template-columns: minmax(240px, 1.35fr) minmax(138px, 0.55fr) minmax(150px, 0.75fr) minmax(150px, 0.75fr) minmax(100px, 0.45fr) minmax(220px, 0.95fr) max-content;
    gap: 8px;
    align-items: end;
}

body.v2-body .v2-motion-bulk-main .v2-motion-setting-field.effect {
    min-width: 220px;
}

body.v2-body .v2-motion-bulk-main .v2-motion-setting-field.duration {
    grid-column: span 2;
}

body.v2-body .v2-motion-inline-button,
body.v2-body .v2-motion-apply-button {
    align-self: end;
    min-height: 38px;
    white-space: nowrap;
}

body.v2-body .v2-motion-setting-field,
body.v2-body .v2-motion-scene-field {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 6px;
}

body.v2-body .v2-motion-setting-field.compact {
    max-width: 118px;
}

body.v2-body .v2-motion-setting-field > span,
body.v2-body .v2-motion-scene-field > span,
body.v2-body .v2-motion-fixed-duration > span {
    color: var(--v2-text-muted);
    font-size: 11px;
    font-weight: 850;
}

body.v2-body .v2-motion-setting-field .v2-input,
body.v2-body .v2-motion-scene-field .v2-input {
    width: 100%;
    min-width: 0;
}

body.v2-body .v2-motion-setting-field .v2-render-dropdown,
body.v2-body .v2-motion-scene-field .v2-render-dropdown {
    width: 100%;
}

body.v2-body .v2-motion-duration-control {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
    min-width: 0;
}

body.v2-body .v2-motion-duration-control.is-fixed {
    grid-template-columns: minmax(0, 1fr) minmax(86px, 96px);
    align-items: end;
}

body.v2-body .v2-motion-fixed-duration {
    display: none;
    min-width: 0;
    flex-direction: column;
    gap: 6px;
}

body.v2-body .v2-motion-duration-control.is-fixed .v2-motion-fixed-duration {
    display: flex;
}

body.v2-body .v2-motion-bulk-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 10px;
    flex-wrap: wrap;
}

body.v2-body .v2-motion-random-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-right: auto;
    flex-wrap: wrap;
}

body.v2-body .v2-motion-action-label {
    color: var(--v2-text-muted);
    font-size: 11px;
    font-weight: 900;
}

body.v2-body .v2-motion-scene-list {
    display: grid;
    gap: 4px;
    padding: 8px 16px 16px;
}

body.v2-body .v2-motion-scene-list-head {
    display: grid;
    grid-template-columns: 88px minmax(260px, 1fr) minmax(176px, 218px) 220px;
    align-items: end;
    gap: 8px;
    padding: 0 10px 3px;
    color: var(--v2-text-muted);
    font-size: 11px;
    font-weight: 900;
}

body.v2-body .v2-motion-scene-row {
    display: grid;
    grid-template-columns: 88px minmax(260px, 1fr) minmax(176px, 218px) 220px;
    align-items: center;
    gap: 8px;
    padding: 5px 8px;
    border: 1px solid rgba(56, 189, 248, 0.22);
    border-radius: var(--v2-radius);
    background: rgba(56, 189, 248, 0.045);
}

body.v2-body .v2-motion-scene-row.is-blocked {
    border-color: rgba(251, 191, 36, 0.26);
    background: rgba(251, 191, 36, 0.06);
}

body.v2-body .v2-motion-blocked-note {
    color: #fde68a !important;
}

body.v2-body .v2-motion-scene-meta {
    display: grid;
    min-width: 0;
    align-self: center;
    gap: 1px;
}

body.v2-body .v2-motion-scene-meta span {
    color: var(--v2-text-muted);
    font-size: 11px;
    font-weight: 850;
}

body.v2-body .v2-motion-scene-meta strong {
    color: var(--v2-text);
    font-size: 14px;
    font-weight: 950;
    line-height: 1;
}

body.v2-body .v2-motion-scene-meta small {
    overflow: hidden;
    color: var(--v2-text-muted);
    font-size: 11px;
    font-weight: 800;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.v2-body .v2-motion-scene-row .v2-motion-scene-field > span,
body.v2-body .v2-motion-scene-row .v2-motion-fixed-duration > span {
    display: none;
}

body.v2-body .v2-motion-scene-row .v2-render-dropdown summary,
body.v2-body .v2-motion-scene-row .v2-input {
    height: 32px;
    min-height: 32px;
    font-size: 12px;
}

body.v2-body .v2-motion-scene-row .v2-render-dropdown summary {
    padding: 0 10px;
}

body.v2-body .v2-motion-scene-field.duration .v2-motion-duration-control.is-fixed {
    grid-template-columns: minmax(98px, 1fr) 68px;
}

body.v2-body .v2-motion-scene-actions {
    display: flex;
    justify-content: flex-end;
    gap: 6px;
    min-width: 0;
    flex-wrap: nowrap;
}

body.v2-body .v2-motion-scene-actions .v2-button {
    min-height: 32px;
    padding: 0 9px;
    font-size: 12px;
}

body.v2-body .v2-scene-inserts-box {
    display: grid;
    gap: 10px;
}

body.v2-body .v2-scene-inserts-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    min-width: 0;
}

body.v2-body .v2-scene-insert-list {
    display: grid;
    gap: 5px;
}

body.v2-body .v2-scene-insert-row {
    border: 1px solid rgba(148, 163, 184, 0.16);
    border-radius: var(--v2-radius);
    background: rgba(255, 255, 255, 0.025);
}

body.v2-body .v2-scene-insert-row[open] {
    border-color: rgba(56, 189, 248, 0.28);
    background: rgba(56, 189, 248, 0.04);
}

body.v2-body .v2-scene-insert-summary {
    display: grid;
    grid-template-columns: 104px 118px minmax(110px, 160px) minmax(0, 1fr) 48px;
    align-items: center;
    gap: 8px;
    min-height: 34px;
    padding: 6px 8px;
    cursor: pointer;
    list-style: none;
}

body.v2-body .v2-scene-insert-summary::-webkit-details-marker {
    display: none;
}

body.v2-body .v2-scene-insert-summary > span,
body.v2-body .v2-scene-insert-summary > strong,
body.v2-body .v2-scene-insert-summary > em {
    overflow: hidden;
    min-width: 0;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.v2-body .v2-scene-insert-summary > strong {
    color: var(--v2-text);
    font-size: 12px;
    font-weight: 900;
}

body.v2-body .v2-scene-insert-summary > span {
    color: var(--v2-text-muted);
    font-size: 12px;
    font-weight: 800;
}

body.v2-body .v2-scene-insert-summary > em {
    color: var(--v2-text);
    font-size: 13px;
    font-style: normal;
    font-weight: 900;
}

body.v2-body .v2-scene-insert-time {
    color: #bae6fd !important;
}

body.v2-body .v2-scene-insert-summary > b {
    justify-self: end;
    padding: 3px 7px;
    border-radius: 999px;
    background: rgba(34, 197, 94, 0.12);
    color: #86efac;
    font-size: 10px;
    font-weight: 950;
    text-transform: uppercase;
}

body.v2-body .v2-scene-insert-summary > b.off {
    background: rgba(148, 163, 184, 0.12);
    color: var(--v2-text-muted);
}

body.v2-body .v2-scene-insert-editor {
    display: grid;
    gap: 10px;
    padding: 0 8px 8px;
}

body.v2-body .v2-scene-insert-edit-grid {
    display: grid;
    grid-template-columns: minmax(92px, 130px) minmax(92px, 130px) minmax(110px, 160px) minmax(180px, 1fr) minmax(180px, 1fr);
    gap: 8px;
    align-items: end;
}

body.v2-body .v2-scene-insert-edit-grid .v2-field {
    margin: 0;
}

body.v2-body .v2-scene-insert-edit-grid .v2-input {
    min-height: 34px;
    font-size: 12px;
}

body.v2-body .v2-scene-insert-editor-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    min-width: 0;
}

body.v2-body .v2-inline-check {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--v2-text-muted);
    font-size: 12px;
    font-weight: 850;
}

body.v2-body .v2-montage-settings-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(142px, 1fr));
    gap: 8px;
    padding: 8px 16px 0;
}

body.v2-body .v2-montage-type-strip {
    display: flex;
    gap: 6px;
    padding: 8px 16px 0;
    flex-wrap: wrap;
}

body.v2-body .v2-montage-type-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 30px;
    padding: 0 10px;
    border: 1px solid rgba(148, 163, 184, 0.18);
    border-radius: 7px;
    background: rgba(15, 23, 42, 0.46);
    color: var(--v2-text-muted);
    cursor: pointer;
    font-size: 12px;
    font-weight: 900;
    line-height: 1;
    white-space: nowrap;
}

body.v2-body .v2-montage-type-chip.active {
    border-color: rgba(20, 184, 166, 0.62);
    background: rgba(20, 184, 166, 0.12);
    color: var(--v2-text);
}

body.v2-body .v2-montage-type-chip input {
    width: 13px;
    height: 13px;
    margin: 0;
    accent-color: var(--v2-accent);
}

body.v2-body .v2-montage-add-form {
    display: grid;
    gap: 7px;
    margin: 8px 16px 16px;
    padding: 8px;
    border: 1px solid rgba(56, 189, 248, 0.16);
    border-radius: var(--v2-radius);
    background: rgba(56, 189, 248, 0.035);
}

body.v2-body .v2-montage-add-main {
    display: grid;
    grid-template-columns: 76px minmax(230px, 1.3fr) minmax(148px, 0.75fr) 96px 104px minmax(142px, 0.75fr) minmax(136px, 0.7fr) max-content;
    gap: 7px;
    align-items: end;
}

body.v2-body .v2-montage-add-text {
    display: grid;
    grid-template-columns: minmax(170px, 0.55fr) minmax(260px, 1fr) minmax(260px, 1fr);
    gap: 7px;
}

body.v2-body .v2-montage-add-button {
    align-self: end;
    min-height: 33px;
    white-space: nowrap;
}

body.v2-body .v2-montage-settings-grid .v2-motion-setting-field,
body.v2-body .v2-montage-add-form .v2-motion-setting-field,
body.v2-body .v2-montage-insert-row .v2-motion-scene-field {
    min-width: 0;
}

body.v2-body .v2-montage-add-form .v2-motion-setting-field.compact {
    max-width: none;
}

body.v2-body .v2-montage-add-form .v2-input,
body.v2-body .v2-montage-add-form .v2-render-dropdown summary,
body.v2-body .v2-montage-insert-row .v2-input,
body.v2-body .v2-montage-insert-row .v2-render-dropdown summary {
    height: 31px;
    min-height: 31px;
    font-size: 12px;
}

body.v2-body .v2-montage-add-form .v2-input,
body.v2-body .v2-montage-insert-row .v2-input {
    width: 100%;
    min-width: 0;
    padding: 0 10px;
}

body.v2-body .v2-montage-add-form .v2-render-dropdown,
body.v2-body .v2-montage-insert-row .v2-render-dropdown {
    width: 100%;
}

body.v2-body .v2-montage-add-form .v2-render-dropdown summary,
body.v2-body .v2-montage-insert-row .v2-render-dropdown summary {
    padding: 0 10px;
}

body.v2-body .v2-montage-template-button {
    display: flex;
    width: 100%;
    height: 31px;
    min-width: 0;
    min-height: 31px;
    box-sizing: border-box;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 0 10px;
    border: 1px solid var(--v2-border);
    border-radius: var(--v2-radius);
    background: #121419;
    color: var(--v2-text);
    cursor: pointer;
    font: inherit;
    font-size: 12px;
    font-weight: 850;
    text-align: left;
}

body.v2-body .v2-montage-template-button:hover,
body.v2-body .v2-montage-template-button:focus-visible {
    border-color: rgba(56, 189, 248, 0.48);
    box-shadow: 0 0 0 3px rgba(56, 189, 248, 0.1);
    outline: 0;
}

body.v2-body .v2-montage-template-button::after {
    width: 8px;
    height: 8px;
    flex: 0 0 auto;
    border-right: 2px solid var(--v2-text-soft);
    border-bottom: 2px solid var(--v2-text-soft);
    content: "";
    transform: rotate(45deg) translateY(-2px);
}

body.v2-body .v2-montage-template-button span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.v2-body .v2-montage-workspace {
    display: grid;
    gap: 16px;
}

body.v2-body .v2-montage-plan-panel .v2-montage-insert-list {
    padding-top: 8px;
}

body.v2-body .v2-montage-insert-list {
    display: grid;
    gap: 4px;
    padding: 8px 16px 16px;
    max-height: min(64vh, 760px);
    overflow-x: hidden;
    overflow-y: auto;
}

body.v2-body .v2-montage-insert-row {
    display: grid;
    gap: 6px;
    padding: 6px;
    border: 1px solid rgba(148, 163, 184, 0.18);
    border-radius: var(--v2-radius);
    background: rgba(255, 255, 255, 0.025);
}

body.v2-body .v2-montage-insert-row:focus-within {
    border-color: rgba(56, 189, 248, 0.28);
    background: rgba(56, 189, 248, 0.04);
}

body.v2-body .v2-montage-insert-main {
    display: grid;
    gap: 6px;
    min-width: 0;
}

body.v2-body .v2-montage-row-template-fields,
body.v2-body .v2-montage-row-insert-fields {
    display: flex;
    min-width: 0;
    align-items: end;
    gap: 6px;
    flex-wrap: wrap;
}

body.v2-body .v2-montage-row-label {
    flex: 0 0 58px;
    align-self: center;
    color: var(--v2-text);
    font-size: 11px;
    font-weight: 950;
    line-height: 1.1;
    text-transform: uppercase;
}

body.v2-body .v2-montage-row-template-fields .v2-motion-scene-field.scene {
    flex: 0 0 64px;
}

body.v2-body .v2-montage-row-template-fields .v2-motion-scene-field.time {
    flex: 0 0 96px;
}

body.v2-body .v2-montage-row-template-fields .v2-motion-scene-field.template {
    flex: 2 1 230px;
}

body.v2-body .v2-montage-row-template-fields .v2-motion-scene-field.animation,
body.v2-body .v2-montage-row-template-fields .v2-motion-scene-field.placement {
    flex: 1 1 150px;
}

body.v2-body .v2-montage-row-template-fields .v2-motion-scene-field.font {
    flex: 1 1 136px;
}

body.v2-body .v2-montage-row-insert-fields .v2-motion-scene-field.kicker {
    flex: 1 1 210px;
}

body.v2-body .v2-montage-row-insert-fields .v2-motion-scene-field.title {
    flex: 2 1 300px;
}

body.v2-body .v2-montage-row-insert-fields .v2-motion-scene-field.text {
    flex: 1.6 1 260px;
}

body.v2-body .v2-montage-row-insert-fields .v2-motion-scene-field.state {
    flex: 0 0 76px;
}

body.v2-body .v2-montage-switch {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 31px;
    padding: 0 8px;
    border: 1px solid rgba(34, 197, 94, 0.24);
    border-radius: 7px;
    background: rgba(34, 197, 94, 0.09);
    color: #86efac;
    font-size: 10px;
    font-style: normal;
    font-weight: 950;
    text-transform: uppercase;
}

body.v2-body .v2-montage-switch input {
    width: 13px;
    height: 13px;
    margin: 0;
    accent-color: #22c55e;
}

body.v2-body .v2-montage-row-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    flex: 0 0 188px;
    gap: 5px;
    align-self: end;
    min-width: 0;
}

body.v2-body .v2-montage-row-actions .v2-button {
    min-height: 31px;
    padding: 0 8px;
    font-size: 12px;
}

body.v2-body .v2-render-preset-groups {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 8px;
    margin-top: 10px;
}

body.v2-body .v2-render-preset-groups label {
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr);
    gap: 8px;
    padding: 9px;
    border: 1px solid rgba(148, 163, 184, 0.14);
    border-radius: var(--v2-radius);
    background: rgba(255, 255, 255, 0.025);
}

body.v2-body .v2-render-preset-groups strong,
body.v2-body .v2-render-preset-groups small {
    display: block;
}

body.v2-body .v2-render-preset-groups strong {
    color: var(--v2-text);
    font-size: 12px;
}

body.v2-body .v2-render-preset-groups small {
    margin-top: 2px;
    color: var(--v2-text-muted);
    font-size: 11px;
    line-height: 1.25;
}

body.v2-body .v2-render-preset-editor-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 12px;
    flex-wrap: wrap;
}

body.v2-body .v2-render-preset-resnapshot {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-right: auto;
    color: var(--v2-text-muted);
    font-size: 12px;
    font-weight: 800;
}

body.v2-body .v2-render-section-title {
    padding: 18px 16px 0;
    color: var(--v2-text);
    font-size: 13px;
    font-weight: 950;
}

body.v2-body .v2-render-field-card {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 8px;
    padding: 12px;
    border: 1px solid var(--v2-border);
    border-radius: var(--v2-radius);
    background: rgba(255, 255, 255, 0.025);
}

body.v2-body .v2-render-field-card.disabled {
    opacity: 0.58;
}

body.v2-body .v2-render-field-card.disabled input {
    cursor: not-allowed;
}

body.v2-body .v2-render-field-card [data-render-range-row] {
    display: grid;
    grid-template-columns: minmax(120px, 1fr) 42px;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

body.v2-body .v2-render-field-card [data-render-range-row] input {
    min-width: 0;
}

body.v2-body .v2-render-field-card [data-render-range-row] strong {
    text-align: right;
}

body.v2-body .v2-render-music-card {
    display: flex;
    flex-direction: column;
}

body.v2-body .v2-render-music-main {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 8px;
}

body.v2-body .v2-render-field-card .v2-input,
body.v2-body .v2-render-field-card select.v2-input,
body.v2-body .v2-render-field-card textarea.v2-input {
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
    align-self: stretch;
}

body.v2-body .v2-render-field-card select.v2-input {
    appearance: none;
    display: block;
    height: 38px;
    padding: 0 36px 0 12px;
    line-height: 38px;
    background-color: #121419;
    background-image:
        linear-gradient(45deg, transparent 50%, var(--v2-text-soft) 50%),
        linear-gradient(135deg, var(--v2-text-soft) 50%, transparent 50%);
    background-position: calc(100% - 17px) 16px, calc(100% - 12px) 16px;
    background-size: 5px 5px, 5px 5px;
    background-repeat: no-repeat;
}

body.v2-body .v2-render-field-card select.v2-input::-ms-expand {
    display: none;
}

body.v2-body .v2-render-dropdown {
    position: relative;
    min-width: 0;
}

body.v2-body .v2-render-dropdown summary {
    display: flex;
    width: 100%;
    height: 38px;
    min-width: 0;
    box-sizing: border-box;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 0 12px;
    border: 1px solid var(--v2-border);
    border-radius: var(--v2-radius);
    background: #121419;
    color: var(--v2-text);
    cursor: pointer;
    font-size: 13px;
    font-weight: 850;
    list-style: none;
}

body.v2-body .v2-render-dropdown summary::-webkit-details-marker {
    display: none;
}

body.v2-body .v2-render-dropdown summary::after {
    width: 8px;
    height: 8px;
    flex: 0 0 auto;
    border-right: 2px solid var(--v2-text-soft);
    border-bottom: 2px solid var(--v2-text-soft);
    content: "";
    transform: rotate(45deg) translateY(-2px);
}

body.v2-body .v2-render-dropdown[open] summary {
    border-color: rgba(56, 189, 248, 0.48);
    box-shadow: 0 0 0 3px rgba(56, 189, 248, 0.1);
}

body.v2-body .v2-render-dropdown[open] summary::after {
    transform: rotate(225deg) translate(-2px, -1px);
}

body.v2-body .v2-render-dropdown summary span {
    min-width: 0;
    overflow: hidden;
    color: var(--v2-text);
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.v2-body .v2-render-dropdown-menu {
    position: absolute;
    z-index: 40;
    top: calc(100% + 6px);
    right: 0;
    left: 0;
    max-height: 230px;
    padding: 6px;
    border: 1px solid var(--v2-border);
    border-radius: var(--v2-radius);
    background: #101217;
    box-shadow: 0 16px 32px rgba(0, 0, 0, 0.36);
    overflow-y: auto;
}

body.v2-body .v2-render-dropdown-group {
    padding: 8px 9px 4px;
    color: var(--v2-text-soft);
    font-size: 10px;
    font-weight: 950;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

body.v2-body .v2-render-dropdown-menu button {
    display: block;
    width: 100%;
    min-height: 32px;
    padding: 7px 9px;
    border: 0;
    border-radius: calc(var(--v2-radius) - 2px);
    background: transparent;
    color: var(--v2-text-muted);
    cursor: pointer;
    font: inherit;
    font-size: 13px;
    font-weight: 800;
    text-align: left;
}

body.v2-body .v2-render-dropdown-menu button:hover,
body.v2-body .v2-render-dropdown-menu button.active {
    background: rgba(56, 189, 248, 0.1);
    color: var(--v2-text);
}

body.v2-body .v2-render-inline-range {
    display: grid;
    grid-template-columns: minmax(74px, auto) minmax(120px, 1fr) 42px;
    align-items: center;
    gap: 8px;
    min-width: 0;
    margin-top: 4px;
}

body.v2-body .v2-render-inline-range.disabled {
    opacity: 0.58;
}

body.v2-body .v2-render-inline-range input {
    min-width: 0;
}

body.v2-body .v2-render-inline-range strong {
    text-align: right;
}

body.v2-body .v2-render-field-card.wide {
    grid-column: span 2;
}

body.v2-body .v2-render-field-card span {
    color: var(--v2-text-muted);
    font-size: 12px;
    font-weight: 850;
}

body.v2-body .v2-render-field-card strong {
    color: var(--v2-text);
    font-size: 12px;
    text-align: right;
}

body.v2-body .v2-render-segmented {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
}

body.v2-body .v2-render-segmented button {
    min-height: 34px;
    border: 1px solid var(--v2-border);
    border-radius: var(--v2-radius);
    background: var(--v2-surface-2);
    color: var(--v2-text-muted);
    cursor: pointer;
    font: inherit;
    font-size: 14px;
}

body.v2-body .v2-render-segmented button.active {
    border-color: rgba(16, 185, 129, 0.42);
    background: rgba(16, 185, 129, 0.12);
    color: var(--v2-text);
}

body.v2-body .v2-render-cta-list {
    display: flex;
    max-height: 170px;
    flex-direction: column;
    gap: 7px;
    overflow-y: auto;
}

body.v2-body .v2-render-cta-item {
    display: grid;
    grid-template-columns: 20px minmax(0, 1fr) 28px;
    align-items: center;
    gap: 8px;
    padding: 8px 9px;
    border: 1px solid rgba(148, 163, 184, 0.14);
    border-radius: var(--v2-radius);
    background: rgba(255, 255, 255, 0.025);
}

body.v2-body .v2-render-cta-item span {
    min-width: 0;
    color: var(--v2-text);
    overflow-wrap: anywhere;
}

body.v2-body .v2-render-cta-item button {
    width: 28px;
    height: 28px;
    border: 1px solid rgba(248, 113, 113, 0.26);
    border-radius: var(--v2-radius);
    background: rgba(248, 113, 113, 0.1);
    color: #fecaca;
    cursor: pointer;
    font: inherit;
    font-size: 16px;
    line-height: 1;
}

body.v2-body .v2-render-cta-add {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
}

body.v2-body .v2-render-subtitle-card,
body.v2-body .v2-render-transition-card,
body.v2-body .v2-render-format-card {
    min-height: 112px;
    border: 1px solid var(--v2-border);
    border-radius: var(--v2-radius);
    background: #0b0d12;
    color: var(--v2-text);
    cursor: pointer;
    text-align: left;
    overflow: hidden;
}

body.v2-body .v2-render-subtitle-card.active,
body.v2-body .v2-render-transition-card.active,
body.v2-body .v2-render-format-card.active,
body.v2-body .v2-render-effect-card.active {
    border-color: rgba(16, 185, 129, 0.5);
    box-shadow: 0 0 0 2px rgba(16, 185, 129, 0.12);
}

body.v2-body .v2-render-format-grid {
    grid-template-columns: repeat(2, minmax(220px, 1fr));
}

body.v2-body .v2-render-format-card {
    display: grid;
    min-height: 210px;
    place-items: center;
    padding: 16px;
    text-align: center;
}

body.v2-body .v2-render-format-card strong,
body.v2-body .v2-render-format-card small {
    display: block;
}

body.v2-body .v2-render-format-card strong {
    color: var(--v2-text);
    font-size: 18px;
    font-weight: 950;
}

body.v2-body .v2-render-format-card small {
    color: var(--v2-text-muted);
    font-size: 12px;
    font-weight: 850;
}

body.v2-body .v2-render-format-preview {
    display: block;
    border: 1px solid rgba(56, 189, 248, 0.32);
    border-radius: calc(var(--v2-radius) - 2px);
    background:
        linear-gradient(90deg, rgba(56, 189, 248, 0.18), rgba(16, 185, 129, 0.12)),
        #080a0d;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.04);
}

body.v2-body .v2-render-format-preview.wide {
    width: min(100%, 260px);
    aspect-ratio: 16 / 9;
}

body.v2-body .v2-render-format-preview.vertical {
    width: 112px;
    aspect-ratio: 9 / 16;
}

body.v2-body .v2-render-format-current {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 0 16px 16px;
    padding: 12px;
    border: 1px solid var(--v2-border);
    border-radius: var(--v2-radius);
    background: rgba(255, 255, 255, 0.025);
}

body.v2-body .v2-render-format-current span {
    color: var(--v2-text-muted);
}

body.v2-body .v2-render-format-current strong {
    color: var(--v2-text);
}

body.v2-body .v2-render-inline-field {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

body.v2-body .v2-render-inline-field input {
    width: 82px;
}

body.v2-body .v2-render-subtitle-card span,
body.v2-body .v2-render-subtitle-card strong,
body.v2-body .v2-render-subtitle-card small {
    display: block;
}

body.v2-body .v2-render-subtitle-card {
    display: flex;
    min-height: 132px;
    flex-direction: column;
}

body.v2-body .v2-render-subtitle-preview {
    display: grid !important;
    width: 100%;
    min-height: 74px;
    box-sizing: border-box;
    place-items: center;
    padding: 16px 12px;
    border-bottom: 1px solid rgba(148, 163, 184, 0.12);
    background: radial-gradient(circle at 50% 15%, rgba(56, 189, 248, 0.12), transparent 44%), #080a0d;
    line-height: 1.08;
    overflow: hidden;
    overflow-wrap: anywhere;
    text-align: center;
    text-wrap: balance;
    font-weight: 950;
    text-shadow: 0 2px 12px rgba(0, 0, 0, 0.8);
    word-break: break-word;
}

body.v2-body .v2-render-subtitle-card .v2-render-subtitle-line {
    display: inline-flex !important;
    max-width: 100%;
    flex-wrap: nowrap;
    justify-content: center;
    gap: 4px 6px;
    padding: 8px 14px;
    border-radius: 8px;
    background: rgba(0, 0, 0, 0.6);
    line-height: 1.08;
    overflow-wrap: anywhere;
    overflow: hidden;
    text-align: center;
    text-shadow: 2px 2px 0 rgba(0, 0, 0, 0.8);
    transform-origin: center;
}

body.v2-body .v2-render-subtitle-card .v2-render-subtitle-word {
    display: inline-block !important;
    transform-origin: center;
    white-space: nowrap;
}

body.v2-body .v2-render-subtitle-card strong {
    padding: 10px 10px 0;
    color: var(--v2-text);
    font-size: 13px;
    font-weight: 900;
}

body.v2-body .v2-render-subtitle-card small {
    padding: 5px 10px 10px;
    color: var(--v2-text-muted);
    font-size: 11px;
}

body.v2-body .v2-render-subtitle-card.style-typewriter .v2-render-subtitle-line {
    letter-spacing: 0.03em;
}

body.v2-body .v2-render-subtitle-card.anim-mrbeast .v2-render-subtitle-line {
    -webkit-text-stroke: 1px black;
    text-shadow: 3px 3px 0 #000, -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 4px 4px 0 rgba(0, 0, 0, 0.9);
}

body.v2-body .v2-render-subtitle-card:not(:disabled):hover .v2-render-subtitle-word {
    animation: v2SubtitleSpringWord 980ms cubic-bezier(0.16, 1, 0.3, 1) infinite both;
    animation-delay: calc(var(--word-index) * 90ms);
}

body.v2-body .v2-render-subtitle-card.anim-fade:not(:disabled):hover .v2-render-subtitle-word {
    animation-name: v2SubtitleFadeWord;
}

body.v2-body .v2-render-subtitle-card.anim-typewriter:not(:disabled):hover .v2-render-subtitle-word {
    animation: v2SubtitleTypewriterWord 1300ms steps(2, end) infinite both;
    animation-delay: calc(var(--word-index) * 120ms);
}

body.v2-body .v2-render-subtitle-card.anim-mrbeast:not(:disabled):hover .v2-render-subtitle-word {
    animation: v2SubtitleMrbeastWord 860ms cubic-bezier(0.16, 1, 0.3, 1) infinite both;
    animation-delay: calc(var(--word-index) * 85ms);
}

body.v2-body .v2-render-subtitle-card.anim-karaoke:not(:disabled):hover .v2-render-subtitle-word {
    animation: v2SubtitleKaraokeWord 1150ms ease-in-out infinite both;
    animation-delay: calc(var(--word-index) * 95ms);
}

@keyframes v2SubtitleSpringWord {
    0% { transform: scale(0.92); opacity: 0.45; }
    45% { transform: scale(1.12); opacity: 1; }
    72% { transform: scale(0.98); opacity: 1; }
    100% { transform: scale(1); opacity: 0.85; }
}

@keyframes v2SubtitleFadeWord {
    0% { transform: scale(0.95); opacity: 0.3; }
    50% { transform: scale(1); opacity: 1; }
    100% { transform: scale(0.97); opacity: 0.65; }
}

@keyframes v2SubtitleTypewriterWord {
    0% { opacity: 0; transform: translateY(3px); }
    44% { opacity: 0; transform: translateY(3px); }
    52% { opacity: 1; transform: translateY(0); }
    100% { opacity: 0.9; transform: translateY(0); }
}

@keyframes v2SubtitleMrbeastWord {
    0% { transform: scale(0.9) rotate(-1deg); }
    38% { transform: scale(1.18) rotate(2deg); }
    64% { transform: scale(0.98) rotate(-2deg); }
    100% { transform: scale(1.06) rotate(1deg); }
}

@keyframes v2SubtitleKaraokeWord {
    0% { filter: brightness(0.65); opacity: 0.58; transform: scale(1); }
    45% { filter: brightness(1.35); opacity: 1; transform: scale(1.08); }
    100% { filter: brightness(0.85); opacity: 0.72; transform: scale(1); }
}

body.v2-body .v2-transition-preview {
    position: relative;
    display: block;
    height: 70px;
    overflow: hidden;
    isolation: isolate;
    background: #080a0d;
}

body.v2-body .v2-transition-scene,
body.v2-body .v2-transition-mask,
body.v2-body .v2-transition-flash {
    position: absolute;
    inset: 0;
    pointer-events: none;
}

body.v2-body .v2-transition-scene {
    transform: translateZ(0);
    will-change: transform, opacity, clip-path;
}

body.v2-body .v2-transition-scene::before {
    content: "";
    position: absolute;
    inset: 10px;
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 8px;
    background:
        radial-gradient(circle at 72% 32%, rgba(255, 255, 255, 0.5) 0 9px, transparent 10px),
        linear-gradient(135deg, rgba(255, 255, 255, 0.14), transparent 52%);
}

body.v2-body .v2-transition-scene.scene-a {
    z-index: 1;
    clip-path: inset(0 48% 0 0);
    background: linear-gradient(135deg, #2563eb 0%, #155e75 100%);
}

body.v2-body .v2-transition-scene.scene-b {
    z-index: 2;
    clip-path: inset(0 0 0 52%);
    background: linear-gradient(135deg, #9333ea 0%, #22d3ee 100%);
}

body.v2-body .v2-transition-mask {
    z-index: 4;
    background: #020617;
    opacity: 0;
    will-change: opacity, clip-path;
}

body.v2-body .v2-transition-flash {
    z-index: 5;
    opacity: 0;
    will-change: transform, opacity;
}

body.v2-body .v2-transition-preview.fade-black .v2-transition-mask {
    clip-path: inset(0 42% 0 42%);
    opacity: 0.28;
}

body.v2-body .v2-transition-preview.zoom .scene-b {
    clip-path: circle(33% at 50% 50%);
}

body.v2-body .v2-transition-preview.glitch .v2-transition-flash {
    background: repeating-linear-gradient(90deg, rgba(34, 211, 238, 0.82) 0 10px, rgba(147, 51, 234, 0.82) 10px 16px, transparent 16px 22px);
    opacity: 0.26;
}

body.v2-body .v2-transition-preview.leak .v2-transition-flash {
    background: radial-gradient(circle at 76% 22%, rgba(250, 204, 21, 0.95) 0 18%, rgba(249, 115, 22, 0.36) 19% 34%, transparent 35%);
    opacity: 0.82;
}

body.v2-body .v2-transition-preview.iris .scene-b {
    clip-path: circle(32% at 50% 50%);
}

body.v2-body .v2-transition-preview.motion-cross .scene-b {
    clip-path: inset(0);
    mix-blend-mode: screen;
    opacity: 0.55;
}

body.v2-body .v2-transition-preview.motion-black .v2-transition-mask {
    opacity: 0.38;
}

body.v2-body .v2-transition-preview.motion-push-left .scene-a,
body.v2-body .v2-transition-preview.motion-push-up .scene-a,
body.v2-body .v2-transition-preview.motion-morph .scene-a,
body.v2-body .v2-transition-preview.motion-pip .scene-a,
body.v2-body .v2-transition-preview.motion-page .scene-a,
body.v2-body .v2-transition-preview.motion-flip .scene-a {
    clip-path: inset(0);
}

body.v2-body .v2-transition-preview.motion-push-left .scene-b {
    clip-path: inset(0);
    transform: translateX(52%);
}

body.v2-body .v2-transition-preview.motion-push-up .scene-b {
    clip-path: inset(0);
    transform: translateY(45%);
}

body.v2-body .v2-transition-preview.motion-clock .scene-b {
    clip-path: polygon(50% 50%, 50% 0, 100% 0, 100% 58%, 50% 50%);
}

body.v2-body .v2-transition-preview.motion-clock .v2-transition-mask {
    background: conic-gradient(from -90deg at 50% 50%, rgba(255, 255, 255, 0.4) 0 42deg, transparent 43deg 360deg);
    opacity: 0.65;
}

body.v2-body .v2-transition-preview.motion-iris .scene-b {
    clip-path: circle(28% at 50% 50%);
}

body.v2-body .v2-transition-preview.motion-morph .scene-b {
    clip-path: inset(0);
    opacity: 0.72;
    transform: scale(0.82);
}

body.v2-body .v2-transition-preview.motion-slide-wipe .scene-b {
    clip-path: inset(0 54% 0 0);
}

body.v2-body .v2-transition-preview.motion-slide-wipe .v2-transition-mask {
    inset: 0 44% 0 44%;
    background: rgba(255, 255, 255, 0.28);
    opacity: 0.72;
}

body.v2-body .v2-transition-preview.motion-split .scene-b {
    clip-path: polygon(0 0, 32% 0, 32% 100%, 0 100%, 68% 0, 100% 0, 100% 100%, 68% 100%);
}

body.v2-body .v2-transition-preview.motion-compare .scene-b {
    clip-path: inset(0 0 0 48%);
}

body.v2-body .v2-transition-preview.motion-compare .v2-transition-mask {
    inset: 0 auto 0 48%;
    width: 3px;
    background: rgba(255, 255, 255, 0.82);
    opacity: 1;
}

body.v2-body .v2-transition-preview.motion-whip .scene-b {
    clip-path: inset(0);
    transform: translateX(38%);
}

body.v2-body .v2-transition-preview.motion-pip .scene-b {
    clip-path: inset(0);
    transform: scale(0.36);
    transform-origin: 78% 72%;
    box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.48);
}

body.v2-body .v2-transition-preview.motion-panel .scene-b {
    clip-path: inset(0 0 0 62%);
}

body.v2-body .v2-transition-preview.motion-panel .v2-transition-mask,
body.v2-body .v2-transition-preview.motion-blind .v2-transition-mask {
    background: repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.32) 0 10px, transparent 10px 21px);
    opacity: 0.55;
}

body.v2-body .v2-transition-preview.motion-page,
body.v2-body .v2-transition-preview.motion-flip {
    perspective: 360px;
}

body.v2-body .v2-transition-preview.motion-page .scene-b {
    clip-path: inset(0);
    transform: rotateY(-48deg);
    transform-origin: left center;
}

body.v2-body .v2-transition-preview.motion-flip .scene-b {
    clip-path: inset(0);
    transform: rotateY(72deg) scale(0.88);
    transform-origin: center center;
}

body.v2-body .v2-transition-preview.motion-blind .scene-b {
    clip-path: inset(0 0 0 58%);
}

body.v2-body .v2-render-transition-card:is(:hover, :focus-visible) .v2-transition-scene {
    clip-path: inset(0);
}

body.v2-body .v2-render-transition-card:is(:hover, :focus-visible) .v2-transition-preview.fade .scene-a {
    animation: tzPreviewFadeA 1.55s ease-in-out infinite;
}

body.v2-body .v2-render-transition-card:is(:hover, :focus-visible) .v2-transition-preview.fade .scene-b {
    animation: tzPreviewFadeB 1.55s ease-in-out infinite;
}

body.v2-body .v2-render-transition-card:is(:hover, :focus-visible) .v2-transition-preview.fade-black .scene-a {
    animation: tzPreviewFadeBlackA 1.75s ease-in-out infinite;
}

body.v2-body .v2-render-transition-card:is(:hover, :focus-visible) .v2-transition-preview.fade-black .scene-b {
    animation: tzPreviewFadeBlackB 1.75s ease-in-out infinite;
}

body.v2-body .v2-render-transition-card:is(:hover, :focus-visible) .v2-transition-preview.fade-black .v2-transition-mask {
    animation: tzPreviewBlackMask 1.75s ease-in-out infinite;
}

body.v2-body .v2-render-transition-card:is(:hover, :focus-visible) .v2-transition-preview.zoom .scene-a {
    animation: tzPreviewZoomA 1.55s ease-out infinite;
}

body.v2-body .v2-render-transition-card:is(:hover, :focus-visible) .v2-transition-preview.zoom .scene-b {
    clip-path: inset(0);
    animation: tzPreviewZoomB 1.55s cubic-bezier(0.22, 1, 0.36, 1) infinite;
}

body.v2-body .v2-render-transition-card:is(:hover, :focus-visible) .v2-transition-preview.slide-left .scene-b {
    animation: tzPreviewSlideLeft 1.45s cubic-bezier(0.22, 1, 0.36, 1) infinite;
}

body.v2-body .v2-render-transition-card:is(:hover, :focus-visible) .v2-transition-preview.slide-right .scene-b {
    animation: tzPreviewSlideRight 1.45s cubic-bezier(0.22, 1, 0.36, 1) infinite;
}

body.v2-body .v2-render-transition-card:is(:hover, :focus-visible) .v2-transition-preview.slide-up .scene-b {
    animation: tzPreviewSlideUp 1.45s cubic-bezier(0.22, 1, 0.36, 1) infinite;
}

body.v2-body .v2-render-transition-card:is(:hover, :focus-visible) .v2-transition-preview.slide-down .scene-b {
    animation: tzPreviewSlideDown 1.45s cubic-bezier(0.22, 1, 0.36, 1) infinite;
}

body.v2-body .v2-render-transition-card:is(:hover, :focus-visible) .v2-transition-preview.wipe-left .scene-b {
    animation: tzPreviewWipeLeft 1.45s ease-in-out infinite;
}

body.v2-body .v2-render-transition-card:is(:hover, :focus-visible) .v2-transition-preview.wipe-right .scene-b {
    animation: tzPreviewWipeRight 1.45s ease-in-out infinite;
}

body.v2-body .v2-render-transition-card:is(:hover, :focus-visible) .v2-transition-preview.wipe-up .scene-b {
    animation: tzPreviewWipeUp 1.45s ease-in-out infinite;
}

body.v2-body .v2-render-transition-card:is(:hover, :focus-visible) .v2-transition-preview.wipe-down .scene-b {
    animation: tzPreviewWipeDown 1.45s ease-in-out infinite;
}

body.v2-body .v2-render-transition-card:is(:hover, :focus-visible) .v2-transition-preview.glitch .scene-b {
    animation: tzPreviewGlitchB 1.2s steps(1, end) infinite;
}

body.v2-body .v2-render-transition-card:is(:hover, :focus-visible) .v2-transition-preview.glitch .v2-transition-flash {
    animation: tzPreviewGlitchFlash 1.2s steps(1, end) infinite;
}

body.v2-body .v2-render-transition-card:is(:hover, :focus-visible) .v2-transition-preview.whip .scene-a {
    animation: tzPreviewWhipA 1.25s cubic-bezier(0.2, 0.9, 0.25, 1) infinite;
}

body.v2-body .v2-render-transition-card:is(:hover, :focus-visible) .v2-transition-preview.whip .scene-b {
    animation: tzPreviewWhipB 1.25s cubic-bezier(0.2, 0.9, 0.25, 1) infinite;
}

body.v2-body .v2-render-transition-card:is(:hover, :focus-visible) .v2-transition-preview.whip .v2-transition-flash {
    background: linear-gradient(100deg, transparent 0 38%, rgba(255, 255, 255, 0.9) 45% 49%, transparent 56% 100%);
    animation: tzPreviewWhipFlash 1.25s ease-out infinite;
}

body.v2-body .v2-render-transition-card:is(:hover, :focus-visible) .v2-transition-preview.leak .scene-b {
    animation: tzPreviewFadeB 1.55s ease-in-out infinite;
}

body.v2-body .v2-render-transition-card:is(:hover, :focus-visible) .v2-transition-preview.leak .v2-transition-flash {
    animation: tzPreviewLeakFlash 1.55s ease-out infinite;
}

body.v2-body .v2-render-transition-card:is(:hover, :focus-visible) .v2-transition-preview.iris .scene-b {
    animation: tzPreviewIris 1.5s ease-in-out infinite;
}

body.v2-body .v2-render-transition-card:is(:hover, :focus-visible) .v2-transition-preview.motion-cross .scene-a {
    animation: tzPreviewFadeA 1.55s ease-in-out infinite;
}

body.v2-body .v2-render-transition-card:is(:hover, :focus-visible) .v2-transition-preview.motion-cross .scene-b {
    animation: tzPreviewFadeB 1.55s ease-in-out infinite;
}

body.v2-body .v2-render-transition-card:is(:hover, :focus-visible) .v2-transition-preview.motion-black .scene-a {
    animation: tzPreviewFadeBlackA 1.75s ease-in-out infinite;
}

body.v2-body .v2-render-transition-card:is(:hover, :focus-visible) .v2-transition-preview.motion-black .scene-b {
    animation: tzPreviewFadeBlackB 1.75s ease-in-out infinite;
}

body.v2-body .v2-render-transition-card:is(:hover, :focus-visible) .v2-transition-preview.motion-black .v2-transition-mask {
    animation: tzPreviewBlackMask 1.75s ease-in-out infinite;
}

body.v2-body .v2-render-transition-card:is(:hover, :focus-visible) .v2-transition-preview.motion-push-left .scene-a {
    animation: tzPreviewMotionPushLeftA 1.45s cubic-bezier(0.22, 1, 0.36, 1) infinite;
}

body.v2-body .v2-render-transition-card:is(:hover, :focus-visible) .v2-transition-preview.motion-push-left .scene-b {
    animation: tzPreviewMotionPushLeftB 1.45s cubic-bezier(0.22, 1, 0.36, 1) infinite;
}

body.v2-body .v2-render-transition-card:is(:hover, :focus-visible) .v2-transition-preview.motion-push-up .scene-a {
    animation: tzPreviewMotionPushUpA 1.45s cubic-bezier(0.22, 1, 0.36, 1) infinite;
}

body.v2-body .v2-render-transition-card:is(:hover, :focus-visible) .v2-transition-preview.motion-push-up .scene-b {
    animation: tzPreviewMotionPushUpB 1.45s cubic-bezier(0.22, 1, 0.36, 1) infinite;
}

body.v2-body .v2-render-transition-card:is(:hover, :focus-visible) .v2-transition-preview.motion-clock .scene-b {
    animation: tzPreviewMotionClockB 1.6s ease-in-out infinite;
}

body.v2-body .v2-render-transition-card:is(:hover, :focus-visible) .v2-transition-preview.motion-clock .v2-transition-mask {
    animation: tzPreviewMotionClockMask 1.6s linear infinite;
}

body.v2-body .v2-render-transition-card:is(:hover, :focus-visible) .v2-transition-preview.motion-iris .scene-b {
    animation: tzPreviewIris 1.5s ease-in-out infinite;
}

body.v2-body .v2-render-transition-card:is(:hover, :focus-visible) .v2-transition-preview.motion-morph .scene-a {
    animation: tzPreviewMotionMorphA 1.55s ease-in-out infinite;
}

body.v2-body .v2-render-transition-card:is(:hover, :focus-visible) .v2-transition-preview.motion-morph .scene-b {
    animation: tzPreviewMotionMorphB 1.55s ease-in-out infinite;
}

body.v2-body .v2-render-transition-card:is(:hover, :focus-visible) .v2-transition-preview.motion-slide-wipe .scene-b {
    animation: tzPreviewWipeRight 1.45s ease-in-out infinite;
}

body.v2-body .v2-render-transition-card:is(:hover, :focus-visible) .v2-transition-preview.motion-slide-wipe .v2-transition-mask {
    animation: tzPreviewMotionSlidePanel 1.45s ease-in-out infinite;
}

body.v2-body .v2-render-transition-card:is(:hover, :focus-visible) .v2-transition-preview.motion-split .scene-b {
    animation: tzPreviewMotionSplit 1.45s ease-in-out infinite;
}

body.v2-body .v2-render-transition-card:is(:hover, :focus-visible) .v2-transition-preview.motion-compare .scene-b {
    animation: tzPreviewMotionCompareB 1.55s ease-in-out infinite;
}

body.v2-body .v2-render-transition-card:is(:hover, :focus-visible) .v2-transition-preview.motion-compare .v2-transition-mask {
    animation: tzPreviewMotionCompareLine 1.55s ease-in-out infinite;
}

body.v2-body .v2-render-transition-card:is(:hover, :focus-visible) .v2-transition-preview.motion-whip .scene-a {
    animation: tzPreviewWhipA 1.25s cubic-bezier(0.2, 0.9, 0.25, 1) infinite;
}

body.v2-body .v2-render-transition-card:is(:hover, :focus-visible) .v2-transition-preview.motion-whip .scene-b {
    animation: tzPreviewWhipB 1.25s cubic-bezier(0.2, 0.9, 0.25, 1) infinite;
}

body.v2-body .v2-render-transition-card:is(:hover, :focus-visible) .v2-transition-preview.motion-whip .v2-transition-flash {
    background: linear-gradient(100deg, transparent 0 38%, rgba(255, 255, 255, 0.9) 45% 49%, transparent 56% 100%);
    animation: tzPreviewWhipFlash 1.25s ease-out infinite;
}

body.v2-body .v2-render-transition-card:is(:hover, :focus-visible) .v2-transition-preview.motion-pip .scene-b {
    animation: tzPreviewMotionPip 1.55s cubic-bezier(0.22, 1, 0.36, 1) infinite;
}

body.v2-body .v2-render-transition-card:is(:hover, :focus-visible) .v2-transition-preview.motion-panel .scene-b {
    animation: tzPreviewMotionPanel 1.45s ease-in-out infinite;
}

body.v2-body .v2-render-transition-card:is(:hover, :focus-visible) .v2-transition-preview.motion-panel .v2-transition-mask {
    animation: tzPreviewMotionPanelMask 1.45s ease-in-out infinite;
}

body.v2-body .v2-render-transition-card:is(:hover, :focus-visible) .v2-transition-preview.motion-page .scene-b {
    animation: tzPreviewMotionPage 1.55s cubic-bezier(0.22, 1, 0.36, 1) infinite;
}

body.v2-body .v2-render-transition-card:is(:hover, :focus-visible) .v2-transition-preview.motion-flip .scene-b {
    animation: tzPreviewMotionFlip 1.55s cubic-bezier(0.22, 1, 0.36, 1) infinite;
}

body.v2-body .v2-render-transition-card:is(:hover, :focus-visible) .v2-transition-preview.motion-blind .scene-b {
    animation: tzPreviewMotionBlind 1.45s ease-in-out infinite;
}

body.v2-body .v2-render-transition-card:is(:hover, :focus-visible) .v2-transition-preview.motion-blind .v2-transition-mask {
    animation: tzPreviewMotionBlindMask 1.45s ease-in-out infinite;
}

@keyframes tzPreviewFadeA {
    0%, 28% { opacity: 1; }
    74%, 100% { opacity: 0; }
}

@keyframes tzPreviewFadeB {
    0%, 28% { opacity: 0; }
    74%, 100% { opacity: 1; }
}

@keyframes tzPreviewFadeBlackA {
    0%, 34% { opacity: 1; }
    58%, 100% { opacity: 0; }
}

@keyframes tzPreviewFadeBlackB {
    0%, 48% { opacity: 0; }
    76%, 100% { opacity: 1; }
}

@keyframes tzPreviewBlackMask {
    0%, 24%, 100% { clip-path: inset(0 42% 0 42%); opacity: 0; }
    45%, 60% { clip-path: inset(0); opacity: 1; }
}

@keyframes tzPreviewZoomA {
    0%, 22% { opacity: 1; transform: scale(1); }
    80%, 100% { opacity: 0.18; transform: scale(0.72); }
}

@keyframes tzPreviewZoomB {
    0%, 18% { opacity: 0; transform: scale(2.2); }
    76%, 100% { opacity: 1; transform: scale(1); }
}

@keyframes tzPreviewSlideLeft {
    0%, 18% { transform: translateX(-100%); }
    74%, 100% { transform: translateX(0); }
}

@keyframes tzPreviewSlideRight {
    0%, 18% { transform: translateX(100%); }
    74%, 100% { transform: translateX(0); }
}

@keyframes tzPreviewSlideUp {
    0%, 18% { transform: translateY(100%); }
    74%, 100% { transform: translateY(0); }
}

@keyframes tzPreviewSlideDown {
    0%, 18% { transform: translateY(-100%); }
    74%, 100% { transform: translateY(0); }
}

@keyframes tzPreviewWipeLeft {
    0%, 18% { clip-path: inset(0 0 0 100%); }
    74%, 100% { clip-path: inset(0); }
}

@keyframes tzPreviewWipeRight {
    0%, 18% { clip-path: inset(0 100% 0 0); }
    74%, 100% { clip-path: inset(0); }
}

@keyframes tzPreviewWipeUp {
    0%, 18% { clip-path: inset(100% 0 0 0); }
    74%, 100% { clip-path: inset(0); }
}

@keyframes tzPreviewWipeDown {
    0%, 18% { clip-path: inset(0 0 100% 0); }
    74%, 100% { clip-path: inset(0); }
}

@keyframes tzPreviewGlitchB {
    0%, 22% { opacity: 0; transform: translateX(-8px); }
    28% { opacity: 0.9; transform: translateX(8px); }
    34% { opacity: 0.18; transform: translateX(-5px); }
    42% { opacity: 1; transform: translateX(0); }
    100% { opacity: 1; transform: translateX(0); }
}

@keyframes tzPreviewGlitchFlash {
    0%, 24%, 44%, 100% { opacity: 0; transform: translateX(0); }
    28% { opacity: 0.48; transform: translateX(-12px); }
    36% { opacity: 0.36; transform: translateX(10px); }
}

@keyframes tzPreviewWhipA {
    0%, 18% { transform: translateX(0); }
    70%, 100% { transform: translateX(-22%); }
}

@keyframes tzPreviewWhipB {
    0%, 18% { transform: translateX(120%); }
    70%, 100% { transform: translateX(0); }
}

@keyframes tzPreviewWhipFlash {
    0%, 14%, 100% { opacity: 0; transform: translateX(-80%); }
    36% { opacity: 0.9; transform: translateX(30%); }
    58% { opacity: 0; transform: translateX(90%); }
}

@keyframes tzPreviewLeakFlash {
    0%, 18%, 100% { opacity: 0; transform: scale(0.82); }
    38% { opacity: 0.95; transform: scale(1.14); }
    64% { opacity: 0; transform: scale(1.38); }
}

@keyframes tzPreviewIris {
    0%, 18% { clip-path: circle(0% at 50% 50%); }
    74%, 100% { clip-path: circle(75% at 50% 50%); }
}

@keyframes tzPreviewMotionPushLeftA {
    0%, 18% { transform: translateX(0); }
    74%, 100% { transform: translateX(-100%); }
}

@keyframes tzPreviewMotionPushLeftB {
    0%, 18% { transform: translateX(100%); }
    74%, 100% { transform: translateX(0); }
}

@keyframes tzPreviewMotionPushUpA {
    0%, 18% { transform: translateY(0); }
    74%, 100% { transform: translateY(-100%); }
}

@keyframes tzPreviewMotionPushUpB {
    0%, 18% { transform: translateY(100%); }
    74%, 100% { transform: translateY(0); }
}

@keyframes tzPreviewMotionClockB {
    0%, 18% { clip-path: polygon(50% 50%, 50% 0, 50% 0, 50% 0, 50% 50%); opacity: 0.4; }
    44% { clip-path: polygon(50% 50%, 50% 0, 100% 0, 100% 100%, 50% 50%); opacity: 0.86; }
    74%, 100% { clip-path: polygon(50% 50%, 50% 0, 100% 0, 100% 100%, 0 100%, 0 0, 50% 0); opacity: 1; }
}

@keyframes tzPreviewMotionClockMask {
    0%, 18% { opacity: 0.9; transform: rotate(0deg); }
    74%, 100% { opacity: 0; transform: rotate(360deg); }
}

@keyframes tzPreviewMotionMorphA {
    0%, 18% { opacity: 1; transform: scale(1); }
    74%, 100% { opacity: 0.16; transform: scale(0.84); }
}

@keyframes tzPreviewMotionMorphB {
    0%, 18% { opacity: 0; transform: scale(1.28); }
    74%, 100% { opacity: 1; transform: scale(1); }
}

@keyframes tzPreviewMotionSlidePanel {
    0%, 18% { transform: translateX(-120%); opacity: 0.1; }
    48% { opacity: 0.82; }
    74%, 100% { transform: translateX(130%); opacity: 0; }
}

@keyframes tzPreviewMotionSplit {
    0%, 18% { clip-path: polygon(47% 0, 53% 0, 53% 100%, 47% 100%); }
    74%, 100% { clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%); }
}

@keyframes tzPreviewMotionCompareB {
    0%, 18% { clip-path: inset(0 0 0 100%); }
    74%, 100% { clip-path: inset(0); }
}

@keyframes tzPreviewMotionCompareLine {
    0%, 18% { left: 100%; opacity: 1; }
    74%, 100% { left: 0%; opacity: 0.2; }
}

@keyframes tzPreviewMotionPip {
    0%, 18% { transform: scale(0.36); }
    74%, 100% { transform: scale(1); }
}

@keyframes tzPreviewMotionPanel {
    0%, 18% { clip-path: inset(0 0 0 100%); }
    42% { clip-path: inset(0 0 0 48%); }
    74%, 100% { clip-path: inset(0); }
}

@keyframes tzPreviewMotionPanelMask {
    0%, 18% { opacity: 0.2; transform: translateX(-24%); }
    48% { opacity: 0.8; }
    74%, 100% { opacity: 0; transform: translateX(24%); }
}

@keyframes tzPreviewMotionPage {
    0%, 18% { transform: rotateY(-82deg); opacity: 0.55; }
    74%, 100% { transform: rotateY(0deg); opacity: 1; }
}

@keyframes tzPreviewMotionFlip {
    0%, 18% { transform: rotateY(88deg) scale(0.86); opacity: 0.42; }
    74%, 100% { transform: rotateY(0deg) scale(1); opacity: 1; }
}

@keyframes tzPreviewMotionBlind {
    0%, 18% { clip-path: inset(0 100% 0 0); }
    74%, 100% { clip-path: inset(0); }
}

@keyframes tzPreviewMotionBlindMask {
    0%, 18% { opacity: 0.9; transform: translateX(-32%); }
    74%, 100% { opacity: 0; transform: translateX(28%); }
}

@media (prefers-reduced-motion: reduce) {
    body.v2-body .v2-render-transition-card .v2-transition-scene,
    body.v2-body .v2-render-transition-card .v2-transition-mask,
    body.v2-body .v2-render-transition-card .v2-transition-flash {
        animation: none !important;
    }
}

body.v2-body .v2-render-transition-card strong,
body.v2-body .v2-render-transition-card small {
    display: block;
    padding: 0 10px;
}

body.v2-body .v2-render-transition-card strong {
    margin-top: 9px;
}

body.v2-body .v2-render-transition-card small {
    margin-top: 3px;
    color: var(--v2-text-muted);
}

body.v2-body .v2-render-effect-card {
    display: flex;
    gap: 10px;
    padding: 12px;
    cursor: pointer;
}

body.v2-body .v2-render-effect-card-sfx {
    flex-direction: column;
    cursor: default;
}

body.v2-body .v2-render-effect-main {
    display: flex;
    gap: 10px;
    cursor: pointer;
}

body.v2-body .v2-render-effect-card span,
body.v2-body .v2-render-effect-card small {
    display: block;
}

body.v2-body .v2-render-effect-card small {
    margin-top: 4px;
    color: var(--v2-text-muted);
}

body.v2-body .v2-render-compact-volume {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 42px;
    align-items: center;
    gap: 8px;
    margin-top: 4px;
}

body.v2-body .v2-render-compact-volume.disabled {
    opacity: 0.48;
}

body.v2-body .v2-render-compact-volume span {
    grid-column: 1 / -1;
    color: var(--v2-text-muted);
    font-size: 11px;
    font-weight: 850;
}

body.v2-body .v2-render-compact-volume input {
    min-width: 0;
}

body.v2-body .v2-render-compact-volume strong {
    color: var(--v2-text);
    font-size: 12px;
    text-align: right;
}

body.v2-body .v2-render-sfx-volume {
    padding-left: 26px;
}

body.v2-body .v2-render-log {
    display: flex;
    max-height: 460px;
    flex-direction: column;
    overflow-y: auto;
    padding: 16px;
}

body.v2-body .v2-render-log-item {
    display: grid;
    grid-template-columns: 92px minmax(0, 1fr);
    gap: 10px;
    padding: 9px 0;
    border-bottom: 1px solid rgba(148, 163, 184, 0.12);
}

body.v2-body .v2-render-log-item > span {
    color: var(--v2-text-muted);
    font-size: 12px;
}

body.v2-body .v2-render-log-item div {
    overflow-wrap: anywhere;
}

@media (max-width: 1180px) {
    .v2-grid.four {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .v2-grid.two,
    .v2-grid.two.compact,
    .v2-split,
    .v2-editor-grid,
    .v2-seo-launch-grid,
    .v2-mode-grid,
    .v2-audio-track,
    .v2-generation-run-grid,
    .v2-outline-workspace,
    .v2-topic-editor-main-fields,
    .v2-topic-launch-settings,
    .v2-topic-workbench,
    .v2-account-grid,
    body.v2-body .api-key-form,
    body.v2-body .api-key-help {
        grid-template-columns: 1fr;
    }

    body.v2-body .v2-manager-workspace,
    body.v2-body .prompt-with-vars {
        flex-direction: column;
    }

    body.v2-body .v2-manager-list-pane,
    body.v2-body .prompt-vars-panel {
        width: 100%;
        flex: 0 0 auto !important;
    }

    body.v2-body .v2-manager-list-pane {
        height: auto !important;
        min-height: 260px;
        position: relative !important;
    }

    body.v2-body .v2-file-card,
    body.v2-body .v2-queue-actions {
        align-items: stretch;
        flex-direction: column;
    }

    body.v2-body .tl-layout {
        grid-template-columns: 1fr;
        min-height: 0;
    }

    body.v2-body .tl-sidebar {
        max-height: none;
    }

    body.v2-body .v2-render-panel > div[style*="grid-template-columns:1fr 1.4fr 1fr"] {
        grid-template-columns: 1fr !important;
    }

    body.v2-body .v2-render-panel-grid,
    body.v2-body .v2-render-job,
    body.v2-body .v2-render-selected {
        grid-template-columns: 1fr;
    }

    body.v2-body .v2-render-job.compact,
    body.v2-body .v2-render-job.compact .v2-render-job-main {
        grid-template-columns: 1fr;
    }

    body.v2-body .v2-render-job-side {
        justify-content: flex-start;
        flex-wrap: wrap;
        min-width: 0;
    }

    body.v2-body .v2-render-stage-track,
    body.v2-body .v2-render-stage-reference,
    body.v2-body .v2-render-format-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.v2-body .v2-render-subtitle-toolbar {
        grid-template-columns: 1fr;
    }

    body.v2-body .v2-render-subtitle-grid {
        grid-template-columns: 1fr;
    }

    body.v2-body .v2-render-launch-bar {
        align-items: stretch;
        flex-direction: column;
    }

    body.v2-body .v2-render-launch-actions {
        justify-content: flex-start;
    }

    body.v2-body .v2-montage-settings-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    body.v2-body .v2-montage-add-main {
        grid-template-columns: 76px minmax(150px, 1fr) minmax(210px, 1.3fr) minmax(150px, 1fr);
    }

    body.v2-body .v2-montage-add-text {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.v2-body .api-key-add {
        grid-column: auto;
        justify-self: stretch;
    }

    .v2-outline-list-pane,
    .v2-topic-list-pane {
        border-right: 0;
        border-bottom: 1px solid var(--v2-border);
    }
}

@media (max-width: 640px) {
    body.v2-body .v2-render-lang {
        min-width: 0;
        flex: 1 1 auto;
    }

    body.v2-body .v2-render-stage-track,
    body.v2-body .v2-render-stage-reference,
    body.v2-body .v2-render-format-grid {
        grid-template-columns: 1fr;
    }

    body.v2-body .v2-render-format-current {
        align-items: flex-start;
        flex-direction: column;
    }

    body.v2-body .v2-render-size-control {
        grid-template-columns: 1fr;
    }

    body.v2-body .v2-render-font-control {
        grid-row: auto;
        grid-template-columns: 1fr;
    }

    body.v2-body .v2-render-color-row {
        grid-column: auto;
    }

    body.v2-body .v2-render-font-option {
        grid-template-columns: 1fr;
    }

    body.v2-body .v2-render-font-sample {
        text-align: left;
    }

    body.v2-body .v2-render-field-card.wide {
        grid-column: auto;
    }

    body.v2-body .v2-render-music-card {
        grid-template-columns: 1fr;
    }

    body.v2-body .v2-render-preset-toolbar,
    body.v2-body .v2-render-preset-editor-actions {
        align-items: stretch;
        flex-direction: column;
    }

    body.v2-body .v2-render-preset-editor-grid {
        grid-template-columns: 1fr;
    }

    body.v2-body .v2-motion-bulk-grid,
    body.v2-body .v2-motion-bulk-fields,
    body.v2-body .v2-motion-scene-list-head,
    body.v2-body .v2-motion-scene-row,
    body.v2-body .v2-scene-insert-summary,
    body.v2-body .v2-scene-insert-edit-grid,
    body.v2-body .v2-montage-settings-grid,
    body.v2-body .v2-montage-add-main,
    body.v2-body .v2-montage-add-text,
    body.v2-body .v2-montage-insert-main,
    body.v2-body .v2-montage-row-template-fields,
    body.v2-body .v2-montage-row-insert-fields {
        grid-template-columns: 1fr;
    }

    body.v2-body .v2-motion-scene-list-head {
        display: none;
    }

    body.v2-body .v2-montage-row-label,
    body.v2-body .v2-montage-row-template-fields .v2-motion-scene-field,
    body.v2-body .v2-montage-row-insert-fields .v2-motion-scene-field,
    body.v2-body .v2-montage-row-actions {
        flex-basis: 100%;
    }

    body.v2-body .v2-montage-row-actions {
        grid-template-columns: 1fr;
    }

    body.v2-body .v2-scene-inserts-head {
        align-items: stretch;
        flex-direction: column;
    }

    body.v2-body .v2-scene-insert-summary > b {
        justify-self: start;
    }

    body.v2-body .v2-scene-insert-editor-actions {
        align-items: stretch;
        flex-direction: column;
    }

    body.v2-body .v2-motion-bulk-actions,
    body.v2-body .v2-motion-random-actions,
    body.v2-body .v2-motion-scene-actions {
        align-items: stretch;
        flex-direction: column;
        justify-content: stretch;
    }

    body.v2-body .v2-motion-setting-field.compact {
        max-width: none;
    }

    body.v2-body .v2-motion-bulk-main .v2-motion-setting-field.duration {
        grid-column: auto;
    }

    body.v2-body .v2-render-preset-resnapshot {
        margin-right: 0;
    }

    body.v2-body .v2-render-color-swatch span {
        display: none;
    }

    body.v2-body .v2-render-selected-head,
    body.v2-body .v2-render-queue-toolbar {
        align-items: stretch;
        flex-direction: column;
    }
}

@media (max-width: 760px) {
    body.v2-body {
        height: auto;
        min-height: 100vh;
        overflow: auto;
    }

    .v2-shell {
        display: block;
        height: auto;
        min-height: 100vh;
    }

    .v2-sidebar {
        width: 100%;
        border-right: none;
        border-bottom: 1px solid var(--v2-border);
    }

    .v2-sidebar-nav {
        flex-direction: row;
        overflow-x: auto;
        gap: 10px;
    }

    .v2-sidebar-section {
        min-width: min(78vw, 360px);
    }

    .v2-sidebar-section.primary {
        min-height: 0;
    }

    .v2-sidebar-link {
        min-width: 150px;
    }

    .v2-topbar,
    .v2-page-header,
    .v2-banner,
    .v2-action-row,
    .v2-language-add,
    .v2-assets-toolbar,
    .v2-generation-run-grid,
    .v2-outline-workspace,
    .v2-topic-workbench,
    body.v2-body .api-keys-header {
        grid-template-columns: 1fr;
    }

    .v2-topbar {
        height: auto;
        min-height: 58px;
        align-items: stretch;
        flex-direction: column;
        padding: 12px;
    }

    .v2-content {
        padding: 14px;
    }

    .v2-grid.three,
    .v2-grid.four,
    .v2-director-meta-grid,
    .v2-scene-model-grid {
        grid-template-columns: 1fr;
    }

    .v2-scene-actions-row {
        align-items: stretch;
        flex-direction: column;
    }

    .v2-scene-actions-row > .v2-actions,
    .v2-scene-actions-row > .v2-button {
        width: 100%;
    }

    .v2-scene-actions-row > .v2-actions .v2-button {
        flex: 1 1 160px;
    }

    .v2-title {
        font-size: 24px;
    }
}

@media (max-width: 1180px) {
    body.v2-body .v2-styles-page #sm-toolbar {
        grid-template-columns: 1fr;
    }

    body.v2-body .v2-styles-page #sm-filter-bar {
        width: 100%;
    }

    body.v2-body .v2-styles-page .v2-manager-workspace {
        grid-template-columns: 1fr;
    }

    body.v2-body .v2-styles-page .v2-manager-list-pane {
        max-width: none;
        position: relative !important;
    }
}
