* { box-sizing: border-box; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: var(--sans); }
.subscription-result { min-height: 100svh; width: min(680px, calc(100% - 42px)); margin: 0 auto; padding: 64px 0; display: grid; align-content: center; gap: 28px; }
.subscription-home { color: var(--red-700); font: 700 20px/1.35 var(--serif); letter-spacing: .08em; text-decoration: none; }
.subscription-result section { padding: 32px; background: var(--white); border: 1px solid var(--line); box-shadow: var(--shadow-panel); }
.subscription-eyebrow { margin: 0 0 12px; color: var(--red-700); font: 600 10px/1 var(--mono); letter-spacing: .22em; }
.subscription-result h1 { margin: 0; color: var(--ink); font: 700 39px/1.3 var(--serif); }
.subscription-result section > p:not(.subscription-eyebrow) { margin: 20px 0 0; color: var(--muted); font-size: 14px; line-height: 2; }
.subscription-result form { display: inline-block; margin: 28px 12px 0 0; }
.subscription-button, .subscription-secondary { display: inline-flex; min-height: 44px; margin-top: 28px; padding: 0 18px; align-items: center; border: 1px solid var(--red); font: 600 13px/1 var(--sans); text-decoration: none; cursor: pointer; }
.subscription-button { color: var(--white); background: var(--red); }
.subscription-button:hover { background: var(--red-800); }
.subscription-button.danger { margin-top: 0; }
.subscription-secondary { color: var(--red); background: transparent; }
.subscription-secondary:hover { background: var(--wash); }
@media (max-width: 760px) {
  .subscription-result { padding: 32px 0; }
  .subscription-result section { padding: 28px 20px; }
  .subscription-result h1 { font-size: 32px; }
}
/* 独立订阅页：RSS 与邮件只在此页并列，确认/退订结果页继续使用上方样式。 */
.subscription-page { min-height: 100svh; }
button, a { font: inherit; }
a { color: inherit; text-decoration: none; }
.subscription-page button:focus-visible, .subscription-page a:focus-visible, .subscription-page input:focus-visible { outline: var(--focus-ring); outline-offset: 3px; }
.subscription-options { margin-top: 48px; display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); gap: 20px; }
.rss-subscription, .email-subscription { min-width: 0; padding: 32px; background: var(--white); border: 1px solid var(--line); border-radius: 3px; box-shadow: var(--shadow-panel); }
.rss-subscription { display: grid; align-content: start; gap: 12px; }
.rss-subscription strong, .email-subscription label > span { color: var(--ink); font: 700 20px/1.35 var(--serif); letter-spacing: .04em; }
.rss-copy-row { margin-top: 4px; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; align-items: stretch; }
.rss-copy-row a, .rss-copy-row button, .email-subscription input[type="email"], .email-subscription button { min-height: 52px; }
.rss-copy-row a { min-width: 0; display: flex; align-items: center; padding: 10px 12px; overflow: hidden; color: var(--red-800); background: var(--paper); border: 1px solid var(--line); font: 12px/1.5 var(--mono); text-overflow: ellipsis; white-space: nowrap; }
.rss-copy-row a:hover { border-color: var(--red-line); }
.rss-copy-row button { padding: 0 14px; color: var(--white); background: var(--red); border: 0; cursor: pointer; font-size: 12px; }
.rss-copy-row button:hover { background: var(--red-800); }
.rss-copy-row button:disabled { opacity: .6; cursor: wait; }
.rss-copy-message, .subscription-note { margin: 0; }
.email-subscription { display: grid; align-content: start; gap: 12px; }
.email-subscription label:not(.subscription-honeypot) { display: grid; gap: 12px; }
.email-subscription label > div { margin-top: 4px; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; }
.email-subscription input[type="email"] { min-width: 0; padding: 0 14px; color: var(--ink); background: var(--white); border: 1px solid var(--line-strong); border-radius: 2px; font: 14px/1 var(--sans); }
.email-subscription button { padding: 0 20px; color: var(--white); background: var(--red); border: 0; cursor: pointer; font-size: 13px; }
.email-subscription button:hover { background: var(--red-800); }
.email-subscription button:disabled { opacity: .55; cursor: wait; }
.subscription-message { min-height: 20px; margin: -4px 0 0; color: var(--red-700); font-size: 12px; line-height: 1.6; }
.subscription-honeypot { display: none; }
.subscription-principles { margin-top: 20px; }
.subscription-principles ol { margin: 0; padding-left: 1.5em; }
.subscription-principles li + li { margin-top: 8px; }

@media (max-width: 760px) {
  .subscription-options { margin-top: 32px; grid-template-columns: 1fr; }
  .rss-subscription, .email-subscription { padding: 28px 20px; }
  .rss-copy-row, .email-subscription label > div { grid-template-columns: 1fr; }
}
