/* Night surfaces for the illustrated stories, help and policy pages. */
html[data-theme="night"] .everyday-section { background: radial-gradient(ellipse at 96% 0, #edb89a12, transparent 51%), linear-gradient(120deg, #294333, #1c3327); box-shadow: inset 0 0 0 1px #56714e44; }
html[data-theme="night"] .everyday-heading > p,
html[data-theme="night"] .everyday-item-copy > p { color: var(--muted); }
html[data-theme="night"] .everyday-plus { color: var(--sage); background: #20382c; border-color: #819a75; }
html[data-theme="night"] .everyday-plus:hover { color: var(--peach); background: #354c36; border-color: var(--peach); }
html[data-theme="night"] .everyday-plus:focus-visible { outline-color: var(--peach); }
html[data-theme="night"] .everyday-scene [fill="#DCE7D9"] { fill: #35523d; }
html[data-theme="night"] .everyday-scene [fill="#F2E1D1"] { fill: #4a4936; }
html[data-theme="night"] .everyday-scene [fill="#FFFDFA"] { fill: #d9dec9; }
html[data-theme="night"] .everyday-scene [fill="#F5E1CF"] { fill: #d9bfa2; }
html[data-theme="night"] .everyday-scene-lounge > rect:first-of-type { fill: #1a3427; }
html[data-theme="night"] .everyday-scene-lounge [stroke="#C1D1BB"] { stroke: #759371; }
html[data-theme="night"] .everyday-scene > path[stroke="#426653"] { stroke: #a3bc94; }
html[data-theme="night"] .everyday-scene-bubble [fill="#EDF0E6"],
html[data-theme="night"] .everyday-scene-family [fill="#EDF0E6"] { fill: #bed0b0; }
html[data-theme="night"] .everyday-bubble > circle[fill="#FAF7F2"] { fill: #a8bf99; }

html[data-theme="night"] .privacy-story .privacy-highlight-copy .eyebrow { color: var(--peach); }
html[data-theme="night"] .privacy-story-facts,
html[data-theme="night"] .privacy-network-label { color: var(--sage); }
html[data-theme="night"] .privacy-network-legend { color: var(--muted); }
html[data-theme="night"] .privacy-network-legend > span::before { background: var(--peach); }
html[data-theme="night"] .privacy-story .text-link { color: var(--sage); }
html[data-theme="night"] .privacy-story .text-link:hover { color: var(--peach); }
html[data-theme="night"] .privacy-network [fill="#F1E3D5"] { fill: #3c422f; }
html[data-theme="night"] .privacy-network [fill="#E5EBDF"] { fill: #294433; }
html[data-theme="night"] .privacy-network [stroke="#97AF8D"] { stroke: #78936d; }
html[data-theme="night"] .privacy-network [stroke="#B1C1A7"] { stroke: #79976f; }
html[data-theme="night"] .privacy-network [stroke="#78916F"] { stroke: #a8bd97; }
html[data-theme="night"] .privacy-network [fill="#78916F"] { fill: #a8bd97; }
html[data-theme="night"] .privacy-network rect[fill="#426653"] { fill: #8ba57c; }
html[data-theme="night"] .privacy-network rect[fill="#FFFDFA"] { fill: #1c3326; }
html[data-theme="night"] .privacy-network rect[fill="#EDF0E6"],
html[data-theme="night"] .privacy-network rect[fill="#DCE7D9"] { fill: #35533c; }
html[data-theme="night"] .privacy-network circle[fill="#426653"] { fill: #afc6a0; }
html[data-theme="night"] .privacy-network circle[fill="#FAF7F2"] { fill: #20382c; }
html[data-theme="night"] .privacy-network circle[fill="#F3E1CE"] { fill: #314f3c; }
html[data-theme="night"] .privacy-network [fill="#CB9874"] { fill: #edb89a; }
html[data-theme="night"] .privacy-network g[fill="#FAF7F2"] { fill: #233b2b; }
html[data-theme="night"] .privacy-network [stroke="#426653"] { stroke: #bfd2b7; }
html[data-theme="night"] .privacy-network [stroke="#FAF7F2"] { stroke: #233b2b; }

/* Disclosure surfaces retain a clear boundary in each interaction state. */
html[data-theme="night"] .faq-contact { background: var(--surface); }
html[data-theme="night"] .faq-contact .text-link { color: var(--sage); }
html[data-theme="night"] .faq-contact .text-link:hover { color: var(--peach); }
html[data-theme="night"] .faq-list details,
html[data-theme="night"] .faq-list details:first-child { background: var(--surface); border-color: var(--line); }
html[data-theme="night"] .faq-list details[open] { background: var(--raised); border-color: #839d76; }
html[data-theme="night"] .faq-list summary { color: var(--text); }
html[data-theme="night"] .faq-list summary:hover { color: var(--text); background: var(--sage-soft); }
html[data-theme="night"] .faq-list summary:focus-visible { outline-color: var(--peach); }
html[data-theme="night"] .faq-list .faq-plus { border-color: #8aa17e; }
html[data-theme="night"] .faq-list details[open] .faq-plus { background: #35513b; }
html[data-theme="night"] .faq-list .faq-answer { color: var(--muted); }
html[data-theme="night"] .faq-answer a { color: var(--sage); }
html[data-theme="night"] .faq-answer a:hover { color: var(--peach); }

html[data-theme="night"] .setup-help { color: var(--text); background: #1c3427; border-color: var(--line); }
html[data-theme="night"] .setup-help-support { color: var(--sage); background: var(--surface); border-color: #839d77; }
html[data-theme="night"] .setup-help-support:hover { color: var(--peach); background: #304c36; border-color: var(--peach); }
html[data-theme="night"] .setup-help-list details { background: var(--surface); border-color: var(--line); }
html[data-theme="night"] .setup-help-list details[open] { border-color: #839d76; }
html[data-theme="night"] .setup-help-list summary { color: var(--text); }
html[data-theme="night"] .setup-help-list summary:hover { color: var(--text); background: var(--sage-soft); }
html[data-theme="night"] .setup-help-list details[open] summary { color: var(--sage); }
html[data-theme="night"] .setup-help-toggle { color: var(--sage); border-color: #8aa17e; }
html[data-theme="night"] .setup-help-list details[open] .setup-help-toggle { background: #35513b; }
html[data-theme="night"] .setup-help-support:focus-visible,
html[data-theme="night"] .setup-help-list summary:focus-visible { outline-color: var(--peach); }
html[data-theme="night"] .setup-help-answer ol { color: var(--muted); }

/* A deeper forest stage keeps the closing invitation distinct from the page. */
html[data-theme="night"] .final-cta.closing-story { --cream: #f5f0e8; --muted: #c2cebe; --quiet: #abbea8; --sage: #bfd2b7; --peach: #edb89a; --on-green: #182a20; color: #f5f0e8; border-color: #526d4e; background: linear-gradient(115deg, #172f22, #24482f); }
html[data-theme="night"] .closing-story::before { background: radial-gradient(ellipse at 48% 48%, #70915d45, #34563a4d 55%, transparent 75%); opacity: 1; }
html[data-theme="night"] .closing-story h2 { color: #f5f0e8; }
html[data-theme="night"] .closing-story .closing-description { color: #cbd7c5; }
html[data-theme="night"] .closing-story .cta-requirements,
html[data-theme="night"] .closing-visual-label,
html[data-theme="night"] .closing-story .download-qr-copy p { color: #b9cdb0; }
html[data-theme="night"] .closing-free-note { color: #dce7d9; }
html[data-theme="night"] .closing-story .store-button { --button-fill: #faf7f2; color: #182a20; background: var(--button-fill); border-color: var(--button-fill); }
html[data-theme="night"] .closing-story .store-button:hover { --button-fill: #edb89a; }
html[data-theme="night"] .closing-story .store-button:focus-visible { outline-color: #edb89a; }
html[data-theme="night"] .closing-story .download-qr { border-color: #6c8862; }
html[data-theme="night"] .closing-story .download-qr-copy strong { color: #f5f0e8; }
html[data-theme="night"] .closing-phones [fill="#FFFDFA"] { fill: #dfe5ce; }
html[data-theme="night"] .closing-phones [fill="#E7EDDF"] { fill: #cbd8bd; }
html[data-theme="night"] .closing-phones [fill="#203D2C"] { fill: #183322; }
html[data-theme="night"] .closing-phones [fill="#365B43"] { fill: #284b35; }
html[data-theme="night"] .closing-phones [stroke="#A9C29F"] { stroke: #a8c59b; }
html[data-theme="night"] .closing-phones [fill="#183322"] { fill: #091a10; }

html[data-theme="night"] .site-footer { color: var(--text); }
html[data-theme="night"] .footer-top > p { color: var(--quiet); }
html[data-theme="night"] .footer-top nav,
html[data-theme="night"] .footer-bottom { color: var(--muted); }
html[data-theme="night"] .footer-bottom { border-color: var(--line); }
html[data-theme="night"] .site-footer a:hover { color: var(--peach); }
html[data-theme="night"] .site-footer a:focus-visible { outline-color: var(--peach); }

/* Most policy typography follows the shared tokens; these panels need ink fixes. */
html[data-theme="night"] .privacy-page { color: var(--text); background: var(--bg); }
html[data-theme="night"] .privacy-page .site-header { background: var(--bg); border-color: var(--line); }
html[data-theme="night"] .privacy-callout,
html[data-theme="night"] .privacy-contact { background: var(--sage-soft); border-color: var(--line); }
html[data-theme="night"] .privacy-callout p,
html[data-theme="night"] .privacy-contact p,
html[data-theme="night"] .privacy-contact a { color: var(--sage); }
html[data-theme="night"] .privacy-contact-icon { color: var(--ink); background: var(--apricot); }
html[data-theme="night"] .privacy-contact a:hover,
html[data-theme="night"] .privacy-section a { color: var(--peach); }
html[data-theme="night"] .privacy-page a:focus-visible { outline-color: var(--peach); }
html[data-theme="night"] .privacy-footer { border-color: var(--line); }
html[data-theme="night"] .privacy-footer p,
html[data-theme="night"] .privacy-footer-brand span { color: var(--quiet); }
