/* Chai fund sheet + nudge. Standalone: every app token has a fallback. Light mode only. */
.sp-dlg { --sp-ink:var(--ink,#14161a); --sp-muted:var(--muted,#596070); --sp-line:var(--line,#e2e5ea); --sp-line2:var(--line-strong,#8c94a1);
  --sp-accent:var(--accent,#2446c7); --sp-soft:var(--accent-soft,#eaeefc); --sp-yellow:#ffd84d;
  box-sizing:border-box; padding:0; border:0; color:var(--sp-ink); background:#fff; font:16px/1.5 Geist,system-ui,sans-serif;
  width:100%; max-width:100%; height:100%; max-height:100%; margin:0; overflow:hidden; color-scheme:light }
.sp-dlg[open] { display:flex; flex-direction:column }
.sp-dlg::backdrop { background:rgba(10,12,16,.55) }
.sp-dlg *, .sp-nudge * { box-sizing:border-box }
@media (min-width:721px) { .sp-dlg { width:600px; height:auto; max-height:90vh; margin:auto; border-radius:16px; border:1px solid var(--sp-line) } }
.sp-head { display:flex; justify-content:flex-end; padding:8px 12px; flex:none }
.x-body { flex:1 1 auto; min-height:0; overflow-y:auto; -webkit-overflow-scrolling:touch; overscroll-behavior:contain; padding:0 20px 24px }
.sp-x { min-height:44px; min-width:44px; border:0; background:none; color:var(--sp-muted); font:inherit; font-weight:600; cursor:pointer; border-radius:99px }
.sp-art { display:flex; justify-content:center; margin:0 0 12px }
.sp-art svg { width:190px; height:auto; transform:rotate(-3deg) }
.sp-dlg h2 { margin:6px 0 0; font-size:28px; line-height:1.12; font-weight:700; letter-spacing:-.02em; text-align:center }
.sp-cap { margin:10px auto 0; width:fit-content; max-width:100%; padding:7px 14px; border:2.5px solid var(--sp-ink); border-radius:12px; background:var(--sp-yellow);
  font-weight:600; font-size:14px; line-height:1.35; text-align:center; transform:rotate(-1.2deg); box-shadow:3px 3px 0 var(--sp-ink) }
.sp-honest { margin:14px 0 0; text-align:center; color:var(--sp-muted); font-size:15px }
.sp-amts { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:18px 0 0; border:0; padding:0; min-width:0 }
.sp-amts button { min-height:52px; border-radius:14px; border:2px solid var(--sp-ink); background:#fff; font:700 19px Geist,system-ui,sans-serif; cursor:pointer; box-shadow:2px 2px 0 var(--sp-ink) }
.sp-amts button[aria-pressed="true"] { background:var(--sp-accent); color:#fff; transform:translate(1px,1px); box-shadow:1px 1px 0 var(--sp-ink) }
.sp-floor { margin:10px 0 0; text-align:center; font-size:13.5px; color:var(--sp-muted) }
.sp-else { display:block; margin:2px auto 0; min-height:44px; padding:0 8px; border:0; background:none; color:var(--sp-accent); font:inherit; font-size:14px; font-weight:600; text-decoration:underline; cursor:pointer }
.sp-note { margin:0; text-align:center; font-size:13px; color:var(--sp-muted) }
.sp-pay { display:flex; align-items:center; justify-content:center; width:100%; min-height:54px; margin-top:12px; border-radius:99px; border:0; background:var(--sp-accent); color:#fff; font:700 17px Geist,system-ui,sans-serif; cursor:pointer }
.sp-qr { display:flex; flex-direction:column; align-items:center; gap:6px; margin-top:16px }
.sp-qr .box { width:200px; height:200px; padding:12px; border:2.5px solid var(--sp-ink); border-radius:14px; background:#fff; display:flex; align-items:center; justify-content:center }
.sp-qr canvas, .sp-qr img { max-width:100%; height:auto !important }
.sp-qr p { margin:0; font-size:14px; font-weight:600 }
.sp-upi { display:flex; align-items:center; justify-content:center; gap:6px; margin-top:12px; flex-wrap:wrap; font-size:14px; color:var(--sp-muted) }
.sp-upi code { font:500 14px "Geist Mono",ui-monospace,monospace; color:var(--sp-ink); background:var(--sp-soft); padding:4px 8px; border-radius:8px; word-break:break-all }
.sp-upi button { min-height:44px; padding:0 14px; border-radius:99px; border:1px solid var(--sp-line2); background:#fff; font:inherit; font-size:14px; font-weight:600; cursor:pointer }
.sp-sig { margin:16px 0 0; text-align:center; font-size:12.5px; color:var(--sp-muted) }
.sp-thanks { text-align:center; padding:8px 0 0 }
.sp-thanks h2 { margin-top:0 }
.sp-thanks .sp-pay { max-width:280px; margin-left:auto; margin-right:auto }
.sp-dlg button:focus-visible, .sp-nudge button:focus-visible { outline:2px solid var(--sp-accent,#2446c7); outline-offset:2px }
.sp-nudge { position:fixed; top:max(12px, env(safe-area-inset-top)); left:50%; transform:translateX(-50%); z-index:20; width:calc(100vw - 24px); max-width:420px;
  display:flex; align-items:center; gap:4px; padding:8px 4px 8px 14px; background:#fff; color:#14161a; border:2.5px solid #14161a; border-radius:16px;
  box-shadow:3px 3px 0 #14161a; font:14px/1.35 Geist,system-ui,sans-serif }
.sp-nudge span { flex:1; font-weight:600 }
.sp-nudge .go { min-height:44px; padding:0 14px; border:0; border-radius:99px; background:#2446c7; color:#fff; font:inherit; font-weight:700; cursor:pointer }
.sp-nudge .no { min-height:44px; min-width:44px; border:0; background:none; color:#596070; font:inherit; font-size:18px; cursor:pointer }
@media (prefers-reduced-motion:no-preference) { .sp-nudge { animation:sp-in .25s ease-out } @keyframes sp-in { from { opacity:0; transform:translate(-50%,-10px) } } }

.sp-stars { display:flex; justify-content:center; gap:2px; margin:10px 0 0 }
.sp-stars button { width:44px; height:44px; border:0; background:none; font-size:34px; line-height:1; color:#c7ccd6; cursor:pointer; -webkit-text-stroke:2px #14161a }
.sp-stars button[aria-pressed="true"] { color:#ffd84d }
.sp-lbl { display:block; margin:16px 0 6px; font-size:13px; font-weight:500; color:var(--sp-muted) }
.sp-dlg textarea { width:100%; border:1.5px solid var(--sp-line2); border-radius:12px; padding:10px 12px; font:inherit; font-size:16px; resize:vertical }
.sp-big { font-size:36px; color:#ffd84d; -webkit-text-stroke:2px #14161a; letter-spacing:2px }
.sp-yours { text-align:center; margin:8px 0 }
.sp-pay:disabled { opacity:.5; cursor:default }
@media (min-width:721px) { .sp-rate { width:440px } }
.sp-nudge { flex-wrap:wrap }
.sp-nudge .sp-stars { margin:0; flex:none }
.sp-nudge .sp-stars button { width:40px; height:44px; font-size:28px; -webkit-text-stroke:1.5px #14161a }
.sp-nudge .rate-row { flex:1 0 100%; display:flex; align-items:center; justify-content:flex-end; color:#596070 }

.sp-amts button small { display:block; font-size:11px; font-weight:500; opacity:.8 }
.sp-other { margin-top:10px; text-align:left }
.sp-other label { font-size:13px; font-weight:600 }
.sp-amtbox { display:flex; align-items:center; gap:6px; margin-top:6px; border:1.5px solid var(--ink); border-radius:12px; padding:0 12px; background:#fff }
.sp-amtbox span { font:600 20px var(--mono) }
.sp-amtbox input { flex:1; min-width:0; border:0; outline:none; font:600 22px var(--mono); padding:10px 0; background:none }
.sp-meter { display:grid; grid-template-columns:auto 1fr; gap:6px 10px; align-items:center; margin-top:10px }
.sp-meter .face { font-size:30px; grid-row:span 2 }
.sp-meter .bar { height:10px; border-radius:99px; background:#eee8d6; overflow:hidden }
.sp-meter .bar i { display:block; height:100%; background:linear-gradient(90deg, #c98a4b, #ffd93d); transition:width .25s }
.sp-meter .say { font-size:13px; font-weight:600 }
.sp-amts button { flex-direction:column; gap:0; line-height:1.2 }
.sp-amtbox { max-width:240px }
.sp-meter .bar i { min-width:6px }
.sp-nudge .sp-n-h { flex:1 1 100%; margin:0 32px 6px 0; font-size:15px; line-height:1.4 }
.sp-nudge .no { position:absolute; top:4px; right:4px }
.sp-nudge { position:fixed; padding:14px 16px 12px; border:2px solid #14161a; box-shadow:4px 4px 0 #14161a; background:#fffaf0 }
.sp-quick { display:flex; gap:8px; flex-wrap:wrap }
.sp-quick .go { min-height:44px; padding:0 16px; border:2px solid #14161a; border-radius:99px; background:#ffd93d; color:#14161a; font-weight:700; cursor:pointer }
.sp-rchai { margin:10px 0 }
