:root {
    --public-bg: #f7f3e9;
    --public-surface: #fffdf8;
    --public-surface-soft: #f1ebdd;
    --public-text: #24211d;
    --public-muted: #665f55;
    --public-border: rgba(141, 112, 55, 0.28);
    --public-accent: #8d7037;
    --public-blue: #3d5c95;
    --public-shadow: 0 20px 55px rgba(61, 48, 23, 0.11);
}

html[data-public-theme="dark"] {
    color-scheme: dark;
    --public-bg: #090909;
    --public-surface: #141310;
    --public-surface-soft: #1c1914;
    --public-text: #f5efe3;
    --public-muted: #c8bdab;
    --public-border: rgba(201, 157, 99, 0.34);
    --public-accent: #d8b57a;
    --public-blue: #9eb4df;
    --public-shadow: 0 22px 60px rgba(0, 0, 0, 0.42);
}

body {
    transition: background-color .32s ease, color .32s ease;
}

body::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -2;
    pointer-events: none;
    background-color: var(--public-bg);
    background-image: radial-gradient(circle at 1px 1px, rgba(141,112,55,.16) 1px, transparent 1.2px);
    background-size: 24px 24px;
}

html[data-public-theme="dark"] body::before {
    background-color: var(--public-bg);
    background-image: radial-gradient(circle at 1px 1px, rgba(201,157,99,.13) 1px, transparent 1.2px);
}

.public-theme-toggle {
    position: fixed;
    top: 18px;
    right: 18px;
    z-index: 12000;
    min-width: 46px;
    min-height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 10px 14px;
    border: 1px solid var(--public-border);
    border-radius: 14px;
    background: color-mix(in srgb, var(--public-surface) 92%, transparent);
    color: var(--public-text);
    box-shadow: 0 10px 30px rgba(0,0,0,.12);
    backdrop-filter: blur(14px);
    font: 800 .78rem/1 'Outfit', sans-serif;
    cursor: pointer;
    transition: transform .18s ease, background-color .3s ease, color .3s ease;
}

.public-theme-toggle:hover { transform: translateY(-1px); }
.public-theme-toggle:focus-visible { outline: 3px solid color-mix(in srgb, var(--public-accent) 58%, transparent); outline-offset: 3px; }

html[data-public-theme="dark"] body,
html[data-public-theme="dark"] .landing-page,
html[data-public-theme="dark"] .auth-page {
    color: var(--public-text) !important;
}

html[data-public-theme="dark"] :is(.landing-header,.hero-card,.info-card,.feature-card,.faq-section,.faq-item,.cta-strip,.auth-container,.auth-form-side,.auth-info-side,.tier-card,.policy-container,.terms-container,.cookie-banner) {
    background: var(--public-surface) !important;
    color: var(--public-text) !important;
    border-color: var(--public-border) !important;
    box-shadow: var(--public-shadow) !important;
}

html[data-public-theme="dark"] :is(h1,h2,h3,h4,.login-title,.faq-title,.brand,.auth-brand,.hero-kicker) {
    color: var(--public-text) !important;
}

html[data-public-theme="dark"] :is(p,li,label,small,.hero-copy,.faq-answer-content,.info-item,.legal-content p,.legal-content li) {
    color: var(--public-muted) !important;
}

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

html[data-public-theme="dark"] input::placeholder,
html[data-public-theme="dark"] textarea::placeholder { color: #8f877b !important; }

html[data-public-theme="dark"] :is(.btn-secondary,#demo-login-btn) {
    background: #1b1915 !important;
    color: #e5c58f !important;
    border-color: var(--public-border) !important;
}

html[data-public-theme="dark"] :is(.skeleton-card,.disclaimer-box,.faq-answer,.success-msg) {
    background: var(--public-surface-soft) !important;
    border-color: var(--public-border) !important;
    color: var(--public-text) !important;
}

html[data-public-theme="dark"] a:not(.btn-gold):not(.btn-login):not(.btn-register):not(.btn-back) { color: #d9bb86; }

@media (max-width: 720px) {
    .public-theme-toggle { top: 10px; right: 10px; min-width: 44px; min-height: 44px; padding: 9px 11px; }
    .public-theme-toggle-label { display: none; }
}

@media (prefers-reduced-motion: reduce) {
    body, .public-theme-toggle { transition: none !important; }
}

.legal-page{min-height:100vh;padding:56px 20px;background:transparent!important;color:var(--public-text)}
.legal-document-shell{max-width:940px;padding:clamp(24px,5vw,58px);background:var(--public-surface)!important;color:var(--public-text);border-color:var(--public-border)!important;box-shadow:var(--public-shadow)!important}
.legal-page .header{align-items:center}.legal-page .brand-link{color:var(--public-accent)}.legal-page .meta-info{color:var(--public-muted)}
.legal-page .actions-panel{background:var(--public-surface-soft);border-color:var(--public-border)}
.legal-title-block{max-width:760px;margin:42px auto 46px;text-align:center}
.legal-title-kicker{display:inline-flex;padding:7px 12px;border:1px solid var(--public-border);border-radius:999px;color:var(--public-accent);font-size:.76rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase}
.legal-page .legal-title-block h1{margin:18px 0 10px;color:var(--public-text);text-align:center;font-size:clamp(2rem,5vw,3.55rem);line-height:1.06;text-wrap:balance}
.legal-title-note{margin:0!important;text-align:center!important;color:var(--public-muted)!important}
.legal-page .content{max-width:780px;margin:0 auto}.legal-page .content>p:first-child{font-size:1.08rem;color:var(--public-text)}
.legal-page .content p{text-align:left;color:var(--public-muted);line-height:1.76}
.legal-page .content h2{position:relative;margin:44px 0 18px;padding:0 0 13px 22px;color:var(--public-text);border-color:var(--public-border)}
.legal-page .content h2::before{content:"";position:absolute;left:0;top:.18em;width:5px;height:1.15em;border-radius:4px;background:var(--public-accent)}
.legal-page .content h3{color:var(--public-accent);letter-spacing:.04em}.legal-page .content :is(ul,ol){padding-left:1.5rem;color:var(--public-muted)}
.legal-page .content li{padding-left:.35rem;line-height:1.68}.legal-page .content li::marker{color:var(--public-accent);font-weight:900}
.legal-page .content blockquote{margin:24px 0;padding:18px 20px;border-left:4px solid var(--public-accent);border-radius:0 14px 14px 0;background:var(--public-surface-soft)}
.legal-page :is(th,td){background:var(--public-surface);color:var(--public-muted);border-color:var(--public-border)}.legal-page th{background:var(--public-surface-soft);color:var(--public-accent)}
.legal-page .version-link{background:var(--public-surface);color:var(--public-muted);border-color:var(--public-border)}.legal-page .version-link.active{background:var(--public-accent);color:#0b0b0a}
.legal-page .footer-note{color:var(--public-muted);border-color:var(--public-border)}
@media(max-width:720px){.legal-page{padding:18px 10px 34px}.legal-document-shell{padding:24px 16px;border-radius:20px}.legal-page .header{justify-content:center;text-align:center;padding-right:42px}.legal-page .brand-link{justify-content:center}.legal-page .meta-info{width:100%;text-align:center}.legal-page .actions-panel{justify-content:center;text-align:center;padding:16px}.legal-page .actions-panel>div{width:100%}.legal-page .version-selector-title{text-align:center}.legal-page .version-links{justify-content:center}.legal-title-block{margin:30px auto 34px}.legal-page .content h2{margin-top:34px;padding-left:16px}.legal-page .content p{font-size:.97rem}}


/* Complete public dark theme coverage, including inline-styled legacy blocks. */
html[data-public-theme="dark"] body{background:var(--public-bg)!important}
html[data-public-theme="dark"] :is(.landing-shell,.seo-description-section,footer){color:var(--public-text)!important}
html[data-public-theme="dark"] .seo-description-section{background:#0d0d0c!important;border-color:var(--public-border)!important}
html[data-public-theme="dark"] :is(.seo-description-section,.landing-header,.hero-card,.feature-card,.faq-section,.faq-item,.cta-strip) :is(p,span,li,div){color:var(--public-muted)}
html[data-public-theme="dark"] :is(.seo-description-section,.landing-header,.hero-card,.feature-card,.faq-section,.faq-item,.cta-strip) :is(h1,h2,h3,h4,strong,b){color:var(--public-text)!important}
html[data-public-theme="dark"] #cookie-consent-banner{background:#151411!important;color:var(--public-text)!important;border-color:var(--public-border)!important}
html[data-public-theme="dark"] #cookie-consent-banner>div>div:first-child{color:var(--public-muted)!important}
html[data-public-theme="dark"] #cookie-settings-panel{background:#0c0c0b!important;border-color:var(--public-border)!important}
html[data-public-theme="dark"] #cookie-settings-panel :is(label,div[style*="background: white"],div[style*="background: rgba(255"]){background:#1b1915!important;border-color:var(--public-border)!important;color:var(--public-text)!important}
html[data-public-theme="dark"] #cookie-settings-panel :is(span,div){color:var(--public-muted)!important}
html[data-public-theme="dark"] #cookie-settings-panel div[style*="font-weight: 900"]{color:var(--public-text)!important}
html[data-public-theme="dark"] #cookie-settings-panel input[type="checkbox"]{background:#080808!important;accent-color:#c99d63!important;color-scheme:dark}
html[data-public-theme="dark"] #cookie-settings-panel input[type="checkbox"]:disabled{opacity:.62!important}
html[data-public-theme="dark"] #cookie-settings-btn{background:#211d16!important;color:#e0bd82!important;border-color:#9b7542!important}
html[data-public-theme="dark"] #cookie-decline-btn{color:#e0bd82!important;border-color:#9b7542!important}
html[data-public-theme="dark"] #cookie-save-btn,html[data-public-theme="dark"] #cookie-accept-btn{background:#8fa8d6!important;color:#080808!important}
.legal-page .version-link{min-height:38px;display:inline-flex;align-items:center;justify-content:center;padding:7px 12px;line-height:1.25;text-align:center}
.legal-page .version-link.active{background:#3d5c95;color:#fff;border-color:#3d5c95}
html[data-public-theme="dark"] .legal-page .version-link.active{background:#d8b57a;color:#090909;border-color:#d8b57a}


/* Targeted dark-mode contrast fixes for landing and active legal revision. */
html[data-public-theme="dark"] .hero-bullet{background:#1b1915!important;border-color:#5f482a!important;box-shadow:none!important}
html[data-public-theme="dark"] .hero-bullet strong{color:#e7c58b!important}
html[data-public-theme="dark"] .hero-bullet span{color:#d8d0c2!important}
html[data-public-theme="dark"] .legal-page a.version-link.active,
html[data-public-theme="dark"] .legal-page a.version-link.active:hover,
html[data-public-theme="dark"] .legal-page a.version-link.active:focus-visible{background:#d8b57a!important;color:#090909!important;border-color:#d8b57a!important}