/* Shared mode fixes. Page-specific palettes keep their original surface hierarchy. */
:root[data-theme="light"], :root[data-theme="light"] body {
    --site-bg: #ffffff; --site-card: #ffffff; --site-subtle: #f5f5f7;
    --dk-bg:#ffffff; --dk-surface:#f5f5f7; --dk-card:#ffffff; --dk-hover:#f4f4f5;
    --dk-text:#18181b; --dk-text-sub:#52525b; --dk-text-muted:#71717a; --dk-border:rgba(0,0,0,.08);
    --site-hover: #eeeeee; --site-text: #1a1a1a; --site-muted: #52525b;
    --site-border: rgba(0,0,0,.12); --site-on-accent: #ffffff;
}
:root[data-theme="dark"], :root[data-theme="dark"] body {
    --site-bg: #1a1a1a; --site-card: #242424; --site-subtle: #202020;
    --site-hover: #303030; --site-text: #f5f5f5; --site-muted: #b5b5bd;
    --site-border: rgba(255,255,255,.14); --site-on-accent: #1a1a1a;
}
:root[data-theme], :root[data-theme] body {
    --bb-bg: var(--site-bg); --bb-surface: var(--site-card); --bb-surface-hover: var(--site-hover);
    --bb-text: var(--site-text); --bb-text-muted: var(--site-muted); --bb-border: var(--site-border);
    --bb-hero-title: var(--site-text);
    --hdr-bg: var(--site-bg); --hdr-text: var(--site-text); --hdr-text-muted: var(--site-muted);
    --hdr-dropdown-bg: var(--site-card); --hdr-search-bg: var(--site-subtle);
    --hdr-hover-bg: var(--site-hover); --hdr-border: var(--site-border);
    background-color: var(--site-bg) !important; color: var(--site-text) !important;
}
:root[data-theme] .hdr {
    --hdr-bg: var(--site-bg); --hdr-text: var(--site-text); --hdr-text-muted: var(--site-muted);
    --hdr-dropdown-bg: var(--site-card); --hdr-search-bg: var(--site-subtle);
    --hdr-hover-bg: var(--site-hover); --hdr-border: var(--site-border);
    background: var(--site-bg) !important; color: var(--site-text);
}
:root[data-theme] :is(.hdr-nav-btn,.hdr-mega-title,.hdr-drop-link,.hdr-login-text,.hdr-search-input,.hdr-search-label,.hdr-mob-search-icon,.hdr-hamburger) { color: var(--site-text) !important; }
:root[data-theme] :is(.hdr-mega-desc,.hdr-drawer-link) { color: var(--site-muted) !important; }
:root[data-theme] :is(.hdr-drop-panel,.hdr-drawer,.hdr-mega-panel) { background: var(--site-card) !important; border-color: var(--site-border) !important; }
:root[data-theme] .hdr-btn--signup { background: var(--site-text) !important; color: var(--site-bg) !important; }
.site-theme-toggle { display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; width:36px; height:36px; padding:0; border:1px solid var(--site-border); border-radius:50%; background:var(--site-card); color:var(--site-text); font-size:21px; cursor:pointer; }
.site-theme-toggle:hover { background:var(--site-hover); }
.site-theme-toggle:focus-visible { outline:2px solid currentColor; outline-offset:3px; }
:root[data-theme="light"] .site-logo-on-dark, :root[data-theme="dark"] .site-logo-on-light { display:none !important; }
:root[data-theme="light"] .site-logo-on-light, :root[data-theme="dark"] .site-logo-on-dark { display:block !important; }
:root[data-theme] :is(.landing-wrapper,.bs-resources-page) { background-color:var(--site-bg); color:var(--site-text); }
:root[data-theme] :is(.landing-wrapper,.bs-resources-page) :is(h1,h2,h3,h4,h5,h6) { color:var(--site-text) !important; }
:root[data-theme] .landing-wrapper .text-gradient-orange { background:linear-gradient(90deg,#4d7c0f,#3f6212); background-clip:text; -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
:root[data-theme="dark"] .landing-wrapper .text-gradient-orange { background-image:linear-gradient(90deg,#a3e635,#bef264); }
:root[data-theme] .landing-wrapper :is(.hero-subtitle,.section-subtitle,.feature-desc,.faq-question,.brand-item,.testimonial-card p) { color:var(--site-muted) !important; }
:root[data-theme] .landing-wrapper :is(.ai-chat-box,.ai-input-container,.think-deep-dropdown,.testimonial-card,.feature-card,.cta-card) { background-color:var(--site-card); color:var(--site-text); border-color:var(--site-border); }
:root[data-theme] .landing-wrapper .btn-orange-glow { color:#1a1a1a !important; }
:root[data-theme] .landing-wrapper .video-gradient-bottom { background:linear-gradient(to bottom,transparent,var(--site-bg)); }
:root[data-theme] .landing-wrapper :is(.prompt-box,.think-deep-menu,.prompt-control-btn,.prompt-tool-btn) { background:var(--site-card); color:var(--site-text); }
:root[data-theme] .landing-wrapper :is(.prompt-control-btn,.prompt-tool-btn,.prompt-input) { color:var(--site-text) !important; }
:root[data-theme] :is(.cmd-dialog,.cmd-header,.cmd-history-icon-box) { background:var(--site-card) !important; color:var(--site-text); }
:root[data-theme] :is(.cmd-input,.cmd-item,.cmd-history-text,.cmd-back-btn) { color:var(--site-text) !important; }
:root[data-theme] :is(.cmd-section-title,.cmd-item-icon,.cmd-history-remove) { color:var(--site-muted); }
:root[data-theme] .cmd-input::placeholder { color:var(--site-muted); }
:root[data-theme] :is(.bls-content,.bls-right) { background:var(--site-card) !important; color:var(--site-text); }
:root[data-theme] :is(.idd-action-btn,.idd-tag,.idd-price-box,.idd-like-btn-sm,.idd-collect-btn-sm,.idd-designer-card) { background-color:var(--site-card); border-color:var(--site-border); color:var(--site-text); }
:root[data-theme] :is(.idd-software-name,.idd-description,.idd-detail-val) { color:var(--site-text); }
:root[data-theme] :is(.cmd-search-modal,.cmd-search-container,.cmd-search-content,.cmd-modal-content,.cmd-search-panel) { background:var(--site-card) !important; color:var(--site-text) !important; }
:root[data-theme] :is(.card,.modal-content,.custom--card,.accordion-item,.list-group-item) { background-color:var(--site-card); color:var(--site-text); border-color:var(--site-border); }
:root[data-theme] :is(.form-control,.form--control,.form-select,.select2-selection) { background-color:var(--site-card); color:var(--site-text); border-color:var(--site-border); }
:root[data-theme] :is(.text-muted,.text-secondary) { color:var(--site-muted) !important; }
:root[data-theme] :is(.text-dark,.text-heading,.text-body) { color:var(--site-text) !important; }
:root[data-theme] :is(.footer,.footer-bottom,.footer__copyright) { background:var(--site-bg) !important; color:var(--site-muted); }
:root[data-theme] .footer :is(h5,h6,.footer-heading) { color:var(--site-text) !important; }
:root[data-theme] .footer :is(p,a) { color:var(--site-muted); }
@media(max-width:575px) { .site-theme-toggle { width:32px; height:32px; font-size:19px; } }

:root[data-theme], :root[data-theme] body.contributor-landing {
    --bg-dark:var(--site-bg); --bg-card:var(--site-card); --bg-card-hover:var(--site-hover);
    --text-primary:var(--site-text); --text-secondary:var(--site-muted); --border-color:var(--site-border);
}
:root[data-theme] .contributor-landing .navbar { background:var(--site-bg); }
:root[data-theme] .contributor-landing .text-gradient { background:linear-gradient(90deg,var(--site-text),var(--site-muted)); background-clip:text; -webkit-background-clip:text; }
:root[data-theme] .contributor-landing .text-white { color:var(--site-text) !important; }
:root[data-theme] .contributor-landing .navbar-toggler { color:var(--site-text); }

/* Pricing: retain the light composition, give dark cards their own surfaces. */
:root[data-theme="dark"] .price-section {
    background:#1a1a1a;
    --pricing-border:#3a3a3a;
    --pricing-secondary:#b8b8c0;
}
:root[data-theme="dark"] .price-section .pricing-card {
    background:#222222;
    border:1px solid var(--pricing-border);
    box-shadow:0 8px 24px rgba(0,0,0,.12);
}
:root[data-theme="dark"] .price-section .pricing-card.popular {
    background:#242424;
    border-color:#4a4a4a;
    box-shadow:0 12px 32px rgba(0,0,0,.2);
}
:root[data-theme="dark"] .price-section .pricing-card.popular .card-header-bg {
    background:linear-gradient(135deg,#303030,#262626);
}
:root[data-theme="dark"] .price-section .plan-price-wrapper {
    background:#2a2a2a;
    border-color:var(--pricing-border);
}
:root[data-theme="dark"] .price-section :is(.pricing-main-title,.plan-name,.plan-price) { color:#f5f5f5; }
:root[data-theme="dark"] .price-section :is(.plan-desc,.plan-currency,.pricing-subtitle) { color:var(--pricing-secondary); }
:root[data-theme="dark"] .price-section .plan-features li { color:#d4d4d8; }
:root[data-theme="dark"] .price-section .plan-btn-outline { background:#363636; color:#f5f5f5; }
:root[data-theme="dark"] .price-section .plan-btn-outline:hover { background:#424242; }
:root[data-theme="dark"] .price-section .plan-btn-solid { background:#f5f5f5; color:#1a1a1a; }
:root[data-theme="dark"] .price-section .plan-btn-solid:hover { background:#e4e4e7; }
:root[data-theme] .price-section .plan-btn:focus-visible { outline:2px solid var(--site-text); outline-offset:4px; }
/* Footer rules in the legacy dark sheet were making legal links too faint. */
:root[data-theme] .footer :is(.footer-desc,.footer-links a,.footer-bottom-links a,.copyright-text,.footer-projects-text,.footer-projects-link,.footer-socials a) { color:var(--site-muted) !important; }
:root[data-theme] .footer :is(.footer-links a,.footer-bottom-links a,.footer-projects-link,.footer-socials a):hover { color:var(--site-text) !important; }
:root[data-theme] .hdr-search-form { background:var(--site-subtle); border-color:var(--site-border); }
:root[data-theme] .hdr-search-input { background:transparent !important; border:0 !important; box-shadow:none !important; }
@media(prefers-reduced-motion:reduce) { .price-section .pricing-card,.price-section .plan-btn { transition:none; } .price-section .pricing-card:hover { transform:none; } }

/* Purchase dialog has a permanent light palette, independent of site mode. */
#purchaseModal {
    color-scheme:light;
    --site-bg:#ffffff; --site-card:#ffffff; --site-subtle:#f8f9fa;
    --site-text:#1a1a1a; --site-muted:#52525b; --site-border:#dee2e6;
    --dk-bg:#ffffff; --dk-surface:#ffffff; --dk-card:#f8f9fa;
    --dk-hover:#f4f4f5; --dk-text:#1a1a1a; --dk-text-sub:#52525b;
    --dk-text-muted:#52525b; --dk-border:#dee2e6;
    --color-surface-0:#ffffff; --color-surface-1:#f8f9fa;
    --color-surface-2:#f4f4f5; --color-surface-3:#e4e4e7;
    --color-surface-foreground-0:#1a1a1a; --color-surface-foreground-2:#52525b;
    --bs-body-bg:#ffffff; --bs-body-color:#1a1a1a; --bs-border-color:#dee2e6;
    color:#1a1a1a;
}
#purchaseModal :is(.modal-content,.modal-body,.pm-right) { background:#ffffff !important; color:#1a1a1a !important; }
#purchaseModal :is(.pm-right,.modal-body) :is(h3,h4,h5,h6,.fw-bold) { color:#1a1a1a !important; }
#purchaseModal :is(.text-muted,.text-secondary,.pm-right p) { color:#52525b !important; }
#purchaseModal :is(.pm-choice-card,.payment-system-list,.gateway-option) { background:#ffffff !important; color:#1a1a1a !important; border-color:#dee2e6 !important; }
#purchaseModal .gateway-option { border:1px solid #dee2e6 !important; }
#purchaseModal :is(.pm-choice-card.selected,.gateway-option:has(input:checked)) { background:#fafafa !important; border-color:#1a1a1a !important; }
#purchaseModal :is(.pm-choice-card,.gateway-option):hover { background:#f8f9fa !important; }
#purchaseModal :is(.plan-btn-solid,.plan-btn-solid span,.plan-btn-solid i) { background-color:#1a1a1a !important; color:#ffffff !important; }
#purchaseModal .plan-btn-solid:hover { background-color:#303030 !important; }
#purchaseModal .btn-light { background:#f4f4f5 !important; color:#1a1a1a !important; border-color:#dee2e6 !important; }
#purchaseModal .btn-close { filter:none !important; }
#purchaseModal .form-check-input { background-color:#ffffff !important; border-color:#71717a !important; }
#purchaseModal .form-check-input:checked { background-color:#1a1a1a !important; border-color:#1a1a1a !important; }
#purchaseModal .form-check-input:focus { box-shadow:0 0 0 .2rem rgba(26,26,26,.15); }

/* Borderless media side and font-independent purchase-dialog icons. */
#purchaseModal .modal-content { border:0 !important; background:#111111 !important; isolation:isolate; }
#purchaseModal .pm-left { border:0 !important; outline:0; }
#purchaseModal .plan-btn-solid :is(span,i) { background-color:transparent !important; }
#purchaseModal i.las { display:inline-flex; vertical-align:middle; flex-shrink:0; }
#purchaseModal i.las::before { content:"" !important; display:block; width:1em; height:1em; background:currentColor; }
#purchaseModal .btn-close { opacity:.7; }
#purchaseModal .btn-close:hover { opacity:1; }

/* Banner search has one continuous surface, including its expanded panel. */
:root[data-theme="light"] :is(.b3-search-pill,#b3-float-card) {
    --sec-surface:#ffffff; --sec-surface-hover:#f5f5f7;
    --sec-text-main:#1a1a1a; --sec-text-muted:#52525b; --sec-border:rgba(0,0,0,.1);
}
:root[data-theme="dark"] :is(.b3-search-pill,#b3-float-card) {
    --sec-surface:#242424; --sec-surface-hover:#303030;
    --sec-text-main:#f5f5f5; --sec-text-muted:#b5b5bd; --sec-border:rgba(255,255,255,.14);
}
:root[data-theme] .b3-search-pill {
    background:var(--sec-surface) !important; border:1px solid var(--sec-border);
    color:var(--sec-text-main);
}
:root[data-theme] .b3-search-pill:hover { background:var(--sec-surface-hover) !important; }
:root[data-theme] :is(.b3-pill-input-dummy,#b3-float-card .b3-card-input) {
    background:transparent !important; border:0 !important; box-shadow:none !important;
    color:var(--sec-text-main) !important;
}
:root[data-theme] :is(.b3-pill-input-dummy,#b3-float-card .b3-card-input)::placeholder { color:var(--sec-text-muted) !important; opacity:1; }
:root[data-theme] :is(.b3-search-pill,#b3-float-card) :is(.b3-pill-icon-left,.b3-pill-icon-right) { color:var(--sec-text-main) !important; background:transparent !important; }
:root[data-theme] #b3-float-card { background:var(--sec-surface) !important; color:var(--sec-text-main); border:1px solid var(--sec-border) !important; box-shadow:0 12px 36px rgba(0,0,0,.24) !important; }
:root[data-theme] #b3-float-card :is(.ags-img-title,.ags-see-all) { color:var(--sec-text-main); }
:root[data-theme] #b3-float-card :is(.ags-img-cat,.ags-empty) { color:var(--sec-text-muted); }
#purchaseModal .la-lock::before { -webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%225%22%20y%3D%2210%22%20width%3D%2214%22%20height%3D%2211%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22M8%2010V7a4%204%200%200%201%208%200v3%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat; mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%225%22%20y%3D%2210%22%20width%3D%2214%22%20height%3D%2211%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22M8%2010V7a4%204%200%200%201%208%200v3%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat; }
#purchaseModal .la-arrow-left::before { -webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m12%205-7%207%207%207M5%2012h14%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat; mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m12%205-7%207%207%207M5%2012h14%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat; }
#purchaseModal .la-arrow-right::before { -webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m12%205%207%207-7%207M5%2012h14%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat; mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m12%205%207%207-7%207M5%2012h14%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat; }
#purchaseModal .la-credit-card::before { -webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%223%22%20y%3D%225%22%20width%3D%2218%22%20height%3D%2214%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22M3%2010h18M7%2015h3%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat; mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%223%22%20y%3D%225%22%20width%3D%2218%22%20height%3D%2214%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22M3%2010h18M7%2015h3%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat; }
#purchaseModal .la-wallet::before { -webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M20%208V5a2%202%200%200%200-2-2H6a3%203%200%200%200-3%203v12a2%202%200%200%200%202%202h15V8H6a2%202%200%200%201%200-4h12%22%2F%3E%3Cpath%20d%3D%22M20%2011h-5v6h5M16%2014h1%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat; mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M20%208V5a2%202%200%200%200-2-2H6a3%203%200%200%200-3%203v12a2%202%200%200%200%202%202h15V8H6a2%202%200%200%201%200-4h12%22%2F%3E%3Cpath%20d%3D%22M20%2011h-5v6h5M16%2014h1%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat; }
#purchaseModal .la-check::before { -webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m5%2012%204%204L19%206%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat; mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m5%2012%204%204L19%206%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat; }
