:root{--primary: #e91e8c;--primary-dark: #c2407e;--primary-light: #ff69b4;--accent-gold: #f9ca24;--accent-purple: #6c5ce7;--accent-teal: #00cec9;--warm-white: #fff0f5;--dark-bg: #1a0a1a;--dark-surface: rgba(255, 255, 255, .06);--glass-bg: rgba(255, 255, 255, .85);--glass-border: rgba(255, 255, 255, .5);--text-dark: #1a0e2e;--text-muted: #5a4d6e;--glow-primary: rgba(233, 30, 140, .5);--glow-gold: rgba(249, 202, 36, .4);--glow-purple: rgba(108, 92, 231, .4);--font-cursive: "Dancing Script", cursive;--radius-lg: 24px;--radius-xl: 32px;--font-display: "DM Serif Display", Georgia, serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-handwritten: "Caveat", cursive}html{margin:0;padding:0;overflow:hidden;height:100vh;height:100dvh;width:100vw;width:100dvw}body{margin:0;padding:0;font-family:var(--font-body);background:linear-gradient(135deg,#1a0a1a,#2d0a2d 40%,#1a0a1a);text-align:center;color:#ffffffe0;scroll-behavior:smooth;overflow:hidden;height:100vh;height:100dvh;width:100vw;width:100dvw;position:fixed;animation:fadeIn .8s ease-out forwards;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;touch-action:pan-y}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 80% 60% at 20% 30%,rgba(233,30,140,.05),transparent),radial-gradient(ellipse 60% 50% at 80% 70%,rgba(194,64,126,.04),transparent),radial-gradient(ellipse 50% 40% at 50% 50%,rgba(255,105,180,.02),transparent);pointer-events:none;z-index:0;animation:meshFloat 20s ease-in-out infinite alternate}@keyframes meshFloat{0%{background:radial-gradient(ellipse 80% 60% at 20% 30%,rgba(233,30,140,.05),transparent),radial-gradient(ellipse 60% 50% at 80% 70%,rgba(194,64,126,.04),transparent),radial-gradient(ellipse 50% 40% at 50% 50%,rgba(255,105,180,.02),transparent)}to{background:radial-gradient(ellipse 70% 50% at 70% 60%,rgba(233,30,140,.05),transparent),radial-gradient(ellipse 80% 60% at 20% 30%,rgba(194,64,126,.04),transparent),radial-gradient(ellipse 60% 50% at 60% 20%,rgba(255,105,180,.02),transparent)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}#root{width:100vw;width:100dvw;height:100vh;height:100dvh;overflow:hidden;margin:0;padding:0}.sender{width:100%;max-width:820px;margin:auto;padding:12px 16px 20px;display:flex;flex-direction:column;align-items:center;gap:16px;position:relative;z-index:10;box-sizing:border-box}.sender-form{width:100%;display:flex;flex-direction:column;align-items:center;gap:16px}.sender-card{width:100%;max-width:100%;background:#fffffff2;border:1px solid rgba(255,255,255,.7);box-shadow:0 20px 50px #7044502e;border-radius:28px;padding:28px 22px 24px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:relative;z-index:10;box-sizing:border-box}.sender-header{text-align:center;margin-bottom:20px}.sender-error{background:#ff3b301a;border:1px solid rgba(255,59,48,.3);border-radius:12px;padding:12px 16px;margin-bottom:20px}.sender-error p{color:#ff3b30;font-size:.9rem;margin:0;text-align:center}.sender-title{font-family:var(--font-display, "DM Serif Display", Georgia, serif);font-size:clamp(1.6rem,4.6vw,2.2rem);color:var(--text-dark, #1a0e2e);margin:0 0 6px;font-weight:400}.sender-subtitle{margin:0;color:#7a4a5abf;font-size:1rem}.sender-counter{position:absolute;top:18px;right:22px;background:#ffffffd9;border-radius:999px;padding:6px 12px;font-weight:600;color:#7a4a5a;box-shadow:0 8px 20px #70445033}.sender-input{width:100%;height:58px;border-radius:18px;border:1px solid rgba(196,150,140,.5);padding:0 18px;font-size:1rem;background:#ffffffd9;color:#6b4b51;outline:none;box-shadow:inset 0 2px 6px #7a4a5a14}.sender-date-selectors{display:flex;gap:12px;width:100%}.sender-select{flex:1;height:58px;border-radius:18px;border:1px solid rgba(196,150,140,.5);padding:0 40px 0 18px;font-size:1rem;background:#ffffffd9;color:#6b4b51;outline:none;box-shadow:inset 0 2px 6px #7a4a5a14;cursor:pointer;font-family:inherit;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b4b51' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 18px center}.sender-select:hover{border-color:#c4968cb3}.sender-select:focus{border-color:#c2407e;box-shadow:inset 0 2px 6px #7a4a5a14,0 0 0 3px #c2407e1a}.sender-date-input{font-family:inherit;cursor:pointer;color:#6b4b51;display:flex;align-items:center}.sender-date-input::-webkit-calendar-picker-indicator{cursor:pointer;filter:opacity(.6);width:20px;height:20px}.sender-date-input{font-family:inherit;cursor:pointer;color:#6b4b51}.sender-date-input::-webkit-calendar-picker-indicator{cursor:pointer;filter:opacity(.6)}.sender-input::placeholder{color:#7a4a5a99}.sender-options{display:flex;flex-direction:column;gap:14px}.sender-options-bond{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.sender-options-vibe{display:grid;grid-template-columns:1fr;gap:16px}.sender-options-friend{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.sender-option{width:100%;display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:18px;border:1px solid rgba(196,150,140,.45);background:#fffffff2;color:#8c5b60;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,border .2s ease}.sender-option:hover{transform:translateY(-2px);box-shadow:0 14px 26px #70445026}.sender-option.selected{border-color:#c2407e;background:linear-gradient(135deg,#fff0f5,#fff);box-shadow:0 8px 20px #c2407e40}.sender-option-swatch{width:44px;height:44px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:#ffffffe6;border:1px solid rgba(196,150,140,.4);font-size:1.2rem}.sender-options-vibe .sender-option{justify-content:center;font-size:1.1rem;padding:18px 20px;gap:10px}.sender-options-friend .sender-option{flex-direction:column;gap:10px;padding:16px 10px;text-align:center}.sender-options-friend .sender-option-swatch{width:68px;height:68px;border-radius:18px;font-size:1.4rem}.sender-option-label{flex:1;text-align:left}.sender-options-friend .sender-option-label{text-align:center}.sender-next{width:100%;max-width:320px;border:none;border-radius:16px;padding:16px 28px;font-size:1.1rem;font-weight:700;color:#fff;background:linear-gradient(135deg,#c2407e,#e88aab);box-shadow:0 10px 25px #c2407e59;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1)}.sender-next:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.sender-next:not(:disabled):hover{transform:translateY(-3px);box-shadow:0 15px 35px #c2407e73}@media (max-width: 600px){.sender-card{padding:22px 18px 20px}.sender-option{padding:12px 14px;font-size:.95rem}.sender-option-swatch{width:40px;height:40px;font-size:1.1rem}.sender-options-friend{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.sender-options-friend .sender-option{padding:12px 6px}.sender-options-friend .sender-option-swatch{width:52px;height:52px;font-size:1.2rem}}@media (max-width: 420px){.sender-card{padding:20px 16px 18px}.sender-options-bond,.sender-options-friend{grid-template-columns:1fr}.sender-options-friend .sender-option{flex-direction:row;justify-content:flex-start;padding:12px 14px}.sender-options-friend .sender-option-swatch{width:44px;height:44px;font-size:1.1rem}.sender-options-friend .sender-option-label{text-align:left}}.sender-preview{width:100%;max-width:700px;display:flex;flex-direction:column;align-items:center;gap:24px;padding:20px}.preview-title{font-size:clamp(1.8rem,5vw,2.5rem);color:#c2407e;text-align:center;margin:0;font-weight:800}.preview-card{width:100%;background:#fffffff2;border-radius:20px;padding:30px;box-shadow:0 15px 40px #0000001a;border:2px solid #c2407e;position:relative;z-index:10}.preview-name{font-size:2rem;color:#c2407e;text-align:center;margin:0 0 20px;font-weight:700}.preview-details{display:flex;flex-direction:column;gap:15px}.preview-item{display:flex;justify-content:space-between;padding:12px;background:#c2407e0d;border-radius:10px}.preview-label{font-weight:600;color:#7a4a5a}.preview-value{color:#333;text-align:right}.share-section{width:100%;display:flex;flex-direction:column;gap:12px;align-items:center}.share-instruction{font-size:1.2rem;color:#7a4a5a;font-weight:600;margin:0}.share-link-box{width:100%;display:flex;gap:10px}.share-link-input{flex:1;padding:14px 18px;border:2px solid #c2407e;border-radius:12px;font-size:.95rem;background:#fffffff2;color:#333}.copy-link-btn{padding:14px 28px;background:linear-gradient(135deg,#c2407e,#e88aab);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 8px 20px #c2407e4d}.copy-link-btn:hover{transform:translateY(-2px);box-shadow:0 12px 30px #c2407e66}@media (max-width: 600px){.preview-card{padding:20px}.preview-name{font-size:1.6rem}.share-link-box{flex-direction:column}.copy-link-btn{width:100%}}.sender-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:1rem}.spinner{width:40px;height:40px;border:4px solid rgba(194,64,126,.2);border-top-color:#c2407e;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.sender-loading p{color:#7a4a5a;font-size:1rem;font-weight:600}.sender.sender-preview-mode{padding-top:max(24px,env(safe-area-inset-top,24px));gap:8px}.sender-preview-screen{width:100%;max-width:600px;margin:0 auto;padding:10px 16px 20px;position:relative;z-index:10}.sender-back-btn{position:fixed;top:20px;left:20px;background:#fffffff2;border:1px solid rgba(196,150,140,.5);color:#7a4a5a;font-size:1rem;font-weight:600;cursor:pointer;padding:10px 20px;border-radius:12px;transition:all .3s ease;box-shadow:0 4px 12px #70445026;z-index:100}.sender-back-btn:hover{color:#c2407e;border-color:#c2407e;transform:translateY(-2px);box-shadow:0 6px 16px #c2407e40}@media (max-width: 600px){.sender-back-btn,.sender-back-inline{top:12px;left:12px;padding:8px 16px;font-size:.9rem}}.sender-preview-header{text-align:center;margin-bottom:10px}.sender-preview-topbar{display:flex;align-items:center;justify-content:center;width:100%;margin-bottom:2px}.sender-back-inline{position:fixed;top:20px;left:20px;display:inline-flex;align-items:center;gap:4px;background:#fffffff2;border:1px solid rgba(196,150,140,.5);color:#7a4a5a;font-size:1rem;font-weight:600;cursor:pointer;padding:10px 20px;border-radius:12px;transition:all .3s ease;font-family:inherit;box-shadow:0 4px 12px #70445026;z-index:100}.sender-back-inline .back-arrow{font-size:1.1em;line-height:1;margin-top:-1px}.sender-back-inline:hover{color:#c2407e;border-color:#c2407e;transform:translateY(-2px);box-shadow:0 6px 16px #c2407e40}.preview-screen-title{font-size:1.5rem;color:#ffffffeb;margin:0;font-weight:700}.preview-screen-subtitle{color:#fff6;font-size:.9rem;margin:2px 0 0}.preview-actions{margin-top:16px}.register-btn{width:100%;padding:18px 30px;font-size:1.2rem;font-weight:700;background:linear-gradient(135deg,#c2407e,#a83569);color:#fff;border:none;border-radius:60px;cursor:pointer;transition:all .3s ease;box-shadow:0 10px 25px #c2407e4d}.register-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 15px 35px #c2407e66}.register-btn:disabled{opacity:.6;cursor:not-allowed}.share-box{display:flex;flex-direction:column;background:#fffffff2;border-radius:16px;padding:18px;box-shadow:0 10px 30px #0000001a}.share-label{font-size:1rem;font-weight:700;color:#7a4a5a;margin:0 0 10px;text-align:center}.share-row{display:flex;gap:10px;margin-bottom:15px;align-items:center}.share-url{flex:1;padding:12px 16px;border:2px solid #e0e0e0;border-radius:12px;font-size:.95rem;color:#666;background:#f9f9f9;word-break:break-all;font-family:monospace}.price-note{font-size:.9rem;color:#ffffff80;text-align:center;margin:0 0 15px;font-weight:500}.copy-btn{padding:12px 24px;background:linear-gradient(135deg,#c2407e,#a83569);color:#fff;border:none;border-radius:12px;font-weight:600;cursor:pointer;transition:all .3s ease;white-space:nowrap}.copy-btn:hover{transform:translateY(-2px);box-shadow:0 5px 15px #c2407e4d}.copy-btn.copied{background:linear-gradient(135deg,#4caf50,#45a049)}.make-another-btn{width:100%;padding:14px 24px;background:#fff;color:#7a4a5a;border:2px solid #7a4a5a;border-radius:12px;font-weight:600;cursor:pointer;transition:all .3s ease}.make-another-btn:hover{background:#7a4a5a;color:#fff}@media (max-width: 480px){.sender.sender-preview-mode{padding:max(20px,env(safe-area-inset-top,20px)) 8px 16px}.sender-preview-screen{padding:6px 10px 16px}.sender-preview-header{margin-bottom:6px}.preview-screen-title{font-size:1.25rem;margin:0 0 2px}.preview-screen-subtitle{font-size:.8rem}.preview-actions{margin-top:10px}.share-row{flex-direction:column}.copy-btn{width:100%}.share-box{padding:14px;border-radius:14px}.register-btn{font-size:1.05rem;padding:14px 24px}}@media (max-width: 380px){.sender-preview-mode .pd-wrapper{transform:scale(.85);transform-origin:top center}.sender.sender-preview-mode{gap:4px}.sender-preview-screen{padding:4px 8px 12px}.preview-screen-title{font-size:1.1rem}.register-btn{font-size:.95rem;padding:12px 20px}}.customize-card{padding:28px 22px 30px}.customize-table{display:flex;flex-direction:column}.customize-row{display:flex;align-items:center;padding:16px 0}.customize-row+.customize-row{border-top:1px solid rgba(196,150,140,.15)}.customize-label{width:64px;flex-shrink:0;font-size:.92rem;font-weight:700;color:#6b3d50}.customize-mid{flex:1;min-width:0;display:flex;align-items:center;justify-content:center;gap:14px}.customize-mid-text-only{gap:8px}.customize-img{width:64px;height:64px;border-radius:14px;object-fit:cover;flex-shrink:0}.customize-text{font-size:.88rem;font-weight:400;color:#5a354599;line-height:1.4;min-width:0}.customize-vibe-emoji{font-size:1.3rem;flex-shrink:0}.customize-change-btn{flex-shrink:0;margin-left:auto;padding:6px 16px;border-radius:20px;border:none;background:#c2407e14;color:#c2407e;font-size:.82rem;font-weight:700;cursor:pointer;transition:background .2s ease;font-family:inherit;white-space:nowrap}.customize-change-btn:hover{background:#c2407e26}@media (max-width: 600px){.customize-card{padding:22px 18px 26px}.customize-row{padding:14px 0}.customize-label{width:56px;font-size:.88rem}.customize-mid{gap:12px}.customize-text{font-size:.84rem}.customize-img{width:56px;height:56px;border-radius:12px}.customize-change-btn{padding:5px 14px;font-size:.8rem}}@media (max-width: 420px){.customize-card{padding:20px 16px 22px}.customize-row{padding:12px 0}.customize-label{width:50px;font-size:.85rem}.customize-mid{gap:10px}.customize-text{font-size:.82rem}.customize-img{width:48px;height:48px;border-radius:10px}.customize-change-btn{padding:5px 12px;font-size:.78rem}}.sender-textarea{width:100%;min-height:220px;border-radius:18px;border:1px solid rgba(196,150,140,.5);padding:16px 18px;font-size:.95rem;font-family:inherit;background:#ffffffd9;color:#6b4b51;outline:none;box-shadow:inset 0 2px 6px #7a4a5a14;resize:vertical;line-height:1.6;box-sizing:border-box}.sender-textarea:focus{border-color:#c2407e;box-shadow:inset 0 2px 6px #7a4a5a14,0 0 0 3px #c2407e1a}.sender-textarea::placeholder{color:#7a4a5a99}.sender-textarea-counter{text-align:right;font-size:.8rem;color:#5a354580;margin-top:6px}.customize-letter-preview{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:160px}.upi-picker-card{width:100%;max-width:420px;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 2px 12px #00000014;position:relative}.upi-picker-header{display:flex;align-items:center;gap:8px;padding:6px 16px 5px;border-bottom:1px solid rgba(0,0,0,.08)}.upi-picker-back{background:none;border:none;font-size:20px;cursor:pointer;padding:2px 6px;color:#111;line-height:1}.upi-picker-title{font-size:15px;font-weight:700;color:#111}.upi-picker-section{padding:0;border-bottom:1px solid rgba(0,0,0,.06)}.upi-picker-section:last-of-type{border-bottom:none}.upi-picker-section-header{display:flex;align-items:center;gap:8px;padding:10px 20px 6px;background:#f8f8f8}.upi-picker-section-label{font-size:12px;font-weight:600;color:#888;text-transform:uppercase;letter-spacing:.3px}.upi-picker-list{display:flex;flex-direction:column}.upi-picker-row{display:flex;align-items:center;gap:12px;padding:10px 20px;background:none;border:none;border-bottom:1px solid rgba(0,0,0,.06);cursor:pointer;text-align:left;width:100%;transition:background .15s}.upi-picker-row:hover{background:#00000008}.upi-picker-row:disabled{opacity:.5;cursor:not-allowed}.upi-picker-row:last-child,.upi-picker-list>button.upi-picker-row:last-of-type{border-bottom:none}.upi-picker-icon{width:44px;height:44px;display:flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:50%;overflow:hidden;background:#f5f5f5}.upi-picker-app-info{flex:1;display:flex;flex-direction:column;gap:2px}.upi-picker-app-name{flex:1;font-size:14px;font-weight:500;color:#111}.upi-picker-app-sub{font-size:11px;color:#888;font-weight:400}.upi-picker-chevron{font-size:26px;color:#bbb;line-height:1}.upi-picker-other-section{padding:4px 0 0}.upi-picker-other-row{display:flex;align-items:center;gap:12px;padding:10px 20px;background:none;border:none;cursor:pointer;text-align:left;width:100%;transition:background .15s}.upi-picker-other-row:hover{background:#00000008}.upi-picker-other-row:disabled{opacity:.5;cursor:not-allowed}.upi-picker-micro-section{padding:8px 20px 10px;border-top:1px solid rgba(0,0,0,.06)}.upi-picker-micro-label{font-size:11px;font-weight:600;color:#888;text-transform:uppercase;letter-spacing:.3px;display:block;margin-bottom:8px}.upi-picker-micro-row{display:flex;align-items:center;gap:16px}.upi-picker-micro-btn{display:flex;flex-direction:column;align-items:center;gap:4px;background:none;border:none;cursor:pointer;padding:6px 4px;border-radius:8px;transition:background .15s;min-width:56px}.upi-picker-micro-btn:hover{background:#0000000a}.upi-picker-micro-btn:disabled{opacity:.5;cursor:not-allowed}.upi-picker-micro-name{font-size:11px;color:#555;font-weight:500;white-space:nowrap}.upi-picker-other-icon{width:48px;height:auto;object-fit:contain;flex-shrink:0}.upi-picker-other-label{flex:1;font-size:16px;font-weight:500;color:#111}.upi-picker-trust{font-size:13px;font-weight:600;color:#e8621a;text-align:left;padding:4px 20px 16px 82px}.upi-collect-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:#f0f0f0;font-size:20px;color:#333;flex-shrink:0}.upi-collect-card{background:#fff;border-radius:16px;box-shadow:0 2px 16px #00000014;overflow:hidden;max-width:440px;margin:0 auto;width:100%}.upi-collect-header{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid #f0f0f0}.upi-collect-amount{padding:12px 20px 0;font-size:14px;color:#888;margin:0}.upi-collect-input-wrapper{padding:20px}.upi-collect-input{width:100%;padding:14px 16px;font-size:16px;border:none;border-radius:8px;background:#f0f0f0;outline:none;box-sizing:border-box;color:#333}.upi-collect-input::placeholder{color:#999}.upi-collect-input:focus{background:#e8e8e8}.upi-collect-input-error{border:1px solid #e74c3c}.upi-collect-vpa-error{color:#e74c3c;font-size:13px;margin:8px 0 0;padding:0}.upi-collect-pay-btn{display:block;width:calc(100% - 40px);margin:0 20px 20px;padding:14px;font-size:16px;font-weight:600;color:#fff;background:#4285f4;border:none;border-radius:8px;cursor:pointer;transition:background .2s}.upi-collect-pay-btn:hover:not(:disabled){background:#3367d6}.upi-collect-pay-btn:disabled{opacity:.5;cursor:not-allowed}.upi-collect-polling-card{background:#fff;border-radius:16px;box-shadow:0 2px 16px #00000014;max-width:440px;margin:0 auto;width:100%;padding:40px 24px;text-align:center}.upi-collect-polling-icon{margin-bottom:24px}.upi-collect-polling-title{font-size:18px;font-weight:600;color:#333;margin:0 0 12px}.upi-collect-polling-subtitle{font-size:14px;color:#666;margin:0 0 8px;line-height:1.5}.upi-collect-polling-amount{font-size:14px;color:#888;margin:0 0 24px}.upi-collect-cancel-btn{padding:12px 28px;background:#c2407e;border:none;border-radius:12px;color:#fff;font-size:15px;font-weight:600;cursor:pointer;transition:background .2s;box-shadow:0 2px 8px #c2407e4d}.upi-collect-cancel-btn:hover{background:#a83569}.sorry-messages-form{display:flex;flex-direction:column;gap:16px}.sorry-message-group{display:flex;flex-direction:column;gap:6px}.sorry-message-label{font-size:.88rem;font-weight:700;color:#6b3d50}.sorry-message-input{width:100%;border-radius:14px;border:1px solid rgba(196,150,140,.5);padding:12px 16px;font-size:.92rem;font-family:inherit;background:#ffffffd9;color:#6b4b51;outline:none;box-shadow:inset 0 2px 6px #7a4a5a14;resize:vertical;line-height:1.5;box-sizing:border-box}.sorry-message-input:focus{border-color:#c2407e;box-shadow:inset 0 2px 6px #7a4a5a14,0 0 0 3px #c2407e1a}.sorry-note-input{min-height:120px}.sorry-preview-mini{background:#1a0a1af2;border-radius:20px;padding:24px 20px;margin:10px 0;border:1px solid rgba(194,64,126,.2)}.sorry-preview-stage{text-align:center;padding:10px 0}.sorry-preview-emoji{font-size:2.5rem;margin-bottom:8px}.sorry-preview-text{font-family:Dancing Script,cursive;font-size:1.4rem;color:#ffffffe6;margin:0}.sorry-preview-sub{font-size:.85rem;color:#ffffff80;margin:4px 0 0}.sorry-preview-divider{height:1px;background:linear-gradient(90deg,transparent,rgba(194,64,126,.3),transparent);margin:12px 0}.sorry-preview-meter-label{font-family:Dancing Script,cursive;font-size:1.2rem;color:#ffffffe6;margin:0 0 8px}.sorry-preview-meter{width:100%;height:8px;background:#ffffff1a;border-radius:4px;overflow:hidden}.sorry-preview-meter-fill{width:100%;height:100%;background:linear-gradient(90deg,#e91e8c,#ff69b4);border-radius:4px;box-shadow:0 0 12px #e91e8c99}.sorry-preview-warning{font-size:.75rem;color:#ff69b4;margin:8px 0 0;font-weight:700;letter-spacing:.5px}.sorry-preview-cards-label{font-size:.9rem;color:#fff9;margin:0}.qr-share-card{margin:16px 0;text-align:center}.qr-share-card__loading{display:flex;flex-direction:column;align-items:center;gap:10px;padding:30px 0;color:#7a4a5a;font-size:.9rem}.qr-share-card__spinner{width:32px;height:32px;border:3px solid rgba(232,67,147,.2);border-top-color:#e84393;border-radius:50%;animation:qr-spin .8s linear infinite}@keyframes qr-spin{to{transform:rotate(360deg)}}.qr-share-card__preview{display:flex;justify-content:center;margin-bottom:14px}.qr-share-card__image{width:100%;max-width:280px;height:auto;border-radius:16px;box-shadow:0 8px 30px #e8439326;border:1px solid rgba(232,67,147,.1)}.qr-share-card__actions{display:flex;gap:10px;justify-content:center}.qr-share-card__btn{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;border-radius:12px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease;border:none;font-family:inherit}.qr-share-card__btn--share{background:linear-gradient(135deg,#25d366,#128c7e);color:#fff;box-shadow:0 6px 18px #25d3664d}.qr-share-card__btn--share:hover{transform:translateY(-2px);box-shadow:0 10px 25px #25d36666}.qr-share-card__btn--download{background:linear-gradient(135deg,#c2407e,#a83569);color:#fff;box-shadow:0 6px 18px #c2407e4d}.qr-share-card__btn--download:hover{transform:translateY(-2px);box-shadow:0 10px 25px #c2407e66}.qr-share-card__btn--copy{background:linear-gradient(135deg,#6c5ce7,#a29bfe);color:#fff;box-shadow:0 6px 18px #6c5ce74d}.qr-share-card__btn--copy:hover{transform:translateY(-2px);box-shadow:0 10px 25px #6c5ce766}.qr-share-card__btn--browser{background:linear-gradient(135deg,#e17055,#d63031);color:#fff;box-shadow:0 6px 18px #d630314d}.qr-share-card__btn--browser:hover{transform:translateY(-2px);box-shadow:0 10px 25px #d6303166}.qr-share-card__hint{font-size:.85rem;color:#a06060;margin:10px 0 12px;font-weight:500;line-height:1.4}@media (max-width: 480px){.qr-share-card__image{max-width:240px}.qr-share-card__actions{flex-direction:column;align-items:center}.qr-share-card__btn{width:100%;max-width:280px;justify-content:center;padding:14px 24px}}.spd-wrapper{display:flex;justify-content:center;padding:4px 0 8px}.spd-phone{width:260px;height:480px;border-radius:32px;border:3px solid #2a2a2a;background:linear-gradient(135deg,#1a0a1a,#2d0a2d 40%,#1a0a1a);overflow:hidden;position:relative;box-shadow:0 20px 50px #0000004d,0 0 0 1px #ffffff14 inset;transition:opacity .4s ease}.spd-phone.spd-fading{opacity:.3}.spd-notch{position:absolute;top:0;left:50%;transform:translate(-50%);width:90px;height:22px;background:#2a2a2a;border-radius:0 0 14px 14px;z-index:20}.spd-home-bar{position:absolute;bottom:6px;left:50%;transform:translate(-50%);width:80px;height:4px;background:#ffffff26;border-radius:4px;z-index:20}.spd-screen{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 14px 20px;animation:spd-screen-in .35s ease;overflow:hidden}@keyframes spd-screen-in{0%{opacity:0;transform:translate(18px)}to{opacity:1;transform:translate(0)}}.spd-btn{padding:8px 18px;color:#fff;border-radius:22px;font-size:.65rem;font-weight:700;text-align:center;white-space:nowrap;flex-shrink:0;animation:spd-btn-appear .35s ease}.spd-btn-pink{background:linear-gradient(135deg,#e91e8c,#ff69b4);box-shadow:0 4px 12px #e91e8c4d}.spd-btn-clicking{animation:spd-btn-click 1s ease both}@keyframes spd-btn-appear{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes spd-btn-click{0%{opacity:0;transform:translateY(4px) scale(.96)}22%{opacity:1;transform:translateY(0) scale(1)}52%{transform:scale(1)}65%{transform:scale(.9);box-shadow:0 2px 6px #e91e8c33}78%{transform:scale(1.03)}to{transform:scale(1)}}.spd-cursor{position:absolute;width:16px;height:22px;z-index:100;pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17' height='24' viewBox='0 0 17 24'%3E%3Cpath d='M0 0 L0 20 L4.5 15.5 L8 23 L11 21.5 L7.5 14 L13 14 Z' fill='white' stroke='black' stroke-width='1.2' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center / contain;filter:drop-shadow(0 1px 3px rgba(0,0,0,.35));opacity:0;transition:left .45s cubic-bezier(.4,0,.2,1),top .45s cubic-bezier(.4,0,.2,1),opacity .3s ease;transform:translate(-2px,-2px)}.spd-cursor.spd-cursor-on{opacity:1}.spd-cursor.spd-cursor-pressing{animation:spd-cursor-press .6s ease both}@keyframes spd-cursor-press{0%{transform:translate(-2px,-2px) scale(1)}40%{transform:translate(-2px,-2px) scale(.75)}70%{transform:translate(-2px,-2px) scale(1.05)}to{transform:translate(-2px,-2px) scale(1)}}.spd-screen-idle{gap:0}.spd-loading-dots{display:flex;gap:6px}.spd-loading-dots span{width:6px;height:6px;border-radius:50%;background:#ffffff4d;animation:spd-dot-pulse 1.2s ease-in-out infinite}.spd-loading-dots span:nth-child(2){animation-delay:.2s}.spd-loading-dots span:nth-child(3){animation-delay:.4s}@keyframes spd-dot-pulse{0%,to{opacity:.3;transform:scale(1)}50%{opacity:1;transform:scale(1.3)}}.spd-screen-qr{gap:10px;padding-top:44px}.spd-heart-card{border-radius:10px;overflow:hidden;box-shadow:0 6px 20px #00000040;transition:transform .4s ease,opacity .4s ease;width:180px}.spd-heart-card.spd-qr-scanning{transform:scale(.92);opacity:.6}.spd-heart-img-wrap{position:relative;width:100%}.spd-heart-img{width:100%;height:auto;display:block;border-radius:10px}.spd-heart-name-overlay{position:absolute;top:0;left:0;right:0;background:linear-gradient(180deg,#fff0f0 60%,#fff0f0f2);padding:10px 6px 4px;text-align:center;font-family:var(--font-display, "DM Serif Display", Georgia, serif);font-size:.62rem;font-weight:700;color:#e84393;line-height:1.2}.spd-scan-line{position:absolute;left:4%;right:4%;height:3px;background:linear-gradient(90deg,transparent 0%,#e91e8c 15%,#ff69b4 50%,#e91e8c 85%,transparent 100%);box-shadow:0 0 12px #e91e8ccc,0 0 30px #e91e8c66;border-radius:2px;animation:spd-scan-sweep 1.8s ease-in-out infinite}@keyframes spd-scan-sweep{0%,to{top:15%;opacity:.5}50%{top:85%;opacity:1}}.spd-qr-hint{font-size:.5rem;color:#ffffff4d;margin:0;animation:spd-pulse 2s ease-in-out infinite}.spd-qr-loading{display:flex;align-items:center;gap:6px;font-size:.5rem;color:#ffffff80}.spd-qr-spinner{width:12px;height:12px;border:2px solid rgba(255,255,255,.15);border-top-color:#e91e8c;border-radius:50%;animation:spd-spin .8s linear infinite}@keyframes spd-spin{to{transform:rotate(360deg)}}@keyframes spd-pulse{0%,to{opacity:.6}50%{opacity:1}}.spd-screen-greeting{gap:8px;background:radial-gradient(ellipse at center,rgba(233,30,140,.08) 0%,transparent 70%)}.spd-greeting-char{position:relative;display:flex;align-items:center;justify-content:center}.spd-greeting-gif{width:90px;height:90px;object-fit:contain}.spd-greeting-hearts{position:absolute;top:0;left:0;width:100%;height:100%}.spd-greeting-hearts span{position:absolute;font-size:.6rem;animation:spd-heart-float 2.5s ease-in-out infinite}.spd-greeting-hearts span:nth-child(1){left:-8px;top:10px}.spd-greeting-hearts span:nth-child(2){right:-8px;top:5px}.spd-greeting-hearts span:nth-child(3){left:50%;top:-4px;transform:translate(-50%)}@keyframes spd-heart-float{0%,to{transform:translateY(0) scale(1);opacity:.6}50%{transform:translateY(-6px) scale(1.15);opacity:1}}.spd-greeting-text{font-family:var(--font-cursive, "Dancing Script", cursive);font-size:1.5rem;color:#ff69b4;text-shadow:0 0 20px rgba(255,105,180,.3)}.spd-greeting-sub{font-size:.55rem;color:#fff9;text-align:center;margin-bottom:6px}.spd-screen-meter{gap:10px}.spd-meter-label{font-size:.6rem;color:#ffffffb3;text-align:center}.spd-meter-percent{font-family:var(--font-cursive, "Dancing Script", cursive);font-size:2.4rem;color:#ff69b4;text-shadow:0 0 20px rgba(255,105,180,.4);animation:spd-percent-pop .4s cubic-bezier(.34,1.56,.64,1)}.spd-meter-percent.spd-meter-overflow{color:#ff69b4;text-shadow:0 0 30px rgba(255,105,180,.6),0 0 60px rgba(255,105,180,.3)}@keyframes spd-percent-pop{0%{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}.spd-meter-track{width:85%;height:10px;background:#ffffff1a;border-radius:5px;overflow:hidden;position:relative}.spd-meter-fill{height:100%;background:linear-gradient(90deg,#e91e8c,#ff69b4);border-radius:5px}.spd-meter-fill.spd-meter-fill-overflow{background:linear-gradient(90deg,#e91e8c,#ff69b4,#ff1493);box-shadow:0 0 16px #e91e8ccc,0 0 40px #e91e8c66;animation:spd-glow-pulse .8s ease-in-out infinite}@keyframes spd-glow-pulse{0%,to{box-shadow:0 0 16px #e91e8ccc,0 0 40px #e91e8c66}50%{box-shadow:0 0 24px #e91e8c,0 0 60px #e91e8c99}}.spd-meter-warning{font-size:.55rem;font-weight:700;color:#ffffffd9;letter-spacing:.5px;text-align:center;animation:spd-warn-flash .6s ease,spd-warn-blink .8s ease-in-out .6s infinite}@keyframes spd-warn-blink{0%,to{opacity:1}50%{opacity:.3}}@keyframes spd-warn-flash{0%{opacity:0;transform:scale(.8)}50%{opacity:1;transform:scale(1.05)}to{opacity:1;transform:scale(1)}}.spd-screen-reveal{gap:6px;padding:32px 12px 20px}.spd-reveal-heart{font-size:1.2rem;animation:spd-pulse 2s ease-in-out infinite}.spd-reveal-title{font-family:var(--font-cursive, "Dancing Script", cursive);font-size:.95rem;color:#ff69b4;margin-bottom:4px}.spd-reveal-cards{width:100%;display:flex;flex-direction:column;gap:6px}.spd-reveal-card{width:100%;min-height:42px;border-radius:10px;background:#ffffff0f;border:1px solid rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;padding:8px 12px;transition:all .4s ease}.spd-reveal-card.spd-card-open{background:#ffffff1a;border-color:#ff69b433}.spd-card-hidden{color:#ff69b466;font-size:.9rem}.spd-card-text{font-size:.52rem;color:#ffffffd9;text-align:center;line-height:1.4;animation:spd-card-reveal .4s ease}@keyframes spd-card-reveal{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.spd-screen-message{background:linear-gradient(135deg,#1a0a1a,#2d0a2d,#1a0a1a)}.spd-envelope-area{display:flex;flex-direction:column;align-items:center;gap:12px}.spd-envelope-label{font-family:var(--font-cursive, "Dancing Script", cursive);font-size:.85rem;font-weight:600;color:#fffffff2;text-align:center}.spd-envelope-img{width:160px;height:auto;filter:drop-shadow(0 6px 14px rgba(0,0,0,.15));transition:transform .5s cubic-bezier(.34,1.56,.64,1)}.spd-envelope-img.spd-env-opening{transform:scale(1.05)}.spd-envelope-img.spd-env-tap{animation:spd-env-press .85s ease both}@keyframes spd-env-press{0%{transform:scale(1)}53%{transform:scale(1)}66%{transform:scale(.92)}80%{transform:scale(1.03)}to{transform:scale(1)}}.spd-tap-hint{font-size:.55rem;color:#ffffff59;animation:spd-pulse 2s ease-in-out infinite}.spd-note{width:100%;padding:0 6px;display:flex;flex-direction:column;align-items:center;animation:spd-note-settle .8s cubic-bezier(.34,1.56,.64,1);box-sizing:border-box}@keyframes spd-note-settle{0%{opacity:0;transform:scale(.7) translateY(30px)}to{opacity:1;transform:scale(1) translateY(0)}}.spd-note-header{font-family:var(--font-cursive, "Dancing Script", cursive);font-size:.8rem;font-weight:600;color:#fffffff2;text-align:center;margin-bottom:8px}.spd-note-card{width:100%;background:#fff0f5f2;border-radius:14px;padding:16px 14px;position:relative;box-shadow:0 7px 26px #e91e8c26;overflow-y:auto;box-sizing:border-box}.spd-note-character-gif{display:block;width:68px;height:68px;object-fit:contain;margin:0 auto 4px}.spd-note-body{font-family:var(--font-handwritten, "Caveat", cursive);font-size:.65rem;color:#5a3e42;line-height:1.7;text-align:center}.spd-note-body p{margin:0 0 7px}.spd-tw-cursor{display:inline;color:#e91e8c;font-weight:400;animation:spd-blink-cursor .6s step-end infinite}@keyframes spd-blink-cursor{0%,to{opacity:1}50%{opacity:0}}@media (max-width: 320px){.spd-phone{width:230px;height:430px}.spd-greeting-text{font-size:1.2rem}.spd-meter-percent{font-size:2rem}.spd-card-text{font-size:.48rem}}.music-toggle{position:fixed;right:25px;top:25px;top:max(env(safe-area-inset-top,25px),25px);z-index:100;background:#fffffffa;color:#c2407e;border:2px solid #c2407e;padding:12px 20px;border-radius:30px;cursor:pointer;font-size:.95rem;font-weight:600;transition:background .3s ease,color .3s ease,box-shadow .3s ease,transform .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 12px #00000026;pointer-events:all}@media (min-width: 601px){.music-toggle{animation:slideInFromTop .6s ease-out forwards}@keyframes slideInFromTop{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}}.music-toggle:hover{background:#c2407e;color:#fff;box-shadow:0 6px 16px #c2407e66}@media (hover: hover){.music-toggle:hover{transform:scale(1.05)}}.music-toggle:active{transform:scale(.98)}@media (max-width: 600px){.music-toggle{right:15px;top:15px;top:max(env(safe-area-inset-top,15px),15px);padding:10px 16px;font-size:.9rem;animation:slideInMobile .5s cubic-bezier(.34,1.56,.64,1) forwards;transition:background .3s ease,color .3s ease,box-shadow .3s ease}@keyframes slideInMobile{0%{opacity:0;transform:translateY(-20px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}}@media (max-width: 375px){.music-toggle{right:12px;top:12px;top:max(env(safe-area-inset-top,12px),12px);padding:8px 14px;font-size:.85rem;animation:slideInMobile .5s cubic-bezier(.34,1.56,.64,1) forwards;transition:background .3s ease,color .3s ease,box-shadow .3s ease}}.sparkle-field{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1;overflow:hidden;opacity:1;transition:opacity 1s ease-in-out}.sparkle-delay{opacity:0;animation:sparkle-reveal .6s ease forwards;animation-delay:5s}@keyframes sparkle-reveal{to{opacity:1}}.sparkle-particle{position:absolute;bottom:-5%;width:var(--size);height:var(--size);border-radius:50%;opacity:0;animation:floatSparkle linear infinite;will-change:transform,opacity}.sparkle-type-0{background:radial-gradient(circle,#ff69b4,#ff69b400);box-shadow:0 0 8px #ff69b4cc,0 0 16px #ff69b44d}.sparkle-type-1{background:radial-gradient(circle,var(--primary-light, #fd79a8),rgba(253,121,168,0));box-shadow:0 0 6px #fd79a880,0 0 10px #fd79a826;transform:rotate(45deg);border-radius:2px;width:calc(var(--size) * .7);height:calc(var(--size) * .7)}.sparkle-type-2{background:radial-gradient(circle,#fff,#fff0);box-shadow:0 0 10px #ffffffe6,0 0 20px #ffffff4d}.sparkle-type-3{background:radial-gradient(circle,#6c5ce7e6,#6c5ce700);box-shadow:0 0 10px #6c5ce799,0 0 20px #6c5ce733;width:calc(var(--size) * 1.5);height:calc(var(--size) * 1.5);filter:blur(1px)}.sparkle-type-4{background:#ffb6c1;box-shadow:0 0 3px #ffb6c1;width:calc(var(--size) * .5);height:calc(var(--size) * .5)}@keyframes floatSparkle{0%{bottom:-5%;transform:translate(0) scale(0);opacity:0}8%{opacity:var(--peak-opacity);transform:translate(calc(var(--drift) * .1)) scale(1)}50%{transform:translate(var(--drift)) scale(1.2);opacity:var(--peak-opacity)}92%{opacity:var(--peak-opacity, .3);transform:translate(calc(var(--drift) * -.5)) scale(.8)}to{bottom:105%;transform:translate(calc(var(--drift) * -1)) scale(0);opacity:0}}.start-page{position:fixed;top:0;left:0;width:100vw;width:100dvw;height:100vh;height:100dvh;overflow:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;align-items:center;padding:20px 20px 0;box-sizing:border-box}.start-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:1rem}.start-footer{margin-top:auto;flex-shrink:0;text-align:center;font-size:.85rem;color:#5a5a72;padding:14px 20px;width:100%}.footer-link{color:#c2407e;text-decoration:none;font-weight:600}.footer-link:hover{text-decoration:underline}@media (max-width: 480px){.start-page{padding:15px 15px 0}.start-footer{font-size:.75rem;padding:10px 15px}}.starfield{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;overflow:hidden;background:transparent}.star-layer{position:absolute;width:1px;height:1px;background:transparent}.star-sm{animation:starDrift 120s linear infinite}.star-md{animation:starDrift 90s linear infinite}.star-lg{animation:starTwinkle 4s ease-in-out infinite alternate}@keyframes starDrift{0%{transform:translateY(0)}to{transform:translateY(-2000px)}}@keyframes starTwinkle{0%{opacity:.4}to{opacity:1}}.greeting-stage{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;z-index:10;animation:greeting-fade-in .8s ease}@keyframes greeting-fade-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.greeting-content{display:flex;flex-direction:column;align-items:center;gap:16px;padding:20px;text-align:center}.greeting-character{position:relative;margin-bottom:10px}.greeting-char-circle{display:flex;align-items:center;justify-content:center}.greeting-char-face{font-size:3.5rem}.greeting-char-gif{width:160px;height:160px;object-fit:contain}.greeting-hearts-float{position:absolute;top:-10px;right:-10px}.greeting-float-heart{position:absolute;font-size:1.2rem;animation:greeting-heart-float 3s ease-in-out infinite;opacity:.8}.greeting-float-heart:nth-child(1){top:-5px;right:-5px}.greeting-float-heart:nth-child(2){top:-15px;right:10px}.greeting-float-heart:nth-child(3){top:5px;right:-15px}@keyframes greeting-heart-float{0%,to{transform:translateY(0) scale(1);opacity:.8}50%{transform:translateY(-8px) scale(1.1);opacity:1}}.greeting-title{font-family:Dancing Script,cursive;font-size:clamp(2.5rem,8vw,3.5rem);color:#fffffff2;margin:0;line-height:1.1;text-shadow:0 0 40px rgba(233,30,140,.3)}.greeting-subtitle{font-size:1rem;color:#ffffff80;margin:0;font-weight:400}.greeting-btn{margin-top:20px;padding:16px 48px;font-size:1.1rem;font-weight:700;color:#fff;background:linear-gradient(135deg,#e91e8c,#c2407e);border:none;border-radius:60px;cursor:pointer;box-shadow:0 0 30px #e91e8c66,0 8px 24px #e91e8c4d;transition:all .3s ease;animation:greeting-btn-pulse 2.5s ease-in-out infinite;font-family:inherit}.greeting-btn:hover{transform:translateY(-3px) scale(1.04);box-shadow:0 0 50px #e91e8c80,0 12px 32px #e91e8c66}@keyframes greeting-btn-pulse{0%,to{box-shadow:0 0 30px #e91e8c66,0 8px 24px #e91e8c4d}50%{box-shadow:0 0 50px #e91e8c80,0 12px 32px #e91e8c66}}@media (max-width: 480px){.greeting-char-gif{width:140px;height:140px}.greeting-char-face{font-size:2.8rem}.greeting-btn{padding:14px 40px;font-size:1rem}}.cuteness-stage{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;z-index:10;animation:cuteness-fade-in .6s ease}@keyframes cuteness-fade-in{0%{opacity:0}to{opacity:1}}.cuteness-content{display:flex;flex-direction:column;align-items:center;gap:20px;padding:20px 30px;text-align:center;width:100%;max-width:400px}.cuteness-label{font-size:1rem;color:#fff9;margin:0;min-height:1.5em}.cuteness-percent-display{margin:10px 0}.cuteness-percent{font-family:Dancing Script,cursive;font-size:clamp(4rem,12vw,6rem);font-weight:700;color:#fffffff2;line-height:1;transition:all .6s ease}.cuteness-percent.cuteness-overflow{color:#ff69b4;text-shadow:0 0 30px rgba(255,105,180,.6),0 0 60px rgba(255,105,180,.3);animation:cuteness-glow 1.5s ease-in-out infinite}@keyframes cuteness-glow{0%,to{text-shadow:0 0 30px rgba(255,105,180,.6),0 0 60px rgba(255,105,180,.3)}50%{text-shadow:0 0 50px rgba(255,105,180,.8),0 0 80px rgba(255,105,180,.4)}}.cuteness-bar-track{width:100%;height:12px;background:#ffffff14;border-radius:6px;overflow:visible;position:relative}.cuteness-bar-fill{height:100%;background:linear-gradient(90deg,#e91e8c,#ff69b4);border-radius:6px}.cuteness-bar-overflow{box-shadow:0 0 16px #e91e8cb3,0 0 32px #e91e8c66;animation:bar-glow 1.5s ease-in-out infinite}@keyframes bar-glow{0%,to{box-shadow:0 0 16px #e91e8cb3,0 0 32px #e91e8c66}50%{box-shadow:0 0 24px #e91e8ce6,0 0 48px #e91e8c80}}.cuteness-warning{font-size:.85rem;font-weight:700;color:#ff69b4;letter-spacing:1px;animation:warning-appear .5s ease,warning-blink .8s ease-in-out .5s infinite}@keyframes warning-blink{0%,to{opacity:1}50%{opacity:.3}}@keyframes warning-appear{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.cuteness-btn{margin-top:10px;padding:14px 40px;font-size:1rem;font-weight:700;color:#fff;background:linear-gradient(135deg,#e91e8c,#c2407e);border:none;border-radius:60px;cursor:pointer;box-shadow:0 0 20px #e91e8c4d,0 6px 18px #e91e8c40;transition:all .3s ease;font-family:inherit}.cuteness-btn:hover{transform:translateY(-2px);box-shadow:0 0 30px #e91e8c66,0 10px 25px #e91e8c59}@media (max-width: 480px){.cuteness-content{padding:20px}}.reveal-stage{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;z-index:10;animation:reveal-fade-in .6s ease;overflow-y:auto;-webkit-overflow-scrolling:touch}@keyframes reveal-fade-in{0%{opacity:0}to{opacity:1}}.reveal-content{display:flex;flex-direction:column;align-items:center;gap:16px;padding:40px 20px 30px;text-align:center;width:100%;max-width:400px}.reveal-heart-icon{font-size:2.5rem;animation:reveal-heart-pulse 2s ease-in-out infinite}@keyframes reveal-heart-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.reveal-title{font-family:Dancing Script,cursive;font-size:clamp(1.6rem,5vw,2.2rem);color:#fffffff2;margin:0;font-weight:600}.reveal-cards-list{display:flex;flex-direction:column;gap:14px;width:100%}.reveal-card{width:100%;min-height:80px;border-radius:16px;cursor:pointer;transition:all .4s cubic-bezier(.34,1.56,.64,1);overflow:hidden}.reveal-card:not(.reveal-card-open){background:#ffffff0f;border:1px solid rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center}.reveal-card:not(.reveal-card-open):hover{background:#ffffff1a;border-color:#e91e8c4d;transform:scale(1.02)}.reveal-card-open{background:#e91e8c1a;border:1px solid rgba(233,30,140,.25);animation:reveal-card-appear .5s ease}@keyframes reveal-card-appear{0%{transform:scale(.9);opacity:.5}to{transform:scale(1);opacity:1}}.reveal-card-hidden{padding:24px}.reveal-card-heart{font-size:1.8rem;opacity:.6;animation:reveal-heart-bob 2s ease-in-out infinite}@keyframes reveal-heart-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.reveal-card-text{padding:18px 20px;font-size:.95rem;color:#ffffffe0;line-height:1.5;text-align:left}.reveal-btn{margin-top:10px;padding:14px 40px;font-size:1rem;font-weight:700;color:#fff;background:linear-gradient(135deg,#e91e8c,#c2407e);border:none;border-radius:60px;cursor:not-allowed;box-shadow:none;transition:all .3s ease;font-family:inherit;opacity:.4;pointer-events:none}.reveal-btn.reveal-btn-active{opacity:1;cursor:pointer;pointer-events:auto;box-shadow:0 0 20px #e91e8c4d,0 6px 18px #e91e8c40;animation:reveal-btn-glow 2s ease-in-out infinite}@keyframes reveal-btn-glow{0%,to{box-shadow:0 0 20px #e91e8c4d,0 6px 18px #e91e8c40}50%{box-shadow:0 0 35px #e91e8c80,0 10px 25px #e91e8c59}}.reveal-btn:hover{transform:translateY(-2px)}@media (max-width: 480px){.reveal-content{padding:30px 16px 24px}.reveal-card{min-height:70px}}.envelope-stage{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;z-index:10;animation:envelope-fade-in .6s ease}@keyframes envelope-fade-in{0%{opacity:0}to{opacity:1}}.envelope-content{display:flex;flex-direction:column;align-items:center;gap:24px;padding:20px;text-align:center}.envelope-title{font-family:Dancing Script,cursive;font-size:clamp(1.6rem,5vw,2.2rem);color:#fffffff2;margin:0;font-weight:600}.envelope-wrapper{display:flex;flex-direction:column;align-items:center;gap:16px;cursor:pointer}.envelope-img{width:200px;height:auto;filter:drop-shadow(0 10px 30px rgba(233,30,140,.2));transition:transform .5s cubic-bezier(.34,1.56,.64,1)}.envelope-wrapper:hover .envelope-img{transform:scale(1.05)}.envelope-tap-circle{width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,#e91e8c,#ff69b4);display:flex;align-items:center;justify-content:center;font-size:1.5rem;box-shadow:0 0 20px #e91e8c66;animation:envelope-tap-pulse 2s ease-in-out infinite}@keyframes envelope-tap-pulse{0%,to{box-shadow:0 0 20px #e91e8c66;transform:scale(1)}50%{box-shadow:0 0 35px #e91e8c99;transform:scale(1.05)}}.envelope-tap-hint{font-size:.85rem;color:#fff6;margin:0;animation:envelope-hint-pulse 2s ease-in-out infinite}@keyframes envelope-hint-pulse{0%,to{opacity:.6}50%{opacity:1}}.note-stage{overflow-y:auto;-webkit-overflow-scrolling:touch;align-items:center;padding-top:40px}.note-content{display:flex;flex-direction:column;align-items:center;gap:16px;padding:20px;width:100%;max-width:500px;margin:0 auto}.note-card{width:100%;background:#fff0f5f2;border-radius:20px;padding:24px 20px;position:relative;box-shadow:0 10px 40px #e91e8c26;animation:note-card-appear .8s cubic-bezier(.34,1.56,.64,1)}@keyframes note-card-appear{0%{opacity:0;transform:scale(.8) translateY(30px)}to{opacity:1;transform:scale(1) translateY(0)}}.note-character{position:absolute;top:-20px;right:20px;font-size:2.5rem;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.note-character-gif{display:block;width:100px;height:100px;object-fit:contain;margin:0 auto 4px}.note-heart{text-align:center;font-size:1.5rem;margin-bottom:8px}.note-text{font-family:Caveat,cursive;font-size:1.1rem;color:#5a3e42;line-height:1.7;max-height:50vh;overflow-y:auto;scroll-behavior:smooth;text-align:center}.note-text p{margin:0 0 10px}.note-cursor{display:inline;color:#e91e8c;font-weight:400;animation:note-blink-cursor .6s step-end infinite}@keyframes note-blink-cursor{0%,to{opacity:1}50%{opacity:0}}.make-own-btn{display:inline-block;padding:14px 32px;background:linear-gradient(135deg,#e91e8c,#c2407e);color:#fff;border:none;border-radius:30px;font-size:.95rem;font-weight:700;text-decoration:none;cursor:pointer;box-shadow:0 6px 18px #e91e8c4d;transition:all .3s ease;animation:make-own-appear .5s ease;margin-top:10px;margin-bottom:40px}@keyframes make-own-appear{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.make-own-btn:hover{transform:translateY(-2px);box-shadow:0 10px 25px #e91e8c66}@media (max-width: 480px){.note-stage{padding-top:30px}.note-content{padding:15px}.note-card{padding:20px 16px}.envelope-img{width:160px}}.receiver-page{position:fixed;top:0;left:0;width:100vw;width:100dvw;height:100vh;height:100dvh;overflow:hidden;margin:0;padding:0}.receiver-page.dark-theme{background:linear-gradient(135deg,#1a0a1a,#2d0a2d 40%,#1a0a1a)}.receiver-page.sorry-theme{background:linear-gradient(135deg,#1a0a1a,#2d0a2d,#1a0a1a)}.dark-loading{background:linear-gradient(135deg,#1a0a1a,#2d0a2d 40%,#1a0a1a)!important}.dark-loading .loading-spinner{background:#ffffff0a;border:1px solid rgba(255,255,255,.06);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.dark-loading .spinner{border-color:#ffffff0f;border-top-color:#e91e8c99}.dark-loading .loading-spinner p{color:#fff6}.dark-loading .error-message{background:#ffffff0a;border:1px solid rgba(255,255,255,.06);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.dark-loading .error-message h2{color:#ffffffb3}.dark-loading .error-message p{color:#ffffff59}.payment-status-page{position:fixed;top:0;left:0;width:100vw;width:100dvw;height:100vh;height:100dvh;display:flex;align-items:center;justify-content:center;padding:20px;box-sizing:border-box;background:var(--bg-gradient, linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%))}.payment-status-card{background:#ffffff0f;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:20px;border:1px solid rgba(255,255,255,.1);padding:40px 30px;text-align:center;max-width:400px;width:100%}.payment-status-title{font-family:"DM Serif Display",Georgia,serif;font-size:1.5rem;color:#fff;margin:0 0 12px}.payment-status-message{font-family:Inter,sans-serif;font-size:.95rem;color:#ffffffb3;margin:0 0 24px;line-height:1.5}.payment-status-spinner{width:36px;height:36px;border:3px solid rgba(255,255,255,.15);border-top-color:var(--primary, #e84393);border-radius:50%;animation:payment-spin .8s linear infinite;margin:0 auto}@keyframes payment-spin{to{transform:rotate(360deg)}}.payment-status-retry-btn{display:inline-block;padding:12px 32px;background:var(--primary, #e84393);color:#fff;border-radius:12px;text-decoration:none;font-family:Inter,sans-serif;font-weight:600;font-size:.95rem;margin-top:8px;transition:opacity .2s}.payment-status-retry-btn:hover{opacity:.9}.app{position:fixed;top:0;left:0;width:100vw;width:100dvw;height:100vh;height:100dvh;overflow:hidden;margin:0;padding:0}*{scrollbar-width:none;-ms-overflow-style:none}*::-webkit-scrollbar{width:0;height:0;background:transparent}.page{height:100vh;height:100dvh;width:100vw;width:100dvw;position:absolute;top:0;left:0;opacity:0;visibility:hidden;transform:translate(100%);transition:all .6s cubic-bezier(.22,1,.36,1);padding:env(safe-area-inset-top,20px) env(safe-area-inset-right,20px) env(safe-area-inset-bottom,20px) env(safe-area-inset-left,20px);display:flex;flex-direction:column;justify-content:center;align-items:center;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;box-sizing:border-box;z-index:10}.page.active{opacity:1;visibility:visible;transform:translate(0);position:relative}.page.exit-left{transform:translate(-100%);opacity:0}.landing-simple{width:100%;max-width:820px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:16px}.hero{padding:0 18px;max-width:740px;margin:0;text-align:center}.hero h1{font-family:var(--font-display, "DM Serif Display", Georgia, serif);font-size:clamp(2.05rem,4.6vw,3.1rem);margin:6px 0 10px;font-weight:400;color:#ffffffe0;line-height:1.2;letter-spacing:-.01em}.hero p{font-size:1.02rem;color:#fff6;margin:0;line-height:1.5;font-family:var(--font-body, "Inter", system-ui, sans-serif)}.highlight{background:linear-gradient(90deg,var(--primary, #e84393) 0%,var(--accent-gold, #f9ca24) 20%,var(--primary, #e84393) 40%,var(--primary-light, #fd79a8) 60%,var(--accent-gold, #f9ca24) 80%,var(--primary, #e84393) 100%);background-size:200% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:shimmerText 3s linear infinite;font-weight:400;font-style:italic}@keyframes shimmerText{0%{background-position:0% center}to{background-position:200% center}}.teaser{padding:0 18px;max-width:740px;margin:20px auto 10px;text-align:center}#teaserHeading{font-family:var(--font-display, "DM Serif Display", Georgia, serif);font-size:1.35rem;font-weight:400;font-style:italic;color:#ffffffb3;margin:0 0 8px;line-height:1.35}.teaser-hint{font-size:1.02rem;font-weight:500;color:#ffffff59;opacity:1;margin:0;font-family:var(--font-body, "Inter", system-ui, sans-serif)}.landing-actions{display:flex;flex-direction:column;align-items:center;gap:10px;padding:0 18px}.landing-cta{width:min(380px,100%)}#surpriseBtn{background:linear-gradient(135deg,var(--primary, #e84393),var(--primary-dark, #d63384));color:#fff;border:none;padding:14px 34px;font-size:1.1rem;font-weight:700;font-family:var(--font-body, "Inter", system-ui, sans-serif);border-radius:50px;cursor:pointer;margin:0;transition:all .3s cubic-bezier(.22,1,.36,1);box-shadow:0 12px 30px #e843934d;position:relative;overflow:hidden}#surpriseBtn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);animation:btnSweep 3s ease-in-out infinite}@keyframes btnSweep{0%{left:-100%}50%{left:100%}to{left:100%}}#surpriseBtn:hover{transform:translateY(-2px) scale(1.04);box-shadow:0 16px 36px #e8439366}#surpriseBtn:disabled{opacity:.5;cursor:not-allowed}#surpriseBtn:not(:disabled){animation:pulse 2s ease-in-out infinite}.celebrate-btn{background:linear-gradient(135deg,var(--primary, #e84393),var(--primary-dark, #d63384));color:#fff;border:none;padding:16px 40px;font-size:1.2rem;font-weight:700;font-family:var(--font-body, "Inter", system-ui, sans-serif);border-radius:50px;cursor:pointer;margin:0;transition:all .3s cubic-bezier(.22,1,.36,1);box-shadow:0 12px 30px #e8439359;position:relative;overflow:hidden;letter-spacing:.02em}.celebrate-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);animation:btnSweep 3s ease-in-out infinite}.celebrate-btn:hover{transform:translateY(-3px) scale(1.04);box-shadow:0 16px 40px #e8439373}.celebrate-btn:disabled{opacity:.5;cursor:not-allowed;background:linear-gradient(135deg,#999,#aaa)}.celebrate-btn:not(:disabled){animation:pulse-celebrate 2s ease-in-out infinite}@keyframes pulse-celebrate{0%,to{box-shadow:0 12px 30px #e8439359}50%{box-shadow:0 16px 40px #e8439380}}@keyframes pulse{0%,to{box-shadow:0 12px 24px #e8439340}50%{box-shadow:0 16px 32px #e8439366}}.back-btn{position:fixed;top:80px;left:20px;background:#ffffff0f;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:#ffffff80;border:1px solid rgba(255,255,255,.08);padding:10px 20px;font-size:1rem;font-family:var(--font-body, "Inter", system-ui, sans-serif);border-radius:25px;cursor:pointer;z-index:15;transition:all .3s ease;box-shadow:none}.back-btn:hover{background:#ffffff1a;color:#fffc;transform:translate(-5px)}.page-nav-btn{background:linear-gradient(135deg,var(--primary, #e84393),var(--primary-dark, #d63384));color:#fff;border:none;padding:14px 35px;font-size:1.2rem;font-weight:700;font-family:var(--font-body, "Inter", system-ui, sans-serif);border-radius:50px;cursor:pointer;margin-top:30px;transition:all .3s ease;box-shadow:0 8px 24px #e843934d}.page-nav-btn:hover{transform:translateY(-3px) scale(1.04);box-shadow:0 12px 32px #e8439366}.loading-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:linear-gradient(135deg,#1a0a1a,#2d0a2d 40%,#1a0a1a);display:flex;justify-content:center;align-items:center;z-index:9999}.loading-spinner{text-align:center;padding:48px 40px;background:#ffffff0a;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:28px;box-shadow:0 20px 60px #0003;border:1px solid rgba(255,255,255,.06)}.spinner{width:48px;height:48px;margin:0 auto 20px;border:3px solid rgba(255,255,255,.06);border-top-color:#e8439399;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-spinner p{color:#fff6;font-size:1.05rem;font-weight:600;font-family:var(--font-body, "Inter", system-ui, sans-serif);margin:0}.error-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:linear-gradient(135deg,#1a0a1a,#2d0a2d 40%,#1a0a1a);display:flex;justify-content:center;align-items:center;z-index:9999}.error-message{text-align:center;padding:48px 40px;background:#ffffff0a;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:28px;box-shadow:0 20px 60px #0003;border:1px solid rgba(255,255,255,.06);max-width:400px;margin:20px}.error-message h2{color:#ffffffb3;font-family:var(--font-display, "DM Serif Display", Georgia, serif);font-size:1.8rem;font-weight:400;margin:0 0 15px}.error-message p{color:#ffffff59;font-size:1rem;font-family:var(--font-body, "Inter", system-ui, sans-serif);margin:10px 0;line-height:1.5}.error-hint{color:#fff3;font-size:.9rem;font-style:italic;margin-top:20px}@media (max-width: 600px){.hero h1{font-size:1.9rem;padding:0 10px}.hero p{font-size:.98rem;padding:0 10px}.back-btn{top:70px;left:15px;padding:8px 16px;font-size:.9rem}.page-nav-btn{font-size:1.1rem;padding:12px 30px}#teaserHeading{font-size:1.05rem;padding:0 15px}.teaser-hint{padding:0 15px}#surpriseBtn{font-size:1rem;padding:12px 28px}}@media (min-width: 601px) and (max-width: 1024px){.hero h1{font-size:2.5rem}.page{padding:15px}}@media (min-width: 1400px){.hero h1{font-size:3.2rem}.hero p{font-size:1.25rem}}@media (hover: none) and (pointer: coarse){button{min-height:44px;min-width:44px}.back-btn,.page-nav-btn,#surpriseBtn{padding:14px 30px}}@supports (-webkit-touch-callout: none){.app,.page,body{height:-webkit-fill-available}}@media (max-width: 932px) and (orientation: landscape){.page{padding:20px 10px 10px;justify-content:flex-start}.hero{padding:10px}.hero h1{font-size:2rem;margin-bottom:10px}}@media only screen and (max-width: 428px){.page{padding:12px;padding-top:max(env(safe-area-inset-top,15px),15px);padding-bottom:max(env(safe-area-inset-bottom,15px),15px)}.hero{padding:8px 15px}.hero h1{font-size:1.8rem;line-height:1.2;margin-bottom:8px}.teaser{padding:8px 15px}#teaserHeading{font-size:1.1rem;margin-bottom:6px}.teaser-hint{font-size:.85rem}.celebrate-btn,.page-nav-btn{padding:12px 28px;font-size:1.1rem;margin:12px auto}.back-btn{top:max(env(safe-area-inset-top,12px),70px);left:12px;padding:8px 16px;font-size:.9rem}}@media only screen and (max-width: 375px){.page{padding:10px;padding-top:max(env(safe-area-inset-top,12px),12px);padding-bottom:max(env(safe-area-inset-bottom,12px),12px)}.hero h1{font-size:1.6rem;margin-bottom:6px}.hero p{font-size:.9rem}#teaserHeading{font-size:1rem;margin-bottom:5px}.celebrate-btn,.page-nav-btn{padding:11px 24px;font-size:1rem;margin:10px auto}}@media (max-width: 480px){.loading-spinner,.error-message{padding:32px 24px;margin:15px;border-radius:24px}.spinner{width:42px;height:42px}.loading-spinner p{font-size:1rem}.error-message h2{font-size:1.5rem}.error-message p{font-size:.95rem}}
