@import "https://fonts.googleapis.com/css2?family=Fredoka:wght@500;600;700&family=Nunito:wght@400;600;700;800&display=swap";:root{color:#342722;font-synthesis:none;background:#f4ede6;font-family:DM Sans,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button{-webkit-tap-highlight-color:transparent}.page-shell{background:radial-gradient(circle at 20% 0,#fff 0,#0000 32%),linear-gradient(145deg,#f7f0ea,#eadfd5);place-items:center;min-height:100vh;padding:42px 20px 64px;display:grid;position:relative;overflow:hidden}.grain{opacity:.2;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.22'/%3E%3C/svg%3E");position:absolute;inset:0}.doodle{color:#c76e65;opacity:.5;font-family:serif;font-size:46px;position:absolute;transform:rotate(-12deg)}.doodle-one{top:12%;left:10%}.doodle-two{font-size:30px;top:17%;right:12%}.doodle-three{bottom:13%;right:9%;transform:rotate(18deg)}.card{z-index:1;background:#fffcf8ed;border:1px solid #6a473929;flex-direction:column;width:min(100%,640px);min-height:720px;padding:30px 48px 42px;display:flex;position:relative;box-shadow:0 30px 80px #51362d24}.card:before,.card:after{content:"";background:#c2a5887a;width:52px;height:18px;position:absolute;top:12px}.card:before{left:-19px;transform:rotate(-40deg)}.card:after{right:-19px;transform:rotate(40deg)}.brand{border-bottom:1px solid #ded1c6;justify-content:space-between;align-items:center;padding-bottom:23px;display:flex}.brand-mark{color:#a64f49;font-family:Playfair Display,serif;font-size:19px;font-style:italic}.eyebrow,.step-label,.kicker{text-transform:uppercase;letter-spacing:.19em;color:#966b5e;font-size:11px;font-weight:600}.content{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;animation:.45s both enter;display:flex}@keyframes enter{0%{opacity:0;transform:translateY(10px)}}h1{letter-spacing:-.04em;margin:10px 0 18px;font-family:Playfair Display,serif;font-size:clamp(42px,7vw,62px);font-weight:600;line-height:1.03}h1 em{color:#b6504a;font-weight:600}.subtitle{color:#75645d;max-width:440px;margin:0 0 28px;font-size:15px;line-height:1.65}.postcard{color:#bd655d;background:#fffaf5;border:2px solid #bd655d;width:124px;height:82px;margin:8px 0 25px;position:relative;transform:rotate(-4deg);box-shadow:5px 6px #ead2c6}.stamp{border:1px dashed;padding:4px;font-size:7px;line-height:1.2;position:absolute;top:8px;right:8px}.post-heart{font-size:25px;position:absolute;top:22px;left:22px}.post-line{background:currentColor;width:45px;height:1px;position:absolute;right:9px}.post-line.one{bottom:26px}.post-line.two{bottom:19px}.post-line.three{bottom:12px}.actions{align-items:center;gap:20px;display:flex}.ask-actions{flex-direction:column;width:100%;position:relative}.button{cursor:pointer;border:0;transition:all .2s}.primary{color:#fff;background:#aa4d48;border-radius:2px;min-height:54px;padding:0 26px;font-weight:600;box-shadow:0 8px 20px #aa4d483b}.primary span{margin-left:12px}.primary:disabled{opacity:.35;cursor:not-allowed;box-shadow:none}.text-button{color:#88736a;text-underline-offset:4px;background:0 0;padding:8px 18px;text-decoration:underline}.tiny-note{color:#a98175;margin:7px 0 -20px;font-size:12px;animation:.3s both note-pop}.no-playground{width:100%;height:98px;position:relative}.no-button{color:#88736a;white-space:nowrap;background:#fffaf6;border:1px solid #dec9bd;border-radius:999px;padding:10px 18px;position:absolute;top:0;left:50%;transform:translate(-50%);box-shadow:0 4px 12px #482e2612}.no-button:hover{color:#a74d48;border-color:#c98e83}.no-button.is-running{transition:left .28s cubic-bezier(.2,.8,.2,1),top .28s cubic-bezier(.2,.8,.2,1),transform .2s;transform:translate(-50%,-50%)rotate(-3deg)}.no-button.is-running:hover{transform:translate(-50%,-50%)rotate(3deg)scale(1.04)}.no-reaction{z-index:3;pointer-events:none;width:100%;height:0;position:relative}.no-reaction span{color:#c9635b;font-family:serif;animation:.65s ease-out both heart-pop;position:absolute}.no-reaction span:first-child{font-size:22px;top:4px;left:22%}.no-reaction span:nth-child(2){font-size:17px;animation-delay:80ms;top:-14px;right:24%}.no-reaction span:nth-child(3){font-size:13px;animation-delay:.14s;top:23px;right:13%}@keyframes heart-pop{0%{opacity:0;transform:translateY(18px)scale(.4)rotate(-15deg)}45%{opacity:1}to{opacity:0;transform:translateY(-28px)scale(1.2)rotate(12deg)}}@keyframes note-pop{0%{opacity:0;transform:scale(.9)}}.choice-screen{text-align:left;align-items:stretch;position:relative}.choice-screen h1{font-size:clamp(39px,7vw,55px)}.choice-screen .subtitle{margin-bottom:24px}.back{cursor:pointer;color:#684d44;background:0 0;border:1px solid #decec3;border-radius:50%;width:38px;height:38px;position:absolute;top:20px;left:0}.step-label{margin-top:40px}.date-field{background:#fffdfb;border:1px solid #d8c4b7;flex-direction:column;margin-bottom:16px;padding:16px 18px 12px;display:flex}.date-field span{letter-spacing:.15em;text-transform:uppercase;color:#a17568;margin-bottom:5px;font-size:10px}.date-field input{color:#493832;background:0 0;border:0;outline:none;min-height:30px;font-size:17px}.full{width:100%}.venue-list{gap:10px;margin:8px 0 17px;display:grid}.venue-option{text-align:left;cursor:pointer;color:#45332d;background:#fffdfa;border:1px solid #dfd0c6;grid-template-columns:48px 1fr 28px;align-items:center;gap:10px;padding:13px 14px;transition:all .18s;display:grid}.venue-option:hover,.venue-option.selected{background:#fff7f2;border-color:#b95c55;transform:translate(3px)}.venue-icon{font-size:25px}.venue-option strong{font-family:Playfair Display,serif;font-size:17px;display:block}.venue-option small{color:#87736b;margin-top:3px;display:block}.radio{color:#fff;border:1px solid #d2b8ab;border-radius:50%;place-items:center;width:23px;height:23px;font-size:12px;display:grid}.selected .radio{background:#ae524d;border-color:#ae524d}.celebration{color:#b64f49;background:#fff4ed;border:1px solid #d8aea0;border-radius:50%;place-items:center;width:88px;height:88px;margin-bottom:28px;font-size:36px;animation:1.8s infinite pulse;display:grid;box-shadow:0 0 0 10px #faeae1}@keyframes pulse{50%{transform:scale(1.04)}}.done-screen h1{margin-bottom:8px;font-size:64px}.ticket{text-align:left;border-top:1px dashed #c9afa1;border-bottom:1px dashed #c9afa1;width:100%;margin:2px 0 22px;padding:8px 0}.ticket div{grid-template-columns:100px 1fr;padding:12px 5px;display:grid}.ticket div+div{border-top:1px solid #eadfd8}.ticket span{letter-spacing:.13em;color:#a1786c;font-size:10px}.ticket strong{font-family:Playfair Display,serif;font-size:16px}.footer-note{z-index:1;color:#92786c;font-family:Playfair Display,serif;font-size:13px;font-style:italic;position:absolute;bottom:20px}@media (width<=600px){.page-shell{place-items:stretch stretch;padding:0}.card{border:0;min-height:100vh;padding:24px 24px 36px}.card:before,.card:after,.doodle{display:none}.content{padding-top:18px}.footer-note{display:none}.postcard{margin-top:0}h1{font-size:43px}.done-screen h1{font-size:54px}.choice-screen{justify-content:center}.back{top:15px}.no-playground{height:112px}.ask-screen .subtitle{margin-bottom:20px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}:root{color:#493345;background:#fff0e9;font-family:Nunito,sans-serif}.page-shell{background:radial-gradient(circle at 12% 15%,#ffd85c 0 6%,#0000 6.2%),radial-gradient(circle at 88% 13%,#ff9db0 0 8%,#0000 8.2%),radial-gradient(circle at 82% 84%,#9edfc4 0 7%,#0000 7.2%),linear-gradient(145deg,#fff8d8,#ffe5eb 55%,#e9dcff)}.doodle{color:#e04f75;opacity:.68;font-family:Fredoka,sans-serif;font-size:52px}.card{background:#fffffff0;border:3px solid #493345;border-radius:30px;box-shadow:10px 12px #493345,0 30px 80px #74456626}.card:before,.card:after{background:#ffd45e}.brand{border-bottom:2px dashed #e8cbd7;padding-bottom:20px}.brand-mark{color:#5b3d56;font-family:Fredoka,sans-serif;font-size:21px;font-style:normal;font-weight:700;transform:rotate(-2deg)}.brand-mark b{color:#ef517a;margin:0 2px}.eyebrow,.step-label,.kicker{letter-spacing:.15em;color:#b24d72;font-weight:800}h1,.venue-option strong,.ticket strong{font-family:Fredoka,sans-serif}h1{font-weight:700;line-height:1.02}h1 em{color:#ec4f78;font-style:normal;font-weight:700;display:inline-block;transform:rotate(-1deg)}.subtitle{color:#796276}.postcard{color:#ec4f78;background:#fff9c9;border:3px solid #493345;border-radius:8px;transform:rotate(-5deg);box-shadow:6px 7px #ff9eb4}.button{font-family:Nunito,sans-serif;font-weight:800}.primary{background:#ef517a;border:2px solid #493345;border-radius:16px;min-height:56px;padding:0 28px;box-shadow:5px 6px #493345}.primary:hover:not(:disabled){background:#ff668d;transform:translate(-2px,-2px)rotate(-1deg);box-shadow:7px 8px #493345}.primary:active:not(:disabled){transform:translate(3px,3px);box-shadow:2px 3px #493345}.no-button{color:#5f5260;background:#dff7ee;border:2px solid #493345;box-shadow:3px 4px #493345}.no-button:hover{color:#e24470;background:#fff0b9;border-color:#493345}.tiny-note{color:#a34b6b;font-size:13px;font-weight:700}.ask-screen{position:relative}.attempt-badge{z-index:5;background:#ffd85c;border:3px solid #493345;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:96px;height:96px;animation:.35s cubic-bezier(.2,1.5,.5,1) both badge-pop;display:flex;position:absolute;top:70px;right:-18px;transform:rotate(9deg);box-shadow:4px 5px #493345}.attempt-badge span{color:#ec4f78;text-overflow:ellipsis;max-width:78px;font-family:Fredoka,sans-serif;font-size:35px;font-weight:700;line-height:.9;overflow:hidden}.attempt-badge small{letter-spacing:.08em;max-width:70px;margin-top:6px;font-size:8px;font-weight:800;line-height:1.1}.attempt-badge:after{content:"";border:2px dashed #ec4f78;border-radius:50%;position:absolute;inset:-9px}.venue-option{border:2px solid #dfd0c6;border-radius:14px}.celebration{color:#ef517a;background:#fff3a9;border:3px solid #493345;box-shadow:6px 7px #493345}.footer-note{color:#73566e;font-family:Fredoka,sans-serif;font-style:normal}.form-error{color:#c52f5b;text-align:center;margin:12px 0 0;font-size:13px;font-weight:800}.saving-note{color:#a34b6b;text-align:center;margin:-6px 0 10px;font-size:13px;font-weight:800}.venue-option:disabled{cursor:wait;opacity:.65}.date-field{cursor:pointer;background:#fffdf4;border:2px solid #493345;border-radius:18px;padding:15px 18px 13px;transition:transform .18s,box-shadow .18s,background .18s;position:relative;overflow:hidden;box-shadow:4px 5px #493345}.date-field:hover{background:#fff7c9;transform:translate(-1px,-1px);box-shadow:5px 6px #493345}.date-field:focus-within{outline-offset:3px;outline:3px solid #ff9db0}.date-display{color:#493345;-webkit-user-select:none;user-select:none;min-height:30px;font-size:17px;font-weight:800;line-height:30px;display:block}.date-display.placeholder{color:#978591;letter-spacing:.04em;font-weight:700}.date-native{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.river-reminder{text-align:center;flex-direction:column;align-items:center;animation:.4s both enter;display:flex}.river-reminder h1{margin-top:8px;font-size:clamp(36px,6vw,50px)}.river-emoji{background:#bcebd9;border:3px solid #493345;border-radius:50% 46% 52% 44%;place-items:center;width:94px;height:94px;margin-bottom:28px;font-size:47px;animation:1.8s ease-in-out infinite river-bob;display:grid;transform:rotate(-5deg);box-shadow:6px 7px #493345}@keyframes river-bob{50%{transform:translateY(-6px)rotate(5deg)}}@keyframes badge-pop{0%{opacity:0;transform:rotate(-10deg)scale(.4)}to{opacity:1;transform:rotate(9deg)scale(1)}}@media (width<=600px){.card{box-shadow:none;border-radius:0}.attempt-badge{width:78px;height:78px;top:72px;right:-10px}.attempt-badge span{font-size:28px}}
