.public-header-actions {
    display: flex;
    align-items: center;
    gap: 10px;
}
.theme-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 44px;
    height: 46px;
    padding: 0;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: transparent;
    color: var(--ink);
    cursor: pointer;
    touch-action: manipulation;
}
.theme-toggle[hidden],
.theme-toggle .theme-sun,
[data-theme='dark'] .theme-toggle .theme-moon {
    display: none;
}
[data-theme='dark'] .theme-toggle .theme-sun {
    display: block;
}
.theme-toggle:hover {
    background: var(--sage, #eaf0e7);
}
.theme-toggle:focus-visible {
    outline: 3px solid var(--focus, #846442);
    outline-offset: 4px;
}
/* Screen-only colors preserve the existing light, readable print styles. */
@media screen {
    :root[data-theme='dark'] {
        color-scheme: dark;
        --cream: #18211f;
        --paper: #18211f;
        --ink: #eceee6;
        --muted: #b4beb5;
        --sage: #293b32;
        --peach: #40332c;
        --slate: #29393d;
        --line: #43534b;
        --green: #b0cfb7;
        --surface: #24302b;
        --surface-soft: #2b3a30;
        --surface-warm: #43362b;
        --surface-tint: #ffffff0a;
        --border: #49584d;
        --text-soft: #b5c7af;
        --text-warm: #d7b18f;
        --link: #b0cfb7;
        --link-hover: #d6e8d9;
        --button-background: #3d614d;
        --button-hover: #496f59;
        --focus: #e2b98e;
    }
    :root[data-theme='dark'] ::selection {
        background: #59705e;
        color: #fff;
    }
    /* External SVG icons do not inherit the surrounding text color. */
    :root[data-theme='dark'] .icon {
        filter: invert(0.9);
    }
    :root[data-theme='dark'] .button .icon,
    :root[data-theme='dark'] .store-badge img {
        filter: invert(1);
    }
    :root[data-theme='dark'] .store-badge-pending img {
        filter: invert(0.9);
    }
    :root[data-theme='dark'] img[src='/landing/branding/oncelittle-horizontal.svg'] {
        filter: brightness(0) invert(0.9);
    }
}
.legal-header {
    flex-wrap: wrap;
}
@media (max-width: 380px) {
    .public-header {
        gap: 12px;
    }
    .public-brand img {
        width: 120px;
    }
    .public-header-actions {
        gap: 6px;
    }
}
@media print {
    .theme-toggle {
        display: none;
    }
}
