.letter-card{max-width:620px;text-align:left;gap:12px}
.letter-card h2{text-align:center;margin-bottom:0}
.letter-card .letter-lead{margin:0;text-align:center}
.letter-tabs{display:flex;gap:8px;justify-content:center}
.letter-tab{border:1px solid var(--line);background:transparent;border-radius:999px;padding:8px 14px;font-size:12px;font-weight:700;color:var(--muted)}
.letter-tab[aria-selected="true"]{background:var(--green);border-color:var(--green);color:#fff}
.letter-fill{display:grid;gap:4px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#f8f6ef}
.letter-fill h3{margin:0 0 4px;font-size:14px}
.letter-fill .field{margin:6px 0}
.letter-fill .ghost-button{justify-self:start;margin-top:4px}
.letter-text{width:100%;min-height:340px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:14px;font:13px/1.55 var(--font-body);color:var(--ink);resize:vertical;white-space:pre-wrap}
.letter-text[readonly]{background:#f8f6ef}
.letter-preview{border:1px solid var(--line);border-radius:12px;background:#fff;padding:14px;font:13px/1.55 var(--font-body);white-space:pre-wrap}
.letter-preview .letter-blur{display:block;margin-top:10px;filter:blur(5px);user-select:none;pointer-events:none;color:var(--muted);word-break:break-all}
.letter-preview-hint{margin:0;font-size:12px;color:var(--muted);text-align:center}
.letter-buy{display:grid;gap:8px}
.letter-buy .primary-button{width:100%;min-height:52px;font-size:15px}
.letter-consent{display:flex;gap:8px;align-items:flex-start;font-size:12px;color:var(--ink);line-height:1.4}
.letter-note{margin:0;font-size:11px;color:var(--muted);text-align:center;line-height:1.45}
.letter-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}
.letter-actions .primary-button,.letter-actions .ghost-button{min-height:46px;font-size:13px;text-align:center;text-decoration:none}
.letter-close{width:100%;min-height:44px}
@media (max-width:520px){.letter-card{padding:28px 18px 20px}.letter-text{min-height:280px}}
