:root {
    --brs-ink: #070a11;
    --brs-blue: #152c5f;
    --brs-aqua: #16796f;
    --brs-aqua-bright: #6ed8d1;
    --brs-paper: #d4d8e2;
    --brs-muted: #a9b0bf;
    --brs-line: rgba(255, 255, 255, 0.16);
    --brs-surface: rgba(13, 21, 38, 0.88);
    --brs-surface-soft: rgba(255, 255, 255, 0.055);
}

html {
    background: var(--brs-ink);
}

body {
    background:
        radial-gradient(ellipse 62% 38% at 50% 94%, var(--brs-blue) 0%, transparent 67%),
        var(--brs-ink) !important;
    color: #fff !important;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
    position: relative;
}

.workstation-page {
    overflow-x: hidden !important;
    overflow-y: auto !important;
}

.workstation-page.welcome-open {
    overflow: hidden !important;
}

body::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    opacity: 0.17;
    background-image: radial-gradient(rgba(160, 213, 245, 0.45) 0.6px, transparent 0.6px);
    background-size: 38px 38px;
    mask-image: linear-gradient(to bottom, #000, transparent 88%);
}

body::after {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    opacity: 0.42;
    background-image:
        radial-gradient(circle at 8% 16%, rgba(255, 255, 255, 0.9) 0 1px, transparent 1.6px),
        radial-gradient(circle at 19% 72%, rgba(110, 216, 209, 0.8) 0 1px, transparent 1.7px),
        radial-gradient(circle at 31% 28%, rgba(255, 255, 255, 0.75) 0 1px, transparent 1.5px),
        radial-gradient(circle at 44% 84%, rgba(160, 213, 245, 0.7) 0 1px, transparent 1.6px),
        radial-gradient(circle at 57% 13%, rgba(255, 255, 255, 0.85) 0 1px, transparent 1.5px),
        radial-gradient(circle at 68% 61%, rgba(110, 216, 209, 0.72) 0 1px, transparent 1.6px),
        radial-gradient(circle at 79% 25%, rgba(255, 255, 255, 0.8) 0 1px, transparent 1.5px),
        radial-gradient(circle at 91% 78%, rgba(160, 213, 245, 0.72) 0 1px, transparent 1.6px);
}

.app-header {
    z-index: 10;
    background: rgba(7, 10, 17, 0.78) !important;
    border-bottom: 1px solid var(--brs-line) !important;
    padding: 8px clamp(22px, 5vw, 70px) !important;
    backdrop-filter: blur(18px);
}

.header-left,
.header-right {
    position: relative;
    z-index: 1;
}

.logo {
    display: inline-flex !important;
    align-items: center;
    gap: 11px;
    color: #fff !important;
    font-size: 0.75rem !important;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.logo::before {
    content: "";
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    background: url("Logo/logo_reversed.png") center / contain no-repeat;
    mix-blend-mode: screen;
}

.ensemble-wordmark {
    display: inline-flex;
    align-items: baseline;
    gap: 0;
    color: #f5f8ff !important;
    font-style: normal;
    font-weight: 800;
    letter-spacing: -0.055em;
    line-height: 1;
    text-transform: none;
    white-space: nowrap;
}

.ensemble-wordmark .brand-ensemble {
    color: #f5f8ff !important;
}

.ensemble-wordmark .brand-coding {
    color: #78c5ff !important;
    font-style: normal;
}

.ensemble-wordmark .brand-mark {
    margin-left: 0.08em;
    color: #c3dff8 !important;
    font-size: 0.48em;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1;
    position: relative;
    top: -0.42em;
    vertical-align: super;
}

.logo .ensemble-wordmark {
    font-size: 1em;
    letter-spacing: 0.02em;
}

.what-we-do-card .ensemble-wordmark,
.modal-content .ensemble-wordmark,
.legal-page .ensemble-wordmark,
.methods-results-page .ensemble-wordmark {
    display: inline-flex;
    font-size: 1em;
}

.header-right {
    gap: 10px;
}

.nav-link-btn,
.menu-btn {
    border-color: var(--brs-line) !important;
    background: rgba(255, 255, 255, 0.06) !important;
    color: var(--brs-paper) !important;
    box-shadow: none !important;
}

.nav-link-btn:hover,
.menu-btn:hover {
    background: rgba(255, 255, 255, 0.15) !important;
    border-color: rgba(255, 255, 255, 0.38) !important;
    color: #fff !important;
}

.nav-link-btn.what-we-do {
    background: rgba(255, 255, 255, 0.06) !important;
    border-color: var(--brs-line) !important;
    color: #fff !important;
}

.nav-link-btn.login-accent {
    background: var(--brs-aqua) !important;
    border-color: var(--brs-aqua) !important;
    color: #061014 !important;
}

.nav-link-btn.login-accent:hover {
    background: #57c8c1 !important;
    border-color: #57c8c1 !important;
    color: #061014 !important;
}

#navDropdown {
    top: 70px !important;
    right: clamp(22px, 5vw, 70px) !important;
    background: rgba(13, 21, 38, 0.98) !important;
    border-color: var(--brs-line) !important;
    box-shadow: 0 25px 60px rgba(0, 0, 0, 0.45) !important;
    backdrop-filter: blur(18px);
}

.dropdown-item {
    color: var(--brs-paper) !important;
}

.dropdown-item:hover {
    background: rgba(255, 255, 255, 0.08) !important;
    color: #fff !important;
}

.dropdown-divider {
    background: var(--brs-line) !important;
}

.page,
.wrap {
    position: relative;
    z-index: 1;
}

.page-title,
.title,
.wrap h1 {
    color: #fff !important;
    letter-spacing: -0.04em !important;
}

.card,
.wrap .card {
    background: linear-gradient(145deg, rgba(22, 35, 62, 0.9), rgba(9, 15, 27, 0.94)) !important;
    border: 1px solid rgba(255, 255, 255, 0.13) !important;
    border-radius: 20px !important;
    box-shadow: 0 22px 45px -30px rgba(0, 0, 0, 0.85) !important;
    color: var(--brs-paper) !important;
}

.card h2,
.wrap h2,
.section-head h2 {
    color: #fff !important;
}

.muted,
.meta,
.meta-item,
.progress-subtext,
.methods-note,
.results-meta,
.prompt-scroll-hint {
    color: var(--brs-muted) !important;
}

.history-list,
.archived-card,
.row-main,
.row-sub,
.results-content,
.methods-content,
.content,
.meta-value,
.model-name,
.model-stats-list,
.prompt-progress-item {
    color: var(--brs-paper) !important;
}

.history-row,
.archived-card,
.content,
.results-table-wrap,
.results-summary-card,
.prompt-results-card {
    background: var(--brs-aqua) !important;
    color: #061014 !important;
}

.history-row .row-title,
.history-row .row-sub,
.content,
.results-content,
.results-meta,
.prompt-results-title,
.methods-note,
.alpha-line,
.placeholder {
    color: #061014 !important;
}

.archived-card,
.danger-card,
.prompt-progress-item,
.meta-item,
.results-summary-card,
.prompt-results-card,
.study-details-card {
    background: rgba(255, 255, 255, 0.045) !important;
    border-color: rgba(255, 255, 255, 0.13) !important;
}

.archived-toggle,
.btn-secondary,
.copy-btn,
.btn-action,
.btn-download,
.btn-payment,
.btn-cancel {
    border-color: var(--brs-line) !important;
    border-radius: 999px !important;
}

.archived-toggle,
.btn-secondary,
.copy-btn {
    background: rgba(255, 255, 255, 0.06) !important;
    color: #fff !important;
}

.archived-toggle:hover,
.btn-secondary:hover,
.copy-btn:hover {
    background: rgba(255, 255, 255, 0.15) !important;
    color: #fff !important;
}

.btn-action,
.btn-download,
.btn-payment {
    background: rgba(7, 10, 17, 0.9) !important;
    color: #fff !important;
}

.btn-action:hover,
.btn-download:hover,
.btn-payment:hover {
    background: var(--brs-aqua) !important;
    color: #fff !important;
}

.step-five-btn {
    color: #fff !important;
}

.step-five-btn:hover,
.step-five-btn:focus {
    color: #fff !important;
}

.step-five-btn:hover::after,
.step-five-btn:focus::after {
    background: var(--brs-aqua) !important;
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%) !important;
}

.monitor-page .btn-download.step-five-btn,
.monitor-page .btn-download.step-five-btn:hover,
.monitor-page .btn-download.step-five-btn:focus {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    color: #fff !important;
}

.monitor-page .btn-download.step-five-btn:hover::after,
.monitor-page .btn-download.step-five-btn:focus::after {
    background: var(--brs-aqua) !important;
}

.workstation-page button.step-five-btn {
    background: rgba(255, 255, 255, 0.045) !important;
    border: 1px solid rgba(255, 255, 255, 0.16) !important;
    border-radius: 999px !important;
    box-shadow: none !important;
    clip-path: none !important;
    color: #fff !important;
    overflow: visible !important;
}

.workstation-page button.step-five-btn::before,
.workstation-page button.step-five-btn::after {
    display: none !important;
}

.workstation-page button.step-five-btn:hover,
.workstation-page button.step-five-btn:focus-visible {
    background: transparent !important;
    border-color: transparent !important;
    color: #afffff !important;
}

.workstation-page button.step-five-btn {
    --border-color: linear-gradient(90deg, transparent, #24a7aa, #7ccdf2, transparent) !important;
    --border-width: 0.125em;
    --curve-size: 0.5em;
    --bg: #080312;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    clip-path: polygon(
        0% var(--curve-size),
        var(--curve-size) 0,
        100% 0,
        100% calc(100% - var(--curve-size)),
        calc(100% - var(--curve-size)) 100%,
        0 100%
    ) !important;
    color: #afffff !important;
    overflow: hidden !important;
    position: relative;
    isolation: isolate;
    box-shadow: 10px 10px 20px rgba(0, 0, 0, 0.6) !important;
}

.workstation-page button.step-five-btn::before,
.workstation-page button.step-five-btn::after {
    display: block !important;
    content: "";
    position: absolute;
    inset: 0;
}

.workstation-page button.step-five-btn::before {
    background: var(--border-color) !important;
    background-size: 300% 300% !important;
    animation: step-five-border-shift 5s ease infinite;
    z-index: -2;
}

.workstation-page button.step-five-btn::after {
    background: var(--bg) !important;
    clip-path: polygon(
        var(--border-width) calc(var(--curve-size) + var(--border-width) * 0.5),
        calc(var(--curve-size) + var(--border-width) * 0.5) var(--border-width),
        calc(100% - var(--border-width)) var(--border-width),
        calc(100% - var(--border-width)) calc(100% - calc(var(--curve-size) + var(--border-width) * 0.5)),
        calc(100% - calc(var(--curve-size) + var(--border-width) * 0.5)) calc(100% - var(--border-width)),
        var(--border-width) calc(100% - var(--border-width))
    ) !important;
    z-index: -1;
}

.workstation-page button.step-five-btn:hover::after,
.workstation-page button.step-five-btn:focus-visible::after {
    background: var(--bg) !important;
    clip-path: polygon(
        calc(100% - var(--border-width)) calc(100% - calc(var(--curve-size) + var(--border-width) * 0.5)),
        calc(100% - var(--border-width)) var(--border-width),
        calc(100% - var(--border-width)) var(--border-width),
        calc(100% - var(--border-width)) calc(100% - calc(var(--curve-size) + var(--border-width) * 0.5)),
        calc(100% - calc(var(--curve-size) + var(--border-width) * 0.5)) calc(100% - var(--border-width)),
        calc(100% - calc(var(--curve-size) + var(--border-width) * 0.5)) calc(100% - var(--border-width))
    ) !important;
}

.lockable.locked .step-chip {
    color: #fff !important;
    border-color: rgba(255, 255, 255, 0.5) !important;
    background: rgba(7, 10, 17, 0.88) !important;
}

.container {
    min-height: 0;
    padding-top: 8px !important;
    padding-bottom: 2px !important;
    overflow: hidden;
}

.btn-delete,
.btn-cancel {
    background: #a94452 !important;
    color: #fff !important;
}

.btn-delete:hover,
.btn-cancel:hover {
    background: #c95b68 !important;
}

.progress-track {
    background: rgba(255, 255, 255, 0.08) !important;
    border-color: var(--brs-line) !important;
}

.progress-fill {
    background: linear-gradient(90deg, #177d82, var(--brs-aqua), #8bdaf0) !important;
}

.results-table,
.results-table th,
.results-table td,
.cost-table,
.cost-table th,
.cost-table td {
    border-color: rgba(255, 255, 255, 0.12) !important;
}

.results-table th,
.cost-table th {
    background: rgba(36, 167, 170, 0.14) !important;
    color: #b5eeee !important;
}

.results-table td,
.cost-table td {
    color: var(--brs-paper) !important;
}

.methods-content blockquote,
.highlight-box {
    background: rgba(36, 167, 170, 0.1) !important;
    border-color: var(--brs-aqua) !important;
    color: var(--brs-paper) !important;
}

.methods-content a,
.wrap a,
.legal-footer a {
    color: var(--brs-aqua-bright) !important;
}

.methods-content a:hover,
.wrap a:hover,
.legal-footer a:hover {
    color: #fff !important;
}

.methods-results-page .card {
    position: relative;
    background: linear-gradient(145deg, rgba(22, 35, 62, 0.98), rgba(8, 14, 25, 0.98)) !important;
    border: 1px solid rgba(255, 255, 255, 0.16) !important;
    border-radius: 20px !important;
    box-shadow: 0 30px 80px rgba(0, 0, 0, 0.55) !important;
    color: #fff !important;
}

.methods-results-page .card::before {
    display: none;
}

.methods-results-page .card h2 {
    margin: 0;
    color: #fff !important;
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}

.methods-results-page .copy-btn {
    background: rgba(255, 255, 255, 0.045) !important;
    border-color: rgba(255, 255, 255, 0.16) !important;
    color: #fff !important;
}

.methods-results-page .copy-btn:hover,
.methods-results-page .copy-btn:focus-visible {
    background: rgba(24, 61, 120, 0.96) !important;
    border-color: rgba(160, 213, 245, 0.42) !important;
    color: #fff !important;
}

.methods-results-page .results-table-head {
    background: rgba(13, 33, 72, 0.72) !important;
    border-bottom-color: rgba(160, 213, 245, 0.24) !important;
}

.methods-results-page .page-title {
    color: #fff !important;
    font-size: 1.18rem;
    font-weight: 800;
    letter-spacing: 0.02em !important;
    text-transform: uppercase;
}

.methods-results-page .prompt-results-card,
.methods-results-page .results-summary-card,
.methods-results-page .results-table-wrap {
    background: linear-gradient(135deg, rgba(24, 61, 120, 0.96), rgba(13, 33, 72, 0.96)) !important;
    border-color: rgba(160, 213, 245, 0.34) !important;
    color: #e8f5ff !important;
}

.methods-results-page .prompt-results-title {
    margin: 0 0 8px;
    color: #fff !important;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.methods-results-page .status,
.methods-results-page .methods-note,
.methods-results-page .placeholder {
    color: var(--brs-muted) !important;
}

.methods-results-page .content,
.methods-results-page .prompt-results-card,
.methods-results-page .results-summary-card,
.methods-results-page .results-table-wrap {
    color: var(--brs-paper) !important;
}

.methods-results-page .content {
    background: rgba(255, 255, 255, 0.045) !important;
    border-color: rgba(255, 255, 255, 0.13) !important;
}

.methods-results-page .results-table th,
.methods-results-page .results-table td,
.methods-results-page .results-table thead th,
.methods-results-page .results-meta,
.methods-results-page .alpha-line {
    color: #e8f5ff !important;
    border-color: rgba(160, 213, 245, 0.24) !important;
}

.modal,
.danger-modal {
    background: rgba(3, 7, 14, 0.78) !important;
    backdrop-filter: blur(14px);
}

body:has(.modal[style*="display: flex"]),
body:has(.danger-modal[style*="display: flex"]) {
    overflow: hidden !important;
}

.modal-content,
.danger-card {
    background: linear-gradient(145deg, rgba(22, 35, 62, 0.98), rgba(8, 14, 25, 0.98)) !important;
    border-color: rgba(255, 255, 255, 0.16) !important;
    color: #fff !important;
    box-shadow: 0 30px 80px rgba(0, 0, 0, 0.55) !important;
}

.close-modal,
.danger-title {
    color: #fff !important;
}

.danger-copy,
.modal-content p,
.modal-content li {
    color: var(--brs-muted) !important;
}

.modal-content h2,
.modal-content h3,
.modal-content strong {
    color: #fff !important;
}

.what-we-do-card {
    background: linear-gradient(135deg, rgba(24, 61, 120, 0.96), rgba(13, 33, 72, 0.96)) !important;
    border-color: rgba(160, 213, 245, 0.34) !important;
    color: #e8f5ff !important;
}

.what-we-do-card * {
    color: #e8f5ff !important;
}

.what-we-do-card .ensemble-wordmark .brand-ensemble,
.modal-content .ensemble-wordmark .brand-ensemble,
.legal-page .ensemble-wordmark .brand-ensemble,
.methods-results-page .ensemble-wordmark .brand-ensemble {
    color: #f5f8ff !important;
}

.what-we-do-card .ensemble-wordmark .brand-coding,
.modal-content .ensemble-wordmark .brand-coding,
.legal-page .ensemble-wordmark .brand-coding,
.methods-results-page .ensemble-wordmark .brand-coding {
    color: #78c5ff !important;
}

.what-we-do-card .ensemble-wordmark .brand-mark,
.modal-content .ensemble-wordmark .brand-mark,
.legal-page .ensemble-wordmark .brand-mark,
.methods-results-page .ensemble-wordmark .brand-mark {
    color: #c3dff8 !important;
}

.what-we-do-card > div:first-child {
    color: var(--brs-aqua-bright) !important;
}

.modal-content:has(.what-we-do-panel) {
    background: linear-gradient(145deg, rgba(22, 35, 62, 0.72), rgba(9, 15, 27, 0.78)) !important;
    border-color: rgba(160, 213, 245, 0.24) !important;
}

.what-we-do-panel h2 {
    color: #fff !important;
}

.what-we-do-panel > p {
    color: var(--brs-muted) !important;
}

.what-we-do-description-card {
    margin: 0 0 8px;
    padding: 12px;
    border: 1px solid rgba(160, 213, 245, 0.34);
    border-radius: 12px;
    background: linear-gradient(135deg, rgba(13, 33, 72, 0.98), rgba(7, 21, 48, 0.98));
    color: #e8f5ff;
}

.what-we-do-description-card p {
    margin: 0;
    color: #e8f5ff !important;
    font-size: 0.86rem;
    line-height: 1.45;
}

.what-we-do-description-card p + p {
    margin-top: 8px;
}

.prompt-title-list,
.prompt-title-list li {
    color: #e8f5ff !important;
}

.legal-page .wrap {
    padding-top: 18px;
}

.legal-page .wrap > .card {
    background: linear-gradient(145deg, rgba(22, 35, 62, 0.92), rgba(9, 15, 27, 0.96)) !important;
    border-color: rgba(255, 255, 255, 0.13) !important;
    border-radius: 20px !important;
    box-shadow: 0 22px 45px -30px rgba(0, 0, 0, 0.85) !important;
    color: var(--brs-paper) !important;
}

.legal-page .wrap h1,
.legal-page .wrap h2 {
    color: #fff !important;
}

.legal-page .wrap p,
.legal-page .wrap li {
    color: var(--brs-paper) !important;
}

.legal-page .wrap .meta {
    color: var(--brs-muted) !important;
}

.legal-page .wrap a {
    color: var(--brs-aqua-bright) !important;
}

.privacy-page .highlight-box {
    background: linear-gradient(135deg, rgba(21, 44, 95, 0.92), rgba(14, 31, 70, 0.92)) !important;
    border-left-color: var(--brs-aqua) !important;
    color: var(--brs-paper) !important;
}

.history-page .page > .card {
    background: linear-gradient(145deg, rgba(21, 44, 95, 0.94), rgba(9, 21, 48, 0.97)) !important;
    border-color: rgba(160, 213, 245, 0.26) !important;
    color: #e8f5ff !important;
}

.history-page .page > .card .title {
    color: #fff !important;
}

.history-page .history-row {
    background: linear-gradient(135deg, rgba(49, 91, 145, 0.96), rgba(28, 59, 108, 0.96)) !important;
    border-color: rgba(160, 213, 245, 0.42) !important;
    color: #e8f5ff !important;
}

.history-page .history-row .row-title,
.history-page .history-row .row-sub {
    color: #e8f5ff !important;
}

.history-page .archived-card {
    background: #0d2148 !important;
    border-color: rgba(160, 213, 245, 0.28) !important;
}

.history-page .archived-toggle {
    background: #183d78 !important;
    color: #e8f5ff !important;
}

.history-page .archived-content {
    background: #091a38 !important;
    border-top-color: rgba(160, 213, 245, 0.24) !important;
}

.pricing-panel {
    color: var(--brs-paper) !important;
}

.pricing-panel h2 {
    color: #fff !important;
}

.pricing-panel > p,
.pricing-panel > div {
    color: var(--brs-paper) !important;
}

.pricing-panel > div[style*="grid-template-columns"],
.pricing-panel > div[style*="background:#ffffff"] {
    background: rgba(255, 255, 255, 0.035) !important;
    border-color: rgba(160, 213, 245, 0.32) !important;
}

.modal-content:has(.pricing-panel) {
    background: linear-gradient(145deg, rgba(22, 35, 62, 0.72), rgba(9, 15, 27, 0.78)) !important;
    border-color: rgba(160, 213, 245, 0.24) !important;
}

.pricing-panel > div[style*="grid-template-columns"] > div {
    background: linear-gradient(135deg, rgba(24, 61, 120, 0.96), rgba(13, 33, 72, 0.96)) !important;
    border-color: rgba(160, 213, 245, 0.34) !important;
}

.pricing-panel > div[style*="background:#ffffff"] {
    background: rgba(255, 255, 255, 0.035) !important;
}

.pricing-panel > div[style*="background:#eff6ff"] {
    background: rgba(22, 121, 111, 0.82) !important;
    border-color: rgba(110, 216, 209, 0.5) !important;
}

.pricing-panel > div[style*="grid-template-columns"] * ,
.pricing-panel > div[style*="background:#ffffff"] * ,
.pricing-panel > div[style*="background:#eff6ff"] * {
    color: #e8f5ff !important;
}

.legal-footer {
    position: relative;
    z-index: 1;
    border-top-color: var(--brs-line) !important;
    background: rgba(7, 10, 17, 0.78) !important;
    color: var(--brs-muted) !important;
    backdrop-filter: blur(18px);
}

#message {
    position: relative;
    z-index: 1;
    background: linear-gradient(145deg, rgba(22, 35, 62, 0.96), rgba(8, 14, 25, 0.98)) !important;
    border: 1px solid rgba(255, 255, 255, 0.16) !important;
    border-radius: 20px !important;
    box-shadow: 0 30px 80px rgba(0, 0, 0, 0.55) !important;
}

#message h1,
#message h2,
#message h3,
#message p {
    color: #fff !important;
}

#message h2 {
    color: var(--brs-aqua-bright) !important;
}

#message a {
    background: var(--brs-aqua) !important;
    color: #061014 !important;
    border-radius: 999px !important;
}

@media (max-width: 768px) {
    .app-header {
        padding: 14px 22px !important;
    }

    .logo {
        font-size: 0.68rem !important;
    }

    .logo::before {
        width: 32px;
        height: 32px;
        flex-basis: 32px;
    }

    .header-right .nav-link-btn {
        display: none;
    }

    #navDropdown {
        top: 60px !important;
        right: 22px !important;
    }
}

@media (max-width: 1100px) {
    .workstation-page .container {
        flex: 0 0 auto;
        min-height: max-content;
        overflow: visible;
    }
}
