@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.contents{display:contents}.table{display:table}.resize{resize:both}}:root{--ink:#402d36;--rose:#ee7890;--deep-rose:#db5875;--paper:#fffaf5;--cream:#f8eadc}*{box-sizing:border-box}html,body{width:100%;height:100%;overflow:hidden}body{color:var(--ink);background:#f1ded2;margin:0;font-family:ui-rounded,SF Pro Rounded,PingFang SC,Microsoft YaHei,sans-serif}button{font:inherit}.page-shell{width:100%;height:var(--visible-viewport-height,100dvh);min-height:var(--visible-viewport-height,100dvh);max-height:var(--visible-viewport-height,100dvh);padding:max(22px, env(safe-area-inset-top)) max(22px, env(safe-area-inset-right)) max(22px, env(safe-area-inset-bottom)) max(22px, env(safe-area-inset-left));isolation:isolate;background:radial-gradient(circle at 12% 18%,#ffffffa6 0 3px,#0000 4px),radial-gradient(circle at 87% 75%,#ffffff8c 0 4px,#0000 5px),linear-gradient(135deg,#f4dfd6 0%,#f8e9dd 47%,#ebd2ca 100%);place-items:center;display:grid;position:relative;overflow:hidden}.page-shell:before,.page-shell:after{content:"";z-index:-1;border:1px solid #ffffff73;border-radius:50%;width:330px;height:330px;position:absolute}.page-shell:before{top:-165px;left:-180px;box-shadow:0 0 0 50px #ffffff1a}.page-shell:after{bottom:-175px;right:-190px;box-shadow:0 0 0 70px #ffffff14}.celebration-canvas{z-index:30;pointer-events:none;position:fixed;inset:0}.celebration-glow{z-index:29;pointer-events:none;mix-blend-mode:screen;background:radial-gradient(circle,#fff4d5c7 0 3%,#f698ac57 18%,#db58751c 35%,#0000 59%),radial-gradient(circle,#0000 0 23%,#ffffff75 24%,#0000 25%);animation:1.8s ease-out forwards romantic-glow;position:fixed;inset:0}.is-celebrating .invite-card{animation:1.75s cubic-bezier(.22,.8,.3,1) forwards invitation-exit}.is-celebrating .no-button{opacity:0}.invite-card,.success-card{background:#fffaf5f0;border:1px solid #ffffffe6;border-radius:34px;width:min(100%,620px);position:relative;overflow:hidden;box-shadow:0 28px 70px #653a432e,inset 0 0 0 5px #ffffff73}.invite-card{overflow:visible}.card-header{border-radius:34px 34px 0 0}.invite-card:before,.success-card:before{content:"";pointer-events:none;border:1px dashed #db58753d;border-radius:24px;position:absolute;inset:12px}.card-header{color:#9b6674;letter-spacing:.08em;background:linear-gradient(90deg,#fbe9e4,#fff5eb,#fbe9e4);border-bottom:1px solid #db58751a;justify-content:center;align-items:center;gap:12px;height:62px;font-size:13px;font-weight:700;display:flex}.card-header p{margin:0}.mini-heart{color:var(--rose);font-size:11px}.question-copy{text-align:center;padding:50px 30px 15px}.eyebrow{color:var(--deep-rose);letter-spacing:.18em;margin:0 0 18px;font-size:12px;font-weight:900}h1{letter-spacing:.02em;margin:0;font-family:STKaiti,KaiTi,Songti SC,serif;font-size:clamp(33px,7vw,54px);font-weight:800;line-height:1.28}.subtitle{color:#967b81;margin:20px auto 0;font-family:Georgia,serif;font-size:14px;font-style:italic}.button-playground{height:200px;margin:0 28px;position:relative}.yes-button,.no-button,.close-button{cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;border:0}.yes-button{z-index:2;color:#fff;transform-origin:50%;background:linear-gradient(145deg,#f18da0,#df5d79);border-radius:22px;width:190px;min-height:74px;transition:transform .2s,box-shadow .2s;animation:1.65s ease-in-out infinite yes-heartbeat;position:absolute;bottom:48px;left:14%;box-shadow:0 11px 25px #db58754d,inset 0 1px #fff6}.yes-button:hover{animation-duration:1.2s;box-shadow:0 15px 30px #db58756b}.yes-button:active{animation:none;transform:scale(.97)}.yes-button span{font-size:22px;font-weight:900;display:block}.yes-button small{opacity:.86;margin-top:3px;display:block}.no-button{z-index:3;color:#a58d91;-webkit-user-select:none;user-select:none;touch-action:none;white-space:nowrap;background:#f2e8e2;border:1px solid #e5d5cd;border-radius:18px;width:116px;height:54px;transition:transform .13s ease-out;position:absolute;bottom:60px;right:15%;box-shadow:0 7px 16px #563d4114}.no-emoji{margin-left:3px;font-size:14px}.no-button.is-running{position:fixed;bottom:auto;right:auto}.no-button:hover{transform:rotate(-3deg)}.no-button.shake-a{animation:.48s cubic-bezier(.36,.07,.19,.97) both no-shake-a}.no-button.shake-b{animation:.48s cubic-bezier(.36,.07,.19,.97) both no-shake-b}footer{color:#a5898f;border-top:1px solid #db58751a;justify-content:center;align-items:center;gap:9px;min-height:60px;font-size:12px;display:flex}footer p{margin:0}footer span{color:#d8a0a9}.floating-heart{color:#ee789059;font-size:31px;animation:4s ease-in-out infinite float;position:absolute}.heart-one{top:16%;left:8%;transform:rotate(-14deg)}.heart-two{animation-delay:-1.7s;bottom:17%;right:9%;transform:rotate(16deg)scale(.7)}.success-shell{text-align:center}.success-card{padding:64px 34px 48px;animation:.72s cubic-bezier(.2,1.35,.35,1) both success-arrive}.success-icon{color:#fff;background:linear-gradient(145deg,#f391a4,#d95573);border-radius:50%;place-items:center;width:82px;height:82px;margin:0 auto 26px;font-size:38px;font-weight:900;animation:.55s cubic-bezier(.2,1.6,.4,1) pop;display:grid;box-shadow:0 13px 27px #db587547}.success-card h1{font-size:clamp(39px,9vw,58px)}.success-copy{color:#826a70;margin:20px 0 25px;line-height:1.8}.phrase-card{color:#9d6874;background:#f9ebe5;border-radius:18px;max-width:300px;margin:0 auto 24px;padding:16px}.phrase-card span{letter-spacing:.14em;margin-bottom:5px;font-size:11px;display:block}.phrase-card strong{color:var(--deep-rose);font-size:22px}.close-button{color:#fff;background:var(--deep-rose);border-radius:999px;padding:13px 25px;font-weight:800}.deal-pointer{margin-left:2px;animation:1.05s ease-in-out infinite point-left;display:inline-block}.success-card small{color:#aa9297;max-width:310px;margin:14px auto 0;line-height:1.5;display:block}.farewell-backdrop{z-index:50;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:radial-gradient(circle,#ffede76b,#5932405c);place-items:center;padding:20px;animation:.55s ease-out both backdrop-bloom;display:grid;position:fixed;inset:0}.farewell-dialog{color:#6f4b57;text-align:center;background:linear-gradient(145deg,#fffcf7fa,#ffe8e7fa);border:1px solid #ffffffeb;border-radius:30px;width:min(100%,390px);padding:34px 28px 28px;animation:.8s cubic-bezier(.18,1.45,.35,1) both letter-unfold,2.4s ease-in-out 1s infinite dialog-heartbeat;position:relative;box-shadow:0 26px 75px #653a434d,inset 0 0 0 5px #ffffff61}.farewell-dialog:before{content:"";pointer-events:none;border:1px dashed #db58754d;border-radius:21px;position:absolute;inset:10px}.farewell-emoji{margin-bottom:14px;font-size:43px;line-height:1;animation:1.8s ease-in-out infinite envelope-float}.farewell-kicker{color:var(--deep-rose);letter-spacing:.18em;margin:0 0 10px;font-size:11px;font-weight:900}.farewell-dialog h2{margin:0;font-family:Georgia,serif;font-size:clamp(25px,7vw,32px);line-height:1.25}.farewell-dialog>p:last-of-type{color:#98717c;max-width:290px;margin:14px auto 22px;line-height:1.6}.farewell-button{color:#fff;cursor:pointer;background:linear-gradient(145deg,#f18da0,#d95573);border:0;border-radius:999px;outline:0;padding:12px 24px;font-weight:800;position:relative;box-shadow:0 9px 20px #db587545}.farewell-sparkle{color:#efbd62;font-size:21px;animation:1.2s ease-in-out infinite alternate sparkle-twinkle;position:absolute}.sparkle-left{top:31px;left:28px}.sparkle-right{animation-delay:-.55s;top:55px;right:30px}@keyframes float{0%,to{translate:0}50%{translate:0 -13px}}@keyframes pop{0%{opacity:0;transform:scale(.35)rotate(-15deg)}to{opacity:1;transform:scale(1)}}@keyframes yes-heartbeat{0%,28%,to{transform:scale(1);box-shadow:0 11px 25px #db58754d,inset 0 1px #fff6}10%{transform:scale(1.055);box-shadow:0 15px 31px #db587566,inset 0 1px #ffffff80}18%{transform:scale(1)}24%{transform:scale(1.085);box-shadow:0 18px 36px #db587575,inset 0 1px #ffffff80}}@keyframes no-shake-a{0%,to{transform:translate(0)rotate(0)}18%{transform:translate(-8px)rotate(-7deg)}36%{transform:translate(7px)rotate(6deg)}54%{transform:translate(-5px)rotate(-4deg)}72%{transform:translate(4px)rotate(3deg)}88%{transform:translate(-2px)rotate(-1deg)}}@keyframes no-shake-b{0%,to{transform:translate(0)rotate(0)}18%{transform:translate(8px)rotate(7deg)}36%{transform:translate(-7px)rotate(-6deg)}54%{transform:translate(5px)rotate(4deg)}72%{transform:translate(-4px)rotate(-3deg)}88%{transform:translate(2px)rotate(1deg)}}@keyframes invitation-exit{0%,25%{opacity:1;filter:blur();transform:scale(1)}42%{transform:scale(1.025)}to{opacity:0;filter:blur(10px);transform:scale(.92)}}@keyframes success-arrive{0%{opacity:0;filter:blur(9px);transform:translateY(16px)scale(.9)}to{opacity:1;filter:blur();transform:translateY(0)scale(1)}}@keyframes romantic-glow{0%{opacity:0;transform:scale(.45)}18%{opacity:1;transform:scale(1)}58%{opacity:.72}to{opacity:0;transform:scale(1.35)}}@keyframes backdrop-bloom{0%{opacity:0;-webkit-backdrop-filter:blur();backdrop-filter:blur()}to{opacity:1;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}}@keyframes letter-unfold{0%{opacity:0;transform:perspective(700px)rotateX(-65deg)scale(.72)translateY(35px)}62%{opacity:1;transform:perspective(700px)rotateX(7deg)scale(1.035)translateY(-4px)}to{opacity:1;transform:perspective(700px)rotateX(0)scale(1)translateY(0)}}@keyframes dialog-heartbeat{0%,74%,to{scale:1}80%{scale:1.018}86%{scale:1}92%{scale:1.028}}@keyframes envelope-float{0%,to{transform:translateY(0)rotate(-3deg)}50%{transform:translateY(-6px)rotate(3deg)}}@keyframes sparkle-twinkle{0%{opacity:.35;transform:scale(.7)rotate(0)}to{opacity:1;transform:scale(1.2)rotate(35deg)}}@keyframes point-left{0%,to{transform:translate(2px)}45%{transform:translate(-6px)}70%{transform:translate(-3px)}}@media (max-width:560px){.page-shell{padding:max(14px, env(safe-area-inset-top)) max(14px, env(safe-area-inset-right)) max(14px, env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left))}.invite-card,.success-card{border-radius:28px}.question-copy{padding:42px 18px 5px}.subtitle{max-width:280px;line-height:1.5}.button-playground{height:210px;margin:0 12px}.yes-button{width:160px;bottom:50px;left:calc(50% - 133px)}.no-button{width:90px;bottom:61px;right:calc(50% - 133px)}footer{text-align:center;padding:0 18px}.floating-heart{display:none}}@media (max-width:340px){.button-playground{margin-inline:6px}.yes-button{width:148px;left:calc(50% - 122px)}.no-button{width:80px;right:calc(50% - 122px)}}@media (max-height:650px){.question-copy{padding-top:28px}.button-playground{height:165px}.yes-button{bottom:32px}.no-button{bottom:42px}}@media (prefers-reduced-motion:reduce){*,:before,:after{animation-duration:.01ms!important}.yes-button,.no-button,.is-celebrating .invite-card{animation:none!important}}
