:root{color-scheme:light;--paper:#f7f5f0;--ink:#37473e;--muted:#6e766e;--sage:#536c58;--pink:#cf8e91}*{box-sizing:border-box}body{margin:0;min-height:100svh;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;display:grid;place-items:center;padding:32px 20px;overflow-x:hidden}body:before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(ellipse at 15% 10%,#e6eadf99,transparent 45%),radial-gradient(ellipse at 95% 90%,#f0ddd780,transparent 45%)}main{position:relative;text-align:center;width:min(100%,540px)}.eyebrow{font-size:12px;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:var(--sage);margin:0 0 20px}.scene{position:relative;width:240px;height:220px;margin:auto}.scene svg{width:100%;height:100%;overflow:visible}.bunny{transform-origin:120px 190px;animation:breathe 3s ease-in-out infinite}.heart{transform-origin:126px 150px;animation:beat 1.5s ease-in-out infinite}.blink{transform-origin:0 113px;animation:blink 5.5s infinite}.spark{position:absolute;color:#b5787b;animation:float 4s ease-in-out infinite;font-size:20px}.spark.one{top:55px;left:12px}.spark.two{right:9px;top:110px;animation-delay:-2s;font-size:14px}h1{font-family:Georgia,Times New Roman,serif;font-weight:400;font-size:clamp(34px,6vw,46px);line-height:1.14;letter-spacing:-1.2px;margin:8px 0 16px}p.sub{font-size:16px;line-height:1.7;color:var(--muted);margin:0 auto 28px;max-width:350px}.date-box{background:#fff9;border:1px solid #dadfd4;border-radius:16px;padding:18px 22px;text-align:left;max-width:350px;margin:0 auto 24px}label{display:block;font-size:14px;font-weight:600;margin-bottom:10px}input{font:inherit;color:var(--ink);background:transparent;width:100%;border:0;border-bottom:1px solid #b4beb0;border-radius:0;padding:8px 0;min-height:44px;outline-offset:5px}input:focus{outline:2px solid var(--sage)}.actions{display:flex;gap:12px;justify-content:center;min-height:52px}button{font:600 15px -apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;border:1px solid transparent;border-radius:12px;min-height:50px;padding:13px 25px;cursor:pointer;touch-action:manipulation}button:focus-visible{outline:3px solid #b5787b;outline-offset:4px}#yes{background:var(--sage);color:#fff;transition:background .2s,transform .2s}#yes:hover{background:#405644;transform:translateY(-2px)}#no{background:#f0d8d7;color:#743d45;border-color:#bc858b;box-shadow:0 3px 10px #743d4514;z-index:5;white-space:nowrap;user-select:none;-webkit-tap-highlight-color:transparent}.hint{font-size:13px;color:#70786f;margin:19px 0 0;min-height:20px}.footer{margin-top:36px;color:#7c8178;font-size:12px;letter-spacing:1px}.error{margin:10px 0 0;color:#a3444e;font-size:14px}.success{animation:appear .6s both}.success h1{margin-top:18px}.badge{display:inline-block;background:#e6ecdf;border:1px solid #d2dccb;padding:15px 22px;border-radius:12px;font-size:17px;font-weight:600;margin:0 0 20px}.secondary{background:transparent;color:var(--sage);border-color:#b4beb0;font-weight:500}.petal{position:fixed;pointer-events:none;color:#b5787b;z-index:9;animation:fall 3.5s ease-in both}[hidden]{display:none!important}@keyframes breathe{50%{transform:translateY(-5px) rotate(-1deg)}}@keyframes beat{50%{transform:scale(1.07)}}@keyframes blink{0%,43%,47%,to{transform:scaleY(1)}45%{transform:scaleY(.08)}}@keyframes float{50%{transform:translateY(-10px) rotate(10deg)}}@keyframes appear{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes fall{0%{transform:translateY(-30px) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(180deg);opacity:0}}@media(max-width:430px){body{padding:24px 18px}.eyebrow{margin-bottom:12px}.scene{height:195px;width:215px}h1{margin-top:12px}.footer{margin-top:28px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}body{background-color:#f7f5f0;background-image:radial-gradient(ellipse at 12% 15%,#e4eadf 0,transparent 48%),radial-gradient(ellipse at 90% 85%,#f0deda 0,transparent 46%)}main{padding:32px 28px 26px;background:#fffdf9b8;border:1px solid rgba(255,255,255,.95);border-radius:28px;box-shadow:0 18px 65px #4357420d,0 2px 8px #43574205;animation:appear .8s ease both;isolation:isolate}.eyebrow{display:flex;align-items:center;justify-content:center;gap:14px;font-size:11px;letter-spacing:2.6px}.eyebrow:before,.eyebrow:after{content:"";height:1px;width:26px;background:#a9b69f;opacity:.7}.scene:before{content:"";position:absolute;z-index:-1;width:185px;height:185px;left:50%;top:22px;transform:translate(-50%);border-radius:50%;background:radial-gradient(circle,#e8eddf 0,#eff1e6aa 57%,transparent 71%)}.date-box{background:#fffdf9;border-color:#d6dece;box-shadow:0 3px 15px #43574204;transition:border-color .2s,box-shadow .2s}.date-box:focus-within{border-color:#758c72;box-shadow:0 0 0 4px #758c7214}input{accent-color:var(--sage);color-scheme:light}button{transition:background .2s,box-shadow .2s,transform .2s}#yes{background:linear-gradient(135deg,#627d64,#4d6653);box-shadow:0 5px 13px #4d665325}#yes:hover{background:linear-gradient(135deg,#536e57,#3e5745);box-shadow:0 8px 18px #4d665333}#yes:active{transform:translateY(0) scale(.97)}#no{border-width:1.5px;background:#efd0d1;color:#713943;box-shadow:0 4px 12px #a365711c}.badge{background:linear-gradient(120deg,#e5eddd,#edf0e5);box-shadow:0 4px 14px #4d665308;line-height:1.5}.secondary:hover{background:#e8eddf;border-color:#758c72}.footer{display:flex;align-items:center;justify-content:center;gap:12px;letter-spacing:.7px}.footer:before,.footer:after{content:"";height:1px;width:20px;background:#c5cdbd}@media(max-width:430px){body{padding:16px 12px}main{padding:26px 16px 22px;border-radius:24px}.eyebrow{gap:8px;font-size:10px;letter-spacing:2px}.eyebrow:before,.eyebrow:after{width:16px}h1{font-size:34px}.scene:before{width:170px;height:170px}.date-box{padding:16px 18px}.footer{font-size:11px;gap:8px}.footer:before,.footer:after{width:10px}.badge{font-size:16px;padding:14px 18px}}@media(prefers-reduced-motion:reduce){main{animation:none}button,.date-box{transition:none}}main{width:min(100%,540px)}.actions .no-slot{width:143px;height:52px;display:inline-block}#no{position:fixed;margin:0;z-index:20;max-width:calc(100vw - 24px)}button:disabled{opacity:.65;cursor:wait}.privacy{font-size:12px;line-height:1.6;color:#6e766e;margin:14px auto 0;max-width:330px}.turnstile-box{display:flex;justify-content:center;margin:14px auto;min-height:0}.save-status{font-size:13px;color:#536c58;margin:0 0 20px}.hp{position:absolute;left:-9999px;opacity:0;pointer-events:none}.error{line-height:1.5}.scene svg{display:block}#root{width:min(100%,540px)}main{width:100%;animation:cardReveal .8s ease both}@keyframes cardReveal{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){main{animation:none}}:root{--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px)}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{min-height:100vh;min-height:100svh;padding-top:max(32px,env(safe-area-inset-top,0px));padding-right:max(20px,env(safe-area-inset-right,0px));padding-bottom:max(32px,env(safe-area-inset-bottom,0px));padding-left:max(20px,env(safe-area-inset-left,0px))}#root,main,.date-box{min-width:0}input[type=date]{display:block;width:100%;max-width:100%;min-width:0;min-height:44px;font-size:16px;line-height:1.5;-webkit-appearance:none;appearance:none;text-align:left}input[type=date]::-webkit-date-and-time-value{text-align:left;min-height:24px}#no{-webkit-touch-callout:none;-webkit-user-select:none}.actions{align-items:flex-start}.actions #yes{flex:0 1 auto}.actions .no-slot{flex:0 0 143px}.error,.privacy,.footer,.badge{overflow-wrap:anywhere}@media(max-width:430px){body{padding-top:max(16px,env(safe-area-inset-top,0px));padding-right:max(12px,env(safe-area-inset-right,0px));padding-bottom:max(16px,env(safe-area-inset-bottom,0px));padding-left:max(12px,env(safe-area-inset-left,0px))}}@media(max-width:359px){main{padding-left:12px;padding-right:12px}.actions{gap:8px}button{padding-left:18px;padding-right:18px}h1{font-size:31px}.actions .no-slot{flex-basis:132px}#no{padding-left:18px;padding-right:18px}}@media(hover:none){#yes:hover{transform:none}}@media(max-width:430px)and (max-height:700px){main{padding-top:18px;padding-bottom:18px}.eyebrow{margin-bottom:6px}.scene{width:170px;height:150px}.scene:before{width:135px;height:135px;top:10px}h1{font-size:30px;margin-top:6px;margin-bottom:12px}p.sub{line-height:1.5;margin-bottom:18px}.date-box{padding:12px 16px;margin-bottom:16px}label{margin-bottom:4px}.hint{margin-top:12px}.footer{margin-top:20px}}
