/* Love Gacha: readable list version. */
.ls-bg { position: fixed; inset: 0; z-index: -1; background: radial-gradient(var(--dot) 2.2px, transparent 2.6px) 0 0 / 26px 26px, linear-gradient(180deg, var(--bgA), var(--bgB)); }
.ls { max-width: 680px; margin: 0 auto; padding: calc(var(--sat) + 16px) calc(var(--sar) + 16px) calc(var(--sab) + 30px) calc(var(--sal) + 16px); }
.ls-back { display: inline-flex; align-items: center; min-height: 44px; font-weight: 650; color: var(--ink); }
.ls-eyebrow { margin: 8px 0 0; font-weight: 600; color: var(--inkSoft); font-size: 16px; }
.ls-title { font-family: var(--f-display); font-size: clamp(28px, 8vw, 44px); line-height: 1.1; color: var(--ink); overflow-wrap: anywhere; }
.ls-note { font-size: 16px; color: var(--ink); opacity: .85; margin: 8px 0 18px; }
.ls-group, .ls-letter { background: var(--panel); color: var(--panelInk); border-radius: 24px; padding: 16px 16px 8px; margin-bottom: 14px; box-shadow: 0 10px 30px -18px rgba(80,10,50,.45); }
.ls-group h2, .ls-letter h2 { font-family: var(--f-display); font-size: 20px; display: flex; align-items: center; gap: 8px; margin-bottom: 8px; }
.ls-group .count { font-family: var(--f-body); font-weight: 600; opacity: .6; font-size: 16px; }
.dot { width: 18px; height: 18px; border-radius: 50%; background: linear-gradient(180deg, var(--c) 0 50%, #fff 50%); box-shadow: inset 0 0 0 1.5px rgba(0,0,0,.18); }
.ls-list { list-style: none; margin: 0; padding: 0; }
.ls-list li { display: flex; gap: 12px; padding: 12px 0; border-top: 1px solid rgba(80,10,50,.1); }
.ls-list li:first-child { border-top: 0; }
.ls-emoji { font-size: 28px; line-height: 1.2; width: 36px; text-align: center; flex: none; }
.ls-body { min-width: 0; }
.ls-text { margin: 0; font-weight: 650; font-size: 18px; overflow-wrap: anywhere; }
.ls-small { margin: 4px 0 0; font-size: 16px; opacity: .8; white-space: pre-line; overflow-wrap: anywhere; }
.ls-claim { display: inline-flex; align-items: center; min-height: 44px; font-weight: 650; color: var(--c); }
.ls-golden { box-shadow: 0 0 0 3px #ffd23f, 0 10px 30px -18px rgba(80,10,50,.45); }
.ls-letter p { font-size: 17px; line-height: 1.55; white-space: pre-line; overflow-wrap: anywhere; }
.ls-sign { font-weight: 650; text-align: right; color: var(--accent); }
.ls-foot { text-align: center; font-size: 15px; color: var(--inkSoft); }
.ls-foot a { display: inline-block; padding: 10px 2px; }
