:root{--logo-size: 42px;--primary: #676af0;--primary-2: #7f83f6;--text: #1a1a24;--text-muted: #6b7280;--bg: #f3f4f6;--card: #ffffff;--border: #e5e7eb;--error: #dc2626;--radius: 18px;--font: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased}.page{max-width:480px;margin:0 auto;min-height:100vh;padding-bottom:32px}.hidden{display:none!important}.hero{background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff;padding:calc(env(safe-area-inset-top) + 18px) 24px 40px;text-align:center;border-bottom-left-radius:24px;border-bottom-right-radius:24px}.church-logo{width:var(--logo-size);height:var(--logo-size);margin:0 auto 8px;border-radius:12px;background-color:#ffffff2e;background-size:cover;background-position:center}.church-logo.no-logo{display:none}.church-name{margin:0 0 3px;font-size:21px;font-weight:700;opacity:.95}.greeting{margin:0 0 6px;font-size:14px;font-weight:500;opacity:.85}.hero-title{margin:0 0 8px;font-size:15px;font-weight:300;letter-spacing:.5px}.amount-display{font-weight:600}.amount-symbol{font-size:17px;vertical-align:top;opacity:.85}.amount-value{font-size:36px}.hero.hero-compact{padding:calc(env(safe-area-inset-top) + 14px) 20px 40px;text-align:left;border-bottom-left-radius:20px;border-bottom-right-radius:20px}.hero.hero-compact .hero-inner{display:flex;align-items:center;gap:11px}.hero.hero-compact .hero-titles{min-width:0;overflow:hidden}.hero.hero-compact .church-name,.hero.hero-compact .greeting{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hero.hero-compact .greeting{margin:2px 0 0}.hero.hero-compact .church-logo{margin:0;flex:none}.hero.hero-compact .church-name{margin:0}.summary-bar{display:flex;align-items:center;gap:10px;width:100%;margin:0 0 16px;padding:11px 13px;font:inherit;color:var(--text);text-align:left;background:var(--summary-bg, rgba(99, 102, 241, .06));border:1px solid var(--summary-border, rgba(99, 102, 241, .22));border-radius:14px;cursor:pointer;-webkit-tap-highlight-color:transparent}.summary-bar:hover{background:var(--summary-bg-hover, rgba(99, 102, 241, .11))}.summary-bar:active{transform:scale(.995)}.summary-bar:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.summary-back{font-size:19px;line-height:1;color:var(--primary);flex:none}.summary-detail{flex:1;min-width:0}.summary-top{display:flex;align-items:baseline;gap:7px;flex-wrap:wrap}.summary-amount{font-size:16px;font-weight:700;letter-spacing:-.01em}.summary-meta{display:block;margin-top:1px;font-size:11.5px;line-height:1.45;color:var(--text-muted)}.summary-change{font-size:13px;font-weight:600;color:var(--primary);flex:none}.card{background:var(--card);margin:-32px 16px 0;border-radius:var(--radius);padding:20px;box-shadow:0 10px 30px #00000014}.state{text-align:center;color:var(--text-muted)}.landing .card{margin-top:16px}.landing-hero{padding:calc(env(safe-area-inset-top) + 16px) 16px 0}.landing-poster{width:100%;max-height:340px;object-fit:cover;border-radius:16px;display:block}.landing-church{margin:0 0 4px;font-size:12.5px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.landing-title{margin:0 0 10px;font-size:24px;font-weight:700;letter-spacing:-.01em;line-height:1.2;color:var(--text)}.landing-meta{display:flex;align-items:flex-start;gap:8px;margin:7px 0 0;font-size:14.5px;line-height:1.45;color:var(--text)}.landing-meta svg{flex:none;margin-top:3px;color:var(--text-muted)}.landing-meta a{color:var(--primary);text-decoration:none;font-weight:500}.landing-meta a:hover{text-decoration:underline}.landing-desc{margin:12px 0 0;font-size:14.5px;line-height:1.55;color:var(--text);white-space:pre-line}.landing-desc-rich{white-space:normal}.landing-desc-rich p{margin:0 0 10px}.landing-desc-rich p:last-child{margin-bottom:0}.landing-desc-rich p:empty{display:none}.landing-desc-rich ul,.landing-desc-rich ol{margin:0 0 10px;padding-left:22px}.landing-desc-rich blockquote{margin:0 0 10px;padding-left:12px;border-left:3px solid var(--border);color:var(--text-muted)}.landing-desc-rich h1,.landing-desc-rich h2,.landing-desc-rich h3,.landing-desc-rich h4,.landing-desc-rich h5,.landing-desc-rich h6{margin:0 0 8px;font-size:16px}.landing-desc-rich a{color:var(--primary)}.share-btn{display:inline-flex;align-items:center;gap:7px;margin-top:14px;padding:9px 14px;border:1px solid var(--border);border-radius:12px;background:transparent;color:var(--text);font-size:13.5px;font-weight:600;cursor:pointer}.share-btn:hover{border-color:var(--primary);color:var(--primary)}.event-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-start}.event-actions .share-btn{margin-top:14px}.cal-wrap{position:relative;display:inline-block}.cal-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:20;min-width:190px;display:flex;flex-direction:column;padding:6px;background:var(--card, #fff);border:1px solid var(--border);border-radius:12px;box-shadow:0 8px 24px #1118271f}.cal-menu a,.cal-menu button{display:block;width:100%;text-align:left;padding:9px 10px;border:0;border-radius:8px;background:transparent;color:var(--text);font-size:13.5px;font-weight:500;text-decoration:none;cursor:pointer}.cal-menu a:hover,.cal-menu button:hover{background:var(--bg);color:var(--primary)}.store-badge{display:inline-block;padding:10px 20px;border-radius:10px;background:var(--text);color:var(--card);text-decoration:none;font-size:13.5px;font-weight:600}.landing-footer{margin:22px 16px 0;text-align:center;font-size:13px;color:var(--text-muted)}.landing-footer a{color:var(--primary);font-weight:600;text-decoration:none}.field{display:block;border:0;padding:0;margin:0 0 18px}fieldset.field{min-width:0}.field-label{display:block;font-size:13px;font-weight:600;color:var(--text-muted);margin-bottom:8px}.field-hint{display:block;font-size:12px;color:var(--text-muted);margin-top:6px}.field-hint.error{color:var(--error)}.field-hint.notice{color:var(--primary);font-weight:500}.amount-input-wrap{display:flex;align-items:center;border:1px solid var(--border);border-radius:12px;padding:0 14px}.amount-input-symbol{font-size:20px;color:var(--text-muted);margin-right:6px}.amount-input{flex:1;border:0;outline:0;font-size:24px;font-weight:600;padding:14px 0;background:transparent;color:var(--text);width:100%}.text-input{width:100%;border:1px solid var(--border);border-radius:12px;padding:12px 14px;font-size:16px;outline:0}.text-input:focus,.amount-input-wrap:focus-within{border-color:var(--primary)}.segmented{display:flex;gap:8px}.seg{flex:1;padding:12px 0;border:1px solid var(--border);border-radius:12px;background:#fff;font-size:15px;font-weight:600;color:var(--text-muted);cursor:pointer}.seg.active{background:#6366f11a;border-color:var(--primary);color:var(--primary)}.cover-fee{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px;background:#f8f8fc;border-radius:12px;margin-bottom:18px}.cover-fee-text{display:block;flex:1;min-width:0}.cover-fee-title{display:block;font-size:15px;font-weight:600}.cover-fee-sub{display:block;font-size:13px;color:var(--text-muted);margin-top:2px;line-height:1.4}.switch{flex:0 0 auto;width:50px;height:30px;border-radius:999px;border:0;padding:0;position:relative;background:#d1d5db;cursor:pointer;transition:background .2s ease}.switch.on{background:var(--primary)}.switch-knob{position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000040;transition:transform .2s ease}.switch.on .switch-knob{transform:translate(20px)}.give-button{width:100%;padding:16px;border:0;border-radius:14px;background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff;font-size:17px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px}.give-button:disabled{opacity:.5;cursor:default}.secure-note{text-align:center;font-size:12px;color:var(--text-muted);margin:14px 0 0}.error-title{font-size:17px;font-weight:700;margin:0 0 8px}.error-body{font-size:14px;color:var(--text-muted);margin:0;line-height:1.5}.spinner,.button-spinner{width:22px;height:22px;border-radius:50%;border:3px solid rgba(0,0,0,.12);border-top-color:var(--primary);animation:spin .8s linear infinite;margin:8px auto}.button-spinner{width:18px;height:18px;border-color:#fff6;border-top-color:#fff;margin:0}@keyframes spin{to{transform:rotate(360deg)}}.result{text-align:center;padding:40px 24px 48px;max-width:480px;margin:0 auto}.result-icon{width:72px;height:72px;border-radius:50%;margin:0 auto 20px;display:flex;align-items:center;justify-content:center;font-size:38px}.result-icon.success{background:#ecfdf5}.result-icon.cancel{background:#f3f4f6}.result h1{font-size:24px;margin:0 0 10px}.where-card{margin:24px auto 0;max-width:320px;padding:16px 18px;text-align:left;background:var(--card);border:1px solid var(--border);border-radius:14px}.where-title{margin:0 0 10px;font-size:13px;font-weight:600;color:var(--text)}.where-steps{margin:0;padding-left:20px;color:var(--text-muted);font-size:14px;line-height:1.75}.where-steps li::marker{color:var(--primary);font-weight:600}.result p{color:var(--text-muted);line-height:1.5}@media(min-width:768px){.page{max-width:560px;padding-top:40px;padding-bottom:56px}.card{margin-left:0;margin-right:0;padding:26px}.landing-hero{padding:0 0 2px}.landing-title{font-size:27px}.landing-poster{max-height:400px}.landing-footer{margin-top:20px}.result{max-width:560px;padding-top:64px}}@media(min-width:1100px){.page{padding-top:56px}}.attach-heading{margin:0 0 10px;font-size:12.5px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.attach-list{display:flex;flex-direction:column;gap:10px}.attach-item{display:block;text-decoration:none;color:inherit}.attach-image{max-width:100%;width:auto;max-height:480px;object-fit:contain;border-radius:12px;display:block;margin:0 auto;background:var(--bg)}.attach-row{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid var(--border);border-radius:12px;font-size:15px;font-weight:500}.attach-row svg{flex:none;color:var(--primary)}.attach-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attach-item:hover .attach-row{border-color:var(--primary)}.attach-video{position:relative;width:100%;aspect-ratio:16 / 9;border-radius:12px;overflow:hidden;background:#000}.attach-video iframe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0;display:block}.attach-caption{display:block;margin-top:6px;font-size:13.5px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.landing-meta-yourtime{margin-top:2px;color:var(--primary);font-weight:500}.landing-meta-yourtime>span:first-child{width:15px;flex:none}.landing-topbar{display:flex;justify-content:flex-end;padding:calc(env(safe-area-inset-top) + 10px) 16px 0}.get-app-pill{display:inline-block;padding:7px 14px;border:1px solid var(--border);border-radius:999px;background:var(--card);color:var(--text);font-size:13px;font-weight:600;text-decoration:none;box-shadow:0 1px 2px #1118270d}.get-app-pill:hover{border-color:var(--primary);color:var(--primary)}.landing-topbar+.landing-hero{padding-top:10px}
