.home-account-panel{color-scheme:light}
.home-account-panel input{appearance:none;-webkit-appearance:none;color:#514a40;caret-color:#514a40;border-radius:0;transition:background-color .15s,border-color .15s;}
.home-account-panel input:focus{background:transparent;color:#514a40;outline:none;box-shadow:0 1px 0 #8e806e;border-bottom-color:#8e806e}
.home-account-panel input::selection{background:#d5cabc;color:#302c26}
.home-account-panel input:autofill{background:#f5f2ec;color:#514a40}
.home-account-panel input:-webkit-autofill,.home-account-panel input:-webkit-autofill:hover,.home-account-panel input:-webkit-autofill:focus{-webkit-text-fill-color:#514a40;caret-color:#514a40;-webkit-box-shadow:0 0 0 1000px #f5f2ec inset;box-shadow:0 0 0 1000px #f5f2ec inset}

.home-account-panel .account-code{display:flex;align-items:center;gap:14px}
.home-account-panel .account-code input{flex:1 1 0;width:0;min-width:0}
.home-account-panel .account-code button{flex:0 0 auto}

.home-account-panel [hidden]{display:none!important}
.home-account-panel .account-display-name{font-size:24px;padding:22px 0;color:#514a40}
.home-account-panel .account-consent{font-size:12px;line-height:1.8;margin:14px 0;color:#655c50}
.home-account-panel .account-consent label{display:inline-flex;align-items:center;gap:7px;margin:0;font-size:inherit}
.home-account-panel .account-consent input{appearance:auto;-webkit-appearance:checkbox;width:18px;height:18px;box-shadow:none;outline-offset:2px;accent-color:#776754}
.home-account-panel .account-consent button{padding:0;border:0;background:none;color:#655445;text-decoration:underline;font:inherit}
.account-legal-dialog{box-sizing:border-box;width:min(92vw,520px);max-height:85dvh;overflow:auto;background:#f5f2ec;color:#514a40;border:1px solid #d6ccbd;border-radius:20px;padding:24px;font:15px/1.8 system-ui}
.account-legal-dialog button{padding:10px 24px;border:1px solid #b7ad9b;border-radius:12px;background:#e7e0d4;color:inherit;font:inherit}
.account-legal-dialog::backdrop{background:#24201a55}

.account-membership{font-size:14px;line-height:1.7;margin:0 0 20px;color:#655c50}.account-membership summary{cursor:pointer;padding:10px 0}.account-membership p{font-size:14px;margin:8px 0}

.account-member-card{position:relative;margin:20px 0;padding:22px 18px;border:1px solid #e1d5bb;border-radius:22px;background:linear-gradient(135deg,#fffdf5ee,#eee5d2bb 65%,#fffaf0dd);box-shadow:0 12px 30px #66533812,inset 0 1px 0 #fff;overflow:hidden}.member-card-heading{font-size:11px;letter-spacing:2px;color:#8f7a51}.member-card-main{display:flex;align-items:center;gap:16px;margin:22px 0 12px}.home-account-panel .member-avatar{position:relative;flex:none;width:74px;height:74px;padding:0;overflow:hidden;border:3px solid #fff8e4;border-radius:50%;background:linear-gradient(135deg,#c5b28a,#927d56);color:#fffaf0;box-shadow:0 3px 14px #8c754333;cursor:pointer}.member-avatar-letter{font-size:28px}.member-avatar img{width:100%;height:100%;object-fit:cover}.member-avatar-edit{position:absolute;bottom:0;left:0;right:0;padding:2px 0;background:#44382166;font:10px/1.5 system-ui;color:#fff}.member-card-identity{min-width:0}.home-account-panel .account-member-card .account-display-name{padding:0;margin:0;font-size:24px;line-height:1.4;overflow-wrap:anywhere;color:#655331}.home-account-panel .member-card-caption{margin:0;font-size:12px;line-height:1.6;color:#978665}.home-account-panel .member-avatar-status{font-size:12px;line-height:1.5;color:#75664e}.member-avatar-status:empty{display:none}

/* member-42: one account template, shared rhythm for login and member states. */
.home-account-panel{box-sizing:border-box;border:1px solid #ffffffb3!important;background:linear-gradient(145deg,#faf9f5f2,#efebe4ed)!important;box-shadow:0 24px 80px #332b2424,inset 0 1px 0 #fff!important;backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px)}
.home-account-panel .account-membership{margin:22px 0;color:#61594e}
.member-section-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.home-account-panel .member-section-title h3{font:600 15px/1.4 system-ui;margin:0}
.member-section-title>span{font:11px/1.4 system-ui;color:#8b8070}
.member-plan-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.member-plan-grid>div{display:flex;flex-direction:column;gap:8px;padding:16px 14px;background:#ffffff75;border:1px solid #e5dfd4;border-radius:16px}
.member-plan-grid span{font-size:12px}.member-plan-grid strong{font:500 28px/1.2 system-ui;font-variant-numeric:tabular-nums;color:#4e473b}.member-plan-grid strong small{font-size:14px;margin-right:3px}.member-plan-grid em{font:normal 11px/1.5 system-ui;color:#8a7f6c}.member-plan-grid .member-plan-featured{background:linear-gradient(135deg,#eee3c9b0,#fbf7ef);border-color:#cdbc96}
.home-account-panel .member-trial-note{font:12px/1.7 system-ui;margin:12px 0 20px;color:#8a7f6c}
.member-growth{border-top:1px solid #dcd5c9;border-bottom:1px solid #dcd5c9}
.member-growth summary{display:flex;justify-content:space-between;align-items:center;gap:12px;list-style:none;padding:16px 0;cursor:pointer}.member-growth summary::-webkit-details-marker{display:none}.member-growth summary>span:first-child{font-size:14px}.member-growth summary small{display:block;font:12px/1.5 system-ui;color:#908575;margin-top:4px}.member-growth[open] summary>span:last-child{transform:rotate(45deg)}
.home-account-panel .member-growth-rules p{display:flex;justify-content:space-between;gap:10px;font:12px/1.7 system-ui;margin:8px 0}.member-growth-rules b{font-weight:500;color:#8a7042;white-space:nowrap}.member-growth-rules>small{display:block;font:11px/1.7 system-ui;color:#908575;margin:10px 0 18px}
.home-account-panel.is-signed-in .account-submit{margin-top:4px;border:1px solid #cdc3b3;background:#ffffff50;color:#786b58;box-shadow:none;min-height:44px;font-size:14px}
.home-account-panel .account-member-card{margin-top:20px;margin-bottom:0}
.home-account-panel button:focus-visible,.member-growth summary:focus-visible{outline:2px solid #968363;outline-offset:3px}
@media(max-width:400px){.home-account-panel .account-member-card{padding:18px 14px}.member-card-heading{letter-spacing:1px}.member-card-main{gap:12px}.member-plan-grid>div{padding:14px 12px}}
.account-quick-settings{margin-top:10px;padding-top:12px;border-top:1px solid #aaa6}.account-quick-settings h3{margin:0 0 10px;font:600 14px/1.4 system-ui}.account-quick-settings>div{display:grid;grid-template-columns:1fr 1fr;gap:9px}.home-account-panel .account-quick-settings button{min-height:44px;border:1px solid #bdb3a3;border-radius:12px;background:#fff9;color:#514a40;font:13px system-ui}.home-account-panel .account-quick-settings button[aria-pressed=true]{background:#776754;color:#fff;border-color:#776754}

.membership-state{padding:18px;margin:14px 0;border:1px solid #ded3c0;border-radius:16px;background:#f7f1e5b0;color:#61543f}.membership-state strong{font:600 15px/1.5 system-ui}.home-account-panel .membership-state p{font:12px/1.8 system-ui;margin:8px 0 12px;color:#877965}.membership-state button{border:1px solid #bbaa8b;border-radius:10px;background:#efe5d2;color:#625238;padding:10px 16px;cursor:pointer;font:500 13px/1.4 system-ui}.registration-vip{margin:16px 0;padding:14px;border:1px solid #d6cbb8;border-radius:12px;background:#f8f3e9}.registration-vip summary{display:flex;justify-content:space-between;gap:10px;cursor:pointer;font:14px/1.5 system-ui;list-style:none}.registration-vip summary span{color:#95815d;font-size:12px}.home-account-panel .registration-vip p{font:12px/1.8 system-ui;margin:12px 0}.registration-vip small{font:11px/1.8 system-ui;color:#928571}

.registration-vip{min-width:0;padding:16px;margin:20px 0}.registration-vip legend{font:600 14px/1.5 system-ui;padding:0 6px}.registration-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.home-account-panel .registration-options label{display:flex;align-items:flex-start;gap:8px;margin:0;padding:12px 8px;border:1px solid #d9d0c0;border-radius:10px;font:14px/1.5 system-ui;cursor:pointer}.home-account-panel .registration-options label:has(input:checked){background:#eee2c9;border-color:#ad9568}.home-account-panel .registration-options input{appearance:auto;-webkit-appearance:radio;width:16px;height:16px;margin:3px 0;accent-color:#88704e;box-shadow:none;flex:none}.registration-options small{display:block;margin-top:4px;font-size:11px}.registration-plans{margin-top:14px}.registration-plans select{width:100%;margin:8px 0;padding:12px;border:1px solid #cfc1a9;border-radius:10px;background:#faf7f0;color:#61513c;font:14px system-ui}.home-account-panel .member-order-intent{font:13px/1.8 system-ui;padding:14px;background:#f3ead8;border-radius:12px;color:#756044}

.account-wechat-inline[hidden]{display:none!important}.account-wechat-inline{display:grid;justify-items:center;gap:8px;width:100%;margin:10px 0}.account-wechat-frame{width:100%;display:flex;justify-content:center}.account-wechat-frame iframe{width:300px;min-width:300px;max-width:none;flex:none;height:400px;border:0;background:transparent}.account-wechat-inline>button{font:inherit;color:#756954;background:transparent;border:0;border-bottom:1px solid #c6baa6;padding:10px;min-height:44px;cursor:pointer}

.cloud-favorites{border-top:1px solid #cec5b7;margin-top:20px;padding-top:12px}.cloud-favorites>button{font:inherit;color:#514a40;background:#eee9df;border:1px solid #b7ad9b;border-radius:10px;padding:10px 14px;margin:4px;min-height:44px}.cloud-favorites p{color:#7c7263;line-height:1.6}.cloud-favorites .favorite-card{margin-top:12px}.account-checkin button:disabled{opacity:.65}

.home-filing{position:absolute;bottom:max(5px,env(safe-area-inset-bottom));left:0;width:100%;text-align:center;font:10px/1.5 system-ui;z-index:2}.home-filing a{color:#81786a;text-decoration:none}

/* Payment99: inline confirmation, no external QR service. */
.member-payment{margin-top:18px;padding:16px;border:1px solid #c9c0af;border-radius:18px;background:rgba(255,255,255,.32);color:#514a40}.member-payment[hidden],.member-payment [hidden]{display:none!important}.member-payment h3{margin:0 0 10px}.member-payment p{font-size:14px;line-height:1.6}.member-payment .payment-consent{display:flex;align-items:flex-start;gap:8px;font-size:13px}.member-payment input[type=checkbox]{width:18px;height:18px;flex:none;accent-color:#827359}.payment-qr{text-align:center;margin-top:16px}.payment-qr canvas{max-width:100%;height:auto!important;background:#fff}.payment-actions{display:flex;gap:8px;flex-wrap:wrap}.payment-actions button,.member-plan-buy{border:1px solid #b7ad9b;background:#e7e0d4;color:#514a40;border-radius:10px;padding:10px 12px;min-height:44px;cursor:pointer}.member-plan-buy{margin-top:10px;width:100%;font-size:13px}.payment-actions button:disabled{opacity:.55}

.payment-history button{border:1px solid #b7ad9b;background:#e7e0d4;color:#514a40;border-radius:10px;padding:10px 12px;min-height:44px;cursor:pointer}.payment-history button:disabled{opacity:.55}.payment-order-row{border-top:1px solid #c9c0af;margin-top:14px;padding-top:12px}.payment-order-row small{display:block;overflow-wrap:anywhere;font-size:12px;color:#756c5d}

/* Account102: compact primary view, optional secondary tools. */
.home-account-panel.account-compact{width:360px!important;max-width:calc(100vw - 24px)!important;left:auto!important;right:16px!important;top:16px!important;max-height:calc(100dvh - 32px)!important;padding:18px!important;border-radius:20px;font:14px/1.5 system-ui;overflow-y:auto;overscroll-behavior:contain}
.home-account-panel.account-compact header{font:600 18px/1.4 system-ui;margin-bottom:12px}
.home-account-panel.account-compact header button{min-width:36px;min-height:36px}
.account-compact .account-intro,.account-compact .account-technical-note,.account-compact #wechat-login-status,.account-compact .member-card-heading,.account-compact .member-card-caption{display:none!important}
.home-account-panel.account-compact label{font-size:13px;margin:8px 0;gap:3px}
.home-account-panel.account-compact input{font-size:16px;padding:8px 0}
.home-account-panel.account-compact>p[role=status]{font-size:12px!important;margin:6px 0!important}
.home-account-panel.account-compact .account-consent{margin:10px 0;font-size:11px}
.home-account-panel.account-compact .account-consent label{font-size:11px;margin:0;display:inline-flex}
.home-account-panel.account-compact .account-submit,.home-account-panel.account-compact .account-wechat{min-height:44px;font-size:14px;padding:10px;margin:6px 0;border-radius:12px}
.home-account-panel.account-compact .account-wechat svg{width:22px;height:22px}
.home-account-panel.account-compact .registration-vip{margin:14px 0 0;padding:10px 12px;background:#ffffff30;border-radius:12px}
.home-account-panel.account-compact .registration-options{gap:8px}
.home-account-panel.account-compact .registration-options label{margin:0;padding:6px;align-items:center;font-size:13px;min-height:32px}
.home-account-panel.account-compact .registration-options input{width:16px;height:16px;padding:0;margin:0}
.home-account-panel.account-compact .registration-plans{margin-top:6px}
.home-account-panel.account-compact .registration-plans select{margin:0;padding:8px;font-size:13px}
.home-account-panel.account-compact .account-price-overview{font-size:12px;margin:8px 0 0;color:#514a40}
.home-account-panel.account-compact .compact-trial-note{font-size:11px;margin:4px 0 0}
.home-account-panel.account-compact .account-member-card{margin:0;padding:10px 12px;border-radius:14px}
.home-account-panel.account-compact .member-card-main{gap:10px;margin:0}
.home-account-panel.account-compact .member-avatar{width:44px;height:44px;border-width:2px}
.home-account-panel.account-compact .account-display-name{font-size:17px}
.home-account-panel.account-compact .membership-state{padding:8px 0 0;margin:6px 0 0;border:0;background:none;border-radius:0}
.home-account-panel.account-compact .membership-state strong{font-size:13px}
.home-account-panel.account-compact .membership-state p{font-size:11px;margin:4px 0;line-height:1.5}
.home-account-panel.account-compact .account-member-card .membership-state>button{display:none}
.home-account-panel.account-compact .account-membership{margin:14px 0 0}
.home-account-panel.account-compact .member-section-title{margin:0 0 8px}
.home-account-panel.account-compact .member-section-title h3{font-size:14px}
.home-account-panel.account-compact .member-plan-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
.home-account-panel.account-compact .member-plan-grid>div{position:relative;padding:10px 3px 5px;gap:4px;border-radius:10px;text-align:center}
.home-account-panel.account-compact .member-plan-grid span{font-size:10px;line-height:1.4}
.home-account-panel.account-compact .member-plan-grid strong{font-size:22px}
.home-account-panel.account-compact .member-plan-grid strong small{display:inline;font-size:11px;margin:0}
.home-account-panel.account-compact .member-plan-grid em{display:none}
.home-account-panel.account-compact .member-plan-buy{margin:0;padding:4px 0;font-size:11px;min-height:36px;border:0;background:transparent}
.home-account-panel.account-compact .member-trial-note{margin:8px 0;font-size:11px}
.home-account-panel.account-compact .account-more{border-top:1px solid #dcd5c9;margin-top:12px;font-size:13px}
.home-account-panel.account-compact .account-more summary{padding:10px 0;cursor:pointer;font-size:13px}
.home-account-panel.account-compact .account-more .member-growth{border-bottom:0}
.home-account-panel.account-compact .account-more summary small{display:none}
.home-account-panel.account-compact .account-more .text-size-settings{margin-top:8px;padding-top:8px}
.home-account-panel.account-compact .member-payment{padding:10px;margin-top:10px;border-radius:12px}
.home-account-panel.account-compact .member-payment h3{font-size:14px}
.home-account-panel.account-compact .member-payment p{font-size:12px;margin:6px 0}
.home-account-panel.account-compact .member-payment .payment-consent{font-size:12px}
.home-account-panel.account-compact .payment-history{border:0;padding:0;background:none;margin:0}
@media(max-width:480px){.home-account-panel.account-compact{right:12px!important;top:12px!important;max-height:calc(100dvh - 24px)!important;padding:16px!important}}
html[data-text-size=large] .home-account-panel.account-compact :is(label,p,small,input,button,h2){font-size:16px;line-height:1.5}

/* Save104: account panel embedded in a dialog stays in document flow. */
.save-account-dialog.framing-save-dialog{width:min(92vw,396px);padding:12px}
.save-account-dialog.framing-save-dialog>.home-account-panel.account-compact{position:relative!important;inset:auto!important;width:100%!important;max-width:100%!important;max-height:none!important;overflow:visible;box-shadow:none!important;border:0!important;padding:10px!important}
.save-account-dialog.framing-save-dialog>[data-close]{width:auto;font-size:14px;padding:6px 10px}
.save-account-dialog .home-account-panel input:is([type=tel],[autocomplete=one-time-code],[autocomplete=nickname]){height:auto;width:100%;flex-shrink:1}
.save-account-dialog .home-account-panel .account-code input{width:0}

/* Auth105: visible consent gate and retryable connection errors. */
.home-account-panel.account-compact .account-consent{font-size:12px;line-height:1.6;padding:4px 0}
.home-account-panel.account-compact .account-consent label{min-height:36px;font-size:12px;cursor:pointer}
.home-account-panel.account-compact .account-consent input{width:22px;height:22px;flex:none;margin-right:3px}
.home-account-panel.account-compact .account-consent.needs-consent{padding:8px;border:1px solid #b44d38;border-radius:10px;background:#fff2e9}
.home-account-panel.account-compact .account-consent-error{color:#9b3022;font:600 13px/1.5 system-ui;margin:6px 0 0}
.home-account-panel.account-compact>p[role=status][data-error]{color:#9b3022!important;background:#fff2e9;border-radius:8px;padding:8px}
