:root {
    --cc-theme-surface: #ffffff;
    --cc-theme-surface-raised: #f7f9fc;
    --cc-theme-text: #101828;
    --cc-theme-muted: #667085;
    --cc-theme-border: #dfe5ef;
    --cc-theme-shadow: 0 18px 48px rgba(16, 24, 40, .14);
}

html[data-theme="dark"] {
    --background: #0b1020;
    --surface: #131b31;
    --text: #edf2ff;
    --text-light: #aab5cf;
    --border: #2a3655;
    --cc-ink: #edf2ff;
    --cc-muted: #aab5cf;
    --cc-line: #2a3655;
    --cc-navy: #f4f6ff;
    --cc-navy-2: #dce4ff;
    --ac-ink: #edf2ff;
    --ac-muted: #aab5cf;
    --ac-line: #2a3655;
    --ac-surface: #131b31;
    --ac-soft: #0f172b;
    --ac-navy: #dfe7ff;
    --pack-ink: #edf2ff;
    --pack-muted: #aab5cf;
    --pack-line: #2a3655;
    --pack-warm: #2c2417;
    --entry-ink: #edf2ff;
    --entry-muted: #aab5cf;
    --entry-line: #2a3655;
    --cc-theme-surface: #131b31;
    --cc-theme-surface-raised: #0f172b;
    --cc-theme-text: #edf2ff;
    --cc-theme-muted: #aab5cf;
    --cc-theme-border: #2a3655;
    --cc-theme-shadow: 0 20px 56px rgba(0, 0, 0, .42);
}

html[data-theme="dark"] body,
html[data-theme="dark"] body.home-page,
html[data-theme="dark"] body.cc-dashboard,
html[data-theme="dark"] body.cc-app-page,
html[data-theme="dark"] body.auth-page,
html[data-theme="dark"] body.cc-public-reviews,
html[data-theme="dark"] body.cc-review-entry,
html[data-theme="dark"] body.pack-page {
    --background: #0b1020;
    --surface: #131b31;
    --text: #edf2ff;
    --text-light: #aab5cf;
    --border: #2a3655;
    --cc-ink: #edf2ff;
    --cc-muted: #aab5cf;
    --cc-line: #2a3655;
    --cc-navy: #f4f6ff;
    --cc-navy-2: #dce4ff;
    --ac-ink: #edf2ff;
    --ac-muted: #aab5cf;
    --ac-line: #2a3655;
    --ac-surface: #131b31;
    --ac-soft: #0f172b;
    --ac-navy: #dfe7ff;
    --pack-ink: #edf2ff;
    --pack-muted: #aab5cf;
    --pack-line: #2a3655;
    --pack-warm: #2c2417;
    --entry-ink: #edf2ff;
    --entry-muted: #aab5cf;
    --entry-line: #2a3655;
    color: var(--cc-theme-text) !important;
    background: #0b1020 !important;
}

html[data-theme="dark"] body :is(h1, h2, h3, h4, h5, h6, strong, label) {
    color: var(--cc-theme-text);
}

html[data-theme="dark"] body :is(p, li, small) {
    color: var(--cc-theme-muted);
}

html[data-theme="dark"] body :is(input, textarea, select) {
    color: var(--cc-theme-text) !important;
    background: #0d1528 !important;
    border-color: var(--cc-theme-border) !important;
}

html[data-theme="dark"] body :is(input, textarea)::placeholder {
    color: #7f8aa5;
}

html[data-theme="dark"] body :is(
    .cc-home-nav,
    .cc-dashboard-nav,
    .ac-nav,
    .pack-nav,
    .auth-nav,
    .reviews-nav,
    .review-nav,
    .navbar,
    .site-nav,
    .cover-letter-nav,
    .job-match-nav,
    .owner-nav
) {
    background: rgba(11, 16, 32, .92) !important;
    border-color: var(--cc-theme-border) !important;
}

html[data-theme="dark"] body :is(
    [class*="-card"],
    [class*="_card"],
    [class*="-panel"],
    [class*="_panel"],
    .cc-product-preview,
    .cc-preview-score-row,
    .cc-preview-next,
    .ac-form-card,
    .ag-answer-card,
    .ag-example,
    .review-form-card
) {
    color: var(--cc-theme-text);
    background-color: var(--cc-theme-surface) !important;
    border-color: var(--cc-theme-border) !important;
    box-shadow: var(--cc-theme-shadow);
}

html[data-theme="dark"] body :is(
    .home-page .cc-hero,
    .home-page .cc-trust-strip,
    .home-page .cc-outcomes-section,
    .home-page .cc-process-section,
    .home-page .cc-pricing-section,
    .home-page .cc-final-cta,
    .pack-hero,
    .pack-result-hero,
    .ag-hero,
    .ag-intro-section,
    .ag-example-section,
    .ag-steps-section,
    .ac-hero,
    .ac-checker-section,
    .ac-results-section,
    .pack-section,
    .pack-result-main,
    .pack-form-main,
    .pack-success-main
) {
    background-color: #0b1020 !important;
    background-image: none !important;
}

html[data-theme="dark"] .home-page .cc-nav-cta,
html[data-theme="dark"] .home-page .cc-button-primary {
    color: #ffffff !important;
    background: #5b5ce2 !important;
}

html[data-theme="dark"] .home-page .cc-button-secondary {
    color: var(--cc-theme-text) !important;
    background: #131b31 !important;
    border-color: var(--cc-theme-border) !important;
}

html[data-theme="dark"] body :is(
    .cc-button-quiet,
    .ac-button-secondary,
    .pack-button-secondary
) {
    color: var(--cc-theme-text) !important;
    background: #131b31 !important;
    border-color: var(--cc-theme-border) !important;
}

html[data-theme="dark"] body :is(
    .pack-nav-button,
    .auth-nav-cta
) {
    color: #ffffff !important;
    background: #5b5ce2 !important;
    border-color: #5b5ce2 !important;
}

html[data-theme="dark"] .auth-page .auth-divider span {
    color: var(--cc-theme-muted) !important;
    background: var(--cc-theme-surface) !important;
}

html[data-theme="dark"] body :is(
    .ag-answer-card li,
    .ag-profile-template,
    .ag-steps-grid li,
    .ag-checklist li,
    .pack-score-note,
    .pricing-fit
) {
    color: var(--cc-theme-muted) !important;
    background: var(--cc-theme-surface) !important;
    border-color: var(--cc-theme-border) !important;
}

html[data-theme="dark"] body :is(
    .ag-steps-grid li > span,
    .pack-process-grid li > span
) {
    color: #ffffff !important;
    background: #2867d9 !important;
}

html[data-theme="dark"] .pack-trust-row,
html[data-theme="dark"] .pack-trust-row span {
    color: var(--cc-theme-muted) !important;
}

html[data-theme="dark"] .auth-page :is(
    .auth-create-account,
    .auth-link
) {
    color: #ffffff !important;
    background: #273252 !important;
    border-color: #435273 !important;
}

html[data-theme="dark"] .home-page .cc-trust-strip {
    border-color: var(--cc-theme-border) !important;
}

html[data-theme="dark"] body :is(table, th, td, blockquote) {
    color: var(--cc-theme-text);
    background-color: var(--cc-theme-surface) !important;
    border-color: var(--cc-theme-border) !important;
}

html[data-theme="dark"] body :is(hr, .divider, .ac-divider) {
    border-color: var(--cc-theme-border) !important;
}

html[data-theme="dark"] .pack-sample-notice,
html[data-theme="dark"] .pack-evidence-warning,
html[data-theme="dark"] .ac-alert {
    color: #f4ddb0 !important;
    background: #2c2417 !important;
    border-color: #66522c !important;
}

html[data-theme="dark"] body :is(a, button) {
    outline-color: #8ea8ff;
}

html[data-theme="dark"] .cc-theme-auto-surface {
    color: var(--cc-theme-text) !important;
    background-color: var(--cc-theme-surface) !important;
    background-image: none !important;
    border-color: var(--cc-theme-border) !important;
}

html[data-theme="dark"] .cc-theme-auto-control {
    color: #ffffff !important;
    background-color: #273252 !important;
    background-image: none !important;
    border-color: #435273 !important;
}

html[data-theme="dark"] .cc-theme-auto-text {
    color: var(--cc-theme-text) !important;
}

html[data-theme="light"] .cc-theme-auto-light-surface {
    color: #101828 !important;
    background-color: #ffffff !important;
    background-image: none !important;
    border-color: #dfe5ef !important;
    box-shadow: 0 14px 38px rgba(16, 24, 40, .09);
}

html[data-theme="light"] .cc-theme-auto-light-control {
    color: #17213a !important;
    background-color: #eef2ff !important;
    background-image: none !important;
    border-color: #cfd7eb !important;
}

html[data-theme="light"] .cc-theme-auto-light-text {
    color: #17213a !important;
}

.cc-theme-switcher {
    position: fixed;
    z-index: 1000;
    bottom: 16px;
    left: 16px;
    display: flex;
    gap: 4px;
    padding: 5px;
    color: var(--cc-theme-text);
    background: var(--cc-theme-surface);
    background: color-mix(in srgb, var(--cc-theme-surface) 94%, transparent);
    border: 1px solid var(--cc-theme-border);
    border-radius: 14px;
    box-shadow: var(--cc-theme-shadow);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
}

.cc-theme-switcher button {
    display: grid;
    grid-template-columns: auto auto;
    align-items: center;
    gap: 5px;
    min-height: 36px;
    padding: 6px 9px;
    color: var(--cc-theme-muted) !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 9px;
    cursor: pointer;
    font: 700 11px/1 "DM Sans", "Inter", sans-serif;
}

.cc-theme-switcher button:hover,
.cc-theme-switcher button:focus-visible {
    color: var(--cc-theme-text) !important;
    background: var(--cc-theme-surface-raised) !important;
}

.cc-theme-switcher button[aria-pressed="true"] {
    color: #ffffff !important;
    background: #4f62db !important;
}

.cc-theme-switcher button span {
    font-size: 15px;
}

.cc-theme-switcher button small {
    color: inherit !important;
    font: inherit;
}

@media (min-width: 720px) {
    .cc-theme-switcher {
        right: 16px;
        left: auto;
    }
}

.cc-social-links {
    box-sizing: border-box;
    display: flex;
    flex: 1 0 100%;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 28px;
    width: min(100%, 760px);
    margin: 20px auto 92px;
    padding: 28px 32px;
    color: #ffffff !important;
    background: #050505 !important;
    border: 0 !important;
    border-radius: 16px;
    box-shadow: none;
    font-family: "DM Sans", "Inter", sans-serif;
}

.cc-social-links-standalone {
    margin: 34px auto 116px;
}

.cc-social-links-title {
    margin-right: 8px;
    color: #ffffff !important;
    font-size: clamp(24px, 3.2vw, 34px);
    font-weight: 800;
    line-height: 1;
}

.cc-social-link {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 56px;
    width: 56px;
    height: 56px;
    padding: 4px;
    color: #ffffff !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 10px;
    text-decoration: none !important;
    transition: color .18s ease, transform .18s ease;
}

.cc-social-link:hover,
.cc-social-link:focus-visible {
    color: #cbd5e1 !important;
    background: rgba(255, 255, 255, .08) !important;
    transform: translateY(-3px);
}

.cc-social-link-icon {
    display: block;
    width: 48px;
    height: 48px;
}

.cc-social-link-label {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

@media (max-width: 560px) {
    .cc-social-links {
        width: calc(100% - 24px);
        gap: 18px;
        padding: 24px;
    }

    .cc-social-links-title {
        flex: 1 0 100%;
        margin: 0 0 4px;
    }

    .cc-social-link,
    .cc-social-link-icon {
        width: 48px;
        height: 48px;
    }

    .cc-social-link {
        flex-basis: 48px;
    }
}

html[data-theme="light"] .cc-score-ring span {
    color: #59657c !important;
}

html[data-theme="light"] .average-review strong {
    color: #955900 !important;
}

html[data-theme="light"] .cc-price-card-pro .cc-price-amount {
    color: #101828 !important;
}

html[data-theme="light"] .sample-verdict-heading span {
    color: #176447 !important;
    background: #e5f5ee !important;
    border-color: #b8dfce !important;
}

.cc-review-prompt {
    position: fixed;
    z-index: 1001;
    right: 18px;
    bottom: 18px;
    width: min(380px, calc(100vw - 36px));
    padding: 23px;
    color: var(--cc-theme-text);
    background: var(--cc-theme-surface);
    border: 1px solid var(--cc-theme-border);
    border-radius: 18px;
    box-shadow: var(--cc-theme-shadow);
    font-family: "DM Sans", "Inter", sans-serif;
}

.cc-review-prompt-eyebrow {
    display: block;
    margin-bottom: 7px;
    color: #4f62db;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.cc-review-prompt strong {
    display: block;
    padding-right: 25px;
    color: var(--cc-theme-text) !important;
    font-size: 19px;
}

.cc-review-prompt p {
    margin: 8px 0 17px;
    color: var(--cc-theme-muted) !important;
    font-size: 13px;
    line-height: 1.55;
}

.cc-review-prompt-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 9px;
}

.cc-review-prompt-actions a,
.cc-review-prompt-actions button {
    min-height: 40px;
    padding: 10px 14px;
    border-radius: 10px;
    font: 800 12px/1.2 "DM Sans", "Inter", sans-serif;
    cursor: pointer;
}

.cc-review-prompt-actions a {
    color: #ffffff !important;
    background: #4f62db;
    text-decoration: none;
}

.cc-review-prompt-actions button,
.cc-review-prompt-close {
    color: var(--cc-theme-muted);
    background: transparent;
    border: 1px solid var(--cc-theme-border);
}

.cc-review-prompt-close {
    position: absolute;
    top: 13px;
    right: 13px;
    display: grid;
    width: 30px;
    height: 30px;
    padding: 0;
    place-items: center;
    border-radius: 9px;
    cursor: pointer;
    font-size: 20px;
}

@media (max-width: 680px) {
    .cc-theme-switcher {
        right: 10px;
        bottom: 10px;
        left: 10px;
        justify-content: center;
    }

    .cc-theme-switcher button {
        flex: 1;
        justify-content: center;
    }

    .cc-review-prompt {
        right: 10px;
        bottom: 70px;
        width: calc(100vw - 20px);
    }
}

@media (prefers-reduced-motion: reduce) {
    .cc-theme-switcher *,
    .cc-review-prompt * {
        scroll-behavior: auto !important;
        transition: none !important;
    }
}
