.cbd-wish{--wish-ink: #6a223c;position:relative;isolation:isolate;display:grid;place-items:center;min-height:100svh;padding:5rem 1.25rem 3rem;overflow:clip;color:var(--wish-ink);background:radial-gradient(ellipse at 50% 35%,#fff4e5,#f7d8d0 75%);font-family:Nunito,Noto Sans SC,sans-serif}.cbd-wish *,.cbd-wish *:before,.cbd-wish *:after{box-sizing:border-box}.cbd-wish__invitation{width:min(100%,34rem);text-align:center}.cbd-wish h1{margin:1.25rem 0;font:600 clamp(2.25rem,7vw,4.5rem)/1.08 "Bricolage Grotesque","Noto Sans SC",sans-serif;letter-spacing:-.035em;text-wrap:balance;overflow-wrap:anywhere}.cbd-wish h1 em{font-style:normal;color:#aa3d54}.cbd-wish__dedication{font-size:.9rem;margin:0}.cbd-wish__cake{position:relative;width:15rem;height:16rem;margin:1rem auto 0;filter:drop-shadow(0 20px 16px #a7534725)}.cbd-wish__candle{position:absolute;z-index:3;width:.8rem;height:4.3rem;left:calc(50% - .4rem);top:2.2rem;border-radius:4px;background:linear-gradient(90deg,#b96379,#f3a2ad 50%,#a83f60)}.cbd-wish__candle i{position:absolute;bottom:calc(100% + 6px);left:-.12rem;width:1rem;height:1.8rem;border-radius:80% 20% 55% 45%;background:radial-gradient(ellipse at bottom,#fffce5 25%,#ffd45d 65%,#f39c44);box-shadow:0 0 34px 12px #ffd47c55;transform-origin:50% 100%;animation:cbd-wish-flame 3s ease-in-out infinite alternate}.cbd-wish__icing{position:absolute;z-index:2;top:5.9rem;left:1rem;width:13rem;height:3.4rem;border-radius:50%;background:radial-gradient(ellipse at 40% 30%,#fff8eb,#f3cfb3);border:2px solid #fff7e7}.cbd-wish__tier{position:absolute;top:7.5rem;left:1rem;width:13rem;height:5.7rem;border-radius:0 0 48% 48%/0 0 25% 25%;background:linear-gradient(90deg,#bf6273,#e99b9d 35%,#cf7889 80%,#b3516d);box-shadow:inset 0 -12px #a9476333}.cbd-wish__tier i{position:absolute;top:.2rem;width:.9rem;height:1.7rem;border-radius:0 0 50% 50%;background:#f5d5bb}.cbd-wish__tier i:nth-child(1){left:8%;height:1.5rem}.cbd-wish__tier i:nth-child(2){left:27%;height:2.3rem}.cbd-wish__tier i:nth-child(3){left:47%;height:1.8rem}.cbd-wish__tier i:nth-child(4){left:67%;height:2.4rem}.cbd-wish__tier i:nth-child(5){left:85%;height:1.1rem}.cbd-wish__plate{position:absolute;z-index:-1;left:0;top:11.2rem;width:15rem;height:3rem;border-radius:50%;background:#fcf1dd;box-shadow:0 4px #d3bba6}.cbd-wish__hint{margin:0 0 1.5rem;font-size:1rem;line-height:1.6}.cbd-wish__button{display:inline-flex;gap:2rem;align-items:center;justify-content:center;min-height:3.5rem;padding:.9rem 1.5rem;border:1px solid #80304b;border-radius:8px;background:#fff7e9;color:var(--wish-ink);font-family:inherit;font-size:1rem;font-weight:700;line-height:1.4;cursor:pointer;transition:transform .18s ease,background .18s ease}.cbd-wish__button:hover{background:#fff;transform:translateY(-2px)}.cbd-wish__orbit{position:absolute;inset:12% 8%;z-index:-1;pointer-events:none;color:#b17c40}.cbd-wish__orbit span{position:absolute;font-size:2rem}.cbd-wish__orbit span:nth-child(2){top:35%;right:0;font-size:3rem}.cbd-wish__orbit span:nth-child(3){bottom:5%;left:12%;font-size:1.25rem}.cbd-wish__letter{position:relative;width:min(100%,36rem);padding:clamp(1.5rem,5vw,3.5rem);background:#fffaf0;border-radius:4px;box-shadow:0 22px 65px #763c3b20;animation:cbd-wish-unfold .6s cubic-bezier(.16,1,.3,1) both}.cbd-wish__letter h1{font-size:clamp(1.8rem,5vw,3rem);margin-block:1.25rem 2rem}.cbd-wish__letter:focus{outline:none}.cbd-wish__letter-mark{position:absolute;top:1.2rem;right:1.5rem;color:#b48044;font-size:2rem}.cbd-wish__message{font-size:clamp(1.05rem,2vw,1.2rem);line-height:1.85;white-space:pre-wrap;overflow-wrap:anywhere}.cbd-wish__postscript{display:flex;gap:.7rem;align-items:center;margin-top:2.5rem;padding-block:1.25rem;border-top:1px solid #6a223c25;font-size:.95rem;line-height:1.5}.cbd-wish__postscript span{font-size:1.7rem}.cbd-wish__actions{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem}.cbd-wish__actions button{min-height:44px;padding:.5rem 0;border:0;border-bottom:1px solid #6a223c55;background:transparent;color:var(--wish-ink);font:inherit;cursor:pointer}.cbd-wish button:focus-visible{outline:3px solid #6a223c;outline-offset:5px}@keyframes cbd-wish-flame{0%{transform:rotate(-5deg) scaleY(.95)}to{transform:rotate(5deg) scaleY(1.04)}}@keyframes cbd-wish-unfold{0%{opacity:0;transform:translateY(18px) rotate(-2deg)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.cbd-wish *,.cbd-wish *:before{animation:none;transition:none}}@media print{.cbd-wish{min-height:auto;background:#fff;padding:0}.cbd-wish__actions,.cbd-wish__orbit{display:none}.cbd-wish__letter{box-shadow:none}}.cbd-preview-back{position:fixed;z-index:10;top:max(1rem,env(safe-area-inset-top));left:max(1rem,env(safe-area-inset-left));width:44px;height:44px;border:1px solid #6a223c40;border-radius:50%;background:#fffaf0;color:#6a223c;cursor:pointer;font-size:1.3rem}.cbd-preview-back:focus-visible{outline:3px solid #6a223c;outline-offset:4px}
