/* Scoped replacement for the support-letter modal and floating envelope grid. */
#support-letters{scroll-margin-top:90px}
.letter-experience .letter-experience-shell{width:calc(100% - 48px);max-width:1120px;margin-inline:auto}
.letter-choice svg{stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.letter-experience{--letter-ink:#30273e;--letter-muted:#6b607a;--letter-accent:#795f9a;--letter-border:#ded3ef;--letter-paper:#fffcf8}
.letter-experience .letter-experience-shell{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:24px 44px;padding:44px;border:1px solid var(--letter-border);border-radius:32px;background:#f2edf9;box-shadow:0 18px 48px #5943700a;color:var(--letter-ink)}
.letter-experience-intro{min-width:0}.letter-experience-intro h2{color:var(--letter-ink);font-size:clamp(26px,3vw,36px);line-height:1.15;letter-spacing:-.8px;margin:10px 0 16px;max-width:470px}
.letter-experience-intro>p{font-size:15px;line-height:1.6;color:var(--letter-muted);max-width:410px}
.letter-experience .section-kicker{color:var(--letter-accent)}
.letter-mascot{display:block;position:relative;width:270px;max-width:100%;aspect-ratio:1;margin:12px auto 0;padding:0;border:0;border-radius:20px;background:transparent;cursor:pointer;touch-action:manipulation}
.letter-mascot-art{position:absolute;inset:0;display:block;transform-origin:70% 85%;transition:transform .3s ease}
.letter-mascot img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none;transition:opacity .22s ease}
.letter-pose-open{opacity:0}.letter-experience[data-letter-phase=open] .letter-pose-closed{opacity:0}.letter-experience[data-letter-phase=open] .letter-pose-open{opacity:1}
.letter-experience[data-letter-phase=opening] .letter-mascot-art{animation:letter-offer .55s ease both}
.letter-experience .letter-mascot-caption{font-size:12px;text-align:center;max-width:none;margin:6px 0 10px}
.letter-motion{display:block;margin:0 auto;border:0;background:none;color:var(--letter-muted);text-decoration:underline;text-underline-offset:4px;font:inherit;font-size:11px;padding:10px;cursor:pointer}
.letter-motion[aria-pressed=true]{font-weight:700}
.letter-experience-content{min-width:0;padding-top:14px}.letter-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.letter-choice{min-width:0;min-height:145px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:7px;border:1px solid var(--letter-border);border-radius:18px;background:#ffffff85;color:var(--letter-ink);font:inherit;text-align:left;padding:17px;cursor:pointer;transition:background .2s,transform .2s,border-color .2s;touch-action:manipulation}
.letter-choice svg{width:34px;height:34px;fill:none;color:var(--letter-accent);flex:none}.letter-choice span{font-size:14px;font-weight:600;line-height:1.35}.letter-choice small{font-size:11px;color:var(--letter-accent)}
.letter-choice:hover{transform:translateY(-3px);border-color:#b19bca;background:#fff}.letter-experience button:focus-visible,.letter-experience a:focus-visible{outline:3px solid #9e7bbb;outline-offset:4px}
.letter-reader{padding:28px;border:1px solid var(--letter-border);border-radius:20px;background:var(--letter-paper);animation:letter-paper-in .4s ease both;color:var(--letter-ink)}
.letter-reader h3{font-size:25px;line-height:1.2;margin:14px 0 22px;color:var(--letter-ink)}.letter-reader h3:focus{outline:none}
.letter-reader #support-letter-text{white-space:pre-line;font-size:16px;line-height:1.65;color:var(--letter-ink);margin:0}
.letter-reader .letter-signature{font-family:Georgia,serif;font-style:italic;font-size:25px;color:var(--letter-accent);margin:22px 0}
.letter-reader .btn{white-space:normal;text-align:center}
.letter-experience-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:12px;border-top:1px solid var(--letter-border);padding-top:23px}.letter-experience-actions .btn{white-space:normal;text-align:center}
.letter-experience [hidden]{display:none!important}.letter-quiet *{animation:none!important;transition:none!important;scroll-behavior:auto!important}.letter-art-failed .letter-mascot,.letter-art-failed .letter-motion{display:none}
html[data-theme=dark] .letter-experience{--letter-ink:#f4eefb;--letter-muted:#c3b4d3;--letter-accent:#cfb6ec;--letter-border:#514060;--letter-paper:#2b2335}
html[data-theme=dark] .letter-experience .letter-experience-shell{background:#241e30}html[data-theme=dark] .letter-choice{background:#33283f}html[data-theme=dark] .letter-choice:hover{background:#40304f}
@keyframes letter-offer{0%{transform:none}50%{transform:translateY(-4px) rotate(-2deg)}100%{transform:none}}
@keyframes letter-paper-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(max-width:760px){.letter-experience .letter-experience-shell{grid-template-columns:minmax(0,1fr);gap:18px;padding:26px 20px;border-radius:24px}.letter-experience-intro h2{font-size:29px}.letter-mascot{width:220px}.letter-experience-content{padding-top:0}.letter-choice{min-height:132px;padding:13px}.letter-choice span{font-size:13px}.letter-reader{padding:22px 18px}.letter-reader h3{font-size:23px}.letter-experience-actions{flex-direction:column}.letter-experience-actions .btn{width:100%}.letter-reader{scroll-margin-top:90px}}
@media(prefers-reduced-motion:reduce){.letter-experience:not(.letter-motion-enabled) *{animation:none!important;transition:none!important}}
