@import "https://fonts.googleapis.com/css2?family=Fredoka:wght@500;600;700&family=Nunito+Sans:wght@600;700;800;900&display=swap";@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial}}}@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)}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}:root{--cream:#fff9f4;--coral:#ff5b61;--hot-pink:#ff8fab;--soft-pink:#ffd6e0;--lilac:#cdb4ff;--lavender:#f0e7ff;--plum:#3a153b;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--cream);color:var(--plum);margin:0;font-family:Nunito Sans,Arial,sans-serif}button,a{font:inherit}button{color:inherit}main{min-height:100vh;position:relative;overflow:hidden}.page-shell{z-index:2;width:min(1240px,100% - 64px);margin:0 auto;position:relative}.site-header{z-index:4;justify-content:center;align-items:center;gap:13px;min-height:92px;font-family:Fredoka,sans-serif;font-size:21px;font-weight:700;display:flex;position:relative}.mini-doodle{color:var(--coral);font-size:25px;transform:rotate(-12deg)}.mini-doodle:last-child{transform:rotate(12deg)}.corner-blob{pointer-events:none;z-index:0;position:absolute}.corner-blob--top{background:linear-gradient(135deg, var(--soft-pink), #ffc1d2);border-radius:0 0 65% 42%;width:430px;height:210px;top:-88px;left:-110px;transform:rotate(-3deg)}.corner-blob--bottom{background:linear-gradient(150deg, var(--coral), #ff7a83);border-radius:58% 0 0 58%;width:420px;height:340px;bottom:160px;right:-180px;transform:rotate(-12deg)}.hero{grid-template-columns:1.04fr .96fr;align-items:center;gap:26px;min-height:610px;padding:44px 0 62px;display:grid}.hero-copy{z-index:2;animation:.55s ease-out both rise-in;position:relative}.eyebrow{color:#8b5b9e;letter-spacing:.18em;margin:0 0 12px;font-size:13px;font-weight:900}.hero h1{letter-spacing:-.045em;max-width:650px;margin:0;font-family:Fredoka,sans-serif;font-size:clamp(68px,6.3vw,92px);font-weight:700;line-height:.96}.lilac-stroke{background:var(--lilac);border-radius:999px;width:145px;height:9px;margin:25px 0 28px 7px;transform:rotate(-2deg)}.reminder{letter-spacing:-.025em;max-width:570px;margin:0;font-size:clamp(28px,2.5vw,38px);font-weight:800;line-height:1.32}.surprise-callout{align-items:flex-start;gap:13px;margin-top:34px;display:flex}.surprise-button{border:4px solid var(--white);background:var(--white);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:78px;height:78px;padding:0;font-size:42px;line-height:1;text-decoration:none;transition:transform .2s,box-shadow .2s;display:inline-flex;box-shadow:0 12px #edc7b9,0 20px 28px #3a153b1f}.surprise-button:hover{transform:translateY(-4px)scale(1.015);box-shadow:0 15px #edc7b9,0 25px 34px #3a153b26}.surprise-button:active{transform:translateY(2px);box-shadow:0 7px #edc7b9}.surprise-button:focus-visible{outline:4px solid var(--lilac);outline-offset:4px}.heart-hint{color:#d25c82;align-items:center;gap:2px;margin-top:2px;font-family:Fredoka,sans-serif;font-size:16px;font-weight:600;display:flex;transform:rotate(-7deg)}.heart-hint b{font-size:35px;font-weight:500;line-height:1;display:inline-block;transform:translateY(15px)rotate(3deg)}.sparkle{color:inherit;display:inline-block}.hero-art{height:510px;animation:.7s ease-out .1s both art-in;position:relative}.shape{filter:drop-shadow(0 12px 20px #3a153b12);position:absolute}.shape--pink{background:var(--hot-pink);border-radius:48% 52% 38% 62%;width:420px;height:380px;top:50px;right:10px;transform:rotate(11deg)}.shape--lilac{background:var(--lavender);border-radius:52% 36% 55% 43%;width:345px;height:280px;bottom:22px;left:2px;transform:rotate(-10deg)}.big-heart{color:var(--coral);filter:drop-shadow(0 14px #c9364b47)drop-shadow(0 20px 20px #3a153b24);font-size:248px;line-height:1;animation:.55s ease-out .65s both heart-pop;position:absolute;top:132px;right:90px;transform:rotate(4deg)}.flower{filter:drop-shadow(0 10px 12px #3a153b2b);width:145px;height:145px;position:absolute;top:0;right:45px}.flower span{background:var(--lilac);transform-origin:24px 65px;border-radius:50%;width:48px;height:74px;position:absolute;top:7px;left:50px}.flower span:nth-child(2){transform:rotate(72deg)}.flower span:nth-child(3){transform:rotate(144deg)}.flower span:nth-child(4){transform:rotate(216deg)}.flower span:nth-child(5){transform:rotate(288deg)}.flower b{background:var(--coral);border:9px solid #fff;border-radius:50%;width:44px;height:44px;position:absolute;top:53px;left:52px}.smiley{background:#ffb8c8;border:7px solid #fff;border-radius:50%;place-items:center;width:112px;height:112px;font-size:70px;font-weight:900;line-height:.3;display:grid;position:absolute;bottom:56px;right:0;transform:rotate(-7deg);box-shadow:0 10px 20px #3a153b24}.smiley:before,.smiley:after{content:"";background:var(--plum);border-radius:50%;width:9px;height:18px;position:absolute;top:35px}.smiley:before{left:31px}.smiley:after{right:31px}.sparkle--one{color:#fff;filter:drop-shadow(0 3px 2px #3a153b1a);font-size:54px;position:absolute;top:86px;left:120px}.sparkle--two{color:var(--coral);font-size:54px;position:absolute;bottom:54px;left:106px;transform:rotate(23deg)}.doodle-heart{color:var(--hot-pink);font-size:48px;position:absolute;bottom:18px;left:250px}.scribble{font-size:72px;position:absolute;bottom:5px;right:22px;transform:rotate(-14deg)}.daily-grid{grid-template-columns:1fr 1fr;gap:28px;padding:0 0 36px;display:grid}.daily-card{background:#ffffffd6;border:1px solid #f4e5e4;border-radius:32px;min-width:0;padding:28px;transition:transform .2s,box-shadow .2s;box-shadow:0 12px 35px #3a153b12}.daily-card:hover{transform:translateY(-4px);box-shadow:0 18px 42px #3a153b1a}.card-heading{align-items:center;gap:15px;margin-bottom:22px;display:flex}.card-heading h2{margin:1px 0 0;font-family:Fredoka,sans-serif;font-size:24px;line-height:1}.card-kicker{color:#9d7b91;letter-spacing:.13em;margin:0 0 5px;font-size:10px;font-weight:900}.card-icon{color:#fff;border-radius:50%;flex:0 0 54px;place-items:center;width:54px;height:54px;font-size:28px;font-weight:900;display:grid}.card-icon--lilac{background:var(--lilac);border:8px solid var(--lavender)}.card-icon--coral{background:var(--coral);border:7px solid #ffc6cb}.card-icon--pink{background:var(--hot-pink);border:7px solid var(--soft-pink)}.photo-placeholder{text-align:center;background:radial-gradient(circle at 20% 25%, #ffd0d5 0 18%, transparent 19%), radial-gradient(circle at 68% 40%, #ff9ea9 0 18%, transparent 19%), radial-gradient(circle at 70% 85%, var(--lilac) 0 27%, transparent 28%), linear-gradient(135deg, var(--soft-pink), var(--lavender));border-radius:24px;place-content:center;gap:8px;min-height:290px;display:grid;position:relative;overflow:hidden}.photo-placeholder span{color:#fff;font-size:54px}.photo-placeholder strong{background:#ffffffd1;border-radius:999px;padding:10px 18px;font-size:16px}.photo-placeholder i{color:#fff;font-size:40px;font-style:normal;position:absolute;top:28px;right:30px}.daily-photo{object-fit:cover;object-position:50% 48%;border-radius:24px;width:100%;height:500px;display:block}.card-caption{color:#725b72;margin:16px 2px 0;font-weight:700;line-height:1.6}.joke-card{background:linear-gradient(155deg,#fffffff2,#f0e7ffe6)}blockquote{background:#eadbff;border-radius:24px;margin:20px 0 12px;padding:38px;font-family:Fredoka,sans-serif;font-size:clamp(25px,2.4vw,34px);font-weight:600;line-height:1.25}.punchline{color:#8c4670;margin:22px 8px 4px;font-size:19px;font-weight:900;line-height:1.55}.question-card{background:linear-gradient(120deg,#ffd6e0eb,#fffffff5,#f0e7fff2);flex-direction:column;grid-column:1/-1;justify-content:center;min-height:210px;display:flex}.question-text{max-width:900px;margin:4px 0 0 70px;font-family:Fredoka,sans-serif;font-size:clamp(28px,3vw,40px);font-weight:600;line-height:1.25}footer{text-align:center;color:#866984;padding:46px 0 70px;font-weight:800}footer span{color:var(--coral)}.date-page{color:#ffd6e8;background:radial-gradient(circle at 20% 18%,#ffb6cd29,#0000 28%),radial-gradient(circle at 80% 82%,#ff8fab1f,#0000 30%),#050305;place-items:center;min-height:100svh;padding:24px;display:grid;overflow:hidden}.date-card{text-align:center;width:min(680px,100%);animation:.45s ease-out both modal-pop}.date-card h1{letter-spacing:-.045em;text-shadow:0 0 28px #ff8fab42;margin:0;font-family:Fredoka,sans-serif;font-size:clamp(52px,10vw,104px);line-height:.98}.date-actions{touch-action:none;width:min(430px,100%);height:180px;margin:54px auto 0;position:relative}.date-choice{border:2px solid #ffc1d8;border-radius:999px;width:104px;height:54px;font-size:20px;font-weight:900;transition:transform .14s ease-out,background .2s,color .2s,box-shadow .2s;position:absolute}.date-choice--yes{z-index:2;color:#160812;cursor:pointer;background:#ffb6cd;top:48px;left:24px;box-shadow:0 0 28px #ffb6cd4d}.date-choice--yes:hover{background:#ffd6e8;transform:translateY(-3px);box-shadow:0 0 36px #ffb6cd7a}.date-choice--yes:focus-visible{outline-offset:5px;outline:4px solid #fff}.date-choice--no{color:#ffc1d8;cursor:not-allowed;-webkit-user-select:none;user-select:none;background:0 0;top:0;left:0}.date-heart{color:#ff8fab;filter:drop-shadow(0 0 25px #ff8fab85);margin-bottom:22px;font-size:clamp(74px,14vw,130px);animation:.55s ease-out both heart-pop}.date-card--accepted h1{color:#ffd6e8}.responses-page{background:radial-gradient(circle at 15% 12%,#ff8fab33,#0000 25%),radial-gradient(circle at 85% 88%,#cdb4ff33,#0000 28%),#fff9f4;min-height:100svh;padding:44px 22px}.responses-page--locked{place-items:center;display:grid}.responses-login,.responses-dashboard{background:#fffffff0;border:1px solid #f1dfe6;border-radius:32px;width:min(760px,100%);margin:0 auto;box-shadow:0 22px 60px #3a153b1f}.responses-login{text-align:center;max-width:520px;padding:42px}.responses-lock{background:var(--soft-pink);width:68px;height:68px;color:var(--coral);border-radius:50%;place-items:center;margin:0 auto 18px;font-size:34px;display:grid}.responses-kicker{color:#9a6d8d;letter-spacing:.15em;margin:0 0 8px;font-size:11px;font-weight:900}.responses-login h1,.responses-dashboard h1{margin:0;font-family:Fredoka,sans-serif;font-size:clamp(38px,7vw,58px);line-height:1}.responses-login>p:not(.responses-kicker):not(.responses-error){color:#745d73;margin:18px auto 26px;line-height:1.55}.responses-login-form{text-align:left;gap:10px;display:grid}.responses-login-form label{font-size:13px;font-weight:900}.responses-login-form input{background:#fff;border:2px solid #eadde7;border-radius:15px;outline:none;width:100%;min-height:54px;padding:0 16px;font-size:18px}.responses-login-form input:focus{border-color:var(--hot-pink);box-shadow:0 0 0 4px #ff8fab26}.responses-login-form button,.responses-logout{cursor:pointer;border:0;border-radius:15px;font-weight:900}.responses-login-form button{background:var(--coral);color:#fff;min-height:54px;margin-top:5px}.responses-error{color:#bd3246;margin:14px 0 0;font-weight:900}.responses-dashboard{padding:34px}.responses-dashboard-header{border-bottom:1px solid #f1e6ed;justify-content:space-between;align-items:center;gap:20px;padding-bottom:27px;display:flex}.responses-logout{background:var(--lavender);color:var(--plum);padding:12px 16px}.responses-list{gap:14px;padding-top:24px;display:grid}.response-row{background:linear-gradient(120deg,#fff6f8,#f7f0ff);border-radius:20px;justify-content:space-between;align-items:center;gap:20px;padding:20px;display:flex}.response-row p{margin:0 0 5px;font-family:Fredoka,sans-serif;font-size:21px;font-weight:600}.response-row time{color:#806b7d;font-size:13px;font-weight:800}.response-row strong{color:#c83f62;flex:none;font-size:20px}.responses-empty{text-align:center;padding:70px 20px 48px}.responses-empty span{color:var(--hot-pink);font-size:58px}.responses-empty h2{margin:10px 0 6px;font-family:Fredoka,sans-serif;font-size:28px}.responses-empty p{color:#806b7d;margin:0}@media (width<=560px){.responses-login,.responses-dashboard{border-radius:24px;padding:26px 20px}.responses-dashboard-header,.response-row{align-items:flex-start}}@keyframes rise-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes art-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes heart-pop{0%{opacity:0;transform:rotate(4deg)scale(.84)}to{opacity:1;transform:rotate(4deg)scale(1)}}@keyframes modal-pop{0%{opacity:0;transform:scale(.94)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}@media (width<=900px){.page-shell{width:min(100% - 40px,680px)}.hero{grid-template-columns:1fr;min-height:auto;padding-top:50px}.hero-art{height:360px;margin-top:0}.shape--pink{width:340px;height:290px;right:6%}.shape--lilac{width:300px;height:230px;left:6%}.big-heart{font-size:190px;top:92px;right:22%}.flower{transform-origin:100% 0;right:9%;transform:scale(.8)}.smiley{bottom:20px;right:6%;transform:scale(.85)rotate(-7deg)}.daily-grid{grid-template-columns:1fr}.question-card{grid-column:auto}.question-text{margin-left:0}}@media (width<=560px){.page-shell{width:calc(100% - 32px)}.site-header{min-height:76px;font-size:18px}.corner-blob--top{width:280px;height:150px}.hero{gap:8px;padding:36px 0 46px}.hero h1{font-size:clamp(49px,15vw,68px)}.reminder{font-size:25px}.surprise-callout{margin-top:30px}.surprise-button{width:74px;height:74px;font-size:39px}.heart-hint{font-size:15px}.hero-art{height:300px;transform:scale(.95)}.shape--pink{width:280px;height:250px;right:-30px}.shape--lilac{width:250px;height:190px;left:-20px}.big-heart{font-size:155px;top:86px;right:17%}.flower{right:2%;transform:scale(.62)}.smiley{bottom:0;right:-10px;transform:scale(.67)rotate(-7deg)}.daily-card{border-radius:26px;padding:21px}.photo-placeholder{height:230px;min-height:230px}.daily-photo{height:430px}blockquote{padding:26px}.date-actions{height:220px;margin-top:42px}.date-choice--yes{left:10px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}
