:root{--lilac-50:#fbf7ff;--lilac-100:#f0e5ff;--lilac-200:#dfc9ff;--lilac-300:#c8a2ff;--lilac-500:#9a63d4;--plum-900:#2d173e;--plum-700:#57306d;--rose-300:#f0adc8;--rose-500:#cf5f91;--sage-200:#dce9d6;--sage-600:#6f8365;--cream:#fffaf3;--ink:#28192f;--paper:rgba(255,250,252,0.86);color:var(--ink);background:var(--lilac-50);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px}*{box-sizing:border-box}html{background:var(--lilac-50)}body,html{min-height:100%}body{min-width:320px;margin:0;background:linear-gradient(135deg,rgba(240,229,255,.96),rgba(251,247,255,.92) 42%,rgba(255,246,250,.94) 70%,rgba(229,238,223,.78))}button{font:inherit}button:focus-visible{outline:3px solid rgba(154,99,212,.35);outline-offset:4px}.proposal-page{position:relative;isolation:isolate;display:grid;min-height:100svh;overflow:hidden;padding:48px 20px;place-items:center}.proposal-shell{position:relative;z-index:1;width:min(100%,860px)}.proposal-copy{max-width:720px;margin:0 auto 24px;text-align:center}.proposal-eyebrow{margin:0 0 12px;color:var(--rose-500);font-size:.85rem;font-weight:800;letter-spacing:0;text-transform:uppercase}h1{max-width:760px;margin:0 auto;color:var(--plum-900);font-family:Georgia,Times New Roman,serif;font-size:3rem;font-weight:500;letter-spacing:0;line-height:1.08;text-wrap:balance}.poem-panel{position:relative;width:min(100%,760px);margin:0 auto;padding:38px;overflow:hidden;border:1px solid rgba(154,99,212,.24);border-radius:8px;background:linear-gradient(180deg,rgba(255,250,252,.94),rgba(255,250,243,.88)),var(--paper);box-shadow:0 28px 70px rgba(93,49,119,.18),inset 0 1px 0 rgba(255,255,255,.75);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}.poem-panel:after,.poem-panel:before{position:absolute;width:210px;height:1px;background:linear-gradient(90deg,transparent,rgba(154,99,212,.44),transparent);content:""}.poem-panel:before{top:22px;left:28px}.poem-panel:after{right:28px;bottom:22px}.poem-panel__mark{width:56px;height:56px;margin:0 auto 22px;border:1px solid rgba(154,99,212,.24);border-radius:50%;background:linear-gradient(140deg,rgba(200,162,255,.24),rgba(240,173,200,.32)),url(/lilac-bloom.svg) 50% /78px auto no-repeat}.poem-panel__text{position:relative;margin:0;color:rgba(45,23,62,.9);font-family:Georgia,Times New Roman,serif;font-size:1.18rem;letter-spacing:0;line-height:1.82}.poem-panel__text+.poem-panel__text{margin-top:22px}.proposal-actions{width:min(100%,760px);margin:24px auto 0}.proposal-actions__buttons{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}.proposal-button{min-height:50px;min-width:148px;border:1px solid transparent;border-radius:8px;cursor:pointer;font-weight:800;letter-spacing:0;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease}.proposal-button:hover{transform:translateY(-2px)}.proposal-button--primary{color:white;background:linear-gradient(135deg,var(--plum-700),var(--lilac-500) 68%,var(--rose-500));box-shadow:0 16px 34px rgba(87,48,109,.26)}.proposal-button--secondary{color:var(--plum-700);border-color:rgba(154,99,212,.28);background:rgba(255,250,252,.76);box-shadow:0 12px 26px rgba(87,48,109,.12)}.proposal-answer{display:grid;grid-gap:6px;gap:6px;max-width:640px;min-height:82px;margin:0 auto;padding:18px 22px;border:1px solid rgba(111,131,101,.32);border-radius:8px;background:rgba(255,250,243,.82);color:var(--plum-900);text-align:center;box-shadow:0 18px 42px rgba(87,48,109,.14);animation:answer-rise .48s ease both}.proposal-answer__line{font-family:Georgia,Times New Roman,serif;font-size:1.35rem;line-height:1.25}.proposal-answer__detail{color:var(--sage-600);font-size:.98rem;font-weight:700;line-height:1.5}.romantic-backdrop{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}.romantic-backdrop:before{position:absolute;inset:0;background-image:linear-gradient(rgba(154,99,212,.07) 1px,transparent 0),linear-gradient(90deg,rgba(154,99,212,.06) 1px,transparent 0);background-size:64px 64px;-webkit-mask-image:linear-gradient(180deg,transparent,black 18%,black 80%,transparent);mask-image:linear-gradient(180deg,transparent,black 18%,black 80%,transparent);content:""}.romantic-backdrop__veil{position:absolute;left:-18%;width:136%;height:190px;opacity:.62;filter:blur(1px);transform:rotate(-8deg)}.romantic-backdrop__veil--one{top:10%;background:linear-gradient(90deg,transparent,rgba(200,162,255,.34) 36%,rgba(240,173,200,.2) 54%,transparent)}.romantic-backdrop__veil--two{bottom:7%;background:linear-gradient(90deg,transparent,rgba(220,233,214,.42) 32%,rgba(200,162,255,.28) 68%,transparent);transform:rotate(7deg)}.romantic-backdrop__bloom{position:absolute;width:360px;max-width:58vw;opacity:.52;filter:drop-shadow(0 22px 28px rgba(87,48,109,.12))}.romantic-backdrop__bloom--left{bottom:-42px;left:-46px;transform:rotate(-10deg)}.romantic-backdrop__bloom--right{top:-34px;right:-60px;transform:scaleX(-1) rotate(-14deg)}.romantic-backdrop__petal{position:absolute;top:var(--y);left:var(--x);width:var(--size);height:calc(var(--size) * 1.42);border-radius:70% 30% 70% 30%;background:linear-gradient(160deg,rgba(200,162,255,.9),rgba(240,173,200,.7));box-shadow:0 8px 18px rgba(87,48,109,.12);opacity:.62;transform:rotate(28deg);animation:petal-drift var(--duration) ease-in-out var(--delay) infinite alternate}.romantic-backdrop--celebrating .romantic-backdrop__petal{opacity:.95;animation-name:petal-celebrate}@keyframes petal-drift{0%{transform:translateZ(0) rotate(18deg)}to{transform:translate3d(18px,-22px,0) rotate(56deg)}}@keyframes petal-celebrate{0%{transform:translateZ(0) rotate(18deg) scale(1)}to{transform:translate3d(24px,-54px,0) rotate(86deg) scale(1.2)}}@keyframes answer-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (max-width:720px){.proposal-page{padding:28px 14px}h1{font-size:2.15rem}.proposal-copy{margin-bottom:18px}.poem-panel{padding:30px 22px}.poem-panel__text{font-size:1.04rem;line-height:1.72}.proposal-actions__buttons{display:grid;grid-template-columns:1fr}.proposal-button{width:100%}.romantic-backdrop__bloom{width:260px;opacity:.42}}@media (max-width:420px){h1{font-size:1.82rem}.poem-panel{padding:28px 18px}.poem-panel__text{font-size:.98rem}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}