/* Dedicated funding page: original shared fonts, regular weight, black and white. */
:root{color-scheme:dark;background:#000;color:#fff}*{box-sizing:border-box}body{margin:0;min-width:280px;min-height:100vh;background:#000;color:#fff;font-weight:400}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;font-weight:400}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:2px solid #fff;outline-offset:6px}.fund-header{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px clamp(20px,5vw,72px)}.fund-brand{position:relative;display:block;width:44px;height:44px;flex:0 0 44px;overflow:hidden}.fund-brand img{position:absolute;left:-8.35px;top:.15px;width:69.82px;height:40.99px;max-width:none;object-fit:contain}.fund-language{display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:transparent;color:#fff;cursor:pointer}.fund-language [data-flag]{display:block;width:28px;height:28px;overflow:hidden;border-radius:50%}.fund-language img{display:block;width:28px;height:28px;object-fit:cover}.fund-language[hidden],.fund-language [hidden]{display:none!important}.fund-page{max-width:640px;margin:0 auto;min-height:calc(100svh - 92px);padding:clamp(64px,12vh,140px) 24px 72px;text-align:center}.fund-marks{display:flex;justify-content:center;align-items:center;gap:24px;margin:0 0 34px}.fund-marks img{width:82px;height:48px;object-fit:contain}h1{font-size:clamp(36px,7vw,56px);line-height:1.12;font-weight:400;letter-spacing:-.045em;margin:0 0 18px}.fund-copy{font-size:clamp(17px,3vw,20px);line-height:1.5;margin:0 0 12px}.fund-terms{font-size:14px;color:#fff;margin:0 0 32px}.fund-donate{display:block;min-height:52px;min-width:180px;padding:14px 28px;margin:0 auto;border:1px solid #fff;border-radius:8px;background:#fff;color:#000;cursor:pointer}.fund-donate:disabled{cursor:not-allowed;background:#fff;color:#555}.fund-status{max-width:420px;margin:20px auto 0;min-height:42px;color:#fff;font-size:13px;line-height:1.6}@media(max-width:420px){.fund-header{padding:16px;gap:12px}.fund-page{padding-top:72px}}

/* Replacement2.98: one honest fixed-amount card, not a fundraising tracker. */
.fund-page{display:grid;place-items:center;max-width:960px;padding:40px 24px 72px;text-align:center}
.fund-card{display:grid;justify-items:center;gap:16px;width:min(100%,480px);padding:clamp(24px,5vw,48px);border:1px solid #292929;border-radius:24px;background:#0b0b0b;min-width:0}
.fund-card .fund-marks{margin:0 0 4px}.fund-card h1{font-size:clamp(30px,6vw,44px);margin:0}.fund-card .fund-copy{margin:0;font-size:17px}
.fund-amount{display:flex;align-items:baseline;justify-content:center;gap:10px;margin:8px 0 0;font-size:64px;line-height:1;letter-spacing:-.05em}.fund-currency{font-size:14px;letter-spacing:0;color:#bdbdbd}
.fund-card .fund-terms{margin:0;color:#bdbdbd}.fund-card .fund-donate{width:100%;min-width:0;margin:8px 0 0;border-radius:999px}.fund-card .fund-status{margin:0;min-height:42px;overflow-wrap:anywhere}
@media(max-width:420px){.fund-page{padding:24px 16px 48px}.fund-card{padding:28px 20px;border-radius:20px}.fund-amount{font-size:56px}}

/* Fixed short entry, never a delay before donation or retry. */
.fund-card{animation:fund-card-enter 200ms ease-out}
.fund-card .fund-status:not(:empty){animation:fund-status-enter 160ms ease-out}
.fund-card .fund-donate{transition:background-color 180ms ease,color 180ms ease,border-color 180ms ease,outline-color 180ms ease}
@keyframes fund-card-enter{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
@keyframes fund-status-enter{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.fund-card,.fund-card .fund-status:not(:empty){animation:none}.fund-card .fund-donate{transition:none}}

/* Minimal Fund presentation; existing landing rail and shared header remain authoritative. */
body.fund-minimal{display:block;min-height:100svh;background:#000;color:#fff}
body.fund-minimal .fund-page{display:block;width:100%;max-width:960px;min-height:0;margin:0 auto;padding:48px 24px 52px}
body.fund-minimal .fund-card{display:flex;flex-direction:column;align-items:center;gap:24px;width:min(100%,560px);margin:0 auto;padding:0;border:0;border-radius:0;background:transparent}
body.fund-minimal .fund-money-bag{display:block;width:clamp(160px,42vw,240px);height:auto;margin:0 0 8px}
body.fund-minimal .fund-card h1{font-size:clamp(36px,8vw,64px);line-height:1.15;font-weight:400;margin:0;letter-spacing:-.035em}
body.fund-minimal .fund-amount{margin:0;font-size:clamp(112px,29vw,200px);line-height:1.05;font-weight:400;letter-spacing:-.06em}
body.fund-minimal .fund-card .fund-donate{display:block;width:100%;min-height:64px;margin:12px 0 0;padding:16px 24px;border:0;border-radius:999px;background:#008cff;color:#fff;font-size:22px}
body.fund-minimal .fund-card .fund-donate:disabled{cursor:not-allowed;background:#005fae;color:#fff}
body.fund-minimal .fund-card .fund-status{max-width:480px;min-height:0;margin:0;font-size:13px;line-height:1.5}
body.fund-minimal .fund-status:empty{display:none}
body.fund-minimal .payment-support{margin-top:36px;border:0}
body.fund-minimal .payment-support__label::before,body.fund-minimal .payment-support__label::after{content:none}
@media(max-width:420px){body.fund-minimal .fund-page{padding:36px 24px 40px}body.fund-minimal .fund-card{gap:20px}}

/* 3.08: a small loader beside the status line, only while a real payment check runs; idle shows no text. */
body.fund-minimal .fund-card .fund-status.is-checking{display:inline-flex;align-items:center;justify-content:center;gap:8px}
body.fund-minimal .fund-card .fund-status.is-checking::before{content:'';flex:0 0 14px;width:14px;height:14px;border:2px solid rgba(255,255,255,.28);border-top-color:#fff;border-radius:50%;animation:fund-status-spin 800ms linear infinite}
@keyframes fund-status-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){body.fund-minimal .fund-card .fund-status.is-checking::before{animation:none}}

/* 3.08.1 in-app Fund checkout: same look as /checkout (card + PromptPay), no login, no hosted page. */
body.fund-minimal .fund-pay[hidden],body.fund-minimal .fund-card[hidden],.fund-pay [hidden]{display:none!important}
body.fund-minimal .fund-pay{width:min(100%,480px);margin:0 auto;text-align:left;animation:fund-card-enter 200ms ease-out}
.fund-pay__bar{display:flex;align-items:center;min-height:44px;margin:0 0 8px}
.fund-pay__back{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin-left:-10px;padding:0;border:0;border-radius:999px;background:transparent;color:#fff;cursor:pointer}
.fund-pay__back:hover{background:#ffffff14}.fund-pay__back:focus-visible,.fund-pay button:focus-visible{outline:2px solid #fff;outline-offset:2px}
.fund-pay__form{display:flex;flex-direction:column;gap:16px;margin:0}
.fund-pay h2{margin:0;font-size:28px;line-height:1.2;font-weight:400;letter-spacing:-.02em;outline:0}
.fund-pay__total{display:flex;align-items:baseline;justify-content:space-between;margin:0;padding:0 0 16px;border-bottom:1px solid #2c2c31;color:#a1a1aa;font-size:15px}
.fund-pay__total strong{color:#fff;font-size:24px;font-weight:400;font-variant-numeric:tabular-nums}
.fund-pay__methods{display:grid;gap:10px;margin:0;padding:0;border:0;min-width:0}
.fund-pay__methods legend{margin:0 0 10px;padding:0;color:#a1a1aa;font-size:14px}
.fund-pay__method{display:flex;align-items:center;gap:12px;min-height:56px;padding:12px 16px;border:1px solid #2c2c31;border-radius:14px;background:#1a1a1d;cursor:pointer;transition:border-color .16s ease,background-color .16s ease}
.fund-pay__method:has(input:checked){border-color:#4678f5;background:#151d33}
.fund-pay__method input{width:18px;height:18px;margin:0;accent-color:#4678f5;flex:0 0 auto}
.fund-pay__method:has(input:focus-visible){outline:2px solid #fff;outline-offset:2px}
.fund-pay__method-name{flex:1 1 auto;font-size:16px}
.fund-pay__marks{display:flex;align-items:center;gap:6px}.fund-pay__marks img{display:block;height:24px;width:auto;object-fit:contain}
.fund-pay__card{display:grid;gap:12px;min-height:40px}
.fund-pay__field{display:grid;gap:8px}.fund-pay__field label{color:#a1a1aa;font-size:14px}
.fund-pay__field input{width:100%;min-height:50px;padding:0 14px;border:1px solid #2c2c31;border-radius:12px;background:#1a1a1d;color:#fff;font:inherit;font-size:16px}
.fund-pay__field input:focus{outline:0;border-color:#4678f5;box-shadow:0 0 0 3px #4678f533}
.fund-pay__status{margin:0;color:#d4d4d8;font-size:14px;line-height:1.5}.fund-pay__status:empty{display:none}
.fund-pay__submit{display:block;width:100%;min-height:50px;padding:12px 20px;border:0;border-radius:12px;background:#4678f5;color:#fff;font:inherit;font-size:17px;font-weight:400;cursor:pointer;transition:background-color .16s ease}
.fund-pay__submit:hover:not(:disabled){background:#3a6be8}.fund-pay__submit:disabled{background:#2f4f9e;color:#ffffffb3;cursor:default}
.fund-pay__note{margin:0;color:#71717a;font-size:13px;text-align:center}
/* PromptPay QR card (same layout as /checkout). */
body.fund-minimal .fund-pay .qr-card{display:flex;flex-direction:column;align-items:center;text-align:center;background:#fff;color:#111;border-radius:20px;overflow:hidden;padding:0 0 22px;box-shadow:0 8px 32px #0006}
body.fund-minimal .fund-pay .qr-card-head{align-self:stretch;display:flex;justify-content:center;align-items:center;padding:12px 16px;background:#13325e}
body.fund-minimal .fund-pay .qr-card-head img{display:block;width:96px;height:32px;object-fit:contain}
body.fund-minimal .fund-pay .qr-amount{margin:18px 0 0;font-size:28px;letter-spacing:-.6px;line-height:1.2;color:#111}
body.fund-minimal .fund-pay__qr-hint{margin:4px 24px 0;font-size:13px;color:#475467}
.fund-pay__qr-code{display:flex;flex-direction:column;align-items:center;width:100%}
body.fund-minimal .fund-pay .qr-card canvas{display:block;width:232px;max-width:72vw;height:auto!important;margin:18px auto 0;image-rendering:pixelated}
body.fund-minimal .fund-pay .qr-frame{position:relative;display:block;margin:18px auto 0}body.fund-minimal .fund-pay .qr-frame canvas{margin:0;filter:blur(6px);opacity:.25}
body.fund-minimal .fund-pay .qr-expiry{margin:10px 0 0;font-size:14px;color:#475467;font-variant-numeric:tabular-nums}
body.fund-minimal .fund-pay .qr-expired{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}
body.fund-minimal .fund-pay .qr-expired p{margin:0;font-size:17px;color:#111}
body.fund-minimal .fund-pay .qr-save,body.fund-minimal .fund-pay .qr-renew{min-height:44px;margin:14px auto 0;padding:0 24px;border-radius:12px;font:inherit;font-size:15px;cursor:pointer}
body.fund-minimal .fund-pay .qr-save{background:#fff;color:#111;border:1px solid #d0d5dd}body.fund-minimal .fund-pay .qr-save:hover{background:#f5f6f8}
body.fund-minimal .fund-pay .qr-renew{margin:0;background:#4678f5;color:#fff;border:0}
body.fund-minimal .fund-pay .qr-note{margin:12px 24px 0;font-size:12px;color:#98a2b3}
/* Success: only after the server confirms the donation as paid. */
.fund-pay__success{display:flex;flex-direction:column;align-items:center;gap:14px;padding:32px 0 8px;text-align:center}
.fund-pay__tick{display:flex;align-items:center;justify-content:center;width:72px;height:72px;border-radius:999px;background:#198754;animation:fund-tick-in 200ms ease-out}
body.fund-minimal .fund-pay__success p{margin:0;color:#a1a1aa;font-size:16px}
.fund-pay__done{min-height:56px;min-width:220px;margin:12px 0 0;padding:0 28px;border:0;border-radius:999px;background:#4678f5;color:#fff;font:inherit;font-size:17px;cursor:pointer}
@keyframes fund-tick-in{from{transform:scale(.6);opacity:0}to{transform:none;opacity:1}}
@media(prefers-reduced-motion:reduce){body.fund-minimal .fund-pay,.fund-pay__tick{animation:none}}
/* The landing dark theme forces white text with !important; the QR card is white, so it opts out. */
body.landing-dark-concept.fund-minimal .fund-pay .qr-card :is(p,span,a,button,strong,label,small){color:#111!important;-webkit-text-fill-color:#111!important}
body.landing-dark-concept.fund-minimal .fund-pay .qr-card :is(.qr-expiry,.fund-pay__qr-hint){color:#475467!important;-webkit-text-fill-color:#475467!important}
body.landing-dark-concept.fund-minimal .fund-pay .qr-card .qr-note{color:#98a2b3!important;-webkit-text-fill-color:#98a2b3!important}
body.landing-dark-concept.fund-minimal .fund-pay .qr-card .qr-renew{color:#fff!important;-webkit-text-fill-color:#fff!important}
body.fund-minimal .fund-pay .qr-frame{order:1}body.fund-minimal .fund-pay .qr-card canvas{order:1}body.fund-minimal .fund-pay .qr-expiry{order:2}body.fund-minimal .fund-pay .qr-save{order:3}body.fund-minimal .fund-pay .qr-note{order:4}
