/* Complete charity campaign, matching the approved four-screen preview. */
:root {
    --pink-950: #64172d; --pink-900: #851f3f; --pink-800: #aa294e;
    --pink-700: #ce365d; --pink-600: #eb4d72; --pink-500: #f8658a;
    --pink-400: #ff83a2; --pink-300: #ffa8bc; --pink-200: #ffcbd6;
    --pink-100: #ffe7ed; --pink-50: #fff5f7;
    --cream: #fffaf2; --cream-deep: #fff0dd; --gold: #d99b3f; --gold-light: #ffe2a8;
    --ink: #43232d; --muted: #81626c; --shadow-card: 0 4px 18px #ab526508;
    --shadow-soft: 0 14px 46px #6c28451a; --wheel-size: min(calc(100vw - 90px), 328px);
    color: #43232d; background: #fff5f7;
}
html { background: #fff5f7; overflow-y: scroll; scrollbar-gutter: stable; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body.charity-theme { width: 100%; min-height: 100vh; min-height: 100svh; background: #fff5f7; color: #43232d; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
.charity-theme .app-shell.charity-app {
    width: 100%; max-width: 430px; min-height: 100vh; min-height: 100svh;
    margin: 0 auto; padding: var(--safe-top) 0 calc(var(--safe-bottom) + 90px);
    background: linear-gradient(180deg, #ffe8ef 0, #fff6f7 480px, #fffaf6);
    border-inline: 1px solid #f2dce4;
}
.charity-theme [data-charity-screen][hidden] { display: none !important; }
.charity-theme input, .charity-theme select, .charity-theme textarea { font-size: max(16px, 1rem); }
.charity-theme .skip-link { color: #fff; background: #851f3f; }
.charity-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 22px 22px 18px; }
.charity-brand { display: flex; align-items: center; gap: 9px; min-width: 0; padding: 0; color: #43232d; text-align: start; background: transparent; border: 0; cursor: pointer; }
.charity-brand__icon { flex: 0 0 auto; color: #ed7197; font-size: 1.85rem; line-height: 1; }
.charity-brand > span:last-child { min-width: 0; }
.charity-brand strong { display: block; font-size: .94rem; font-weight: 850; line-height: 1.3; overflow-wrap: anywhere; }
.charity-brand small { display: block; margin-top: 4px; color: #ce365d; font-size: .46rem; font-weight: 800; line-height: 1.4; letter-spacing: .16em; }
.charity-header__actions { display: flex; align-items: center; justify-content: flex-end; gap: 9px; }
.charity-region { max-width: 109px; text-align: end; }
.charity-region strong, .charity-region small { display: block; overflow-wrap: anywhere; }
.charity-region strong { font-size: .64rem; font-weight: 750; }
.charity-region small { margin-top: 4px; color: #947581; font-size: .49rem; line-height: 1.5; }
.charity-theme .music-toggle { width: 32px; height: 32px; min-width: 32px; flex: 0 0 32px; color: #ce365d; background: #fff8fb; border: 1px solid #f2dce4; border-radius: 50%; box-shadow: none; }
.charity-theme .music-toggle.is-playing { color: #aa294e; background: #ffe1ea; border-color: #ed9ab5; }
.charity-theme .music-toggle.is-muted::after { background: #ce365d; }
.charity-theme .music-toggle__bars span { background: #ce365d; }
.charity-theme .music-toggle:focus-visible { outline-color: #ce365d; }
.charity-progress { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 5px; margin: 0 22px; padding: 0 0 15px; border-bottom: 1px solid #f2dce4; }
.charity-progress button { position: relative; display: flex; flex-direction: column; align-items: center; gap: 6px; min-width: 0; padding: 4px 2px; color: #a2828e; background: transparent; border: 0; cursor: pointer; }
.charity-progress button:not(:last-child)::after { position: absolute; content: '›'; inset-inline-end: -5px; top: 10px; color: #d9b3c1; font-size: .7rem; }
.charity-progress button > span { display: grid; place-items: center; width: 20px; height: 20px; color: #a66d82; background: #fce6ee; border: 1px solid #f7d6e3; border-radius: 50%; font-size: .58rem; }
.charity-progress strong { font-size: .55rem; font-weight: 700; line-height: 1.5; text-align: center; overflow-wrap: anywhere; }
.charity-progress button.is-active, .charity-progress button[aria-current="step"] { color: #ce365d; }
.charity-progress button.is-active > span, .charity-progress button[aria-current="step"] > span { color: #fff; background: #ce365d; border-color: #ce365d; }
.charity-screen { padding: 22px; }
.charity-hero { padding: 9px 0 0; text-align: center; }
.charity-kicker { margin: 0; color: #ce365d; font-size: .63rem; font-weight: 800; line-height: 1.65; letter-spacing: .08em; overflow-wrap: anywhere; }
.charity-hero h1 { margin: 17px 0 12px; color: #43232d; font-size: clamp(1.8rem, 7.7vw, 2.1rem); font-weight: 850; line-height: 1.42; letter-spacing: -.02em; white-space: pre-line; text-wrap: balance; overflow-wrap: anywhere; }
.charity-hero__intro { max-width: 315px; margin: 0 auto; color: #81626c; font-size: .75rem; line-height: 1.8; white-space: pre-line; text-wrap: balance; }
.charity-illustration { position: relative; width: min(100%, 306px); height: 163px; margin: 20px auto 13px; isolation: isolate; }
.charity-illustration .poster-heart-ring { position: absolute; inset: 43px 7px 21px; border: 1.5px solid #f7cbd8; border-radius: 50%; transform: rotate(-13deg); }
.charity-illustration .poster-heart { position: absolute; z-index: 1; top: 0; left: calc(50% - 68px); width: 136px; height: 129px; overflow: visible; filter: drop-shadow(0 10px 10px #bb42682d); transform: rotate(-8deg); }
.charity-illustration .poster-charity-ticket { position: absolute; z-index: 2; right: 29px; bottom: 19px; left: 29px; display: flex; align-items: center; justify-content: center; gap: 12px; min-height: 43px; padding: 10px 13px; color: #c48c49; background: #fffaf2; border: 1px solid #f3d5b7; border-radius: 11px; box-shadow: 0 5px 14px #bb426813; transform: rotate(-4deg); }
.charity-illustration .poster-charity-ticket span { font-size: .62rem; font-weight: 800; letter-spacing: .16em; }
.charity-illustration .poster-spark--one { top: 15px; right: auto; left: 5px; color: #d99b3f; font-size: 1.3rem; }
.charity-illustration .poster-spark--two { top: 30px; right: 0; bottom: auto; left: auto; color: #ee9ab7; font-size: 1.9rem; }
.charity-illustration .poster-spark--three { right: 6px; bottom: 14px; color: #d99b3f; font-size: .9rem; }
.charity-panel { margin: 0 0 16px; padding: 19px 18px; color: #43232d; background: #fff; border: 1px solid #f6e4ea; border-radius: 22px; box-shadow: var(--shadow-card); }
.charity-panel__heading { display: flex; align-items: center; gap: 8px; margin-bottom: 16px; }
.charity-panel__heading > span { color: #ed7197; font-size: 1.2rem; line-height: 1; }
.charity-panel__heading h2, .charity-panel__heading h3 { margin: 0; font-size: .82rem; font-weight: 800; line-height: 1.5; overflow-wrap: anywhere; }
.charity-panel__intro { margin: 0 0 17px; color: #81626c; font-size: .69rem; line-height: 1.85; white-space: pre-line; }
.charity-facts { display: grid; gap: 12px; margin: 0; font-size: .66rem; line-height: 1.7; }
.charity-facts > div { display: flex; justify-content: space-between; gap: 17px; }
.charity-facts dt { flex: 0 0 30%; color: #947581; }
.charity-facts dd { min-width: 0; margin: 0; color: #69515b; text-align: end; overflow-wrap: anywhere; }
.charity-text-button { display: flex; align-items: center; justify-content: space-between; gap: 15px; width: 100%; min-height: 40px; margin: 0; padding: 10px 0; color: #ce365d; font-size: .66rem; font-weight: 700; line-height: 1.6; text-align: start; text-decoration: none; background: transparent; border: 0; cursor: pointer; }
.charity-text-button > span:first-child { min-width: 0; overflow-wrap: anywhere; }
.charity-text-button > span:last-child { flex: 0 0 auto; }
.charity-panel .charity-text-button { margin-top: 11px; padding-bottom: 0; }
.charity-actions { display: grid; gap: 10px; }
.charity-theme .button { min-width: 0; min-height: 45px; gap: 8px; padding: 12px 15px; border-radius: 12px; font-size: .76rem; font-weight: 800; line-height: 1.55; overflow-wrap: anywhere; }
.charity-theme .button--primary, .charity-theme .button--verify { color: #fff; background: #ce365d; border: 1px solid #ce365d; box-shadow: 0 6px 18px #ce365d28; }
.charity-theme .button--primary:hover, .charity-theme .button--verify:hover { color: #fff; background: #b92f53; }
.charity-theme .button--secondary { color: #ce365d; background: #fff; border: 1px solid #e97c9c; box-shadow: none; }
.charity-theme .button--secondary:hover { background: #fff1f5; }
.charity-theme .button:disabled { opacity: .55; }
.charity-theme .button:focus-visible, .charity-text-button:focus-visible, .charity-progress button:focus-visible, .charity-brand:focus-visible { outline: 3px solid #ce365d; outline-offset: 3px; }
.charity-caption { margin: 13px 0 20px; color: #947581; font-size: .59rem; line-height: 1.9; text-align: center; overflow-wrap: anywhere; }
.charity-prizes { margin-top: 27px; padding-top: 21px; border-top: 1px solid #f2dce4; }
.charity-prizes__heading { display: flex; align-items: center; justify-content: center; gap: 9px; }
.charity-prizes__heading > span { color: #d99b3f; font-size: 1.05rem; }
.charity-prizes__heading h2 { min-width: 0; margin: 0; color: #64172d; font-size: 1.02rem; font-weight: 850; line-height: 1.5; text-align: center; overflow-wrap: anywhere; }
.charity-prizes__intro { margin: 8px 0 17px; color: #947581; font-size: .65rem; line-height: 1.8; text-align: center; overflow-wrap: anywhere; }
.charity-prize-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.charity-prize-card { display: flex; flex-direction: column; min-width: 0; padding: 12px; background: #fff; border: 1px solid #f2dce4; border-radius: 18px; box-shadow: var(--shadow-card); }
.charity-prize-card--featured { background: linear-gradient(145deg, #fffaf2, #fff3e2); border-color: #efd1a4; }
.charity-prize-card__top { display: flex; align-items: flex-start; justify-content: space-between; gap: 5px; min-height: 22px; }
.charity-prize-card__rank { display: block; min-width: 0; padding: 3px 7px; color: #aa294e; font-size: .57rem; font-weight: 800; line-height: 1.5; background: #fff0f5; border-radius: 6px; overflow-wrap: anywhere; }
.charity-prize-card__rank:empty { visibility: hidden; }
.charity-prize-card--featured .charity-prize-card__rank { color: #936226; background: #ffe7ba; }
.charity-prize-card__availability { min-width: 0; padding: 3px 5px; color: #81626c; font-size: .53rem; font-weight: 700; line-height: 1.5; background: #f8eff2; border-radius: 5px; overflow-wrap: anywhere; }
.charity-prize-card__image { display: grid; place-items: center; flex: 0 0 110px; height: 110px; margin: 8px 0 10px; padding: 4px; }
.charity-prize-card__image img { width: 112px; max-width: 100%; height: 102px; object-fit: contain; }
.charity-prize-card__image > span { color: #ed9ab5; font-size: 2.4rem; }
.charity-prize-card.is-unavailable .charity-prize-card__image img { opacity: .65; }
.charity-prize-card__name { min-width: 0; margin: 0; color: #43232d; font-size: .78rem; font-weight: 800; line-height: 1.55; overflow-wrap: anywhere; }
.charity-prize-card__description { margin: 6px 0 11px; color: #947581; font-size: .58rem; line-height: 1.7; white-space: pre-line; overflow-wrap: anywhere; }
.charity-prize-card__description:empty { display: none; }
.charity-prize-card__money { display: flex; flex-direction: column; gap: 5px; min-height: 41px; margin-top: auto; padding-top: 11px; border-top: 1px dashed #f0d5df; }
.charity-prize-card__money > span { color: #81626c; font-size: .56rem; line-height: 1.5; overflow-wrap: anywhere; }
.charity-prize-card__money > strong { color: #ce365d; font-size: 1.03rem; font-weight: 850; line-height: 1.4; overflow-wrap: anywhere; }
.charity-prizes > .charity-text-button { margin-top: 11px; color: #b2677e; font-size: .6rem; }
.charity-screen-title { padding: 7px 0 22px; text-align: center; }
.charity-round-icon { display: grid; place-items: center; width: 53px; height: 53px; margin: 0 auto 17px; color: #ce365d; background: #ffe1ec; border: 5px solid #fff5f7; border-radius: 50%; font-size: 1.55rem; line-height: 1; }
.charity-round-icon--ticket { color: #ad763a; background: #fff0d9; border-color: #fffaf2; }
.charity-screen-title h2 { margin: 0 0 10px; color: #43232d; font-size: 1.55rem; font-weight: 850; line-height: 1.4; text-wrap: balance; overflow-wrap: anywhere; }
.charity-screen-title > p:not(.charity-kicker) { margin: 0; color: #947581; font-size: .7rem; line-height: 1.8; }
.charity-checklist { display: grid; gap: 17px; margin: 0; padding: 0; list-style: none; }
.charity-checklist li { display: flex; align-items: start; gap: 12px; }
.charity-checklist li > span { display: grid; place-items: center; flex: 0 0 25px; width: 25px; height: 25px; color: #ce365d; background: #fff0f5; border: 1px solid #f2dce4; border-radius: 50%; font-size: .65rem; font-weight: 800; }
.charity-checklist p { margin: 2px 0 0; color: #69515b; font-size: .73rem; line-height: 1.8; }
.charity-ticket { position: relative; margin: 20px 0 23px; padding: 24px 20px 19px; color: #8f662b; text-align: center; background: linear-gradient(130deg, #fff9ed, #fff0df); border: 1px solid #efd7b6; border-radius: 20px; }
.charity-ticket__icon { color: #b8894a; font-size: 1.6rem; }
.charity-ticket h3 { margin: 10px 0 11px; color: #774e28; font-size: 1.12rem; font-weight: 800; line-height: 1.5; overflow-wrap: anywhere; }
.charity-ticket p { margin: 0; color: #8b6e55; font-size: .69rem; line-height: 1.85; }
.charity-ticket__footer { display: block; margin-top: 19px; padding-top: 14px; border-top: 1px dashed #dfc398; color: #8b6e55; font-size: .6rem; line-height: 1.7; }
.charity-theme .code-card { margin: 0 0 14px; padding: 20px 18px; background: #fff; border: 1px solid #f6e4ea; border-radius: 22px; box-shadow: var(--shadow-card); }
.charity-theme .code-card::after { display: none; }
.charity-theme .section-heading { align-items: start; gap: 10px; }
.charity-theme .section-heading__icon { color: #ce365d; background: #fff1f5; border: 1px solid #f2dce4; box-shadow: none; }
.charity-theme .section-heading h2 { color: #43232d; font-size: .92rem; line-height: 1.5; }
.charity-theme .section-heading p { color: #947581; font-size: .66rem; line-height: 1.8; }
.charity-theme .code-form { margin-top: 20px; }
.charity-theme .code-form label { color: #69515b; font-size: .71rem; }
.charity-theme .code-form__row { grid-template-columns: 1fr; gap: 12px; }
.charity-theme .code-form input { min-width: 0; color: #43232d; background: #fffafc; border: 1px solid #f2dce4; border-radius: 10px; font-size: max(16px, 1rem); }
.charity-theme .code-form input:focus { border-color: #ce365d; box-shadow: 0 0 0 3px #ce365d14; }
.charity-theme .code-form__help { color: #947581; font-size: .64rem; line-height: 1.75; }
.charity-theme .form-message { font-size: .68rem; line-height: 1.7; }
.charity-theme [data-charity-screen="code"] .code-card { background: linear-gradient(130deg, #fff9ed, #fff0df); border-color: #efd7b6; }
.charity-theme [data-charity-screen="code"] .section-heading__icon { color: #b8894a; background: #fffaf2; border-color: #efd7b6; }
.charity-theme [data-charity-screen="code"] .code-form { position: relative; }
.charity-theme [data-charity-screen="code"] .code-form::before { position: absolute; content: ''; top: -10px; inset-inline: 0; border-top: 1px dashed #dfc398; }
.charity-theme [data-charity-screen="code"] .code-form input { background: #fff; border-color: #efd7b6; }
.charity-theme [data-charity-screen="code"] .code-form input:focus { border-color: #ce365d; }
.charity-screen-title--draw { padding-top: 2px; padding-bottom: 17px; }
.charity-screen-title--draw .charity-kicker { margin-bottom: 8px; }
.charity-screen-title--draw h2 { font-size: 1.42rem; }
.charity-theme .currency-summary { gap: 8px; margin: 0; padding: 13px 15px; color: #69515b; background: #fff; border: 1px solid #f6e4ea; border-radius: 16px; }
.charity-theme .currency-summary__icon { color: #d99b3f; }
.charity-theme .currency-summary__region > small { color: #947581; font-size: .6rem; }
.charity-theme .currency-summary__region > strong { color: #b2677e; font-size: .69rem; }
.charity-theme #currencyNote { color: #947581; font-size: .58rem; line-height: 1.7; }
.charity-theme .wheel-section { margin-top: 16px; padding: 15px 0 13px; background: transparent; border: 0; border-radius: 0; box-shadow: none; backdrop-filter: none; }
.charity-theme .wheel-section::before, .charity-theme .wheel-section::after { display: none; }
.charity-theme .wheel-section__heading { gap: 10px; min-height: 43px; padding: 0; }
.charity-theme .wheel-section__heading h2 { color: #43232d; font-size: .86rem; line-height: 1.5; }
.charity-theme .wheel-section__kicker { color: #ce365d; font-size: .55rem; letter-spacing: .15em; }
.charity-theme .eligibility-badge { flex: 0 1 auto; min-width: 0; min-height: 28px; padding: 5px 8px; color: #947581; background: #fff; border-color: #f2dce4; font-size: .6rem; font-weight: 700; text-align: center; overflow-wrap: anywhere; }
.charity-theme .eligibility-badge[data-state="ready"] { color: #3e8c6c; background: #effbf6; border-color: #b7dfce; }
.charity-theme .eligibility-badge[data-state="busy"] { color: #ce365d; background: #fff0f5; border-color: #f2dce4; }
.charity-theme .wheel-stage { min-height: calc(var(--wheel-size) + 54px); margin: 0; padding-top: 28px; }
.charity-theme .wheel-frame { padding: 8px; background: linear-gradient(140deg, #ffd29a, #d99b3f, #ffdbae); border: 5px solid #f3c781; box-shadow: 0 0 0 5px #fff4dd, 0 10px 25px #ab465a23; }
.charity-theme .wheel-frame::before { opacity: .25; }
.charity-theme .wheel-rotor { background: #fffaf2; border: 3px solid #fff8f6; }
.charity-theme .wheel-rotor__surface { background: repeating-conic-gradient(from -22.5deg, #f1caca60 0deg .6deg, transparent .6deg 45deg), conic-gradient(from -22.5deg, #ffdbe7 0deg 45deg, #fff1d6 45deg 90deg, #ffdbe7 90deg 135deg, #fff1d6 135deg 180deg, #ffdbe7 180deg 225deg, #fff1d6 225deg 270deg, #ffdbe7 270deg 315deg, #fff1d6 315deg 360deg); }
.charity-theme .wheel-slot__label { color: #8d4660; text-shadow: none; }
.charity-theme .wheel-slot--thanks .wheel-slot__label, .charity-theme .wheel-slot__heart { color: #b9788d; text-shadow: none; }
.charity-theme .wheel-slot__availability { color: #916c40; background: #fff5df; }
.charity-theme .draw-button { color: #fff9f3; background: #d94e78; border: 5px solid #fff9eb; box-shadow: 0 4px 10px #92253f44; }
.charity-theme .draw-button:not(:disabled):hover { background: #ce365d; }
.charity-theme .draw-button:disabled { color: #fff9f3; background: #dfa0b4; opacity: .9; }
.charity-theme .draw-button__main { font-weight: 750; }
.charity-theme .wheel-pointer { top: 26px; width: 30px; height: 38px; filter: drop-shadow(0 3px 2px #821d3b44); }
.charity-theme .wheel-pointer::before { display: none; }
.charity-theme .wheel-pointer span { top: 0; border-top: 38px solid #ce365d; border-inline: 15px solid transparent; }
.charity-theme .wheel-light { background: #f6d497; box-shadow: 0 0 10px 2px #f3c78155; }
.charity-theme .wheel-section__hint { margin: 12px 0 0; color: #947581; font-size: .67rem; line-height: 1.8; }
.charity-theme .trust-card { margin-top: 6px; padding: 13px 7px; background: #fff; border: 1px solid #f6e4ea; border-radius: 17px; box-shadow: none; backdrop-filter: none; }
.charity-theme .trust-card > div { gap: 6px; padding-inline: 5px; }
.charity-theme .trust-card > div > span { width: 23px; height: 23px; color: #ce365d; background: #fff1f5; border: 1px solid #f2dce4; font-size: .75rem; }
.charity-theme .trust-card strong { color: #69515b; font-size: .57rem; }
.charity-theme .trust-card small { color: #947581; font-size: .49rem; }
.charity-draw-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2px 18px; margin-top: 16px; }
.charity-theme .campaign-footer { padding: 0 22px 10px; color: #aa8b97; font-size: .52rem; line-height: 1.9; }
.charity-theme .campaign-footer p { margin: 5px 0; }
.charity-theme .provider-attribution { font-size: .48rem; }
.charity-theme .provider-attribution a { color: #aa8b97; }
.charity-theme .quick-nav.charity-nav { left: 50%; right: auto; bottom: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: stretch; width: min(calc(100% - var(--safe-left) - var(--safe-right)), 430px); min-height: 69px; padding: 8px 10px calc(8px + var(--safe-bottom)); color: #947581; background: #fffafc; border: 1px solid #f2dce4; border-bottom: 0; border-radius: 0; box-shadow: 0 -4px 18px #ab526508; transform: translateX(-50%); }
.charity-theme .charity-nav button { gap: 5px; min-width: 0; min-height: 48px; padding: 5px 3px; color: #a2828e; font-size: .54rem; font-weight: 600; line-height: 1.5; border-radius: 8px; }
.charity-theme .charity-nav button + button::before { display: none; }
.charity-theme .charity-nav button > span:first-child { color: currentColor; font-size: 1.18rem; line-height: 1; }
.charity-theme .charity-nav button.is-active, .charity-theme .charity-nav button[aria-current] { color: #ce365d; background: #fff0f5; }
.charity-theme .charity-nav button:focus-visible { outline: 2px solid #ce365d; outline-offset: 0; }
.charity-theme .modal__backdrop { background: #43232da3; }
.charity-theme .modal__dialog { color: #43232d; background: #fffaf8; border-color: #fff; box-shadow: 0 25px 75px #64223e33; }
.charity-theme .modal__close { color: #aa294e; background: #fff; border-color: #f2dce4; box-shadow: 0 5px 15px #ab526510; }
.charity-theme .result-dialog__decoration { color: #e9a16b; background: radial-gradient(circle at 30% 20%, #fffaf2d9, transparent 50%), linear-gradient(130deg, #ffe1eb, #fff0db); }
.charity-theme .result-dialog__decoration span:nth-child(2) { color: #ce365d; }
.charity-theme .result-dialog__eyebrow { color: #ce365d; }
.charity-theme .result-dialog h2, .charity-theme .info-dialog h2 { color: #64172d; }
.charity-theme .result-dialog__description, .charity-theme .claim-note { color: #81626c; }
.charity-theme .result-prize { background: #fff; border-color: #f2dce4; box-shadow: none; }
.charity-theme .result-prize strong { color: #43232d; }
.charity-theme .result-prize img { background: #fff5f7; }
.charity-theme .result-prize__illustration { color: #947581; }
.charity-theme .redemption-block { background: linear-gradient(#fff6e6, #fff6e6) padding-box, repeating-linear-gradient(90deg, #dfbc85 0 7px, transparent 7px 11px) border-box; }
.charity-theme .redemption-block strong { color: #774e28; }
.charity-theme .info-dialog__header { color: #ce365d; }
.charity-theme .prize-list li { background: #fff; border-color: #f2dce4; }
.charity-theme .prize-list__placeholder { background: #fff1f5; }
.charity-theme .toast { color: #fff; background: #6e283ff5; border-radius: 12px; }
@media (min-width: 460px) {
    .charity-theme .app-shell.charity-app { min-height: calc(100vh - 40px); min-height: calc(100svh - 40px); margin: 20px auto; border: 1px solid #f2dce4; border-radius: 30px; box-shadow: var(--shadow-soft); }
    .charity-theme .quick-nav.charity-nav { bottom: 12px; padding-bottom: 8px; border-bottom: 1px solid #f2dce4; border-radius: 0 0 20px 20px; }
}
@media (max-width: 360px) {
    .charity-header { padding-inline: 16px; gap: 8px; }
    .charity-header__actions { gap: 7px; }
    .charity-region { max-width: 89px; }
    .charity-progress { margin-inline: 16px; }
    .charity-screen { padding-inline: 16px; }
    .charity-panel { padding: 17px 15px; }
    .charity-theme .campaign-footer { padding-inline: 16px; }
    .charity-brand strong { font-size: .84rem; }
    .charity-brand__icon { font-size: 1.6rem; }
    .charity-theme .trust-card > div { flex-direction: column; text-align: center; }
}
html[dir="rtl"] .charity-kicker, html[dir="rtl"] .charity-hero h1 { letter-spacing: normal; }
@media (prefers-reduced-motion: reduce) { .charity-theme .charity-brand, .charity-theme .button { transition: none; } }
