.love-letter-app{--letter-ink:#4b3038;--letter-muted:#75626a;--letter-wine:#7b2946;--letter-rose:#aa647d;--letter-gold:#c4a15f;width:min(100% - 2rem,1160px);color:var(--letter-ink);isolation:isolate;background:radial-gradient(circle at 90% 2%,#c4a15f26,#0000 20rem),radial-gradient(circle at 4% 76%,#a999cb24,#0000 22rem),linear-gradient(150deg,#fffaf7,#fbf0f3 52%,#f4f1f8);border:1px solid #aa647d38;border-radius:2rem;margin:clamp(1.25rem,4vw,3.5rem) auto;padding:clamp(1.1rem,4vw,3rem);position:relative;overflow:hidden;box-shadow:0 24px 65px #4b30381a}.love-letter-atmosphere{z-index:-1;pointer-events:none;color:#c4a15f7a;position:absolute;inset:0}.love-letter-atmosphere span{font-size:1.2rem;position:absolute;top:4%;left:6%}.love-letter-atmosphere i{font-family:var(--serif);opacity:.42;font-size:9rem;font-style:normal;line-height:1;position:absolute;top:-1.6rem;right:2%}.love-letter-atmosphere b{color:#aa647d59;letter-spacing:.5em;font-size:1rem;position:absolute;bottom:12%;right:8%}.love-letter-header{text-align:center;max-width:790px;margin-inline:auto}.love-letter-kicker,.love-letter-section-kicker{color:var(--letter-rose);letter-spacing:.18em;margin:0 0 .45rem;font-size:.67rem;font-weight:800;line-height:1.45}.love-letter-header h1{color:var(--letter-ink);font-family:var(--serif);letter-spacing:.12em;margin:0;font-size:clamp(2.25rem,6vw,4rem);font-weight:500;line-height:1.3}.love-letter-main-copy{color:var(--letter-ink);font-family:var(--serif);margin:.85rem 0 0;font-size:clamp(1.25rem,3vw,1.85rem);line-height:1.65}.love-letter-main-copy em{color:var(--letter-wine);font-style:normal}.love-letter-sub-copy{color:var(--letter-rose);font-family:var(--serif);margin:.45rem 0 0;font-size:1rem}.love-letter-explanation{color:var(--letter-muted);margin:1.15rem 0 0;font-size:.8rem;line-height:1.85}.love-letter-explanation strong{color:var(--letter-wine)}.love-letter-selection{background:#fffdfbad;border:1px solid #aa647d2b;border-radius:1.45rem;margin-top:2.2rem;padding:clamp(.85rem,3vw,2rem)}.love-letter-selection-heading{justify-content:space-between;align-items:end;gap:1rem;display:flex}.love-letter-selection-heading h2{color:var(--letter-ink);margin:0;font-size:clamp(1.3rem,3vw,1.9rem)}.love-letter-status{min-height:1.7rem;color:var(--letter-muted);text-align:right;margin:0;font-size:.75rem}.love-letter-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:clamp(.5rem,2vw,1.1rem);margin-top:1.25rem;display:grid}.love-letter-choice{--env-w:82%;--env-h:63%;--env-y:20%;--env-rotate:-1deg;--env-radius:5px;--paper-a:#f5e5e8;--paper-b:#ead1d8;--paper-edge:#cba6b1;--seal:#a05a70;background:linear-gradient(155deg,#ffffff8c,#f6e1e833);border:0;border-radius:1rem;min-width:0;height:clamp(175px,18vw,220px);padding:0;transition:opacity .45s,filter .45s,transform .35s,box-shadow .35s;display:block;position:relative;overflow:visible}.love-letter-choice:hover:not(:disabled){z-index:2;transform:translateY(-5px);box-shadow:0 12px 22px #4b303814}.love-letter-choice:hover:not(:disabled) .love-letter-seal{box-shadow:inset 0 0 0 2px #ffffff29,0 0 13px #c4a15fa6,0 4px 8px #4b30382e}.love-letter-choice:focus-visible{outline:3px solid var(--letter-wine);outline-offset:3px}.love-letter-choice:disabled{cursor:default}.love-letter-shadow{filter:blur(5px);height:15%;transform:rotate(var(--env-rotate));background:radial-gradient(#4b303838,#0000 70%);border-radius:50%;position:absolute;bottom:13%;left:10%;right:10%}.love-letter-envelope,.love-letter-sheet-preview{width:var(--env-w);height:var(--env-h);transform:translateX(-50%) rotate(var(--env-rotate));position:absolute;left:50%}.love-letter-envelope{z-index:2;top:var(--env-y);border:1px solid var(--paper-edge);border-radius:var(--env-radius);background:linear-gradient(145deg, var(--paper-a), var(--paper-b));transform-style:preserve-3d;box-shadow:inset 0 0 0 1px #ffffff7a,0 12px 19px #4b303821}.love-letter-paper-texture{border-radius:inherit;opacity:.3;position:absolute;inset:0;overflow:hidden}.love-letter-paper-texture:before{content:"";background:repeating-linear-gradient(12deg,#0000 0 5px,#ffffff59 6px,#0000 7px 12px);position:absolute;inset:0}.love-letter-pocket{z-index:3;border-radius:inherit;position:absolute;inset:0;overflow:hidden}.love-letter-pocket:before,.love-letter-pocket:after{background:linear-gradient(145deg, color-mix(in srgb, var(--paper-a) 82%, white), var(--paper-b));content:"";border:1px solid #7b4a5a1c;width:72%;height:120%;position:absolute;bottom:-38%}.love-letter-pocket:before{left:-24%;transform:rotate(35deg)}.love-letter-pocket:after{right:-24%;transform:rotate(-35deg)}.love-letter-flap{z-index:4;border:1px solid var(--paper-edge);border-radius:var(--env-radius) var(--env-radius) 44% 44%;background:linear-gradient(170deg, color-mix(in srgb, var(--paper-a) 88%, white), var(--paper-b));clip-path:polygon(0 0,100% 0,50% 100%);transform-origin:top;backface-visibility:hidden;width:calc(100% + 2px);height:59%;position:absolute;top:-1px;left:-1px}.love-letter-flap i{background:#ffffff9e;width:34%;height:1px;position:absolute;top:12%;left:50%;transform:translate(-50%)}.love-letter-seal{z-index:6;border:1px solid color-mix(in srgb, var(--seal) 82%, #5e3140);background:radial-gradient(circle at 36% 30%, color-mix(in srgb, var(--seal) 65%, white), var(--seal) 58%, color-mix(in srgb, var(--seal) 75%, black));border-radius:48% 52% 45% 55%;place-items:center;width:33px;height:33px;transition:box-shadow .25s;display:grid;position:absolute;top:46%;left:50%;transform:translate(-50%,-50%)rotate(-5deg);box-shadow:inset 0 0 0 2px #ffffff1f,0 4px 8px #4b303830}.love-letter-seal i{border:1px solid #fff4e2b8;border-radius:50%;width:15px;height:15px;display:block}.love-letter-sheet-preview{z-index:1;top:calc(var(--env-y) + 15%);height:calc(var(--env-h) * .82);background:linear-gradient(#fffdf7,#fff8ed);border:1px solid #c4a15f5c;border-radius:3px;box-shadow:0 7px 12px #4b30381a}.love-letter-sheet-preview i{background:#eadfcf;height:1px;position:absolute;top:18%;left:15%;right:15%;box-shadow:0 9px #eadfcf,0 18px #eadfcf}.love-letter-ornament,.love-letter-ribbon{z-index:5;pointer-events:none;position:absolute}.love-letter-ornament{inset:0}.love-letter-ornament i,.love-letter-ornament b{display:block;position:absolute}.love-letter-ribbon{display:none}.love-letter-choice-moon{--env-w:69%;--env-h:72%;--env-y:14%;--env-rotate:-2.2deg;--env-radius:4px 8px 5px 3px;--paper-a:#faf6e9;--paper-b:#e7e0ee;--paper-edge:#bbb1ca;--seal:#b6a36f}.love-letter-choice-moon .love-letter-seal i{border-width:0 0 0 3px;border-color:#fff8dc;width:14px;height:14px}.love-letter-choice-moon .love-letter-ornament:before{content:"";opacity:.75;background:radial-gradient(circle,#b6a36f 0 1px,#0000 1.5px) 0 0/22px 18px;position:absolute;inset:14% 9%}.love-letter-choice-rose{--env-w:80%;--env-h:61%;--env-y:22%;--env-rotate:1.4deg;--env-radius:13px 7px 13px 9px;--paper-a:#f7dfe3;--paper-b:#eabfc9;--paper-edge:#c88e9b;--seal:#a65068}.love-letter-choice-rose .love-letter-ornament i{border-left:2px solid #96465b8c;border-radius:50%;width:24%;height:61%;top:19%;right:8%;transform:rotate(-20deg)}.love-letter-choice-rose .love-letter-ornament b{border:2px solid #a65068;border-radius:50%;width:9px;height:9px;top:26%;right:18%;box-shadow:9px 7px 0 -2px #c37488}.love-letter-choice-star{--env-w:91%;--env-h:56%;--env-y:24%;--env-rotate:-.7deg;--env-radius:3px;--paper-a:#e5e3f2;--paper-b:#c9c8e3;--paper-edge:#9897bd;--seal:#7d78a7}.love-letter-choice-star .love-letter-ornament:before{content:"";background:radial-gradient(circle,#c8a24f 0 1.5px,#0000 2px) 0 0/24px 19px;position:absolute;inset:10%}.love-letter-choice-star .love-letter-seal i{border-radius:0;transform:rotate(45deg)scale(.72)}.love-letter-choice-feather{--env-w:76%;--env-h:65%;--env-y:19%;--env-rotate:2.1deg;--env-radius:11px 4px 9px 6px;--paper-a:#f8fbfb;--paper-b:#dfe8ec;--paper-edge:#abbcc3;--seal:#91a6ad}.love-letter-choice-feather .love-letter-ornament i{background:#829aa4;border-radius:100%;width:42%;height:2px;top:25%;left:13%;transform:rotate(-28deg)}.love-letter-choice-feather .love-letter-ornament i:before,.love-letter-choice-feather .love-letter-ornament i:after{content:"";border-top:1px solid #829aa4;border-radius:50%;width:76%;height:9px;position:absolute;left:12%;transform:skew(-28deg)}.love-letter-choice-feather .love-letter-ornament i:before{top:-8px}.love-letter-choice-feather .love-letter-ornament i:after{top:2px;transform:skew(28deg)}.love-letter-choice-ribbon{--env-w:84%;--env-h:62%;--env-y:21%;--env-rotate:-1.3deg;--env-radius:8px 3px 12px 5px;--paper-a:#f4ded8;--paper-b:#dfbbb2;--paper-edge:#bd938a;--seal:#b28a42}.love-letter-choice-ribbon .love-letter-ribbon{opacity:.68;background:linear-gradient(90deg,#ffffff61,#bf7285,#fff3);width:9px;display:block;top:0;bottom:0;left:34%}.love-letter-choice-ribbon .love-letter-seal{left:39%}.love-letter-choice-ribbon .love-letter-ornament i{background:#b28a42;width:18%;height:1px;bottom:9%;right:8%;transform:rotate(-15deg)}.love-letter-choice-light{--env-w:78%;--env-h:59%;--env-y:22%;--env-rotate:.5deg;--env-radius:5px;--paper-a:#fffaf0;--paper-b:#eeddb6;--paper-edge:#c9aa68;--seal:#c19a4b}.love-letter-choice-light .love-letter-envelope{box-shadow:inset 0 0 25px #fff5c5c7,0 0 18px #dcbc7347,0 12px 19px #4b30381c}.love-letter-choice-light .love-letter-ornament i,.love-letter-choice-light .love-letter-ornament b{border:1px solid #c5a45b;border-radius:50%;top:18%;left:50%;transform:translate(-50%)}.love-letter-choice-light .love-letter-ornament i{opacity:.5;width:50px;height:50px}.love-letter-choice-light .love-letter-ornament b{opacity:.65;width:26px;height:26px;top:27%}.love-letter-choice.is-dimmed{opacity:.26;filter:saturate(.55)blur(.35px)}.love-letter-choice.is-selected{z-index:5;transform:translateY(-6px)scale(1.035)}.love-letter-choice.is-selected .love-letter-envelope{box-shadow:inset 0 0 0 1px #ffffff94,0 0 0 4px #c4a15f2b,0 18px 28px #4b30382e}.love-letter-app.is-opening .love-letter-choice.is-selected .love-letter-seal{animation:.55s .18s both love-letter-unseal}.love-letter-app.is-opening .love-letter-choice.is-selected .love-letter-flap{animation:.72s cubic-bezier(.35,.05,.2,1) .55s both love-letter-open-flap}.love-letter-app.is-opening .love-letter-choice.is-selected .love-letter-sheet-preview{animation:.78s cubic-bezier(.2,.7,.2,1) 1.02s both love-letter-lift-sheet}.love-letter-app.has-love-letter-result .love-letter-choice.is-selected .love-letter-seal{opacity:0;transform:translate(65%,72%)rotate(24deg)scale(.72)}.love-letter-app.has-love-letter-result .love-letter-choice.is-selected .love-letter-flap{transform:rotateX(178deg)}.love-letter-app.has-love-letter-result .love-letter-choice.is-selected .love-letter-sheet-preview{transform:translate(-50%, -54%) rotate(var(--env-rotate))}@keyframes love-letter-unseal{0%{opacity:1;transform:translate(-50%,-50%)rotate(-5deg)}48%{transform:translate(-50%,-50%)rotate(7deg)scale(1.08)}to{opacity:0;transform:translate(65%,72%)rotate(24deg)scale(.72)}}@keyframes love-letter-open-flap{0%{transform:rotateX(0)}to{transform:rotateX(178deg)}}@keyframes love-letter-lift-sheet{0%{transform:translateX(-50%) rotate(var(--env-rotate))}to{transform:translate(-50%, -54%) rotate(var(--env-rotate))}}.love-letter-footnote{color:var(--letter-muted);text-align:center;margin:.85rem 0 0;font-size:.68rem;line-height:1.7}.love-letter-result{border-top:1px solid #aa647d2e;margin-top:2.4rem;padding-top:2.2rem;scroll-margin-top:1rem}.love-letter-open-envelope{width:160px;height:96px;margin:0 auto -31px;position:relative}.love-letter-open-envelope:before{z-index:2;content:"";background:linear-gradient(145deg,#f7e4df,#ead1cc);border:1px solid #c9aead;border-radius:5px;height:63px;position:absolute;bottom:0;left:0;right:0;box-shadow:0 8px 16px #4b303821}.love-letter-open-flap{z-index:1;clip-path:polygon(0 100%,50% 0,100% 100%);background:#eed8d4;height:53px;position:absolute;bottom:50px;left:2px;right:2px}.love-letter-open-paper{z-index:3;color:#a58b6a;width:114px;height:66px;font-family:var(--serif);text-align:center;background:#fffdf6;border:1px solid #ded0ba;border-radius:2px;padding-top:12px;font-size:.64rem;position:absolute;bottom:26px;left:50%;transform:translate(-50%)}.love-letter-open-seal{z-index:4;color:#f9e9d0;background:#a65e73;border-radius:50%;place-items:center;width:26px;height:26px;font-size:.55rem;display:grid;position:absolute;bottom:16px;right:12px}.love-letter-paper{background:linear-gradient(90deg,#c4a15f0d 0 1px,#0000 1px 100%),#fffdf7;border:1px solid #c4a15f61;border-radius:7px 11px 6px 9px;max-width:820px;margin-inline:auto;padding:clamp(1.3rem,4vw,3.4rem);position:relative;overflow:hidden;box-shadow:0 20px 44px #4b30381f}.love-letter-paper:before,.love-letter-paper:after{pointer-events:none;content:"";position:absolute}.love-letter-paper:before{border-radius:inherit;border:1px solid #c4a15f2e;inset:10px}.love-letter-paper:after{background:radial-gradient(circle at 100% 0,#e3cfa93b,#0000 70%);width:7rem;height:7rem;top:0;right:0}.love-letter-result-header{z-index:1;text-align:center;position:relative}.love-letter-result-name{color:var(--letter-rose);font-family:var(--serif);letter-spacing:.15em;margin:.15rem 0 0;font-size:.82rem}.love-letter-result-header h2{color:var(--letter-ink);font-family:var(--serif);margin:.45rem 0 0;font-size:clamp(1.65rem,4vw,2.75rem);font-weight:500;line-height:1.45}.love-letter-result-header h2:focus{outline:none}.love-letter-body{z-index:1;max-width:680px;margin:1.9rem auto 0;position:relative}.love-letter-body section{border-top:1px solid #c4a15f33;padding:1.35rem .25rem .15rem}.love-letter-body section+section{margin-top:.7rem}.love-letter-body h3{color:var(--letter-rose);letter-spacing:.13em;margin:0 0 .72rem;font-size:.7rem}.love-letter-body p{color:var(--letter-muted);white-space:pre-line;margin:0;font-size:.9rem;line-height:2}.love-letter-body strong{color:var(--letter-ink);font-family:var(--serif);margin-bottom:.8rem;font-size:clamp(1.05rem,2.2vw,1.3rem);font-weight:600;line-height:1.75;display:block}.love-letter-body .love-letter-highlight{background:linear-gradient(135deg,#f7e4e885,#fffdf7b3);border:1px solid #aa647d2e;border-radius:.9rem;margin-top:1.25rem;padding:1.25rem}.love-letter-closing{text-align:center;background:#f9efdc59;border-radius:.9rem;border:1px solid #c4a15f52!important;margin-top:1.4rem!important;padding:1.35rem!important}.love-letter-closing p{color:var(--letter-ink);font-family:var(--serif);font-size:clamp(1.05rem,2.5vw,1.3rem);font-weight:600}.love-letter-related{max-width:820px;margin:2rem auto 0}.love-letter-related h2{color:var(--letter-ink);margin:0 0 .85rem;font-size:clamp(1.25rem,3vw,1.7rem)}.love-letter-related-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.love-letter-related-grid a{min-width:0;color:var(--letter-ink);background:#fffdfac7;border:1px solid #aa647d33;border-radius:.9rem;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.9rem 1rem;text-decoration:none;transition:border-color .2s,transform .2s,box-shadow .2s;display:grid}.love-letter-related-grid a:hover{border-color:var(--letter-rose);transform:translateY(-2px);box-shadow:0 9px 20px #4b303817}.love-letter-related-grid a:focus-visible{outline:3px solid var(--letter-wine);outline-offset:3px}.love-letter-related-grid a>span:first-child{width:36px;height:36px;color:var(--letter-gold);font-family:var(--serif);border:1px solid #c4a15f8c;border-radius:50%;place-items:center;display:grid}.love-letter-related-grid a>span:nth-child(2){gap:.12rem;min-width:0;display:grid}.love-letter-related-grid strong{overflow-wrap:anywhere;font-family:var(--serif);font-size:.9rem;font-weight:600;line-height:1.45}.love-letter-related-grid small{color:var(--letter-muted);font-size:.68rem;line-height:1.45}.love-letter-related-grid b{color:var(--letter-rose)}.love-letter-actions{justify-content:center;margin-top:1.6rem;display:flex}.love-letter-reset{border:1px solid var(--letter-wine);background:var(--letter-wine);color:#fff;border-radius:999px;min-height:46px;padding:.75rem 1.45rem;font-weight:700;transition:transform .2s,box-shadow .2s;box-shadow:0 8px 18px #7b29462e}.love-letter-reset:hover{transform:translateY(-2px);box-shadow:0 11px 22px #7b29463d}.love-letter-reset:focus-visible{outline:3px solid var(--letter-gold);outline-offset:3px}.has-love-letter-result .love-letter-result{animation:.48s both love-letter-result-in}@keyframes love-letter-result-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.embed-body .love-letter-app{width:min(100% - 1.25rem,1160px);margin-block:.65rem}@media (width<=720px){.love-letter-app{border-radius:1.3rem;width:min(100% - 1rem,1160px);margin-block:.5rem 1.5rem;padding:.85rem}.love-letter-header h1{letter-spacing:.08em}.love-letter-selection{margin-top:1.5rem;padding:.7rem}.love-letter-selection-heading{text-align:center;display:block}.love-letter-status{text-align:center;margin-top:.45rem}.love-letter-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.42rem;margin-top:.85rem}.love-letter-choice{border-radius:.7rem;height:clamp(133px,39vw,174px)}.love-letter-seal{width:26px;height:26px}.love-letter-seal i{width:11px;height:11px}.love-letter-paper{padding:1.15rem .95rem}.love-letter-paper:before{inset:6px}.love-letter-body{margin-top:1.2rem}.love-letter-body section{padding-inline:.1rem}.love-letter-body .love-letter-highlight,.love-letter-closing{padding:1rem!important}.love-letter-related-grid{grid-template-columns:1fr}}@media (width<=360px){.love-letter-app{width:calc(100% - .5rem);padding:.6rem}.love-letter-selection{padding:.5rem}.love-letter-grid{gap:.28rem}.love-letter-choice{height:124px}.love-letter-main-copy{font-size:1.13rem}.love-letter-sub-copy{font-size:.88rem}.love-letter-explanation{font-size:.72rem}}@media (prefers-reduced-motion:reduce){.love-letter-choice,.love-letter-envelope,.love-letter-seal,.love-letter-flap,.love-letter-sheet-preview,.love-letter-result,.love-letter-related-grid a,.love-letter-reset{scroll-behavior:auto;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-delay:0s!important}.love-letter-app.is-opening .love-letter-choice.is-selected .love-letter-seal{opacity:0}.love-letter-app.is-opening .love-letter-choice.is-selected .love-letter-flap{transform:rotateX(165deg)}.love-letter-app.is-opening .love-letter-choice.is-selected .love-letter-sheet-preview{transform:translate(-50%, -18%) rotate(var(--env-rotate))}}
