.lr-overlay{z-index:20000;-webkit-backdrop-filter:blur(9px)saturate(120%);backdrop-filter:blur(9px)saturate(120%);opacity:1;transition:opacity .55s var(--ease,cubic-bezier(.22, 1, .36, 1));background:radial-gradient(120% 80% at 50% 38%,#fecb0229,#0000 60%),#220305eb;place-items:center;padding:clamp(1rem,4vw,2.5rem);display:grid;position:fixed;inset:0;overflow:hidden}.lr-overlay.lr-closing{opacity:0;pointer-events:none}.lr-overlay,.lr-overlay *{cursor:auto!important}.lr-close{cursor:pointer!important}.lr-overlay:before{content:"";background:conic-gradient(from 0deg at 50% 42%, transparent 0 8deg, #fecb020d 8deg 9deg, transparent 9deg 18deg);opacity:.5;pointer-events:none;animation:60s linear infinite lr-spin;position:absolute;inset:-20%}@keyframes lr-spin{to{transform:rotate(360deg)}}.lr-confetti{pointer-events:none;z-index:3;width:100%;height:100%;position:absolute;inset:0}.lr-ribbon{z-index:2;pointer-events:none;height:clamp(58px,9vh,92px);position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.lr-ribbon-half{background:linear-gradient(180deg, var(--gold-2,#fd5) 0 3px, var(--red-2,#c01515) 3px 22%, var(--red,#a00000) 50%, var(--m-900,#4a080e) 100%);width:52%;transition:transform 1.6s var(--ease,cubic-bezier(.22, 1, .36, 1)), opacity 1.4s ease;will-change:transform, opacity;position:absolute;top:0;bottom:0;box-shadow:0 16px 38px #22030580}.lr-ribbon-half:after{content:"";mix-blend-mode:screen;background:linear-gradient(100deg,#0000 30%,#ffffff47 50%,#0000 70%);position:absolute;inset:0}.lr-ribbon-half.left{transform-origin:0;clip-path:polygon(0 0,100% 0,calc(100% - 26px) 50%,100% 100%,0 100%);left:0}.lr-ribbon-half.right{transform-origin:100%;clip-path:polygon(26px 0,100% 0,100% 100%,26px 100%,0 50%);right:0}.lr-gleam{background:linear-gradient(180deg, transparent, var(--gold-3,#fff1be), #fff, var(--gold-3,#fff1be), transparent);filter:blur(1px);opacity:0;z-index:4;width:3px;height:160%;position:absolute;top:-30%;left:50%;transform:translate(-50%)}.lr-rosette{background:radial-gradient(circle at 50% 40%, var(--gold-2,#fd5), var(--gold,#fecb02) 55%, #d8a400 100%);border:3px solid var(--gold-3,#fff1be);z-index:5;width:clamp(76px,12vw,108px);height:clamp(76px,12vw,108px);transition:transform 1.3s var(--ease,cubic-bezier(.22, 1, .36, 1)), opacity 1s ease;will-change:transform, opacity;border-radius:50%;place-items:center;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 4px #a000008c,0 14px 34px #2203058c}.lr-rosette img{object-fit:contain;border-radius:50%;width:66%;height:66%}.lr-overlay[data-phase=letter] .lr-ribbon-half.left,.lr-overlay[data-phase=closing] .lr-ribbon-half.left{opacity:0;transform:translate(-118%)translateY(22px)rotate(-7deg)}.lr-overlay[data-phase=letter] .lr-ribbon-half.right,.lr-overlay[data-phase=closing] .lr-ribbon-half.right{opacity:0;transform:translate(118%)translateY(22px)rotate(7deg)}.lr-overlay[data-phase=letter] .lr-rosette,.lr-overlay[data-phase=closing] .lr-rosette{opacity:0;transform:translate(-50%,60px)scale(.55)}.lr-overlay[data-phase=ribbon] .lr-gleam{animation:.9s ease-in .4s both lr-gleam-sweep}@keyframes lr-gleam-sweep{0%{opacity:0;transform:translate(-50%)scaleY(.6)}40%{opacity:1}to{opacity:0;transform:translate(-50%)scaleY(1.1)}}.lr-letter{z-index:6;background:linear-gradient(180deg, #fffaf0 0%, var(--cream,#faf1dc) 100%);border:2px solid var(--gold,#fecb02);border-radius:var(--r-lg,24px);opacity:0;width:min(640px,100%);max-height:min(82vh,760px);transition:opacity .7s var(--ease,cubic-bezier(.22, 1, .36, 1)) .25s, transform .7s var(--ease,cubic-bezier(.22, 1, .36, 1)) .25s;flex-direction:column;display:flex;position:relative;overflow:hidden;transform:translateY(26px)scale(.96);box-shadow:0 0 0 6px #4a080e8c,0 40px 90px #0000008c}.lr-overlay[data-phase=letter] .lr-letter{opacity:1;transform:translateY(0)scale(1)}.lr-overlay[data-phase=closing] .lr-letter{opacity:0;transition-delay:0s;transform:translateY(18px)scale(.97)}.lr-letter-head{text-align:center;border-bottom:1px solid var(--gline,#fecb0247);background:radial-gradient(130% 100% at 50% 0,#fecb022e,#0000 70%);flex:none;padding:1.6rem 1.5rem 1.1rem;position:relative}.lr-seal{object-fit:contain;border:2px solid var(--gold,#fecb02);background:#fff;border-radius:50%;width:64px;height:64px;margin:0 auto .6rem;box-shadow:0 6px 16px #4a080e40}.lr-title{font-family:var(--f-disp,"Anek Tamil"), sans-serif;letter-spacing:-.01em;color:var(--m-900,#4a080e);text-wrap:balance;margin:0;font-size:clamp(1.5rem,4.5vw,2.1rem);font-weight:800;line-height:1.15}.lr-occasion{font-family:var(--f-body,"Hind Madurai"), sans-serif;color:var(--ink-soft,#6b4f3c);margin:.4rem 0 0;font-size:.82rem;font-weight:600}.lr-close{background:var(--m-900,#4a080e);width:38px;height:38px;color:var(--gold,#fecb02);cursor:pointer;border:none;border-radius:50%;place-items:center;font-size:1.1rem;line-height:1;transition:transform .18s,background .18s;display:grid;position:absolute;top:.7rem;right:.7rem}.lr-close:hover{background:var(--m-800,#6e0a10);transform:scale(1.08)}.lr-close:focus-visible{outline:3px solid var(--gold-2,#fd5);outline-offset:2px}.lr-letter-body{-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--gold,#fecb02) transparent;flex:auto;padding:1.4rem clamp(1.2rem,4vw,2.1rem) 1.6rem;position:relative;overflow-y:auto}.lr-letter-body::-webkit-scrollbar{width:8px}.lr-letter-body::-webkit-scrollbar-thumb{background:var(--gold,#fecb02);border-radius:8px}.lr-salutation{font-family:var(--f-head,"Catamaran"), sans-serif;color:var(--m-800,#6e0a10);margin:0 0 .9rem;font-size:1.05rem;font-weight:800}.lr-letter-body p{max-width:62ch;font-family:var(--f-body,"Hind Madurai"), sans-serif;color:var(--ink,#2a1108);text-wrap:pretty;margin:0 0 1.05rem;font-size:clamp(.96rem,2.4vw,1.06rem);line-height:1.85}.lr-sign{border-top:1px dashed var(--line,#a0000029);margin-top:1.4rem;padding-top:1rem}.lr-sign .lr-sign-from{font-family:var(--f-body,"Hind Madurai"), sans-serif;color:var(--ink-soft,#6b4f3c);margin:0;font-size:.95rem}.lr-sign .lr-sign-name{font-family:var(--f-disp,"Anek Tamil"), sans-serif;color:var(--m-900,#4a080e);margin:.15rem 0 0;font-size:1.25rem;font-weight:800}.lr-sign .lr-sign-role{color:var(--ink-soft,#6b4f3c);margin:.1rem 0 0;font-size:.8rem}.lr-foot{text-align:center;font-family:var(--f-body,"Hind Madurai"), sans-serif;color:var(--ink-soft,#6b4f3c);border-top:1px solid var(--gline,#fecb0247);background:#fecb021a;flex:none;padding:.7rem 1rem;font-size:.76rem;font-weight:600}@media (prefers-reduced-motion:reduce){.lr-overlay:before,.lr-gleam,.lr-ribbon{display:none}.lr-letter{transition:opacity .3s;transform:none}.lr-overlay[data-phase=letter] .lr-letter{transform:none}}@media (max-width:560px){.lr-letter{border-radius:var(--r-md,16px);max-height:86vh}.lr-letter-head{padding:1.3rem 1.1rem .9rem}.lr-seal{width:54px;height:54px}.lr-ribbon{height:clamp(46px,8vh,64px)}}
