html { color-scheme: light; }
html[data-theme="dark"] { color-scheme: dark; }
.theme-toggle { width:42px; height:42px; border:1px solid #dce1d6; border-radius:50%; display:grid; place-items:center; padding:0; background:#fffaf0; color:#173a38; font-size:18px; cursor:pointer; transition:transform .2s ease, background .2s ease; }
.theme-toggle:hover { transform:translateY(-2px); background:#f5c843; }
.theme-toggle.floating { position:fixed; z-index:9996; right:18px; top:18px; box-shadow:0 4px 15px rgba(0,0,0,.14); }
.site-header > .theme-toggle:not(.floating) { position:absolute; z-index:2; right:calc(6vw + 118px); top:23px; }
html[data-theme="dark"] body { background:#102724; color:#eaf4ee; }
html[data-theme="dark"] .site-header, html[data-theme="dark"] footer, html[data-theme="dark"] .contact { background:#102724; }
html[data-theme="dark"] .hero, html[data-theme="dark"] .story-hero, html[data-theme="dark"] .payment-result { background:#183833; }
html[data-theme="dark"] .brand { color:#eaf4ee; }
html[data-theme="dark"] .lead { color:#c5d8d0; }
html[data-theme="dark"] .activities, html[data-theme="dark"] .founders, html[data-theme="dark"] .admin-card { background:#1b413a; }
html[data-theme="dark"] .activity-card, html[data-theme="dark"] .contact-form, html[data-theme="dark"] dialog { background:#214a42; color:#eaf4ee; }
html[data-theme="dark"] .story-hero > p:last-child, html[data-theme="dark"] .founders-intro > p:last-child { color:#c5d8d0; }
html[data-theme="dark"] .story-hero .eyebrow, html[data-theme="dark"] .founders .eyebrow, html[data-theme="dark"] .portrait-text .eyebrow { color:#ffae9c; }
html[data-theme="dark"] .portrait-card { background:#214a42; border:1px solid #45665e; color:#eaf4ee; }
html[data-theme="dark"] .portrait-text h2 { color:#eaf4ee; }
html[data-theme="dark"] .access-to-leisure { background:#102724; }
html[data-theme="dark"] .donations-hero { background:#183833; }
html[data-theme="dark"] .donations-hero > div > p:not(.eyebrow), html[data-theme="dark"] .donations-heading > p:last-child, html[data-theme="dark"] .commitment-copy > p:not(.eyebrow), html[data-theme="dark"] .donation-use p, html[data-theme="dark"] .commitment-points span { color:#c5d8d0; }
html[data-theme="dark"] .donation-use { background:#214a42; border-color:#45665e; }
html[data-theme="dark"] .use-icon { background:#183833; }
html[data-theme="dark"] .donations-commitment { background:#1b413a; }
html[data-theme="dark"] .commitment-points, html[data-theme="dark"] .commitment-points div { border-color:#45665e; }
html[data-theme="dark"] .admin-form-section, html[data-theme="dark"] .admin-activities { border-color:#45665e; }
html[data-theme="dark"] .admin-checkbox, html[data-theme="dark"] .admin-activity-item p, html[data-theme="dark"] .admin-empty-state { color:#c5d8d0; }
html[data-theme="dark"] .admin-activity-item { background:#214a42; border-color:#45665e; }
html[data-theme="dark"] .admin-activity-topline { color:#a9c2b8; }
html[data-theme="dark"] .activities-count { background:#29584d; color:#d9eee2; }
html[data-theme="dark"] .admin-action-button { border-color:#55786e; color:#eaf4ee; }
html[data-theme="dark"] .admin-action-button:hover { background:#315f55; }
html[data-theme="dark"] .admin-delete-button { border-color:#b86b5e; color:#ffb8ac; }
html[data-theme="dark"] .admin-delete-button:hover { background:#603c36; }
html[data-theme="dark"] .admin-volunteer-item { background:#214a42; border-color:#45665e; }
html[data-theme="dark"] .admin-volunteer-item p { color:#c5d8d0; }
html[data-theme="dark"] .admin-volunteer-topline span:last-child { color:#a9c2b8; }
html[data-theme="dark"] .admin-volunteer-actions .admin-action-button:not(.admin-delete-button) { background:#315f55; border-color:#6b9787; color:#fff4be; }
html[data-theme="dark"] .admin-volunteer-actions .admin-action-button:not(.admin-delete-button):hover { background:#3d7466; }
html[data-theme="dark"] .volunteer-hero { background:#183833; }
html[data-theme="dark"] .volunteer-hero p:not(.eyebrow), html[data-theme="dark"] .volunteer-heading > p:last-child, html[data-theme="dark"] .volunteer-form-intro > p:not(.eyebrow), html[data-theme="dark"] .role-card p { color:#c5d8d0; }
html[data-theme="dark"] .role-card, html[data-theme="dark"] .volunteer-form { background:#214a42; border-color:#45665e; }
html[data-theme="dark"] .role-card>span { background:#183833; }
html[data-theme="dark"] .volunteer-form-section { background:#1b413a; }
html[data-theme="dark"] .volunteer-form textarea { background:#102724; border-color:#55786e; color:#eaf4ee; }
html[data-theme="dark"] .optional { color:#a9c2b8; }
html[data-theme="dark"] .volunteer-form .form-note.success { color:#8ee0b4; }
html[data-theme="dark"] .access-intro p:last-child, html[data-theme="dark"] .access-action p { color:#c5d8d0; }
html[data-theme="dark"] .data-card { background:#214a42; border-color:#45665e; }
html[data-theme="dark"] .data-card-main { background:#173a38; border-color:#497067; }
html[data-theme="dark"] .data-card strong { color:#fff4be; }
html[data-theme="dark"] .data-card p, html[data-theme="dark"] .data-card a { color:#c5d8d0; }
html[data-theme="dark"] .data-card-main p, html[data-theme="dark"] .data-card-main a { color:#eaf4ee; }
html[data-theme="dark"] .access-action { background:#1b413a; }
html[data-theme="dark"] .meta, html[data-theme="dark"] .empty-state { color:#c5d8d0; }
html[data-theme="dark"] .meta strong { color:#eaf4ee; }
html[data-theme="dark"] .privacy-check { color:#c5d8d0; }
html[data-theme="dark"] .privacy-check a { color:#fff4be; }
html[data-theme="dark"] .privacy-check input[type="checkbox"] { accent-color:#f5c843; }
html[data-theme="dark"] .mission-text, html[data-theme="dark"] .contact-copy, html[data-theme="dark"] .privacy-page section p, html[data-theme="dark"] .privacy-intro, html[data-theme="dark"] .payment-result p:not(.eyebrow), html[data-theme="dark"] .admin-card>p, html[data-theme="dark"] .portrait-text>p:last-child { color:#c5d8d0; }
html[data-theme="dark"] footer p, html[data-theme="dark"] .updated, html[data-theme="dark"] .form-note { color:#a9c2b8; }
html[data-theme="dark"] .text-link, html[data-theme="dark"] .site-header nav a, html[data-theme="dark"] .footer-link, html[data-theme="dark"] .close { color:#eaf4ee; }
html[data-theme="dark"] .theme-toggle { background:#214a42; border-color:#497067; color:#fff4be; }
html[data-theme="dark"] .theme-toggle:hover { background:#f5c843; color:#173a38; }
html[data-theme="dark"] input, html[data-theme="dark"] select, html[data-theme="dark"] textarea { background:#102724; color:#eaf4ee; border-color:#55786e; }
html[data-theme="dark"] .privacy-page section, html[data-theme="dark"] .meta { border-color:#45665e; }
html[data-theme="dark"] .mobile-menu-toggle, html[data-theme="dark"] .site-header.mobile-menu-open nav { background:#214a42; }
html[data-theme="dark"] .registration-page { background:#102724; color:#eaf4ee; }
html[data-theme="dark"] .registration-hero { background:#183833; }
html[data-theme="dark"] .registration-hero > p:not(.eyebrow), html[data-theme="dark"] .registration-step-list p, html[data-theme="dark"] .registration-detail-grid p, html[data-theme="dark"] .faq-list details p { color:#c5d8d0; }
html[data-theme="dark"] .registration-details { background:#1b413a; }
html[data-theme="dark"] .registration-detail-grid article { background:#214a42; }
html[data-theme="dark"] .registration-step-list article, html[data-theme="dark"] .faq-list, html[data-theme="dark"] .faq-list details { border-color:#45665e; }
html[data-theme="dark"] .registration-form-section { background:#173a38; }
html[data-theme="dark"] .registration-form { background:#214a42; color:#eaf4ee; }
html[data-theme="dark"] .registration-form input, html[data-theme="dark"] .registration-form select { background:#102724; color:#eaf4ee; border-color:#55786e; }
html[data-theme="dark"] .registration-form .privacy-check { color:#c5d8d0; }
html[data-theme="dark"] .registration-form .privacy-check a, html[data-theme="dark"] .faq-list a { color:#fff4be; }
html[data-theme="dark"] .registration-form .form-note { color:#a9c2b8; }
html[data-theme="dark"] .faq-section { background:#102724; }
@media (max-width:720px) { .site-header > .mobile-menu-toggle { position:absolute; right:6vw; top:23px; } .site-header > .theme-toggle:not(.floating) { right:calc(6vw + 54px); top:23px; } }
@media (prefers-reduced-motion: reduce) { .theme-toggle { transition:none; } }
