/* Membership surface: same charcoal canvas and restrained violet state language as the atlas. */
.account-trigger{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:9px 13px;border:1px solid #443451;border-radius:7px;background:#121016;color:#d9cbea;font-size:12px;white-space:nowrap;flex-shrink:0}.account-trigger svg{width:17px;height:17px;color:#a78bfa}.account-trigger:hover{border-color:#a78bfa;background:#241a30;color:#fff}.account-trigger[data-member-state="subscriber"]{border-color:#67508c;color:#efe6fb}.account-trigger[data-member-state="subscriber"] svg{color:#c8a9f4}
.membership-dialog{width:min(760px,calc(100% - 32px));max-height:calc(100vh - 42px);padding:0;overflow:auto;background:#121116;border:1px solid #4f3c63;border-radius:16px;color:#f1f0f5;box-shadow:none}.membership-dialog::backdrop{background:#000c}.membership-dialog .membership-close{position:absolute;top:15px;right:15px;z-index:2}.membership-dialog .membership-close:hover{background:#3a2948;color:#fff}.membership-view{padding:42px 38px 34px;min-width:0}.membership-view h2{font-size:27px;line-height:1.35;letter-spacing:-.02em}.membership-view h3{font-size:17px;line-height:1.5}.membership-view p{font-size:13px;line-height:1.85}.membership-lead,.membership-account>p,.membership-view-heading p{margin-top:9px;color:#aaa1b2}.membership-view-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:22px;margin-bottom:24px}.membership-view-heading>div{min-width:0}.membership-state{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:4px 9px;border:1px solid #544462;border-radius:5px;color:#c9b4e0;font-size:11px;line-height:1.4;white-space:nowrap}.membership-state.is-active{border-color:#6d5d8c;color:#dbc6f4}.membership-state.is-alert{border-color:#795a43;color:#e2c095}.membership-state.is-idle{color:#b9afbf}.membership-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:24px}.membership-actions-stack{display:grid;gap:10px;align-items:stretch}.membership-actions-stack>*{width:100%}.membership-text-button,.membership-icon-text{padding:8px 0;color:#bdadd0;font-size:12px;text-decoration:underline;text-underline-offset:4px}.membership-text-button:hover,.membership-icon-text:hover{color:#fff}.membership-icon-text{padding:7px 0;white-space:nowrap;text-decoration:none}.membership-muted{color:#9f97a8!important;font-size:11px!important}.membership-notice{margin:18px 0 0;padding:11px 13px;border:1px solid #5b466e;border-radius:7px;background:#1b1522;color:#dfc9ef!important;font-size:12px!important}.membership-tabs{display:flex;gap:4px;margin:25px 0 20px;border-bottom:1px solid #2b2730}.membership-tab{min-height:41px;padding:8px 14px;border-bottom:2px solid transparent;color:#a9a0b1;font-size:12px}.membership-tab:hover{color:#fff}.membership-tab.active{border-color:#a78bfa;color:#f0e7fc}.membership-form{display:grid;gap:15px}.membership-form label,.membership-support-form label{display:grid;gap:7px;color:#d5cbdf;font-size:12px;line-height:1.6}.membership-form input,.membership-support-form textarea{width:100%;min-height:44px;border:1px solid #4a3a54;border-radius:7px;background:#16141b;color:#f1f0f5;padding:10px 12px;outline:none;font:inherit;font-size:13px}.membership-form textarea,.membership-support-form textarea{resize:vertical;min-height:88px}.membership-form input:focus,.membership-support-form textarea:focus{border-color:#a78bfa;outline:2px solid #a78bfa;outline-offset:3px}.membership-form input:disabled,.membership-support-form textarea:disabled{opacity:.5}.membership-form button[type="submit"]{width:100%;margin-top:2px}.membership-form-message{padding:10px 12px;border:1px solid #70465b;border-radius:7px;background:#21151d;color:#e3b9c5!important;font-size:12px!important;line-height:1.7!important}.membership-form-message.is-success{border-color:#527c6b;background:#14241e;color:#b9e0ca!important}.membership-form-message[hidden]{display:none}.membership-loading{display:grid;justify-items:center;gap:15px;padding-top:70px;padding-bottom:70px;text-align:center;color:#b4a9ba}.membership-loader{width:22px;height:22px;border:2px solid #3b3047;border-top-color:#a78bfa;border-radius:50%;animation:membership-spin .75s linear infinite}.membership-problem{padding-top:50px;padding-bottom:48px}.membership-problem h2{margin-bottom:10px}.membership-problem p{color:#b8afc1;max-width:65ch}.membership-inline-problem{margin:8px 0 0;padding:16px;border:1px solid #624657;border-radius:8px;background:#1a131a}.membership-inline-problem h3{font-size:16px;margin-bottom:6px}.membership-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:22px 0;background:#29282f;border:1px solid #29282f}.membership-summary>div{min-width:0;padding:16px;background:#19171e}.membership-summary dt,.membership-order-meta dt{color:#a7a0ad;font-size:11px;line-height:1.5}.membership-summary dd,.membership-order-meta dd{margin:7px 0 0;color:#f1edf4;font-size:13px;line-height:1.65;overflow-wrap:anywhere}.membership-payment-note{margin:18px 0 0;padding:12px 14px;border:1px solid #4d3d59;border-radius:7px;color:#c8bed0!important;font-size:12px!important;line-height:1.7!important}.membership-payment-note.is-ready{border-color:#486455;background:#131e19;color:#bce0c8!important}.membership-payment-note.is-pending{border-color:#665239;background:#211a15;color:#e0c69a!important}.membership-price-line{display:flex;align-items:baseline;gap:12px;padding:18px 0;border-top:1px solid #4b3659;border-bottom:1px solid #29282f}.membership-price-line strong{color:#cbb0f8;font-size:31px;font-variant-numeric:tabular-nums}.membership-price-line span{color:#aaa1b0;font-size:12px}.membership-checkout-form{margin-top:22px}.membership-checkout-form fieldset{padding:0;margin:0;border:0;min-inline-size:0}.membership-checkout-form fieldset:disabled{opacity:.66}.membership-checkbox{display:flex!important;grid-template-columns:none!important;align-items:flex-start;gap:10px!important;color:#c9c0cf!important;line-height:1.8!important}.membership-checkbox input{width:18px;min-width:18px;height:18px;min-height:18px;margin:3px 0 0;accent-color:#7540d9}.membership-checkbox span{display:block}.membership-payment-grid{display:grid;grid-template-columns:240px minmax(0,1fr);gap:27px;align-items:center;margin:26px 0 0}.membership-qr{width:240px;min-height:240px;display:grid;place-items:center;align-content:center;gap:9px;padding:10px;background:#fff;border:1px solid #84649f;border-radius:10px;color:#2a2130;text-align:center}.membership-qr img{display:block;width:220px;height:220px;object-fit:contain}.membership-qr-empty{background:#1a171e;color:#c8bfd0;border-color:#4d3d59}.membership-qr-empty small{max-width:18ch;color:#a39aa9;line-height:1.65}.membership-qr-error{padding:10px;color:#b97f92;font-size:11px!important}.membership-payment-copy{display:grid;gap:12px;align-content:center}.membership-payment-copy p{color:#b6adbd;font-size:12px}.membership-payment-copy strong{color:#f0e8f8;font-variant-numeric:tabular-nums}.membership-success-state{margin:25px 0;padding:21px;border:1px solid #4e775f;border-radius:9px;background:#121e18}.membership-success-state h3{color:#c5e4d0;margin-bottom:7px}.membership-success-state p{color:#bed0c4}.membership-orders .membership-view-heading{align-items:center}.membership-order-list{display:grid;gap:15px;margin-top:23px}.membership-order-card{padding:18px;border:1px solid #302a37;border-radius:10px;background:#17151b}.membership-order-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}.membership-order-heading h3{font-size:15px;overflow-wrap:anywhere}.membership-order-heading p{margin-top:4px;color:#a69dab;font-size:11px}.membership-order-card code,.membership-payment-view code{font-family:inherit;color:#d5c6e3;font-size:12px;overflow-wrap:anywhere}.membership-order-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:17px 0 0;background:#2c2731;border:1px solid #2c2731}.membership-order-meta>div{padding:11px;background:#1d1a21;min-width:0}.membership-order-meta dd{font-size:12px}.membership-order-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:15px}.membership-support-form{display:grid;gap:9px;margin-top:17px;padding-top:16px;border-top:1px solid #332d38}.membership-support-form textarea{font-size:12px;min-height:78px}.membership-support-form button{justify-self:start}.membership-empty{margin-top:23px;padding:32px 18px;border-top:1px solid #29282f;border-bottom:1px solid #29282f;text-align:center}.membership-empty h3{margin-bottom:7px}.membership-empty p{color:#a9a0b1;font-size:12px}.membership-loading-inline{display:flex;align-items:center;justify-content:center;gap:10px;min-height:150px;color:#aaa0b1;font-size:12px}.membership-loading-inline .membership-loader{width:17px;height:17px}.membership-recovery p{max-width:64ch;color:#bbb1c2}.membership-recovery-code{margin:25px 0;padding:20px 17px;border:1px solid #6c4c8c;border-radius:8px;background:#1a1422;text-align:center}.membership-recovery-code code{color:#eddcff;font:650 24px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.08em;overflow-wrap:anywhere}.membership-recovery .membership-actions{margin-top:0}
@keyframes membership-spin{to{transform:rotate(360deg)}}
@media(max-width:1100px){.account-trigger span{display:none}.account-trigger{padding-inline:11px}.site-header{gap:17px}}
@media(max-width:800px){.account-trigger span{display:block}.account-trigger{min-height:40px;padding-inline:11px}.membership-view{padding:38px 28px 29px}}
@media(max-width:600px){.membership-dialog{width:calc(100% - 24px);max-height:calc(100vh - 24px);border-radius:13px}.membership-view{padding:34px 21px 24px}.membership-view h2{font-size:23px}.membership-view-heading{gap:12px;margin-bottom:19px}.membership-view-heading .membership-state{font-size:10px}.membership-summary{grid-template-columns:1fr}.membership-payment-grid{grid-template-columns:1fr;gap:20px}.membership-qr{width:min(240px,100%);justify-self:center}.membership-payment-copy{gap:8px}.membership-order-meta{grid-template-columns:1fr}.membership-order-heading{display:block}.membership-order-heading .membership-state{margin-top:10px}.membership-recovery-code code{font-size:19px}.membership-actions>*{flex:1 1 auto}.membership-actions-stack>*{flex:none}.account-trigger{font-size:11px}.membership-tabs{overflow:auto}.membership-tab{flex:1 0 auto;padding-inline:10px}}
.membership-view-heading{padding-right:42px}
.membership-payment-options{display:grid;gap:8px;padding:0;margin:0;border:0;min-inline-size:0}.membership-payment-options legend{margin-bottom:1px;color:#d5cbdf;font-size:12px}.membership-payment-option{display:flex!important;align-items:flex-start;gap:10px!important;padding:11px 12px;border:1px solid #4a3a54;border-radius:7px;background:#16141b;color:#d5cbdf!important;cursor:pointer}.membership-payment-option:hover,.membership-payment-option.is-selected{border-color:#a78bfa;background:#241a30}.membership-payment-option:focus-within{outline:2px solid #a78bfa;outline-offset:3px}.membership-payment-option input{width:18px!important;min-width:18px!important;height:18px;min-height:18px!important;margin:2px 0 0!important;accent-color:#7540d9}.membership-payment-option span{display:grid;gap:3px;min-width:0}.membership-payment-option strong{color:#f1edf5;font-size:13px;font-weight:650}.membership-payment-option small{color:#aaa1b0;font-size:11px;line-height:1.6}.membership-payment-method-single{display:grid;grid-template-columns:auto auto;gap:2px 10px;margin:0;padding:11px 12px;border:1px solid #4a3a54;border-radius:7px;background:#16141b;color:#aaa1b0;font-size:12px}.membership-payment-method-single strong{color:#f1edf5;font-size:13px;font-weight:650}.membership-payment-method-single small{grid-column:1 / -1;color:#aaa1b0;font-size:11px;line-height:1.6}
:root[data-theme="light"] .membership-payment-options legend{color:#413c4c}:root[data-theme="light"] .membership-payment-option,:root[data-theme="light"] .membership-payment-method-single{border-color:#c9c4d4;background:#fff;color:#413c4c!important}:root[data-theme="light"] .membership-payment-option:hover,:root[data-theme="light"] .membership-payment-option.is-selected{border-color:#7051ba;background:#f7f3ff}:root[data-theme="light"] .membership-payment-option:focus-within{outline-color:#7051ba}:root[data-theme="light"] .membership-payment-option strong,:root[data-theme="light"] .membership-payment-method-single strong{color:#302b38}:root[data-theme="light"] .membership-payment-option small,:root[data-theme="light"] .membership-payment-method-single small{color:#5d5968}
@media(prefers-reduced-motion:reduce){.membership-loader{animation:none}}

/* Subscription refinement: flat hierarchy, shared tokens, and readable state changes. */
.membership-settings-form { padding-block: 24px; border-bottom: 1px solid var(--line); }
.membership-settings-form h3 { margin: 0; color: var(--text); font-size: 18px; }
.membership-settings-form input { font-size: 16px; }
.membership-settings > .membership-text-button { margin-top: 20px; min-height: 44px; }
.site-header .account-trigger {
  min-width: 44px;
  min-height: 44px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: var(--surface);
  color: var(--text);
}

.site-header .account-trigger svg {
  color: var(--muted);
}

.site-header .account-trigger:hover {
  border-color: var(--purple);
  background: var(--surface-2);
  color: var(--text);
}

.site-header .account-trigger[data-member-state="subscriber"] {
  border-color: var(--line);
  color: var(--text);
}

.site-header .account-trigger[data-member-state="subscriber"] svg {
  color: var(--purple);
}

.membership-dialog {
  border-color: var(--line);
  background: var(--surface);
  color: var(--text);
}

.membership-dialog .membership-close {
  border: 1px solid var(--line);
  background: var(--surface-2);
  color: var(--text);
}

.membership-dialog .membership-close:hover {
  border-color: var(--purple);
  background: var(--surface-2);
  color: var(--text);
}

.membership-view h2,
.membership-view h3 {
  color: var(--text);
}

.membership-view-heading p,
.membership-view .membership-lead,
.membership-view .membership-account > p,
.membership-view .membership-muted,
.membership-view .membership-payment-copy p,
.membership-view .membership-price-line span {
  color: var(--muted);
}

.membership-view .membership-payment-copy strong {
  color: var(--text);
}

.membership-tabs {
  border-color: var(--line);
}

.membership-tab {
  color: var(--muted);
}

.membership-tab:hover,
.membership-tab.active {
  color: var(--text);
}

.membership-form label,
.membership-form .membership-checkbox {
  color: var(--text) !important;
}

.membership-form input,
.membership-support-form textarea {
  border-color: var(--line);
  background: var(--surface-2);
  color: var(--text);
}

.membership-form input:focus,
.membership-support-form textarea:focus {
  border-color: var(--purple);
  outline-color: var(--purple);
}

.membership-price-line {
  border-color: var(--line);
}

.membership-price-line strong {
  color: var(--text);
}

.membership-payment-note {
  border-color: var(--line);
  border-radius: 0;
  background: transparent;
  color: var(--muted) !important;
}

.membership-payment-note.is-ready {
  border-color: var(--green);
  background: transparent;
  color: var(--green) !important;
}

.membership-payment-note.is-pending {
  border-color: var(--line);
  background: transparent;
  color: var(--muted) !important;
}

.membership-checkout-form {
  gap: 20px;
}

.membership-checkout-form fieldset:disabled {
  opacity: .72;
}

.membership-checkbox {
  line-height: 1.85 !important;
}

.membership-payment-options,
.membership-payment-option,
.membership-payment-method-single {
  border-color: var(--line);
}

.membership-payment-option {
  background: var(--surface-2);
  color: var(--text) !important;
}

.membership-payment-method-single {
  background: var(--surface-2);
  color: var(--muted) !important;
}

.membership-payment-option:hover,
.membership-payment-option.is-selected {
  border-color: var(--purple);
  background: var(--surface-2);
}

.membership-payment-option:focus-within {
  outline-color: var(--purple);
}

.membership-payment-option strong,
.membership-payment-method-single strong {
  color: var(--text);
}

.membership-payment-option small,
.membership-payment-method-single small {
  color: var(--muted);
}

.membership-summary,
.membership-order-meta {
  background: var(--line);
  border-color: var(--line);
}

.membership-summary > div,
.membership-order-meta > div {
  background: var(--surface-2);
}

.membership-summary dt,
.membership-order-meta dt {
  color: var(--muted);
}

.membership-summary dd,
.membership-order-meta dd {
  color: var(--text);
}

.membership-order-card {
  border-color: var(--line);
  background: var(--surface);
}

.membership-order-card code,
.membership-payment-view code {
  color: var(--text);
}

.membership-form-message,
.membership-notice,
.membership-inline-problem,
.membership-recovery-code {
  border-color: var(--line);
  background: var(--surface-2);
}

.membership-empty {
  border-color: var(--line);
}

/* theme.css has stronger light selectors and loads first; these keep the local controls aligned. */
:root[data-theme="light"] .site-header .account-trigger {
  border-color: #c7c2d1;
  background: #ffffff;
  color: #413c4d;
}

:root[data-theme="light"] .site-header .account-trigger:hover {
  border-color: #8064c7;
  background: #f0ecfb;
  color: #2f2252;
}

:root[data-theme="light"] .site-header .account-trigger svg {
  color: #5d38b5;
}

:root[data-theme="light"] .membership-dialog {
  border-color: #d3cedd;
  background: #ffffff;
  color: #25222d;
}

:root[data-theme="light"] .membership-dialog .membership-close {
  border-color: #c9c4d4;
  background: #f0eff5;
  color: #413c4d;
}

:root[data-theme="light"] .membership-view h2,
:root[data-theme="light"] .membership-view h3,
:root[data-theme="light"] .membership-view .membership-lead,
:root[data-theme="light"] .membership-view .membership-account > p,
:root[data-theme="light"] .membership-view .membership-form label,
:root[data-theme="light"] .membership-view .membership-checkbox,
:root[data-theme="light"] .membership-view .membership-price-line strong,
:root[data-theme="light"] .membership-view .membership-payment-copy strong {
  color: #25222d !important;
}

:root[data-theme="light"] .membership-view-heading p,
:root[data-theme="light"] .membership-view .membership-muted,
:root[data-theme="light"] .membership-view .membership-payment-copy p,
:root[data-theme="light"] .membership-view .membership-price-line span,
:root[data-theme="light"] .membership-view .membership-payment-note,
:root[data-theme="light"] .membership-view .membership-payment-option small,
:root[data-theme="light"] .membership-view .membership-payment-method-single,
:root[data-theme="light"] .membership-view .membership-payment-method-single small {
  color: #5d5968 !important;
}

:root[data-theme="light"] .membership-view .membership-form input,
:root[data-theme="light"] .membership-view .membership-support-form textarea,
:root[data-theme="light"] .membership-view .membership-payment-option,
:root[data-theme="light"] .membership-view .membership-payment-method-single {
  border-color: #c9c4d4;
  background: #f7f7fa;
  color: #25222d !important;
}

:root[data-theme="light"] .membership-view .membership-form input:focus,
:root[data-theme="light"] .membership-view .membership-support-form textarea:focus,
:root[data-theme="light"] .membership-view .membership-payment-option:hover,
:root[data-theme="light"] .membership-view .membership-payment-option.is-selected {
  border-color: #7051ba;
  background: #f0ecfb;
}

:root[data-theme="light"] .membership-view .membership-payment-option strong,
:root[data-theme="light"] .membership-view .membership-payment-method-single strong {
  color: #302b38;
}

:root[data-theme="light"] .membership-view .membership-payment-note.is-ready {
  border-color: #1d6d4d;
  color: #1d6d4d !important;
}

.membership-browser-guide-wrap {
  display: grid;
  gap: 10px;
  margin-top: 14px;
}

.membership-browser-guide-action {
  min-height: 44px;
  justify-self: start;
}

.membership-browser-guide {
  padding-top: 12px;
  border-top: 1px solid var(--line);
  color: var(--muted);
  font-size: 12px;
  line-height: 1.75;
  overflow-wrap: anywhere;
}

.membership-browser-guide:focus-visible {
  outline: 2px solid var(--purple);
  outline-offset: 4px;
}

.membership-browser-guide[hidden] {
  display: none;
}

.membership-browser-guide strong {
  display: block;
  margin-bottom: 4px;
  color: var(--text);
  font-size: 13px;
}

.membership-browser-guide p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.75;
}

.membership-subscribe-link {
  display: grid;
  gap: 8px;
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid var(--line);
}

.membership-subscribe-link-heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  min-width: 0;
}

.membership-subscribe-link-heading strong {
  color: var(--text);
  font-size: 13px;
}

.membership-subscribe-link-help,
.membership-subscribe-link-feedback,
.membership-subscribe-link-empty {
  margin: 0;
  color: var(--muted);
  font-size: 11px !important;
  line-height: 1.65 !important;
}

.membership-subscribe-link-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) max-content;
  gap: 8px;
  align-items: stretch;
}

.membership-subscribe-link-value {
  width: 100%;
  min-width: 0;
  min-height: 44px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: var(--surface-2);
  color: var(--text);
  font: inherit;
  font-size: 12px;
  line-height: 1.55;
  resize: none;
  overflow: auto;
  overflow-wrap: anywhere;
  word-break: break-all;
  outline: none;
}

.membership-subscribe-link-value:focus {
  border-color: var(--purple);
  outline: 2px solid var(--purple);
  outline-offset: 3px;
}

.membership-subscribe-link-row button {
  min-height: 44px;
  white-space: nowrap;
}

.membership-subscribe-link-feedback[hidden] {
  display: none;
}

@media (max-width: 600px) {
  .membership-browser-guide-action {
    width: 100%;
  }

  .membership-subscribe-link-row {
    grid-template-columns: 1fr;
  }

  .membership-subscribe-link-value {
    font-size: 16px;
  }

  .membership-subscribe-link-row button {
    justify-self: start;
  }
}

:root[data-theme="light"] .membership-subscribe-link-value {
  border-color: #c9c4d4;
  background: #f7f7fa;
  color: #25222d;
}

/* Account dialog touch floor: keep the incumbent white/minimal surface intact. */
.membership-dialog {
  overflow-x: hidden;
}

@media (max-width: 600px) {
  .membership-dialog .membership-view,
  .membership-dialog .membership-form,
  .membership-dialog .membership-form label {
    min-width: 0;
  }

  .membership-dialog .membership-view {
    overflow-wrap: anywhere;
  }

  .membership-dialog .membership-tab {
    min-height: 44px;
    padding: 10px 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  .membership-dialog .membership-text-button,
  .membership-dialog .membership-icon-text {
    min-height: 44px;
    padding: 10px 0;
    display: inline-flex;
    align-items: center;
  }

  .membership-dialog .membership-checkbox {
    min-height: 44px;
    padding: 8px 0;
    box-sizing: border-box;
  }

  .membership-dialog .membership-checkbox input {
    margin-top: 5px;
  }

  .membership-dialog input,
  .membership-dialog textarea {
    max-width: 100%;
    box-sizing: border-box;
    font-size: 16px;
  }
}

@media(max-width:600px){.membership-dialog .membership-close{width:44px;height:44px;min-width:44px;min-height:44px}.membership-dialog .membership-view>h2{padding-right:34px}}
