:root{--ink:#4d2949;--muted:#815b79;--pink:#ef8fbd;--pink2:#f9cbe2;--purple:#8b62b5;--purple2:#d9c3ef;--cream:#fff9fc;--card:rgba(255,255,255,.74)}*{box-sizing:border-box}body{margin:0;min-height:100vh;font-family:'Alexandria',system-ui,sans-serif;color:var(--ink);background:radial-gradient(circle at 20% 10%,#fff 0 8%,transparent 28%),radial-gradient(circle at 85% 25%,#ead9f8 0 5%,transparent 27%),linear-gradient(155deg,#fff8fc,#f9d8ea 46%,#e6d5f4);overflow-x:hidden}.shell{width:min(100%,520px);margin:auto;min-height:100vh;padding:28px 20px 38px;position:relative;z-index:2}.view{display:none;animation:in .45s ease}.view.active{display:block}@keyframes in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.flower-mark,.bouquet{text-align:center;letter-spacing:8px;font-size:30px;filter:drop-shadow(0 8px 12px rgba(116,64,108,.15));margin:15px 0}.flower-mark span:nth-child(2){font-size:20px}.eyebrow{text-align:center;font-size:12px;letter-spacing:.4px;color:var(--purple);font-weight:600;margin:8px 0}h1{text-align:center;font-size:37px;line-height:1.35;margin:7px 0 10px;font-weight:600}h1 em{font-style:normal;color:#bd5792;font-size:42px}.intro{text-align:center;color:var(--muted);font-size:14px;line-height:1.9;margin:0 auto 23px;max-width:350px}.moods{display:grid;grid-template-columns:1fr 1fr;gap:11px}.mood{border:1px solid rgba(255,255,255,.8);background:var(--card);box-shadow:0 12px 30px rgba(105,57,101,.09);border-radius:21px;padding:17px 11px;min-height:96px;color:var(--ink);font:inherit;cursor:pointer;backdrop-filter:blur(12px);transition:.2s}.mood:active{transform:scale(.97)}.mood span{display:block;font-size:27px;margin-bottom:7px}.mood b{font-size:14px}.mood.wide{grid-column:1/-1;background:linear-gradient(120deg,rgba(255,255,255,.8),rgba(242,218,250,.85))}.actions{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-top:22px;padding-top:20px;border-top:1px solid rgba(115,71,110,.12)}.actions button{border:0;border-radius:20px;padding:17px 10px;font:inherit;color:#fff;box-shadow:0 12px 25px rgba(107,63,104,.15);cursor:pointer}.actions span{font-size:25px;display:block;margin-bottom:5px}.actions b,.actions small{display:block}.actions b{font-size:14px}.actions small{font-size:9px;margin-top:4px;opacity:.85}.gift{background:linear-gradient(135deg,#9d72c7,#7952a5)}.flowers{background:linear-gradient(135deg,#ef91bd,#d55d9a)}.signature{text-align:center;font-size:9px;color:#9d7b98;margin:26px 0 0}.message-view{padding-top:8px}.back{background:none;border:0;color:var(--purple);font:600 12px inherit;padding:10px 0;cursor:pointer}.letter{margin-top:18px;background:rgba(255,255,255,.82);border:1px solid #fff;border-radius:28px;padding:34px 25px 25px;box-shadow:0 20px 45px rgba(91,51,88,.12);position:relative;min-height:280px;display:flex;flex-direction:column;justify-content:center}.quote{position:absolute;top:10px;right:21px;font-family:Georgia,serif;font-size:52px;color:#e7b1d0;line-height:1}.letter p{white-space:pre-line;font-size:16px;line-height:2.15;text-align:center;margin:10px 0;color:#56334f}.from{text-align:left;color:#a15588;font-size:12px;margin-top:20px}.primary{width:100%;margin-top:16px;border:0;border-radius:18px;padding:16px;background:linear-gradient(135deg,#d766a0,#9164b9);color:#fff;font:600 13px inherit;box-shadow:0 12px 25px rgba(113,66,108,.18);cursor:pointer}.linkbtn{display:block;text-decoration:none;text-align:center}.message-view h2{text-align:center;font-size:29px;margin:12px 0;color:#a04e83}.special-text{text-align:center;white-space:pre-line;line-height:2;color:var(--muted);background:rgba(255,255,255,.65);padding:25px 18px;border-radius:24px}.hint{text-align:center;font-size:10px;line-height:1.8;color:#9a7995;margin-top:15px}.petals{position:fixed;inset:0;pointer-events:none;opacity:.32;background-image:radial-gradient(ellipse at 8% 18%,#ef9ec7 0 4px,transparent 5px),radial-gradient(ellipse at 92% 15%,#fff 0 5px,transparent 6px),radial-gradient(ellipse at 15% 75%,#b58bd1 0 3px,transparent 4px),radial-gradient(ellipse at 88% 82%,#ef9ec7 0 4px,transparent 5px)}@media(max-width:360px){h1{font-size:31px}h1 em{font-size:36px}.shell{padding-inline:14px}.mood{padding-inline:7px}}
