/* UI-004 · account, benefits, wallet, VIP and recovery.
   Load after styles.css and catalog.css. Real state/validation belongs to account modules. */
:root {
  --account-bg:#101112;--account-surface:#191c1f;--account-raised:#23272b;
  --account-text:#f4f3ef;--account-secondary:#a7afb5;--account-line:#ffffff15;
  --account-pink:#f0698c;--account-pink-soft:#ffc1d2;--account-pink-dark:#a92850;
  --account-sage:#c4cdbb;--account-lavender:#b9afd1;
}
.account-page,.benefit-page {position:relative;min-width:0;width:100%;color:var(--account-text);}
.account-page>h1,.benefit-page>h1 {font-size:28px;letter-spacing:-.045em;line-height:1.35;}
.account-page p,.benefit-page p {overflow-wrap:anywhere;}
.account-page .primary-button,.account-page .quiet-button,.benefit-page .primary-button,.benefit-page .quiet-button,.account-sheet .primary-button,.account-sheet .quiet-button {min-height:44px;font-size:12px;line-height:1.5;}
.account-page button,.benefit-page button,.account-sheet button {touch-action:manipulation;}
.account-page button:disabled,.benefit-page button:disabled {opacity:.48;}
.account-eyebrow {display:block;font-size:9px;font-weight:500;letter-spacing:.1em;line-height:1.6;color:#9ea6ab;}
.account-top {position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 25px;min-height:46px;}
.account-top h1 {font-size:16px;font-weight:550;letter-spacing:0;margin:0;text-align:center;}
.account-top>button {display:grid;place-items:center;min-width:44px;min-height:44px;padding:8px;font-size:12px;color:#b9c1c5;}
.account-icon-button {display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border:1px solid #ffffff0b;border-radius:50%;color:#c0c5c8;}
.account-icon-button .icon {width:22px;height:22px;}
.account-text-button {display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 0;font-size:11px;line-height:1.5;color:var(--account-pink-soft);}
.account-section-heading {display:flex;align-items:center;justify-content:space-between;gap:10px;margin:25px 0 16px;}
.account-section-heading h2 {font-size:17px;font-weight:600;line-height:1.5;letter-spacing:-.02em;margin:0;}
.account-section-heading>span,.account-section-heading>small {font-size:10px;line-height:1.6;color:#929da4;text-align:right;}
.account-note,.account-page .account-note,.benefit-page .account-note {font-size:10px;line-height:1.9;color:#929ea6;margin:12px 0;}
.account-caution {font-size:11px!important;line-height:1.85!important;color:#d4b2bd!important;background:#f0698c09;border:1px solid #f0698c20;border-radius:12px;padding:13px 15px;margin:17px 0;}

/* Profile: neutral identity, a quiet material illustration, clear spending balance. */
.profile-hero {display:flex;align-items:center;gap:13px;margin:7px 0 26px;min-width:0;}
.account-avatar {display:block;width:64px;height:64px;flex:0 0 64px;border-radius:50%;object-fit:cover;background:#d7c8b8;border:1px solid #ffffff25;}
.profile-identity {flex:1;min-width:0;}
.profile-hero h1,.profile-identity h1,.profile-identity h2 {font-size:21px;font-weight:600;line-height:1.4;letter-spacing:-.04em;margin:4px 0 5px;overflow-wrap:anywhere;}
.profile-hero .account-eyebrow {font-size:8px;letter-spacing:.04em;}
.account-id {display:inline-flex;align-items:center;gap:5px;max-width:100%;min-height:44px;padding:0;color:#98a5ac;font:10px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;overflow-wrap:anywhere;text-align:left;}
.account-id .icon {width:12px;height:12px;}
.member-card {display:block;position:relative;isolation:isolate;overflow:hidden;border-radius:18px;border:1px solid #c9b3ba32;background:linear-gradient(115deg,#292b2e,#272326);padding:22px 19px;margin:20px 0 15px;min-height:182px;}
.member-copy {position:relative;z-index:1;max-width:77%;}
.member-card .account-eyebrow {color:#d8b4c0;font-size:8px;letter-spacing:.15em;}
.member-card h2 {font-size:20px;letter-spacing:-.04em;line-height:1.4;font-weight:600;margin:10px 0 8px;}
.member-card p {font-size:10px;color:#c0b9bc;line-height:1.8;max-width:22em;margin:0 0 12px;}
.member-card .primary-button {min-height:44px;font-size:11px;padding:8px 13px;background:#edb1c3;color:#34202b;box-shadow:none;}
.member-card .member-art {position:absolute;right:-40px;bottom:-16px;width:180px;height:auto;z-index:0;opacity:.7;pointer-events:none;}
.member-card[data-state=active] {border-color:#dfb5c844;}
.member-card[data-state=expired] .member-art {opacity:.4;filter:saturate(.3);}
.member-dates {display:flex;gap:10px;flex-wrap:wrap;color:#cbbfc4;font-size:10px;line-height:1.7;}
.member-dates span {display:block;}
.wallet-card {display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:20px;border:1px solid var(--account-line);border-radius:16px;background:var(--account-surface);margin:15px 0 22px;}
.wallet-card>div {min-width:0;}
.wallet-card small {font-size:10px;line-height:1.6;color:#9eabb1;}
.balance-number {display:block;font-size:38px;font-weight:570;font-variant-numeric:tabular-nums;letter-spacing:-.05em;line-height:1.3;color:#f5f1e8;margin:5px 0 0;overflow-wrap:anywhere;}
.balance-number>span {font-size:11px;font-weight:400;letter-spacing:0;color:#9fadb4;margin-left:6px;}
.wallet-card>a,.wallet-card>.account-text-button {flex:0 0 100%;border-top:1px solid #ffffff0d;padding-top:12px;margin-top:2px;font-size:10px;line-height:1.6;color:#b8c6c4;}
.wallet-card .quiet-button {font-size:11px;min-width:69px;}
.service-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px 4px;border:1px solid #ffffff0d;background:#ffffff02;border-radius:16px;padding:14px 7px;margin:18px 0 25px;}
.service-tile {display:flex;align-items:center;justify-content:flex-start;flex-direction:column;gap:9px;padding:9px 2px;min-width:0;min-height:81px;color:#c6ced1;font-size:10px;line-height:1.5;text-align:center;}
.service-icon {display:grid;place-items:center;flex-shrink:0;width:39px;height:39px;border-radius:13px;background:#ffffff05;border:1px solid #ffffff0c;color:#d5b8c2;}
.service-icon .icon {width:22px;height:22px;}
.service-tile:nth-child(3n+2) .service-icon {color:#bdcabb;}
.service-tile:nth-child(3n) .service-icon {color:#b7c4cc;}
.service-tile img.service-icon {padding:7px;}
.account-record-tabs {display:flex;gap:22px;border-bottom:1px solid #ffffff0b;margin:19px 0 0;padding:0 2px;}
.account-record-tabs button {position:relative;min-height:47px;padding:8px 0;font-size:14px;color:#929da5;}
.account-record-tabs :is(.selected,.active,[aria-selected=true]) {color:#f0d6df;}
.account-record-tabs :is(.selected,.active,[aria-selected=true]):after {content:"";position:absolute;bottom:0;left:calc(50% - 10px);width:20px;height:2px;border-radius:2px;background:var(--account-pink);}
.account-record-card {display:flex;align-items:center;gap:13px;text-align:left;width:100%;padding:14px 0;border-bottom:1px solid #ffffff0a;min-width:0;}
.account-record-card>img {display:block;width:51px;height:67px;flex:0 0 51px;object-fit:cover;border-radius:8px;}
.account-record-card>div,.account-record-card>span {min-width:0;}
.account-record-card strong {display:block;font-size:13px;font-weight:550;line-height:1.6;overflow-wrap:anywhere;}
.account-record-card small {display:block;font-size:10px;color:#9ca9b1;line-height:1.7;margin-top:5px;}
.account-empty {text-align:center;padding:24px 10px 20px;color:#96a3aa;}
.account-empty>img {display:block;width:148px;max-width:80%;height:auto;margin:4px auto 15px;}
.account-empty h2 {font-size:16px;color:#d9dfda;margin:10px 0;letter-spacing:-.02em;}
.account-empty p {font-size:11px;line-height:1.8;color:#97a4ab;margin:8px 0 17px;}

/* Benefits: a configurable horizontal calendar, not a fixed seven-day assumption. */
.benefit-heading {display:flex;align-items:center;justify-content:space-between;gap:14px;margin:3px 0 24px;}
.benefit-heading h1 {font-size:29px;line-height:1.3;letter-spacing:-.045em;margin:9px 0 6px;font-weight:600;}
.benefit-heading p {font-size:11px;line-height:1.7;color:#a2aeb4;margin:0;}
.benefit-heading>.account-text-button {flex-shrink:0;}
.checkin-card {background:#191c1f;border:1px solid #ffffff13;border-radius:17px;padding:18px 15px;margin:0 0 20px;overflow:hidden;}
.checkin-card .account-section-heading {margin:0 0 16px;align-items:flex-start;}
.checkin-card .account-section-heading h2 {font-size:16px;}
.checkin-card .account-section-heading>span {font-size:9px;max-width:11em;}
.checkin-grid {display:grid;grid-auto-flow:column;grid-auto-columns:minmax(53px,1fr);gap:7px;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#475159 transparent;padding:1px 1px 9px;margin:0 -2px 9px;}
.checkin-day {position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-width:53px;min-height:108px;padding:10px 4px;border:1px solid #ffffff0a;background:#ffffff03;border-radius:12px;text-align:center;}
.checkin-day>small {font-size:9px;line-height:1.4;color:#9ca9b1;}
.checkin-coin {display:grid;place-items:center;width:28px;height:28px;color:#d6aab8;}
.checkin-coin img {display:block;width:28px;height:28px;}
.checkin-coin .icon {width:22px;height:22px;}
.checkin-day>strong {font-size:15px;line-height:1.3;font-weight:550;color:#e4dbd8;font-variant-numeric:tabular-nums;}
.checkin-status {font-size:8px;line-height:1.4;color:#9daab1;}
.checkin-day:is(.is-current,[data-state=available]) {background:#f0698c0c;border-color:#ed839e66;}
.checkin-day:is(.is-current,[data-state=available])>small,.checkin-day:is(.is-current,[data-state=available]) .checkin-status {color:#fac4d3;}
.checkin-day:is(.is-claimed,[data-state=claimed]) {background:#bdd3c009;border-color:#bdd3c01a;}
.checkin-day:is(.is-claimed,[data-state=claimed]) .checkin-status {color:#b7cab9;}
.checkin-day:is(.is-locked,[data-state=locked]) .checkin-coin {color:#81929b;}
.checkin-day:is(.is-locked,[data-state=locked])>strong {color:#9eafb7;}
.checkin-row-title {display:flex;align-items:center;justify-content:space-between;gap:10px;margin:14px 0 11px;color:#c9d1d3;font-size:11px;font-weight:550;}
.checkin-row-title small {font-size:9px;color:#b7a8c5;}
.checkin-card>.full-button {margin:10px 0 3px;}
.checkin-card .account-note {text-align:center;margin-bottom:1px;}
.task-list {display:flex;flex-direction:column;gap:0;margin:0 0 20px;border-top:1px solid #ffffff10;}
.benefit-task {display:flex;align-items:center;gap:12px;min-width:0;padding:19px 0;border-bottom:1px solid #ffffff10;}
.task-number {align-self:flex-start;flex:0 0 25px;padding-top:4px;font-size:23px;font-weight:450;letter-spacing:-.07em;line-height:1.3;color:#71818a;}
.task-copy {min-width:0;flex:1;}
.task-copy h3 {font-size:13px;line-height:1.6;font-weight:580;margin:0 0 4px;}
.task-reward {font-size:11px;color:#efb6c8;font-weight:500;line-height:1.6;}
.task-copy p {font-size:10px;color:#acb8be;line-height:1.8;margin:5px 0;}
.task-copy small {display:block;font-size:9px;color:#8c9da6;line-height:1.8;overflow-wrap:anywhere;}
.benefit-task>button {flex:0 0 auto;max-width:90px;min-height:44px!important;min-width:68px;border-radius:20px;font-size:10px!important;padding:9px 11px;text-align:center;}
.benefit-task[data-state=available]>button {background:#a92850;border-color:#db628633;color:white;}
.benefit-task[data-state=claimed]>button {background:#ffffff03;border-color:#ffffff0c;color:#a1b7a7;}
.benefit-task[data-state=unavailable]>button {color:#94a5ae;border-color:#ffffff10;}
.task-progress {height:3px;border-radius:2px;background:#ffffff0c;margin:9px 0 5px;overflow:hidden;}
.task-progress>span {display:block;height:100%;background:#d6a1b1;max-width:100%;border-radius:2px;}
.activity-card {display:block;position:relative;isolation:isolate;overflow:hidden;border-radius:16px;border:1px solid #ffffff15;background:#273832;margin:18px 0 22px;min-height:148px;text-align:left;}
.activity-card>img {position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;z-index:-2;}
.activity-card:after {content:"";position:absolute;inset:0;background:linear-gradient(90deg,#273832ef,#27383266 65%,transparent);z-index:-1;pointer-events:none;}
.activity-card>div {padding:20px;max-width:85%;}
.activity-card small {display:block;font-size:9px;color:#b6c6b8;line-height:1.6;}
.activity-card h2 {font-size:18px;font-weight:550;line-height:1.5;letter-spacing:-.03em;margin:9px 0;}
.activity-card p {font-size:10px!important;line-height:1.7!important;color:#b5c6ba!important;margin:0 0 9px;}
.activity-card .quiet-button {font-size:10px;min-height:44px;padding:7px 11px;color:#e0e8d8;border-color:#c7d4be38;background:#1b2a2266;}

/* Wallet distinguishes funding source, expiry, and creator income. */
.wallet-summary {position:relative;border:1px solid #ffffff14;border-radius:18px;background:#1b2022;padding:25px 22px;margin:18px 0;}
.wallet-summary>span {font-size:11px;line-height:1.7;color:#a2b0b8;}
.wallet-summary>.balance-number {font-size:45px;margin:10px 0;}
.wallet-summary p {font-size:10px;line-height:1.7;color:#92a3ad;margin:6px 0 0;}
.balance-sources {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:16px 0 22px;}
.balance-source {min-width:0;padding:13px 10px;border-radius:12px;border:1px solid #ffffff11;background:#ffffff02;}
.balance-source>span {display:block;font-size:10px;color:#a3b1ba;line-height:1.6;}
.balance-source>strong {display:block;font-size:22px;font-weight:550;line-height:1.4;letter-spacing:-.03em;color:#e2e5de;margin:8px 0;overflow-wrap:anywhere;font-variant-numeric:tabular-nums;}
.balance-source>small {display:block;font-size:8px;line-height:1.75;color:#8e9fa9;overflow-wrap:anywhere;}
.creator-income {border:1px dashed #839b9838;border-radius:12px;padding:15px;margin:18px 0;}
.creator-income strong {color:#bdd0c1;font-size:13px;line-height:1.8;}
.creator-income p {font-size:10px;color:#91a59e;line-height:1.8;margin:6px 0 0;}
.recharge-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0;}
.recharge-plan {display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-width:0;border:1px solid #ffffff17;border-radius:13px;background:#ffffff02;padding:16px 14px;text-align:left;min-height:105px;}
.recharge-plan>small {color:#9dabb4;font-size:9px;line-height:1.5;}
.recharge-plan>strong {font-size:24px;color:#ede7de;font-weight:550;line-height:1.2;letter-spacing:-.03em;}
.recharge-plan strong>span {font-size:10px;color:#acb8bf;font-weight:400;letter-spacing:0;margin-left:4px;}
.recharge-plan>span {font-size:12px;color:#aebbc1;line-height:1.6;}
.recharge-plan:is(.selected,[aria-pressed=true]) {border-color:#f0698c88;background:#f0698c09;}
.recharge-plan:is(.selected,[aria-pressed=true])>span {color:#f1b2c5;}
.wallet-ledger {margin:20px 0;}
.wallet-ledger-row {display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px 13px;padding:15px 0;border-bottom:1px solid #ffffff0e;align-items:start;}
.wallet-ledger-row strong {font-size:12px;font-weight:500;line-height:1.6;}
.wallet-ledger-row>span {font-size:14px;font-weight:500;font-variant-numeric:tabular-nums;line-height:1.5;color:#dbc1cb;}
.wallet-ledger-row small {font-size:9px;line-height:1.7;color:#8e9ea8;overflow-wrap:anywhere;}
.wallet-ledger-row [data-sign=positive] {color:#bed0c1;}

/* One membership, three durations; price and grants remain configured data. */
.vip-hero {position:relative;overflow:hidden;padding:8px 0 25px;}
.vip-hero>.account-eyebrow {color:#d8afbf;}
.vip-hero>h1 {font-size:31px;line-height:1.35;font-weight:550;letter-spacing:-.045em;margin:13px 0;}
.vip-hero>p {font-size:12px;line-height:1.9;color:#a6b3ba;}
.vip-state {display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:10px;line-height:1.7;color:#c3cacf;margin:14px 0;}
.vip-state>span:first-child {padding:3px 8px;border:1px solid #c9a8b442;border-radius:6px;color:#f2c1d1;background:#f0698c0b;}
.vip-plans {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:20px 0;}
.vip-plan {display:flex;position:relative;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-width:0;min-height:153px;padding:17px 9px;border:1px solid #ffffff19;background:#ffffff02;border-radius:14px;text-align:center;}
.vip-plan>span {font-size:12px;line-height:1.6;color:#c9cfd1;}
.vip-plan>strong {font-size:26px;font-weight:550;letter-spacing:-.04em;line-height:1.2;color:#f1e8e2;overflow-wrap:anywhere;}
.vip-plan>small {font-size:9px;line-height:1.8;color:#9caeb7;overflow-wrap:anywhere;}
.vip-plan:is(.selected,[aria-pressed=true]) {background:#f0698c0b;border-color:#ee78988c;}
.vip-plan:is(.selected,[aria-pressed=true])>span {color:#fbc2d2;}
.vip-plan .plan-badge {position:absolute;right:6px;top:-8px;font-size:8px;line-height:1.5;padding:2px 6px;border-radius:5px;background:#c095a1;color:#241a20;}
.vip-privileges {margin:27px 0 20px;border-top:1px solid #ffffff10;padding-top:22px;}
.vip-privileges>h2 {font-size:18px;font-weight:550;letter-spacing:-.03em;margin:0 0 16px;}
.privilege-row {display:flex;align-items:center;gap:13px;min-width:0;padding:13px 0;}
.privilege-row>div {min-width:0;}
.privilege-row strong {font-size:12px;font-weight:550;line-height:1.7;}
.privilege-row p {font-size:10px;color:#94a6b0;line-height:1.8;margin:4px 0 0;}

/* Settings, official addresses and private recovery. Never draw a decorative QR. */
.account-setting-group {padding:0;margin:22px 0 27px;}
.account-setting-group>h2 {font-size:11px;font-weight:500;color:#9baab3;margin:0 0 12px;}
.account-setting-row {display:flex;align-items:center;gap:13px;min-width:0;width:100%;min-height:68px;text-align:left;padding:13px 0;border-bottom:1px solid #ffffff10;}
.account-setting-row>.service-icon {width:36px;height:36px;border-radius:11px;}
.account-setting-row>span:nth-child(2) {flex:1;min-width:0;}
.account-setting-row strong {display:block;font-size:13px;font-weight:500;line-height:1.5;}
.account-setting-row small {display:block;font-size:9px;line-height:1.8;color:#8c9fa9;margin-top:4px;overflow-wrap:anywhere;}
.account-setting-row>span:last-child {color:#7f929c;font-size:16px;}
.official-hero {text-align:center;margin:8px 0 25px;}
.official-hero>img {display:block;width:180px;height:auto;margin:0 auto 15px;}
.official-hero h1 {font-size:26px;letter-spacing:-.04em;line-height:1.4;}
.official-hero p {font-size:11px;line-height:1.9;}
.official-address-card {padding:20px;border:1px solid #ffffff15;border-radius:16px;background:#191d20;margin:15px 0;}
.official-address-card>small {display:block;font-size:10px;line-height:1.7;color:#a8b4bc;}
.official-address-card>strong,.official-url {display:block;font-size:17px;line-height:1.8;font-weight:500;color:#e4d3dc;overflow-wrap:anywhere;margin:9px 0;}
.official-address-card>p {font-size:10px;line-height:1.8;color:#97a7b1;}
.official-address-card>.account-actions {display:flex;gap:9px;flex-wrap:wrap;margin-top:14px;}
.official-address-card .account-actions>button,.official-address-card .account-actions>a {flex:1;min-width:0;}
.account-actions {display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:17px 0;}
.account-actions>.primary-button,.account-actions>.quiet-button {flex:1;}
.recovery-card {position:relative;overflow:hidden;padding:22px;border:1px solid #ccb4c042;border-radius:19px;background:#1e2225;margin:20px 0;}
.recovery-card>header {display:flex;align-items:flex-start;gap:10px;flex-direction:column;padding-bottom:17px;border-bottom:1px solid #ffffff14;}
.recovery-card>header>span {font-size:15px;font-weight:550;color:#ecd5df;line-height:1.6;}
.recovery-card>header>small {font-size:10px;line-height:1.8;color:#9babb5;}
.recovery-private {min-width:0;min-height:100px;padding:20px 0 8px;overflow-wrap:anywhere;}
.recovery-private>img,.recovery-card>img,.recovery-card canvas {display:block;width:auto;max-width:100%;height:auto;margin:14px auto;border-radius:12px;}
.recovery-card :is(code,pre) {font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere;}
.account-form {display:flex;flex-direction:column;gap:17px;min-width:0;margin:22px 0;}
.account-form>label {display:flex;flex-direction:column;gap:10px;font-size:12px;color:#b8c3cb;line-height:1.7;}
.account-form input,.account-form select,.account-form textarea {display:block;width:100%;min-width:0;max-width:100%;min-height:46px;border:1px solid #ffffff1c;border-radius:11px;background:#1b2024;padding:13px;color:#e2e8e7;font-size:12px;line-height:1.7;}
.account-form input::placeholder,.account-form textarea::placeholder {color:#7d929e;}
.account-form input[type=file] {font-size:10px;overflow:hidden;padding:12px;}
.account-form input::file-selector-button {padding:7px 9px;margin-right:8px;border:0;border-radius:6px;background:#36424a;color:#d9e1de;font:inherit;}
.account-form .account-note {margin:0;}
.account-form .form-inline {display:flex;gap:9px;align-items:center;}
.account-form .form-inline>input {flex:1;min-width:0;}
.account-form .form-inline>button {flex:0 0 auto;font-size:10px;min-height:44px;padding:10px;}
.recovery-choice {display:flex;align-items:center;gap:15px;min-width:0;padding:23px 19px;margin:14px 0;border:1px solid #ffffff17;border-radius:16px;background:#ffffff03;text-align:left;width:100%;}
.recovery-choice>div {flex:1;min-width:0;}
.recovery-choice strong {font-size:15px;line-height:1.6;font-weight:550;}
.recovery-choice p {font-size:11px;line-height:1.8;color:#9eafb9;margin:7px 0 0;}
.account-status {padding:15px 16px;border:1px solid #ffffff17;border-radius:12px;background:#ffffff03;font-size:12px;line-height:1.8;color:#b8c7ce;margin:17px 0;overflow-wrap:anywhere;}
.account-status[data-state=success],.account-status[data-state=verified] {color:#c0d3c5;border-color:#9cbca338;background:#9cbca308;}
.account-status[data-state=error],.account-status[data-state=invalid],.account-status[data-state=failed] {color:#e0b7c4;border-color:#d784a042;background:#d784a008;}
.account-status[data-state=pending],.account-status[data-state=validating] {color:#d0c5dd;border-color:#b2a1cb33;}
.account-sheet {min-width:0;}
.account-sheet h3 {font-size:17px;font-weight:550;line-height:1.6;}
.account-sheet p {font-size:12px!important;line-height:1.85!important;}
.account-sheet .state-lines {margin:18px 0;}
.account-sheet .state-lines>div {min-width:0;}
.account-sheet .state-lines span {overflow-wrap:anywhere;}

@media(max-width:350px) {
  .profile-hero {gap:10px;margin-bottom:20px;}
  .account-avatar {width:54px;height:54px;flex-basis:54px;}
  .profile-hero h1,.profile-identity h1 {font-size:18px;}
  .account-icon-button {flex-basis:44px;width:44px;height:44px;border:0;}
  .member-card {padding:19px 15px;min-height:174px;}
  .member-card h2 {font-size:18px;}
  .member-copy {max-width:85%;}
  .member-card .member-art {right:-59px;width:166px;opacity:.5;}
  .wallet-card {padding:17px 15px;}
  .balance-number {font-size:33px;}
  .service-grid {padding:11px 3px;gap:7px 0;}
  .service-tile {font-size:9px;}
  .service-icon {width:35px;height:35px;}
  .checkin-card {padding:17px 11px;}
  .benefit-task {gap:8px;}
  .task-number {flex-basis:21px;font-size:21px;}
  .benefit-task>button {min-width:60px;max-width:68px;padding:8px 9px;font-size:9px!important;}
  .task-copy h3 {font-size:12px;}
  .task-copy small {font-size:8px;}
  .balance-sources {gap:6px;}
  .balance-source {padding:12px 8px;}
  .balance-source>span {font-size:9px;}
  .balance-source>strong {font-size:20px;}
  .vip-plans {gap:6px;}
  .vip-plan {padding:15px 6px;min-height:147px;}
  .vip-plan>strong {font-size:23px;}
  .vip-plan>small {font-size:8px;}
  .activity-card>div {padding:18px 16px;max-width:90%;}
  .activity-card h2 {font-size:16px;}
  .recovery-card {padding:17px;}
}
@media(prefers-reduced-motion:no-preference) {
  .service-tile:active,.checkin-day:active,.recharge-plan:active,.vip-plan:active {transform:scale(.975);transition:transform .16s cubic-bezier(.2,.85,.25,1.12);}
  .account-status {animation:account-status-in .22s ease-out;}
  @keyframes account-status-in {from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
}
/* ENG-004 actual DOM integration: two profile controls share a narrow column. */
.profile-hero {display:grid;grid-template-columns:64px minmax(0,1fr) 44px;column-gap:13px;row-gap:0;}
.profile-hero>.account-avatar {grid-column:1;grid-row:1/3;align-self:center;}
.profile-hero>.profile-identity {grid-column:2;grid-row:1/3;}
.profile-hero>.account-icon-button {grid-column:3;}
.activity-card h3 {font-size:17px;font-weight:550;line-height:1.5;letter-spacing:-.03em;margin:8px 0;}
.activity-card>button {margin:0 20px 20px;}
.recovery-private>img[src$="recovery-lock.svg"] {width:64px;height:64px;}
.recovery-private>strong {display:block;text-align:center;font-size:14px;font-weight:550;line-height:1.7;overflow-wrap:anywhere;}
.recovery-private>p {text-align:center;font-size:10px;line-height:1.9;color:#a6b3bd;}
.account-page details {font-size:11px;line-height:1.8;color:#aab8c1;margin:20px 0;}
.account-page details>summary {min-height:44px;padding:12px 0;cursor:pointer;}
.account-record-tabs button,.account-text-button {min-width:44px;}
@media(max-width:350px) {.profile-hero{grid-template-columns:54px minmax(0,1fr) 44px;column-gap:10px}.activity-card>button{margin-left:16px;margin-right:16px}}
/* Configuration shares form components; checkboxes keep their semantic size. */
.account-form input[type=checkbox] {width:17px;height:17px;min-height:0;flex:0 0 17px;padding:0;accent-color:#f0698c;}
.account-form>label:has(>input[type=checkbox]),.account-form label.field:has(>input[type=checkbox]) {flex-direction:row;align-items:center;justify-content:space-between;min-height:44px;gap:12px;}
.admin-body .account-form>.field {margin:0;}
.admin-body .account-form h2,.admin-body .account-form h3 {margin:0;font-size:16px;font-weight:550;line-height:1.6;}
.admin-body .account-form h3 {font-size:13px;color:#d9c2cc;}
.admin-body details.account-form {display:block;padding:16px 0;border-bottom:1px solid #ffffff10;}
.admin-body details.account-form>summary {font-size:12px;line-height:1.8;min-height:44px;cursor:pointer;color:#c7cfd2;}
.admin-body details.account-form[open]>.field {margin:15px 0;}
.admin-body .account-form textarea {min-height:96px;resize:vertical;}
/* Keep the annual price on one line even at 320px. */
.vip-plan>strong {font-size:clamp(18px,5.2vw,24px);white-space:nowrap;letter-spacing:-.055em;}
@media(max-width:350px) {.vip-plan>strong{font-size:19px}}
/* These existing route glyph names are absent from the shared icon registry.
   Replace their visual glyphs locally, retaining the real buttons/labels. */
.profile-hero>.account-icon-button[aria-label="设置"]>.icon,
.service-tile[data-route="credential"] .service-icon>.icon,
.service-tile[data-route="official"] .service-icon>.icon {display:none;}
.profile-hero>.account-icon-button[aria-label="设置"]:before,
.service-tile[data-route="credential"] .service-icon:before,
.service-tile[data-route="official"] .service-icon:before {content:"";display:block;width:22px;height:22px;background:center/contain no-repeat;}
.profile-hero>.account-icon-button[aria-label="设置"]:before {background-image:url("assets/account/icon-settings.svg");}
.service-tile[data-route="credential"] .service-icon:before {background-image:url("assets/account/icon-shield.svg");}
.service-tile[data-route="official"] .service-icon:before {background-image:url("assets/account/icon-home.svg");}
/* Solid sticky account header: scrolling task copy must not show through it. */
.route-panel:has(.account-page)>.route-top {background:#101112;}
.route-panel:has(.account-page)>.route-top:before {content:"";position:absolute;z-index:-1;left:-22px;right:-22px;top:-24px;bottom:0;background:#101112;pointer-events:none;}
/* Keep operational headings and tab labels readable in narrow admin windows. */
#accountEditor>h1 {font-size:clamp(25px,2.4vw,32px);}
@media(max-width:600px) {.admin-header nav{flex-wrap:wrap;gap:4px 13px}.admin-header nav button{font-size:11px;white-space:nowrap}}

/* R87 · own-brand gold account center. Bundled artwork always stays local. */
.r87-account {--r87-gold:#f9d582;--r87-gold-bright:#ffdc55;--r87-ink:#2e1b0b;--r87-line:#d9b66b42;max-width:1040px;margin:0 auto;color:#f7f5ef;}
.r87-account :is(button,a) {touch-action:manipulation;}
.r87-account :is(h1,h2,h3,p,strong,small,span) {overflow-wrap:anywhere;}
.r87-account button:disabled {opacity:.42;}
.r87-gold-button,.r87-gold-outline {display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;min-width:44px;max-width:100%;padding:10px 18px;border-radius:999px;font-size:14px;font-weight:650;line-height:1.4;text-align:center;box-sizing:border-box;}
.r87-gold-button {background:linear-gradient(110deg,#fff0ab,#ffd540 55%,#ffbf22);color:#34230d;border:1px solid #f9d871;box-shadow:inset 0 1px #fff7,0 4px 15px #0002;}
.r87-gold-outline {border:1px solid var(--r87-line,#c3a56870);color:var(--r87-gold,#9c6825);background:#ffffff03;}
.r87-account :is(button,a):focus-visible,.r87-invite-sheet :is(button,a):focus-visible {outline:2px solid #e3b855;outline-offset:4px;}
.r87-profile-hero {display:flex;align-items:center;gap:14px;min-width:0;padding:12px 0 18px;}
.r87-avatar {width:74px;height:74px;flex:0 0 74px;border-radius:50%;object-fit:cover;border:1px solid #ceb27670;background:#272226;}
.r87-profile-name {flex:1;min-width:0;}
.r87-profile-name>div {display:flex;align-items:center;flex-wrap:wrap;gap:7px;}
.r87-profile-name h1 {font-size:25px;font-weight:650;letter-spacing:-.025em;line-height:1.4;margin:0;}
.r87-vip-badge {display:inline-flex;align-items:center;justify-content:center;min-width:32px;padding:2px 7px;border-radius:5px;background:linear-gradient(140deg,#777,#444);color:#c5c5c5;font:italic 750 11px/1.3 system-ui;box-shadow:inset 0 1px #fff2;}
.r87-vip-badge.is-active {background:linear-gradient(120deg,#fce9b1,#c38b3b);color:#65400e;box-shadow:0 2px 8px #d3a34c20;}
.r87-profile-expiry {margin:6px 0 0;font-size:11px;line-height:1.7;color:#bdad91;}
.r87-id {display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:0;font:11px/1.5 ui-monospace,monospace;color:#96969c;text-align:left;}
.r87-id .icon {width:12px;height:12px;}
.r87-profile-tools {display:flex;gap:0;align-self:center;}
.r87-profile-tools .account-icon-button {border:0;background:none;color:#d2d1d1;}
.r87-profile-tools button[data-route=settings]>.icon {display:none;}
.r87-profile-tools button[data-route=settings]:before {content:"";display:block;width:24px;height:24px;background:url('assets/account/icon-settings.svg') center/contain no-repeat;}
.r87-balance-row {display:flex;align-items:center;gap:12px;padding:11px 0 17px;color:#a9a7a4;font-size:12px;}
.r87-balance-row>strong {font-size:21px;font-variant-numeric:tabular-nums;color:#e3d9bf;}
.r87-balance-row small {margin-left:5px;font-size:10px;font-weight:400;}
.r87-balance-row>button {margin-left:auto;min-height:44px;padding:5px 0 5px 12px;font-size:11px;color:#cab793;}
.r87-member-banner {position:relative;isolation:isolate;display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:128px;padding:24px 22px;border:1px solid #c6ad765f;border-radius:20px;overflow:hidden;background:radial-gradient(ellipse at 59% 120%,#b6823c50,transparent 53%),linear-gradient(115deg,#30281f,#161519 75%);}
.r87-member-banner>div {position:relative;z-index:2;max-width:42%;}
.r87-member-banner strong {font-size:21px;letter-spacing:.02em;color:#fae9be;}
.r87-member-banner p {margin:8px 0 0;font-size:11px;line-height:1.7;color:#c1b298;}
.r87-member-banner .r87-member-art {position:absolute;z-index:0;left:43%;bottom:-28px;width:190px;height:190px;object-fit:contain;pointer-events:none;}
.r87-member-banner>.r87-gold-button {position:relative;z-index:2;flex:0 0 auto;padding:10px 16px;font-size:12px;}
.r87-promo-pair {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0;}
.r87-promo-card {position:relative;isolation:isolate;min-width:0;min-height:182px;padding:20px 17px;border-radius:20px;border:1px solid #b79b4a75;overflow:hidden;}
.r87-promo-coins {background:radial-gradient(ellipse at 70% 105%,#76501b90,transparent 70%),linear-gradient(125deg,#262217,#171515);}
.r87-promo-invite {background:radial-gradient(ellipse at 90% 100%,#8f233c55,transparent 72%),linear-gradient(125deg,#282019,#1c141d);}
.r87-promo-card>div {position:relative;z-index:2;min-width:0;}
.r87-promo-card h2 {margin:0;font-size:23px;line-height:1.4;font-weight:650;color:#f8f2df;}
.r87-promo-card p {margin:6px 0 26px;font-size:11px;line-height:1.8;color:#ccb989;max-width:80%;}
.r87-promo-card .r87-gold-button {font-size:12px;padding:8px 16px;}
.r87-promo-art {position:absolute;z-index:1;right:-17px;bottom:-22px;width:178px;height:178px;object-fit:contain;pointer-events:none;}
.r87-services {padding:20px 22px 16px;border-radius:20px;background:#191a21;margin:16px 0 23px;border:1px solid #ffffff06;}
.r87-services h2 {margin:0 0 14px;font-size:17px;font-weight:650;}
.r87-services>div {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;}
.r87-service {display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:104px;min-width:0;padding:8px 0;color:#d7d6d5;font-size:13px;}
.r87-service img {display:block;width:76px;height:76px;object-fit:contain;}
.r87-account .account-record-tabs .selected {color:#f7e2aa;}
.r87-account .account-record-tabs .selected:after {background:#f8d853;}
.r87-account .account-record-zones .selected {color:#f7df97;border-color:#ba9a3e;background:#b9972515;}
.r87-center-heading {display:flex;align-items:center;gap:14px;margin:0 0 24px;}
.r87-center-tabs {display:flex;flex:1;max-width:520px;min-width:0;padding:5px;border:1px solid #bba57850;border-radius:999px;background:#0b0b0d;}
.r87-center-tabs button {flex:1;min-width:0;min-height:46px;border-radius:999px;color:#a79b83;font-size:18px;padding:8px;}
.r87-center-tabs button.is-selected {background:linear-gradient(110deg,#ffe68c,#ffd13c);color:#39290f;font-weight:650;}
.r87-record-link {min-height:44px;max-width:80px;color:#c6b58f;font-size:12px;line-height:1.5;}
.r87-section-title h2,.r87-rights h2 {font-size:23px;color:#f3d89d;margin:26px 0 14px;}
.r87-muted {color:#a59c89;font-size:12px;line-height:1.7;}
.r87-member-status {display:flex;align-items:center;gap:12px;margin:0 0 18px;color:#d7c5a0;}
.r87-member-status strong,.r87-member-status small {display:block;line-height:1.7;font-size:12px;}
.r87-member-status small {font-size:10px;color:#a89a7e;}
.r87-vip-plans {display:grid;gap:14px;}
.r87-vip-plan {position:relative;display:flex;align-items:center;gap:16px;min-width:0;min-height:126px;padding:24px 20px;border:1px solid #ad955a60;border-radius:22px;background:linear-gradient(115deg,#27231b,#111113 80%);text-align:left;transition:border-color .16s,box-shadow .16s;overflow:hidden;}
.r87-vip-plan.is-selected,.r87-coin-plan.is-selected {border-color:#ffe5a1;box-shadow:inset 0 0 0 1px #ffe5a1,0 0 18px #c6a25510;}
.r87-plan-icon {display:grid;place-items:center;flex:0 0 54px;width:54px;height:54px;border-radius:50%;border:1px solid #c5a65f70;color:#f6d47b;background:#f6d47b06;}
.r87-plan-name {flex:1;min-width:0;}
.r87-plan-name>strong {display:block;font-size:22px;font-weight:550;color:#f7f0dd;line-height:1.5;}
.r87-plan-name>small {display:block;font-size:12px;color:#afa58f;line-height:1.7;margin-top:4px;}
.r87-plan-price {flex:0 0 auto;text-align:right;}
.r87-plan-price>strong {display:block;white-space:nowrap;font-size:30px;line-height:1.3;font-weight:500;letter-spacing:-.03em;color:#f8dba1;}
.r87-plan-price>del {display:block;font-size:12px;color:#938b7a;margin-top:8px;}
.r87-plan-price>small {display:block;font-size:11px;color:#baa16c;line-height:1.7;}
.r87-plan-badge {position:absolute;right:0;top:0;max-width:85%;padding:5px 11px;border-radius:0 0 0 12px;background:linear-gradient(100deg,#fbe5ac,#dcb172);color:#51310e;font-size:10px;line-height:1.5;font-weight:600;}
.r87-rights>div {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 12px;padding:24px 18px;border:1px solid #aa925a55;border-radius:22px;background:linear-gradient(110deg,#241f17,#111113);}
.r87-rights article {display:flex;flex-direction:column;align-items:center;min-width:0;text-align:center;gap:10px;}
.r87-rights article>.icon {width:36px;height:36px;color:#d8bb73;padding:7px;border:1px solid #8c7a4f;border-radius:50%;}
.r87-rights strong {font-size:12px;color:#ead9ab;}
.r87-rights p {margin:0;font-size:10px;line-height:1.8;color:#aaa18c;}
.r87-wallet-hero {position:relative;isolation:isolate;display:flex;align-items:center;justify-content:space-between;min-height:148px;padding:23px;border:1px solid #a9926355;border-radius:20px;background:linear-gradient(110deg,#292317,#111215);overflow:hidden;}
.r87-wallet-hero>div,.r87-wallet-hero>button {position:relative;z-index:2;}
.r87-wallet-hero>div>span {font-size:14px;color:#d6c49b;}
.r87-wallet-hero strong {display:block;font-size:42px;color:#ffe8b0;margin-top:10px;line-height:1.2;font-weight:550;}
.r87-wallet-hero strong small {font-size:12px;font-weight:400;}
.r87-wallet-hero>img {position:absolute;z-index:0;width:170px;height:170px;right:-35px;bottom:-65px;object-fit:contain;opacity:.58;pointer-events:none;}
.r87-coin-plans {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px 11px;margin:22px 0;}
.r87-coin-plan {position:relative;display:flex;flex-direction:column;align-items:center;min-width:0;min-height:184px;padding:29px 8px 0;border:1px solid #ae95565c;border-radius:20px;background:linear-gradient(120deg,#242017,#141315);overflow:hidden;}
.r87-coin-emblem {display:grid;place-items:center;width:36px;height:36px;border-radius:50%;color:#e9c35f;border:2px solid #c79a36;background:radial-gradient(circle at 35% 30%,#fceaa5,#a76e10);box-shadow:inset 0 0 0 2px #f6d67f;}
.r87-coin-emblem .icon {width:21px;height:21px;color:#74480c;}
.r87-coin-plan>strong {font-size:25px;line-height:1.5;font-weight:550;margin-top:9px;color:#f4f0e3;}
.r87-coin-plan>b {font-size:25px;line-height:1.5;color:#f9d994;font-weight:550;margin:6px 0 11px;}
.r87-coin-plan>small {display:flex;align-items:center;justify-content:center;width:calc(100% + 16px);margin-top:auto;min-height:42px;padding:7px 4px;color:#e3d3b0;background:#c9a35b0c;font-size:11px;line-height:1.5;}
.r87-balance-details {border-top:1px solid #d4b87226;padding:5px 0 12px;}
.r87-purchase-bar {z-index:15;margin:0;padding:0;background:transparent;backdrop-filter:none;border:0;}
.r87-purchase-bar>.r87-gold-button {width:100%;min-height:56px;font-size:18px;}
.r87-purchase-bar>button:disabled {background:#4a4334;border-color:#4a4334;color:#b7ab8e;opacity:1;box-shadow:none;}
.r87-home-hero {position:relative;text-align:center;padding:20px 15px 30px;}
.r87-home-hero>img {width:110px;height:110px;object-fit:contain;margin:0 auto 12px;}
.r87-home-hero>span {display:block;color:#b7a575;font-size:12px;letter-spacing:.12em;}
.r87-home-hero h1 {font-size:clamp(24px,4vw,36px);line-height:1.6;margin:15px 0;color:#f2d475;font-weight:650;}
.r87-home-hero p {font-size:13px;line-height:1.8;color:#a8a69f;margin:0;}
.r87-home-links {display:grid;gap:16px;}
.r87-address {padding:25px 20px;border:1px solid #ffffff17;border-radius:22px;background:linear-gradient(120deg,#1d2029,#13151b);text-align:center;min-width:0;}
.r87-address.is-primary {border-color:#b39a3c;background:linear-gradient(110deg,#282719,#17191d);}
.r87-address h2 {display:flex;justify-content:center;align-items:center;gap:8px;font-size:18px;margin:0 0 12px;color:#eeede8;}
.r87-address strong {display:block;color:#efd16c;font-size:clamp(17px,3.5vw,25px);line-height:1.7;overflow-wrap:anywhere;}
.r87-address p {color:#a29f95;font-size:12px;line-height:1.8;}
.r87-address>div {display:flex;justify-content:center;gap:12px;margin-top:18px;flex-wrap:wrap;}
.r87-address>div>* {min-width:125px;}
.r87-address>.r87-gold-button {margin-top:17px;}
/* Cream-gold invitation pages and sheets; no reference-site branding or prices. */
.r87-invite-page {--r87-gold:#895d21;--r87-line:#bb9b5366;color:#4c2e13;padding:20px 18px 28px;border-radius:23px;background:radial-gradient(ellipse at 15% 5%,#fffae7 0,transparent 46%),radial-gradient(ellipse at 95% 50%,#ecc37777,transparent 52%),linear-gradient(135deg,#ecd19c,#fff9df 46%,#e9c98b);min-height:75dvh;}
.product-body .phone .route-panel:has(>.r87-invite-page)>.route-top,.product-body .phone .route-panel:has(>.r87-invite-page)>.route-top:before {background:#e6ca91;color:#4b3014;}
.product-body .phone .route-panel:has(>.r87-invite-page)>.route-top :is(button,strong,small) {color:#4b3014;}
.r87-invite-hero {position:relative;isolation:isolate;overflow:hidden;border:1px solid #fff8;border-radius:23px;background:linear-gradient(115deg,#fffdf0e8,#fff4c5d9);padding:25px 22px 20px;min-height:218px;box-shadow:0 9px 26px #b58d4d15;}
.r87-invite-hero>span {font-size:11px;letter-spacing:.16em;color:#8e764e;}
.r87-invite-hero h1 {position:relative;z-index:2;font-size:clamp(25px,4.2vw,39px);line-height:1.4;color:#512c0e;margin:12px 0 14px;font-weight:750;max-width:77%;}
.r87-invite-hero p {position:relative;z-index:2;font-size:13px;color:#866231;line-height:1.8;max-width:70%;margin:0 0 24px;}
.r87-invite-hero-art {position:absolute;z-index:1;right:-24px;bottom:45px;width:155px;height:155px;object-fit:contain;pointer-events:none;opacity:.97;}
.r87-invite-hero-actions {position:relative;z-index:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.r87-invite-hero-actions>* {min-width:0;padding:11px 8px;font-size:12px;}
.r87-invite-hero-actions .r87-gold-outline {background:#fffae2d9;color:#6a491e;}
.r87-invite-summary {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;padding:17px 7px;border:1px solid #fff7;border-radius:20px;margin:17px 0;background:#fffdf0df;}
.r87-invite-summary>div,.r87-invite-summary>button {display:flex;align-items:center;justify-content:center;flex-direction:column;min-width:0;gap:7px;min-height:73px;text-align:center;border-right:1px solid #bd9e5955;}
.r87-invite-summary>:last-child {border-right:0;}
.r87-invite-summary strong {display:block;font-size:34px;line-height:1.2;font-variant-numeric:tabular-nums;color:#4d260b;}
.r87-invite-summary span,.r87-invite-summary button.r87-inline-link {font-size:11px;color:#8e764d;line-height:1.5;}
.r87-invite-summary .icon {width:30px;height:30px;}
.r87-inline-link {min-height:44px;padding:6px 4px;font-size:12px;line-height:1.6;color:inherit;}
.r87-exchange-entry-list {display:grid;gap:13px;}
.r87-exchange-entry {display:flex;align-items:center;gap:12px;min-height:112px;padding:12px 14px;border:1px solid #fff9;border-radius:21px;background:#fffdf2e8;text-align:left;}
.r87-exchange-entry>img {width:79px;height:79px;object-fit:contain;flex:0 0 79px;}
.r87-exchange-entry>strong {flex:1;min-width:0;font-size:21px;line-height:1.4;color:#4d2a0d;}
.r87-exchange-entry>.r87-gold-button {flex:0 0 auto;padding:8px 14px;font-size:12px;}
.r87-invite-steps,.r87-invite-rules {border:1px solid #fff8;border-radius:21px;padding:23px 18px;background:#fffcf0e6;margin-top:17px;}
.r87-invite-steps h2,.r87-invite-rules h2,.r87-exchange-heading h2 {font-size:22px;font-weight:750;line-height:1.5;color:#57320f;margin:0 0 20px;}
.r87-invite-steps>div {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;}
.r87-invite-steps article {display:flex;align-items:center;flex-direction:column;min-width:0;text-align:center;gap:9px;}
.r87-invite-steps b {display:grid;place-items:center;width:43px;height:43px;border-radius:50%;background:#f7cf63;color:#654010;font-size:18px;box-shadow:0 5px 15px #c6a55e26;}
.r87-invite-steps strong {font-size:12px;line-height:1.6;}
.r87-invite-steps p,.r87-invite-rules p {font-size:11px;line-height:1.9;color:#987b4e;margin:0;}
.r87-invite-rules .r87-invite-unavailable {margin-top:12px;color:#985b2b;}
.r87-invite-rules>button {min-height:44px;margin-top:10px;color:#8a5c1d;font-size:12px;}
.r87-invite-message {display:flex;align-items:center;justify-content:center;flex-direction:column;gap:18px;min-height:350px;text-align:center;color:#785829;}
.r87-invite-message h2 {font-size:20px;}
.r87-invite-message p,.r87-invite-status {font-size:12px;line-height:1.8;}
.r87-invite-hero.is-exchange {text-align:center;padding-bottom:180px;}
.r87-invite-hero.is-exchange h1,.r87-invite-hero.is-exchange p {max-width:none;}
.r87-invite-hero.is-exchange .r87-invite-hero-art {width:210px;height:210px;left:calc(50% - 105px);right:auto;bottom:-21px;}
.r87-earn-link {display:flex;justify-content:flex-end;align-items:center;min-height:44px;color:#96713d;font-size:13px;margin:0 6px 12px;}
.r87-exchange-heading {display:flex;justify-content:space-between;align-items:center;gap:10px;margin:17px 3px;}
.r87-exchange-heading h2 {margin:0;}
.r87-exchange-options {display:grid;gap:15px;}
.r87-exchange-option {display:grid;grid-template-columns:minmax(43px,.65fr) 18px minmax(70px,1fr) minmax(82px,1fr);align-items:center;gap:10px;padding:17px 13px;min-height:135px;border:1px solid #fff9;border-radius:22px;background:#fffdf0ed;}
.r87-exchange-option>div {min-width:0;text-align:center;}
.r87-exchange-option>div:first-child strong {display:block;font-size:34px;color:#543009;font-weight:750;}
.r87-exchange-option small {display:block;font-size:10px;line-height:1.7;color:#997a4e;}
.r87-exchange-option>span {font-size:20px;color:#c2a156;}
.r87-exchange-option img {display:block;width:75px;height:65px;object-fit:contain;margin:auto;}
.r87-exchange-option>div strong {display:block;font-size:14px;line-height:1.6;}
.r87-exchange-option .r87-gold-button {min-width:0;font-size:12px;padding:9px 10px;}
.r87-exchange-option button:disabled {opacity:.58;color:#9a804c;}
.r87-invite-record-tabs {display:flex;gap:8px;flex-wrap:wrap;margin:2px 0 18px;}
.r87-invite-record-tabs>button {min-height:44px;padding:9px 14px;border-radius:999px;color:#9b7d4b;border:1px solid #c7ac6b44;font-size:12px;}
.r87-invite-record-tabs>button.is-selected {color:#5b390d;background:#ffdb73;border-color:#e8bc4e;}
.r87-invitation-records {background:#fffdf2;border-radius:16px;padding:6px 15px;min-height:180px;}
.r87-invitation-records article {display:flex;align-items:center;justify-content:space-between;gap:16px;min-width:0;padding:17px 0;border-bottom:1px solid #d1b8803b;}
.r87-invitation-records article:last-child {border-bottom:0;}
.r87-invitation-records article>div {min-width:0;}
.r87-invitation-records article>div:last-child {text-align:right;}
.r87-invitation-records strong {display:block;font-size:13px;line-height:1.6;color:#66431d;}
.r87-invitation-records small {display:block;font-size:10px;line-height:1.8;color:#a28b63;}
.r87-empty {padding:40px 10px;text-align:center;color:#a08b63;font-size:13px;}
.r87-record-pagination {display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:22px;color:#9e8253;font-size:12px;}
.r87-record-pagination .r87-gold-outline {font-size:11px;padding:9px 12px;}
.bottom-sheet:has(.r87-invite-sheet) {background:#fff9eb;color:#4e331a;border-color:#e6d09e;}
.r87-invite-sheet {--r87-gold:#8e622b;--r87-line:#cfb67977;color:#583818;min-width:0;padding:6px 3px 20px;}
.r87-invite-sheet>header {display:flex;justify-content:space-between;align-items:center;gap:16px;margin:0 0 22px;}
.r87-invite-sheet>header h2 {margin:0;font-size:23px;font-weight:750;}
.r87-modal-close {display:grid;place-items:center;width:44px;height:44px;border:1px solid #cbb47e55;border-radius:50%;color:#6f4b24;}
.r87-share-links {display:grid;gap:14px;}
.r87-share-links article {display:grid;grid-template-columns:30px minmax(0,1fr);align-items:start;gap:12px;padding:18px 15px;border:1px solid #c9b47e77;border-radius:20px;background:#fffdf6;}
.r87-share-links article>span {display:grid;place-items:center;width:30px;height:30px;border:1px solid #d0b77b66;border-radius:10px;background:#fcf0cc;color:#a07c3f;font-size:12px;}
.r87-share-links h3 {font-size:15px;margin:0 0 10px;color:#61401a;line-height:1.6;}
.r87-share-links p {font-size:12px;line-height:1.9;color:#9a8259;overflow-wrap:anywhere;margin:0;}
.r87-share-links article>.r87-gold-button {grid-column:2;justify-self:end;font-size:12px;padding:9px 16px;}
.r87-poster-stage {overflow:auto;max-height:55dvh;padding:0 10px;overscroll-behavior:contain;}
.r87-poster-stage canvas {display:block;width:min(100%,360px);height:auto;margin:auto;touch-action:pan-y;box-shadow:0 9px 28px #67471a22;}
.r87-poster-stage.is-zoomed canvas {width:720px;max-width:none;touch-action:auto;}
.r87-poster-tools {display:flex;justify-content:flex-end;margin:-7px 0 13px;}
.r87-poster-tools .icon {width:20px;height:20px;}
.r87-poster-pagination {display:flex;align-items:center;justify-content:center;gap:22px;margin:18px 0;color:#8b6b3e;font-size:13px;}
.r87-poster-pagination>button {width:45px;height:45px;font-size:25px;padding:0;}
.r87-invite-sheet>[data-poster-status] {margin:14px 0 0;text-align:center;color:#a68d62;font-size:11px;line-height:1.8;}
.r87-order-sheet {max-height:70dvh;overflow:auto;}
@media(min-width:800px){.r87-profile-hero{padding:20px 0 24px}.r87-avatar{width:84px;height:84px;flex-basis:84px}.r87-member-banner{min-height:145px;padding:25px 30px}.r87-member-banner .r87-member-art{width:250px;height:250px;left:48%;bottom:-55px}.r87-promo-card{min-height:205px;padding:24px}.r87-promo-art{width:220px;height:220px}.r87-vip-plans{grid-template-columns:repeat(2,minmax(0,1fr))}.r87-wallet-hero{min-height:170px}.r87-invite-page{padding:28px;max-width:840px}.r87-invite-hero-actions{max-width:560px}.r87-exchange-entry-list{grid-template-columns:repeat(2,minmax(0,1fr))}.r87-exchange-entry{flex-wrap:wrap}.r87-exchange-entry>.r87-gold-button{margin-left:auto}.r87-invite-hero-art{width:210px;height:210px;bottom:4px;right:5px}}
@media(max-width:440px){.r87-profile-hero{gap:10px}.r87-avatar{width:62px;height:62px;flex-basis:62px}.r87-profile-name h1{font-size:21px}.r87-profile-tools{flex-direction:column;gap:0}.r87-profile-tools .account-icon-button{height:44px;width:44px;flex-basis:44px}.r87-profile-tools .icon{width:22px;height:22px}.r87-profile-name{min-width:0}.r87-member-banner{padding:20px 13px;min-height:116px}.r87-member-banner strong{font-size:18px}.r87-member-banner p{font-size:10px}.r87-member-banner .r87-member-art{width:148px;height:148px;left:39%;bottom:-14px}.r87-member-banner>.r87-gold-button{padding:9px 12px;font-size:11px}.r87-promo-pair{gap:9px}.r87-promo-card{min-height:157px;padding:16px 11px}.r87-promo-card h2{font-size:19px}.r87-promo-card p{font-size:10px;margin-bottom:23px}.r87-promo-art{width:142px;height:142px;right:-18px;bottom:-14px}.r87-promo-card .r87-gold-button{font-size:11px;padding:8px 13px}.r87-services{padding:18px 13px 12px}.r87-service img{width:66px;height:66px}.r87-service{font-size:12px}.r87-center-heading{gap:8px}.r87-center-tabs button{font-size:16px;min-height:44px}.r87-record-link{font-size:10px}.r87-vip-plan{gap:12px;padding:25px 14px;min-height:120px}.r87-plan-icon{width:45px;height:45px;flex-basis:45px}.r87-plan-name>strong{font-size:19px}.r87-plan-name>small{font-size:10px}.r87-plan-price>strong{font-size:27px}.r87-rights>div{padding:20px 10px;gap:20px 9px}.r87-rights strong{font-size:11px}.r87-rights p{font-size:9px}.r87-wallet-hero{padding:21px 18px}.r87-wallet-hero>.r87-gold-outline{font-size:11px;padding:8px 11px}.r87-coin-plans{gap:10px 8px}.r87-coin-plan{min-height:176px;border-radius:17px;padding:28px 5px 0}.r87-coin-plan>b{font-size:23px}.r87-coin-plan>small{width:calc(100% + 10px);font-size:10px}.r87-plan-badge{font-size:9px;padding:4px 7px}.r87-invite-page{padding:13px 11px 24px;margin:0 -2px;width:calc(100% + 4px)}.r87-invite-hero{padding:22px 16px 17px}.r87-invite-hero h1{font-size:27px}.r87-invite-hero p{font-size:11px}.r87-invite-hero-art{right:-25px;width:133px;height:133px}.r87-invite-hero-actions{gap:8px}.r87-invite-hero-actions>*{font-size:11px}.r87-exchange-entry{gap:8px;padding:11px 10px;min-height:98px}.r87-exchange-entry>img{width:63px;height:63px;flex-basis:63px}.r87-exchange-entry>strong{font-size:19px}.r87-exchange-entry>.r87-gold-button{font-size:11px;padding:8px 12px}.r87-invite-summary{padding:12px 5px}.r87-invite-summary strong{font-size:30px}.r87-invite-summary span,.r87-invite-summary button.r87-inline-link{font-size:10px}.r87-invite-steps,.r87-invite-rules{padding:21px 15px}.r87-invite-steps h2,.r87-invite-rules h2,.r87-exchange-heading h2{font-size:21px}.r87-exchange-option{gap:7px;padding:15px 10px;grid-template-columns:minmax(36px,.65fr) 12px minmax(62px,1fr) minmax(76px,1fr)}.r87-exchange-option .r87-gold-button{font-size:11px;padding:8px 7px}.r87-exchange-option img{width:65px;height:60px}.r87-exchange-option>div strong{font-size:12px}.r87-exchange-option>div:first-child strong{font-size:29px}}
@media(max-width:350px){.r87-profile-name h1{font-size:19px}.r87-avatar{width:56px;height:56px;flex-basis:56px}.r87-profile-expiry{font-size:10px}.r87-id{font-size:10px}.r87-member-banner .r87-member-art{left:35%;width:131px;height:131px}.r87-promo-card h2{font-size:17px}.r87-promo-art{width:127px;height:127px}.r87-plan-icon{width:37px;height:37px;flex-basis:37px}.r87-plan-name>strong{font-size:17px}.r87-plan-price>strong{font-size:24px}.r87-vip-plan{padding:24px 11px;gap:8px}.r87-invite-hero-actions{grid-template-columns:1fr}.r87-invite-hero h1{max-width:86%;font-size:25px}.r87-invite-hero-art{bottom:105px;opacity:.68}.r87-exchange-option{grid-template-columns:35px 9px minmax(56px,1fr) minmax(71px,1fr);gap:5px}.r87-exchange-option .r87-gold-button{font-size:10px}.r87-exchange-entry>strong{font-size:17px}}
@media(prefers-reduced-motion:reduce){.r87-account *,.r87-invite-sheet *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.bottom-sheet:has(.r87-invite-sheet)>header small {display:none;}
.bottom-sheet:has(.r87-invite-sheet)>header {color:#5e3b18;border-bottom-color:#c7ad7740;}
.bottom-sheet:has(.r87-invite-sheet)>header h2 {font-size:22px;}
.r87-invite-sheet>header {display:none;}
.r87-invite-sheet>p {font-size:14px;line-height:1.9;color:#8f7049;}
.r87-invite-sheet .full-button {width:100%;margin-top:14px;}
.r87-profile-name>.r87-memberline {display:flex;align-items:center;gap:7px;margin-top:5px;}
.r87-memberline .r87-profile-expiry {margin:0;}

/* Checkout button floats above the actual dock, without an opaque footer panel. */
.product-body .phone .route-panel:has(>.account-page.r87-account:is([data-account-view=vip],[data-account-view=wallet])) {display:flex;flex-direction:column;overflow:hidden;padding-bottom:var(--r87-center-bottom,var(--dock-panel-bottom,0px));scroll-padding-bottom:0;}
.product-body .phone .route-panel:has(>.account-page.r87-account:is([data-account-view=vip],[data-account-view=wallet]))>.route-top {flex:0 0 auto;position:relative;top:auto;margin-bottom:0;}
.product-body .phone .route-panel>.account-page.r87-account:is([data-account-view=vip],[data-account-view=wallet]) {display:flex;flex:1 1 0;flex-direction:column;min-height:0;overflow:hidden;}
.r87-center-scroll {flex:1 1 0;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scroll-padding-block:12px;padding:14px 4px calc(80px + var(--r87-center-crest,12px));margin-inline:-4px;}
.r87-account:is([data-account-view=vip],[data-account-view=wallet])>.r87-purchase-bar {position:absolute;inset-inline:0;bottom:max(var(--r87-center-crest,12px),env(safe-area-inset-bottom,0px));margin:0;padding:0;}
.r87-account:is([data-account-view=vip],[data-account-view=wallet])>.r87-purchase-bar>.full-button {margin:0;}
