:root {
    color-scheme: dark;
    --nvs-bg: #08090d;
    --nvs-bg-soft: #0d0f15;
    --nvs-panel: rgba(19, 21, 30, 0.9);
    --nvs-panel-solid: #13151e;
    --nvs-panel-raised: #181b26;
    --nvs-border: rgba(255, 255, 255, 0.08);
    --nvs-border-strong: rgba(255, 255, 255, 0.14);
    --nvs-text: #f7f7fb;
    --nvs-text-soft: #a5a8b6;
    --nvs-muted: #737786;
    --nvs-accent: #8a7dff;
    --nvs-accent-strong: #a99fff;
    --nvs-accent-soft: rgba(138, 125, 255, 0.16);
    --nvs-green: #63d7a0;
    --nvs-warning: #f2c572;
    --nvs-danger: #ff7f91;
    --nvs-radius-sm: 10px;
    --nvs-radius: 16px;
    --nvs-radius-lg: 24px;
    --nvs-sidebar: 248px;
    --nvs-shadow: 0 26px 80px rgba(0, 0, 0, 0.38);
    font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* {
    box-sizing: border-box;
}

html,
body.novirec-studio-body {
    min-height: 100%;
    margin: 0;
    background: var(--nvs-bg);
    color: var(--nvs-text);
}

body.novirec-studio-body {
    overflow-x: hidden;
    font-size: 14px;
    line-height: 1.5;
}

body.novirec-studio-body.admin-bar {
    margin-top: 0 !important;
}

#wpadminbar {
    display: none !important;
}

button,
input,
textarea {
    font: inherit;
}

button,
a {
    -webkit-tap-highlight-color: transparent;
}

button {
    color: inherit;
}

button:focus-visible,
a:focus-visible,
input:focus-visible,
textarea:focus-visible {
    outline: 2px solid var(--nvs-accent-strong);
    outline-offset: 2px;
}

.nvs-icon {
    flex: 0 0 auto;
}

.nvs-app {
    min-height: 100vh;
    display: flex;
    background:
        radial-gradient(circle at 76% -10%, rgba(103, 83, 240, 0.12), transparent 36%),
        var(--nvs-bg);
}

.nvs-sidebar {
    position: fixed;
    inset: 0 auto 0 0;
    z-index: 50;
    width: var(--nvs-sidebar);
    display: flex;
    flex-direction: column;
    border-right: 1px solid var(--nvs-border);
    background: rgba(10, 11, 16, 0.94);
    backdrop-filter: blur(24px);
}

.nvs-sidebar__top {
    height: 76px;
    padding: 0 22px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid var(--nvs-border);
}

.nvs-sidebar__close {
    display: none !important;
}

.nvs-brand {
    display: inline-flex;
    align-items: center;
    gap: 11px;
    user-select: none;
}

.nvs-brand__symbol {
    position: relative;
    width: 35px;
    height: 35px;
    border-radius: 11px;
    display: grid;
    place-items: center;
    overflow: hidden;
    color: white;
    font-size: 16px;
    font-weight: 800;
    background: linear-gradient(145deg, #7e6eff, #5d4cd2);
    box-shadow: 0 10px 30px rgba(93, 76, 210, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.3);
}

.nvs-brand__orb {
    position: absolute;
    width: 26px;
    height: 26px;
    left: -8px;
    top: -7px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.28);
    filter: blur(2px);
}

.nvs-brand__name {
    font-size: 18px;
    font-weight: 720;
    letter-spacing: -0.025em;
}

.nvs-brand--large {
    flex-direction: column;
    gap: 16px;
}

.nvs-brand--large .nvs-brand__symbol {
    width: 58px;
    height: 58px;
    border-radius: 18px;
    font-size: 25px;
}

.nvs-brand--large .nvs-brand__name {
    font-size: 23px;
}

.nvs-navigation {
    flex: 1;
    padding: 24px 14px;
}

.nvs-navigation__label {
    display: block;
    padding: 0 12px 10px;
    color: var(--nvs-muted);
    font-size: 10px;
    font-weight: 760;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.nvs-navigation__item {
    position: relative;
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 45px;
    margin: 4px 0;
    padding: 0 13px;
    border: 1px solid transparent;
    border-radius: 12px;
    color: var(--nvs-text-soft);
    font-weight: 570;
    text-decoration: none;
    transition: 160ms ease;
}

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

.nvs-navigation__item--active {
    color: #fff;
    border-color: rgba(151, 137, 255, 0.15);
    background: linear-gradient(90deg, rgba(138, 125, 255, 0.19), rgba(138, 125, 255, 0.06));
}

.nvs-navigation__icon {
    width: 28px;
    height: 28px;
    display: grid;
    place-items: center;
    border-radius: 8px;
}

.nvs-navigation__item--active .nvs-navigation__icon {
    color: var(--nvs-accent-strong);
    background: rgba(138, 125, 255, 0.14);
}

.nvs-navigation__active-dot {
    width: 5px;
    height: 5px;
    margin-left: auto;
    border-radius: 50%;
    background: var(--nvs-accent-strong);
    box-shadow: 0 0 14px var(--nvs-accent);
}

.nvs-sidebar__bottom {
    padding: 14px;
    border-top: 1px solid var(--nvs-border);
}

.nvs-plan-card {
    display: flex;
    gap: 10px;
    align-items: center;
    margin-bottom: 10px;
    padding: 12px;
    border: 1px solid var(--nvs-border);
    border-radius: 13px;
    background: rgba(255, 255, 255, 0.025);
}

.nvs-plan-card__icon {
    width: 31px;
    height: 31px;
    display: grid;
    place-items: center;
    border-radius: 10px;
    color: var(--nvs-accent-strong);
    background: var(--nvs-accent-soft);
}

.nvs-plan-card strong,
.nvs-plan-card small {
    display: block;
}

.nvs-plan-card strong {
    font-size: 12px;
}

.nvs-plan-card small {
    margin-top: 1px;
    color: var(--nvs-muted);
    font-size: 10px;
}

.nvs-profile-row {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px;
    border: 0;
    border-radius: 12px;
    background: transparent;
    cursor: pointer;
    text-align: left;
}

.nvs-profile-row:hover {
    background: rgba(255, 255, 255, 0.04);
}

.nvs-profile-row__copy {
    min-width: 0;
    flex: 1;
}

.nvs-profile-row__copy strong,
.nvs-profile-row__copy small {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.nvs-profile-row__copy strong {
    font-size: 12px;
}

.nvs-profile-row__copy small {
    color: var(--nvs-muted);
    font-size: 10px;
}

.nvs-workspace {
    width: calc(100% - var(--nvs-sidebar));
    min-height: 100vh;
    margin-left: var(--nvs-sidebar);
}

.nvs-topbar {
    position: sticky;
    top: 0;
    z-index: 30;
    height: 76px;
    padding: 0 32px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid var(--nvs-border);
    background: rgba(8, 9, 13, 0.82);
    backdrop-filter: blur(22px);
}

.nvs-topbar__left {
    display: flex;
    align-items: center;
    gap: 12px;
}

.nvs-topbar__eyebrow {
    display: none;
    color: var(--nvs-muted);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.nvs-topbar h1 {
    margin: 0;
    font-size: 17px;
    font-weight: 680;
    letter-spacing: -0.02em;
}

.nvs-topbar__actions {
    display: flex;
    align-items: center;
    gap: 12px;
}

.nvs-credit-chip {
    height: 38px;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 0 11px 0 7px;
    border: 1px solid var(--nvs-border);
    border-radius: 11px;
    color: var(--nvs-text-soft);
    background: rgba(255, 255, 255, 0.035);
}

.nvs-credit-chip__icon {
    width: 26px;
    height: 26px;
    display: grid;
    place-items: center;
    border-radius: 8px;
    color: var(--nvs-accent-strong);
    background: var(--nvs-accent-soft);
}

.nvs-credit-chip strong {
    color: var(--nvs-text);
}

.nvs-avatar {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 12px;
    color: #fff;
    font-size: 12px;
    font-weight: 760;
    background: linear-gradient(145deg, #514784, #25243d);
}

.nvs-avatar--small {
    width: 32px;
    height: 32px;
    border-radius: 10px;
    font-size: 10px;
}

.nvs-avatar--large {
    width: 70px;
    height: 70px;
    border-radius: 20px;
    font-size: 22px;
}

.nvs-mobile-menu-button,
.nvs-mobile-overlay {
    display: none !important;
}

.nvs-icon-button {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border: 1px solid var(--nvs-border);
    border-radius: 11px;
    background: rgba(255, 255, 255, 0.03);
    cursor: pointer;
}

.nvs-icon-button:hover {
    background: rgba(255, 255, 255, 0.07);
}

.nvs-page {
    max-width: 1420px;
    margin: 0 auto;
    padding: 34px 32px 60px;
}

.nvs-page-intro {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 26px;
}

.nvs-page-intro h2 {
    margin: 5px 0 7px;
    font-size: clamp(25px, 3vw, 34px);
    line-height: 1.1;
    letter-spacing: -0.045em;
}

.nvs-page-intro p {
    max-width: 700px;
    margin: 0;
    color: var(--nvs-text-soft);
    font-size: 14px;
}

.nvs-kicker {
    color: var(--nvs-accent-strong);
    font-size: 10px;
    font-weight: 780;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.nvs-foundation-badge,
.nvs-soft-label,
.nvs-preview-label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border: 1px solid rgba(138, 125, 255, 0.18);
    border-radius: 999px;
    color: var(--nvs-accent-strong);
    background: var(--nvs-accent-soft);
}

.nvs-foundation-badge {
    padding: 7px 10px;
    font-size: 11px;
    font-weight: 650;
    white-space: nowrap;
}

.nvs-preview-label,
.nvs-soft-label {
    padding: 4px 8px;
    font-size: 9px;
    font-weight: 720;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.nvs-api-banner,
.nvs-inline-notice {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    border: 1px solid rgba(242, 197, 114, 0.23);
    color: #f8dca6;
    background: rgba(242, 197, 114, 0.09);
}

.nvs-api-banner {
    margin: 16px 32px 0;
    padding: 11px 13px;
    border-radius: 12px;
}

.nvs-inline-notice {
    margin-bottom: 18px;
    padding: 12px 14px;
    border-radius: 12px;
    font-size: 12px;
}

.nvs-inline-notice--wide {
    max-width: none;
}


.nvs-brand__symbol--image { background: transparent; box-shadow: none; overflow: visible; }
.nvs-brand__symbol--image img { width: 100%; height: 100%; object-fit: contain; display: block; }

/* Create header queue switch — v0.18.1 */
.nvs-priority-switch {
    min-height: 40px;
    display: inline-flex;
    align-items: center;
    gap: 3px;
    padding: 3px;
    border: 1px solid var(--nvs-border);
    border-radius: 13px;
    background: rgba(255, 255, 255, 0.025);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.025);
}

.nvs-priority-switch button {
    min-width: 92px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 0 10px;
    border: 0;
    border-radius: 9px;
    color: var(--nvs-muted);
    background: transparent;
    cursor: pointer;
    transition: color 150ms ease, background 150ms ease, box-shadow 150ms ease;
}

.nvs-priority-switch button:hover:not(:disabled) {
    color: var(--nvs-text);
    background: rgba(255, 255, 255, 0.04);
}

.nvs-priority-switch button.is-active {
    color: #fff;
    background: rgba(139, 92, 246, 0.18);
    box-shadow: inset 0 0 0 1px rgba(167, 139, 250, 0.34), 0 6px 16px rgba(0, 0, 0, 0.16);
}

.nvs-priority-switch button.is-active.is-relax {
    background: linear-gradient(135deg, rgba(99, 102, 241, 0.22), rgba(139, 92, 246, 0.18));
}

.nvs-priority-switch button:disabled {
    opacity: 0.42;
    cursor: not-allowed;
}

.nvs-priority-switch__icon {
    width: 23px;
    height: 23px;
    display: grid;
    place-items: center;
    flex: none;
    border-radius: 7px;
    color: var(--nvs-accent-strong);
    background: rgba(139, 92, 246, 0.1);
}

.nvs-priority-switch button.is-active .nvs-priority-switch__icon {
    color: #ddd6fe;
    background: rgba(139, 92, 246, 0.22);
}

.nvs-priority-switch__label {
    font-size: 11px;
    font-weight: 680;
}

.nvs-priority-switch strong {
    min-width: 22px;
    color: #fff;
    font-size: 12px;
    font-weight: 760;
    text-align: right;
}

.nvs-priority-switch__infinity {
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 21px !important;
    line-height: 1;
    letter-spacing: -0.04em;
}

@media (max-width: 620px) {
    .nvs-priority-switch button {
        min-width: 42px;
        padding-inline: 7px;
    }

    .nvs-priority-switch__label {
        display: none;
    }
}
.nvs-create-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(320px, 0.65fr);
    gap: 20px;
    align-items: start;
}

.nvs-creator-card,
.nvs-preview-panel,
.nvs-metric-card,
.nvs-table-card,
.nvs-account-card {
    border: 1px solid var(--nvs-border);
    background: linear-gradient(180deg, rgba(22, 24, 34, 0.94), rgba(16, 18, 26, 0.96));
    box-shadow: var(--nvs-shadow);
}

.nvs-creator-card,
.nvs-preview-panel {
    border-radius: var(--nvs-radius-lg);
}

.nvs-creator-card {
    padding: 22px;
}

.nvs-segmented {
    display: inline-flex;
    gap: 3px;
    padding: 4px;
    border: 1px solid var(--nvs-border);
    border-radius: 12px;
    background: rgba(0, 0, 0, 0.22);
}

.nvs-segmented button {
    min-width: 104px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    border: 0;
    border-radius: 9px;
    color: var(--nvs-muted);
    background: transparent;
    cursor: pointer;
}

.nvs-segmented button.is-active {
    color: white;
    background: var(--nvs-panel-raised);
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.22);
}

.nvs-control-section {
    margin-top: 22px;
}

.nvs-control-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 10px;
}

.nvs-control-heading span,
.nvs-control-heading small {
    display: block;
}

.nvs-control-heading span {
    font-size: 12px;
    font-weight: 660;
}

.nvs-control-heading small {
    margin-top: 2px;
    color: var(--nvs-muted);
    font-size: 10px;
    font-weight: 450;
}

.nvs-model-select {
    width: 100%;
    min-height: 67px;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px;
    border: 1px solid var(--nvs-border);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.025);
    cursor: pointer;
    text-align: left;
}

.nvs-model-select:hover {
    border-color: var(--nvs-border-strong);
    background: rgba(255, 255, 255, 0.045);
}

.nvs-model-select__art {
    width: 45px;
    height: 45px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    color: white;
    font-size: 12px;
    font-weight: 800;
    background:
        radial-gradient(circle at 30% 20%, rgba(255,255,255,.35), transparent 28%),
        linear-gradient(145deg, #765eff, #db6da3);
}

.nvs-model-select__copy {
    flex: 1;
}

.nvs-model-select__copy strong,
.nvs-model-select__copy small {
    display: block;
}

.nvs-model-select__copy strong {
    font-size: 13px;
}

.nvs-model-select__copy small {
    margin-top: 2px;
    color: var(--nvs-muted);
    font-size: 10px;
}

.nvs-prompt-box {
    overflow: hidden;
    border: 1px solid var(--nvs-border);
    border-radius: 15px;
    background: rgba(6, 7, 11, 0.43);
}

.nvs-prompt-box:focus-within {
    border-color: rgba(138, 125, 255, 0.45);
    box-shadow: 0 0 0 3px rgba(138, 125, 255, 0.08);
}

.nvs-prompt-box textarea {
    width: 100%;
    min-height: 152px;
    padding: 16px;
    resize: vertical;
    border: 0;
    outline: 0;
    color: var(--nvs-text);
    background: transparent;
}

.nvs-prompt-box textarea::placeholder {
    color: #5f6270;
}

.nvs-prompt-box__footer {
    min-height: 46px;
    padding: 7px 9px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-top: 1px solid var(--nvs-border);
    color: var(--nvs-muted);
    font-size: 10px;
}

.nvs-reference-button,
.nvs-ghost-action {
    border: 0;
    color: var(--nvs-text-soft);
    background: transparent;
    cursor: pointer;
}

.nvs-reference-button {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 6px 8px;
    border-radius: 8px;
}

.nvs-reference-button:hover,
.nvs-ghost-action:hover:not(:disabled) {
    color: white;
    background: rgba(255, 255, 255, 0.05);
}

.nvs-ghost-action {
    padding: 5px 7px;
    border-radius: 7px;
    font-size: 10px;
}

.nvs-ghost-action:disabled {
    cursor: not-allowed;
    opacity: 0.45;
}

.nvs-control-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.nvs-ratio-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 7px;
}

.nvs-ratio-grid button {
    min-height: 62px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    border: 1px solid var(--nvs-border);
    border-radius: 11px;
    color: var(--nvs-muted);
    background: rgba(255, 255, 255, 0.02);
    cursor: pointer;
    font-size: 9px;
}

.nvs-ratio-grid button.is-active {
    border-color: rgba(138, 125, 255, 0.45);
    color: var(--nvs-accent-strong);
    background: var(--nvs-accent-soft);
}

.nvs-ratio-shape {
    display: block;
    border: 1.5px solid currentColor;
    border-radius: 2px;
}

.nvs-ratio-shape--0 { width: 18px; height: 18px; }
.nvs-ratio-shape--1 { width: 24px; height: 14px; }
.nvs-ratio-shape--2 { width: 12px; height: 21px; }
.nvs-ratio-shape--3 { width: 21px; height: 16px; }

.nvs-speed-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
}

.nvs-speed-grid button {
    min-height: 62px;
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 10px;
    border: 1px solid var(--nvs-border);
    border-radius: 11px;
    color: var(--nvs-muted);
    background: rgba(255, 255, 255, 0.02);
    cursor: pointer;
    text-align: left;
}

.nvs-speed-grid button.is-active {
    border-color: rgba(138, 125, 255, 0.42);
    color: var(--nvs-accent-strong);
    background: var(--nvs-accent-soft);
}

.nvs-speed-grid strong,
.nvs-speed-grid small {
    display: block;
}

.nvs-speed-grid strong {
    color: var(--nvs-text);
    font-size: 11px;
}

.nvs-speed-grid small {
    margin-top: 2px;
    font-size: 8px;
}

.nvs-generate-row {
    min-height: 75px;
    margin: 24px -22px -22px;
    padding: 14px 22px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    border-top: 1px solid var(--nvs-border);
    background: rgba(0, 0, 0, 0.13);
    border-radius: 0 0 var(--nvs-radius-lg) var(--nvs-radius-lg);
}

.nvs-cost-preview small,
.nvs-cost-preview strong {
    display: block;
}

.nvs-cost-preview small {
    color: var(--nvs-muted);
    font-size: 9px;
}

.nvs-cost-preview strong {
    margin-top: 2px;
    font-size: 13px;
}

.nvs-primary-button,
.nvs-secondary-button {
    min-height: 41px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 0 16px;
    border-radius: 11px;
    font-weight: 680;
    cursor: pointer;
    transition: 160ms ease;
}

.nvs-primary-button {
    border: 1px solid rgba(255, 255, 255, 0.14);
    color: white;
    background: linear-gradient(135deg, #8778ff, #6758df);
    box-shadow: 0 10px 26px rgba(103, 88, 223, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.24);
}

.nvs-primary-button:hover {
    transform: translateY(-1px);
    filter: brightness(1.06);
}

.nvs-primary-button--full {
    width: 100%;
    min-height: 47px;
}

.nvs-secondary-button {
    border: 1px solid var(--nvs-border-strong);
    color: var(--nvs-text);
    background: rgba(255, 255, 255, 0.04);
}

.nvs-secondary-button:hover:not(:disabled) {
    background: rgba(255, 255, 255, 0.08);
}

.nvs-secondary-button:disabled {
    cursor: not-allowed;
    opacity: 0.45;
}

.nvs-preview-panel {
    position: sticky;
    top: 96px;
    padding: 18px;
}

.nvs-preview-panel__heading,
.nvs-table-card__head,
.nvs-metric-card__head,
.nvs-account-card__heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}

.nvs-preview-panel__heading span,
.nvs-preview-panel__heading small {
    display: block;
}

.nvs-preview-panel__heading span {
    font-size: 12px;
    font-weight: 650;
}

.nvs-preview-panel__heading small {
    margin-top: 2px;
    color: var(--nvs-muted);
    font-size: 9px;
}

.nvs-output-placeholder {
    position: relative;
    min-height: 360px;
    margin-top: 15px;
    padding: 32px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border: 1px dashed rgba(255, 255, 255, 0.12);
    border-radius: 17px;
    text-align: center;
    background:
        linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px),
        #0b0d13;
    background-size: 24px 24px;
}

.nvs-output-placeholder--video {
    min-height: 260px;
    aspect-ratio: 16 / 10;
}

.nvs-output-placeholder__glow {
    position: absolute;
    width: 220px;
    height: 220px;
    border-radius: 50%;
    background: rgba(121, 102, 246, 0.16);
    filter: blur(65px);
}

.nvs-output-placeholder__icon,
.nvs-empty-state__icon {
    position: relative;
    display: grid;
    place-items: center;
    color: var(--nvs-accent-strong);
    background: rgba(138, 125, 255, 0.13);
}

.nvs-output-placeholder__icon {
    width: 65px;
    height: 65px;
    margin-bottom: 18px;
    border: 1px solid rgba(138, 125, 255, 0.2);
    border-radius: 20px;
}

.nvs-output-placeholder strong,
.nvs-output-placeholder p {
    position: relative;
}

.nvs-output-placeholder strong {
    font-size: 15px;
}

.nvs-output-placeholder p {
    max-width: 280px;
    margin: 7px 0 0;
    color: var(--nvs-muted);
    font-size: 11px;
}

.nvs-preview-panel__details {
    margin-top: 13px;
    padding: 2px 4px;
}

.nvs-detail-row {
    min-height: 39px;
    display: flex;
    align-items: center;
    gap: 8px;
    border-bottom: 1px solid var(--nvs-border);
    color: var(--nvs-text-soft);
    font-size: 10px;
}

.nvs-detail-row:last-child {
    border-bottom: 0;
}

.nvs-detail-row__icon {
    color: var(--nvs-muted);
}

.nvs-detail-row strong {
    margin-left: auto;
    color: var(--nvs-text);
    font-weight: 600;
}


.nvs-artifact-picker { display:grid; gap:10px; }
.nvs-artifact-picker__selected { display:grid; grid-template-columns:72px minmax(0,1fr) auto; align-items:center; gap:10px; padding:9px; border:1px solid var(--nvs-border); border-radius:14px; background:rgba(255,255,255,.025); }
.nvs-artifact-picker__selected img { width:72px; height:58px; object-fit:cover; border-radius:9px; }
.nvs-artifact-picker__selected strong,.nvs-artifact-picker__selected small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.nvs-artifact-picker__selected small { color:var(--nvs-muted); margin-top:3px; }
.nvs-artifact-upload { position:relative; justify-content:center; cursor:pointer; }
.nvs-artifact-upload input { position:absolute; inset:0; opacity:0; cursor:pointer; }
.nvs-inline-actions { display:flex; gap:6px; align-items:center; }
.nvs-field-inline-help { color:var(--nvs-muted); font-size:12px; }

/* Generic manifest-driven aspect-ratio selector — v0.13.2 */
.nvs-ratio-grid--context {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.nvs-ratio-grid--context button {
    min-width: 0;
    min-height: 72px;
    padding: 8px 5px;
}

.nvs-ratio-grid--context .nvs-ratio-shape {
    box-sizing: border-box;
    flex: 0 0 auto;
}

.nvs-ratio-option__label,
.nvs-ratio-option__value {
    display: block;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.nvs-ratio-option__label {
    color: var(--nvs-text-soft);
    font-size: 8px;
    font-weight: 650;
}

.nvs-ratio-grid--context button.is-active .nvs-ratio-option__label {
    color: var(--nvs-text);
}

.nvs-ratio-option__value {
    color: var(--nvs-muted);
    font-size: 7px;
}

@media (max-width: 420px) {
    .nvs-ratio-grid--context {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* Ordered multi-reference picker — v0.18.0 */
.nvs-reference-picker-status {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 8px 10px;
    border: 1px solid var(--nvs-border);
    border-radius: 10px;
    background: rgba(255, 255, 255, .02);
}

.nvs-reference-picker-status span {
    flex: 0 0 auto;
    color: #fcd34d;
    font-size: 10px;
    font-weight: 720;
}

.nvs-reference-picker-status span.is-ready {
    color: #86efac;
}

.nvs-reference-picker-status small {
    color: var(--nvs-muted);
    font-size: 9px;
    line-height: 1.35;
    text-align: right;
}

.nvs-reference-card {
    position: relative;
    grid-template-columns: 24px 72px minmax(0, 1fr) auto;
    cursor: grab;
    transition: opacity .15s ease, border-color .15s ease, transform .15s ease;
}

.nvs-reference-card:active {
    cursor: grabbing;
}

.nvs-reference-card.is-dragging {
    opacity: .55;
    border-color: rgba(139, 92, 246, .65);
    transform: scale(.99);
}

.nvs-reference-card__number {
    display: grid;
    place-items: center;
    width: 22px;
    height: 22px;
    border-radius: 999px;
    color: #fff;
    background: rgba(139, 92, 246, .28);
    font-size: 10px;
    font-weight: 800;
}

.nvs-reference-card__copy {
    min-width: 0;
}

.nvs-reference-card__copy strong,
.nvs-reference-card__copy small {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.nvs-reference-card__copy small + small {
    margin-top: 2px;
    color: var(--nvs-muted);
}

.nvs-reference-picker-add {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
}

.nvs-reference-picker-complete {
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 9px 10px;
    border-radius: 10px;
    color: #86efac;
    background: rgba(34, 197, 94, .07);
    font-size: 10px;
}

@media (max-width: 520px) {
    .nvs-reference-card {
        grid-template-columns: 22px 56px minmax(0, 1fr);
    }
    .nvs-reference-card .nvs-inline-actions {
        grid-column: 2 / -1;
        justify-content: flex-end;
    }
    .nvs-reference-card img {
        width: 56px;
        height: 50px;
    }
    .nvs-reference-picker-add {
        grid-template-columns: 1fr;
    }
    .nvs-reference-picker-status {
        align-items: flex-start;
        flex-direction: column;
    }
    .nvs-reference-picker-status small {
        text-align: left;
    }
}
/* Capability-driven video workflow selector — v0.13.2 */
.nvs-video-workflow {
    flex: 0 0 auto;
    padding: 12px 14px 13px;
    border-bottom: 1px solid var(--nvs-border);
    background:
        linear-gradient(180deg, rgba(18, 19, 29, .98), rgba(12, 14, 21, .98));
    box-shadow: 0 9px 22px rgba(0, 0, 0, .13);
}

.nvs-video-workflow__heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 8px;
}

.nvs-video-workflow__heading span {
    color: var(--nvs-text);
    font-size: 10px;
    font-weight: 720;
}

.nvs-video-workflow__heading small {
    color: var(--nvs-muted);
    font-size: 8px;
}

.nvs-video-workflow__options {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 7px;
}

.nvs-video-workflow__options button {
    min-width: 0;
    min-height: 52px;
    display: grid;
    grid-template-columns: 29px minmax(0, 1fr);
    align-items: center;
    gap: 8px;
    padding: 8px 9px;
    border: 1px solid var(--nvs-border);
    border-radius: 11px;
    color: var(--nvs-text-soft);
    background: rgba(255, 255, 255, .025);
    cursor: pointer;
    text-align: left;
    transition: border-color .16s ease, background .16s ease, transform .16s ease;
}

.nvs-video-workflow__options button:hover {
    border-color: var(--nvs-border-strong);
    background: rgba(255, 255, 255, .045);
    transform: translateY(-1px);
}

.nvs-video-workflow__options button.is-active {
    border-color: rgba(138, 125, 255, .62);
    color: #fff;
    background: linear-gradient(145deg, rgba(116, 91, 237, .34), rgba(84, 66, 183, .16));
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .025), 0 8px 20px rgba(66, 46, 142, .16);
}

.nvs-video-workflow__icon {
    width: 29px;
    height: 29px;
    display: grid;
    place-items: center;
    border-radius: 9px;
    color: var(--nvs-muted);
    background: rgba(255, 255, 255, .04);
}

.nvs-video-workflow__options button.is-active .nvs-video-workflow__icon {
    color: #fff;
    background: rgba(138, 125, 255, .3);
}

.nvs-video-workflow__copy {
    min-width: 0;
}

.nvs-video-workflow__copy strong,
.nvs-video-workflow__copy small {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.nvs-video-workflow__copy strong {
    font-size: 9px;
    line-height: 1.25;
}

.nvs-video-workflow__copy small {
    margin-top: 2px;
    color: var(--nvs-muted);
    font-size: 7px;
}

.nvs-model-context-section {
    scroll-margin-top: 16px;
}

.nvs-selected-model-summary__copy {
    min-width: 0;
    flex: 1;
}

.nvs-selected-model-summary__title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.nvs-model-workflow-pill {
    flex: 0 0 auto;
    padding: 3px 6px;
    border: 1px solid rgba(138, 125, 255, .22);
    border-radius: 999px;
    color: var(--nvs-accent-strong);
    background: rgba(138, 125, 255, .08);
    font-size: 7px;
    font-weight: 720;
    text-transform: uppercase;
}

@media (max-width: 900px) {
    .nvs-video-workflow__options button {
        grid-template-columns: 25px minmax(0, 1fr);
        padding-inline: 7px;
    }
    .nvs-video-workflow__icon {
        width: 25px;
        height: 25px;
    }
}

@media (max-width: 760px) {
    .nvs-video-workflow {
        position: sticky;
        top: 0;
        z-index: 12;
    }
    .nvs-video-workflow__options button {
        min-height: 48px;
    }
}

@media (max-width: 420px) {
    .nvs-video-workflow__heading small {
        display: none;
    }
    .nvs-video-workflow__options {
        gap: 5px;
    }
    .nvs-video-workflow__copy strong {
        font-size: 8px;
    }
}

.nvs-resolution-profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.nvs-resolution-profile-grid button{appearance:none;text-align:left;border:1px solid var(--nvs-border,#2a2d3a);background:var(--nvs-panel-soft,#11131c);color:inherit;border-radius:10px;padding:11px;cursor:pointer;min-width:0}.nvs-resolution-profile-grid button:hover,.nvs-resolution-profile-grid button.is-active{border-color:var(--nvs-accent,#8b5cf6);background:rgba(124,92,255,.12)}.nvs-resolution-profile__top{display:flex;align-items:center;justify-content:space-between;gap:6px}.nvs-resolution-profile__top strong{font-size:12px}.nvs-resolution-profile__badge{font-size:9px;text-transform:uppercase;color:#9de7bd}.nvs-resolution-profile__size{display:block;margin-top:5px;font-size:13px;font-weight:700}.nvs-resolution-profile__help{display:block;margin-top:4px;color:var(--nvs-muted,#8990a5);font-size:10px;line-height:1.35}@media(max-width:520px){.nvs-resolution-profile-grid{grid-template-columns:1fr}}
.nvs-generation-mode{display:grid;gap:9px;padding:13px 16px;border-bottom:1px solid var(--nvs-border);background:rgba(255,255,255,.012)}.nvs-generation-mode__heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.nvs-generation-mode__heading>span{font-size:12px;font-weight:700;color:var(--nvs-text)}.nvs-generation-mode__heading small{color:var(--nvs-muted);font-size:10px}.nvs-generation-mode__options{display:grid;grid-template-columns:1fr 1fr;gap:8px}.nvs-generation-mode__options button{display:flex;align-items:center;gap:9px;min-width:0;padding:10px;border:1px solid var(--nvs-border);border-radius:12px;background:rgba(255,255,255,.025);color:var(--nvs-text);text-align:left;cursor:pointer}.nvs-generation-mode__options button:hover:not(:disabled){border-color:rgba(139,92,246,.45);background:rgba(139,92,246,.07)}.nvs-generation-mode__options button.is-active{border-color:rgba(139,92,246,.68);background:rgba(139,92,246,.13);box-shadow:inset 0 0 0 1px rgba(139,92,246,.15)}.nvs-generation-mode__options button:disabled{opacity:.48;cursor:not-allowed}.nvs-generation-mode__icon{display:grid;place-items:center;width:30px;height:30px;flex:none;border-radius:9px;background:rgba(139,92,246,.11);color:#c4b5fd}.nvs-generation-mode__copy{display:grid;gap:2px;min-width:0}.nvs-generation-mode__copy strong{font-size:12px}.nvs-generation-mode__copy small{overflow:hidden;color:var(--nvs-muted);font-size:9px;line-height:1.35;text-overflow:ellipsis}.nvs-generation-mode__note{display:flex;align-items:flex-start;gap:7px;padding:8px 9px;border-radius:9px;background:rgba(245,158,11,.08);color:#fcd34d;font-size:10px;line-height:1.4}.nvs-generation-mode__note .nvs-icon{flex:none;margin-top:1px}@media(max-width:720px){.nvs-generation-mode__options{grid-template-columns:1fr}}

/* Image and video creation-method refinements — v0.18.0 */
.nvs-selected-model-summary__pills {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 5px;
    flex-wrap: wrap;
}

.nvs-model-tier-pill {
    flex: 0 0 auto;
    padding: 3px 6px;
    border: 1px solid rgba(148, 163, 184, .22);
    border-radius: 999px;
    color: var(--nvs-text-soft);
    background: rgba(148, 163, 184, .08);
    font-size: 7px;
    font-weight: 720;
    text-transform: uppercase;
}

.nvs-model-tier-pill--premium {
    color: #f5d0fe;
    border-color: rgba(217, 70, 239, .28);
    background: rgba(217, 70, 239, .09);
}

.nvs-model-tier-pill--fast,
.nvs-model-tier-pill--recommended {
    color: #bbf7d0;
    border-color: rgba(34, 197, 94, .28);
    background: rgba(34, 197, 94, .09);
}

.nvs-model-tier-pill--economy {
    color: #bfdbfe;
    border-color: rgba(59, 130, 246, .28);
    background: rgba(59, 130, 246, .09);
}

@media (max-width: 420px) {
    .nvs-selected-model-summary__title {
        align-items: flex-start;
    }
    .nvs-selected-model-summary__pills {
        justify-content: flex-start;
    }
}
.nvs-filter-bar {
    min-height: 54px;
    margin-bottom: 18px;
    padding: 7px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    border: 1px solid var(--nvs-border);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.025);
}

.nvs-filter-tabs {
    display: flex;
    gap: 3px;
    overflow-x: auto;
}

.nvs-filter-tabs button {
    min-height: 36px;
    padding: 0 12px;
    border: 0;
    border-radius: 9px;
    color: var(--nvs-muted);
    background: transparent;
    cursor: pointer;
    white-space: nowrap;
    font-size: 11px;
}

.nvs-filter-tabs button.is-active {
    color: white;
    background: var(--nvs-panel-raised);
}

.nvs-search-preview {
    width: 190px;
    height: 37px;
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 0 10px;
    border: 1px solid var(--nvs-border);
    border-radius: 9px;
    color: var(--nvs-muted);
    background: rgba(0, 0, 0, 0.2);
}

.nvs-search-preview input {
    min-width: 0;
    width: 100%;
    border: 0;
    outline: 0;
    color: var(--nvs-text-soft);
    background: transparent;
}

.nvs-empty-state {
    min-height: 430px;
    padding: 50px 24px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--nvs-border);
    border-radius: var(--nvs-radius-lg);
    text-align: center;
    background: rgba(255, 255, 255, 0.018);
}

.nvs-empty-state__visual {
    position: relative;
    width: 118px;
    height: 118px;
    margin-bottom: 18px;
    display: grid;
    place-items: center;
}

.nvs-empty-state__ring {
    position: absolute;
    border: 1px solid rgba(138, 125, 255, 0.16);
    border-radius: 50%;
}

.nvs-empty-state__ring--one {
    inset: 0;
}

.nvs-empty-state__ring--two {
    inset: 17px;
    border-style: dashed;
}

.nvs-empty-state__icon {
    width: 52px;
    height: 52px;
    border-radius: 16px;
}

.nvs-empty-state h3 {
    margin: 0;
    font-size: 18px;
}

.nvs-empty-state p {
    max-width: 440px;
    margin: 8px 0 20px;
    color: var(--nvs-muted);
    font-size: 12px;
}

.nvs-billing-grid,
.nvs-account-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
}

.nvs-metric-card,
.nvs-account-card {
    padding: 22px;
    border-radius: var(--nvs-radius-lg);
}

.nvs-metric-card--featured {
    border-color: rgba(138, 125, 255, 0.2);
    background:
        radial-gradient(circle at 90% 0, rgba(138, 125, 255, 0.18), transparent 42%),
        linear-gradient(180deg, rgba(22, 24, 34, 0.94), rgba(16, 18, 26, 0.96));
}

.nvs-metric-card__head {
    color: var(--nvs-text-soft);
    font-size: 11px;
}

.nvs-metric-card__icon,
.nvs-account-card__heading-icon {
    width: 35px;
    height: 35px;
    display: grid;
    place-items: center;
    border-radius: 11px;
    color: var(--nvs-accent-strong);
    background: var(--nvs-accent-soft);
}

.nvs-metric-card > strong {
    display: block;
    margin-top: 20px;
    font-size: 34px;
    letter-spacing: -0.04em;
}

.nvs-metric-card > strong.nvs-metric-card__plan {
    font-size: 27px;
}

.nvs-metric-card p {
    min-height: 38px;
    margin: 8px 0 18px;
    color: var(--nvs-muted);
    font-size: 11px;
}

.nvs-table-card {
    margin-top: 18px;
    overflow: hidden;
    border-radius: var(--nvs-radius-lg);
}

.nvs-table-card__head {
    padding: 20px 22px;
    border-bottom: 1px solid var(--nvs-border);
}

.nvs-table-card__head h3,
.nvs-table-card__head p {
    margin: 0;
}

.nvs-table-card__head h3 {
    font-size: 14px;
}

.nvs-table-card__head p {
    margin-top: 4px;
    color: var(--nvs-muted);
    font-size: 10px;
}

.nvs-table-empty {
    min-height: 190px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 9px;
    color: var(--nvs-muted);
    font-size: 11px;
}

.nvs-account-card__profile {
    display: flex;
    align-items: center;
    gap: 16px;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--nvs-border);
}

.nvs-account-card__profile h3,
.nvs-account-card__profile p {
    margin: 0;
}

.nvs-account-card__profile h3 {
    font-size: 17px;
}

.nvs-account-card__profile p {
    margin: 3px 0 8px;
    color: var(--nvs-muted);
    font-size: 11px;
}

.nvs-account-card__heading {
    justify-content: flex-start;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--nvs-border);
}

.nvs-account-card__heading h3,
.nvs-account-card__heading p {
    margin: 0;
}

.nvs-account-card__heading h3 {
    font-size: 14px;
}

.nvs-account-card__heading p {
    margin-top: 3px;
    color: var(--nvs-muted);
    font-size: 10px;
}

.nvs-account-list {
    margin: 8px 0 18px;
}

.nvs-account-row {
    min-height: 44px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 1px solid var(--nvs-border);
    color: var(--nvs-text-soft);
    font-size: 11px;
}

.nvs-account-row strong {
    color: var(--nvs-text);
    font-weight: 600;
    text-align: right;
}


.nvs-media-card__animate { min-height:34px; padding:0 10px; gap:6px; font-size:12px; }
.nvs-loading-screen,
.nvs-auth {
    min-height: 100vh;
}

.nvs-loading-screen {
    position: relative;
    display: grid;
    place-items: center;
    overflow: hidden;
    background: #08090d;
}

.nvs-loading-screen__glow {
    position: absolute;
    width: 420px;
    height: 420px;
    border-radius: 50%;
    background: rgba(122, 104, 246, 0.14);
    filter: blur(110px);
}

.nvs-loading-card {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 22px;
}

.nvs-loading-card p {
    margin: 0;
    color: var(--nvs-muted);
    font-size: 11px;
}

.nvs-loader {
    display: flex;
    gap: 6px;
}

.nvs-loader span {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--nvs-accent-strong);
    animation: nvsPulse 1s infinite ease-in-out;
}

.nvs-loader span:nth-child(2) { animation-delay: .13s; }
.nvs-loader span:nth-child(3) { animation-delay: .26s; }

@keyframes nvsPulse {
    0%, 100% { opacity: .25; transform: translateY(0); }
    50% { opacity: 1; transform: translateY(-4px); }
}

.nvs-auth {
    display: grid;
    grid-template-columns: minmax(480px, 1.1fr) minmax(420px, .9fr);
    background: #090a0e;
}

.nvs-auth__visual {
    position: relative;
    min-height: 100vh;
    overflow: hidden;
    border-right: 1px solid var(--nvs-border);
    background:
        linear-gradient(135deg, rgba(10, 11, 17, 0.3), rgba(10, 11, 17, 0.92)),
        radial-gradient(circle at 25% 30%, rgba(124, 102, 252, 0.2), transparent 34%),
        #0d0e14;
}

.nvs-auth__ambient {
    position: absolute;
    border-radius: 50%;
    filter: blur(90px);
}

.nvs-auth__ambient--one {
    width: 420px;
    height: 420px;
    left: -160px;
    top: 12%;
    background: rgba(115, 92, 249, 0.16);
}

.nvs-auth__ambient--two {
    width: 360px;
    height: 360px;
    right: -110px;
    bottom: 5%;
    background: rgba(212, 92, 165, 0.1);
}

.nvs-auth__visual-inner {
    position: relative;
    min-height: 100vh;
    padding: 42px clamp(38px, 6vw, 84px);
    display: flex;
    flex-direction: column;
}

.nvs-auth__message {
    max-width: 620px;
    margin-top: auto;
    padding-top: 70px;
}

.nvs-auth__message h1 {
    margin: 10px 0 15px;
    font-size: clamp(38px, 5vw, 66px);
    line-height: 0.98;
    letter-spacing: -0.058em;
}

.nvs-auth__message p {
    max-width: 540px;
    margin: 0;
    color: var(--nvs-text-soft);
    font-size: 15px;
}

.nvs-auth__preview {
    width: min(620px, 100%);
    margin-top: 45px;
    padding: 13px;
    border: 1px solid var(--nvs-border);
    border-radius: 22px;
    background: rgba(18, 20, 29, 0.65);
    backdrop-filter: blur(20px);
    box-shadow: var(--nvs-shadow);
}

.nvs-auth__preview-top {
    height: 34px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 4px 9px;
    color: var(--nvs-muted);
    font-size: 10px;
}

.nvs-status-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 9px;
}

.nvs-status-pill__dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
}

.nvs-status-pill--ok {
    color: var(--nvs-green);
}

.nvs-status-pill--ok .nvs-status-pill__dot {
    background: var(--nvs-green);
    box-shadow: 0 0 12px rgba(99, 215, 160, .75);
}

.nvs-status-pill--warning {
    color: var(--nvs-warning);
}

.nvs-status-pill--warning .nvs-status-pill__dot {
    background: var(--nvs-warning);
}

.nvs-auth__canvas {
    position: relative;
    min-height: 228px;
    display: grid;
    place-items: center;
    overflow: hidden;
    border-radius: 15px;
    background:
        linear-gradient(130deg, rgba(21, 20, 38, .88), rgba(11, 13, 20, .9)),
        #11131c;
}

.nvs-auth__canvas-orb {
    position: absolute;
    border-radius: 42% 58% 64% 36% / 43% 35% 65% 57%;
    filter: blur(1px);
}

.nvs-auth__canvas-orb--a {
    width: 210px;
    height: 180px;
    left: 12%;
    top: 17%;
    background: linear-gradient(145deg, #6551e2, #d66fa6);
    opacity: .62;
    transform: rotate(-17deg);
}

.nvs-auth__canvas-orb--b {
    width: 170px;
    height: 150px;
    right: 13%;
    bottom: 11%;
    background: linear-gradient(145deg, #4d9bbb, #7664ed);
    opacity: .5;
    transform: rotate(22deg);
}

.nvs-auth__canvas-copy {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 7px;
    color: white;
    text-align: center;
}

.nvs-auth__canvas-copy strong {
    font-size: 16px;
}

.nvs-auth__canvas-copy small {
    color: rgba(255, 255, 255, .6);
    font-size: 10px;
}

.nvs-auth__panel {
    min-height: 100vh;
    display: grid;
    place-items: center;
    padding: 40px;
    background: #0a0b10;
}

.nvs-auth__panel-inner {
    width: min(410px, 100%);
}

.nvs-auth__mobile-brand {
    display: none;
}

.nvs-auth__heading {
    margin-bottom: 24px;
}

.nvs-auth__heading h2,
.nvs-auth__heading p {
    margin: 0;
}

.nvs-auth__heading h2 {
    font-size: 27px;
    letter-spacing: -0.04em;
}

.nvs-auth__heading p {
    margin-top: 7px;
    color: var(--nvs-muted);
    font-size: 12px;
}

.nvs-auth-form {
    display: grid;
    gap: 15px;
}

.nvs-field {
    display: grid;
    gap: 7px;
}

.nvs-field__label {
    color: var(--nvs-text-soft);
    font-size: 11px;
    font-weight: 600;
}

.nvs-field input {
    width: 100%;
    height: 46px;
    padding: 0 13px;
    border: 1px solid var(--nvs-border);
    border-radius: 11px;
    outline: 0;
    color: var(--nvs-text);
    background: rgba(255, 255, 255, 0.03);
}

.nvs-field input:focus {
    border-color: rgba(138, 125, 255, .48);
    box-shadow: 0 0 0 3px rgba(138, 125, 255, .08);
}

.nvs-field input::placeholder {
    color: #585b68;
}

.nvs-auth-form__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    color: var(--nvs-muted);
    font-size: 10px;
}

.nvs-checkbox {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}

.nvs-checkbox input {
    accent-color: var(--nvs-accent);
}

.nvs-text-link,
.nvs-auth__switch a {
    color: var(--nvs-accent-strong);
    text-decoration: none;
}

.nvs-text-link:hover,
.nvs-auth__switch a:hover {
    text-decoration: underline;
}

.nvs-auth__switch {
    margin-top: 22px;
    color: var(--nvs-muted);
    font-size: 11px;
    text-align: center;
}

.nvs-auth__legal {
    margin: 26px 0 0;
    color: #555864;
    font-size: 9px;
    text-align: center;
}

.nvs-boot,
.nvs-noscript {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    color: var(--nvs-text-soft);
    background: var(--nvs-bg);
}

.nvs-boot__mark {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border-radius: 10px;
    color: white;
    font-weight: 800;
    background: var(--nvs-accent);
}

@media (max-width: 1100px) {
    .nvs-create-layout {
        grid-template-columns: 1fr;
    }

    .nvs-preview-panel {
        position: static;
    }

    .nvs-output-placeholder {
        min-height: 300px;
    }

    .nvs-auth {
        grid-template-columns: 1fr 440px;
    }
}

@media (max-width: 860px) {
    .nvs-sidebar {
        width: min(300px, 86vw);
        transform: translateX(-102%);
        transition: transform 200ms ease;
        box-shadow: 30px 0 80px rgba(0, 0, 0, .55);
    }

    .nvs-sidebar--open {
        transform: translateX(0);
    }

    .nvs-sidebar__close,
    .nvs-mobile-menu-button,
    .nvs-mobile-overlay {
        display: grid !important;
    }

    .nvs-mobile-overlay {
        position: fixed;
        inset: 0;
        z-index: 45;
        width: 100%;
        height: 100%;
        padding: 0;
        border: 0;
        background: rgba(0, 0, 0, .64);
        backdrop-filter: blur(4px);
    }

    .nvs-workspace {
        width: 100%;
        margin-left: 0;
    }

    .nvs-topbar {
        padding: 0 20px;
    }

    .nvs-page {
        padding: 28px 20px 50px;
    }

    .nvs-api-banner {
        margin-inline: 20px;
    }

    .nvs-auth {
        display: block;
    }

    .nvs-auth__visual {
        display: none;
    }

    .nvs-auth__panel {
        padding: 32px 22px;
    }

    .nvs-auth__mobile-brand {
        display: block;
        margin-bottom: 54px;
    }
}

@media (max-width: 680px) {
    .nvs-topbar {
        height: 68px;
        padding: 0 14px;
    }

    .nvs-topbar__eyebrow {
        display: block;
    }

    .nvs-topbar h1 {
        font-size: 14px;
    }

    .nvs-credit-chip > span:not(.nvs-credit-chip__icon) {
        display: none;
    }

    .nvs-credit-chip {
        padding-right: 9px;
    }

    .nvs-page {
        padding: 24px 14px 42px;
    }

    .nvs-api-banner {
        margin: 12px 14px 0;
    }

    .nvs-page-intro {
        align-items: flex-start;
        flex-direction: column;
        margin-bottom: 20px;
    }

    .nvs-page-intro h2 {
        font-size: 27px;
    }

    .nvs-creator-card {
        padding: 16px;
        border-radius: 18px;
    }

    .nvs-control-grid,
    .nvs-billing-grid,
    .nvs-account-grid {
        grid-template-columns: 1fr;
    }

    .nvs-generate-row {
        margin: 20px -16px -16px;
        padding: 13px 16px;
        border-radius: 0 0 18px 18px;
    }

    .nvs-preview-panel {
        padding: 14px;
        border-radius: 18px;
    }

    .nvs-output-placeholder {
        min-height: 270px;
        padding: 25px 18px;
    }

    .nvs-filter-bar {
        align-items: stretch;
        flex-direction: column;
    }

    .nvs-search-preview {
        width: 100%;
    }

    .nvs-empty-state {
        min-height: 360px;
        border-radius: 18px;
    }

    .nvs-segmented {
        width: 100%;
    }

    .nvs-segmented button {
        flex: 1;
        min-width: 0;
    }
}

@media (max-width: 430px) {
    .nvs-ratio-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .nvs-speed-grid {
        grid-template-columns: 1fr;
    }

    .nvs-generate-row {
        align-items: stretch;
        flex-direction: column;
    }

    .nvs-generate-row .nvs-primary-button {
        width: 100%;
    }

    .nvs-auth__panel {
        align-items: start;
        padding-top: 25px;
    }

    .nvs-auth__mobile-brand {
        margin-bottom: 40px;
    }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}

.nvs-access-card {
    position: relative;
    width: min(480px, calc(100% - 32px));
    padding: 34px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
    border: 1px solid var(--nvs-border);
    border-radius: var(--nvs-radius-lg);
    text-align: center;
    background: rgba(18, 20, 29, .9);
    box-shadow: var(--nvs-shadow);
}

.nvs-access-card__icon {
    width: 58px;
    height: 58px;
    margin-top: 12px;
    display: grid;
    place-items: center;
    border-radius: 18px;
    color: var(--nvs-warning);
    background: rgba(242, 197, 114, .1);
}

.nvs-access-card h1 {
    margin: 0;
    font-size: 24px;
    letter-spacing: -.04em;
}

.nvs-access-card p {
    max-width: 390px;
    margin: 0 0 6px;
    color: var(--nvs-text-soft);
    font-size: 12px;
}


/* Authentication phase additions */
.nvs-inline-notice--error {
    border-color: rgba(255, 127, 145, 0.28);
    color: #ffb0bd;
    background: rgba(255, 127, 145, 0.09);
}

.nvs-inline-notice--success {
    border-color: rgba(99, 215, 160, 0.28);
    color: #a5ebc9;
    background: rgba(99, 215, 160, 0.09);
}

.nvs-inline-notice--info {
    border-color: rgba(138, 125, 255, 0.24);
    color: #c8c1ff;
    background: rgba(138, 125, 255, 0.09);
}

.nvs-field__hint {
    color: var(--nvs-muted);
    font-size: 9px;
}

.nvs-field input:disabled,
.nvs-primary-button:disabled,
.nvs-secondary-button:disabled {
    cursor: not-allowed;
    opacity: 0.58;
}

.nvs-account-form {
    display: grid;
    gap: 15px;
    margin-top: 20px;
}

.nvs-account-form__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

@media (max-width: 680px) {
    .nvs-account-form__grid {
        grid-template-columns: 1fr;
    }
}


.nvs-age-confirmation { align-items: flex-start; margin-top: 4px; }
.nvs-auth__policy-notice { margin: -4px 0 4px; color: var(--nvs-text-soft); font-size: 12px; line-height: 1.5; }
.nvs-auth__legal a { color: var(--nvs-accent-strong); text-decoration: none; }
.nvs-auth__legal a:hover { text-decoration: underline; }
/* Catalog phase additions */
.nvs-model-select--native {
    position: relative;
    cursor: default;
}

.nvs-model-select--native:hover {
    border-color: var(--nvs-border-strong);
}

.nvs-model-native-select {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
}

.nvs-model-select--native > .nvs-icon {
    color: var(--nvs-muted);
    pointer-events: none;
}

.nvs-model-loading,
.nvs-catalog-empty {
    min-height: 72px;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px;
    border: 1px dashed var(--nvs-border-strong);
    border-radius: 14px;
    color: var(--nvs-text-soft);
    background: rgba(255, 255, 255, 0.02);
}

.nvs-catalog-empty strong,
.nvs-catalog-empty p {
    display: block;
    margin: 0;
}

.nvs-catalog-empty strong {
    color: var(--nvs-text);
    font-size: 12px;
}

.nvs-catalog-empty p {
    margin-top: 3px;
    color: var(--nvs-muted);
    font-size: 10px;
}

.nvs-mini-spinner {
    width: 15px;
    height: 15px;
    display: inline-block;
    flex: 0 0 auto;
    border: 2px solid rgba(255, 255, 255, 0.18);
    border-top-color: currentColor;
    border-radius: 50%;
    animation: nvs-spin .75s linear infinite;
}

@keyframes nvs-spin {
    to { transform: rotate(360deg); }
}

.nvs-capability-row {
    margin-top: 14px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    color: var(--nvs-muted);
    font-size: 10px;
}

.nvs-capability-row > div {
    display: flex;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 6px;
}

.nvs-capability-chip {
    padding: 4px 7px;
    border: 1px solid var(--nvs-border);
    border-radius: 999px;
    color: var(--nvs-text-soft);
    background: rgba(255, 255, 255, 0.025);
    text-transform: capitalize;
}

.nvs-dynamic-input,
.nvs-dynamic-select,
.nvs-dynamic-textarea {
    width: 100%;
    border: 1px solid var(--nvs-border);
    border-radius: 13px;
    color: var(--nvs-text);
    background: rgba(6, 7, 11, 0.43);
    outline: 0;
}

.nvs-dynamic-input,
.nvs-dynamic-select {
    min-height: 45px;
    padding: 0 13px;
}

.nvs-dynamic-textarea {
    min-height: 142px;
    padding: 14px;
    resize: vertical;
}

.nvs-dynamic-select {
    color-scheme: dark;
}

.nvs-dynamic-input:focus,
.nvs-dynamic-select:focus,
.nvs-dynamic-textarea:focus {
    border-color: rgba(138, 125, 255, 0.46);
    box-shadow: 0 0 0 3px rgba(138, 125, 255, 0.08);
}

.nvs-dynamic-input::placeholder,
.nvs-dynamic-textarea::placeholder {
    color: #5f6270;
}

.nvs-field-counter {
    color: var(--nvs-muted);
    font-size: 9px !important;
    font-weight: 500 !important;
}

.nvs-switch-field {
    min-height: 55px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 10px 13px;
    border: 1px solid var(--nvs-border);
    border-radius: 13px;
    background: rgba(255, 255, 255, 0.02);
    cursor: pointer;
}

.nvs-switch-field > span:first-child strong,
.nvs-switch-field > span:first-child small {
    display: block;
}

.nvs-switch-field > span:first-child strong {
    font-size: 12px;
}

.nvs-switch-field > span:first-child small {
    margin-top: 2px;
    color: var(--nvs-muted);
    font-size: 9px;
}

.nvs-switch-field input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.nvs-switch-field__track {
    position: relative;
    width: 40px;
    height: 22px;
    flex: 0 0 auto;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.12);
    transition: 160ms ease;
}

.nvs-switch-field__track::after {
    content: "";
    position: absolute;
    width: 16px;
    height: 16px;
    left: 3px;
    top: 3px;
    border-radius: 50%;
    background: white;
    transition: 160ms ease;
}

.nvs-switch-field input:checked + .nvs-switch-field__track {
    background: var(--nvs-accent);
}

.nvs-switch-field input:checked + .nvs-switch-field__track::after {
    transform: translateX(18px);
}

.nvs-generate-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 9px;
}

.nvs-server-validated {
    display: inline-flex !important;
    align-items: center;
    gap: 4px;
    margin-top: 4px;
    color: var(--nvs-green);
    font-size: 9px;
    font-weight: 650;
}

@media (max-width: 700px) {
    .nvs-capability-row {
        flex-direction: column;
    }

    .nvs-capability-row > div {
        justify-content: flex-start;
    }

    .nvs-generate-actions {
        width: 100%;
        align-items: stretch;
        flex-direction: column;
    }

    .nvs-generate-actions .nvs-primary-button,
    .nvs-generate-actions .nvs-secondary-button {
        width: 100%;
    }
}

.nvs-wallet-inline {
    display: block;
    margin-top: 5px;
    color: var(--nvs-text-soft);
    font-size: 11px;
}

.nvs-credit-ledger {
    display: grid;
}

.nvs-credit-ledger__row {
    display: grid;
    grid-template-columns: 150px minmax(0, 1fr) auto;
    gap: 16px;
    align-items: center;
    min-height: 72px;
    padding: 14px 20px;
    border-top: 1px solid var(--nvs-border);
}

.nvs-credit-ledger__type {
    width: max-content;
    max-width: 145px;
    padding: 5px 9px;
    overflow: hidden;
    border-radius: 999px;
    color: var(--nvs-text-soft);
    background: rgba(255, 255, 255, 0.05);
    font-size: 10px;
    font-weight: 750;
    letter-spacing: .04em;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
}

.nvs-credit-ledger__type--bonus,
.nvs-credit-ledger__type--allocation,
.nvs-credit-ledger__type--refund,
.nvs-credit-ledger__type--release {
    color: var(--nvs-green);
    background: rgba(99, 215, 160, 0.1);
}

.nvs-credit-ledger__type--capture,
.nvs-credit-ledger__type--reservation,
.nvs-credit-ledger__type--admin_adjustment {
    color: var(--nvs-warning);
    background: rgba(242, 197, 114, 0.1);
}

.nvs-credit-ledger__copy strong,
.nvs-credit-ledger__copy small {
    display: block;
}

.nvs-credit-ledger__copy small {
    margin-top: 3px;
    color: var(--nvs-muted);
}

.nvs-credit-ledger__delta {
    text-align: right;
}

.nvs-credit-ledger__delta strong,
.nvs-credit-ledger__delta small {
    display: block;
}

.nvs-credit-ledger__delta small {
    margin-top: 3px;
    color: var(--nvs-muted);
}

@media (max-width: 720px) {
    .nvs-credit-ledger__row {
        grid-template-columns: 1fr auto;
    }

    .nvs-credit-ledger__type {
        grid-column: 1 / -1;
    }
}


.nvs-commerce-section{margin:28px 0}.nvs-commerce-section__head{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin-bottom:16px}.nvs-commerce-section__head h3{margin:0 0 5px;font-size:20px}.nvs-commerce-section__head p{margin:0;color:var(--nvs-muted)}.nvs-pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}.nvs-pricing-card{display:flex;flex-direction:column;gap:15px;min-height:330px;padding:22px;border:1px solid var(--nvs-border);border-radius:18px;background:var(--nvs-panel)}.nvs-pricing-card--featured{border-color:rgba(139,92,246,.75);box-shadow:0 0 0 1px rgba(139,92,246,.12),0 20px 60px rgba(37,23,82,.25)}.nvs-pricing-card__head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.nvs-pricing-card__head h4{margin:8px 0 0;font-size:20px}.nvs-pricing-card__badge{padding:6px 9px;border-radius:999px;background:rgba(139,92,246,.16);color:#c4b5fd;font-size:11px;font-weight:700}.nvs-pricing-card__price{font-size:27px}.nvs-pricing-card__price--sale{display:flex;align-items:baseline;gap:10px}.nvs-pricing-card__price--sale del{color:var(--nvs-muted);font-size:16px;font-weight:500}.nvs-pricing-card__price--sale strong{font-size:27px}.nvs-pricing-card>p{margin:0;color:var(--nvs-muted);min-height:42px}.nvs-pricing-card__credits{display:flex;align-items:center;gap:8px;padding:12px;border-radius:12px;background:rgba(255,255,255,.035)}.nvs-pricing-card__credits span{margin-left:auto;color:var(--nvs-muted);font-size:12px}.nvs-pricing-card__features{list-style:none;margin:0;padding:0;display:grid;gap:9px;flex:1}.nvs-pricing-card__features li{display:flex;gap:8px;color:var(--nvs-text-soft);font-size:13px}.nvs-subscription-list,.nvs-order-list{display:grid;gap:10px}.nvs-subscription-row,.nvs-order-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 18px;border:1px solid var(--nvs-border);border-radius:14px;background:var(--nvs-panel)}.nvs-subscription-row>div,.nvs-order-row>div{display:grid;gap:5px}.nvs-subscription-row small,.nvs-order-row small{color:var(--nvs-muted)}.nvs-order-row__right{text-align:right;justify-items:end}.nvs-order-status{display:inline-flex;padding:5px 8px;border-radius:999px;background:rgba(255,255,255,.06);font-size:11px;text-transform:uppercase;letter-spacing:.04em}.nvs-order-status--completed,.nvs-order-status--active,.nvs-order-status--processing{background:rgba(16,185,129,.12);color:#6ee7b7}.nvs-order-status--failed,.nvs-order-status--cancelled{background:rgba(244,63,94,.12);color:#fda4af}.nvs-order-status--pending,.nvs-order-status--on-hold{background:rgba(245,158,11,.12);color:#fcd34d}.nvs-text-link{color:#a78bfa;text-decoration:none;font-size:12px}.nvs-text-link:hover{text-decoration:underline}@media(max-width:720px){.nvs-commerce-section__head,.nvs-subscription-row,.nvs-order-row{align-items:flex-start;flex-direction:column}.nvs-order-row__right{text-align:left;justify-items:start}.nvs-pricing-grid{grid-template-columns:1fr}}
.nvs-billing-badges{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.nvs-foundation-badge--warning{border-color:rgba(245,158,11,.45);background:rgba(245,158,11,.12);color:#fcd34d}.nvs-inline-notice--danger{border-color:rgba(244,63,94,.38);background:rgba(244,63,94,.09);color:#fecdd3}.nvs-pricing-card__billing{display:block;margin-top:-9px;color:var(--nvs-muted);font-size:12px}.nvs-pricing-card__features--entitlements{padding:12px;border:1px solid rgba(139,92,246,.18);border-radius:12px;background:rgba(139,92,246,.055);flex:none}.nvs-subscription-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px}.nvs-subscription-card{display:flex;flex-direction:column;gap:16px;padding:20px;border:1px solid var(--nvs-border);border-radius:18px;background:var(--nvs-panel)}.nvs-subscription-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.nvs-subscription-card__head h4{margin:7px 0 0;font-size:20px}.nvs-subscription-card__metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.nvs-subscription-card__metrics>div{display:grid;gap:5px;padding:12px;border-radius:12px;background:rgba(255,255,255,.035)}.nvs-subscription-card__metrics small{color:var(--nvs-muted);font-size:11px}.nvs-subscription-card__metrics strong{overflow-wrap:anywhere;font-size:13px}.nvs-secondary-button--danger{border-color:rgba(244,63,94,.35);color:#fda4af}.nvs-secondary-button--danger:hover:not(:disabled){border-color:rgba(244,63,94,.65);background:rgba(244,63,94,.08)}
@media(max-width:720px){.nvs-billing-badges{justify-content:flex-start}.nvs-subscription-card__head{flex-direction:column}.nvs-subscription-card__metrics{grid-template-columns:1fr}.nvs-subscription-grid{grid-template-columns:1fr}}
.nvs-payment-provider-actions{display:grid;gap:10px;margin-top:auto}.nvs-payment-provider-actions button{width:100%}
.nvs-subscription-card__actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}

/* Plans and credit packs are intentionally presented as two different products. */
.nvs-commerce-catalog{display:grid;gap:34px;margin:28px 0 40px}.nvs-offer-section{display:grid;gap:18px}.nvs-offer-section--topups{padding-top:32px;border-top:1px solid var(--nvs-border)}.nvs-offer-section__head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.nvs-offer-section__title{display:flex;align-items:flex-start;gap:13px}.nvs-offer-section__icon{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border:1px solid rgba(139,92,246,.3);border-radius:13px;background:rgba(139,92,246,.11);color:#c4b5fd}.nvs-offer-section__title h3{margin:4px 0 5px;font-size:22px}.nvs-offer-section__title p{max-width:780px;margin:0;color:var(--nvs-muted);line-height:1.55}.nvs-offer-section__count{white-space:nowrap;padding:7px 10px;border:1px solid var(--nvs-border);border-radius:999px;background:rgba(255,255,255,.025);color:var(--nvs-muted);font-size:12px}.nvs-offer-section__note{margin:0;color:var(--nvs-muted);font-size:12px}.nvs-current-plan-banner{display:flex;align-items:center;gap:12px;padding:13px 15px;border:1px solid rgba(16,185,129,.28);border-radius:14px;background:rgba(16,185,129,.07)}.nvs-current-plan-banner__icon{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:10px;background:rgba(16,185,129,.16);color:#6ee7b7}.nvs-current-plan-banner>div{display:grid;gap:3px}.nvs-current-plan-banner small{color:var(--nvs-muted)}.nvs-current-plan-banner__status{margin-left:auto;padding:6px 9px;border-radius:999px;background:rgba(16,185,129,.14);color:#6ee7b7;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.nvs-plan-grid{display:grid;grid-template-columns:repeat(4,minmax(225px,1fr));gap:16px;align-items:stretch}.nvs-plan-card{position:relative;display:flex;flex-direction:column;gap:15px;min-width:0;min-height:470px;padding:22px;border:1px solid var(--nvs-border);border-radius:19px;background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,.012));overflow:hidden}.nvs-plan-card--featured{border-color:rgba(139,92,246,.75);box-shadow:0 0 0 1px rgba(139,92,246,.13),0 20px 55px rgba(35,22,80,.24)}.nvs-plan-card.is-current{border-color:rgba(16,185,129,.5);box-shadow:0 0 0 1px rgba(16,185,129,.08)}.nvs-plan-card.is-muted{opacity:.76}.nvs-plan-card__recommended{margin:-22px -22px 3px;padding:9px 14px;background:linear-gradient(90deg,rgba(124,58,237,.72),rgba(139,92,246,.52));color:#fff;text-align:center;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.nvs-plan-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.nvs-plan-card__tier{display:inline-flex;color:#a78bfa;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.nvs-plan-card__head h4{margin:7px 0 0;font-size:21px}.nvs-plan-card__state{padding:6px 8px;border-radius:999px;background:rgba(16,185,129,.13);color:#6ee7b7;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.nvs-plan-card__price{display:flex;align-items:baseline;gap:8px}.nvs-plan-card__price>strong{font-size:30px;line-height:1}.nvs-plan-card__price>span,.nvs-plan-card__billing{color:var(--nvs-muted);font-size:12px}.nvs-plan-card__formatted-price{display:flex;align-items:baseline;gap:9px;font-size:30px;line-height:1}.nvs-plan-card__formatted-price.is-sale del{color:var(--nvs-muted);font-size:14px;font-weight:500}.nvs-plan-card__description{min-height:44px;margin:0;color:var(--nvs-muted);line-height:1.5}.nvs-plan-card__credit-summary{display:flex;align-items:center;gap:11px;padding:13px;border:1px solid rgba(139,92,246,.14);border-radius:13px;background:rgba(139,92,246,.055)}.nvs-plan-card__credit-icon{display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;border-radius:10px;background:rgba(139,92,246,.14);color:#c4b5fd}.nvs-plan-card__credit-summary>div{display:grid;gap:3px}.nvs-plan-card__credit-summary strong{font-size:14px}.nvs-plan-card__credit-summary small{color:var(--nvs-muted);font-size:11px}.nvs-plan-card__features{list-style:none;display:grid;gap:9px;margin:0;padding:0}.nvs-plan-card__features li{display:flex;align-items:flex-start;gap:8px;color:var(--nvs-text-soft);font-size:13px;line-height:1.4}.nvs-plan-card__features li svg{flex:0 0 auto;margin-top:1px;color:#a78bfa}.nvs-plan-card__features--entitlements{padding:13px;border:1px solid rgba(139,92,246,.18);border-radius:13px;background:rgba(139,92,246,.045)}.nvs-plan-card__features--secondary{color:var(--nvs-muted)}.nvs-plan-card__cta,.nvs-plan-card .nvs-payment-provider-actions{margin-top:auto}
.nvs-credit-pack-grid{display:grid;grid-template-columns:repeat(3,minmax(260px,1fr));gap:15px}.nvs-credit-pack-card{display:flex;flex-direction:column;gap:14px;min-width:0;padding:19px;border:1px solid var(--nvs-border);border-radius:17px;background:linear-gradient(180deg,rgba(255,255,255,.022),rgba(255,255,255,.01))}.nvs-credit-pack-card--featured{border-color:rgba(139,92,246,.58)}.nvs-credit-pack-card__top{display:flex;align-items:center;gap:11px}.nvs-credit-pack-card__icon{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:12px;background:rgba(139,92,246,.12);color:#c4b5fd}.nvs-credit-pack-card__title{display:grid;gap:3px;min-width:0}.nvs-credit-pack-card__title>span{color:#a78bfa;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.07em}.nvs-credit-pack-card__title h4{margin:0;overflow-wrap:anywhere;font-size:17px}.nvs-credit-pack-card__top>.nvs-pricing-card__badge{margin-left:auto}.nvs-credit-pack-card__body{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 18px;align-items:end;padding:15px;border-radius:13px;background:rgba(255,255,255,.03)}.nvs-credit-pack-card__amount{display:grid;gap:2px}.nvs-credit-pack-card__amount strong{font-size:27px;line-height:1}.nvs-credit-pack-card__amount span{color:var(--nvs-muted);font-size:12px}.nvs-credit-pack-card__price{display:grid;justify-items:end;gap:3px;text-align:right}.nvs-credit-pack-card__formatted-price{display:flex;align-items:baseline;justify-content:flex-end;gap:8px;font-size:22px}.nvs-credit-pack-card__formatted-price.is-sale del{color:var(--nvs-muted);font-size:12px;font-weight:500}.nvs-credit-pack-card__price small{color:var(--nvs-muted);font-size:10px}.nvs-credit-pack-card__body>p{grid-column:1/-1;margin:5px 0 0;color:var(--nvs-muted);font-size:12px;line-height:1.45}.nvs-credit-pack-card__features{list-style:none;display:flex;flex-wrap:wrap;gap:8px 13px;margin:0;padding:0}.nvs-credit-pack-card__features li{display:flex;align-items:center;gap:6px;color:var(--nvs-text-soft);font-size:11px}.nvs-credit-pack-card__features svg{color:#a78bfa}.nvs-payment-provider-actions--compact{margin-top:auto}.nvs-payment-provider-actions--compact button{min-height:42px}
@media(max-width:1380px){.nvs-plan-grid{grid-template-columns:repeat(2,minmax(240px,1fr))}.nvs-credit-pack-grid{grid-template-columns:repeat(2,minmax(260px,1fr))}}@media(max-width:820px){.nvs-offer-section__head{flex-direction:column}.nvs-offer-section__count{align-self:flex-start}.nvs-current-plan-banner{align-items:flex-start;flex-wrap:wrap}.nvs-current-plan-banner__status{margin-left:42px}.nvs-plan-grid,.nvs-credit-pack-grid{grid-template-columns:1fr}.nvs-plan-card{min-height:0}.nvs-credit-pack-card__body{grid-template-columns:1fr}.nvs-credit-pack-card__price{justify-items:start;text-align:left}.nvs-credit-pack-card__body>p{grid-column:auto}}@media(max-width:520px){.nvs-offer-section__title{gap:10px}.nvs-offer-section__icon{flex-basis:36px;width:36px;height:36px}.nvs-plan-card,.nvs-credit-pack-card{padding:17px}.nvs-plan-card__recommended{margin:-17px -17px 2px}.nvs-current-plan-banner__status{margin-left:0}.nvs-plan-card__formatted-price,.nvs-plan-card__price>strong{font-size:26px}}

/* Dynamic plan creation estimates and included-model visibility. */
.nvs-plan-card__section-label{display:block;color:#a78bfa;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.07em}.nvs-plan-card__estimates,.nvs-plan-card__models{display:grid;gap:9px;padding:12px;border:1px solid rgba(255,255,255,.07);border-radius:13px;background:rgba(255,255,255,.022)}.nvs-plan-card__estimate-grid{display:grid;gap:7px}.nvs-plan-card__estimate-grid>div{display:flex;align-items:center;gap:8px;color:var(--nvs-text-soft);font-size:12px;font-weight:650}.nvs-plan-card__estimate-grid svg{color:#c4b5fd}.nvs-plan-card__model-chips,.nvs-available-models-strip__chips{display:flex;flex-wrap:wrap;gap:6px}.nvs-plan-card__model-chips span,.nvs-available-models-strip__chips span{max-width:100%;padding:5px 7px;border:1px solid rgba(139,92,246,.18);border-radius:999px;background:rgba(139,92,246,.065);color:#c4b5fd;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nvs-plan-card__model-chips .is-more,.nvs-available-models-strip__chips .is-more{border-color:var(--nvs-border);background:rgba(255,255,255,.03);color:var(--nvs-muted)}.nvs-plan-card__models small{color:var(--nvs-muted);font-size:11px}.nvs-available-models-strip{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 16px;border:1px solid rgba(139,92,246,.2);border-radius:15px;background:linear-gradient(90deg,rgba(139,92,246,.07),rgba(255,255,255,.015))}.nvs-available-models-strip>div:first-child{display:grid;gap:4px;min-width:190px}.nvs-available-models-strip strong{font-size:13px}.nvs-available-models-strip__chips{justify-content:flex-end}.nvs-plan-card{min-height:620px}@media(max-width:820px){.nvs-available-models-strip{align-items:flex-start;flex-direction:column}.nvs-available-models-strip__chips{justify-content:flex-start}.nvs-plan-card{min-height:0}}
/* Phase 6 — generations and gallery */
.nvs-generation-grid,
.nvs-gallery-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.nvs-generation-card,
.nvs-gallery-card {
    overflow: hidden;
    border: 1px solid var(--nvs-border);
    border-radius: 18px;
    background: var(--nvs-panel);
    box-shadow: 0 14px 38px rgba(0, 0, 0, .18);
}

.nvs-generation-card__preview,
.nvs-gallery-card__media {
    position: relative;
    display: flex;
    min-height: 210px;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background:
        radial-gradient(circle at 35% 25%, rgba(119, 91, 255, .24), transparent 42%),
        linear-gradient(145deg, rgba(255,255,255,.035), rgba(255,255,255,.01));
}

.nvs-generation-card__preview img,
.nvs-gallery-card__media img {
    width: 100%;
    height: 100%;
    min-height: 210px;
    object-fit: cover;
}

.nvs-generation-card__placeholder {
    display: grid;
    gap: 12px;
    justify-items: center;
    color: var(--nvs-text-soft);
}

.nvs-generation-state {
    position: absolute;
    top: 12px;
    right: 12px;
    padding: 6px 10px;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 999px;
    background: rgba(8, 10, 18, .78);
    color: var(--nvs-text-soft);
    font-size: 10px;
    font-weight: 750;
    letter-spacing: .06em;
    text-transform: uppercase;
    backdrop-filter: blur(10px);
}

.nvs-generation-state--succeeded {
    color: var(--nvs-green);
    border-color: rgba(99, 215, 160, .28);
}

.nvs-generation-state--failed,
.nvs-generation-state--cancelled {
    color: #ff9ea7;
    border-color: rgba(255, 111, 125, .28);
}

.nvs-generation-state--queued,
.nvs-generation-state--dispatching,
.nvs-generation-state--submitted,
.nvs-generation-state--processing {
    color: #c8bcff;
    border-color: rgba(151, 124, 255, .32);
}

.nvs-generation-card__body,
.nvs-gallery-card__body {
    padding: 16px;
}

.nvs-generation-card__heading,
.nvs-generation-card__footer,
.nvs-gallery-card__body > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.nvs-generation-card__heading strong,
.nvs-generation-card__heading small,
.nvs-gallery-card__body strong,
.nvs-gallery-card__body p {
    display: block;
}

.nvs-generation-card__heading small,
.nvs-generation-card__body > p,
.nvs-gallery-card__body p,
.nvs-gallery-card__body small,
.nvs-generation-card__footer small {
    color: var(--nvs-muted);
}

.nvs-generation-card__body > p,
.nvs-gallery-card__body p {
    min-height: 38px;
    margin: 12px 0;
    overflow: hidden;
    line-height: 1.5;
    text-overflow: ellipsis;
}

.nvs-progress-track {
    height: 6px;
    overflow: hidden;
    border-radius: 999px;
    background: rgba(255,255,255,.06);
}

.nvs-progress-track > span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #7259ff, #a08cff);
    transition: width .35s ease;
}

.nvs-generation-error {
    display: flex;
    gap: 8px;
    align-items: flex-start;
    margin-top: 12px;
    padding: 10px 12px;
    border: 1px solid rgba(255, 111, 125, .2);
    border-radius: 10px;
    color: #ffb2ba;
    background: rgba(255, 111, 125, .07);
    font-size: 11px;
}

.nvs-generation-card__footer {
    margin-top: 14px;
}

.nvs-generation-card__footer > div {
    display: flex;
    gap: 10px;
    align-items: center;
}

.nvs-link-button {
    padding: 0;
    border: 0;
    color: #b9abff;
    background: transparent;
    font-size: 11px;
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
}

.nvs-link-button:hover {
    color: #d7d0ff;
}

.nvs-link-button--danger {
    color: #ff9ea7;
}

.nvs-link-button:disabled {
    opacity: .55;
    cursor: wait;
}

.nvs-gallery-card__media {
    min-height: 250px;
}

.nvs-gallery-card__media img {
    min-height: 250px;
}

.nvs-gallery-card__body a {
    color: #b9abff;
    font-size: 11px;
    font-weight: 700;
    text-decoration: none;
}

@media (max-width: 1100px) {
    .nvs-generation-grid,
    .nvs-gallery-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 680px) {
    .nvs-generation-grid,
    .nvs-gallery-grid {
        grid-template-columns: 1fr;
    }

    .nvs-generation-card__preview,
    .nvs-generation-card__preview img,
    .nvs-gallery-card__media,
    .nvs-gallery-card__media img {
        min-height: 220px;
    }

    .nvs-generation-card__footer {
        align-items: flex-start;
        flex-direction: column;
    }
}

.nvs-generation-card__preview video,
.nvs-gallery-card__media video {
    width: 100%;
    height: 100%;
    min-height: 210px;
    object-fit: cover;
    background: #05060b;
}

.nvs-gallery-card__media video {
    min-height: 250px;
}

.nvs-artifact-video {
    display: block;
}

@media (max-width: 680px) {
    .nvs-generation-card__preview video,
    .nvs-gallery-card__media video {
        min-height: 220px;
    }
}
/* Novirec Workspace UX v0.13.2 */
:root {
    --nvs-rail: 76px;
    --nvs-context-panel: 392px;
}

.nvs-app--workspace .nvs-sidebar { display: none !important; }
.nvs-rail {
    position: fixed;
    inset: 0 auto 0 0;
    z-index: 70;
    width: var(--nvs-rail);
    display: flex;
    flex-direction: column;
    align-items: center;
    border-right: 1px solid var(--nvs-border);
    background: rgba(8, 9, 13, .96);
    backdrop-filter: blur(24px);
}
.nvs-rail__top {
    width: 100%;
    height: 76px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-bottom: 1px solid var(--nvs-border);
}
.nvs-rail__brand { border: 0; background: transparent; padding: 0; cursor: pointer; }
.nvs-rail__brand .nvs-brand__symbol { width: 38px; height: 38px; border-radius: 12px; }
.nvs-rail__close { display: none !important; }
.nvs-rail__nav {
    width: 100%;
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 7px;
    padding: 20px 9px;
}
.nvs-rail__item {
    position: relative;
    width: 58px;
    min-height: 54px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    border: 1px solid transparent;
    border-radius: 14px;
    color: var(--nvs-muted);
    text-decoration: none;
    transition: 160ms ease;
}
.nvs-rail__item:hover { color: var(--nvs-text); background: rgba(255,255,255,.04); }
.nvs-rail__item--active {
    color: #fff;
    border-color: rgba(151,137,255,.18);
    background: linear-gradient(145deg, rgba(138,125,255,.22), rgba(138,125,255,.07));
}
.nvs-rail__icon { width: 28px; height: 27px; display: grid; place-items: center; }
.nvs-rail__item--active .nvs-rail__icon { color: var(--nvs-accent-strong); }
.nvs-rail__label { max-width: 54px; overflow: hidden; font-size: 9px; font-weight: 660; white-space: nowrap; text-overflow: ellipsis; }
.nvs-rail__active-dot { position: absolute; right: -1px; width: 4px; height: 20px; border-radius: 4px 0 0 4px; background: var(--nvs-accent-strong); box-shadow: 0 0 16px var(--nvs-accent); }
.nvs-rail__bottom { width: 100%; display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 14px 8px; border-top: 1px solid var(--nvs-border); }
.nvs-rail__wallet { width: 56px; display: flex; align-items: center; justify-content: center; gap: 4px; padding: 8px 4px; border: 1px solid var(--nvs-border); border-radius: 12px; color: var(--nvs-accent-strong); background: rgba(138,125,255,.08); cursor: pointer; font-size: 10px; font-weight: 700; }
.nvs-avatar--button { cursor: pointer; padding: 0; }
.nvs-workspace--rail { width: calc(100% - var(--nvs-rail)); margin-left: var(--nvs-rail); }
.nvs-page--workspace { max-width: none; padding: 0; }
.nvs-topbar--workspace { padding-inline: 24px; }

.nvs-context-workspace {
    min-height: calc(100vh - 76px);
    display: grid;
    grid-template-columns: var(--nvs-context-panel) minmax(0, 1fr);
    background: var(--nvs-bg);
}
.nvs-context-panel {
    position: sticky;
    top: 76px;
    height: calc(100vh - 76px);
    min-width: 0;
    display: flex;
    flex-direction: column;
    border-right: 1px solid var(--nvs-border);
    background: rgba(14,16,23,.96);
    z-index: 20;
}
.nvs-context-panel__header {
    min-height: 82px;
    padding: 17px 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    border-bottom: 1px solid var(--nvs-border);
}
.nvs-context-panel__header h2, .nvs-canvas-toolbar h2 { margin: 2px 0 0; font-size: 19px; line-height: 1.2; letter-spacing: -.025em; }
.nvs-context-eyebrow { display: block; color: var(--nvs-accent-strong); font-size: 9px; font-weight: 760; letter-spacing: .13em; text-transform: uppercase; }
.nvs-context-status { padding: 5px 8px; border: 1px solid var(--nvs-border); border-radius: 999px; color: var(--nvs-text-soft); background: rgba(255,255,255,.03); font-size: 9px; font-weight: 680; text-transform: uppercase; }
.nvs-context-panel__scroll { min-height: 0; flex: 1; overflow-y: auto; padding: 16px; scrollbar-width: thin; }
.nvs-context-panel__footer { padding: 14px 16px 16px; border-top: 1px solid var(--nvs-border); background: rgba(10,11,17,.95); box-shadow: 0 -12px 34px rgba(0,0,0,.16); }
.nvs-context-content { min-width: 0; padding: 24px; overflow: hidden; }
.nvs-context-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; padding: 10px 14px; border-bottom: 1px solid var(--nvs-border); background: rgba(0,0,0,.12); }
.nvs-context-tabs button { min-height: 40px; display: flex; align-items: center; justify-content: center; gap: 7px; border: 1px solid transparent; border-radius: 10px; color: var(--nvs-muted); background: transparent; cursor: pointer; }
.nvs-context-tabs button.is-active { color: #fff; border-color: var(--nvs-border); background: rgba(138,125,255,.13); }
.nvs-context-section { margin-bottom: 14px; }
.nvs-context-section__title, .nvs-context-field__label, .nvs-context-list-heading { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 7px; }
.nvs-context-section__title span, .nvs-context-field__label label, .nvs-context-list-heading span { color: var(--nvs-text); font-size: 11px; font-weight: 690; }
.nvs-context-section__title small, .nvs-context-field__label small { color: var(--nvs-muted); font-size: 9px; }
.nvs-context-select, .nvs-context-input, .nvs-context-textarea, .nvs-action-select {
    width: 100%;
    border: 1px solid var(--nvs-border-strong);
    border-radius: 10px;
    color: var(--nvs-text);
    background: #0b0d13;
}
.nvs-context-select, .nvs-context-input, .nvs-action-select { min-height: 42px; padding: 0 11px; }
.nvs-context-textarea { min-height: 108px; padding: 11px; resize: vertical; }
.nvs-context-select:focus, .nvs-context-input:focus, .nvs-context-textarea:focus { border-color: rgba(138,125,255,.7); box-shadow: 0 0 0 3px rgba(138,125,255,.1); outline: none; }
.nvs-context-field { margin: 16px 0; }
.nvs-context-field.has-error .nvs-context-input, .nvs-context-field.has-error .nvs-context-textarea, .nvs-context-field.has-error .nvs-context-select { border-color: rgba(255,127,145,.6); }
.nvs-field-error { margin-top: 6px; color: var(--nvs-danger); font-size: 10px; }
.nvs-selected-model-summary { display: flex; align-items: center; gap: 10px; margin: 5px 0 17px; padding: 10px; border: 1px solid var(--nvs-border); border-radius: 12px; background: rgba(255,255,255,.025); }
.nvs-selected-model-summary strong, .nvs-selected-model-summary small { display: block; }
.nvs-selected-model-summary strong { font-size: 11px; }
.nvs-selected-model-summary small { margin-top: 2px; color: var(--nvs-muted); font-size: 9px; line-height: 1.4; }
.nvs-context-cost { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 3px 10px; margin-bottom: 10px; }
.nvs-context-cost small, .nvs-context-cost strong { display: block; }
.nvs-context-cost small { color: var(--nvs-muted); font-size: 9px; }
.nvs-context-cost strong { font-size: 14px; }
.nvs-context-cost > span { grid-row: 1 / span 2; grid-column: 2; padding: 4px 7px; border-radius: 999px; color: var(--nvs-muted); background: rgba(255,255,255,.04); font-size: 8px; font-weight: 700; text-transform: uppercase; }
.nvs-context-cost > span.is-ready { color: var(--nvs-green); background: rgba(99,215,160,.1); }
.nvs-create-submit { width: 100%; min-height: 46px; justify-content: center; }
.nvs-context-loading, .nvs-context-empty { display: flex; align-items: center; gap: 8px; padding: 12px; border: 1px dashed var(--nvs-border); border-radius: 10px; color: var(--nvs-muted); font-size: 10px; }
.nvs-switch-field--context { padding: 9px 10px; border: 1px solid var(--nvs-border); border-radius: 10px; }

.nvs-canvas-toolbar { min-height: 58px; display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 20px; }
.nvs-canvas-toolbar__actions { display: flex; align-items: center; gap: 8px; }
.nvs-creation-canvas { display: flex; flex-direction: column; }
.nvs-result-stage { overflow: hidden; border: 1px solid var(--nvs-border); border-radius: 20px; background: #0c0e14; box-shadow: var(--nvs-shadow); }
.nvs-result-stage__media { position: relative; min-height: min(58vh, 650px); display: grid; place-items: center; overflow: hidden; background: radial-gradient(circle at 50% 40%, rgba(138,125,255,.09), transparent 48%), #090b10; }
.nvs-result-stage__media img, .nvs-result-stage__media video { width: 100%; height: min(58vh, 650px); object-fit: contain; background: #08090d; }
.nvs-result-stage__info { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 15px 17px; border-top: 1px solid var(--nvs-border); }
.nvs-result-stage__info h3 { max-width: 760px; margin: 6px 0 2px; font-size: 14px; }
.nvs-result-stage__info p { margin: 0; color: var(--nvs-muted); font-size: 10px; }
.nvs-result-actions { display: flex; align-items: center; flex-wrap: wrap; justify-content: flex-end; gap: 7px; }
.nvs-result-actions .nvs-action-select { width: 150px; min-height: 38px; }
.nvs-result-placeholder { min-height: min(58vh, 650px); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; padding: 30px; text-align: center; color: var(--nvs-muted); }
.nvs-result-placeholder strong { color: var(--nvs-text); font-size: 15px; text-transform: capitalize; }
.nvs-result-placeholder p { max-width: 430px; margin: 0; }
.nvs-stage-spinner { width: 38px; height: 38px; border: 3px solid rgba(255,255,255,.08); border-top-color: var(--nvs-accent); border-radius: 50%; animation: nvs-spin .85s linear infinite; }
.nvs-state-pill { display: inline-flex; padding: 4px 7px; border: 1px solid var(--nvs-border); border-radius: 999px; color: var(--nvs-text-soft); font-size: 8px; font-weight: 760; text-transform: uppercase; }
.nvs-state-pill--succeeded { color: var(--nvs-green); background: rgba(99,215,160,.08); }
.nvs-state-pill--failed, .nvs-state-pill--cancelled { color: var(--nvs-danger); background: rgba(255,127,145,.08); }
.nvs-recent-strip { margin-top: 24px; }
.nvs-recent-strip__head { display: flex; align-items: end; justify-content: space-between; gap: 14px; margin-bottom: 12px; }
.nvs-recent-strip__head h3 { margin: 0; font-size: 15px; }
.nvs-recent-strip__head p { margin: 3px 0 0; color: var(--nvs-muted); font-size: 10px; }
.nvs-text-button { border: 0; padding: 5px; color: var(--nvs-accent-strong); background: transparent; cursor: pointer; font-size: 11px; font-weight: 650; }
.nvs-recent-grid { display: grid; grid-template-columns: repeat(6, minmax(120px,1fr)); gap: 10px; overflow-x: auto; padding-bottom: 4px; }
.nvs-recent-card { min-width: 0; overflow: hidden; padding: 0; border: 1px solid var(--nvs-border); border-radius: 13px; color: var(--nvs-text); background: var(--nvs-panel); cursor: pointer; text-align: left; }
.nvs-recent-card.is-active { border-color: rgba(138,125,255,.75); box-shadow: 0 0 0 2px rgba(138,125,255,.11); }
.nvs-recent-card__media { height: 92px; display: grid; place-items: center; overflow: hidden; color: var(--nvs-muted); background: #090b10; }
.nvs-recent-card__media img, .nvs-recent-card__media video { width: 100%; height: 100%; object-fit: cover; }
.nvs-recent-card__copy { display: block; padding: 8px; }
.nvs-recent-card__copy strong, .nvs-recent-card__copy small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nvs-recent-card__copy strong { font-size: 10px; }
.nvs-recent-card__copy small { margin-top: 2px; color: var(--nvs-muted); font-size: 8px; text-transform: capitalize; }

.nvs-context-menu { display: flex; flex-direction: column; gap: 3px; }
.nvs-context-menu button { width: 100%; min-height: 41px; display: flex; align-items: center; gap: 10px; padding: 0 10px; border: 1px solid transparent; border-radius: 10px; color: var(--nvs-text-soft); background: transparent; cursor: pointer; text-align: left; }
.nvs-context-menu button:hover { color: #fff; background: rgba(255,255,255,.035); }
.nvs-context-menu button.is-active { color: #fff; border-color: rgba(138,125,255,.16); background: rgba(138,125,255,.13); }
.nvs-context-menu button span { flex: 1; }
.nvs-context-menu button small { color: var(--nvs-muted); font-size: 9px; }
.nvs-context-divider { height: 1px; margin: 17px 0; background: var(--nvs-border); }
.nvs-context-list-heading button { border: 0; color: var(--nvs-accent-strong); background: transparent; cursor: pointer; font-size: 10px; }
.nvs-folder-list { display: flex; flex-direction: column; gap: 3px; }
.nvs-folder-row { display: grid; grid-template-columns: minmax(0,1fr) 28px 28px; align-items: center; border-radius: 10px; }
.nvs-folder-row.is-active { background: rgba(138,125,255,.13); }
.nvs-folder-row__open { min-width: 0; min-height: 40px; display: flex; align-items: center; gap: 8px; padding: 0 7px; border: 0; color: var(--nvs-text-soft); background: transparent; cursor: pointer; text-align: left; }
.nvs-folder-row__open span { min-width: 0; flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nvs-folder-row__open small { color: var(--nvs-muted); }
.nvs-folder-row__menu { width: 27px; height: 27px; display: grid; place-items: center; border: 0; border-radius: 7px; color: var(--nvs-muted); background: transparent; cursor: pointer; }
.nvs-folder-row__menu:hover { color: #fff; background: rgba(255,255,255,.05); }
.nvs-folder-row__menu--danger:hover { color: var(--nvs-danger); }
.nvs-library-search { width: min(350px,45vw); display: flex; align-items: center; gap: 8px; padding: 0 11px; border: 1px solid var(--nvs-border); border-radius: 11px; color: var(--nvs-muted); background: #0b0d13; }
.nvs-library-search input { min-width: 0; flex: 1; height: 40px; border: 0; outline: 0; color: var(--nvs-text); background: transparent; }
.nvs-selection-bar { position: sticky; top: 94px; z-index: 10; display: flex; align-items: center; gap: 8px; margin-bottom: 14px; padding: 10px 12px; border: 1px solid rgba(138,125,255,.22); border-radius: 13px; background: rgba(23,22,38,.96); box-shadow: 0 12px 30px rgba(0,0,0,.25); }
.nvs-selection-bar strong { margin-right: auto; font-size: 11px; }
.nvs-selection-bar .nvs-action-select { width: 170px; min-height: 38px; }
.nvs-media-grid { display: grid; grid-template-columns: repeat(auto-fill,minmax(220px,1fr)); gap: 14px; }
.nvs-media-card { position: relative; overflow: hidden; border: 1px solid var(--nvs-border); border-radius: 15px; background: var(--nvs-panel); transition: 150ms ease; }
.nvs-media-card:hover { transform: translateY(-2px); border-color: var(--nvs-border-strong); }
.nvs-media-card.is-selected { border-color: var(--nvs-accent); box-shadow: 0 0 0 2px rgba(138,125,255,.12); }
.nvs-media-card__select { position: absolute; z-index: 4; top: 9px; left: 9px; width: 24px; height: 24px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.28); border-radius: 7px; color: #fff; background: rgba(5,6,10,.64); cursor: pointer; }
.nvs-media-card.is-selected .nvs-media-card__select { border-color: var(--nvs-accent); background: var(--nvs-accent); }
.nvs-media-card__favorite { position: absolute; z-index: 3; top: 9px; right: 9px; width: 25px; height: 25px; display: grid; place-items: center; border-radius: 8px; color: #ff93ba; background: rgba(5,6,10,.66); }
.nvs-media-card__media { height: 210px; display: block; overflow: hidden; background: #090b10; }
.nvs-media-card__media img, .nvs-media-card__media video { width: 100%; height: 100%; object-fit: cover; }
.nvs-media-card__body { padding: 10px; }
.nvs-media-card__body > div:first-child strong, .nvs-media-card__body > div:first-child small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nvs-media-card__body strong { font-size: 11px; }
.nvs-media-card__body small { margin-top: 2px; color: var(--nvs-muted); font-size: 9px; }
.nvs-media-card__actions { display: flex; justify-content: flex-end; gap: 4px; margin-top: 9px; }
.nvs-icon-button--danger:hover { color: var(--nvs-danger); border-color: rgba(255,127,145,.26); }
.nvs-generation-grid--workspace { grid-template-columns: repeat(auto-fill,minmax(300px,1fr)); }

.nvs-billing-mini-plan { margin-bottom: 16px; padding: 13px; border: 1px solid rgba(138,125,255,.18); border-radius: 13px; background: linear-gradient(145deg,rgba(138,125,255,.13),rgba(138,125,255,.035)); }
.nvs-billing-mini-plan small, .nvs-billing-mini-plan strong, .nvs-billing-mini-plan span { display: block; }
.nvs-billing-mini-plan small, .nvs-billing-mini-plan span { color: var(--nvs-muted); font-size: 9px; }
.nvs-billing-mini-plan strong { margin: 3px 0; font-size: 15px; }
.nvs-subscription-card--current { max-width: 880px; }
.nvs-subscription-history-list { display: grid; gap: 10px; }
.nvs-history-card { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 15px; border: 1px solid var(--nvs-border); border-radius: 14px; background: var(--nvs-panel); }
.nvs-history-card h4 { margin: 3px 0; }
.nvs-history-card p { margin: 0; color: var(--nvs-text-soft); font-size: 10px; }
.nvs-history-card__dates { display: flex; flex-direction: column; align-items: flex-end; gap: 4px; }
.nvs-history-card__dates small { color: var(--nvs-muted); font-size: 9px; }

@media (max-width: 1180px) {
    :root { --nvs-context-panel: 340px; }
    .nvs-context-content { padding: 18px; }
    .nvs-recent-grid { grid-template-columns: repeat(4,minmax(120px,1fr)); }
}
@media (max-width: 900px) {
    .nvs-context-workspace { grid-template-columns: 300px minmax(0,1fr); }
    .nvs-result-stage__info { align-items: flex-start; flex-direction: column; }
    .nvs-result-actions { justify-content: flex-start; }
    .nvs-recent-grid { grid-template-columns: repeat(3,minmax(110px,1fr)); }
}
@media (max-width: 760px) {
    :root { --nvs-rail: 0px; }
    .nvs-rail { inset: auto 0 0 0; width: 100%; height: 66px; flex-direction: row; border: 1px solid var(--nvs-border); border-width: 1px 0 0; }
    .nvs-rail__top, .nvs-rail__bottom { display: none; }
    .nvs-rail__nav { height: 100%; flex-direction: row; justify-content: space-around; gap: 0; padding: 5px 6px; }
    .nvs-rail__item { width: 19%; min-height: 54px; }
    .nvs-rail__active-dot { inset: -5px auto auto; width: 22px; height: 3px; border-radius: 0 0 4px 4px; }
    .nvs-workspace--rail { width: 100%; margin-left: 0; padding-bottom: 66px; }
    .nvs-topbar--workspace { height: 64px; padding-inline: 14px; }
    .nvs-mobile-menu-button { display: none !important; }
    .nvs-page--workspace { padding: 0; }
    .nvs-context-workspace { min-height: calc(100vh - 64px - 66px); display: block; }
    .nvs-context-panel { position: relative; top: auto; height: auto; max-height: none; border-right: 0; border-bottom: 1px solid var(--nvs-border); }
    .nvs-context-panel__scroll { max-height: 52vh; }
    .nvs-context-panel__footer { position: sticky; bottom: 66px; z-index: 8; }
    .nvs-context-content { padding: 14px; }
    .nvs-canvas-toolbar { align-items: flex-start; }
    .nvs-canvas-toolbar__actions { flex-wrap: wrap; justify-content: flex-end; }
    .nvs-result-stage__media, .nvs-result-stage__media img, .nvs-result-stage__media video, .nvs-result-placeholder { min-height: 48vh; height: 48vh; }
    .nvs-recent-grid { grid-template-columns: repeat(2,minmax(130px,1fr)); }
    .nvs-library-search { width: 100%; }
    .nvs-canvas-toolbar { flex-direction: column; }
    .nvs-selection-bar { top: 70px; flex-wrap: wrap; }
    .nvs-media-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; }
    .nvs-media-card__media { height: 160px; }
    .nvs-history-card { align-items: flex-start; flex-direction: column; }
    .nvs-history-card__dates { align-items: flex-start; }
}
@media (max-width: 480px) {
    .nvs-credit-chip span:not(.nvs-credit-chip__icon) { display: none; }
    .nvs-context-panel__header { min-height: 70px; }
    .nvs-context-panel__scroll { padding: 13px; }
    .nvs-result-stage__info { padding: 12px; }
    .nvs-result-actions .nvs-secondary-button { padding-inline: 9px; }
    .nvs-recent-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .nvs-media-grid { grid-template-columns: 1fr; }
    .nvs-media-card__media { height: 260px; }
}

/* Dynamic model capability controls — v0.13.2 */
.nvs-segmented-options {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(82px, 1fr));
    gap: 7px;
}

.nvs-segmented-options button {
    min-height: 40px;
    padding: 8px 10px;
    border: 1px solid var(--nvs-border);
    border-radius: 10px;
    color: var(--nvs-text-soft);
    background: rgba(255, 255, 255, 0.025);
    cursor: pointer;
    font: inherit;
    font-size: 10px;
    font-weight: 650;
    transition: border-color .16s ease, background .16s ease, color .16s ease, transform .16s ease;
}

.nvs-segmented-options button:hover {
    border-color: var(--nvs-border-strong);
    color: var(--nvs-text);
    transform: translateY(-1px);
}

.nvs-segmented-options button.is-active {
    border-color: rgba(138, 125, 255, .65);
    color: #fff;
    background: linear-gradient(135deg, rgba(119, 91, 238, .9), rgba(101, 77, 205, .86));
    box-shadow: 0 7px 20px rgba(72, 48, 163, .24);
}

.nvs-slider-field {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 58px;
    align-items: center;
    gap: 12px;
    min-height: 42px;
    padding: 7px 10px 7px 12px;
    border: 1px solid var(--nvs-border);
    border-radius: 10px;
    background: rgba(7, 8, 13, .45);
}

.nvs-slider-field input[type="range"] {
    width: 100%;
    accent-color: var(--nvs-accent-strong);
}

.nvs-slider-field output {
    min-height: 27px;
    display: grid;
    place-items: center;
    border-radius: 7px;
    color: var(--nvs-text);
    background: rgba(255, 255, 255, .055);
    font-size: 10px;
    font-weight: 700;
}

.nvs-context-field.is-advanced {
    padding-top: 13px;
    border-top: 1px solid rgba(255, 255, 255, .055);
}

.nvs-context-field.is-advanced .nvs-context-field__label label::after {
    content: "Advanced";
    margin-left: 7px;
    padding: 2px 5px;
    border: 1px solid rgba(138, 125, 255, .2);
    border-radius: 999px;
    color: var(--nvs-accent-strong);
    font-size: 7px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.nvs-rail__wallet.is-relax {
    color: #ddd6fe;
    background: rgba(139, 92, 246, 0.14);
    cursor: default;
}

.nvs-rail__infinity {
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 20px;
    line-height: 1;
}


/* Public creation publishing — v0.18.2 */
.nvs-publication-badge {
    position: absolute;
    z-index: 4;
    left: 9px;
    bottom: 70px;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 5px 8px;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 999px;
    color: #fff;
    background: rgba(5,6,10,.76);
    backdrop-filter: blur(12px);
    font-size: 9px;
    font-weight: 760;
    text-transform: uppercase;
    letter-spacing: .04em;
}
.nvs-publication-badge--public { color: #86efac; border-color: rgba(34,197,94,.34); }
.nvs-publication-badge--unlisted { color: #c4b5fd; border-color: rgba(139,92,246,.38); }
.nvs-publication-badge--pending { color: #fcd34d; border-color: rgba(245,158,11,.4); }
.nvs-publication-modal { position: fixed; inset: 0; z-index: 300; display: grid; place-items: center; padding: 22px; }
.nvs-publication-modal__backdrop { position: absolute; inset: 0; border: 0; background: rgba(3,4,8,.78); backdrop-filter: blur(10px); cursor: default; }
.nvs-publication-dialog { position: relative; width: min(760px, 100%); max-height: min(860px, calc(100vh - 44px)); display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--nvs-border-strong); border-radius: 22px; background: #10121a; box-shadow: 0 30px 100px rgba(0,0,0,.58); }
.nvs-publication-dialog__header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding: 20px 22px 17px; border-bottom: 1px solid var(--nvs-border); }
.nvs-publication-dialog__header h2 { margin: 4px 0 5px; font-size: 22px; }
.nvs-publication-dialog__header p { max-width: 590px; margin: 0; color: var(--nvs-muted); font-size: 11px; line-height: 1.5; }
.nvs-publication-dialog__body { overflow-y: auto; display: grid; gap: 16px; padding: 20px 22px; }
.nvs-publication-preview { display: grid; grid-template-columns: 112px minmax(0,1fr); align-items: center; gap: 14px; padding: 11px; border: 1px solid var(--nvs-border); border-radius: 15px; background: rgba(255,255,255,.025); }
.nvs-publication-preview > img, .nvs-publication-preview > video { width: 112px; height: 84px; object-fit: cover; border-radius: 10px; background: #08090d; }
.nvs-publication-preview strong, .nvs-publication-preview small { display: block; }
.nvs-publication-preview strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 13px; }
.nvs-publication-preview small { margin-top: 4px; color: var(--nvs-muted); font-size: 10px; text-transform: capitalize; }
.nvs-publication-visibility { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin: 0; padding: 0; border: 0; }
.nvs-publication-visibility legend { grid-column: 1/-1; margin-bottom: 2px; color: var(--nvs-text); font-size: 11px; font-weight: 720; }
.nvs-publication-visibility button { min-width: 0; display: flex; align-items: center; gap: 10px; padding: 12px; border: 1px solid var(--nvs-border); border-radius: 13px; color: var(--nvs-text-soft); background: rgba(255,255,255,.024); cursor: pointer; text-align: left; }
.nvs-publication-visibility button.is-active { color: #fff; border-color: rgba(139,92,246,.72); background: rgba(139,92,246,.13); box-shadow: 0 0 0 2px rgba(139,92,246,.08); }
.nvs-publication-visibility button > span { min-width: 0; }
.nvs-publication-visibility strong, .nvs-publication-visibility small { display: block; }
.nvs-publication-visibility strong { font-size: 12px; }
.nvs-publication-visibility small { margin-top: 2px; color: var(--nvs-muted); font-size: 9px; }
.nvs-publication-field { display: grid; gap: 7px; }
.nvs-publication-field > span { display: flex; justify-content: space-between; gap: 10px; color: var(--nvs-text); font-size: 11px; font-weight: 690; }
.nvs-publication-field > span small { color: var(--nvs-muted); font-size: 9px; font-weight: 500; }
.nvs-publication-field .nvs-context-textarea { min-height: 86px; }
.nvs-publication-options { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.nvs-publication-toggle { display: grid; grid-template-columns: 38px minmax(0,1fr); align-items: center; gap: 10px; padding: 11px; border: 1px solid var(--nvs-border); border-radius: 13px; background: rgba(255,255,255,.02); cursor: pointer; }
.nvs-publication-toggle.is-active { border-color: rgba(139,92,246,.3); background: rgba(139,92,246,.06); }
.nvs-publication-toggle input { position: absolute; opacity: 0; pointer-events: none; }
.nvs-publication-toggle__control { position: relative; width: 36px; height: 20px; border-radius: 999px; background: rgba(255,255,255,.12); transition: .16s ease; }
.nvs-publication-toggle__control::after { content: ''; position: absolute; top: 3px; left: 3px; width: 14px; height: 14px; border-radius: 50%; background: #fff; transition: .16s ease; }
.nvs-publication-toggle.is-active .nvs-publication-toggle__control { background: var(--nvs-accent); }
.nvs-publication-toggle.is-active .nvs-publication-toggle__control::after { transform: translateX(16px); }
.nvs-publication-toggle strong, .nvs-publication-toggle small { display: block; }
.nvs-publication-toggle strong { font-size: 11px; }
.nvs-publication-toggle small { margin-top: 2px; color: var(--nvs-muted); font-size: 9px; line-height: 1.35; }
.nvs-publication-link { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 9px; padding: 10px 12px; border: 1px solid var(--nvs-border); border-radius: 12px; color: var(--nvs-muted); background: rgba(255,255,255,.02); }
.nvs-publication-link span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 9px; }
.nvs-publication-dialog__footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 15px 22px; border-top: 1px solid var(--nvs-border); background: rgba(5,6,10,.42); }
.nvs-publication-dialog__footer > div { display: flex; gap: 8px; }
@media (max-width: 760px) {
    .nvs-publication-modal { padding: 10px; align-items: end; }
    .nvs-publication-dialog { max-height: calc(100vh - 20px); border-radius: 18px 18px 0 0; }
    .nvs-publication-dialog__header, .nvs-publication-dialog__body, .nvs-publication-dialog__footer { padding-inline: 15px; }
    .nvs-publication-options, .nvs-publication-visibility { grid-template-columns: 1fr; }
    .nvs-publication-dialog__footer { align-items: stretch; flex-direction: column-reverse; }
    .nvs-publication-dialog__footer > div { display: grid; grid-template-columns: 1fr 1fr; }
}

/* Guest Studio */
.nvs-app--guest .nvs-workspace{background:radial-gradient(circle at 80% 0,rgba(124,77,255,.10),transparent 28%),var(--nvs-bg,#080a13)}
.nvs-guest-preview-chip{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid rgba(167,139,250,.28);border-radius:999px;background:rgba(124,77,255,.11);color:#c8b9ff;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.nvs-primary-button--compact{min-height:36px;padding:8px 14px;font-size:12px}
.nvs-guest-global-notice{display:flex;align-items:center;gap:9px;padding:9px 18px;border-bottom:1px solid rgba(167,139,250,.15);background:rgba(124,77,255,.07);color:#b7bad0;font-size:12px}
.nvs-guest-global-notice svg{color:var(--nvs-accent-strong)}
.nvs-rail__item.is-locked{opacity:.62}
.nvs-rail__lock{margin-left:auto;color:#8f83b8;font-size:16px}
.nvs-rail__guest-login{display:flex;align-items:center;gap:8px;width:100%;min-height:42px;padding:8px 10px;border:1px solid rgba(167,139,250,.25);border-radius:12px;background:rgba(124,77,255,.10);color:#d7d0f7;cursor:pointer}
.nvs-guest-mode-banner{display:flex;align-items:center;gap:12px;margin:0 0 20px;padding:13px 16px;border:1px solid rgba(167,139,250,.22);border-radius:14px;background:rgba(124,77,255,.08);color:#c8cad9}
.nvs-guest-mode-banner>div{display:flex;flex-direction:column;gap:2px;flex:1}
.nvs-guest-mode-banner strong{color:#fff}.nvs-guest-mode-banner span{font-size:12px}
.nvs-guest-auth-backdrop{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;padding:20px;background:rgba(2,3,9,.78);backdrop-filter:blur(14px)}
.nvs-guest-auth-modal{position:relative;width:min(470px,100%);padding:30px;border:1px solid rgba(167,139,250,.28);border-radius:24px;background:linear-gradient(145deg,#121526,#0b0d17 72%);box-shadow:0 35px 90px rgba(0,0,0,.56),0 0 70px rgba(124,77,255,.16);text-align:center}
.nvs-guest-auth-modal__close{position:absolute;top:14px;right:14px}
.nvs-guest-auth-modal__icon{display:grid;place-items:center;width:54px;height:54px;margin:0 auto 18px;border-radius:17px;background:linear-gradient(135deg,var(--nvs-accent),var(--nvs-accent-strong));color:#fff;box-shadow:0 14px 40px rgba(124,77,255,.35)}
.nvs-guest-auth-modal h2{margin:8px 0 10px;font-size:28px}.nvs-guest-auth-modal p{margin:0;color:#aeb2c3;line-height:1.6}
.nvs-guest-auth-modal__benefits{display:grid;gap:9px;margin:22px 0;text-align:left}
.nvs-guest-auth-modal__benefits span{display:flex;align-items:center;gap:9px;color:#d4d6e1;font-size:13px}.nvs-guest-auth-modal__benefits svg{color:#9f7bff}
.nvs-guest-auth-modal__actions{display:flex;gap:10px;justify-content:center}.nvs-guest-auth-modal__actions button{flex:1}
.nvs-guest-auth-modal>small{display:block;margin-top:14px;color:#858a9d}
.nvs-models-page,.nvs-guest-stories,.nvs-guest-billing{width:min(1280px,100%);margin:0 auto;padding:28px}
.nvs-models-filter{display:flex;gap:8px;margin:0 0 20px}.nvs-models-filter button{padding:9px 14px;border:1px solid var(--nvs-border);border-radius:999px;background:#10131e;color:#aeb2c3;cursor:pointer}.nvs-models-filter button.is-active{border-color:rgba(167,139,250,.55);background:rgba(124,77,255,.16);color:#fff}
.nvs-models-public-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.nvs-models-public-card{display:flex;flex-direction:column;min-height:280px;padding:20px;border:1px solid var(--nvs-border);border-radius:18px;background:linear-gradient(145deg,rgba(20,23,37,.96),rgba(11,13,22,.96));box-shadow:0 18px 50px rgba(0,0,0,.16)}
.nvs-models-public-card__head{display:flex;align-items:center;gap:13px}.nvs-models-public-card__head h3{margin:3px 0 0;font-size:18px}
.nvs-models-public-card__mark{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:linear-gradient(135deg,var(--nvs-accent),#4d2aa8);color:#fff;font-weight:800}
.nvs-models-public-card>p{color:#979caf;line-height:1.55;flex:1}.nvs-models-public-card__capabilities{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 18px}.nvs-models-public-card__capabilities span{padding:5px 8px;border-radius:999px;background:rgba(255,255,255,.045);color:#aeb2c3;font-size:10px;text-transform:uppercase}
.nvs-models-public-card__footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:14px;border-top:1px solid var(--nvs-border)}.nvs-models-public-card__footer>span{display:flex;flex-direction:column}.nvs-models-public-card__footer small{color:#7f8497}.nvs-models-public-card__footer strong{font-size:13px}
.nvs-guest-story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:22px 0}
.nvs-guest-story-card{padding:22px;border:1px solid var(--nvs-border);border-radius:20px;background:linear-gradient(145deg,#141726,#0c0e18)}.nvs-guest-story-card__icon{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:rgba(124,77,255,.16);color:#b99cff}.nvs-guest-story-card h3{margin:18px 0 8px}.nvs-guest-story-card p{min-height:62px;color:#969bad;line-height:1.55}
.nvs-guest-story-flow{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;padding:18px;border:1px solid var(--nvs-border);border-radius:18px;background:#0e111b}.nvs-guest-story-flow div{display:flex;align-items:center;gap:9px}.nvs-guest-story-flow span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:rgba(124,77,255,.17);color:#c3adff;font-size:11px}.nvs-guest-story-flow strong{font-size:11px;color:#c8cad4}
.nvs-guest-create-note{display:flex;align-items:flex-start;gap:10px;margin-bottom:14px;padding:12px;border:1px solid rgba(167,139,250,.20);border-radius:13px;background:rgba(124,77,255,.07)}.nvs-guest-create-note>div{display:flex;flex-direction:column;gap:3px;flex:1}.nvs-guest-create-note strong{font-size:12px;color:#fff}.nvs-guest-create-note span{font-size:11px;color:#999daf;line-height:1.45}
.nvs-creator-context.is-browse-only .nvs-guest-parameter-zone .nvs-context-field{pointer-events:none;opacity:.55;filter:saturate(.65)}
.nvs-artifact-picker--guest{padding:0}.nvs-guest-artifact-placeholder{display:flex;align-items:center;gap:12px;padding:14px;border:1px dashed rgba(167,139,250,.28);border-radius:14px;background:rgba(124,77,255,.05)}.nvs-guest-artifact-placeholder>div{display:flex;flex-direction:column;gap:3px;flex:1}.nvs-guest-artifact-placeholder strong{font-size:12px}.nvs-guest-artifact-placeholder small{color:#8f94a6;line-height:1.4}
.nvs-guest-billing .nvs-commerce-catalog{margin-top:20px}
@media (max-width:980px){.nvs-models-public-grid,.nvs-guest-story-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.nvs-guest-story-flow{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.nvs-models-page,.nvs-guest-stories,.nvs-guest-billing{padding:18px 14px}.nvs-models-public-grid,.nvs-guest-story-grid,.nvs-guest-story-flow{grid-template-columns:1fr}.nvs-guest-auth-modal{padding:26px 20px}.nvs-guest-auth-modal__actions{flex-direction:column}.nvs-guest-preview-chip{display:none}.nvs-guest-global-notice{font-size:11px;padding:8px 12px}}
/* Novirec Stories workspace v0.19.5 */
.nvs-stories-workspace { --nvs-story-card: #11141d; }
.nvs-stories-context .nvs-context-panel__header { min-height: 78px; }
.nvs-story-project-head { display: flex; align-items: center; gap: 10px; }
.nvs-story-project-head h2 { max-width: 260px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nvs-story-project-summary { display: grid; gap: 7px; padding: 4px 2px; }
.nvs-story-project-summary small, .nvs-story-project-summary > span:last-child { color: var(--nvs-muted); font-size: 9px; }
.nvs-story-status { width: fit-content; display: inline-flex; align-items: center; min-height: 25px; padding: 0 9px; border: 1px solid var(--nvs-border); border-radius: 999px; color: var(--nvs-text-soft); background: rgba(255,255,255,.035); font-size: 9px; font-weight: 760; letter-spacing: .02em; text-transform: uppercase; }
.nvs-story-status--success { color: var(--nvs-green); border-color: rgba(99,215,160,.2); background: rgba(99,215,160,.08); }
.nvs-story-status--warning { color: var(--nvs-warning); border-color: rgba(242,197,114,.2); background: rgba(242,197,114,.08); }
.nvs-story-status--danger { color: var(--nvs-danger); border-color: rgba(255,127,145,.2); background: rgba(255,127,145,.08); }
.nvs-story-mini-list { display: grid; gap: 4px; margin-top: 8px; }
.nvs-story-mini-list button { min-width: 0; display: flex; align-items: center; gap: 9px; padding: 9px; border: 1px solid transparent; border-radius: 10px; color: var(--nvs-text); background: transparent; cursor: pointer; text-align: left; }
.nvs-story-mini-list button:hover { border-color: var(--nvs-border); background: rgba(255,255,255,.035); }
.nvs-story-mini-list__icon { width: 29px; height: 29px; display: grid; place-items: center; border-radius: 9px; color: var(--nvs-accent-strong); background: var(--nvs-accent-soft); }
.nvs-story-mini-list__copy { min-width: 0; flex: 1; }
.nvs-story-mini-list__copy strong, .nvs-story-mini-list__copy small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nvs-story-mini-list__copy strong { font-size: 10px; }
.nvs-story-mini-list__copy small { margin-top: 2px; color: var(--nvs-muted); font-size: 8px; }
.nvs-story-grid { display: grid; grid-template-columns: repeat(auto-fill,minmax(290px,1fr)); gap: 15px; }
.nvs-story-card { overflow: hidden; border: 1px solid var(--nvs-border); border-radius: 17px; background: var(--nvs-story-card); box-shadow: 0 16px 40px rgba(0,0,0,.16); transition: 160ms ease; }
.nvs-story-card:hover { transform: translateY(-2px); border-color: var(--nvs-border-strong); }
.nvs-story-card__open { width: 100%; padding: 0; border: 0; color: inherit; background: transparent; cursor: pointer; text-align: left; }
.nvs-story-card__visual { position: relative; height: 145px; display: grid; place-items: center; overflow: hidden; background: radial-gradient(circle at 50% 20%,rgba(138,125,255,.22),transparent 55%),linear-gradient(145deg,#121522,#0a0c12); }
.nvs-story-card__visual::after { content: ''; position: absolute; inset: 18px 22px; border: 1px solid rgba(255,255,255,.07); border-radius: 14px; transform: rotate(-3deg); }
.nvs-story-card__visual-icon { position: relative; z-index: 1; width: 60px; height: 60px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.1); border-radius: 18px; color: var(--nvs-accent-strong); background: rgba(8,9,13,.58); box-shadow: 0 20px 40px rgba(0,0,0,.3); }
.nvs-story-card__visual .nvs-story-status { position: absolute; z-index: 2; right: 11px; bottom: 11px; }
.nvs-story-card__body { padding: 15px; }
.nvs-story-card__body h3 { margin: 4px 0 7px; font-size: 17px; letter-spacing: -.02em; }
.nvs-story-card__body p { height: 43px; margin: 0; overflow: hidden; color: var(--nvs-text-soft); font-size: 10px; line-height: 1.45; }
.nvs-story-card__meta { display: flex; flex-wrap: wrap; gap: 6px 12px; margin-top: 13px; padding-top: 11px; border-top: 1px solid var(--nvs-border); color: var(--nvs-muted); font-size: 8px; }
.nvs-story-form-card, .nvs-story-editor-section, .nvs-story-budget-card, .nvs-story-approval-card { border: 1px solid var(--nvs-border); border-radius: 17px; background: rgba(16,18,27,.86); box-shadow: 0 16px 45px rgba(0,0,0,.14); }
.nvs-story-form-card { padding: 20px; }
.nvs-story-form-card.is-disabled { opacity: .72; }
.nvs-story-form-card__head, .nvs-story-editor-section__head, .nvs-story-stage__header { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.nvs-story-form-card__head { margin-bottom: 18px; }
.nvs-story-form-card__head h3, .nvs-story-editor-section__head h3, .nvs-story-stage__header h2, .nvs-story-budget-card h3, .nvs-story-approval-card h3 { margin: 3px 0 5px; }
.nvs-story-form-card__head p, .nvs-story-editor-section__head p, .nvs-story-stage__header p, .nvs-story-budget-card p, .nvs-story-approval-card p { margin: 0; color: var(--nvs-text-soft); font-size: 10px; }
.nvs-story-free-badge { padding: 6px 9px; border-radius: 999px; color: var(--nvs-green); background: rgba(99,215,160,.08); font-size: 9px; font-weight: 700; white-space: nowrap; }
.nvs-story-type-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 9px; margin-bottom: 16px; }
.nvs-story-type-grid button { min-width: 0; min-height: 178px; display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-start; gap: 7px; padding: 14px; border: 1px solid var(--nvs-border); border-radius: 13px; color: var(--nvs-text-soft); background: rgba(255,255,255,.025); cursor: pointer; text-align: left; }
.nvs-story-type-grid button:hover:not(:disabled) { color: #fff; border-color: var(--nvs-border-strong); }
.nvs-story-type-grid button.is-active { color: #fff; border-color: rgba(138,125,255,.62); background: linear-gradient(145deg,rgba(138,125,255,.2),rgba(138,125,255,.06)); }
.nvs-story-type-grid button.is-active .nvs-icon { color: var(--nvs-accent-strong); }
.nvs-story-type-grid strong, .nvs-story-type-grid small { display: block; }
.nvs-story-type-grid strong { font-size: 11px; }
.nvs-story-type-grid small { color: var(--nvs-muted); font-size: 9px; line-height: 1.45; }
.nvs-story-type-card__top { width: 100%; display: flex; align-items: center; justify-content: space-between; }
.nvs-story-type-card__badge { padding: 3px 6px; border: 1px solid var(--nvs-border); border-radius: 999px; color: var(--nvs-text-soft) !important; font-size: 7px !important; font-weight: 750; letter-spacing: .08em; }
.nvs-story-type-card__description { color: var(--nvs-text-soft) !important; }
.nvs-story-type-card__best { margin-top: 1px; }
.nvs-story-type-card__output { margin-top: auto; padding-top: 7px; border-top: 1px solid var(--nvs-border); width: 100%; color: var(--nvs-accent-strong) !important; font-weight: 650; }
.nvs-story-quote-includes { display: flex; flex-wrap: wrap; gap: 5px 14px; margin: 10px 0 0; padding: 0; list-style: none; color: var(--nvs-muted); font-size: 8px; }
.nvs-story-quote-includes li::before { content: '✓'; margin-right: 5px; color: var(--nvs-success); }
.nvs-story-form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin-top: 12px; }
.nvs-story-form-grid--compact { grid-template-columns: repeat(2,minmax(0,1fr)); }
.nvs-story-field { min-width: 0; display: grid; gap: 6px; }
.nvs-story-field > span { color: var(--nvs-text-soft); font-size: 9px; font-weight: 650; }
.nvs-story-field input, .nvs-story-field textarea { width: 100%; border: 1px solid var(--nvs-border); border-radius: 11px; outline: 0; color: var(--nvs-text); background: #0b0d13; transition: 150ms ease; }
.nvs-story-field input { height: 42px; padding: 0 11px; }
.nvs-story-field textarea { min-height: 90px; padding: 11px; resize: vertical; }
.nvs-story-field input:focus, .nvs-story-field textarea:focus { border-color: rgba(138,125,255,.65); box-shadow: 0 0 0 3px rgba(138,125,255,.08); }
.nvs-story-field input:disabled, .nvs-story-field textarea:disabled { cursor: not-allowed; opacity: .7; }
.nvs-story-field small { color: var(--nvs-muted); font-size: 8px; text-align: right; }
.nvs-story-field--wide { margin-top: 12px; }
.nvs-story-scene-count { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 17px; padding: 13px; border: 1px solid var(--nvs-border); border-radius: 13px; background: rgba(255,255,255,.02); }
.nvs-story-scene-count strong, .nvs-story-scene-count small { display: block; }
.nvs-story-scene-count strong { font-size: 10px; }
.nvs-story-scene-count small { margin-top: 2px; color: var(--nvs-muted); font-size: 8px; }
.nvs-story-segmented { display: flex; gap: 5px; }
.nvs-story-segmented button { width: 36px; height: 34px; border: 1px solid var(--nvs-border); border-radius: 9px; color: var(--nvs-text-soft); background: #0b0d13; cursor: pointer; }
.nvs-story-segmented button.is-active { color: #fff; border-color: var(--nvs-accent); background: var(--nvs-accent-soft); }
.nvs-story-form-actions { display: flex; justify-content: flex-end; gap: 9px; margin-top: 19px; }
.nvs-story-stage { display: grid; gap: 16px; max-width: 1120px; margin: 0 auto; }
.nvs-story-stage__header { padding: 4px 2px 2px; }
.nvs-story-stage__header h2 { font-size: 22px; }
.nvs-story-stage__header-actions { display: flex; align-items: center; gap: 9px; }
.nvs-story-save { display: inline-flex; align-items: center; gap: 6px; min-height: 27px; padding: 0 9px; border: 1px solid var(--nvs-border); border-radius: 999px; color: var(--nvs-muted); background: rgba(255,255,255,.025); font-size: 8px; font-weight: 700; }
.nvs-story-save--saved { color: var(--nvs-green); }
.nvs-story-save--pending, .nvs-story-save--saving { color: var(--nvs-warning); }
.nvs-story-save--error { color: var(--nvs-danger); border-color: rgba(255,127,145,.2); }
.nvs-story-warning-card, .nvs-story-success-notice { display: flex; align-items: center; gap: 12px; padding: 13px 14px; border: 1px solid rgba(242,197,114,.2); border-radius: 13px; color: var(--nvs-warning); background: rgba(242,197,114,.065); }
.nvs-story-warning-card > div { min-width: 0; flex: 1; }
.nvs-story-warning-card strong, .nvs-story-warning-card p { display: block; }
.nvs-story-warning-card strong { font-size: 10px; }
.nvs-story-warning-card p { margin: 2px 0 0; color: var(--nvs-text-soft); font-size: 9px; }
.nvs-story-warning-card--success { color: var(--nvs-green); border-color: rgba(99,215,160,.2); background: rgba(99,215,160,.06); }
.nvs-story-success-notice { margin-bottom: 14px; color: var(--nvs-green); border-color: rgba(99,215,160,.2); background: rgba(99,215,160,.07); }
.nvs-story-success-notice span { flex: 1; }
.nvs-story-success-notice button { border: 0; color: inherit; background: transparent; cursor: pointer; }
.nvs-story-budget-card, .nvs-story-approval-card { display: grid; grid-template-columns: minmax(0,1fr) auto auto; align-items: center; gap: 20px; padding: 18px; }
.nvs-story-budget-card__price { min-width: 130px; text-align: center; }
.nvs-story-budget-card__price strong, .nvs-story-budget-card__price span, .nvs-story-budget-card__price small { display: block; }
.nvs-story-budget-card__price strong { font-size: 25px; line-height: 1; }
.nvs-story-budget-card__price span { margin-top: 3px; color: var(--nvs-accent-strong); font-size: 9px; font-weight: 700; }
.nvs-story-budget-card__price small { margin-top: 5px; color: var(--nvs-muted); font-size: 8px; }
.nvs-story-budget-card__actions, .nvs-story-approval-card__actions { display: flex; gap: 8px; }
.nvs-story-budget-card__warning { grid-column: 1/-1; padding-top: 10px; border-top: 1px solid var(--nvs-border); color: var(--nvs-danger); font-size: 9px; }
.nvs-story-step-menu { display: grid; gap: 5px; }
.nvs-story-step-menu button { width: 100%; min-height: 44px; display: grid; grid-template-columns: 24px 22px minmax(0,1fr) 18px; align-items: center; gap: 7px; padding: 0 9px; border: 1px solid transparent; border-radius: 11px; color: var(--nvs-text-soft); background: transparent; cursor: pointer; text-align: left; }
.nvs-story-step-menu button:hover:not(:disabled) { color: #fff; background: rgba(255,255,255,.035); }
.nvs-story-step-menu button.is-active { color: #fff; border-color: rgba(138,125,255,.18); background: rgba(138,125,255,.13); }
.nvs-story-step-menu button.is-locked { opacity: .45; cursor: not-allowed; }
.nvs-story-step-menu__number { width: 22px; height: 22px; display: grid; place-items: center; border: 1px solid var(--nvs-border); border-radius: 7px; color: var(--nvs-muted); font-size: 8px; }
.nvs-story-revision-list { display: grid; gap: 5px; margin-top: 8px; }
.nvs-story-revision-list div { display: grid; grid-template-columns: 28px minmax(0,1fr) auto; align-items: center; gap: 7px; padding: 8px; border: 1px solid var(--nvs-border); border-radius: 9px; background: rgba(255,255,255,.02); }
.nvs-story-revision-list strong { color: var(--nvs-accent-strong); font-size: 9px; }
.nvs-story-revision-list span, .nvs-story-revision-list small { overflow: hidden; color: var(--nvs-muted); font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.nvs-story-back-button { width: 100%; }
.nvs-story-content { min-width: 0; }
.nvs-story-outline-overview { margin-bottom: 0; }
.nvs-story-editor-section { padding: 18px; }
.nvs-story-editor-section__head { margin-bottom: 14px; }
.nvs-story-character-list, .nvs-story-scene-list { display: grid; gap: 10px; }
.nvs-story-character-editor { display: grid; grid-template-columns: 34px minmax(0,1fr) 34px; align-items: start; gap: 11px; padding: 13px; border: 1px solid var(--nvs-border); border-radius: 13px; background: #0c0e15; }
.nvs-story-character-editor__number { width: 31px; height: 31px; display: grid; place-items: center; border-radius: 10px; color: var(--nvs-accent-strong); background: var(--nvs-accent-soft); font-size: 10px; font-weight: 800; }
.nvs-story-character-editor__fields { min-width: 0; }
.nvs-story-character-editor__fields .nvs-story-form-grid { margin-top: 0; }
.nvs-story-scene-editor { position: relative; display: grid; grid-template-columns: 42px minmax(0,1fr) 34px; gap: 12px; padding: 14px; border: 1px solid var(--nvs-border); border-radius: 14px; background: #0c0e15; }
.nvs-story-scene-editor__rail { display: flex; flex-direction: column; align-items: center; gap: 6px; }
.nvs-story-scene-editor__rail span { width: 31px; height: 31px; display: grid; place-items: center; border-radius: 10px; color: #fff; background: linear-gradient(145deg,#7868ee,#5645c2); font-size: 10px; font-weight: 800; }
.nvs-story-scene-editor__rail button { width: 27px; height: 25px; border: 1px solid var(--nvs-border); border-radius: 8px; color: var(--nvs-text-soft); background: rgba(255,255,255,.025); cursor: pointer; }
.nvs-story-scene-editor__rail button:disabled { opacity: .3; cursor: not-allowed; }
.nvs-story-scene-editor__body { min-width: 0; }
.nvs-story-scene-editor__body .nvs-story-form-grid { margin-top: 0; }
.nvs-story-character-picker { margin-top: 12px; }
.nvs-story-character-picker > span { display: block; margin-bottom: 7px; color: var(--nvs-text-soft); font-size: 9px; font-weight: 650; }
.nvs-story-character-picker > div { display: flex; flex-wrap: wrap; gap: 6px; }
.nvs-story-character-picker label { position: relative; display: inline-flex; align-items: center; min-height: 29px; padding: 0 9px; border: 1px solid var(--nvs-border); border-radius: 999px; color: var(--nvs-muted); background: rgba(255,255,255,.02); cursor: pointer; font-size: 8px; }
.nvs-story-character-picker label.is-selected { color: #fff; border-color: rgba(138,125,255,.45); background: var(--nvs-accent-soft); }
.nvs-story-character-picker input { position: absolute; opacity: 0; pointer-events: none; }
.nvs-story-approval-card { border-color: rgba(99,215,160,.16); background: linear-gradient(145deg,rgba(99,215,160,.07),rgba(16,18,27,.9)); }
.nvs-story-locked-stage { min-height: 430px; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 30px; border: 1px dashed var(--nvs-border-strong); border-radius: 18px; text-align: center; background: rgba(255,255,255,.018); }
.nvs-story-locked-stage__icon { width: 58px; height: 58px; display: grid; place-items: center; border-radius: 18px; color: var(--nvs-muted); background: rgba(255,255,255,.04); }
.nvs-story-locked-stage h3 { margin: 16px 0 7px; }
.nvs-story-locked-stage p { max-width: 520px; margin: 0; color: var(--nvs-text-soft); font-size: 10px; }
.nvs-story-unavailable, .nvs-story-loading { min-height: calc(100vh - 160px); }
@media (max-width: 1100px) {
    .nvs-story-budget-card, .nvs-story-approval-card { grid-template-columns: minmax(0,1fr) auto; }
    .nvs-story-budget-card__actions, .nvs-story-approval-card__actions { grid-column: 1/-1; justify-content: flex-end; }
}
@media (max-width: 760px) {
    .nvs-rail__item { width: auto; flex: 1 1 0; min-width: 0; }
    .nvs-story-grid { grid-template-columns: 1fr; }
    .nvs-story-form-card, .nvs-story-editor-section { padding: 14px; }
    .nvs-story-form-card__head, .nvs-story-editor-section__head, .nvs-story-stage__header { flex-direction: column; }
    .nvs-story-type-grid, .nvs-story-form-grid, .nvs-story-form-grid--compact { grid-template-columns: 1fr; }
    .nvs-story-type-grid button { min-height: 150px; }
    .nvs-story-scene-count { align-items: flex-start; flex-direction: column; }
    .nvs-story-budget-card, .nvs-story-approval-card { grid-template-columns: 1fr; }
    .nvs-story-budget-card__price { text-align: left; }
    .nvs-story-budget-card__actions, .nvs-story-approval-card__actions { grid-column: auto; flex-direction: column; }
    .nvs-story-character-editor { grid-template-columns: 30px minmax(0,1fr); }
    .nvs-story-character-editor > .nvs-icon-button { grid-column: 2; justify-self: end; }
    .nvs-story-scene-editor { grid-template-columns: 34px minmax(0,1fr); }
    .nvs-story-scene-editor__remove { grid-column: 2; justify-self: end; }
    .nvs-story-stage__header-actions { width: 100%; justify-content: space-between; }
}

/* Character Bible workspace v0.19.5 */
.nvs-story-section-head { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; margin-bottom:16px; }
.nvs-story-section-head h2 { margin:4px 0 6px; }
.nvs-story-section-head p { max-width:720px; margin:0; color:var(--nvs-text-soft); font-size:10px; }
.nvs-story-section-actions { display:flex; align-items:center; gap:9px; }
.nvs-character-bible-layout { display:grid; grid-template-columns:250px minmax(0,1fr); gap:16px; align-items:start; }
.nvs-character-bible-list { position:sticky; top:82px; display:grid; gap:7px; padding:14px; border:1px solid var(--nvs-border); border-radius:16px; background:#0d1018; }
.nvs-character-bible-list h3 { margin:0 0 5px; font-size:13px; }
.nvs-character-bible-list__item { width:100%; min-height:58px; display:grid; grid-template-columns:38px minmax(0,1fr) auto; align-items:center; gap:9px; padding:9px; border:1px solid transparent; border-radius:12px; color:var(--nvs-text-soft); background:transparent; cursor:pointer; text-align:left; }
.nvs-character-bible-list__item:hover { background:rgba(255,255,255,.03); }
.nvs-character-bible-list__item.is-active { color:#fff; border-color:rgba(138,125,255,.35); background:rgba(138,125,255,.11); }
.nvs-character-bible-list__item span:nth-child(2) { min-width:0; }
.nvs-character-bible-list__item strong,.nvs-character-bible-list__item small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.nvs-character-bible-list__item small { margin-top:3px; color:var(--nvs-muted); font-size:8px; }
.nvs-character-avatar { width:36px; height:36px; display:grid; place-items:center; border-radius:11px; color:#fff; background:linear-gradient(145deg,#7868ee,#5140bb); font-weight:800; }
.nvs-character-bible-editor { display:grid; gap:14px; min-width:0; }
.nvs-character-bible-editor > .nvs-story-card { padding:17px; }
.nvs-character-bible-editor > .nvs-story-card:hover { transform:none; }
.nvs-story-card__head { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; margin-bottom:14px; }
.nvs-story-card__head h3 { margin:3px 0 0; font-size:16px; }
.nvs-story-card__head p { margin:5px 0 0; color:var(--nvs-text-soft); font-size:9px; }
.nvs-character-master-prompt { width:100%; resize:vertical; }
.nvs-story-help { margin:8px 0 0; color:var(--nvs-muted); font-size:9px; }
.nvs-character-reference-tabs { display:flex; gap:6px; margin-bottom:12px; }
.nvs-character-reference-tabs button { min-height:32px; padding:0 12px; border:1px solid var(--nvs-border); border-radius:9px; color:var(--nvs-text-soft); background:rgba(255,255,255,.02); cursor:pointer; }
.nvs-character-reference-tabs button.is-active { color:#fff; border-color:rgba(138,125,255,.45); background:var(--nvs-accent-soft); }
.nvs-character-reference-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:9px; max-height:430px; overflow:auto; padding-right:3px; }
.nvs-character-reference-card { position:relative; overflow:hidden; min-height:142px; padding:0; border:1px solid var(--nvs-border); border-radius:12px; color:#fff; background:#090b11; cursor:pointer; }
.nvs-character-reference-card:disabled { opacity:.38; cursor:not-allowed; }
.nvs-character-reference-card.is-selected { border-color:var(--nvs-accent-strong); box-shadow:0 0 0 2px rgba(138,125,255,.18); }
.nvs-character-reference-card img { width:100%; height:110px; display:block; object-fit:cover; }
.nvs-character-reference-card span { display:block; padding:7px 8px; overflow:hidden; font-size:8px; text-overflow:ellipsis; white-space:nowrap; }
.nvs-character-reference-card svg { position:absolute; top:7px; right:7px; width:22px; height:22px; padding:4px; border-radius:7px; background:var(--nvs-accent-strong); }
.nvs-character-selected-references { display:flex; justify-content:space-between; gap:12px; margin-top:11px; padding-top:10px; border-top:1px solid var(--nvs-border); color:var(--nvs-muted); font-size:9px; }
.nvs-character-selected-references strong { color:#fff; }
.nvs-story-footer-actions { display:flex; justify-content:flex-end; gap:9px; padding:4px 0 12px; }
@media (max-width:1200px) { .nvs-character-reference-grid { grid-template-columns:repeat(4,minmax(0,1fr)); } }
@media (max-width:900px) {
  .nvs-character-bible-layout { grid-template-columns:1fr; }
  .nvs-character-bible-list { position:static; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .nvs-character-bible-list h3 { grid-column:1/-1; }
  .nvs-character-reference-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:600px) {
  .nvs-story-section-head,.nvs-story-card__head,.nvs-character-selected-references { flex-direction:column; }
  .nvs-character-bible-list { grid-template-columns:1fr; }
  .nvs-character-reference-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .nvs-story-footer-actions { flex-direction:column; }
}
.nvs-story-quote-pill { display:inline-flex; align-items:center; min-height:32px; padding:0 10px; border:1px solid var(--nvs-border); border-radius:999px; color:var(--nvs-text-soft); background:rgba(255,255,255,.025); font-size:8px; font-weight:700; white-space:nowrap; }
.nvs-inline-generator-shell { display:grid; gap:12px; margin-bottom:14px; padding:14px; border:1px solid var(--nvs-border); border-radius:14px; background:#0d1018; }
.nvs-inline-generator-toolbar { display:grid; grid-template-columns:minmax(0,1fr) 180px auto; gap:10px; align-items:end; }
.nvs-inline-generator-toolbar__field { margin:0; }
.nvs-inline-generator-toolbar__actions { display:flex; justify-content:flex-end; }
.nvs-inline-generator-prompt { padding:11px 12px; border:1px solid var(--nvs-border); border-radius:12px; background:rgba(255,255,255,.02); }
.nvs-inline-generator-prompt strong { display:block; margin-bottom:6px; font-size:9px; }
.nvs-inline-generator-prompt p { max-height:96px; margin:0; overflow:auto; color:var(--nvs-text-soft); font-size:9px; line-height:1.5; white-space:pre-wrap; }
.nvs-inline-generator-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.nvs-inline-generator-meta { display:flex; align-items:center; justify-content:space-between; gap:12px; color:var(--nvs-muted); font-size:9px; }
@media (max-width:900px) {
  .nvs-inline-generator-toolbar { grid-template-columns:1fr; }
  .nvs-inline-generator-toolbar__actions { justify-content:flex-start; }
  .nvs-inline-generator-fields { grid-template-columns:1fr; }
}
.nvs-lockable-card { position: relative; }
.nvs-section-overlay {
  position: absolute; inset: 0; z-index: 6; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px;
  border-radius: 18px; background: rgba(8, 10, 18, 0.84); backdrop-filter: blur(4px); text-align: center; padding: 24px;
}
.nvs-section-overlay strong { font-size: 14px; color: var(--nvs-text); }
.nvs-section-overlay small { color: var(--nvs-text-soft); max-width: 360px; line-height: 1.5; }

.nvs-reference-preview-shell { display: grid; gap: 14px; margin-bottom: 14px; }
.nvs-reference-preview {
  min-height: 280px; border: 1px dashed var(--nvs-border); border-radius: 16px; background: rgba(255,255,255,.02);
  overflow: hidden; display: flex; align-items: center; justify-content: center; position: relative;
}
.nvs-reference-preview.has-image { border-style: solid; background: #0b0f17; }
.nvs-reference-preview img { width: 100%; max-height: 420px; object-fit: contain; display:block; }
.nvs-reference-preview__meta {
  position: absolute; left: 14px; right: 14px; bottom: 14px; display: grid; gap: 4px; padding: 10px 12px; border-radius: 12px;
  background: rgba(7, 10, 16, .82); border: 1px solid rgba(255,255,255,.08);
}
.nvs-reference-preview__meta strong { font-size: 11px; }
.nvs-reference-preview__meta span { color: var(--nvs-text-soft); font-size: 9px; line-height: 1.4; }
.nvs-reference-preview__empty { display:grid; justify-items:center; gap:10px; padding: 28px; text-align:center; max-width: 420px; }
.nvs-reference-preview__empty strong { font-size: 16px; }
.nvs-reference-preview__empty p { margin:0; color: var(--nvs-text-soft); line-height: 1.6; }

.nvs-reference-preview__selected { display:grid; gap:10px; }
.nvs-reference-preview__selected > span { color: var(--nvs-text-soft); font-size: 10px; }
.nvs-reference-chip-row { display:flex; flex-wrap:wrap; gap:10px; }
.nvs-reference-chip {
  display:inline-flex; align-items:center; gap:10px; padding:8px 10px 8px 8px; border-radius: 999px; border:1px solid var(--nvs-border);
  background: rgba(255,255,255,.02); color: var(--nvs-text); cursor:pointer;
}
.nvs-reference-chip img { width: 34px; height: 34px; border-radius: 999px; object-fit: cover; }
.nvs-reference-chip span { font-size: 10px; font-weight: 700; }
.nvs-reference-chip i { font-style: normal; color: var(--nvs-text-soft); font-size: 14px; line-height: 1; cursor: pointer; }
.nvs-reference-chip.is-active { border-color: var(--nvs-accent); box-shadow: 0 0 0 1px rgba(139,92,246,.35) inset; }

.nvs-inline-generator-accordion { display:grid; gap:12px; margin-bottom: 14px; }
.nvs-inline-generator-accordion__toggle {
  width:100%; display:flex; align-items:center; justify-content:space-between; gap:16px; text-align:left; padding: 14px 16px;
  border-radius: 14px; border:1px solid var(--nvs-border); background: rgba(255,255,255,.02); color: var(--nvs-text); cursor:pointer;
}
.nvs-inline-generator-accordion__toggle > div { display:grid; gap:4px; }
.nvs-inline-generator-accordion__toggle strong { font-size: 12px; }
.nvs-inline-generator-accordion__toggle small { color: var(--nvs-text-soft); font-size: 9px; }
.nvs-inline-generator-accordion__toggle .nvs-icon { transition: transform .18s ease; }
.nvs-inline-generator-accordion__toggle.is-open .nvs-icon { transform: rotate(180deg); }

.nvs-character-reference-tabs { margin-top: 6px; }
.nvs-inline-generator-shell { margin-bottom: 0; }

@media (max-width: 900px) {
  .nvs-reference-preview { min-height: 220px; }
  .nvs-reference-chip-row { gap: 8px; }
  .nvs-reference-chip { max-width: 100%; }
}

/* Scene production workspace v0.19.8 */
.nvs-scene-production { display:grid; gap:16px; }
.nvs-scene-production-layout { display:grid; grid-template-columns:240px minmax(0,1fr); gap:16px; align-items:start; }
.nvs-scene-list { position:sticky; top:82px; display:grid; gap:7px; padding:12px; border:1px solid var(--nvs-border); border-radius:16px; background:#0d1018; }
.nvs-scene-list__item { width:100%; display:grid; grid-template-columns:32px minmax(0,1fr) auto; align-items:center; gap:9px; padding:9px; border:1px solid transparent; border-radius:12px; color:var(--nvs-text-soft); background:transparent; cursor:pointer; text-align:left; }
.nvs-scene-list__item:hover { background:rgba(255,255,255,.03); }
.nvs-scene-list__item.is-active { color:#fff; border-color:rgba(138,125,255,.4); background:rgba(138,125,255,.1); }
.nvs-scene-list__item > span:first-child { width:30px; height:30px; display:grid; place-items:center; border-radius:9px; color:#fff; background:linear-gradient(145deg,#7868ee,#5140bb); font-size:10px; font-weight:800; }
.nvs-scene-list__item strong,.nvs-scene-list__item small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.nvs-scene-list__item small { margin-top:3px; color:var(--nvs-muted); font-size:8px; }
.nvs-scene-editor { display:grid; gap:14px; min-width:0; }
.nvs-scene-editor > .nvs-story-card { padding:17px; }
.nvs-scene-character-row { display:flex; flex-wrap:wrap; gap:7px; align-items:center; margin-top:14px; padding-top:12px; border-top:1px solid var(--nvs-border); }
.nvs-scene-character-row strong { margin-right:3px; font-size:9px; }
.nvs-scene-character-row span { padding:5px 8px; border-radius:999px; color:var(--nvs-text-soft); background:rgba(138,125,255,.09); font-size:8px; }
.nvs-scene-notes { display:grid; gap:6px; margin-top:12px; padding:12px; border:1px solid var(--nvs-border); border-radius:12px; background:rgba(255,255,255,.018); }
.nvs-scene-notes strong { font-size:9px; }
.nvs-scene-notes p { margin:0; color:var(--nvs-text-soft); font-size:9px; line-height:1.45; }
.nvs-scene-variant-row { display:flex; align-items:center; gap:8px; margin-top:12px; overflow:auto; padding-bottom:2px; }
.nvs-scene-variant-row > strong { flex:0 0 auto; font-size:9px; }
.nvs-scene-variant-row button { flex:0 0 auto; width:66px; height:66px; overflow:hidden; padding:0; border:1px solid var(--nvs-border); border-radius:10px; background:#090b11; cursor:pointer; }
.nvs-scene-variant-row button.is-active { border-color:var(--nvs-accent-strong); box-shadow:0 0 0 2px rgba(138,125,255,.18); }
.nvs-scene-variant-row img { width:100%; height:100%; object-fit:cover; }
.nvs-scene-media-picker { margin-top:12px; padding-top:12px; border-top:1px solid var(--nvs-border); }
.nvs-scene-checklist { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
.nvs-scene-checklist label { display:flex; align-items:center; gap:9px; min-height:42px; padding:9px 11px; border:1px solid var(--nvs-border); border-radius:11px; color:var(--nvs-text-soft); background:rgba(255,255,255,.018); cursor:pointer; font-size:9px; }
.nvs-scene-checklist label.is-checked { color:#fff; border-color:rgba(99,215,160,.28); background:rgba(99,215,160,.06); }
.nvs-scene-checklist input { position:absolute; opacity:0; pointer-events:none; }
.nvs-scene-checklist .nvs-icon { width:20px; height:20px; padding:3px; border:1px solid var(--nvs-border); border-radius:6px; }
.nvs-scene-checklist label.is-checked .nvs-icon { color:var(--nvs-green); border-color:rgba(99,215,160,.35); }
@media (max-width:1000px) {
  .nvs-scene-production-layout { grid-template-columns:1fr; }
  .nvs-scene-list { position:static; grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:680px) {
  .nvs-scene-list,.nvs-scene-checklist { grid-template-columns:1fr; }
}
.nvs-scene-reference-strategy { display:grid; gap:12px; padding:14px; border:1px solid var(--nvs-border); border-radius:14px; background:rgba(255,255,255,.02); }
.nvs-scene-reference-strategy > div:first-child { display:grid; gap:4px; }
.nvs-scene-reference-strategy strong { font-size:11px; }
.nvs-scene-reference-strategy small,.nvs-scene-reference-strategy span { color:var(--nvs-text-soft); font-size:9px; line-height:1.45; }
.nvs-scene-reference-options { display:flex; flex-wrap:wrap; align-items:center; gap:10px; }
.nvs-scene-reference-options label { display:flex; align-items:center; gap:8px; min-height:34px; padding:0 10px; border:1px solid var(--nvs-border); border-radius:10px; background:rgba(255,255,255,.02); }
.nvs-scene-injected-references { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px; padding-top:10px; border-top:1px solid var(--nvs-border); }
