.qr-scanner{--qr-scanner-color:#00a651;position:relative;display:inline-block;vertical-align:top;margin:0 auto 10px;border-radius:12px;overflow:hidden}.qr-scanner:has(.qr-image){border-radius:8px}.qr-scanner .donation-qr,.qr-scanner .qr-image{display:block;margin:0}.qr-scanner:has(>img[hidden]) .qr-scanner-frame{display:none}.qr-scanner:has(>.is-fading) .qr-scanner-frame{opacity:.35;transition:opacity .2s ease}.qr-scanner-frame{position:absolute;inset:0;z-index:1;pointer-events:none;border-radius:inherit;overflow:hidden}.qr-scanner-corner{position:absolute;width:22px;height:22px;border:0 solid var(--qr-scanner-color);animation:qr-scanner-corner-pulse 2.4s ease-in-out infinite}.qr-scanner-corner--tl{top:7px;left:7px;border-top-width:3px;border-left-width:3px;border-radius:5px 0 0}.qr-scanner-corner--tr{top:7px;right:7px;border-top-width:3px;border-right-width:3px;border-radius:0 5px 0 0;animation-delay:.3s}.qr-scanner-corner--bl{bottom:7px;left:7px;border-bottom-width:3px;border-left-width:3px;border-radius:0 0 0 5px;animation-delay:.6s}.qr-scanner-corner--br{bottom:7px;right:7px;border-bottom-width:3px;border-right-width:3px;border-radius:0 0 5px;animation-delay:.9s}.qr-scanner-line{position:absolute;left:10%;right:10%;height:2px;border-radius:999px;background:linear-gradient(90deg,transparent,var(--qr-scanner-color) 20%,var(--qr-scanner-color) 80%,transparent);box-shadow:0 0 10px rgba(0,166,81,.55),0 0 2px rgba(0,166,81,.8);animation:qr-scanner-sweep 2.4s ease-in-out infinite}@media (prefers-reduced-motion:reduce){.qr-scanner-corner,.qr-scanner-line{animation:none}.qr-scanner-line{top:50%;opacity:.85;transform:translateY(-50%)}}@keyframes qr-scanner-sweep{0%{top:8%;opacity:0}10%,90%{opacity:1}100%{top:92%;opacity:0}}@keyframes qr-scanner-corner-pulse{0%,100%{opacity:1}50%{opacity:.45}}.donasi{display:grid;-ms-flex-line-pack:start;align-content:start;max-width:calc(28rem + 2 * var(--gutter));padding-block:1.5rem 2rem}.donasi-step{display:grid;gap:1.5rem;animation:donasi-in 240ms var(--ease-out) both}.donasi-back,.donasi-return{justify-self:start;display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;gap:.375rem;min-height:2.25rem;margin:-.5rem 0 .5rem -.5rem;padding:0 .5rem;border:0;border-radius:999px;background:0 0;color:var(--muted);font-size:.8125rem;font-weight:500}.donasi-back{margin-bottom:-.75rem}@media (hover:hover) and (pointer:fine){.donasi-back:hover,.donasi-return:hover{background:var(--well);color:var(--fg)}}.donasi-head{display:grid;justify-items:center;gap:.5rem;text-align:center}.donasi-head h1{font-size:1.375rem;letter-spacing:-.02em}.donasi-head p{max-width:24rem;color:var(--muted)}.donasi-mark{display:grid;place-items:center;width:3rem;height:3rem;margin-bottom:.25rem;border-radius:999px;background:var(--brand-soft);color:var(--brand-text)}.donasi-field{display:grid;gap:.5rem;min-width:0;margin:0;padding:0;border:0}.donasi-field label,.donasi-field legend{padding:0;margin-bottom:.5rem;font-size:.8125rem;font-weight:500;color:var(--fg-soft)}.donasi-field label{margin-bottom:0}.donasi-presets{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.donasi-preset{min-height:3rem;padding:0 .5rem;border:0;border-radius:var(--radius);background:var(--well);box-shadow:inset 0 0 0 1px var(--line);font-size:.9375rem;font-weight:600;font-variant-numeric:tabular-nums;transition:box-shadow 140ms var(--ease-out),background-color 140ms var(--ease-out),scale 140ms var(--ease-out)}.donasi-preset--other{font-weight:500;color:var(--fg-soft)}.donasi-preset:active{scale:.97}.donasi-preset[aria-pressed=true]{background:var(--brand-soft);color:var(--brand-text);box-shadow:inset 0 0 0 2px var(--brand-text)}@media (hover:hover) and (pointer:fine){.donasi-preset:not([aria-pressed=true]):hover{box-shadow:inset 0 0 0 1px var(--line-strong)}}.donasi-input,.donation-qr-save-btn{box-shadow:inset 0 0 0 1px var(--line)}.donasi-input{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:.5rem;height:3.5rem;padding:0 .5rem 0 1rem;border-radius:var(--radius);background:var(--well);transition:box-shadow 140ms var(--ease-out)}.donasi-input:focus-within{background:var(--bg);box-shadow:inset 0 0 0 2px var(--focus)}.donasi-input>span{font-size:1.125rem;font-weight:600;color:var(--muted)}.donasi-input input{-ms-flex:1;flex:1;min-width:0;height:100%;padding:0;border:0;background:0 0;font-size:1.375rem;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.01em;outline:0}.donasi-input input::-moz-placeholder{color:var(--muted);opacity:.6}.donasi-input input:-ms-input-placeholder{color:var(--muted);opacity:.6}.donasi-input input::placeholder{color:var(--muted);opacity:.6}.donasi-clear{display:grid;place-items:center;width:2.25rem;height:2.25rem;border:0;border-radius:999px;background:0 0;color:var(--muted)}@media (hover:hover) and (pointer:fine){.donasi-clear:hover{background:var(--line);color:var(--fg)}}.donasi-guide{font-size:.8125rem;color:var(--muted)}.donasi-guide.is-error{color:#b42318}:root[data-theme=dark] .donasi-guide.is-error{color:#fda29b}.donasi-submit{display:grid;gap:.75rem}.donasi-cta{width:100%;min-height:3.25rem;font-size:.9375rem;font-weight:600}.donasi-cta:disabled{opacity:.4;cursor:not-allowed}.donasi-cta[aria-busy=true]{cursor:progress}.donasi-cta:not(:disabled):active{scale:.98}.donasi-trust{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;gap:.375rem;font-size:.75rem;color:var(--muted)}@media (max-width:40rem){.donasi-submit{position:sticky;bottom:0;margin-inline:calc(var(--gutter) * -1);padding:.75rem var(--gutter) calc(.75rem + env(safe-area-inset-bottom));background:linear-gradient(to top,var(--bg) 75%,transparent)}}.donasi-qr-card{display:grid;justify-items:center;gap:.75rem;padding:1.5rem 1.25rem 1.25rem;border-radius:1.25rem;background:var(--elevated);box-shadow:var(--shadow-pop);text-align:center}.donasi-qr-label{font-size:.8125rem;font-weight:500;color:var(--muted)}.donasi-qr-amount{margin-top:-.5rem;font-size:1.75rem;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.donasi-qr-stage{display:grid;place-items:center;width:15rem;aspect-ratio:1;max-width:100%;padding:.5rem;border-radius:var(--radius);background:#fff}.donasi-qr-stage .qr-scanner{margin:0}.donasi-qr-stage .donation-qr{width:100%;height:auto;border-radius:var(--radius-sm)}.donasi-qr-loading{display:grid;justify-items:center;gap:.75rem;font-size:.8125rem;color:#6b6b6b}.donasi-waiting,.donation-qr-steps li{-ms-flex-align:center;font-size:.8125rem;color:var(--fg-soft)}.donasi-spinner{width:1.5rem;height:1.5rem;border:2px solid rgba(0,0,0,.12);border-top-color:#0f4a32;border-radius:999px;animation:donasi-spin .7s linear infinite}.donasi-waiting{display:-ms-inline-flexbox;display:inline-flex;align-items:center;gap:.5rem;padding:.375rem .75rem;border-radius:999px;background:var(--well)}.donasi-dot{width:.5rem;height:.5rem;border-radius:999px;background:var(--hasan);animation:donasi-pulse 1.4s ease-in-out infinite}.donasi-note{font-size:.75rem;color:var(--muted);text-align:center}.donation-qr-actions{display:grid;gap:.75rem;width:100%}.donation-qr-steps{display:none;gap:.5rem;margin:0;padding:.75rem;border-radius:var(--radius);background:var(--well);list-style:none}.donasi-check,.donation-qr-step-num{place-items:center;border-radius:999px}.donation-qr-steps li{display:-ms-flexbox;display:flex;align-items:center;gap:.625rem;text-align:left}.donation-qr-step-num{display:inline-grid;-ms-flex-negative:0;flex-shrink:0;width:1.25rem;height:1.25rem;background:var(--fg);color:var(--bg);font-size:.6875rem;font-weight:700}.donation-qr-hint{font-size:.8125rem;color:var(--muted);text-wrap:pretty}.donation-qr-actions.is-saved .donation-qr-hint{color:var(--brand-text)}.donation-qr-save-btn{position:relative;display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;gap:.5rem;width:100%;min-height:3rem;border:0;border-radius:999px;background:var(--well);color:var(--fg);font-size:.875rem;font-weight:600;transition:scale 150ms var(--ease-out),background-color 180ms ease,color 180ms ease}.donation-qr-save-btn:active:not(:disabled){scale:.97}.donation-qr-save-btn:disabled{opacity:.45;cursor:not-allowed}.donation-qr-save-btn.is-saving{opacity:.7;cursor:wait}.donation-qr-save-btn.is-done{background:var(--shahih);color:#fff;box-shadow:none}.donation-qr-save-icons{position:relative;width:18px;height:18px;-ms-flex-negative:0;flex-shrink:0}.donation-qr-save-icon{position:absolute;inset:0;display:grid;place-items:center;transition:opacity 220ms var(--ease-out),filter 220ms var(--ease-out),scale 220ms var(--ease-out)}.donation-qr-save-btn.is-done .donation-qr-save-icon--idle,.donation-qr-save-icon--done{opacity:0;filter:blur(4px);scale:.25}.donation-qr-save-btn.is-done .donation-qr-save-icon--done{opacity:1;filter:none;scale:1}@media (hover:none) and (pointer:coarse){.donation-qr-steps{display:grid}.donation-qr-hint{display:none}.donation-qr-actions.is-saved .donation-qr-hint{display:block}.donation-qr-save-btn{background:var(--brand);color:var(--on-brand);box-shadow:none}.donation-qr-actions.is-saved .donation-qr-steps li:first-child .donation-qr-step-num{background:var(--shahih)}}@media (hover:hover) and (pointer:fine){.donation-qr-save-btn:hover:not(:disabled):not(.is-done){background:color-mix(in srgb,var(--well) 70%,var(--fg) 6%)}}.donasi-thanks{justify-items:center;gap:.75rem;padding-top:2rem;text-align:center}.donasi-thanks h2{font-size:1.25rem}.donasi-thanks>p:not(.donasi-thanks-ar){max-width:22rem;color:var(--muted)}.donasi-thanks .donasi-cta{margin-top:1rem}.donasi-thanks-ar{font-family:var(--font-arab-ui);font-size:1.75rem;line-height:1.6;color:var(--brand-text)}.donasi-check{display:grid;width:4rem;height:4rem;background:var(--shahih);color:#fff;animation:donasi-pop 420ms cubic-bezier(.34,1.56,.64,1) both}.donation-confetti-canvas{position:fixed;inset:0;z-index:100;pointer-events:none}@media (prefers-reduced-motion:reduce){.donasi-check,.donasi-dot,.donasi-spinner,.donasi-step{animation:none}}@keyframes donasi-in{from{opacity:0;translate:0 6px}}@keyframes donasi-spin{to{rotate:1turn}}@keyframes donasi-pulse{50%{opacity:.35;scale:.8}}@keyframes donasi-pop{from{scale:.4;opacity:0}}