.unsub-wrap      { max-width: 520px; margin: 0 auto; padding: 5rem 1.25rem 6rem; }
.unsub-hero      { text-align: center; margin-bottom: 2.5rem; }
.unsub-hero h1   { font-size: clamp(1.75rem, 4vw, 2.375rem); font-family: var(--font-serif); font-weight: 400; color: var(--ink); margin: 0 0 .625rem; }
.unsub-hero p    { color: var(--tx-dim, #6b6355); font-size: .9625rem; line-height: 1.7; margin: 0; }
.unsub-card      { background: var(--bg-2, #f7f5f0); border: 1px solid var(--border, #e8e4dc); border-radius: 16px; overflow: hidden; }
.unsub-section   { padding: 1.5rem 1.75rem; border-bottom: 1px solid var(--border, #e8e4dc); }
.unsub-section:last-child { border-bottom: none; }
.unsub-row       { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.unsub-label     { font-size: .9375rem; font-weight: 600; color: var(--ink); margin-bottom: .25rem; }
.unsub-desc      { font-size: .85rem; color: var(--tx-dim, #6b6355); line-height: 1.55; }
.unsub-tag       { display: inline-block; font-size: .68rem; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; border-radius: 100px; padding: .2rem .65rem; }
.unsub-tag-req   { background: rgba(34,197,94,.08); color: var(--green-ink); border: 1px solid rgba(34,197,94,.2); }
.toggle-wrap     { flex-shrink: 0; margin-top: .125rem; }
.toggle          { position: relative; display: inline-block; width: 44px; height: 24px; cursor: pointer; }
.toggle input    { position: absolute; opacity: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; }
.toggle input:focus-visible ~ .toggle-track { outline: 2px solid var(--accent, #d97706); outline-offset: 2px; }
.toggle-track    { position: absolute; inset: 0; background: #d1c9be; border-radius: 100px; transition: background .2s; }
.toggle input:checked ~ .toggle-track { background: var(--accent, #d97706); }
.toggle-thumb    { position: absolute; width: 18px; height: 18px; background: #fff; border-radius: 50%; top: 3px; left: 3px; transition: transform .2s; box-shadow: 0 1px 3px rgba(0,0,0,.2); }
.toggle input:checked ~ .toggle-thumb { transform: translateX(20px); }
.unsub-note      { font-size: .78rem; color: var(--tx-dim, #6b6355); padding: 1rem 1.75rem; line-height: 1.55; }
.unsub-toast     { display: none; margin: 1rem 1.75rem 0; padding: .625rem .875rem; border-radius: 9px; font-size: .85rem; font-weight: 500; }
.unsub-toast.ok  { background: rgba(34,197,94,.08); border: 1px solid rgba(34,197,94,.2); color: var(--green-ink); }
.unsub-toast.err { background: rgba(239,68,68,.07); border: 1px solid rgba(239,68,68,.25); color: var(--red-ink); }
.unsub-no-user   { text-align: center; padding: 3rem 2rem; color: var(--tx-dim, #6b6355); }
.unsub-icon      { font-size: 2rem; margin-bottom: .75rem; }
.unsub-strong    { color: var(--ink); }
.unsub-link      { color: var(--accent); }
.unsub-cta       { display: inline-block; margin-top: 1rem; font-weight: 600; color: var(--accent); }
