@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter-latin.woff2) format("woff2")}@font-face{font-family:Playfair Display;font-style:normal;font-weight:400 900;font-display:swap;src:url(/fonts/playfair-display-latin.woff2) format("woff2")}:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;color:#70515a;background:#fff8f3;color-scheme:only light;font-synthesis:none;text-rendering:optimizeLegibility;--wine: #d76580;--wine-dark: #c95270;--rose: #cf7186;--dusty-rose: #ecacb8;--coral: #dc8b79;--blush: #fff0f1;--cream: #fffdf9;--ink: #70515a;--muted: #98757e;--hairline: rgba(204, 102, 127, .17);--shadow: 0 28px 80px rgba(170, 88, 105, .09), 0 4px 16px rgba(170, 88, 105, .055)}*{box-sizing:border-box}html{min-width:320px;background:#fff8f3;color-scheme:only light}body{min-width:320px;min-height:100vh;margin:0;overflow-x:hidden;color:var(--ink);background:#fff8f3}button,input{font:inherit}button:focus-visible,input:focus-visible{outline:3px solid rgba(215,101,128,.25);outline-offset:3px}.rotate-180{transform:rotate(180deg)}.app-shell{position:relative;isolation:isolate;min-height:100svh;display:grid;grid-template-columns:minmax(0,1fr);place-items:center;width:100%;padding:max(22px,env(safe-area-inset-top)) 16px max(58px,env(safe-area-inset-bottom));overflow:hidden;background:radial-gradient(circle at 50% 8%,rgba(255,255,255,.98),transparent 36%),linear-gradient(145deg,#fff9f4,#fdeef0 51%,#fff2e9)}.ambient-glow{position:fixed;z-index:-2;width:38vw;height:38vw;min-width:260px;min-height:260px;border-radius:999px;filter:blur(60px);opacity:.48;pointer-events:none}.glow-one{top:-18vw;right:-8vw;background:#f4aebe80}.glow-two{bottom:-20vw;left:-10vw;background:#fbc1a36b}.floating-hearts{position:fixed;z-index:-1;inset:0;pointer-events:none}.floating-hearts span{position:absolute;color:#d7798c;filter:drop-shadow(0 4px 8px rgba(190,92,115,.08))}.floating-hearts.lively span{color:#d85f7b}.experience-card{position:relative;width:100%;max-width:620px;min-width:0;justify-self:center;padding:32px 20px 26px;overflow:hidden;border:1px solid rgba(255,255,255,.92);border-radius:24px;background:#fffdf9e6;box-shadow:var(--shadow);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}h1{margin:0;color:var(--wine);font-family:Playfair Display,Georgia,serif;font-size:clamp(2.05rem,9.2vw,3.35rem);font-weight:500;letter-spacing:-.04em;line-height:1.08}.title-flower{display:inline-block;margin-left:.08em;color:#dc7d92;font-family:Georgia,serif;font-size:.72em;line-height:1;transform:translateY(-.04em) rotate(7deg)}.screen-heading{margin-bottom:26px;text-align:center}.screen-heading h1{font-size:clamp(2rem,8vw,3rem)}.screen-heading p{max-width:430px;margin:13px auto 0;color:var(--muted);font-size:.87rem;line-height:1.58}.primary-button{min-height:52px;border:0;border-radius:18px;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:0 21px;cursor:pointer;color:#fff;background:var(--wine);box-shadow:0 11px 23px #d7658040;font-size:.78rem;font-weight:650;letter-spacing:.1em;transition:background-color .3s ease-in-out,box-shadow .3s ease-in-out,opacity .3s ease-in-out}.primary-button:hover:not(:disabled){background:var(--wine-dark);box-shadow:0 14px 28px #d765804a}.primary-button:disabled{cursor:not-allowed;color:#b99da4;background:#f2e3e5;box-shadow:none}.proposal-card{max-width:680px;overflow:visible;padding-block:clamp(48px,10vh,82px)}.proposal-copy{min-width:0;text-align:center}.proposal-actions{position:relative;width:min(100%,384px);display:grid;grid-template-columns:minmax(0,260px) 106px;align-items:center;justify-content:center;gap:18px;margin:42px auto 0}.yes-button{width:100%}.no-button-slot{width:106px;min-height:52px;display:grid;place-items:stretch}.no-button-slot .no-button{width:100%}.no-button{min-width:106px;min-height:52px;border:1px solid rgba(215,101,128,.2);border-radius:18px;padding:0 18px;cursor:pointer;color:#8a6871;background:#ffffffeb;box-shadow:0 8px 18px #9c4e6212;font-size:.75rem;font-weight:650;letter-spacing:.1em;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:none}.no-button-free{position:fixed;z-index:80;margin:0}.activity-screen{max-width:680px}.activity-grid{display:grid;grid-template-columns:1fr;gap:10px}.activity-card{position:relative;min-height:76px;border:1px solid var(--hairline);border-radius:20px;display:flex;align-items:center;gap:14px;padding:13px 16px;cursor:pointer;text-align:left;color:var(--ink);background:#ffffffb3;box-shadow:0 4px 12px #9c4e6208;transition:border-color .3s ease-in-out,background-color .3s ease-in-out,box-shadow .3s ease-in-out}.activity-card:hover{border-color:#d7658057;background:#fff9f6;box-shadow:0 10px 24px #9c4e6213}.activity-card.selected{border-color:#d7658061;background:var(--blush);box-shadow:inset 0 0 0 1px #d765800f}.activity-icon{width:42px;height:42px;flex:0 0 auto;display:grid;place-items:center;border-radius:14px;background:#fff1f0;font-size:1.32rem}.activity-text{display:flex;flex-direction:column;gap:4px}.activity-text strong{font-family:Playfair Display,Georgia,serif;font-size:1rem;font-weight:600}.activity-text small{color:var(--muted);font-size:.7rem}.selection-dot{width:16px;height:16px;margin-left:auto;border:1px solid #ddc0c4;border-radius:50%;transition:.3s ease-in-out}.activity-card.selected .selection-dot{border-color:var(--wine);background:var(--wine);box-shadow:inset 0 0 0 4px var(--blush)}.schedule-screen{max-width:850px}.schedule-layout{display:grid;gap:24px}.schedule-section{min-width:0}.section-label{display:flex;align-items:center;gap:9px;margin-bottom:10px;color:var(--rose);font-size:.68rem;font-weight:650;letter-spacing:.14em;text-transform:uppercase}.section-label span{width:25px;height:25px;display:grid;place-items:center;border:1px solid rgba(215,101,128,.23);border-radius:50%;font-size:.58rem}.calendar{padding:13px;border:1px solid var(--hairline);border-radius:20px;background:#ffffffb3}.calendar-header{height:38px;display:grid;grid-template-columns:36px 1fr 36px;align-items:center;margin-bottom:4px;text-align:center}.calendar-header strong{font-family:Playfair Display,Georgia,serif;font-size:.96rem;font-weight:600}.month-arrow{width:34px;height:34px;border:0;border-radius:11px;display:grid;place-items:center;cursor:pointer;color:var(--rose);background:transparent;transition:background-color .3s ease-in-out}.month-arrow:hover:not(:disabled){background:var(--blush)}.month-arrow:disabled{cursor:not-allowed;opacity:.25}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px}.weekday-row{margin-bottom:3px}.weekday-row span{min-height:27px;display:grid;place-items:center;color:#ad8990;font-size:.6rem;font-weight:650}.calendar-grid button{aspect-ratio:1;min-width:0;border:0;border-radius:11px;cursor:pointer;color:#74535c;background:transparent;font-size:.69rem;transition:.3s ease-in-out}.calendar-grid button:hover:not(:disabled){background:var(--blush);transform:translateY(-1px)}.calendar-grid button:disabled{cursor:default;color:#d9c5c6}.calendar-grid button.today:not(.selected){color:var(--wine);box-shadow:inset 0 0 0 1px #d7658052}.calendar-grid button.selected{color:#fff;background:var(--wine);box-shadow:0 6px 13px #d7658040}.time-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.time-grid button{min-height:44px;border:1px solid var(--hairline);border-radius:14px;cursor:pointer;color:#76565f;background:#ffffffc2;font-size:.72rem;font-weight:550;transition:.3s ease-in-out}.time-grid button:hover{border-color:#d765805c;background:#fff9f6}.time-grid button.selected{border-color:var(--wine);color:#fff;background:var(--wine)}.custom-time{position:relative;min-height:52px;margin-top:10px;border:1px solid var(--hairline);border-radius:15px;color:var(--muted);background:#ffffffc2;font-size:.72rem;transition:.3s ease-in-out}.custom-time.selected{border-color:var(--wine);box-shadow:inset 0 0 0 1px #d7658014}.custom-time-trigger{width:100%;min-height:50px;border:0;display:grid;grid-template-columns:1fr auto 18px;align-items:center;gap:9px;padding:8px 13px 8px 15px;cursor:pointer;color:var(--muted);background:transparent;text-align:left}.custom-time-trigger strong{color:var(--wine);font-size:.72rem;font-weight:650}.custom-time-trigger svg{width:17px;height:17px;color:var(--rose)}.custom-time-panel{margin:0 8px 8px;border:1px solid rgba(215,101,128,.18);border-radius:14px;padding:12px;background:#fffaf8;box-shadow:0 16px 34px #aa58691f}.custom-time-heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:11px;color:var(--ink)}.custom-time-heading strong{font-family:Playfair Display,Georgia,serif;font-size:.88rem}.custom-time-heading span{color:var(--wine);font-size:.69rem;font-weight:700}.custom-time-label{display:block;margin:10px 0 6px;color:#a17d85;font-size:.56rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase}.custom-hour-grid,.custom-minute-grid{display:grid;gap:5px}.custom-hour-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.custom-minute-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.custom-hour-grid button,.custom-minute-grid button{min-width:0;min-height:30px;border:1px solid transparent;border-radius:9px;cursor:pointer;color:#76565f;background:var(--blush);font-size:.65rem;transition:.2s ease-in-out}.custom-hour-grid button:hover,.custom-minute-grid button:hover{border-color:#d765804d;background:#ffe5e8}.custom-hour-grid button.selected,.custom-minute-grid button.selected{border-color:var(--wine);color:#fff;background:var(--wine)}.sunset-time-card{min-height:154px;border:1px solid var(--hairline);border-radius:20px;display:flex;align-items:flex-start;gap:14px;padding:20px;background:linear-gradient(145deg,#fffaf4eb,#ffe8e3db)}.sunset-time-card>span{font-size:1.7rem}.sunset-time-card div{display:flex;flex-direction:column;gap:5px}.sunset-time-card small{color:var(--rose);font-size:.64rem;font-weight:650;letter-spacing:.12em;text-transform:uppercase}.sunset-time-card strong{color:var(--wine);font-family:Playfair Display,Georgia,serif;font-size:1.35rem}.sunset-time-card p{margin:4px 0 0;color:var(--muted);font-size:.72rem;line-height:1.5}.set-date-button{width:100%;margin-top:24px}.primary-button .button-heart{color:currentColor;font-size:1.02rem;text-shadow:none}.confirmation-screen{max-width:570px;padding-bottom:20px;text-align:center}.celebration-mark{position:relative;z-index:2;width:66px;height:66px;margin:0 auto 19px;display:grid;place-items:center;border:1px solid rgba(215,101,128,.22);padding:0;cursor:pointer;border-radius:50%;color:var(--wine);background:#fff3f3;box-shadow:0 12px 30px #d765802e;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.celebration-mark.bursting{opacity:1}.celebration-mark.bursting .single-heart{opacity:0}.celebration-mark .single-heart{font-size:1.72rem}.celebration-heart{display:grid;place-items:center;will-change:transform}.single-heart{display:block;color:var(--wine);font-family:Georgia,serif;font-style:normal;line-height:1;text-shadow:0 5px 15px rgba(199,73,104,.18)}.confirmation-screen .screen-heading{position:relative;z-index:2}.summary-card{position:relative;z-index:2;display:grid;gap:2px;overflow:hidden;border:1px solid var(--hairline);border-radius:20px;text-align:left;background:#ffffffbd}.summary-card>div{min-height:62px;display:flex;align-items:center;gap:14px;padding:10px 15px;border-bottom:1px solid var(--hairline)}.summary-card>div:last-child{border-bottom:0}.summary-card>div>span:last-child{min-width:0;display:flex;flex-direction:column;gap:3px}.summary-card small{color:#a17d85;font-size:.6rem;font-weight:650;letter-spacing:.12em;text-transform:uppercase}.summary-card strong{overflow:hidden;color:var(--ink);font-family:Playfair Display,Georgia,serif;font-size:.92rem;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.summary-icon{width:36px;height:36px;flex:0 0 auto;display:grid;place-items:center;border-radius:12px;color:var(--wine);background:var(--blush)}.summary-icon svg{width:18px;height:18px}.summary-icon.emoji{font-size:1rem}.date-quote{position:relative;z-index:2;margin:18px 0 20px;color:var(--wine);font-family:Playfair Display,Georgia,serif}.date-quote p{margin:0;font-size:1rem;line-height:1.36}.date-quote cite{display:block;margin-top:5px;color:var(--muted);font-family:Inter,sans-serif;font-size:.58rem;font-style:normal}.date-quote cite em{font-style:italic}.calendar-button{position:relative;z-index:2;width:100%;letter-spacing:.04em}.calendar-button svg{width:18px;height:18px}.restart-button{position:relative;z-index:2;margin:15px auto 0;border:0;cursor:pointer;color:#9e7981;background:transparent;font-size:.68rem;text-decoration:underline;text-decoration-color:#9e798159;text-underline-offset:4px;transition:color .3s ease-in-out}.restart-button:hover{color:var(--wine)}.tiny-love-note{position:relative;z-index:2;max-width:390px;margin:18px auto 0;color:#78505b85;font-family:Playfair Display,Georgia,serif;font-size:clamp(.51rem,1.8vw,.6rem);font-style:italic;line-height:1.45;text-align:center}.turnstile-host{position:absolute;width:1px;height:1px;overflow:hidden}.confetti{position:absolute;z-index:1;inset:0;overflow:hidden;pointer-events:none}.confetti i{position:absolute;top:-8px;width:5px;height:9px;border-radius:999px}.heart-burst-overlay{position:fixed;z-index:100;inset:0;overflow:hidden;pointer-events:none}.heart-burst-origin,.heart-burst-particle-origin{position:absolute;left:var(--burst-x);top:var(--burst-y);display:block;transform:translate(-50%,-50%)}.heart-burst-core{display:block;filter:drop-shadow(0 20px 34px rgba(207,75,107,.28));font-size:3.75rem;line-height:1;transform-origin:center}.heart-burst-core .single-heart{color:#d95c78}.heart-burst-flash{width:140vmax;height:140vmax;display:block;border-radius:50%;background:radial-gradient(circle,#fff 0 5%,#fff0ef 16%,#efa5b1 40%,#d7658000 72%)}.heart-burst-ring{position:absolute;left:50%;top:50%;width:88px;height:88px;display:block;border:3px solid rgba(255,255,255,.84);border-radius:50%;box-shadow:0 0 40px #d7658059;transform:translate(-50%,-50%)}.heart-burst-particle{display:block;color:#fff6f2;font-style:normal;text-shadow:0 2px 12px rgba(190,76,103,.38)}.made-with-care{position:fixed;z-index:-1;bottom:max(17px,env(safe-area-inset-bottom));left:50%;margin:0;transform:translate(-50%);color:#905d6994;font-family:Playfair Display,Georgia,serif;font-size:.67rem;font-style:italic;white-space:nowrap}@media(min-width:520px){.experience-card{padding:38px 34px 30px}.activity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.proposal-card{padding-inline:40px}.time-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.confirmation-screen{padding-bottom:22px}}@media(min-width:760px){.app-shell{padding:40px 24px 62px}.schedule-layout{grid-template-columns:minmax(0,1.2fr) minmax(230px,.8fr);align-items:start;gap:24px}.time-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.set-date-button{width:240px;margin-left:auto}}@media(max-width:519px){.proposal-actions{grid-template-columns:minmax(0,1fr);justify-items:center}.yes-button{width:100%}.no-button-slot{width:44%}.schedule-screen{padding-top:27px}.schedule-layout{gap:20px}.screen-heading{margin-bottom:21px}.confirmation-screen{padding-top:28px}}@media(max-height:720px)and (min-width:760px){.app-shell{place-items:start center}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
